загрузка...
загрузка...
На головну

мікропроцесор R10000

На сьогоднішній день сімейство мікропроцесорів Rxxxxx є абсолютним лідером за обсягом продажів RISC-процесорів. Область застосування цих процесорів велика: від ігрових приставок компаній Sony і Nintendo, до високопродуктивних серверів і робочих станцій компаній Pyramid Technology, MIPS, Silicon Graphics Inc. (SGI), Siemens Nixdorf Inc. (SNI).

В основі мікропроцесора R10000 лежить суперскалярна RISC-технологія 5-го покоління. мікропроцесор R10000 являє собою однокристальний процесор загального призначення для настільних персональних комп'ютерів, робочих станцій і серверів. Продуктивність процесора з тактовою частотою 200 МГц становить 10,7 SPECint 95 і 19,0 SPECfp 95. Структура процесора представлена на рис. 4.3.

основними особливостями архітектури процесора R10000 є:

- Високий ступінь паралельності виконання мікрооперацій;

- Ефективне прогноз переходів;

- Планування завантаження функціональних модулів.

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

Схема передбачення переходів використовує 512-входовую таблицю передісторії переходів. Імовірність правильного передбачення на SPEC92 становить 0,87. У момент виконання предсказательной переходу процесор зберігає свій стан в 4-х позиційному стеку переходів. У нього заноситься альтернативний адресу переходу, повна копія таблиць відображення регістрів з плаваючою точкою та фіксованого точкою і різні керуючі біти. Ця інформація потрібна для відновлення в разі неправильного передбачення переходу. При заповненні стека декодування команд проводиться до нової команди переходу, після чого очікується звільнення позиції в стеці. При неправильно предсказанном переході скасовуються всі команди, обрані після неправильно передбаченого переходу.

На етапі передвибірки команд в кеш першого рівня здійснюється завантаження чотирьох 32-розрядних команд і їх попереднє декодування. Кожна команда в кеші забезпечується додатковим 4-бітових тегом, який необхідний для подальшого декодування і класифікації команди. Для команд переходу здійснюється обчислення результуючого адреси.

На другому етапі декодування усуваються (якщо це можливо) залежності між командами за даними. З цією метою використовується механізм перейменування регістрів. Залежності по пам'яті встановлюються по вмісту черги звернень до пам'яті. Незалежні команди можуть виконуватися в порядку, відмінному від початкового, що задається програмою. Всі результати виконання команд, отримані поза чергою, є тимчасовими і можуть бути скасовані у разі неправильного передбачення переходу.

Після декодування команди поділяються на три черги (l = 16), в яких очікують готовності операндів і функціональних блоків: цілочисельних АЛУ, блоків виконання операцій з плаваючою точкою і блоку завантаження / запису. Черги обслуговуються в порядку звільнення функціональних блоків процесора. Команда виконується в одному з 5 конвеєрів процесора, пов'язаному з функціональним блоком. Функціональні блоки виконання операцій з фіксованою і плаваючою точкою незалежні, мають роздільні реєстрові файли і шляхи передачі даних. Довжина целочисленного конвеєра - 1 такт, конвеєра блоку завантаження / збереження - 2, блоку операцій з плаваючою точкою - 3. При потенційної здатності виконувати 5 команд за такт R10000 допускає вибірку тільки чотирьох, Залишаючи «простір для маневру» при плануванні завантаження функціональних блоків. Це дозволяє R10000 в більшості випадків виконувати чотири команди за такт, завдяки чому за один такт можна отримати до 4 результатів.

R10000 містить високошвидкісний (до 1,6 Гбайт / с) внутрикристальной інтерфейс «процесор-шина», що дозволяє об'єднати до 4-х процесорів без використання додаткових інтегральних схем.


 Мал. 4.3. Структура мікропроцесора R10000

Скорочення витрат часу при роботі з процедурами. «-- попередня | наступна --» Будова Сонячної системи.
загрузка...
© om.net.ua