首页
社区
课程
招聘
[旧帖] [求助]一些关于外部中断的疑问 0.00雪花
发表于: 2011-10-8 00:21 1479

[旧帖] [求助]一些关于外部中断的疑问 0.00雪花

2011-10-8 00:21
1479
请问一个关于外部可屏蔽中断的问题:
在程序运行的过程中,会有一些中断,有些中断是内部中断,也可以认为是软件中断,软件中断是由程序引起的,这样程序便知道什么时候会发生这些中断,比如除法溢出中断INT 0,在程序过程中出现了错误便会自动转到中断处理程序中去,但是有些外部中断是随机到来的,那么程序本身是怎样知道它的到来呢,打个比方就是别人给你送信,放的你家的邮箱里了,你需要每隔一天去邮箱看看来信了么,但是在程序或者CPU中,是谁在不断的做这个去看信的工作呢,而且在DOS单任务的系统下,不可能在后台还有一个程序不断的去查看中断的到来啊.

[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
CPU中有一些标志位是用来判断是否产生中断。而这个“查看”工作是由一些基本命令中S周期去查看的。如一个MOVX指令,占用2个机器周期,即12个S周期,其中的某些S周期就是用来去“查看”标志位的。
2011-10-8 00:44
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
也就是说执行完每一条指令后CPU都会去查看是否有中断到来,那么这个判断中断的到来便不需要软件来实现了吧,只需要事先写好如果到来做的工作?
2011-10-8 02:31
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
嗯,只需要把中断程序写好,中断一旦触发就执行。但是你还是没有理解我的意思,不是执行完一个机器周期就去查看!一个机器周期是分成6个S周期的,去查看的工作是交给某些S周期完成的(PS:2个时钟周期=1S周期,6S周期=1机器周期,1指令周期=几个机器周期)
2011-10-8 12:32
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我回头又看了下操作系统课本,发现上面大概讲了下,终于晓得了,十分感谢您的耐心解答
2011-10-9 04:33
0
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
也就是所谓的中断,还是通过轮询完成的了。
2011-10-9 11:45
0
雪    币: 113
活跃值: (100)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
忽然想到一个问题,中断应该是只能发生在指令间的吧,也就是指令执行的中间是不会中断的。假设这个条件成立,那为什么检查中断会在指令中的S周期呢,不如直接放在指令后检查就是了。有人知道答案嘛?
2011-10-13 22:06
0
游客
登录 | 注册 方可回帖
返回