Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

Intel 8086

Матеріал з Вікіпедії — вільної енциклопедії.
Ця статтяне міститьпосилань на джерела. Ви можете допомогтиполіпшити цю статтю, додавши посилання нанадійні (авторитетні) джерела. Матеріал без джерел може бути піддано сумніву та вилучено.(лютий 2014)
Intel 8086
Роки виробництва:з 1978 по1990-ті роки
Розробник:Intel Редагувати інформацію у Вікіданих
Виробник(и):Intel Редагувати інформацію у Вікіданих
Макс.частотаCPU:5 MHz – 10 MHz
Техпроцес:3мкм
Набір команд:x86-16
Попередник:(8080)
Наступник:80186
Корпус(и):
Варіант(и):8088

Intel 8086 (також відомий якiAPX86,i86) — перший16-бітниймікропроцесор компаніїIntel, що розроблявся з весни1976 року і був випущений8 червня1978.[1][2]Процесор мав набір команд, який застосовується і в сучасних процесорах, саме від нього бере свій початок відома на сьогодні архітектураx86.

Основними конкурентами мікропроцесора i8086 булиMotorola 68000,Zilog Z8000, чипсети F-11 і J-11 сімействаPDP-11, MOS Technology 65C816. Деякою мірою, в галузі військових розробок, конкурентами були процесори-реалізаціїMIL-STD-1750A.

Аналогом мікропроцесора i8086 був процесорNEC V30 (на 5% продуктивніший за i8086 і при цьому повністю з ним сумісний). Радянським клоном був мікропроцесорК1810ВМ86, що входив в серію мікросхемК1810.

На базі процесору у 1978 року заснував лінійку чипів, яка включала 80286, 80386, 80486 та наступника 80486, легендарну серію Pentium. Найпомітнішим явищем зі спадщини 8086 є його архітектура набору інструкцій (instruction set architecture, ISA), яка підтримувалася та розширювалася протягом десятиліть. Intel також визнає його важливість: у 2018 році компанія відсвяткувала сорокову річницю 8086 випуском  процесора Core i7-8086K.[3]

Історія

[ред. |ред. код]

Попередники

[ред. |ред. код]

У1972 році Інтел випустила8008, перший 8-бітний мікропроцесор. Він мав набір інструкцій, розроблений корпорацієюDatapoint для програмованихкомп'ютерних терміналів, придатний і для універсальних процесорів. Цейпроцесор потребував декількох додатковихмікросхемінтерфейсу для використання в повноцінному комп'ютері, тому що мав маленький 18-піновий корпус від мікросхемDRAM, вироблених Інтел, і відповідно не міг мати окремушину адреси.

Через два роки,1974-го, було випущено8080, у новому, 40-піновомуDIP-корпусі, спочатку розробленому для мікросхем калькуляторів. Він мав окрему шину адреси і розширений набір інструкцій, сумісних із 8008 за літерними кодами (але не за двійковими кодами) , доповнений для зручності програмування декількома 16-бітними інструкціями. Процесор i8080 часто називають першим по-справжньому зручним і корисним мікропроцесором[джерело?]. У1977 році його заміненили на i8085, з однією напругою живлення (+5 В) замість трьох різних на попереднику і кількома іншими вдосконаленнями. Найвідомішими його конкурентами були 8-бітніMotorola 6800 (1974),Microchip PIC16X (1975),MOS Technology 6502 (1975),Zilog Z80 (1976), іMotorola 6809 (1978).

Intel 8086 CPU Die
Intel 8086 CPU Die

Розробка

[ред. |ред. код]

