Пятница, 04.07.2025, 06:12
Главная Регистрация RSS
Приветствую Вас, Гость
Меню сайта
Категории раздела
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Information Technologies (IT) » HardWare

Энциклопедия процессорных терминов-Стадии конвейера

 BPU (branch predictor unit: блок предсказания ветвлений), предсказатель переходов — начальная часть конвейера, реализующая спекулятивное исполнение. Предсказывает поведение командперехода (целевой адрес и предположение об исполнении), используя накопленную в специальных таблицах и регистрах статистику о дошедших до отставки переходах. Состоит из 1–2 стадий, работает отдельно от остального конвейера и раз в 2–3 такта выдаёт вероятный адрес следующей порции команд для исполнения. Для переходов разного типа применяет разные алгоритмы. Предсказания даются на несколько переходов вперёд вне зависимости от темпа реального исполнения команд или даже их наличия в L1I.


 IF (instruction fetch: загрузка команд) — несколько стадий (число которых совпадает с латентностьюL1I), тратящихся на загрузку порции команд из L1I в предекодер или декодер по предсказанному адресу.


 IChunk (instruction сhunk: «кусок команд»), порция команд — блок команд, загружаемый из L1I впредекодер или декодер. В x86 ЦП — 16 или 32 байта.


 predecoder, предекодер — предварительный декодер, разделяющий несколько CISC-команд из порциина отдельные элементы (см. x86), используя информацию от длиномера. Подготовка команд может происходить наперёд их дальнейшей обработки декодером, если до него есть накопительный буфер.


 ILD (instruction length decoder: декодер длин команд), длиномер — определитель длин CISC-команд. В x86-ЦП анализирует их префиксыопкоды и байты modR/M. В ЦП Intel длиномер является частьюпредекодера, измеряя длины «на лету». В большинстве ЦП AMD он работает с командами при их загрузке из L2в L1I, сохраняя разметку байтов команд в отдельной памяти, считываемой предекодером.


 ID (instruction decoder: декодер команд), decoder (декодер) — набор блоков, преобразующих команды в мопы. В x86-ЦП состоит из нескольких трансляторов и одного микросеквенсера (генератора последовательности мопов) с ПЗУ для микрокода. Осуществляет микрослияние и макрослияние.


 translator («переводчик»), транслятор — часть декодера, обрабатывающая простые и частые команды без использования микрокода. В x86-ЦП имеется 2–4 (по числу путей конвейера) простых транслятора, каждый из которых переводит команду в 1 моп за такт, и один сложный транслятор, переводящий команду в 2–4 мопа/такт (как правило, также по числу путей). Исключение составляютмакросливаемые команды, которые обрабатываются парами и, как правило, только одним транслятором.


 µcode, microcode, микрокод — совокупность микропрограмм — последовательностей мопов (до нескольких сот длиной), задающих исполнение наиболее сложных команд, которые не могут быть обработанытрансляторами. Хранится в ПЗУ микропрограмм.


 mROM, µROM («микроПЗУ») — энергонезависимое хранилище для микрокода. Микросеквенсер декодерачитает микропрограммы из микроПЗУ по несколько мопов за такт (по числу путей конвейера). Для исправления ошибок содержимое может корректироваться прямым программированием или перемычками.


 dispatch (отправка) — последняя стадия фронта конвейера, отправляет мопы из декодера впланировщик(и). Может включать буфер мопов (в терминологии Intel: IDQ, instruction decode queue, очередь декодирования команд) и/или кэш мопов (в терминологии Intel: DSB, decode stream buffer, буфер потока декодера). В ЦП Intel буфер мопов (как и кэш) может работать в режиме блокировки цикла, освобождая на время его исполнения остальные стадии фронта для простоя, накопления мопов команд после цикла или работы над другим потоком (в процессорах с SMT). Обнаружение и блокировка цикла осуществляется блоком LSD (loop stream detector, детектор циклического потока).


 SC, scheduler, планировщик — логический анализатор суперскалярного конвейера, планирующий и производящий запуск мопов на исполнение и принимающий отставку, для чего требуется определять взаимозависимости мопов по операндам и отслеживать занятость исполнительной стадии. Виды и состав:


 ROB (reorder buffer: «буфер переупорядочивания») — вопреки названию, хранит оригинальный (программный) порядок мопов, поэтому иногда называется «retirement queue» (очередь отставки). Число мопов в ROB определяет т. н. OoO-окно — диапазон, в котором OoO-планировщик выбирает несколько мопов для исполнения.


 register rename, переименование регистров — процедура привязки архитектурного регистра, описываемого в ISA и указанного в мопе, к аппаратному. Является первой стадией тыла конвейера и выполняется при размещении мопа в ROB и резервации(ях). Физических регистров в 4–10 раз больше, чем архитектурных того же типа, что позволяет реализовать одновременное исполнение мопов, до переименования ссылавшихся на один регистр, за счёт удаления ложных взаимозависимостей по операндам. Переименовываются также 4 важнейших флага.


 RS (reservation station: резервационная станция), резервация

