ЗАСОБИ ОБРОБКИ КОМАНД

До них відносяться засоби вибірки-декодування і попередньої обробки команд. Завантаження команд в кеш (предвибірки) здійснюється за допомогою блоку ВШ.

Засоби вибірки-декодування вибирають з кеш-пам'яті рядки, після чого виробляють поділ і декодування команд. Етап декодування команд конвейерізірован. З вибраного рядка за допомогою окремих декодерів виділяються прості і складні команди і перетворюються в одиночні мікрокоманд або в послідовність з декількох мікрокоманд. Для цього використовуються паралельні декодери (ID), які розбивають довгі CISC-команди на невеликі RISC-операції.

Розглянемо апаратні засоби, що використовуються в універсальних процесорах для попередньої (динамічної) обробки команд до їх виконання. Відзначимо, що в різних процесорах вони мають різні назви і склад.

Засоби пророкування розгалужень реалізують обробку команд умовного переходу (розгалужень програми). Вони формують адреса наступної обраній команди до того, як буде визначено умову виконання переходу. До складу засобів входять:

  • • буфер адрес розгалужень (Branch Target Buffer - ВТВ), в якому зберігаються адреси раніше виконаних переходів і біти передісторії розгалуження, що вказують на виконання або відсутність переходу при чотирьох попередніх вибірках даної команди;
  • • два буфера попередньої вибірки: один застосовується для попередньої вибірки команди, в припущенні, що переходу немає, інший виконує передвибірки інструкцій в буфер, використовуючи вміст ВТВ.

Засоби перейменування регістрів призначені для розподілу (виділення) фізичних регістрів відповідно до зазначеного в команді адресою логічного регістра (типу Еах, ЕСХ - регістри загального призначення або STO-ST7 - регістри з плаваючою точкою) навіть в тих випадках, коли в командах адреса був призначений додатковий одного і того ж логічного регістра. Вони використовують описаний вище механізм перейменування регістрів і дозволяють виконувати команди одночасно або зі зміною їх послідовності. Засоби розподілу регістрів включають:

  • • таблицю псевдонімів регістрів (Register Alias Table - RAT), призначену для їх перейменування;
  • • файл регістрів вивантаження (Retirement Register File - RRF), який складається з додаткових регістрів, які дублюють (з новими іменами) логічні регістри;
  • • буфер переупорядочивания (ReOrder Buffer - ROB), який направляє мікрокоманд в виконавчі пристрої (через склад, що резервує станцію) у міру готовності операндів, що надходять з файлу RRF або з пам'яті (після вибірки і декодування).

Микрооперации з перейменованими логічними регістрами поміщаються в чергу на виконання в складом, що резервує станцію, де очікують операндів, що надходять незалежно з декількох джерел. Даними є результати виконаної микрооперации, адреси з буфера ВТВ, вміст регістрів (типу Еах).

Склади, що резервують станція (Reservation Station - RS) виконує функції накопичувача готових до виконання мікрокоманд, що надходять з буфера переупорядочивания ROB. Вміщена в RS команда передається на виконання після того, як отримані необхідні дані і звільнився необхідний операційний блок.

 
< Попер   ЗМІСТ   Наст >