地址生成單元

地址生成單元 （ AGU ） ， 有時也稱爲地址計算單元 （ ACU ） ， 是一箇中央處理器內的執行單元 ， 其計算地址使CPU訪問主存儲器 。 通過獨立的電路處理地址計算與CPU其他部分並行運行 ， 以此減少執行各種機器指令所需的CPU週期數 ， 從而提高性能 。 在執行各種操作時 ， CPU需要計算從內存中獲取數據所需的內存地址 。 例如 ， 必須先計算數組元素在內存中的位置 ， 然後CPU才能從實際的內存位置獲取數據 。 這些地址生成計算涉及不同的整數算術運算 ， 例如加法 、 減法 、 模運算或位移 。 通常 ， 計算內存地址涉及多個通用機器指令 ， 這些指令不一定能快速解碼和執行 。 通過將AGU集成到CPU微架構中 ， 並引入使用AGU的專用指令 ， 各種地址生成計算可以從CPU的其他操作中分流 ， 這樣通常使地址生成計算可以在單個CPU週期內快速執行 。 AGU的功能取決於特定的CPU及其體系結構 。 因此 ， 一些AGU實現並公開了更多的地址計算操作 ， 而另一些AGU還引入了可以同時對多個操作數進行操作的更高級的專用指令 。 此外 ， 一些CPU體系結構包括多個AGU ， 因此可以同時執行多個地址計算操作 ， 從而利用高級CPU設計的超標量特性進一步獲得性能改進 。 例如 ， 英特爾將多個AGU合併到其Sandy Bridge和Haswell 微體系結構中 ， 允許通過並行執行多個內存訪問指令來增加CPU內存子系統的帶寬 。