处理机(处理器)
中央处理器(CPU):处理器由运算器、控制器、一系列的寄存器)以及高速缓存构成
寄存器:
用户可见寄存器
控制和状态寄存器:用于控制处理器的操作通常由操作系统代码使用
程序计数器(pc):记录将要取出的指令的地址
指令寄存器(ir):记录最近取出的指令
程序状态字(psw):记录处理器的运行状态如条件码、模式、控制位等信息
操作系统对硬件的需求
从操作系统的特征考虑:并发、共享----需要保护
处理器的状态:
在程序状态字寄存器中专门设置一位,根据运行程序对资源和指令的使用权限而设置不同的CPU状态
操作系统需要的两种CPU状态:
内核态:运行操作系统程序
用户态:运行用户程序
特权指令:只能由操作系统使用、用户程序不能使用的指令
非特权指令:用户程序可以使用的指令
x86系列的处理器:
X86支持4个处理器特权级别:
特权环: RO、R1、R2和R3,从R0到R3,特权能力由高到低
R0相当于内核态
R3相当于用户态
R1和R2介于两者之间
CPU之间的转换
用户态--->内核态:
唯一途径:中断/异常/陷入机制
内核态--->用户态
设置程序状态字PSW
中断与异常机制:
概念:时CPU对系统发生的某个事件作出的一种反应(事件的发生改变了CPU的控制流)
CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点继续执行被打断的程序
中断的引入:
为了支持CPU和设备之间的并行操作
当CPU启动设备进行输入/输出后,设备便可以独立工作,CPU转去处理与此次输入/输出不相关的事情;当设备完成输入/输出后,通过向CPU发中断,报告此次输入/输出的结果,让CPU决定如何处理以后的事情
异常的引入:
表示CPU执行指令时本身出现的问题
如算术溢出、除零、取数时的奇偶错,访存地址时越界或执行了“陷入指令”等,这时硬件改变了CPU当前的执行流程,转到相应的错误处理程序或异常处理程序或执行系统调用
举例:
1.看书过程中来电话,在所看处放置书签,然后去打电话,电话打完后在书签处继续看书----中断
2.看书过程中来口渴,在所看处放置书签,然后去打喝水,喝完水后在书签处继续看书,口渴----异常
事件:
中断(外中断):
I/O中断:Ctrl+C
时钟中断:CPU时间片
硬件故障:电池没电
异常(内中断):(陷入、故障、终止)
系统调用
页故障
保护性异常
断点指令
其他程序异常
总结:中断是CPU的外部事件,异常是CPU内部发生故障
中断与异常工作原理
硬件应该干什么-----中断/异常响应:捕获中断源发出的中断/异常请求,以一定的方式响应,将处理器控制权交给特定额的处理程序
软件应该干什么-----中断/异常处理程序:识别中断/异常类型并完成相应的处理
中断响应:
开始---取下一条指令---执行指令---检查指令(处理中断)
在每条指令执行周期的最后时刻扫描中断,若有中断,中断硬件寄存器,查看是否有将该中断触发器内容中断信号?按规定编码送入PSW的相应住,称为中断码,通过查中断向量表引出中断处理程序
处理器机制
猜你喜欢
转载自blog.csdn.net/qq_45331873/article/details/105315610
今日推荐
周排行