求教关于NMI的问题

Inter80X86 2007-08-13 03:21:38
NMI要想有效必须是低电平和高电平各4个时钟周期,CPU会锁存该信号。我想问:

1,锁存的NMI信号是否只能有一个?(即产生了NMI信号以后又产生了一个NMI信号,而CPU还未作出反应)

2,CPU在查看是否有NMI信号时是否就清空了该锁存,这样就可以允许新的NMI信号被锁存了?CPU何时会清空锁存的NMI信号?

3,接第一个问题,如果指令周期很长,执行期间产生了两次NMI信号,但CPU只会执行一次中断处理程序?
...全文
1109 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
DUOHU 2007-09-15
  • 打赏
  • 举报
回复
可以用别的吧~
Spartan2 2007-08-30
  • 打赏
  • 举报
回复
出现这类中断属于比较严重了,这类中断一般不需要你做处理的
系统已近挂机了,你可以重开等。
你的中断处理程序也差不进去。
顺便问下你是什么系统用啊
Inter80X86 2007-08-22
  • 打赏
  • 举报
回复
我主要是正在学这些,想把它的原理以及时序搞清楚。
Inter80X86 2007-08-21
  • 打赏
  • 举报
回复
SBI是什麽啊?求教了?

我是个初学者,您说等到处理程序结束系统才复位?可我看了80X86中断处理流程,在处理NMI中断时将IP和CS压入栈中以后会再检查是否有NMI中断,而此时处理程序未执行。 我想,在处理NMI中断前的保护现场以前CPU就早已经清空了锁存的NMI信号,以允许别的NMI信号再次进来,这样才会在将CS和IP压入到栈中后再次检查有没有NMI信号。

您觉得呢?
Spartan2 2007-08-21
  • 打赏
  • 举报
回复
你问什么非要用NMI了。有特别的用途马。。
Spartan2 2007-08-21
  • 打赏
  • 举报
回复
我这里的SBI是系统机中断 ,比较严重的中断。
和搂主的NMI可能有些出入
Spartan2 2007-08-17
  • 打赏
  • 举报
回复
我们碰到 的SBI中断 ,也是不可以mask的。

一般出现这种中断,系统自己不会清他的,
(就是说再来也不会认得,系统内部就被锁存那个坏的地方)
只能把相关的程序处理结束 (SBI对应的处理处理结束),
之后就是系统复位了, (可以是上级系统对下级的CPU发reset 命令)

不晓得和你的这个同不同
Inter80X86 2007-08-16
  • 打赏
  • 举报
回复
楼上误会我的意思了,清楚中断指的是CLI等指令,我问的是CPU在何时会清空锁存的NMI,使得新产生的NMI可以被锁存,这与CLI应该没什麽关系才对?
Spartan2 2007-08-15
  • 打赏
  • 举报
回复
中断处理程序里面可以加的吧,一般把清除中断放在前面 ,后面跟需要的其他中断处理程序
Inter80X86 2007-08-15
  • 打赏
  • 举报
回复
关键是CPU何时会清空锁存的NMI,使得新产生的NMI可以被缓存?
Spartan2 2007-08-14
  • 打赏
  • 举报
回复
我一般是来一个 i 做一次 clear 在做中断处理程序
Inter80X86 2007-08-14
  • 打赏
  • 举报
回复
帮帮忙啊!
nvlixxzhong 2007-08-14
  • 打赏
  • 举报
回复
up

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