打印

我想问大家一个有关X86的问题

[复制链接]
1744|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
吾要单片机|  楼主 | 2013-5-29 20:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想问大家一个问题:X86在执行重复操作指令时能不能被中断?

相关帖子

沙发
ymind| | 2013-5-29 21:37 | 只看该作者
据我所知,不能,它也是一条机器指令。执行中途遇到中断,也要延迟到指令执行完再响应中断。具体实现时,在多级流水、多发射、乱序的情况下,宏观上也要实现成上述效果。

使用特权

评论回复
板凳
ymind| | 2013-5-29 21:43 | 只看该作者
据我所知,不能,它也是一条机器指令。执行中途遇到中断,也要延迟到指令执行完再响应中断。具体实现时,在多级流水、多发射、乱序的情况下,宏观上也要实现成上述效果。

使用特权

评论回复
地板
吾要单片机|  楼主 | 2013-5-29 22:03 | 只看该作者
哦,如果重复指令(如REP MOVS),CX=4000,是不是执行了4000次MOVS指令后才能响应中断?

使用特权

评论回复
5
ymind| | 2013-6-1 21:59 | 只看该作者
实际实现时,并不是CPU机械重复4000次MOVS,而是根据cache line大小和memory bus能力,burst read/write 比如4000/32次。
当然如果你说CX要是更大呢?这个嘛。。。我还是**我的观点,毕竟prefix是x86 CISC机器指令的一部分,甚至可视为opcode。

使用特权

评论回复
6
吾要单片机|  楼主 | 2013-6-2 19:31 | 只看该作者
哦,那意思是重复执行过程中是不能响应中断了。谢谢!

使用特权

评论回复
7
yapcc| | 2013-6-19 15:56 | 只看该作者
x86 CPU 执行rep string指令期间都可接受中断.
虽然是CISC指令,但目前所有x86 CPU骨子里都是RISC架构, decoder会把CISC指令先转成micro-op, 所以rep string instruction是由很多微指令组成, 当然可以在期间接收中断跳到int service routine去执行!

使用特权

评论回复
8
吾要单片机|  楼主 | 2013-6-26 22:56 | 只看该作者
非常感谢楼上的回复,本人有一项发明专利在龙芯论坛上公开,如果大家有兴趣可以前往围观!

使用特权

评论回复
9
lidongxin3| | 2013-7-2 23:29 | 只看该作者
吾要单片机 发表于 2013-6-26 22:56
非常感谢楼上的回复,本人有一项发明专利在龙芯论坛上公开,如果大家有兴趣可以前往围观! ...

无连接,无关键字提示,怎么围观?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

441

帖子

7

粉丝