CPU时钟周期和指令解释

CPU时钟周期和指令解释

我是计算机架构方面的新手,但我知道主要主题,因为我以前学过这门课程。我的问题实际上并不深奥,与 CPU 时钟周期以及处理器在执行时如何解释指令有关:

通常,处理器在每个时钟周期执行指令。如果一个周期如下所示:

 ----     
|    | 
|    | 
      ----

我想知道这个周期如何单独携带指令位。换句话说,CPU 是否根据上升沿和下降沿来解释这个周期,因此上升沿代表 1,而下降沿代表 0?

例如,如果一条指令的机器代码是1001(我知道实际上根据处理器架构它将是 64 位或 32 位),那么我们将有一个像这样的单一代码:

 ----                   ------
|    |                 |
|    |                 |
      ----- ----- -----

最后,如果我的理解有点奇怪,我很抱歉,但我真的想形象地展示一下 CPU 内部“执行旅程”的全貌。

答案1

我想知道这个周期如何单独携带指令位。

这个问题的措辞有点难以理解。你的意思是问“CPU如何1001用一条时钟线接收指令()”?

不是的。时钟信号总是像这样(4 个周期):

+--+  +--+  +--+  +--+
|  |  |  |  |  |  |  |
+  +--+  +--+  +--+  +--+

它是一个节拍器。它不携带除计时之外的任何信息。它使 CPU 的所有部分以相同的速度工作。CPU 内部有许多传输信号的连接。信号需要时间来改变(0 -> 1 或 1 -> 0)。有些变化得更快,有些变化得更慢。变化发生在上升沿(或下降沿,取决于电路设计)之间。CPU 将在每个上升沿(或下降沿)执行计算的“下一步”。例如,获取、解码、执行可能需要 3 个周期。因为上升沿(或下降沿)是信号应该稳定的时间。

CPU 通过其他线路(如总线)获取指令。通常,下一条指令的地址放在地址总线上,然后该指令放在数据总线上,CPU 从数据总线读取它,解码并执行它。时钟线仅用于传输时序信息,而不是“数据”信息。

您绘制的第二张图是1001如果您以串行方式传输它时的样子,但那是另一个主题。

答案2

时钟只是在上升沿、下降沿或两者上触发操作。例如,上升沿可以设置总线上的地址,而下降沿则导致内存将数据从该地址放到总线上。为了得到更好的答案,你必须得到特定设备的规格表,并确切了解边缘的作用。这都是关于选择数据(通过地址)并将数据从一个地址移动到另一个地址。这发生在设备内部,如 CPU 或 GPU,或设备外部,将数据从一个设备传输到另一个设备。任何通过时钟边沿传输的数据都称为同步。任何没有时钟传输的数据,如通过 USB,都称为异步。异步数据在数据流中有开销位来指示数据字节的开始和结束,这就是为什么 9600bps(位)不等于 9600Bps(字节)

答案3

该周期仅调节提取/提取执行周期的完成频率

您应该查看的是程序计数器中的指令的过程。该指令被复制到内存地址寄存器,然后进入地址总线,然后指令返回并进入内存数据寄存器(又称内存缓冲寄存器),如果它需要内存位置的数据,则该内存地址进入内存地址寄存器并进入地址总线,数据返回内存数据寄存器。然后执行指令。ALU 可能会发挥作用。这些是我能回忆起的细节。如果有什么像“旅程”的话,那就是一个过程。周期只是调节过程的频率。获取执行周期的频率。

您需要了解 CPU 和 RAM 以及它们之间的内存总线和数据总线。控制总线。15 年前,我通过基于比这些书更早的架构编写的书籍学习了这些知识。但我相信这些基础知识仍在教授,因为新的东西往往对人们来说太复杂,而且不是老师们熟悉的东西。

相关内容