Проект 8086 розпочали в травні 1976 року, і спочатку він замислювався як тимчасова заміна для амбітного проекту iAPX 432, розвиток якого загальмувався. Це була спроба, з одного боку, протистояти 16-ти і 32-бітовим процесорам інших виробників (таких якMotorola,Zilog іNational Semiconductor), а з іншого — боротьби із загрозою від Zilog Z80 (розробленого командою під керівництвом Фредеріко Фаджін, котрий пішов з Інтел), що став дуже успішним. Перша версія архітектури 8086 (система команд, переривання, робота з пам'яттю і вводом/виводом) була розроблена з середини травня до середини серпня Стівеном Морзе. Потім команда розробників була збільшена до чотирьох чоловік, які представили два основних проектних документи — 8086 Architectural Specifications і 8086 Device Specifications. Під час розробки не застосовувалися спеціалізованіCAD-програми, а діаграми були виконані з текстових символів. Використовувалися вже випробувані елементи мікроархітектури і фізичної реалізації, в основному від i8085.

Microprocessors KR580VM80A (equivalent to i8080), 80H-CPU (equivalent to Z80), M5L8085AP (equivalent to i8085), KM1810VM86 (equivalent to i8086)
Microprocessors KR580VM80A (equivalent to i8080), 80H-CPU (equivalent to Z80), M5L8085AP (equivalent to i8085), KM1810VM86 (equivalent to i8086)

Опис

[ред. |ред. код]
Регістри процесора Intel 8086
Регістри загального призначення
 AHALAX (primary accumulator)
 BHBLBX (base, accumulator)
 CHCLCX (counter, accumulator)
 DHDLDX (accumulator, other functions)
Індексні регістри
0 0 0 0SISourceIndex
0 0 0 0DIDestinationIndex
0 0 0 0BPBasePointer
0 0 0 0SPStackPointer
Покажчик команд
0 0 0 0IPInstructionPointer
Сегментні регістри
CS0 0 0 0CodeSegment
DS0 0 0 0DataSegment
ES0 0 0 0ExtraSegment
SS0 0 0 0StackSegment
Регістр стану
 ----ODITSZ-A-P-CПрапори

Ринок 8-розрядних мікропроцесорів наприкінці1970-х був переповнений, і Intel полишила спроби закріпитися на ньому та випустила свій перший 16-бітний процесор. Процесор i8086 являє собою модернізований процесорi8080 і, хоча розробники не ставили перед собою мету досягти повної сумісності на програмному рівні, більшість програм, написаних для i8080, здатні виконуватися і на i8086 після перекомпіляції. Новий процесор мав багато змін, які дозволили значно (в 10 разів) збільшити продуктивність у порівнянні з попереднім поколінням процесорів компанії.

Регістри

[ред. |ред. код]

Всього в процесорі i8086 було 14 16-розряднихрегістрів:

  • 4 регістри загального призначення (AX, BX, CX, DX),
  • 2 індексні регістри (SI, DI),
  • 2 вказівні регістри (BP, SP),
  • 4 сегментні регістри (CS, SS, DS, ES),
  • програмний лічильник або показник команди (IP),
  • регістр прапорців (FLAGS, включає 9 прапорців).

При цьому загальні регістри (AX, BX, CX, DX) допускали окрему адресацію їх половин: молодшої (регістри AL, BL, CL, DL) і старшої (регістри AH, BH, CH, DH). Це зберігало сумісність зі старими програмами (щоправда, їх необхідно було, принаймні, перекомпілювати) й дозволяло використовувати не лише нове 16-розрядне ПЗ.

Шини

[ред. |ред. код]

Розміршини адреси було збільшено з 16 біт до 20, що дозволило адресувати 1 Мбайт (220 байт) пам'яті.Шина даних була 16-розрядною. Проте шина даних і шина адреси використовували одні й ті ж контакти на корпусі. Це призвело до того, що не можна одночасно подавати на системну шину і адреси, і дані.Мультиплексування адрес і даних у часі скоротило кількість контактів корпусу до 20, але уповільнювало швидкість передавання даних.

Робота з пам'яттю

[ред. |ред. код]

Для того, щоб адресувати більший обсяг пам'яті, ніж у і8080, треба було змінити спосіб адресації. Адже якщо використовувати старі методи, коли адреса комірки пам'яті містилася у регістрах, то довелося б збільшувати розмір самих регістрів, щоб мати можливість звертатися до більшого обсягу пам'яті. Тому для адресації 1 Мбайт пам'яті застосовували схему сегментування. Фізична адреса розміром 20 біт, яка подавалася на шину адресації, формувалася шляхом складання вмісту одного із сегментних регістрів (16 біт), помноженого на 24, із вмістом вказівного регістра: таким чином, адреса комірки пам'яті формувалася за номером сегмента й ефективною адресою комірки в сегменті (яка також називається зсувом). Якщо результат додавання виявлявся більшим ніж 220 -1, то 21-ий біт відкидався; така процедура називається «загортанням» адреси (англ.adress wraparound). Цей метод згодом (після появизахищеного режиму) назвалиреальним режимом адресації процесора, такий режим дозволяє адресувати до 1 Мбайт пам'яті.

Старші 4 біт адреси виводяться на окремі контакти корпусу, а молодші 16 виводяться на поєднану шину адреси-даних. Для того, щоб адресувати потрібний сегмент використовуються 16-бітові сегментні регістри, значення яких зсувається на 4 біта вгору і складається з вказівним 16-бітовим регістром. Отримане значення — 20 бітова адреса пам'яті або пристрою виводиться на контакти.

Таким чином, пам'ять розділяється на сегменти, розміром 64 Кбайт кожен і починаються з адреси, кратної 16 (межа параграфа); пам'ять в 1 Мбайт розділялася, таким чином, на 16 сегментів. Ці 16 сегментів називають сторінками пам'яті. У комп'ютері, подібному IBM PC, останні 6 сторінок (A, B, C, D, E, F) пам'яті (т. зв. верхня пам'ять —англ.upper memory) використовувалися для відеопам'яті і BIOS-а, це обмежувало пам'ять, доступну користувачеві, об'ємом в 640 Кбайт (т. зв. звичайна пам'ять —англ.conventional memory; сторінки 0~9).

