ЗМІСТ
ВСТУП1. УНІВЕРСАЛЬНІМІКРОПРОЦЕСОРИ, ЗАСТОСОВУВАНІВ ММПС1.1Типи архітектур універсальних мікропроцесорів1.2.АрхітектураPENTIUM1.2.1 Призначення функціональнихблоків1.3Архітектура PENTIUM MMX1.4Архітектура PENTIUM PRO (P6)2. МІКРОПРОЦЕСОРи з АРХіТЕКТУРОЮ ITANIUM (IA-64)2.1Формати та засіб обробки команд2.2Структурна схема ITANIUM2.3Призначення програмних регістрів
ЛІТЕРАТУРА
ВСТУП
Тема реферату«Універсальні мікропроцесори, застосовувані в ММПС. Мікропроцесори зархітектурою Itanium(IA-64)» з дисципліни«Мультимікропроцесорні системи».
Мультимікропроцесорнісистеми (ММПС) — це системи, що мають два й більше компонент, які можутьодночасно виконувати команди. Підпорядкованими процесорами можуть бутиспецпроцесори, розраховані на виконання певного типу завдання або процесориширокого застосування. Спецпроцесори — співпроцесори, процесори вводу-виводу.
У міру зменшеннявідносини вартість/продуктивність стає більше економічним застосовувати кількамікропроцесорів (далі ─ МП), замість одного складного
Крім поліпшенняекономічних показників системи, мультипроцесорні конфігурації забезпечуютькілька позитивних якостей, відсутніх в однопроцесорній конфігурації.
Кількапроцесорів краще пристосовуються під вимогу конкретного застосування, крімвитрат на непотрібні можливості централізованої системи. Більше того,модульність ММПС дозволяє в міру необхідності вводити додаткові процесори.
У ММПС завданнярозподіляються між модулями. При виникненні відмови у системі простіше тадешевше знайти й замінити несправний процесор, чим заміняти (відшукувати)елемент, що відмовив, у складному процесорі.
1. УНІВЕРСАЛЬНІ МІКРОПРОЦЕСОРИ,ЗАСТОСОВУВАНІ В ММПС 1.1 Типи архітектур універсальнихмікропроцесорів
Домінуючеположення на ринку мікропроцесорів займають мікропроцесори фірми Intel — 90 %усього виробництва, інші 10 % — RISC процесори. Існують наступні типиархітектур МП:
— архітектурах86 — фірма Intel (Pentium P5,P6, P-PRO, P-MMX), фірма AMD (K5,K6), фірма CYRIX(M1,M2);
— архітектура PA- фірма HP (PA-8000);
— архітектураALPHA — фірма DEC (ALPHA 21064, 21164,21164A);
— архітектураSPARS — фірма SUN (лінія SPARS);
— архітектураMIPS — компанія SILICON GRAPHICS (лінія MIPS R-X (R1000));
Ті самі МПвикористаються в ПЕОМ, робочих станціях і супер-ЕОМ. У двох останніх випадкахнайчастіше використаються симетричні МП і обчислювальні системи з масовимпаралелізмом.
На сьогоднішнійдень всі основні виробники мікропроцесорів мають приблизно рівні технологічніможливості, тому в боротьбі за основну характеристику (тактова частота)виходить фактор архітектури.
На даний моментчасу існують два напрямки розвитку архітектури:
— SPEED DAEMON — досягнення високої продуктивності за рахунок підвищення тактової частоти;
— BRAINIAC — досягнення високої продуктивності за рахунок ускладнення логіки плануванняобчислень і внутрішньої структури МП. Загальна особливість всіх МП — високошвидкісна обробка 64-розрядних операндів з фіксованою й плаваючоюкрапкою.
1.2Архітектура PENTIUM
/>
Малюнок 1. Структурамікропроцесора Pentium4
Технічніхарактеристики:
— тактовачастота від 60 до 200 Мгц;
— близька досуперскалярної архітектура;
— роздільні К-Пданих і команд;
— пророкуванняпереходів;
— високопродуктивні операції із плаваючою крапкою;
— удосконалена64-розрядна шина даних;
— наявністьзасобів забезпечення цілісності даних;
— SL-технологіїіз засобами керування;
— підтримкабагатопроцесорності;
— підтримкарізних розмірів сторінок пам'яті;
— моніторингпродуктивності.
Суперскалярнаорганізація (виконання декількох команд за один такт) здійснюється за рахунокдвох конвеєрів.
Подвійнийконвеєр Pentium виконує целочислені команди в п'ять етапів:
- передвиборка;
- декодування 1;
- декодування 2;
- виконання;
- запис результатів.
При цьому кількакоманд можуть перебувати на різних етапах виконання (конвеєри залежні, тобтопри зупинці одного, зупиняється й другий ).мікропроцесор pentiumitanium1.2.1 Призначення функціональнихблоків
К-П частковоасоціативна з розміром рядка рівним 32 байтам. Буфер TLB перетворить адресукомірки зовнішньої пам'яті у відповідну адресу даних у К-П. К-П даних використаєметод зворотного запису й протокол MESI. Наявність блока предсказуванняпереходів — перший тип МП із такою характеристикою. Виконання твердженняпереходів здійснюється через буфер BTB і два буфери попередньої вибірки. Першийбуфер — для попередньої вибірки команд у припущенні, що переходу немає. Другийбуфер – під час передвиборки використується буфер BTB, у якому зберігаєтьсявміст при виконанні переходу. Підтримуються й вкладені цикли, тому що BTBзберігає кілька адрес переходів і до 256 результатів переходів.
Операції ізплаваючою крапкою
Блок операцій ізплаваючою крапкою розташований усередині кристала й використовує складні8-рівневі конвеєри й внутрішні функції. Більшість команд із плаваючою крапкоюпочинають виконуватися в одному із цілочисельних конвеєрів, а потім передаютьсяна конвеєри із плаваючою крапкою. Функції додавання, ділення й множенняреалізовані як внутрішні функції. Блок із плаваючою крапкою Pentium упорівнянні з i486 виконує операції в 10 разів швидше.
64-розрядна шинаданих
При цій шиніданих обмін МП із пам'яттю здійснюється зі швидкістю 528 Мбайт /с, тобто в 5разів перевищує максимальну швидкість IntelDX2 66 Мгц — 105 Мбайт/с.
Розширена шинаданих підтримує потік команд і даних, переданих суперскалярному виконавчомупроцесорному ядру, що сприяє підвищенню інтенсивності обробки. У результатізагальна продуктивність в 2,5 рази вище IntelDX2.
Крім цього,Pentium організує конвеєризацію циклів шини, що дозволяє почати другий цикл дозавершення першого. Це дає підсистемі пам'яті більше часу для декодуванняадреси й внаслідок чого можна застосовувати більше повільні й менш дорогі елементипам'яті, що відбивається на вартості системи. Крім того, збільшенню пропускноїздатності й надійності системи сприяє підтримка пакетного читання й запису,перевірка парності адреси й даних.
Для підвищення швидкостівиконання послідовних операцій запису в пам'ять Pentium має два буфери запису (по одному на кожний конвеєр), завдяки яким процесор може продовжувати роботу,виконуючи наступні команди, хоча результат однієї з поточних команд ще незаписаний в пам'ять через зайнятість шини.
Засобизабезпечення цілісності даних
Забезпеченнявнутрішнього виявлення помилок (наявність бітів парності внутрішніх буферівпроцесора), а також тестування за допомогою функціональної надмірності(використання двох МП — основного й що перевіряє). У парі ці МП виконуютьпаралельні обчислення. Один МП порівнює результати обчислень із результатамиобчислень другого МП. У випадку непорівняння результатів генеруєтьсяпереривання.
Керуванняенергоспоживанням
Здійснюється надвох рівнях — на рівні МП і на рівні системи. На першому рівні — при виконаннізавдань, не потребуючі виконання інтенсивних обчислень (редагування текстів),переклад МП у режим зі зниженою тактовою частотою й зниженою напругою живлення.Можливий навіть SL- режим (сплячий). На другому рівні використається режим SMM(System Management Mode), що контролює енергоспоживання у всім ПК (включаючипериферійні пристрої). Цей режим забезпечує інтелектуальне керування системою,що дозволяє МП сповільнювати функціонування, припиняти або повністю припинятироботу окремих системних компонентів.
Підтримкамультипроцесорності
Здійснюється звикористанням протоколу когерентності К-П MESI, а також за допомогою контролерабагатопроцесорних переривань, що підтримує до 60 процесорів і 2-входовогоконтролера К-П другого рівня, що дозволяє двом процесорам спільно використатиодну К-П другого рівня.
Підтримка різнихрозмірів сторінок пам'яті
Для першогорежиму розмір сторінок дорівнює 4 Кб, а для другого — 4 Мб. Для програмногозабезпечення цей режим прозорий. Він уведений для зменшення частоти перемиканнясторінок у складних графічних додатках і ядрі операційної системи.
Моніторингпродуктивності
Цезасіб, що дозволяє проектувальникам системи й розроблювачам додатківоптимізувати апаратне й програмне забезпечення, завдяки виявленню в програмномукоді «вузьких місць». Розроблювачі можуть спостерігати й підраховувати тактидля внутрішніх процесорних подій, що впливають на продуктивність операціїчитання й записи, на промах і влучення в К-П, перериванню, використаннясистемної шини.
1.3 Архітектура PENTIUMMMX
МП Pentium ММХмістить у собі всі функції Pentium плюс 57 додаткових команд (реалізаціямультимедійних алгоритмів), цифрова обробка сигналів, операції над векторами,згортка, перетворення Фур'є.
Такожреалізовані подвоєні обсяги К-П даних і команд ( по 16 Кбайт кожна), розширенаконвеєризація — 6 команд. Поліпшено логіку пророкування переходів і здійсненабільше глибока буферізація пам'яті.
Длявиконання додаткового набору команд використається ММХ — пристрій і блокрегістрів із плаваючою крапкою. Додані 8 ММХ регістрів (ММ0-ММ7). Вони фізичносполучені з 64-розрядними регістрами із плаваючою крапкою тому що можуть бутивикористані тільки над операціями із ММХ даними.
Швидкістьвиконання мультимедійних операцій на 60 % вище в порівнянні з Pentium.1.4 Архітектура PENTIUM PRO (P6)
Застосовуєтьсяпри проектуванні старших моделей робочих станцій і мультипроцесорних систем.Ефект використання досягається тільки для 32-розрядних додатків. Новаконструкція корпуса, що складається із двох мікросхем, поміщених в одинкерамічний корпус і не погодиться з виводами Pentium. У випадку використанняPentium-PRO необхідний перехід на нові системні плати.
Тактова частота- 133 Мгц (для технології 0,6мкм), і 200 Мгц (для технології 0,35мкм). Потужністьрозсіювання — 14 Вт.
Високапродуктивність у Р-РRO забезпечується за рахунок використання нововведень вархітектурі й технології, а саме — рознесена архітектура, динамічне виконаннякоманд, подвійна незалежна шина.
Нова архітектураК-П – DIB -передбачає використання різних шин для з'єднання процесорного ядра зК-П і основною оперативною пам'яттю. Перша шина працює на тактовій частотіпроцесора, друга із частотою системи. Такий поділ шин дозволило в три разиприскорити обмін процесора з підсистемою пам'яті.Завдяки цьому відпадаєнеобхідність у зовнішньої К-П.
МП міститьроздільні К-П першого рівня для даних і команд, кожна обсягом 8 Кбайт, іоб'єднану К-П другого рівня. К-П даних першого рівня двухпортова, що не блокує, підтримує одну операцію завантаження й одну операцію запису за такт.
Інтерфейс К-Пдругого рівня працює з тактовою частотою центрального процесора й можепередавати 64 біта за такт. Зовнішня шина МП працює з 1/2, 1/3, 1/4, тактовоїчастоти центрального процесора.
/>
Малюнок 2. Структура PENTIUM PRO
BUI — пристрій інтерфейсу із шиною;
IFU — пристрій підкачування команд ( з К-П команд);
BTB — буфер адрес переходів;
ID — декодер команд;
MIS — планувальник мікрокоманд;
RAT — таблиця псевдонімів регістрів;
ROB — буфер переупорядкування;
RRF — файл регістрів вивантаження;
RS — станція, що резервує;
IEU — пристрій цілочисельних команд;
FEU — пристрій команд із плаваючою крапкою;
AGU — пристрій генерації адреси;
MUI — пристрій інтерфейсу з пам'яттю;
DCU — пристрій керування К-П даних;
МОВ — буфер переупорядкування звертань до пам'яті
L2 — К-П другі рівні.
512-елементнийбуфер адрес переходів (ВТВ -Branch Target Buffer) дозволяє скоротити числотактів при вибірці рядків з К-П пристроєм підкачування команд. Процес вибіркиконвеєризований. Новий рядок вибирається кожний такт центрального процесора.Три паралельних декодери кожний такт перетворюють кілька команд архітектури х86у набори мікрооперацій.
Таблицяпсевдонімів регістрів використається для перейменування регістрів. Результатперейменування посилає в пристрій резервування й у буфер переупорядкування.
Мікрооперації зперейменованими операндами містяться в чергу в пристрої резервування, деочікують значень операндів, що надходять незалежно від декількох джерел. Данимиє результати виконаної мікрооперації, адреси із ВТВ, уміст регістрів.
Вибір мікроопераційіз черги й динамічне виконання здійснюється з обліком їхніх істиннихзалежностей по даним, а також залежно від доступності виконавчих пристроїв(IEU, FEU,AGU). Порядок, у якому виконуються мікрооперації, у загальномувипадку відрізняється від їхнього розташування у вихідній програмі.
При плануваннізвертань до пам'яті використається пристрій резервування, пристрій генераціїадреси, і буфер переупорядкування звертань до пам'яті.
Мікроопераціястає кандидатом на вивантаження відразу, як тільки вона виконана, визначенаадреса переходу й отриманих результатів спрямовані до нужденній у нихмікрооперації. Для відновлення первісного порядку мікрооперацій використаютьсятимчасові мітки мікрооперацій у буфері переупорядкування й файлі регістріввивантаження. Процес вивантаження повинен забезпечити не тільки відновленняпервісного порядку мікрооперацій, але й гарантувати правильну обробкупереривань і помилок, а також скасовувати всі або частина результатів,отриманого після неправильного пророкування розгалуження. У момент вивантаженнямікрооперації її результат з буфера переупорядкування міститься у файлрегістрів вивантаження.
2.МІКРОПРОЦЕСОРи з АРХіТЕКТУРОЙ ITANIUM(IA-64)
Початоквипуску –2001 рік, технологія 0,18мкм з тактовою частотою 660,733,800 Мгц,концепція EPIC(Explicity Parallel Instruction Computing)–явне паралельне виконання команд. Основні особливості концепції:
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
Форматкоду операції наступний:
Opcodefield½PRfield½GPRfield½GPRfield½GPRfield½
деOpcode–13-бітовеполе коду операції;
Field — 6-бітове поле предиката;
Prfield-7 – бітове поле ідентифікатора;
GPRfield-7 –бітове поле ідентифікатора регістрів загального призначення.
Типиданих, що використовуються в архітектурі – цілі (1,2,4.8 байт) і з плаваючоюкомою (одинарний, подвійний і розширений подвійний формат), а також покажчики,місткістю 8 байт.
/>2.3 Призначення програмних регістрів
GR0-GR127– цілочисельні регістри загального призначення, з яких GR0–використовується тільки для читання, GR1-GR32– зберігання глобальних даних, GR33-GR127–96 стекових регістрів. Місткість регістра – 64 біти і один біт (NaT)достовірності значення відповідного результату. Якщо дані регістра визначені якнезатребувані (в регістрі міститься результат спекулятивної команди), то бітдостовірності рівний 0 і вміст регістра не використовується;
FR0-FR127– регістри формату плаваючої коми, місткістю 82 біт, з яких FR0,FR1–доступні тільки для читання, FR2- FR33 –32 глобальні регістри, інші 96 що обертаються регістра (циклічних);
PR0-PR63- предикативні регістри, з яких 16 статичних, інші 48 що обертаються.Предикативні регістри служать для ухвалення рішення про виконання команди.Команда виконується, якщо відповідний їй предикативний регістр рівний 1.Еслипредикативний регістр не заданий явно, за умовчанням приймається регістр PR0,значення якого завжди рівно 1;
BR0-BR7– регістри галужень, в яких зберігаються призначені адреси галужень команд;
AR0-AR127–прикладные регістри, які використовуються для допоміжних функцій.
КомпіляторIA-64використовує технологію відзначених галужень. Ця технологія припускає, щокоманди, що належать різним гілкам алгоритму, позначаються різними значеннями вполі предиката команди. Формування зв'язок команд здійснюється в незалежностівід значень предиката. Тим самим забезпечується можливість одночасноговиконання команд, що належать різним гілкам алгоритму. В процесі виконанняпрограми, після результати команд із значенням предиката, відповідного данійгілці. Проте не всі гілки наголошуються компілятором для паралельноговиконання, відмітка здійснюється для коротких альтернативних гілок і якщо гілкане наголошується, то передбачається мікропроцесором в процесі виконанняпрограми.
Принциппрогнозу виконуваних інструкцій приведений на мал.4
/>
Малюнок 4. Принциппрогнозу виконуваних інструкцій
Всі командигілки 1 мають посилання на регістр прогнозів (предикативний) PR1,гілки 2 – PR2.Обчисливши умову переходу процесор відкидає помилковий результат обчислень. Врезультаті процесор може переупорядкувати команди відповідним чином.Команда 1 Команда 2 Команда 3 Команда 4 Команда 7 Команда 5 Команда 8 Команда 6 Команда 9
Наступнаособливість архітектури IA-64 — попереднє (спекулятивна) завантаження даних в кеш-пам'ять. Єство спекулятивногозавантаження – рознесення в часі команд завантаження даних з пам'яті і командїх використовуючи. Функції компілятора в цьому випадку – аналіз початковоготексту програми і завантаження команд перевірки на доступність. Схемаспекулятивного завантаження приведена на мал. 5.
/>
Малюнок 5.Схемаспекулятивногозавантаження
Компіляторпо можливості вставляє команди спекулятивного завантаження і перевірки. Якщо уразі спекулятивного завантаження виникає особливий випадок, процесор непоспішає повідомляти про це програмне забезпечення.
Організаціяпам'яті також унікальна, тобто відмінна від всіх попередніх реалізаціймікропроцесорів фірми INTEL.Місткість адресного простору 264 і воно лінійне, немає ні сегментації ністорінкової адресації. В даному адресному просторі немає конкретно закріпленихфізичних адрес, тобто весь діапазон адресації програмно доступний. Длязабезпечення сумісності з раніше розробленими 32-додатками в IA-64передбачаєтьсявикористовування двох режимів VLIW іCISC.Перемикання здійснюється програмно за допомогою спеціальної команди.
Реалізаціяциклів також відмінна від класичної і більш схожа з архітектурою RISCпроцесорів.Цикл ділиться на три фази – пролог, ядро і епілог. Апаратна підтримка на кожнійз фаз – механізм ²обертання²регістрів, спеціальні команди, спеціальні прикладні регістри ( лічильник цикліві лічильник епілогів). В мікропроцесорі не використовується динамічнеперейменування регістрів, натомість – схема циклічної заміни використанихрегістрів (обертання регістрів). При цьому набір що використовуються в циклірегістрів розглядається як фрейм, що відображається на регістровий файл,починаючи з деякою позицією – бази фрейма. При переході на наступну ітераціюциклу змінюється база фрейма – збільшується (зменшується) на величину рівну кількостірегістрів у фреймі.
ЛІТЕРАТУРА
1.Б.В.ШевкоплясМикропроцессорные структуры. Инженерные решения М.: Радио и связь, 1990
2.В.ШевкоплясМикропроцессорные структуры. Инженерные решения. Дополнение первое.М.:Радио и связь, 1993
3.М.ГукАппаратные средства IBMPC С.Петербург ²Питер²2000
4.В.Корнеев,А.Киселев Современные микропроцессорыСанкт-Петербург,²БХВ–Петербург²2003
5.ЛоказюкВ.М. и др Микропроцессоры и микроЭВМ впроизводственных системах Киев Издательский центр²Академия ² 2002
6.В.В.Сташин,А. В. Урусов, О.Ф. Мологонцева Проектированиецифровых устройств на однокристальных микроконтроллерахЛ.Энергоатомиздат
7.Под ред.А.Д.Викторова Руководство пользователя по сигнальным микропроцессорамсемейства ADSP-2100 Санкт-Петербургский государственный электротехнический университет. Санкт- Петербург1997
8.М.Предко Руководство по микроконтроллерам в 2-х томах М: Постмаркет, 2001