МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
«ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра:
Автоматизовані системи управління
КУРСОВА РОБОТА
з курсу «Архітектура комп’ютерів»
на тему: Intel 8086(аналог К1810ВМ86).Системна і функціональна організація процесора
Львів 2011
Розробка і історія
Ринок 8-розрядних мікропроцесорів в кінці 1970-х був переповнений, і Intel робить спроби на ньому закріпитися і випускає свій перший 16-бітний процесор. Процесор i8086 являє собою модернізований процесор i8080 і, хоча, розробники не ставили перед собою мету досягти повної сумісності на програмному рівні, більшість програм написаних для i8080 здатні виконуватися і на i8086 після перекомпіляції. Новий процесор несе в собі безліч змін, які дозволили значно (в 10 разів) збільшити продуктивність у порівнянні з попереднім поколінням процесорів компанії.
Проект 8086 був розпочатий в травні 1976 року, і спочатку задумувався як тимчасова заміна для амбітного проекту iAPX 432, розвиток якого загальмувався (також відомого як 8800). Це була спроба, з одного боку, протистояти 16-ти і 32-бітовим процесорам інших виробників (таких як Motorola, Zilog і National Semiconductor), а з іншого - боротьби із загрозою від Zilog Z80 (розробленого командою під керівництвом Фредеріко Фаджін, котрий пішов з Інтел ), що став дуже успішним. Перша версія архітектури 8086 (система команд, переривання, робота з пам'яттю і вводом/виводом) була розроблена з середини травня до середини серпня Стівеном Морзе. Потім команда розробників була збільшена до чотирьох чоловік, які представили два основних проектних документи - 8086 Architectural Specifications і 8086 Device Specifications. При розробці не використовувалося спеціалізованих CAD-програм, а діаграми були виконані з текстових символів. Використовувалися вже випробувані елементи мікроархітектури і фізичної реалізації, в основному від i8085.
Intel 8086 (також відомий як iAPX86) - перший 16-бітний мікропроцесор компанії Intel, що розроблявся з весни 1976 року і випущений 8 червня 1978. Процесор мав набір команд, який застосовується і в сучасних процесорах, саме від цього процесора бере свій початок відома на сьогодні архітектура x86.
Основними конкурентами мікропроцесора i8086 були Motorola 68000, Zilog Z8000, чіпсети F-11 і J-11 сімейства PDP-11, MOS Technology 65C816. В деякій мірі, в області військових розробок, конкурентами були процесори-реалізації MIL-STD-1750A.
Технічні характеристики
Дата анонсу: 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 циклів):
+ Підсумовування: 3-4 (реєстрові), 9 + EA - 25 + EA - при операціях з пам'яттю + Множення: 70-118 (реєстрові), 76 + EA - 143 + EA - при операціях з пам'яттю + Переміщення даних: 2 (між регістрами), 8 + EA - 14 + EA - при операціях з пам'яттю
Розрядність регістрів: 16 біт
Розрядність шини даних: 16 біт
Розрядність шини адреси: 20 біт
Обсяг пам'яті, що адресується: 1 Мбайт
Адресний простір I / O: 64 Кбайт
Кількість транзисторів: 29 000
Техпроцес (нм): 3000 (3 мкм)
Площа кристала (кв. мм): ~ 30 (за іншими даними, 16 мм ²)
Максимальна тепловиділення: 1,75 Вт
Напруга живлення: +5 В
Роз'єм: немає (мікросхема припаюється до плати)
Корпус: 40-контактний керамічний чи пластиковий DIP, пізніше - 56-контактний QFP і 44-контактний PLCC
Підтримувані технології: 98 інструкцій
Обсяг черги команд: 6 байт
Інформація розробникаЯкими б не були розглянуті мікропроцесори, інформація що стосується їх міститьбагато спільного. Типова документація містить інформацію про структуру ІС, схемою контактів ІС і призначення кожного з них. Схематизується архітектура МП, описуються його основні властивості .Одночасно даються тимчасові діаграми і склад команд МП. Документація містить також схеми різних систем, що використовують даний мікропроцесор .Зазвичай мікропроцесор поміщається в корпус інтегральної схеми з 40 двосторонніми контактами.(Корпус з дворядною упаковкою виводів DIP - dual-in-line package). На рис. 5.1 наведено два типи мікропроцесорів - в пластмасовому корпусі (рис. 5.1, а) і в керамічному (рис. 5.1,6) з 40 контактами .Мікропроцесор в керамічному DIP-корпусі використовується при високих температурах. Мікропроцесори можуть поставлятися також з 28, -42, 50 і 64 контактами .
На рис. 5.1,в і г наведено два способи визначення положення контакту 1. Зауважимо виріз іжолобок по всій довжині, є відмітками на пластмасовому корпусі (рис. 5.1, в). Безпосередньопісля цієї позначки в напрямку, зворотному ходу годинникової стрілки, знаходиться контакт /ІС. На рис. 5.1, г відміткою, що дозволяє визначити контакт 1 ІС, є маленька точка зліва. Потім контакти нумеруються в напрямку, зворотному ходу годинникової стрілки при вигляді на ІС зверху.
Схема виводів (рис. 5.2) наводиться в документації. Розробники представляють всі відомості про виводи і призначення кожного з виводів мікропроцесора. Схема на рис. 5.2 відповідаємікропроцесору Intel 8080. Зазначимо, що виводи 2, 11, 20, 28 є виводами живлення.Виводи 15, 22 (Ф1, Ф2) є входами зовнішнього двофазного генератора тактових імпульсів- годин. Виводи 3-10 (Intel 8080) двонаправлені (це означає, що вони є то входами, товиходами). Ці виводи даних (D0-D7) є вісьмома приєднаннями на шину даних системи.Адресна 16-розрядна шина системи буде пов'язана виходами Л0-Л15. Шість інших виходів (SYNC,DBIN, WAIT, WR, HID A, INTE) несуть сигнали керування і синхронізації всім іншим елементамсистеми. Нарешті, чотири входи (READY, HOLD, INT, RESET) є входами управління, якісприймають інформацію, що надходить із системи. На рис. 3.2 приведена вся інформація по кожному виводу мікропроцесора Intel 8080.
Типова документація міститьтакож структурну схему мікропроцесора.
На рис. 5.3, а представлена функціональна схема МП Intel 8080, яка містить внутрішні регістри - акумулятор, пари регістрів В і С, D і Е, Н і L, вказівник стека SP (Stack Pointer (англ.) - вказівник стека), регістр стану (індикатор), кілька регістрів тимчасового зберігання даних. Ця схема містить такожрегістр команд, дешифратор команд, а також пристрій керування і синхронізації. Нарешті, вона містить також АЛУ, його об'єднаний індикато і блок десяткового коректора. Усі вісім ліній даних, так само як і 16-розрядні адресні виходи, забезпечені буферами. Мікропроцесор Intel 8080містить також декілька внутрішніх ліній управління, ланцюгів даних і шини.
На рис. 5.3,б представлені використовувані програмістом регістри МП
Intel 8080. Зазначимо, що основним є регістр А чи акумулятор. Регістри В і С, D і Е, Н і L є універсальними. Покажчик стека, лічильник команд і індикатор стану є спеціальними регістрами. Пара регістрів HL може бути використана також як адресний регістр.Документація містить розроблені тимчасові діаграми,які показують співвідношення між входами тактових імпульсів і іншими зовнішніми сигналами (синхронізації, записи, адресних виходів, ВВ даних і т. д.) і внутрішніми операціями. Розробник дає також вказівки про спосіб, за яким мікропроцесор використовується у випадку мінімальної системи .Така система, заснована на МПIntel 8080, могла б містити мікропроцесор, генератор тактових імпульсів, пристрій управління системою, ПЗУ, ОЗУ і інтерфейс портів ВВ. Документація містить докладну інформацію про систему команд.
Схема і призначення виводів.Мікропроцесор укладений в DIP-корпус з 40 дворядними виводами. Ця ИС живитьсянапругою 5 В по виводам 1 і 2.Виводи Х1і Х2 зверху справа призначені для під'єднаннякристала управління частотою ГТИ МП. Для найбільш поширених пристроїв характерна наявність ГТВ на кристалі МП, тоді як для старіших пристроїв був необхідний зовнішній ГТВ. Вихід CLK(Вивід 38) призначений для видачі сигналів ГТВ в систему. Частота сигналу на вивід 38 (CLK), очевидно, підпорядкована частотою внутрішнього ГТВ.Адресна шина системи буде приєднана до виводів ИС Ао-Ахь (рис. 3.4). Ці 16 адреснихліній (може бути й інша кількість) можуть забезпечити доступ до 65 536 комірок пам'яті або / і портів ВВ.Потік даних і команд від мікропроцесора і в нього забезпечується виводами Do-D7на ІС рис.5.4. Ці виводи (21-28) двонаправлені, тобто є то виходами, то входами. Крім того, зазвичайвони можуть перекладатися в третій стан (високого опору).Вивід 30 є виходом управління записом. Сигнал L-рівня на виході WR вказує, щодані, наявні на шині даних, повинні бути записані в область пам'яті або вибраного УВВ. Вихідуправління зчитуванням RD (вивідк 31) активізується L-сигналом, який вказує, що обрані місця в пам'яті або УВВ повинні бути зчитані.
Результатом активізації входу скидання є зупинка роботи МП за поточною програмою і перехід до підпрограми скидання. Сигнал L-рівня на вході RESET МП скидає лічильник команд до заздалегідь визначеного адреси, наприклад 0000Н. Інші внутрішні регістри МП можуть бути також скинуті або їх вміст змінюється протягом операції скидання. Коли вхід RESET переходить в стан HIGH, МП починає виконання команд з нової адреси пам'яті, тобто з адреси 0000Н в даному випадку (або з іншого заздалегідь визначеного адреси пам'яті).Ця адреса відповідає початку підпрограми нової ініціалізації системи, що міститься зазвичай в ПЗУ.Більшість мікропроцесорів знаходяться у фазі з ГТИ, отже, вони єсинхронними. Вхід RESET МП асинхронний і може втрутитися та призупинити наполовину виконану команду. Вхід вимоги переривання поміщений на висновок 35. Вхід WTR відповідає на Н-сигнал зовнішнього пристрою. Припустимо, що пристрій інтерфейсу введення на рис. 3.5 загружено 8 біт паралельних даних, готових для передачі в МП: процес може бути продовжений в порядку, показаному на рис. 5.5.
1. Інтерфейс введення видає сигнал вимоги переривання в напрямку МП. 2. Мікропроцесор завершує виконання поточної команди, що знаходиться в пам'яті за адресою 2006Н.3. Оскільки управління має забезпечити подальше звернення до команди за адресою 2007Н, вміст лічильника команд (саме 2007Н) і вміст більшості регістрів МП поміщається в спеціальну зону ОЗУ, звану стеком. Цей вміст буде пізніше виведено в певному порядку в регістри МП і в лічильник команд.4. МП розгалужується в зумовлену адресу пам'яті і починає виконання підпрограми обслуговування переривання (у нашому прикладі 20DOH). Мікропроцесор виконує тоді команди підпрограми, які завжди в нашому прикладі забезпечують виконання операцій введення. За адресою 20DEH МП знаходить кінець цієї підпрограми обслуговування і отримує наказ повернутися в основну програму.5. Перед поверненням в основну програму дані регістрів і лічильник команд, поміщені в стек, повертаються в МП.6. Тепер лічильник команд відсилає МП в пам'ять за адресою 2007Н, тобто в основну програму, і нормальне виконання її триває.Переривання є дуже корисним способом, що дозволяє периферії втрутитися і змусити МП виконувати потрібну операцію майже відразу. Багато мікропроцесори володіють одним або декількома перериваннями. Входи переривання можуть бути названі також скидами, новим запуском,масковані перериваннями або сітками.
Архітектура мікропроцесора Intel 8086Практично всі мікропроцесори містять принаймні такі елементи: АЛУ;кілька регістрів; лічильник команд; систему декодування команд; секцію управління ісинхронізації; буфери і засувки; внутрішні шини ланцюгів управління; кілька входів і виходівуправління.Крім того, кристал мікропроцесора може також містити функціональні пристрої: ПЗУ;ОЗУ; ряд портів ВВ; внутрішні ланцюга ГТВ - годин; програмований таймер; систему вибору пріоритету переривань; логіку інтерфейсу послідовно-паралельних взаємодій при ВР; логічнеуправління прямим доступом до пам'яті.Мікропроцесор має вісім двонаправлених зв'язківв з шиною даних, за якими вонививодяться на внутрішню шину. Зліва від МП показані 16 виходів на адресну шину з буфера-ми / засувками на внутрішній адресної шині. Виходи управління показані внизу зліва; це лінії записи,читання і ГТВ. Внизу праворуч від МП приймаються два сигнали по лініях скидання і вимоги переривання. У нашого МП є внутрішня ланцюг ПІ, і йому потрібен лише один зовнішній кристал (або в деяких випадках - одна ємність) для запуску МП. Нарешті, цей мікропроцесор живиться від єдиного джерела напругою +5 В.
Регістр команд: цей пристрій є 8-розрядним регістром і містить перший байт команди (Її КОП).Дешифратор команд: це пристрій інтерпретує (декодує) вміст регістра команд,визначає мікропрограму для виконання потрібної зі всієї безлічі команд і послідовно вводить в дію секцію управління. Арифметико-логічний пристрій (АЛП): це пристрій виконує операціїарифметичні, логічні і зсуву, в результаті яких встановлює регістр стану (індикатори).Результати поміщаються в акумулятор, пов'язаний з внутрішньою шиною. Часто внутрішні регістри і акумулятор розглядаються як частина АЛУ. Умови індикатора передаються в пристрій керування і синхронізації.Акумулятор: цей пристрій є універсальним 8-розрядним регістром, деконцентрується більшість результатів виконання команд - арифметичних, логічних, завантаження,запам'ятовування результату, введення / виводу.Лічильник команд: цей пристрій є різновидом 16-розрядної пам'яті, якепостійно вказує на наступну виконувану команду. Воно завжди містить 16-розрядний адресу.Лічильник може бути інкрементований або скинутий пристроєм управління або змінений командою передачі даних.Пристрій керування та синхронізації: цей пристрій отримує сигнали дешифратора команд для визначення природи виконуваної команди. Воно отримує також інформацію від регістра стану в випадку умовного переходу. Сигнали управління і синхронізації передаються у всі пристрої системи для координації виконання команд, і, нарешті, воно виробляє сигнали управління зовнішніми пристроями (ОЗУ, ПЗУ, УВВ і т. д.).Регістр стану: елементарний мікропроцесор на рис. 5.6 містить у своєму регістрі стану індикатори тільки нуля і перенесення.Нові додаткові пристрої цього мікропроцесора містять внутрішній ГТВ, систему управління переривань, покажчик стека і універсальний регістр даних / адреси.Пристрій управління переривань приймає сигнал переривання з зовнішнього пристрою через вхід 1NTR. Таким чином, МП галузиться в підпрограму обслуговування переривань, яка відповідає на вимога переривання, і після закінчення її МП повертається в основну програму.Покажчик стека подібний лічильнику команд в тому сенсі, що в ньому міститься адресу, яку він інкрементується або декрементується, він може бути також завантажений новою адресою. Ємність покажчикастека становить 16 біт, тобто він може посилати адреса по 16 лініях.Регістр даних / адреси складається з двох 8-розрядних регістрів, які можуть бути виконано разом або окремо, вони позначені Н і L відповідно старшому (HIGH) і молодшого (LOW) байтам. Коли ці два регістри використовуються разом, ми звертаємося до пари HL. Регістри Н і L є універсальними подібно акумулятору в тому сенсі, що вони можуть бути інкрементовані,декрементовані, завантажені даними і служити джерелом даних. Пара HL може служити також адресним регістром і зберігати адресу призначення в ході розміщення даних в пам'яті або адресою джерела в ході завантаження акумулятора. Деякі мікропроцесори мають спеціальним регістром - лічильником даних, який вказує на елемент пам'яті (він використовується подібно парі регістрів HL нашого МП).
Будова мікропроцесорної мікросхеми КР580ВМ80
Характеристики та сигнали
Ця мікросхема – це функціонально закінчений процесор, виконаний на одному кришталикові, з мікропроцесорним керуванням. Структурна схема і внутрішня будова МП показана на рис.1
Рис.1 Схема організації мікропроцесора.
Такий МП реалізований як окрема велика інтегральна схема і має фіксовані розрядності та системі команд. До складу МП входять такі функціональні блоки і пирстрої: блок реєстрів, арифметико-логічний блок і пристрій керування.
Блок реєстрів – це вісім однобайтових реєстрів загального пирзначення W, Z, B, C, D, E, H, L (перші два програмно недоступні), які можуть утворювати 16-розрядні реєстрові пари BC, DE, HL; 16-розрядний реєстр-вказівник стека SP, який зберігає адресу верхнього елемента стекової пам’яті; РЛ –реєстр-лічильник команд, який зберігає 16-розрядну адресу чергової команди, його вміст автоматично збільшується на одиницю після вибору чергового байта команди; РА – реєстр адреси, в якому протягом одного машинного циклу зберігається адреса команди чи операнда.
Арифметично-логічний блок забезпечує виконання арифметичних і логічних операцій, операцій зсування і десяткової корекції над однобайтовими двійковими числами. До йог складу входять арифметико – логічний пирстрій АЛП, десятковий коректор ДК, акумулятор А і буферні реєстри БФР. Основою АЛП є двійковий суматор комбінаційного типу, який не має пам’яті і результати операції передає в акумулятор, в якому до операції знаходився один з операндів. Десятковий коректор ДК за спеціальною програмою здійснює десяткову корекцію результату – перетворює двійковий результат у двійково-десятковий код. Реєст ознак у своїх розрядах зберігає ознаки (0 чи 1) результатів операцій.
Дешифратор команд ДШК дешифрує код команди, який знаходиться в реєстрі команд РК, і на підставі цього пирстрій керування виробляє сигнали керування реалізацію цієї команди. Пристрій керування з’єднаний з усіма вузлами мікропроцесора і зовнішніми блоками спеціальними лініями, які утворюють так звану шину керування (ШК).
Передавання інформації між окремими пирстроями в середині МП, а також між МП і зовнішніми пристроями (оперативною пам’яттю, пирстроями введення/виведення) здійснюють через 8-розрядну шину даних (ШД).
На рис.2 позначено загальну будову МП К580ВМ80.
Рис.2
Розглянемо призначення виводів та сигналів, які по них передаються А0 ... А15 – виводи ША для передавання двобайтових адресів. D0 … D7 – виводи ШД, по яких передаються дані пир обміні МП і ОП, коди команд (побайтно) і деякі сигнали керування.
МП має 12 виводів для сигналів керування; з них 6 вхідних сигналів, які надходять в МП від зовнішніх пристроїв та ПВВ, і 6 вихідних, які виробляє МП. Це такі виводи:
READY (ГТ) готовність, вказує на готовність ОП чи ПВВ до обміну даними, синхронізуючи так роботу МП і ПВВ. Якщо цього сигналу немає, то МП переходить в стан очікування, про що повідомляє сигналом WAIT;
WAIT (ОЧК) – очікування, сигнал виробляє МП на підтвердження того, що він знаходиться в стані «ОЧІКУВАННЯ»;
HOLD (ЗХП) – захоплення, сигнал під ПВВ для захоплення шин;
HLDA (П ЗХП) – підтвердження захоплення, сигнал-відповідь МП на сигнал HOLD, магістраль МП знаходиться у високоїмпедансному стані;
DBIN (ПРМ) – приймання, видає МП про готовність приймати дані ззовні;
INT (ЗП ПЕР) – запит на переривання роботи основної програми від ПВВ;
INTE (Д ПЕР) – дозвіл переривання, видає МП про те, що переходить до переривання;
WR (ВДЧ) – видача, МП видає цей сигнал на підтвердження того, що інформація видана на ШД для її записування в пам’ять чи передавання в ПВВ. Сигнал вважається активним при нульовому логічному рівні на виході WR;
SYNC (СИНХ) – синхронізація, сигнал вказує на початок кожного машинного циклу;
RESET (СКД) – вхідний сигнал на встановлення початкового стану внутрішніх вузлів мікропроцесора (лічильник команд обнуллюється), але вміст реєстрів ознак і загального призначення не змінюється;
F1,F2 (Ф1,Ф2) – тактові імпульси від генератора тактових імпульсів (ГТ1), які синхронізують роботі МП.
Будова модуля ПЗП
Модуль ПЗП складається із 16-ти мікросхем типу КР568 ємністю, кожна по 16384 біт. Загальний вигляд мікросхеми подано нижче:
Рис. 3
Призначення виводів:
А0-А10 – адресні входи;
СS, WR/RD – входи керування;
D0-D7 – входи, виходи даних.
Загальний вигляд спроектованого модуля ПЗП подано у додатку.
Будова модуля ОЗП
Модуль ОЗП складається з 16-ти мікросхем статичного типу КР132РУ6 ємністю кожна по 16384біт. Загальний вигляд мікросхеми подано нижче:
Рис. 4
Загальна характеристика мікросхеми:
Інформаційна ємність 16384 біт.
Організація …………..16384 слів×1 розряд
Напруга живлення …..5 В ± 10%
Вихід - три стани.
А0-А14 – адресні входи.
DI – вхід даних.
D0 – вихід даних.
CS – вибір мікросхеми.
WR/RD – сигнал запис – зчитування.