На той час такий режим адресації забезпечував багато переваг: ємність пам'яті могла складати до 1 Мбайт, хоча команди оперували 16-бітовими адресами; спрощувалося використання окремих областей пам'яті для програми, її даних і стеку; спрощувалася розробка пристроїв, сумісних один з одним.

Система команд

[ред. |ред. код]

Система команд процесора i8086 складається з 98 команд (і більше 3800 їх варіацій): 19 команд передавання даних, 38 команд їх обробки, 24 команди переходу і 17 команд управління процесором. Можливі 7 режимів адресації. Мікропроцесор не мав команд для обробкичисел із рухомою комою. Ця можливість реалізовувалася окремою мікросхемою —математичним співпроцесором, який встановлювався на материнській платі. Співпроцесор не обов'язково мав бути Intel (модельi8087) — деякі виробники мікросхем, такі як Weitek, випускали продуктивніші співпроцесори.

Система команд процесора i8086 містить декілька потужних рядкових інструкцій. Якщо інструкція має префікс REP (повтор), то процесор виконуватиме операції з блоками — переміщення блоку даних, порівняння блоків даних, присвоєння певного значення блоку даних певної величини, і так далі, тобто, одна інструкція 8086 з префіксом REP може виконувати 4-5 інструкцій, що виконуються на деяких інших процесорах. Подібні прийоми були реалізовані й в інших процесорах-конкурентах — Zilog Z80 мав інструкції переміщення й пошуку блоків, а Motorola 68000 могла виконувати операції з блоками, використовуючи всього дві команди.

У мікропроцесорі i8086 була застосована примітивна формаконвеєра обробки команд. Блок інтерфейсу з шиною подавав потік команд до виконавчого пристрою через 6-байтову чергу. Таким чином, виконання однієї команди та завантаження наступних могло відбуватися одночасно. Це значно збільшувало пропускну спроможність процесора і позбавляло необхідності чекати зчитування команди з пам'яті при зайнятому іншими операціями інтерфейсі мікросхеми (у ті часи швидкість пам'яті значно випереджала швидкість цього процесора).

Периферійні пристрої

[ред. |ред. код]
Intel 8237Контролер прямого доступу до пам'яті
Intel 8251USART
Intel 8253Програмований інтервальний таймер
Intel 8255Програмований периферійний інтерфейс
Intel 8259Програмований контролер переривань
Intel 8279Контролер клавіатури/дисплея
Intel 8282/82838-bit latch
Intel 8284Тактовий генератор
Intel 8286/8287Двонаправлений 8-бітний драйвер
Intel 8288Контролер шини
Intel 8289Арбітр шини

Мікрокомп'ютери на основі і8086

[ред. |ред. код]

Мікропроцесор застосовувався вMycron 2000 — першому комерційному мікрокомп'ютері на базі i8086. На i8086 побудовано машину для обробки текстівIBM Displaywriter,Compaq DeskPro іWang Professional Computer.[4]

Однак застосування процесора i8086 уперсональних комп'ютерах було дуже обмеженим через дорожнечу (а подекуди й відсутність) спеціалізованих мікросхем, які були потрібні для збирання комп'ютера. До того ж мікросхеми динамічної оперативної пам'яті у 70-і роки мали 1-бітову організацію й для 8-бітової системи було потрібно 8 мікросхем пам'яті, а для 16-бітової — 16.

Це зрозуміли в Intel і для здешевлення й зменшення розмірівдрукованих плат комп'ютера, було вирішено розробити варіант процесора з 8-бітовою шиною даних, який був би повністю сумісним на програмному рівні. Ним став процесорIntel 8088, який компанія випустила 1979 року.

