通用寄存器缩写
通用寄存器缩写是RF。寄存器堆(register file)是CPU中多个寄存器组成的阵列,通常由快速的静态随机读写存储器(SRAM)实现。这种RAM具有专门的读端口与写端口,可以多路并发访问不同的寄存器。
通常的设计布局是一个简单的阵列,在水平方向的一行就是寄存器的全字长宽度,一行的每一位元的存储单元(bit cell)通过位线(Bit Line)读/写其数据。
在垂直方向把寄存器一次即能全字长读出。放大电路(Sense amplifier)通常设在底部,把读出的小幅值的两根位线(组成了一对差分电路)的电位差,放大为全幅值的逻辑值电位。更大的寄存器堆的设计是镜像与旋转后(tiling mirrored and rotated)拼贴这种简单的寄存器阵列。
寄存器堆的每个条目(entry,即一个物理寄存器)对每个端口(port)都有一条字线(word line),每个位元的基本存储单元,对每个读端口有1条位线,对每个写端口有2条位线。每个位元的基本存储单元都连接到了供电的Vdd(高电平)与Vss(低电平或者接地),这里的d是指组成SRAM的场效应管的漏极(drain),s是指场效应管的源极(source)。
因此,布线所占面积随端口的平方增加,晶体管是线性增加。多个冗余的具有较少读端口的寄存器堆可能会比具有全套多个读端口的单一寄存器堆,面积更小、读取更快。MIPSR8000的整数单元,有一个寄存器堆的实现,有32个条目,字长64位,具有9个读端口及4个写端口。