Глава I — Историческо развитие на 32- и 64-разрядните x86 микропроцесори на Intel
1. Ранното развитие: от 8086 до i386
Приемствеността в архитектурата на микропроцесорите на Intel започва от i8086 (1978) — 16-разреден МП, чиито инструкции съставят ядрото на системата команди на всички следващи поколения. В него е реализирана сегментация на паметта: ефективният адрес EA = [SR] + displ, където [SR] е 20-разреден базов адрес от сегментен регистър. Максимален размер на сегмент — 64 KB, максимална адресируема памет — 1 MB.
| Процесор | Год. | Разреди | Ключово нововъведение |
|---|---|---|---|
| i8086 | 1978 | 16 | Сегментация, 1 MB RAM |
| i286 | 1982 | 16 | Защитен режим, виртуална памет |
| i386 | 1985 | 32 | 32-разредни регистри, странициране, виртуален 8086 режим |
| i486 | 1989 | 32 | Вграден FPU и кеш, петстепенен конвейер |
| Pentium | 1993 | 32 | Суперскаларен (2 конвейера U+V), 64-разредна шина |
| Pentium Pro | 1995 | 32 | P6 фамилия, RISC ядро, out-of-order изпълнение |
i286 (1982)
Въведен е защитен режим, предоставящ:
- 4 привилегировани нива на изпълнение
- права за достъп до сегментите
- апаратно превключване на задачи
- виртуална памет чрез дескрипторни таблици
i386 (1985)
- Пълни 32-разредни вътрешни регистри с общо предназначение
- Въведено е странициране (4 KB страница) — допълнителен механизъм за виртуализация
- Виртуален 8086 режим — изпълнение на 8086 програми в защитена среда
- Разширена система команди с 32-разредни операнди
i486 (1989)
- Интегриран FPU (устройство за плаваща запетая) в кристала
- Вграден 8 KB кеш (L1)
- Петстепенен конвейер: IF → D1 → D2 → EX → WB
- Реализирано е пакетно предаване по външната шина
Pentium (1993)
- Първият частично суперскаларен процесор — два паралелни конвейера (U и V)
- 64-разредна външна шина при 32-разредна вътрешна архитектура
- Разделена кеш памет: 8 KB за инструкции + 8 KB за данни
- Динамично предсказване на преходи
- MESI протокол за съгласуваност на кеш паметите
- Вграден APIC контролер
2. Поколението P6 (Pentium Pro, Pentium II, Pentium III)
Pentium Pro (1995)
- RISC ядро: обикновените CISC инструкции се декодират вътрешно в последователност от тримодни RISC микрооперации (µops с формат:
op reg reg reg) - Изпълнение извън ред (out-of-order) чрез пул на инструкциите (ROB — Reorder Buffer)
- До 3 инструкции/такт; 5 паралелни изпълнителни устройства
- 256 KB кеш L2 в корпуса (на отделен кристал)
- 36-разреден физически адрес (PAE)
Pentium II (1997) и Pentium III (1999)
- Същата суперскаларна P6 микроархитектура като Pentium Pro
- Разширени с MMX инструкции (мултимедия)
- Pentium III добавя SSE (Streaming SIMD Extensions — 70 нови инструкции)
- Pentium II: директна двупроцесорна конфигурация; Pentium III: четирипроцесорна
3. Преходът към 64-битова архитектура
Проблемът с 32-битовото ограничение
32-разредните процесори могат да адресират максимум 4 GB физическа памет, което стана недостатъчно за сървърни приложения в края на 1990-те.
AMD64 / x86-64 (2003)
- AMD публикува спецификация за 64-разредно разширение на x86 архитектурата (1999, пуснато 2003)
- Наречено AMD64 (известно също като x86-64)
- Първи процесори: AMD Opteron (сървъри) и AMD Athlon 64 (настолни, 2003)
- Разширява регистрите до 64 бита, добавя 8 нови регистри (RAX–R15)
- Физическо адресно пространство: до 52 бита (252 = 4 PB)
- Виртуално адресно пространство: 48-битово (256 TB)
Intel EM64T → Intel 64 (2004–2006)
- Intel първоначално залага на IA-64 (Itanium) — напълно нова, несъвместима 64-битова архитектура
- Поради търговския успех на AMD64 и слабия прием на IA-64, Intel разработва собствена реализация
- Първи процесор с Intel 64: Xeon „Nocona” (юни 2004)
- Първоначално Intel използва имената: „IA-32e”, после „EM64T” (Extended Memory 64 Technology)
- От края на 2006 г. — окончателно преименуване на Intel 64
Ключови характеристики на Intel 64 / AMD64
- 16 регистра с общо предназначение по 64 бита (RAX, RBX, RCX, RDX, RSI, RDI, RSP, RBP, R8–R15)
- 64-битов указател на инструкции (RIP)
- REX префикс за кодиране на новите регистри
- SSE2 задължително за всички x86-64 реализации
- Страниране на 4 нива (PML4) за 48-битов виртуален адрес
Резюме за изпита
Ключови точки:
- i286 въвежда защитен режим; i386 добавя 32-разредност и странициране
- P6 (Pentium Pro/II/III) e първата фамилия с RISC ядро и out-of-order изпълнение
- AMD разработва x86-64 (2003); Intel го приема като EM64T/Intel 64 (2004/2006)
- Intel 64 разширява архитектурата до 64-битови регистри, 16 РОП и 4-нивово странициране
Източници:
- x86-64 — Wikipedia
- Timeline: A brief history of the x86 microprocessor — Computerworld
- List of Intel CPU microarchitectures — Wikipedia
- Рускова Н. Микропроцесорни системи. ТУ-Варна, 1999 (OCR на ръководството за лаб. упражнения)