Технічні характеристики

[ред. |ред. код]
  • Дата анонсу: 8 червня 1978
  • Тактова частота (МГц): від 4 до 10
  • 5 (модель 8086), при частоті 4,77 продуктивність — 0,33 MIPS
  • 8 (модель 8086-2, 0,66 MIPS)
  • 10 (модель 8086-1, 0,75 MIPS)
  • Приблизні витрати часу на операції, процесорних циклів (EA — час, необхідний для розрахунку ефективного адреси пам'яті, яке варіюється від 5 до 12 циклів):
  1. Підведення підсумків: 3-4 (реєстр), (9-25) +ЕА - в операціях пам'яті
  2. Множення без знака: 70-118 (реєстрація), (76-139) +EA - в операціях пам'яті
  3. Множення ознак: 80-154 (реєстрація), (86–160) +ЕА – під час операцій пам’яті
  4. Підрозділ без знака: 80–162 (реєстр), (86–168) +ЕА – в операціях пам’яті
  5. Значний поділ: 101-184 (реєстрація), (107-1990) +ЕА - в операціях пам'яті
  6. Передача даних: 2 (між реєстрами), (8-14) +EA - в операціях пам'яті
  • Розрядністьрегістрів: 16 біт
  • Розрядністьшини даних: 16 біт
  • Розрядністьшини адреси: 20 біт
  • Обсяг пам'яті, що адресується: 1 Мбайт
  • Адресний простірвводу/виводу: 64 Кбайт
  • Кількість транзисторів: 29 000
  • Техпроцес (нм): 3000 (3 мкм)
  • Площа кристала (кв. мм): ~ 30 (за іншими даними, 16 мм ²)
  • Максимальне тепловиділення: 1,75 Вт
  • Напруга живлення: +5 В
  • Корпус: 40-контактний керамічний чи пластиковий DIP, пізніше — 56-контактний QFP і 44-контактний PLCC
  • Кількість інструкцій: 98
  • Черга команд: 6 байт[5]

Примітки

[ред. |ред. код]
  1. Microprocessor Hall of Fame. Intel.Архів оригіналу за 6 липня 2007. Процитовано 11 серпня 2007.
  2. Intel 8086 — процессор, открывший эпоху.Хабр(рос.). Архіворигіналу за 6 серпня 2025. Процитовано 6 серпня 2025.
  3. 46 років архітектурі x86 — чип Intel 8086 вийшов у 1978 році(укр.). 9 червня 2024. Процитовано 6 серпня 2025.
  4. 8086.Intel вики(рос.). Процитовано 6 серпня 2025.
  5. 8086.Intel вики(рос.). Архіворигіналу за 12 вересня 2024. Процитовано 6 серпня 2025.

Посилання

[ред. |ред. код]
Історичні
Орієнтовані наДДК (4-біт)
4004 • 4040
До x86 (8-біт)
8008 • 8080 • 8085
x86 (16 біт)
8086 • 8088 • 80186 • 80188 • 80286
8/16-біт шина даних8087;16-біт шина даних801878028780387SX;32-біт шина даних80387DX80487
x86/IA32 (32 біт)
80386 • 80486 • Pentium (Pro • II • III • 4 • M • Dual-Core) • Celeron (D • M) • Centrino • Core (Solo • Duo) • Xeon (PII • PIII • P4 • Core) • Quark
x86-64/EM64T (64 біт)
Pentium 4 (деякі) (D • EE • Dual-Core) • Celeron (D • Dual-Core • Intel Atom (SoC • CE) • Core (2 • Nehalem • Sandy Bridge • Ivy Bridge • Haswell • Broadwell • Skylake • Kaby Lake • Coffee Lake • Coffee Lake Refresh) • Xeon (Nehalem • Sandy Bridge • Ivy Bridge • Haswell • Broadwell • Skylake)
Інші
8048 • 8051 • MCS-96
Сучасні
Celeron • Pentium • Atom • Xeon • Core (Ice Lake • Tiger Lake • Alder Lake)
Списки
Мікроархітектури
x86/IA32 (32 біт)
P5 • P6 • NetBurst • Core • Nehalem • Westmere • Sandy Bridge • Ivy Bridge • Haswell • Broadwell • Skylake • Cannon Lake • Sunny Cove • Cypress Cove • Willow Cove • Golden Cove
x86-64/EM64T (64 біт)
x86 ULV
Отримано зhttps://uk.wikipedia.org/w/index.php?title=Intel_8086&oldid=45911207
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp