处理器管理

处理器与寄存器

处理器部件的简单示意

用户程序可见寄存器

可使程序员减小访问主存储器的次数,提升指令执行的效率,全部程序可以使用,包括应用程序和系统程序程序员

  • 数据寄存器:又称通用寄存器
  • 地址寄存器:索引、栈指针、段地址等寄存器

控制与状态寄存器

用于控制处理器的操做;主要被具备特权的操做系统程序使用,以控制程序的执行,程序计数器PC:存储将取指令的地址,指令寄存器IR:存储最近使用的指令,条件码CC:CPU为指令操做结果设置的位,标志正/负/零/溢出等结果,标志位:中断位、中断容许位、中断屏蔽位、处理器模式位、内存保护位、...,等操作系统

程序状态字PSW

PSW既是操做系统的概念,指记录当前程序运行的动态信息,一般包含:程序计数器,指令寄存器,条件码,中断字,中断容许/禁止,中断屏蔽,处理器模式,内存保护、调试控制指针

PSW也是计算机系统的寄存器,一般设置一组控制与状态寄存器,也能够专设一个PSW寄存器调试

指令与处理器模式

机器指令

机器指令是计算机系统执行的基本命令,是中央处理器执行的基本单位,指令由一个或多个字节组成,包括操做码字段、一个或多个操做数地址字段、以及一些表征机器状态的状态字以及特征码,指令完成各类算术逻辑运算、数据传输、控制流跳转blog

指令执行过程

CPU根据PC取出指令,放入IR,并对指令译码,而后发出各类控制命令,执行微操做系列,从而完成一条指令的执行索引

一种指令执行步骤以下:进程

  • 取指:根据PC从存储器或高速缓冲存储器中取指令到IR
  • 解码:解译IR中的指令来决定其执行行为
  • 执行:链接到CPU部件,执行运算,产生结果并写回,同时在CC里设置运算结论标志;跳转指令操做PC,其余指令递增PC值

特权指令与非特权指令

用户程序并不是可以使用所有机器指令,那些与计算机核心资源相关的特殊指令会被保护,如:启动I/O指令、置PC指令、等等,核心资源相关的指令只能被操做系统程序使用事件

  • 特权指令:只能被操做系统内核使用的指令
  • 非特权指令:可以被全部程序使用的指令

处理器模式

计算机经过设置处理器模式实现特权指令管理,计算机通常设置0、一、二、3等四种运行模式,建议分别对应:0操做系统内核、1系统调用、2共享库程序、3用户程序等保护级别,0模式能够执行所有指令;3模式只能执行非特权指令;其余每种运行模式能够规定执行的指令子集,通常来讲,现代操做系统只使用0和3两种模式,对应于内核模式和用户模式,处理器模式的切换,简称模式切换,包括“用户模式→内核模式”和“内核模式→用户模式”的转换内存

中断、异常或系统异常等事件致使用户程序向OS内核切换,触发:用户模式→内核模式:程序请求操做系统服务,程序运行时发生异常,程序运行时发生并响应中断;OS内核处理完成后,调用中断返回指令(如Intel的iret)触发:内核模式→用户模式资源

中断

中断的概念

中断是指程序执行过程当中,遇到急需处理的事件时,暂时停止CPU上现行程序的运行,转去执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其余程序执行的过程,操做系统是“中断驱动”的;换言之,中断是激活操做系统的惟一方式,中断有广义和狭义之分,上述中断是指广义的中断

中断、异常与系统异常

  • 狭义的中断指来源于处理器以外的中断事件,即与当前运行指令无关的中断事件,如I/O中断、时钟中断、外部信号中断等
  • 异常指当前运行指令引发的中断事件,如地址异常、算术异常、处理器硬件故障等
  • 系统异常指执行陷入指令而触发系统调用引发的中断事件,如请求设备、请求I/O、建立进程等

陷入指令:也称访管指令,或异常中断指令,计算机系统为实现系统调用而引发处理器中断的指令

中断源–处理器硬件故障中断事件

由处理器、内存储器、总线等硬件故障引发,处理原则为:保护现场,中止设备,中止CPU,向操做员报告,等待人工干预

中断源-程序性中断事件

处理器执行机器指令引发,除数为零、操做数溢出等算术异常:简单处理,报告用户;也能够由用户编写中断续元程序处理,非法指令、用户态使用特权指令、地址越界、非法存取等指令异常:终止进程,终止进程指令:终止进程,虚拟地址异常:调整内存后从新执行指令

中断源-自愿性中断事件

处理器执行陷入指令请求OS服务引发;在操做系统中,它通常又被称做系统调用,请求分配外设、请求I/O、等等,处理流程是:陷入OS,保护现场,根据功能号查入口地址,跳转具体处理程序

中断源-I/O中断事件

来源于外围设备报告I/O状态的中断事件,I/O完成:调整进程状态,释放等待进程,I/O出错:等待人工干预,I/O异常:等待人工干预

中断源-外部中断事件

由外围设备发出的信号引发的中断事件,时钟中断、间隔时钟中断:记时与时间片处理,设备报到与结束中断:调整设备表,键盘/鼠标信号中断:根据信号做出相应反应,关机/重启动中断:写回文件,中止设备与CPU