欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 详解常见的寄存器和中断的概念以及CPU的状态

详解常见的寄存器和中断的概念以及CPU的状态

2024/12/31 1:24:39 来源:https://blog.csdn.net/2301_79796701/article/details/144588907  浏览:    关键词:详解常见的寄存器和中断的概念以及CPU的状态

寄存器

  1. 数据寄存器(DR)
    • 用来暂时存放CPU执行指令是用的操作数,运算结果, 中间结果
  2. 地址寄存器(AR)
    • 用来存放内存中某个数据或指令的地址
  3. 条件码寄存器(CCR)
    • 其标志位由CPU硬件设置,例如,一次算数运算可能导致CCR被设置为正, 负, 零, 溢出
  4. 程序计数器(PC)
    • 存放下一周期被执行指令的地址
  5. 指令寄存器(IR)
    • 存放待执行的指令
  6. 程序状态字寄存器(PSW)
    • PSW的各个位代表系统中当前各种不同的状态与信息,例如CPU的优先级,用户态, 核心态等
  7. 中断现场保护寄存器
    • 如果系统允许不同类型的中断存在,则会设置一组中断现场保护寄存器,以便保存被中断程序的现场和链接中断恢复出
  8. 堆栈
    • 用来存放过程调用时的调用名,调用参数和返回地址

注:以上概念摘抄自《操作系统原理及Linux内核分析》

中断

中断的理解

  • 假设你现在正在做午饭,在某个时间点门铃响了,你去开门,然后回来继续做饭。从做饭到开门到再次回来做饭,整个过程成为中断。
  • 中断的在计算机表现是:CPU在执行程序A时,操作系统检测到了中断事件。然后操作系统把程序A从CPU上剥下来,把CPU让给其他程序。中断事件处理结束后,再把程序A放到CPU上

中断相关的概念

  1. 中断源:引起中断的事件
  2. 中断请求:中断源向CPU发出的请求处理信号
  3. 中断点:CPU在执行现行程序时在哪里停止的成为中断点
  4. 中断响应:处理中断请求,在上述例子中表示,你停止做饭到去开门这一过程。
  5. 中断处理程序:响应中断请求的程序
  6. 中断处理过程:CPU执行中断处理程序的过程
  7. 中断返回:返回断点的过程

是否可以不响应中断

  • PSW的中断允许位被清零,表示不允许CPU响应中断,称为关中断。只有该状态字恢复才可以接收中断,这一过程称为开中断。
  • 开中断和关中断都是有硬件实现的

中断的类型与优先级

  • 中断请求可以由外设发出。
  • 这里举一个例子,我们打字时键盘⌨就会发出中断请求,为什么呢?站在操作系统的角度,它知不知道我们什么时候会按下键盘?答案是否,操作系统不可能知道我们在想什么,也不会预知未来。那么操作系统会实时监视键盘吗?答案也是否,因为操作系统可是“大忙人”,它可不会消耗精力监控键盘。
  • 操作系统说:“键盘,你也长大了,别老让我看着了,我很忙的。。。这样吧,你啥时候有事了,跟我说一声好不好。”
  • 键盘说:“好👌。”
  • 然后,只要有人敲了键盘,键盘就会产生一个中断请求。
  • CPU和内存中也可以产生中断
  • 这种中断也成为陷入,包括系统调用,运算错误,地址错误,数据溢出,权限不够等等
  • 不同的中断有不同的优先级,以便中断同时发生时,对不同的中断有轻重缓急的处理

处理机的状态

CPU可以分为用户态和核心态

  • 处于用户太的CPU只能使用优先的资源,禁止使用特权指令,禁止更改CPU的状态
  • 处于核心态的CPU可以使用特权指令,几乎可以无限次的访问硬件,可以更改CPU的状态,可以使用系统的所有资源

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com