В планировщике
…с физическим РФ:…без физического РФ:
Резервация — буфер готовящихся к исполнению мопов и номеров их операндов в физическом РФ.Резервация — буфер готовящихся к исполнению мопов и их операндов.
Перехватывает результаты, возвращаемые исполненными мопами.
Планировщик имеет многопортовую резервацию, рассчитанную на все ФУ.Планировщик имеет либо одну многопортовую резервацию, либо несколько однопортовых с распределением ФУ между ними.
При размещении мопов происходит переименование регистров и привязка их операндов к физическому РФ.При размещении мопов происходит переименование регистров и чтение уже известных значений операндов из архитектурного и спекулятивногоРФ.


 port, порт — для РФ: интерфейс РФ для одной из шин исполнительного тракта, допускает либо чтения, либо записи. Для ФУ: интерфейс для приёма мопов или аргументов или отправки результатов. Длярезервации: интерфейс для одного или нескольких ФУ, через который ему (им) передаются мопы.


 RF (register file), РФ (регистровый файл) — набор одинаковых регистров, отличающихся лишь номером. С точки зрения архитектуры в ядре современного ЦП есть как минимум целочисленный РФ (наборРОНов для скалярных целых данных и адресов) и векторно-вещественный РФ (для остальных видов данных). Аппаратных РФ может быть больше. Имеет по несколько портов чтения и записи, реализуя одновременный доступ.


 ARF (architectural RF), архитектурный РФ, RRF (retired RF, «отставленный РФ») — РФ, хранящий последнее достоверно известное состояние описываемых архитектурой регистров, обновляемое при отставкемопов. В ЦП с SMT есть по одному ARF на поток.


 FF (future file: «файл будущего»), спекулятивный РФ — РФ, хранящий регистры со спекулятивнымиоперандами. При отставке мопа планировщик переносит записанный им результат из спекулятивного РФ вархитектурный. Число регистров спекулятивного РФ совпадает с размером ROB в мопах.


 PRF (physical RF), физический РФ — РФ, монопольно хранящий регистровые операнды мопов. Использующий его планировщик манипулирует в ROB и резервации только мопами и номерамипереименованных регистров, отслеживая архитектурные и спекулятивные записи в таблице привязки. В ЦП сSMT есть по одной такой таблице на поток.


 EX (execution), исполнение — стадия исполнения мопов, содержащая все ФУ. Физически реализована в виде одного или нескольких исполнительных трактов.


 EU (execution unit: исполнительный блок), FU (functional unit: функциональный блок), ФУ, функциональное устройство — блок тыла, исполняющий мопы и обрабатывающий данные и адреса. Имеетпорт управления для мопов из резервации, 2–3 порта аргументов и порт результата. Чаще всего именуется по названию исполняемой в нём команды или группы похожих команд. Физически находится в исполнительном тракте. Для наиболее частых команд исполнительная стадия может содержать более одного ФУ нужного типа. Производительность ФУ определяется пропуском и задержкой исполняемых команд.


 datapath («путь данных»), исполнительный тракт — физическая структура процессора, реализующая обработку данных определённого типа. Начинается с одного или нескольких РФ, после чего цепочкой расположены несколько ФУ и шлюзов. Эти блоки связаны несколькими шинами, по максимальному числу портов из подключенных РФ. Шины чтения из РФ передают аргументы в ФУ, шины записи возвращают результаты (в т. ч. в РФ).


 bypass («обход»), шлюз — порт перепуска (перенаправления) данных на исполнительном тракте. Внутренние шлюзы связывают шины записи и входные порты ФУ, позволяя немедленно использовать результат только что исполненного мопа (в т. ч. в этом же ФУ). Внешние шлюзы ведут в другие тракты и LSU.


 AG (address generation: генерация адреса) — стадия арифметических действий с содержимым регистров и адресных смещений, необходимая для получения адреса аргумента в памяти. Выполняется в AGU.


 DCA (data cache access: доступ к кэшу данных) — стадия чтения аргумента из кэша или записи в кэш по вычисленному адресу под управлением LSU.


 WB (write-back: обратная запись) — стадия записи результатов из ФУ и/или чтений из памяти — в РФи/или в ФУ (через шлюзы). Не путать с одноимённой политикой работы кэша.


 retire, отставка, commit («совершение») — функция планировщика, «легализующая» спекулятивныерезультаты мопов в программном порядке. Является последней стадией конвейера. Отказ в отставке возможен в случае обнаружения:

В последних двух случаях планировщик возвращает конвейер в предыдущее точно известное состояние («сброс конвейера»), теряя все спекулятивные результаты; успешная отставка обновляет это состояние. Отставка перехода вне зависимости от успешности пополняет статистику предсказателя переходов.


 exception, исключение, исключительная ситуация — событие при обработке мопа, требующее аварийной реакции:

  • ловушка — отладочный останов, системный вызов, переключение контекста программы и др. заранее запланированные случаи;
  • ошибка исполнения — отсутствие страницы в памяти, недопустимая команда, выход за допустимый диапазон аргумента или результата и пр.;
  • внешнее прерывание процессора — аппаратный сбой, пропадание питания и пр.

При обнаружении исключения конвейер прекращает принимать новые команды, пытается довести до отставкивсе предыдущие (в программном порядке) мопы и запускает обработку исключения.

Категория: HardWare | Добавил: Tual (26.02.2011)
Просмотров: 722 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]