首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
计算机原理简略总结(二)++中断
时间:
2016-03-15 18:56:24
阅读:
111
评论:
0
收藏:
0
[点我收藏+]
标签:
在说虚拟地址物理地址之前我们先说下中断
上一章我们说了硬件可以通过控制总线给cpu传送一个中断信号,这个有非凡的意义。我们知道cpu的读写速度与硬件的读写速度不是一个数量级别的,比如我们让硬盘去读个文件,cpu怎么知道硬盘读完了呢?一种方式是不断的去查询硬件的状态寄存器,看看是否读完了,这种方式就是轮询唠,cpu傻傻得不断做重复的事情,这样cpu被毫无意义的占用了,其实想想解决方法非常简单,就是cpu先去做别的事情,硬件读完了,自己主动通知cpu一下,告诉他自己处理完毕了,这时候cpu可能在做别的事情,一旦接收到了硬件类似的消息,cpu会停止手头的工作去为硬件的请求作出响应。
这里需要考虑一下问题,一个是手头的工作现在停止了,待会怎么再继续做啊?很简答,我们只需要保存当前cpu的执行环境,说得很装逼,直白的说,就是只要保存当前cpu各个寄存器的值,等下再重新赋值回来就行了,执行环境基本就是寄存器的值。
另一个是既然中断信息来了,我们要为中断作出响应了,怎么响应?去哪里找这个中断程序呢?很简单,我们只要为每一种中断标号,成为中断号,再把中断号和程序对应,但还是去哪里找这个程序?这里就要规定一个地方了,开始人们把00000H到003FFH作为中断矢量表,中断矢量可以理解为一个程序的入口地址,索引当然就是中断号唠,其实到了后来人们不再硬性规定中断矢量表的位置了,而是把他的起始位置放在了一个寄存器(IDTR)命名为中断描述符表。
其实中断处理程序就是驱动程序的一种,我们称为中断处理驱动程序,之后我们会说到驱动。
计算机原理简略总结(二)++中断
标签:
原文地址:http://www.cnblogs.com/SimpleISP/p/5280266.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!