硬件结构

指令集架构

是cpu和软件之间的桥梁

01 指令集:用于数据搬移、计算、内存访问、过程调用等。

02 特权级 AArch64为例

  • EL0:最低特权级,应用程序运行在该特权级,也称用户态
  • EL1:操作系统运行在该特权级,也称内核态
  • EL2:虚拟场景需要。
  • EL3:与安全特性相关,负责普通世界和安全世界之间切换。

从EL0到EL1切换的情况:前两种是同步的特权级切换,第三种是异步的特权级切换。cpu负责保存当前执行状态,以便恢复执行应用程序。

  1. 应用程序需要调用操作系统提供的系统调用。
  2. 应用程序执行的指令触发异常。如:缺页异常。
  3. 应用程序执行过程中,cpu收到来自外设的中断。

03 寄存器:一般用于保存函数调用过程中栈顶的地址。

物理内存与cpu内存

物理内存:由字节组成的大数组,其中每个字节拥有一个物理地址,cpu在其中存取数据。

缓存:为解决cpu对物理内存的访存速度缓慢而引入,用于存放部分物理内存中的数据。

设备与中断

cpu和设备之间的交互方式

01 内存映射输入输出 memory mapped I/O:将输入输出设备和物理内存放在同一个地址空间,为设备内部的内存和寄存器也分配相同的地址。cpu通过和访存物理内存同样的指令读写设备地址。设备通过总线监听被分配的地址,完成请求。

02 轮询与中断:cpu可以通过轮询方式获取设备输入。设备也可通过中断机制通知cpu。(打断cpu的执行,让cpu处理中断)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值