среда, 16 января 2013 г.

Мікропроцесор Intel 8080

       Мікропроцесор Intel 8080 - 8-бітний мікропроцесор, випущений компанією Intel в квітні 1974 року. Представляє собою подальший технічний розвиток процесора Intel 8008. За твердженням самої фірми Intel, цей процесор забезпечував десятикратний приріст продуктивності в порівнянні з  Intel 8008.


Технічні характеристики
·  Тактова частота: 8080/8080A 2 МГц, 8080A-1 2,67 МГц та 8080A-2 3,125 МГц
·  Розрядність регістрів: 8 біт
·  Розрядність шини даних: 8 біт
·  Розрядність шини адреси: 16 біт
·  Обсяг адресується пам'яті: 64 Кбайт
·  Кількість транзисторів: 4500
·  Техпроцес (нм): 6000 (6 мкм)
·  Необхідні джерела живлення: +5 В, -5В, +12 В
·  Роз'єм: мікросхема припаювати до плати
·  Корпус: 40-контактний DIP
·  80 інструкцій 


     Мікропроцесор має внутрішню шину даних, за допомогою якої відбувається обмін інформацією між внутрішніми регістрами, арифметико-логічним пристроєм, що обробляють 8-розрядні дані та передає їх через буфер на зовнішню шину даних. Крім того, до складу 8080 входить пристрій управління, буфер адресної шини, пов'язаний з регістром команд і блок регістрів. У загальних рисах робота мікропроцесора виглядає наступним чином: у регістрі, званому програмним лічильником, зберігається адреса наступної команди, яку необхідно виконати. Пристрій керування підключає цей регістр до шини адреси (звичайно, через буфер) і видає керуючі сигнали, необхідні для читання коду команди з пам'яті. На цьому завершується перший такт.
     У наступному такті мікропроцесор перевіряє стан сигналів на вході готовності і запит зупину. При їх наявності мікропроцесор переходить у відповідний стан. В іншому випадку, після появи на шині керування сигналів, що підтверджують видачу коду команди на шину даних, пристрій управління підключає до неї регістр команди і записує в неї отриманий код. Це потрібно тому, що команда передається тільки в першому машинному циклі, а зберегти її потрібно на весь час виконання команди. З регістра команди її код надходить в дешифратор команди і потім в пристрій керування, яке в залежності від надійшла команди або відразу переходить до її виконання, або зчитує дані або адресу, розташовані відразу після коду команди і необхідні для її виконання. На це витрачається третій такт і, якщо це необхідно, четвертий і п'ятий такти. Таким чином, вся команда виконується за 3-5 тактів. При тактовій частоті 2 МГц це становить 1,5-2,5 мкс.
     Перед виконанням команди перевіряється стан сигналу на вході захоплення шини HLD (цей сигнал відключає мікропроцесор від шини, даючи зовнішніх пристроїв можливість прямого доступу в пам'ять по загальній шині). При його виявленні мікропроцесор переходить у стан захоплення і виробляє сигнал підтвердження захоплення шини. Після зняття сигналу HLD процесор продовжує виконання команди. Наприкінці машинного циклу знову аналізується стан входу захоплення, а потім перевіряється, чи завершено виконання команди. Якщо ні, то мікропроцесор переходить до виконання наступного циклу команди. Це може бути цикл роботи з оперативною пам'яттю чи з зовнішнім пристроєм.
     Після виконання кожної команди перевіряється стан входу запиту переривання. Якщо цей сигнал присутній, то поточна програма призупиняється і на шину даних видається сигнал "підтвердження переривання". Потім зовнішній контролер переривань передає по шині даних команду і адреса переходу до підпрограми обробки переривання. По закінченні обробки переривання відбувається повернення до виконання перерваної програми.
     Сигнал готовності дозволяє синхронізувати роботу мікропроцесора з роботою більш повільних пристроїв, і, крім того, використовується для покрокового виконання програм.
     Наступним важливим вузлом мікропроцесора є блок регістрів. Він включає в себе 16-розрядний регістр для тимчасового зберігання даних WZ, шість 8-розрядних регістрів загального призначення B, C, D, E, H, L, які можуть використовуватися парами в якості 16-розрядних - БК, DE, HL (це зроблено насамперед для зручної роботи з адресами). Крім того, блок регістрів містить 16-розрядний регістр адреси команди IP (програмний лічильник), 16-розрядний регістр покажчика стека SP, а також 16-розрядну схему инкремента-декремента. За допомогою останньої змінюється, наприклад, стан програмного лічильника після виконання кожної наступної команди.
   Ще один важливий вузол - регістр результату (акумулятор), пов'язаний з АЛУ і використовуваний для зберігання одного з вихідних операндів або результату виконання команди.
     Останній регістр - це регістр прапорців. У ньому записаний байт, кожний біт якого містить інформацію про результат виконання останньої команди.


 
    
    Процесор випускався не тільки фірмою Intel , але и багатьма другими National Semiconductor, NEC,Samsung, Telsa, Texas Instruments, СРСР КР580ИК80A. Процесор, хоча і був збудований на архітектурі Intel 8008, але був вдосконалений від свого попередника, завдяки яким і отримав велику популярність. В новому процесорі була розвинута система команд — 16 команд передачі даних, 31 команда  для  їх  оброблення, 28 команд для переходу (з прямою адресацією), 5 команд управління. В мікропроцесорі Intel 8080 не було команд множення. Процесор, завдяки присутності 16-розрядної адресної шини, міг адресувати 64 Кбайт пам'яті, яка тепер не поділялась на пам'ять команд і даних. Хоча процесор і був  8-розрядним  і  містив  сім  8-бітних регістрів  (A, B, C, D, E, H, L),  але  міг опрацьовувати і 16-розрядні числа, для цього об'єднувались деякі пари регістрів (BC, DE, HL). В новому процесорі використовувався стек зовнішньої пам'яті (в Intel 8008 стек був внутрішнім).
Структурна схема Intel 8080


    МП має внутрішню двунаправленную магістраль, розв'язану від зовнішньої магістралі даних D двонапрямленим буфером з трьома станами. Обробку інформації виконує арифметико-логічний пристрій (АЛП) з допоміжними елементами: регістром-акумулятором А, буферними регістрами БР1 і БР2, регістром ознак РО і схемою десяткової корекції. Важливе значення має блок регістрів загального призначення (РЗП), в який входять 8-розрядні регістри W, Z, В, С, D, Е, Н, L, 16-розрядний покажчик стека (ПС) і програмний лічильник (ПЛ) , а також регістр адреси (РА) і схема приросту (СхП). Робота з регістрами підтримується мультиплексором (МПЛ), схемою вибору регістра (СВР) і буфером адреси, які виходять на 16-розрядну шину адреси А і мають три стани. Взаємодія всіх вузлів мікропроцесора організовує пристрій керування і синхронізації (ПКіС).


МП працює під керуванням програми, яка складається з окремих команд.
8-розрядний код команди надходить на регістр команд (РК), дешифрується дешифратором команд (ДшК) і визначає роботу пристрою керування і синхронізації, який синхронізує взаємодію всіх інших вузлів мікропроцесора. На ПКіС надходять 4 зовнішніх керуючих сигналу:
RESET (СКИДАННЯ, початкова установка), READY (ГОТОВНІСТЬ пам'яті або порту вводу-виводу до обміну інформацією з МП), INТ (запит на переривання) і НОLD (запит на захоплення шини). Входи Ф1 і Ф2 – це входи імпульсів синхронізації – двох фаз. З пристрою керування на зовнішні контакти подається 6 сигналів: SYNС (Синхр, який визначає, що на шину, D МП видав байт стану), WАІТ (Чекання означає, що МП знаходиться в стані очікування сигналу READY), INТе (дозвіл переривань), НLDА (підтвердження захвату), DBIN (ЧИТАННЯ – означає, що буфер даних включений на прийом інформації з шини D в МП), WR (ЗАПИС, який вказує, що МП видає інформацію на шину D).


Функціонування мікропроцесора полягає в постійному виконанні команд. Виконавши одну команду, МП вибирає з пам'яті другу, виконавши другу, вибирає третю, виконує її і т. д. Таким чином, обробка кожної команди складається з двох етапів: етап вибірки і етап виконання. Порушення цього процесу відбувається лише у разі переривання, а також у станах очікування, зупинки та захоплення, в яких може знаходиться МП. Команди програми знаходяться в пам'яті, надходять в МП по шині даних і запам'ятовуються в регістрі команд.

Виконання будь-якої команди в МП КР580ВМ80 складається з циклів. Залежно від складності команди для її виконання потрібно від 1 до 5 циклів: М1 – М5. Перший цикл М1 для будь-якої команди відповідає етапу вибірки і називається цикл вибірки. Кожен цикл триває від З до 5 тактів, що позначаються Т1 – Т5. Такти Т1, Т2, Т3 присутні в кожному циклі, такти Т4, Т5 – в деяких циклах.



У такті Т1 МП видає на шину А адресу пам'яті, а на шину D – байт стану, який супроводжується сигналом SYNС. Байт стану являє собою набір сигналів, які характеризують стан МП у поточному циклі і спільно з сигналами DBIN, WR використовується для керування блоками мікроЕВМ.
У другому такті Т2 МП аналізує вхід READY. Якщо вхід в пасивному стані (напруга високого рівня), то МП перейде в додатковий такт , який буде тривати до появи активного рівня READY, після чого МП переходить до такту Т3, в якому виконується обмін по шині D. В циклі читання відбувається передача інформації в процесор, яка супроводжується сигналом DBIN . У циклі запису дані видаються з МП і супроводжуються сигналом WR (лог.0).
 Цикл читання показаний з появою і очікуванням готовності, цикл запису – на випадок обміну з швидкодіючою пам'яттю, коли очікування готовності відсутня.
Цикл читання

Цикл запису


До програмно-доступних засобів ОМП КР580ВМ80 відносяться внутрішні 8-розрядні регістри МП: А, В, С, D, Е, Н, L. Регістр-акумулятор А відіграє особливу роль: в більшості команд, що реалізують двомісні операції, один з операндів знаходиться в акумуляторі; результат також завжди поміщається в акумулятор. Регістри В, С, D, Е, Н, L (РЗП) використовуються для зберігання проміжних результатів, констант, адрес даних та ін. Вони можуть також використовуватися як 16-розрядні реєстрові пари: В, С – пара В; D, Е – пара D; Н, L – пара Н. Пара Н, L зазвичай використовується для зберігання адреси пам'яті, в цьому випадку в команді немає необхідності явно вказувати адресу даних, а пара Н, L називається регістром непрямої адреси. Вміст будь-якого регістра можна переслати в інший, записати в пам'ять, завантажити
з пам'яті, використовувати як операнд в арифметичних і логічних операціях.
 До програмно-доступних засобів належить також 16-розрядний програмний лічильник (ПЛ) – регістр, що містить адресу наступної команди, яка буде обрана з пам'яті після виконання поточної. Програмний лічильник позначають іноді РС (від англ. Program counter).
Таку назву він дістав тому, що при вибірці кожного чергового байта команди його вміст автоматично збільшується на одиницю, забезпечуючи тим самим доступ до наступного байта. Крім того, спеціальними командами його вміст може змінюватися. Ці команди називають командами переходів або передачі керування.
У МП КР580ВМ80 є ще один спеціальний 16-розрядний регістр – покажчик стека ПС (чи SР від англ. Stack pointer). У цьому регістрі зберігається адреса вершини стека – спеціальної області пам'яті, яка використовується для тимчасового зберігання даних і адрес.
При виконанні арифметичних і логічних операцій в МП формуються ознаки результату, які поміщаються в програмно-доступний регістр ознак РО, що позначається іноді F (від англ. flags – прапорці). У цей регістр заносяться 5 ознак результату: S – знак результату («1» – мінус, «0» – плюс), Z – ознака нульового результату («1» – результат нульовий, «0» – результат ненульовий), С – перенесення із старшого розряду («1» – є перенесення, «0» – немає перенесення), Р – паритет, парність («1» – в результаті парне число одиниць, «0» – непарне),
АС – додаткове перенесення – з молодшої тетради в старшу (використовується при обробці чисел, поданих в двійково-десятковому коді). Розташування ознак в розрядах РО показане на
До програмно-доступних засобів, що знаходяться всередині МП, відноситься тригер дозволу переривань розташований в пристрої керування, який може встановлюватися і скидатися спеціальними командами.
 МікроЕОМ на базі МП 8080 включає центральний процесор, пам'ять(ОПЗ і ПЗП) і зовнішні пристрої (ЗП – клавіатуру, дисплей, друкуючий пристрій та ін.), що підключаються до шин МП через спеціальні схеми-порти введення-виведення.

Синхронізацію процесора здійснює тактовий генератор (для МП КР580ВМ80 можна використати спеціально розроблену ВІС КР580ГФ24). Для збільшення здатності навантаження шин адреси включаються шинні формувачі.
Буферизацію двонаправленої шини даних, запам'ятовування байта стану МП і формування системних сигналів, що управляють, здійснює ВІС системного контролера КР580ВК28. Дешифратори Дш формують сигнали включення відповідного пристрою або схеми, коли на шині адреси з'являється його адреса. 

Структура мікроЕОМ на базі ОМП КР580ВМ80
Системний контролер в кожному циклі видає один з п'яти системних керуючих сигналів: MEMR – читання з пам'яті, MEMW– запис в пам'ять, I/OR– введення, I/OW – виведення, INTA– підтвердження переривання (всi лог0). Два перші сигнали управляють обміном між МП і пам'яттю мікроЕОМ, два наступні сигнали виконують обмін між МП і портом введення або портом виведення. Сигнал I/OR з'являється при виконанні процесором команди IN з адресою порту введення, I/OW– при виконанні команди OUT з адресою порту виведення. Порт вибирається своїм дешифратором при появі на шині адреси коду, присвоєного цьому порту (від 0 до 255).
 
Допоміжні джерела інформації:
- віртуальний музей k580;
система команд Intel 8080
- технічна документація комплекта К580
- К580ВА86/87 
- формувач К580ВА86/87
системний контролер К580ВК28
системний контролер К580ВК38



 

Комментариев нет:

Отправить комментарий