请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

CPU执行指令的时间问题?

老师您好,我想问一下,比如说一个CPU指令是取某个内存单元中的数据,这个指令即使是从内存中获取数据,那也是需要一个时间的(比命中高速缓存要慢)。那么在这个等待内存回传数据的时间内,流水线上取指令或者解析指令可能会提前完成,那么CPU是如何处理下一条指令的呢,只是等待内存回传数据完成后再继续执行还是会怎样?

正在回答 回答被采纳积分+3

1回答

咚咚呛 2020-07-20 23:06:46

是的,当缓存没有命中的时候,需要花费较多的时间更新高速缓存。

在缓存不命中的情况下,CPU会发出缺页中断,此时由MMU去处理告诉缓存置换的事情,CPU会转而切换到别的指令或者执行别的线程代码,不会等待内存回传的,这样效率太低啦。

希望对你有所帮助。

0 回复 有任何疑惑可以回复我~
  • 提问者 烈焰卡卡 #1
    您好,我这里还有问题:
    1. CPU转而执行别的指令,这里是由操作系统实现的么?我理解CPU只知道执行下一条指令
    2. 当第一条指令执行缺页中断后,切换执行的指令还是访问内存单元,这时候如果之前指令还没有传回内存数据,这次访问内存是能同时进行还是排队顺序进行?
    3. 还有一些类似加法操作等,一条指令可能也需要执行多次二进制计算也需要消耗时间,那么他后面的下一条指令就是等待他计算完成后再执行是么?
    回复 有任何疑惑可以回复我~ 2020-07-21 09:18:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信