Блок генерации адресов - Address generation unit
В блок генерации адресов (AGU), иногда также называемый блок вычисления адреса (ACU),[1] является исполнительная единица внутри центральные процессоры (CPU), который вычисляет адреса используется ЦП для доступа основная память. Благодаря тому, что вычисления адресов обрабатываются отдельной схемой, которая работает параллельно с остальной частью ЦП, количество Циклы процессора требуется для выполнения различных машинные инструкции можно уменьшить, что приведет к повышению производительности.[2][3]
При выполнении различных операций процессорам необходимо вычислять адреса памяти, необходимые для выборки данных из памяти; например, позиции в памяти элементы массива должны быть рассчитаны до того, как ЦП сможет извлечь данные из фактических областей памяти. Эти вычисления генерации адресов включают разные целочисленные арифметические операции, например, сложение, вычитание, операции по модулю, или же битовые сдвиги. Часто для вычисления адреса памяти используется более одной машинной инструкции общего назначения, что не обязательно расшифровать и выполнить быстро. Путем включения AGU в конструкцию ЦП вместе с введением специализированных инструкций, использующих AGU, различные вычисления генерации адресов могут быть выгружены из остальной части ЦП и часто могут выполняться быстро за один цикл ЦП.[2][3]
Возможности AGU зависят от конкретного процессора и его архитектура. Таким образом, некоторые AGU реализуют и предоставляют больше операций вычисления адреса, в то время как некоторые также включают более сложные специализированные инструкции, которые могут работать с несколькими операнды вовремя.[2][3] Кроме того, некоторые архитектуры ЦП включают в себя несколько AGU, поэтому одновременно может выполняться более одной операции вычисления адреса, что приводит к дальнейшему повышению производительности за счет использования суперскалярный природа передовых конструкций ЦП. Например, Intel включает несколько AGU в свой Песчаный Мост и Haswell микроархитектуры, которые увеличивают пропускную способность подсистемы памяти ЦП, позволяя выполнять несколько инструкций доступа к памяти параллельно.[4][5][6]
Смотрите также
- Арифметико-логическое устройство (ALU) - цифровая схема, выполняющая арифметические и побитовые логические операции над целыми двоичными числами.
- Блок с плавающей запятой (FPU) - то же, что и ALU, но для числа с плавающей запятой
- Загрузка – магазин
- Бульдозер (микроархитектура) - еще одна микроархитектура ЦП, включающая несколько AGU, разработанная AMD
- Регистрация переименования - метод, который повторно использует регистры ЦП и избегает ненужной сериализации программных операций
- Станция бронирования - функция ЦП, позволяющая использовать результаты различных операций при обходе регистров ЦП
- Блок исполнения
Рекомендации
- ^ Корнелис Ван Беркель; Патрик Меувиссен (12 января 2006 г.). «Блок генерации адресов для процессора (патентная заявка US 2006010255 A1)». google.com. Получено 8 декабря, 2014.
- ^ а б c «Глава 4: Блок генерации адреса (Руководство по семейству DSP56300)» (PDF). ecee.colorado.edu. 16 сентября 1999 г.. Получено 8 декабря, 2014.
- ^ а б c Дарек Михоцка (27 декабря 2000 г.). «Pentium 4: Раунд 1 - Intel лидирует». emulators.com. Получено 8 декабря, 2014.
- ^ Дэвид Кантер (25 сентября 2010 г.). "Микроархитектура Intel Sandy Bridge: подсистема памяти". realworldtech.com. Получено 8 декабря, 2014.
- ^ Дэвид Кантер (13 ноября 2012 г.). "Микроархитектура процессора Intel Haswell: иерархия памяти Haswell". realworldtech.com. Получено 8 декабря, 2014.
- ^ Пер Хаммарлунд (август 2013 г.). «Процессор Intel Core четвертого поколения, кодовое название Haswell» (PDF). hotchips.org. п. 25. Получено 8 декабря, 2014.
внешняя ссылка
- Блок генерации адресов в семействе Motorola DSP56K, Июнь 2003 г., Motorola
- Блок генерации адресов в приложениях DSP, Сентябрь 2013 г., Андреас Элиар
- Информатика снизу вверх, Глава 3. Архитектура компьютера Ян Винанд, сентябрь 2013 г.