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

[复制链接]
 楼主| 吾要单片机 发表于 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指令后才能响应中断?
ymind 发表于 2013-6-1 21:59 | 显示全部楼层
实际实现时,并不是CPU机械重复4000次MOVS,而是根据cache line大小和memory bus能力,burst read/write 比如4000/32次。
当然如果你说CX要是更大呢?这个嘛。。。我还是**我的观点,毕竟prefix是x86 CISC机器指令的一部分,甚至可视为opcode。
 楼主| 吾要单片机 发表于 2013-6-2 19:31 | 显示全部楼层
哦,那意思是重复执行过程中是不能响应中断了。谢谢!
yapcc 发表于 2013-6-19 15:56 | 显示全部楼层
x86 CPU 执行rep string指令期间都可接受中断.
虽然是CISC指令,但目前所有x86 CPU骨子里都是RISC架构, decoder会把CISC指令先转成micro-op, 所以rep string instruction是由很多微指令组成, 当然可以在期间接收中断跳到int service routine去执行!
 楼主| 吾要单片机 发表于 2013-6-26 22:56 | 显示全部楼层
非常感谢楼上的回复,本人有一项发明专利在龙芯论坛上公开,如果大家有兴趣可以前往围观!
lidongxin3 发表于 2013-7-2 23:29 | 显示全部楼层
吾要单片机 发表于 2013-6-26 22:56
非常感谢楼上的回复,本人有一项发明专利在龙芯论坛上公开,如果大家有兴趣可以前往围观! ...

无连接,无关键字提示,怎么围观?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

445

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部

52

主题

445

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部