CPU报告中的指令如何完成?


0

当一条指令发送到CPU时,可能要花费多个时钟周期才能完成,CPU何时知道该指令已完成并且可以开始处理下一条指令?为了简化操作,我主要对RISC架构感兴趣,因为CISC可能包含复杂的微代码。


我认为您对指示的工作方式感到困惑。一条指令不能占用多个时钟周期。现在,构成一个方法的一系列指令完全是另外一回事了。至于跟踪进度就是缓存的目的
Ramhound 2014年

许多RISC系统没有多周期指令。不必跟踪多周期指令是使它们比CISC更简单的部分原因。
Lie Ryan 2014年

今天的机器(甚至是单核)通常一次执行多条指令。您应该寻找有关计算机体系结构的资源(肯定有很多讲义和网络上的其他资源)。
vonbrand 2014年

3
@Ramhound当然,一条指令可能需要多个时钟周期。例如,乘法通常比加法花费更长的时间。
David Schwartz 2014年

如果人们看着旧教科书中的图片,“程序计数器”就会增加。您可以阅读有关“程序计数器”,“存储器地址寄存器”,“存储器缓冲区/数据寄存器”的信息。地址总线,数据总线,控制总线或控制线。
barlop 2015年

Answers:


1

通常,对于不是超标量且没有复杂的预取或流水线逻辑的简单CPU ,这是通过实际的电路连接完成的。当一条指令退休时,一条从退休逻辑到提取单元的连线触发下一条指令的提取。


0

您可以通过谷歌搜索“处理器时序图”找到您要查询的内容:

http://goo.gl/DkEE8I

在时序图中,您可以看到何时在总线上放置指令,完成时可以触发下一条指令的提取等。

是的,不同的指令具有不同的时钟周期数-例如,来自英特尔架构的XMM指令将比简单的XOR操作花费更长的时间。此外,由于缓存和流水线,SAME指令甚至可能具有不同的整体延迟。

由于您要求RISC,因此也许您应该阅读ARM处理器时序图:

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0301h/I998937.html

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.