地址生成单元

地址生成单元 （AGU），有时也称为地址计算单元 （ACU） ，是一个中央处理器内的执行单元，其计算地址使CPU访问主存储器。通过独立的电路处理地址计算与CPU其他部分并行运行，以此减少执行各种机器指令所需的CPU周期数，从而提高性能。

在执行各种操作时，CPU需要计算从内存中获取数据所需的内存地址。例如，必须先计算数组元素在内存中的位置，然后CPU才能从实际的内存位置获取数据。这些地址生成计算涉及不同的整数算术运算，例如加法、减法、模运算或位移。通常，计算内存地址涉及多个通用机器指令，这些指令不一定能快速解码和执行。通过将AGU集成到CPU微架构中，并引入使用AGU的专用指令，各种地址生成计算可以从CPU的其他操作中分流，这样通常使地址生成计算可以在单个CPU周期内快速执行。

AGU的功能取决于特定的CPU及其体系结构。因此，一些AGU实现并公开了更多的地址计算操作，而另一些AGU还引入了可以同时对多个操作数进行操作的更高级的专用指令。此外，一些CPU体系结构包括多个AGU，因此可以同时执行多个地址计算操作，从而利用高级CPU设计的超标量特性进一步获得性能改进。例如，英特尔将多个AGU合并到其Sandy Bridge和Haswell 微体系结构中，允许通过并行执行多个内存访问指令来增加CPU内存子系统的带宽。

另见

 算术逻辑单元（ALU）
 浮点运算器（FPU）
 微架构
 保留站

参考文献

中央處理器