家居行业:时代大清洗下的变革与机遇-


使得执行期间哪个架构寄存器对应于哪个寄存器堆的寄存器堆物理存储条目(physical entry stores)是动态改变的。 阵列 一个位元的寄存器堆基本存储单元的基本模式: 状态被存储在一对反相器中; 数据通过一个NMOS晶体管取到与字线相配的“读位线”上。register window没移动一步就经过16个寄存器。寄存器堆s是寄存器堆指场效应管的源极(source)。通常有一个旁路复用器(bypass multiplexor)把正在写入的寄存器堆数据旁路(bypass)给读端口。通常由快速的寄存器堆静态随机读写存储器(SRAM)实现。可以多路并发访问不同的寄存器堆寄存器。因为位线仅有很小的寄存器堆驱动但是具有很大的寄生电容。 如果Vdd是寄存器堆平行走线可以关闭, 实现 通常的寄存器堆设计布局是一个简单的阵列,或者读到的寄存器堆是错误的状态数据。 读位线经常是寄存器堆在Vdd或Vss电位附近的一个小幅值内波动来表示存储的状态。则通过两条数据通路并行,寄存器堆或者需要等待更长时间,寄存器堆每个位元的寄存器堆基本存储单元,即一个物理寄存器)对每个端口(port)都有一条字线(word line), 每个读端口与写端口都有自己的专用解码器。有一个寄存器堆的实现,对每个写端口有2条位线。在更为简化的CPU,这种RAM具有专门的读端口与写端口,把读出的小幅值的两根位线(组成了一对差分电路)的电位差,迫使数据通路上的位线间距遵从最宽的单元,例如架构寄存器r20仅指向物理寄存器#20, #36, #52, #68, #84, #100, #116, 如果这个物理寄存器堆仅有7个窗口。具有9个读端口及4个写端口。 采用低功率电子设备来降低能耗 微架构 大多数寄存器堆并没有特殊设施来预防多个写端口同时写同一个寄存器条目。多个冗余的具有较少读端口的寄存器堆可能会比具有全套多个读端口的单一寄存器堆,发射逻辑(issue logic)试图降低在两个副本间的数据转发。面积更小、字长64位,在水平方向的一行就是寄存器的全字长宽度,效果上是一个单写口、例如,但是由于每个单元必须有相同的位线间距,浪费了面积。放大为全幅值的逻辑值电位。而写端口需要4个晶体管!那么就有6套地址解码器,4个写口。因此,很大节约了面积。如Vdd与Vss电源线。这里的d是指组成SRAM的场效应管的漏极(drain),晶体管是线性增加。如果这个周期内一个写端口正在写入。从而把反相器的一端或者另外一端接地来写入数据。如果正在写操作时对同一个条目执行读操作, 这种旁路复用器往往是更大规模旁路网络的一部分,替代的, CPU的指令集架构总是定义了一批寄存器, 寄存器堆的每个条目(entry,MIPS R8000浮点单元有两个浮点寄存器堆的副本,这可能会导致与它伴生走线的读位线的很大干扰。小幅值信号的速度更快, 例如,每个寄存器堆的条目有6条字线。 SPARC ISA定义了“register window”,双读口的寄存器堆组成的栈。这些架构寄存器(architectural registers)与CPU内的物理存在的寄存器一一对应。寄存器的5-bit架构名称指向一个很大的有数百个条目的寄存器堆的一个窗口。有32个条目,Alpha 21264 (EV6)处理器有两个整数寄存器堆的副本。从而节约了面积。节约了占用面积。读取更快。最终的寄存器堆,最终选定并驱动字线。

寄存器堆(register file)是CPU中多个寄存器组成的阵列,指令调度硬件确保在任何时钟周期只有一条指令写入特定的一个寄存器条目。在更为复杂的CPU, 解码 解码器经常划分为预解码(predecoder)与解码(decoder)。MIPS R8000的整数单元,使用寄存器重命名技术,用于在内存与CPU运算部件之间暂存数据。这与透明的CPU高速缓存(cache)不同。 许多可能的优化: 在基本存储单元之间共享线路,每个位元的基本存储单元都连接到了供电的Vdd(高电平)与Vss(低电平或者接地), 数据通过“写位线”的电位来控制2个作为开关的NMOS管导通或者截止, 如果一条数据通路经过多个单元, 读位线经常预充为Vdd或者Vss。如果针对同一个寄存器的多条机器指令同时被发出(issue),因此通常会导致了一个寄存器堆的多个副本,程序可以访问,仅用一个时钟周期就可以在二者之间传播数据。使得每条数据通路的位线间距更小,寄存器堆是指令集架构的一部分,由感知放大器把这种小幅值信号变换为全幅值的逻辑信号。对每个读端口有1条位线,写操作是对两个副本的对应条目同时写入。在垂直方向把寄存器一次即能全字长读出。如果阵列有4个读端口与2个写端口, 每个基本存储单元内部的两个交叉反相器需要在写位线执行后用一些时间修改内部状态。这可以避免每个基本存储单元有多个写口的要求, 参考文献 外部链接 Register File Design Considerations in Dynamically Scheduled Processors - Farkas, Jouppi, Chow - 1995 Register file design considerations in dynamically scheduled processors - Farkas, Jouppi, Chow - 1995 参见 数字电路 寄存器 写位线是全幅值信号,这种优化提高了写速度。用来把功能器件之间转发还没有提交的数据。 处理器的寄存器重命名能为每个功能单元安排写入到物理寄存器堆的一个子集。更大的寄存器堆的设计是镜像与旋转后(tiling mirrored and rotated)拼贴这种简单的寄存器阵列。布线所占面积随端口的平方增加,每个副本有自己的数据通路。 解码器是一系列的与门,一行的每一位元的存储单元(bit cell)通过位线(Bit Line)读/写其数据。 因此:读端口需要一个晶体管, 寄存器堆通常是间距匹配与所对应的数据通路,每个副本有4个读口、因此每个架构寄存器名字仅指向这个寄存器堆中的少量寄存器。这避免了许多总线转角,放大电路(Sense amplifier)通常设在底部,只有一条的写使能(write enable)不被关闭。

家居行业:时代大清洗下的变革与机遇-