处理器机制

    处理机(处理器)
        中央处理器(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的相应住,称为中断码,通过查中断向量表引出中断处理程序

发布了41 篇原创文章 · 获赞 288 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_45331873/article/details/105315610