地址生成單元
地址生成單元 (AGU),有時也稱為地址計算單元 (ACU)[1] ,是一個中央處理器內的執行單元,其計算地址使CPU訪問主存儲器。通過獨立的電路處理地址計算與CPU其他部分並行運行,以此減少執行各種機器指令所需的CPU周期數,從而提高性能。[2][3]
在執行各種操作時,CPU需要計算從內存中獲取數據所需的內存地址。例如,必須先計算數組元素在內存中的位置,然後CPU才能從實際的內存位置獲取數據。這些地址生成計算涉及不同的整數算術運算,例如加法、減法、模運算或位移。通常,計算內存地址涉及多個通用機器指令,這些指令不一定能快速解碼和執行。通過將AGU集成到CPU微架構中,並引入使用AGU的專用指令,各種地址生成計算可以從CPU的其他操作中分流,這樣通常使地址生成計算可以在單個CPU周期內快速執行。[2][3]
AGU的功能取決於特定的CPU及其體系結構。因此,一些AGU實現並公開了更多的地址計算操作,而另一些AGU還引入了可以同時對多個操作數進行操作的更高級的專用指令。[2][3]此外,一些CPU體系結構包括多個AGU,因此可以同時執行多個地址計算操作,從而利用高級CPU設計的超標量特性進一步獲得性能改進。例如,英特爾將多個AGU合併到其Sandy Bridge和Haswell 微體系結構中,允許通過並行執行多個內存訪問指令來增加CPU內存子系統的帶寬。[4][5][6]
另見
參考文獻
- ^ Cornelis Van Berkel; Patrick Meuwissen. Address generation unit for a processor (US 2006010255 A1 patent application). google.com. January 12, 2006 [December 8, 2014]. (原始內容存檔於2016-04-18).
- ^ 2.0 2.1 2.2 Chapter 4: Address Generation Unit (DSP56300 Family Manual) (PDF). ecee.colorado.edu. September 16, 1999 [December 8, 2014]. (原始內容存檔 (PDF)於2018-03-29).
- ^ 3.0 3.1 3.2 Darek Mihocka. Pentium 4: Round 1 – Intel blows the lead. emulators.com. December 27, 2000 [December 8, 2014]. (原始內容存檔於2020-02-11).
- ^ David Kanter. Intel’s Sandy Bridge Microarchitecture: Memory Subsystem. realworldtech.com. September 25, 2010 [December 8, 2014]. (原始內容存檔於2020-05-26).
- ^ David Kanter. Intel’s Haswell CPU Microarchitecture: Haswell Memory Hierarchy. realworldtech.com. November 13, 2012 [December 8, 2014]. (原始內容存檔於2020-05-26).
- ^ Per Hammarlund. Fourth-Generation Intel Core Processor, codenamed Haswell (PDF). hotchips.org: 25. August 2013 [December 8, 2014]. (原始內容存檔 (PDF)於2016-07-05).