Лекция: Особливості архітектури мікропроцесорів i386 та i486
Мікропроцесор i386.Перший 32-розрядний процесор i386 було створено у 1985 р. Він виконаний за технологією 1,5 мкм і містить 275 тис. транзисторів. Розрядність регістрів, шини даних та адреси дорівнює 32. Ємність пам'яті, що прямо адресується, становить 4 Гбайт. Процесор може працювати у трьох режимах — реальному, захищеному і віртуального процесора 8086 — V86. Допускається паралельна робота кількох віртуальних процесорів 8086 під керуванням операційної системи типу Windows, OS/2, Unix. Перемикання режимів відбувається швидше, ніж у МП i80286. Є механізми сторінкової адресації, які істотно підвищують ефективність роботи з пам'яттю понад 1 Мбайт навіть у межах DOS. Черга команд — 16 байт. Мікропроцесор i80386 має модифікації: DX — регістри, шини даних та адреси є 32-розрядними; SX — із зовнішньою 16-розрядною шиною даних та 24-розрядною шиною адреси; SL — відрізняється від модифікації SX зниженим енергоспоживанням та вбудованим контролером зовнішньої кеш-пам'яті на 16 — 64 Кбайт. До комплекту 3865L входить мікросхема 823605L — набір периферійних контролерів для ноутбуків. Основні характеристики процесорів 80 ´ 86 наведено у табл. 3.7.
Мікропроцесор i486.Цей процесор випустили у 1989 р. Він характеризується значно вищою швидкодією порівняно з мікропроцесором i8086. Мікропроцесор виконано за технологією 1 мкм; містить 1,2 млн транзисторів. Основні особливості МП i486 — наявність внутрішньої кеш-пам'яті, вбудованого математичного співпроцесора, сумісного за командами арифметичного співпроцесора І387. У МП i486 збільшено чергу команд, прискорено виконання операцій як у цілочисловому АЛП, так і в блоці математичного співпроцесора за рахунок архітектури, введено множення тактової частоти системної плати. У модифікаціях процесора 486DX2 внутрішня частота дорівнює подвоєній зовнішній, а в процесорах 486DX4 кратність може бути 2, 2,5, 3. Математичного співпроцесора у модифікаціях SX та в деяких модифікаціях SL немає. Залежно від модифікації процесори DX4 можуть працювати від джерела живлення 5 В та 3,3 В і мають режим SMM {System Management Mode), що дає змогу керувати енергоспоживанням.
Крім розглянутих вище процесорів фірми Intel (див. табл. 3.7) є аналогічні за технічними характеристикам процесори, які виготовляють фірми IBM, AMD, Cyrix, Texas Instruments. Так, процесор 386SLC — це поліпшений варіант процесора 386SX. Він має внутрішню кеш-пам'ять і характеризується прискореним виконанням операцій. Мікропроцесор 486SLC є варіантом процесора і486SX, а процесори SLC2/SLC3 здійснюють подвоєння (потроєння) зовнішньої частоти.
Таблиця 3.7. Основні характеристики процесорів 80 ´ 86 фірм і IBM
| Процесор | Розрядність | Ємність кеш-пам'яті, Кбайт | Наявність співпроцесора | Частота процесора, МГц |
| регістрів | шини даних | шини адреси | ||
| — | — | 4,77-8 | ||
| — | — | |||
| — | — | 6-25 | ||
| 386SX | — | — | 16-23 | |
| 386SL | — | — | ||
| 386SLC | — | 25-40 | ||
| 486SLC | — | 25-40 | ||
| 486SLC2 | — | 40-66 | ||
| 486SLC3 | — | |||
| 386DX | — | — | 25-40 | |
| 486DLC | — | 25-40 | ||
| 486SX | — | 16-33 | ||
| 486BL2 | — | 40-66 | ||
| 486BL3 | — | 75-100 | ||
| 486DX | + | 25-50 | ||
| 487SX | + | 25-50 | ||
| 486SL | + | 25-50 | ||
| 486DX2 | 8/16 | + | 40-80 | |
| 486DX4 | + | 75-120 |
Процесори SCL2 і SL характеризуються зниженим енергоспоживанням і мають напругу живлення 3,3 В. Так, більшість процесорів фірми AMD мають знижені енергоспоживання (літера L у позначенні ВІС) і напругу живлення 3,3 В (літера V у позначенні МП), наприклад, процесор AMD 5X-133ADV — це варіант мікропроцесора i486 зі збільшеною частотою вчетверо та зниженою напругою живлення.
Внутрішня кеш-пам'ять.Починаючи з МП і486, застосовується внутрішнє роздільне видавання команд і даних (докладно принципи організації кеш-пам'яті розглянуто в п. 16.5). Якщо область, яка адресується, відображено у кеш-пам'яті (випадок попадання — cache hit), то запит на читання обслуговується лише кеш-пам'яттю без звернення до основної пам'яті. У разі запиту на запис спочатку модифікується інформація у кеш-пам'яті, а після цього, залежно від типу кеш-пам'яті, й основна пам'ять.
У перших процесорах і486 використовувався режим наскрізного запису Write Through, коли інформація одночасно записувалася як у буфер, так і в ОЗП. У новіших модифікаціях використано режим зворотного запису Write Back, який полягає у тому, що копія блока записується в ОЗП лише тоді, коли вміст його змінювався.
Заповнення рядка кеш-пам'яті процесор намагається виконати найшвидше — пакетним циклом з 32-бітовими передачами. Вибір рядка для заміщення новими даними здійснюється на підставі аналізу біта LRU (Least Recently Used), який виконується лише для кеш-промахів читання. У разі кеш-промахів запису заповнення рядків не відбувається.
Пакетний режим передачі даних.Пакетний режим передавання даних (Burst Mode) призначений для швидких операцій з рядками кеш-пам'яті. При цьому вміст чотирьох 32-роз-рядних комірок основної пам'яті пересилається в один рядок кеш-пам'яті або навпаки — вміст одного рядка кеш-пам'яті пересилається у чотири 32-розрядні комірки основної пам'яті. Оскільки рядок кеш-пам'яті процесора 486 має довжину 16 байт (128 біт), то для його пересилання треба чотири 32-розрядних циклів шини, впродовж кожного з яких відбувається пересилання вмісту однієї 32-розрядної комірки з основної пам'яті або 32 біт з кеш-пам'яті.
Розглянемо випадок пересилання вмісту чотирьох 32-розрядних комірок основної пам'яті в один рядок кеш-пам'яті (рис. 3.15). Під час зчитування вмісту 32-розрядної комірки розряди ЛО і А1 участі у формуванні адрес не беруть, оскільки вони означають положення кожного з чотирьох байтів у 32-розрядній комірці. Тому на рис. 3.15 подано значення розрядів А31—А2.
У першому такті П встановлюється адреса А31 — А2, сигнали ідентифікації типу циклу і формується строб ADS#. Цей такт виконується процесором так само, як і за звичайного передавання даних.
У наступному такті (Т2) передається перше 32-розрядне слово. При цьому сигнал BLASTU має значення L-рівня.
Рис. 3.15. Діаграма пересилання вмісту чотирьох 32-розрядних комірок пам'яті
Про завершення пакетного циклу процесор повідомляє зовнішньому пристрою сигналом BLASTtt, що набуває значення L-рівня в останньому такті передавання пакета. Якщо зовнішній пристрій підтримує пакетний режим, він генерує сигнал готовності до пакетного передавання BRDYU (замість сигналу RDY#). У цьому разі процесор продовжує цикл як пакетний, не вводячи такти Т1адресації-ідентифікації (з сигналом ADS#), а відразу переходячи до передавання наступного 32-розрядного слова. Формуванням сигналу RDY# замість BRDY# зовнішній пристрій може у будь-який момент перервати пакетне передавання, і процесор продовжить її звичайними циклами. Для передавання 16 байт у пакетному режимі потрібно п'ять тактів шини (без тактів чекання) замість восьми тактів за звичайного режиму передавання.
Пояснимо чередування адрес 32-розрядних слів у пакетному режимі. Подамо адресу слова у такому вигляді:
| А31-A4 | AЗ | A2 | A1 | A0 |
| Довільні значення | Номер 32-розрядного слова у пакетній посилці | Номер байта у 32-розрядному слові |
Розряди А1та А0 у цій адресі дорівнюють нулю. Розряди A3, А2визначають положення кожної з чотирьох 32-розряд-них комірок у рядку кеш-пам'яті завдовжки 128 біт. Розряди А31—А4 визначають адресу 32-розрядного слова в основній пам'яті, яке пересилається у кеш-пам'ять.
Рядок кеш-пам'яті вирівняно по межі 128-розрядних даних, його адреса має нульові значення розрядів A3 —А0. У пакетному передаванні завжди зчитуються дані, що відповідають одному рядку кеш-пам'яті, адреса якого кратна 128. Адреса першого 32-розрядного слова пакетної посилки кратною 128 може не бути. За нульових значень розрядів А31— А4 та А1, А0 адреса першого слова визначається розрядами А3, А2:
Передування адрес 32-розрядних слів у пакетному режимі залежно від адреси першого слова наведено у табл. 3.8.
Якщо перша адреса блока не збігається з межею рядка, то вона дорівнює 04H (див. рис. 3.15). Порядок чергування адрес при цьому відповідає другому рядку табл. 3.8, тобто дорівнює 04H, 00H, ОСH, 08H. Наведений порядок череду-вання адрес у пакетному режимі характерний для всіх процесорів Intel та сумісних з ними, починаючи з i486.
Таблиця 3.8. Послідовність зміни адрес у пакетному циклі
| Адреса слова | |||
| першого | другого | третього | четвертого |
| С | |||
| С | |||
| С | |||
| С |
Буфери відкладеного записупризначені для запаміято-вування даних у буфері тоді, коли зовнішня шина зайнята. Процесор i486 має чотири буфери відкладеного запису. Інформація у буфер записується за один такт. Після закінчення поточного циклу шини інформація з буферів передається зовні — у пам'ять або ПВгЗ. Зовнішні операції запису з буферів виконуються у тому самому порядку, в якому надійшли запити на запис. Якщо у незвільнених буферах усі запити на запис у пам'ять пов'язані з кеш-попаданнями, а запит на читання пов'язаний з кеш-промахом, то операція читання може відбутися раніше, ніж операції запису. Однак більше ніж один раз змінювати порядок виконання команд у МП не дозволяється, оскільки нові прочитані дані можуть замінити модифікований рядок кеш-пам'яті, з якого поновлена інформація очікує у буфері черги на запис в основну пам'ять. У такому разі друга спроба зміни послідовності команд може порушити цілісність даних. Для операцій введения-виведен-ня зміна послідовності команд не допускається, бо це може призвести до порушення протоколу обміну.
OverDrive-процесори призначені для модернізації мікропроцесорної системи або комплекс. Модернізація здійснюється заміною початкової моделі МП на нові моделі, так звані OverDrive-процесори, які мають вищі техніко-економічні показники. Такими моделями для i486 є Intel DX2 OverDrive, Intel DX4 OverDrive, Pentium OverDrive 63 та 83 МГц.
Для модернізації мікропроцесорної системи на системній платі, крім уже встановленого процесора, у додатковий роз'єднувач (сокет), позначений як OverDrive, встановлюється OverDrive-процесор у корпусі PGA-169. OverDrive-процесор спеціальним вихідним сигналом від'єднує основний процесор, що залишається на платі.
Режим системного керування 32-розрядних мікропроцесорів.Деякі модифікації процесорів 386 і 486, крім перелічених режимів (реального, захищеного і віртуального F86), мають режим системного керування SMM (System Management Mode), який призначено для керування енергоспоживанням або виконання програм, повністю ізольованих як від прикладного програмного забезпечення, так і від операційної системи. Перемикання в режим SMM здійснюється або апа-ратно — подачею нульового потенціалу на контакт мікросхеми процесора, або, в деяких моделях, програмно — за прийняттям повідомлення по шині АРІС. Під час переходу в режим SMM МП виставляє сигнал підтвердження на контакті. Після цього процесор зберігає свій стан — уміст майже всіх регістрів — у спеціальній області пам'яті SMRAM. Якщо режим SMM використовується для вимкнення живлення процесора з можливістю швидкого ввімкнення, пам'ять SMRAM має бути енергоиезалежною. У цій області пам'яті знаходиться підпрограма обробки переривання SMI. Доступ до пам'яті дозволений лише за наявності сигналу . Повернення з режиму SMM здійснюється як програмно, так і за перериванням.