2011-11-17 188 views

回答

2

我将展示它如何在简单的处理器中工作,如用于研究CPU架构的DLX或RISC。

当(AT & T语法,或$ R1复制到$ R2)

mov $R1, $R2 

或偶数(对于RISC风格架构)

add $R1, 0, $R2 

指令工作,CPU将读取的源操作数:来自register file的R1和来自...的零可以是立即操作数或零发生器;将两个输入传递到Arithmetic Logic Unit (ALU)。 ALU将执行只是将第一个源操作数传递到目标的操作(因为A + 0 = A),并且在ALU之后,目标将被写回寄存器文件(但是到R2插槽)。

所以,数据在源寄存器仅readed和没有改变在此操作中; 目标寄存器中的数据将被源寄存器数据的副本覆盖。 (目标寄存器的老态将会丢失with generating of heat。)

在物理层,在寄存器文件中的任何寄存器设置的SRAM cells,他们每个人是两个逆变器(双稳态触发器的基础上,M1,M2 ,M3,M4)和附加门写作和阅读:

SRAM cell (wiki, PD File:SRAM_Cell_(6_Transistors).svg)

当我们要覆盖到存储于SRAM单元格的值,我们将设置BL和-BL根据我们的数据(存储位0 - 设置BL和取消设置-BL;存储位1 - 设置-BL和取消设置BL);然后写入单元的当前设置(行)(WL打开;它将打开M5和M6)。 M5和M6打开后,BL和-BL将改变双稳态触发器的状态(如SR-latch)。因此,新值被写入并丢弃旧值(通过将电荷泄漏到BL和-BL中)。

+0

哇!兰道尔的原则很酷!从来没有想过这样。 – 2011-11-17 22:40:34

+0

你应该知道它仍然有点争议。这是一个下限,对于现代CPU(有许多经典Wt)的Wt <2/100(最坏情况估计)。但它是量子计算机的主要限制因素(如果你不可逆地重写量子寄存器,它将被加热并失去量子性质)。因此[量子门](http://en.wikipedia.org/wiki/Quantum_gate)具有相同数量的输入和输出,任何计算都可以从最终状态恢复(反转)回到开始状态。 – osgx