Реферат: Універсальні мікропроцесори, застосовувані в ММПС. Мікропроцесори з архітектурою Itanium (IA-64)
1.Велика кількість регістрів;
2.Масштабування по кількості функціональних пристроїв (можливість збільшення числа функціональних пристроїв в подальших моделях мікропроцесора);
3.Явне завдання паралелізму в машинному коді;
4.Предикативне виконання інструкцій;
5.Попереджуюче завантаження даних по припущенню;
Відмінність між функціями архітектури i86 і ITANIUM приведені в табл.1
Таблиця 1
Архітектура i86 | Архітектура ITANIUM |
Використовування складних інструкцій змінної довжини, оброблюваних по одній | Використовування простих інструкцій однакової довжини, згрупованих по три в групі |
Переупорядковування і оптимізація інструкцій під час виконання | Переупорядковування і оптимізація інструкцій під час компіляції |
Спроби прогнозу переходів | Виконання декількох послідовностей команд одночасно без прогнозу переходів |
Завантаження даних з пам'яті у міру потреби | Завантаження даних з пам'яті до того, як вони будуть потрібно |
Всі функціональні пристрої конвейєризовані ( 10 тактів) і одночасно може виконуватися до 6 команд. Пам'ять тимчасового зберігання використовується для передачі результатів виконання команд на вхід іншої команди, минувши запис в регістри. Пряма адресація – 18 Гбайт оперативної пам'яті. Кеш-пам'ять трьохрівнева, де 1 рівень – внутрішня кеш-пам'ять команд і кеш-пам'ять даних місткістю 16 Кбайт кожна, 2 рівень – кеш-пам'ять команд і даних загальною місткістю 96 Кбайт, 3 рівень –зовнішня ( в картріджі ) кеш-пам'ять команд і даних місткістю до 4 Мбайт.
2.1 Формати та засіб обробки команд
Команди мікропроцесора групуються компілятором в зв'язку завдовжки 128 біт.
Формат зв'язки Т ½К1½К2½К3 – де Т – 8-бітова зв'язка, вказуюча на можливість паралельного виконання команд.
К1 | К2| К3 – всі три команди виконуються паралельно;
К1 & К2 | К3 – спочатку виконується перша команда, потім паралельно друга і третя;
К1 |К2 & К3 - перша і друга команди виконуються паралельно, потім виконується третя команди;
К1 & К2 & К3 - послідовне виконання всіх трьох команд.
При розподілі команд по функціональних пристроях мікропроцесор аналізує одночасно дві послідовні зв'язки команд. Відповідно до шаблона вибираються взаємно незалежні команди і призначаються на функціональні
2.2 Структурна схема ITANIUM
Довжина команд фіксована, формат команд наступний:
[ (gp) ] mnemonic [ .comp1 ] [ .comp2 ] dest =src,
деgp - предикативний регістр і якщо його значення рівно 1 команда виконується;
mnemonic – мнемонічне ім'я інструкції;
[ .comp1 ] [ .comp2 ] - завершувачі (модифікатори) команди;
dest , src - поле приймача і поле джерела.
Більшість команд IA-64 має два і більш джерел і один приймач і їх формат і умовний запис більш близький до команд RISC – архітектура.
Малюнок 3. Структурна схема ITANIUM
Формат коду операції наступний:
Opcode field ½ PRfield ½ GPRfield ½ GPRfield ½ GPRfield ½
деOpcode – 13-бітове поле коду операції;
Field - 6-бітове поле предиката;
Prfield -7 – бітове поле ідентифікатора;
GPRfield -7 – бітове поле ідентифікатора регістрів загального призначення.
Типи даних, що використовуються в архітектурі – цілі (1,2,4.8 байт) і з плаваючою комою (одинарний, подвійний і розширений подвійний формат), а також покажчики, місткістю 8 байт.
2.3 Призначення програмних регістрів