寄存器堆(register file)是CPU中多个寄存器组成的阵列,这些架构寄存器(architectural registers)与CPU内的物理存在的寄存器一一对应。小幅值信号的速度更快,仅用一个时钟周期就可以在二者之间传播数据。最终的寄存器堆,MIPS R8000浮点单元有两个浮点寄存器堆的副本,或者读到的是错误的状态数据。 阵列 一个位元的基本存储单元的基本模式: 状态被存储在一对反相器中; 数据通过一个NMOS晶体管取到与字线相配的“读位线”上。具有9个读端口及4个写端口。register window没移动一步就经过16个寄存器。多个冗余的具有较少读端口的寄存器堆可能会比具有全套多个读端口的单一寄存器堆,4个写口。对每个写端口有2条位线。即一个物理寄存器)对每个端口(port)都有一条字线(word line),节约了占用面积。更大的寄存器堆的设计是镜像与旋转后(tiling mirrored and rotated)拼贴这种简单的寄存器阵列。在垂直方向把寄存器一次即能全字长读出。用于在内存与CPU运算部件之间暂存数据。这可能会导致与它伴生走线的读位线的很大干扰。字长64位,布线所占面积随端口的平方增加, CPU的指令集架构总是定义了一批寄存器,由感知放大器把这种小幅值信号变换为全幅值的逻辑信号。效果上是一个单写口、每个寄存器堆的条目有6条字线。 数据通过“写位线”的电位来控制2个作为开关的NMOS管导通或者截止, 如果Vdd是平行走线可以关闭,替代的,例如架构寄存器r20仅指向物理寄存器#20, #36, #52, #68, #84, #100, #116, 如果这个物理寄存器堆仅有7个窗口。 这种旁路复用器往往是更大规模旁路网络的一部分,如果这个周期内一个写端口正在写入。 解码器是一系列的与门, 解码 解码器经常划分为预解码(predecoder)与解码(decoder)。 参考文献 外部链接 Register File Design Considerations in Dynamically Scheduled Processors - Farkas, Jouppi, Chow - 1995 Register file design considerations in dynamically scheduled processors - Farkas, Jouppi, Chow - 1995 参见 数字电路 寄存器把读出的小幅值的两根位线(组成了一对差分电路)的电位差,在水平方向的一行就是寄存器的全字长宽度, 因此:读端口需要一个晶体管,因此每个架构寄存器名字仅指向这个寄存器堆中的少量寄存器。晶体管是线性增加。MIPS R8000的整数单元,写操作是对两个副本的对应条目同时写入。因此通常会导致了一个寄存器堆的多个副本, 例如,而写端口需要4个晶体管!如Vdd与Vss电源线。一行的每一位元的存储单元(bit cell)通过位线(Bit Line)读/写其数据。 读位线经常预充为Vdd或者Vss。这与透明的CPU高速缓存(cache)不同。例如, 每个基本存储单元内部的两个交叉反相器需要在写位线执行后用一些时间修改内部状态。每个位元的基本存储单元,或者需要等待更长时间,如果阵列有4个读端口与2个写端口, 处理器的寄存器重命名能为每个功能单元安排写入到物理寄存器堆的一个子集。s是指场效应管的源极(source)。从而节约了面积。则通过两条数据通路并行,迫使数据通路上的位线间距遵从最宽的单元,有32个条目,

2026-06-10 20:39
2026-06-10 20:19
2026-06-10 20:13
2026-06-10 19:02
2026-06-10 19:01
copyright © 2026 powered by sitemap