Мікропроцесори. Великі інтегральні схеми з програмовними структурами.
Змістовий модуль 2.2. Сучасні комп’ютерні системи та процесори
13.1. Процесори
Універсальні комп’ютери поділяються на три функціонально зв’язані апаратні частини: процесор, пам’ять і периферійні пристрої. Процесор – це основна функціональна частина комп’ютера, яка інтерпретує й виконує команди, тобто безпосередньо реалізує програмно-керований процес обробки даних. Процесор, який виконує в обчислювальній системі основні функції, називають центральним (ЦП). Спеціалізований процесор, призначений для керування зовнішніми пристроями (накопичувачами, дисплеями, принтерами та ін.) називають контролером. Процесор характеризується архітектурою, до якої відносять: -список арифметико-логічних операцій (система команд); -типи і формати команд і даних; -організацію адресного простору пам’яті і периферійних пристроїв; -способи адресації команд і даних; -функції складових частин і структуру зв’язків з іншими пристроями машин та режими роботи. Процесор складається з пристрою керування, арифметико-логічного пристрою та блоку інтерфейсу (БІФ) для з’єднання із зовнішнім середовищем – пам’яттю, периферійними пристроями (рис. 13.1). Оброблення даних здійснюється в АЛП, який містить арифметико-логічний блок (АЛБ), блок РЗП, блок контролю БК і місцевий блок керування при децентралізованому керуванні. Арифметико-логічний блок має універсальний двійковий комбінаційний суматор, двійково-десятковий суматор або схему десяткової корекції, регістри для тимчасового зберігання двох операндів і результату операцій та регістр прапорців. Для підвищення продуктивності в АЛП можуть включати спеціалізовані вузли-зсувачі, помножувачі, схеми прискореного переносу та інші пристрої. Ряд процесорів мають по два АЛП. Розрядність АЛП визначає розрядність всього процесора. В РЗП зберігаються початкові дані, проміжні та кінцеві результати, адреси даних, константи, які необхідні в процесі виконання команди. Всі операції в АЛП реалізуються як просторово-часові послідовності мікрооперацій над двійковими словами, кожна з яких є сукупністю булевих операцій над бітами слів. В АЛП реалізуються такі типові мікрооперації: -передачі слів між регістрами та регістрами і пам’яттю; -додавання двох слів, декремент (мінус 1) або інкремент (плюс 1) слова; -арифметичні, логічні та циклічні зсуви вправо чи вліво; -порозрядні логічні операції ЧИ, І, виключальне ЧИ та порівняння операндів; -перетворення кодів слів – інверсія, доповнення, розширення та ін. Пристрій керування ПК керує процесом оброблення даних, забезпечує основні режими роботи (початкових установлень, очікування, переривання, прямого доступу до пам’яті, діагностики і контролю) та взаємодію всіх пристроїв комп’ютера. Для виконання цих функцій ПК має в своєму складі регістр і дешифратор команд, програмний лічильник для задання адреси наступної команди, блок керування та схеми синхронізації, діагностики й контролю. До складу процесора можуть входити спеціальні системні засоби (служба часу, засоби міжпроцесорного зв’язку, пульт керування та ін.). Пристрій керування послідовно зчитує код команди з пам’яті і розміщує його в регістр команд (інструкцій). Блок керування дешифрує команду і формує послідовності керуючих сигналів. Для виконання однієї мікрооперації в АЛП необхідний один керуючий сигнал. В одному машинному такті реалізується сукупність мікрооперацій – мікрокоманда. Множина мікрокоманд створює мікропрограму команди. Кожна команда має свою мікропрограму, час виконання якої називається командним циклом. Розрізняють апаратні, мікропрограмні та комбіновані блоки керування. Апаратні блоки керування побудовані на основі схемної логіки, а мікропрограмні – програмовної логіки (мають пам’ять мікропрограм). Комбіновані блоки керування використовують обидва способи їхньої реалізації. При централізованому керуванні один ПК керує процесом оброблення команд і даних у всій машині. При децентралізованому керуванні ПК формує основні керуючі сигнали, а опрацюванням даних керує місцевий блок керування, розміщений в АЛП. Зазначимо, що всі команди в комп’ютері реалізуються на основі принципу мікропрограмного керування, тобто виконання мікропрограм. В той же час ПК з програмовною логікою також називають мікропрограмними. Методологічно ці поняття слід розрізняти.
13.2. Мікропроцесори Мікропроцесор являє собою процесор, складові частини якого мініатюризовані та розміщені в одній або декількох мікросхемах. Історія мікропроцесорів почалася в 1971 р., коли фірма Intel розробила перший у світі чотирирозрядний процесор 4004, а через рік – восьмирозрядний 8008. На основі мікропроцесорів створено нову елементну базу – мікропроцесорні засоби, на яких будують сучасні комп’ютери. У наш час терміни “процесор” і “мікропроцесор” сприймають як синоніми. Мікросхема, яка виконує функції мікропроцесора або його частини, називається мікропроцесорною. Сукупність мікропроцесорних та інших мікросхем, які сумісні за конструктивно-технологічним виконанням і призначені для спільного використання, називається мікропроцесорним комплектом (МПК). До характеристик мікропроцесорних ІМС відносяться: розміри кристала і кількість транзисторів у ньому, тип корпусу і кількість виводів. Найбільш важливими статичними і динамічними електричними параметрами мікропроцесорів як мікроелектронних виробів є: -кількість джерел живлення та їхня напруга; -струм і потужність споживання; -кількість серій синхроімпульсів, їхні частота і амплітуда; рівні логічних сигналів; -вхідна і вихідна ємності, навантажувальна здатність; -час затримки розповсюдження сигналів, число операцій в секунду над операндами, які зберігаються в регістрах-акумуляторах. Залежно від умов експлуатації до мікропроцесорних ІМС можуть пред’являтися спеціальні вимоги щодо додержання: -температурного діапазону роботи і режиму зберігання; -стійкості до радіаційних і електромагнітних впливів, вібрацій та ударів; -маси і габаритів; -інтенсивності відмов, напрацювання на відмову, надійності функціонування. Мікропроцесор, призначений для використання функціонально повного набору операцій, є універсальним, інакше – спеціалізованим. За конструкцією розрізняють такі мікропроцесори: -однокристальні – виконані у вигляді єдиної мікросхеми (рис.10.2, а); -багатокристальні (модульні) – побудовані з мікросхем, кожна з яких виконує функції пристрою комп’ютера (рис.10.2, б); -розрядно-нарощувальні (секційні); розрядність їхня може збільшуватися за рахунок декількох мікропроцесорних секцій, об’єднаних спільними шинами (рис.10.2, в).
Рис. 10.2. Конструкції мікропроцесорів: а – однокристальні; б – багатокристальні; в – секційні
Усі мікропроцесори мають засоби сполучення із зовнішніми пристроями – інтерфейси (ІФ). Для виробництва мікропроцесорів використовують усі види схемотехніки (технології): ТТЛШ, ЕЗЛ, І2Л, n-МОН, p-МОН, КМОН та ін. Залежно від режиму роботи розрізняють такі процесори: -однопрограмні (виконують одну програму) і багатопрограмні (мають засоби для одночасного виконання кількох програм); -мультипроцесори (системи, в яких одночасно можуть бути активними декілька процесорів); -конвеєрні (команди виконуються послідовно рядом пристроїв, причому різні пристрої можуть одночасно обробляти відповідні частини декількох команд); -матричні (мають спеціальну архітектуру, розраховану на оброблення числових масивів); -співпроцесори (арифметичні розширювачі) – призначені для розширення списку команд ЦП; самостійно не використовуються; -периферійні – виконують функції введення-виведення інформації (асоціативні процесори, в яких характер обробки даних визначається змістом самих даних). За видом оброблюваної інформації розрізняють цифрові (звичайні) та аналогові мікропроцесори. В аналогових мікропроцесорах на вході використовують АЦП для перетворення аналогових величин в цифровий код, а на виході – схеми ЦАП, які перетворюють цифрові дані в аналогові.
13.3. Мікропроцесорні комплекти Для побудови сучасних комп’ютерів використовують мікропроцесорні засоби – комплекси апаратно і програмно сумісних ІМС різного ступеню складності (СІС, ВІС, НВІС та ультра-ВІС). Основою мікропроцесорних засобів є мікропроцесорні комплекти МПК і базові кристали, ВІС пам’яті (рис. 13.3).
Рис.13.3. Склад мікропроцесорних засобів Залежно від виду і типу базової програмовної ВІС виділяють такі МПК: з одним або кількома однокристальними мікропроцесорами: серії КР580, КР581, К1810, К1518, К1821, КР1828, КМ1831, К1838; -з багатокристальними (модульними) мікропроцесорами: К581, К588; із секціонованими (розрядно-модульними) мікропроцесорами: К583, К1800, К1802, К1804, К1822; -з однокристальними мікро-ЕОМ: К1813, К1816, К1820, К1827. Однокристальні мікропроцесори мають фіксовану структуру і систему команд; призначені для побудови мікро- та міні-комп’ютерів широкого застосування. Однокристальні мікро-ЕОМ вбудовуються в технічні системи, в яких вони виконують функції контролю, керування і діагностики. Модульні мікропроцесори орієнтують на реалізацію конкретного класу алгоритмів (оброблення цифрових сигналів, графічні перетворення та ін.). Секціоновані мікропроцесори забезпечують побудову високопродуктивних універсальних комп’ютерів методом нарощування необхідного числа секцій. До складу МПК входить широкий спектр спеціалізованих мікропроцесорних ІМС, в тому числі: -процесорні елементи (секції АЛП); блоки регістрів загального і спеціального призначення; багаторежимні буферні регістри (порти, фіксатори); схеми прискорених перенесень і розширювачі обчислювальних функцій; -схеми синхронізації та генератори тактових імпульсів; блоки керування обміном з пам’яттю та формування адрес мікрокоманд; -контролери: клавіатури, відеотерміналів, накопичувачів на магнітних дисках і стрічках, -введення–виведення даних, прямого доступу до пам’яті і переривань;контролери шин і протоколів, шинні формувачі; -програмовні таймери і схеми арбітражу. За характером роботи в часі мікропроцесори поділяються на синхронні (час виконання команд в них постійний) і асинхронні, де кожна команда реалізується за час її фактичного виконання. Мікропроцесори мають різні пристрої керування із схемною або програмною логікою та комбіновані. Поява мікропроцесорів – це еволюційний процес у технології виробництва мікросхем, а для обчислювальної техніки – перехід у новий якісний стан. До техніко-економічних переваг мікропроцесорів відносять: -високу швидкодію й надійність, малу потужність споживання, малі розміри і масу, -низьку вартість; -простоту технічного обслуговування, складання і розширення мікропроцесорних систем; -можливість побудови потужних мікропроцесорних комплексів з паралельною обробкою інформації; -реалізацію розподілених систем контролю, діагностики і керування. Достоїнства мікропроцесорів забезпечили масове застосування їх у науці, техніці та нетрадиційних областях господарства.Конструктивно-технологічний розвиток мікропроцесорів відбувається в таких напрямках. Використовують нові технології, наприклад, БіКМОН, в яких комбінуються біполярні транзистори (для збільшення швидкості) та КМОН структури (для зменшення споживаної потужності та підвищення щільності компоновки). Якщо в перших мікропроцесорах відстань між сусідніми лініями дорівнювала 10 мкм, то в останніх виробах вона дорівнює 0,18 мкм. Зростає рівень інтеграції: від 2800 транзисторів в чипах перших мікропроцесорів до 10–12 млн і більше в останніх виробах типу Itanium. За законом Мура характеристики мікросхем мають поліпшуватися в два рази кожні 18 місяців при збереженні вартості. За прогнозом експертів у 2012 р. на чипі буде розташовуватись 1,4 млрд транзисторів, які мають працювати на частоті 2700 Мгц. Збільшується розрядність оброблюваних даних: від чотирьох – у перших мікропроцесорах до 64 – в Itanium (зросла в 16 разів). Прискорюється зміна поколінь мікропроцесорів. Якщо до 1994 р. нові покоління з’являлися кожні три роки, то тепер цей цикл зменшився до двох років. Вартість сучасного заводу, який випускає чипи з розмірами транзисторів 0,25 мкм становить $ 2 млрд, а через 5 – 10 років такий комплекс буде коштувати $ 4 млрд.
13.4. Архітектура мікропроцесорів Архітектуру мікропроцесора характеризують: список команд та їхні формати; способи адресації; розрядність і ємність адресованої пам’яті; структура регістрів та їхні функції та ін. Історично першими склалися такі основні архітектури мікропроцесорів: з акумулятором, з РЗП, зі стековою організацією та комбіновані (рис.10.4). Структура всіх мікропроцесорів містить такі однакові пристрої, вузли і блоки, об’єднані спільною внутрішньою шиною даних: АЛБ; ПК; IR – регістр команд (інструкцій); FL – регістр ознак (прапорців); EAR – регістр виконавчої адреси; БІФ – блок інтерфейсу з вихідними шинами адреси, даних і керування. В архітектурі мікропроцесора з акумуляторами (рис. 10.4, а) додатково використовують індексний регістр X і покажчик стека SP; регістр R виконує функції акумулятора А. При виконанні арифметико-логічних операцій перший операнд попередньо розміщується в акумуляторі, а другий – з ОП безпосередньо поступає на вхід АЛБ.
Рис. 13.4. Структура мікропроцесорів: а – з акумулятором і стеком; б – з РЗП
Результат операції розміщується в акумуляторі, а в регістр FL автоматично записуються ознаки операції. В архітектурі мікропроцесора з РЗП (рис. 13.4, б) звичайно використовують від восьми до 16 регістрів, кожний з яких може виконувати функції акумулятора. Збільшення числа РЗП значно зменшує кількість звернень до ОП, що підвищує продуктивність комп’ютера. Але збільшення числа регістрів призводить до втрат машинного часу у випадках переривання програм: при цьому необхідно зберегти зміст РЗП в пам’яті (звичайно у стеку), а потім відновити його після обробки переривання. Тому при виборі кількості РЗП враховують цей фактор. У мікропроцесорі зі стековою архітектурою (рис. 13.4, а) відсутні акумулятор і РЗП, а R виконує функції регістра тимчасового зберігання даних ОП на час виконання операції. Читання даних і їхнє записування у стекову пам’ять здійснюють за допомогою покажчика стека SP. Усі операції з даними виконують відповідно до польського запису: операнди розміщують у стеку в послідовності виконання над ними дій. У стек послідовно завантажують числа a, b і c (рис.13.5).
Рис. 13.5. Ілюстрація роботи стека За командою множення MUL одержуємо добуток , який записується в адресі b. За командою додавання ADD маємо , який записується в адресі c. Після команди інвертування NEG в комірці за адресою c записується обернений код результату . В мікропроцесорах з комбінованою архітектурою об’єднують значною мірою властивості архітектур з акумулятором, РЗП і стеком. До них відносять однокристальний мікропроцесор 8080 (1974 р., фірма Intel, аналог у нашій країні – КР580ВМ80А), більш досконалу його модель 8085А (аналог – КР1821ВМ85А), а також модель Z80 фірми Zilog (рис. 13.6).
Рис. 13.6. Структура мікропроцесора з комбінованою архітектурою (близькою до моделі 8085А)
Комбінована структура містить: -складний комбінований суматор SM (в ньому виконується більшість арифметичних і логічних операцій), регістри A і TP; разом вони створюють АЛБ; -блок РЗП, регістри B, C, D, E, H, L, програмний лічильник PC, покажчик стека SP, регістр виконавчої адреси EAR; -блок ІФ з ША, ШД і ШК; -пристрій керування ПК з регістром команд IR. Сукупність обчислювальних засобів, куди входять один або декілька мікропроцесорів та напівпровідникова пам’ять і засоби інтерфейса, називається мікропроцесорною системою (МПС).
13.5. Програмно керований обмін інформацією Між ядром машини і периферією реалізуються такі види програмно керованого обміну інформацією: -синхронний і асинхронний обміни в послідовних і паралельних двійкових кодах, які виконуються за схемою, зображеною на рис.13.7, а; -з перериванням програми за запитом ПП.
Рис.13.7. Синхронний обмін: а – схема, б – алгоритм; в,г – послідовний обмін без стробування; д,е – паралельний обмін із стробуванням При синхронній передачі джерело інформації ДI завжди готове до обміну відповідно до алгоритму (рис.13.7, б). Джерело інформації виставляє і утримує значення даних на лінії послідовного обміну Лоб протягом часу t, який складається з тривалості затримки розповсюдження сигналу на лінії, його розпізнавання і фіксації в регістрі приймача ПІ (рис.13.7, в,г). При синхронному паралельному обміні часто використовують сигнал квитування, який передається і приймається по окремій лінії ЛК і визначає інтервал часу надійного приймання даних приймачем (рис.13.7, д,е). Асинхронний обмін виконується при готовності (Ready) зовнішнього пристрою до обміну даними відповідно до алгоритму (рис.13.8, а). При асинхронній передачі паралельного коду по ШД використовують метод квитування, в якому поєднуються спільна дія сигналу стробування ЛС від джерела ДІ та сигналу підтвердження приймання ЛП від приймача ПІ (рис. 13.8, б,в).
Рис.13.8. Асинхронний обмін: а – алгоритм; б – схема; в – часові діаграми роботи з квитуванням Основним недоліком синхронного і асинхронного обміну є значне завантаження процесора операціями введення–виведення, що призводить до суттєвого зменшення продуктивності комп’ютера. Тому синхронний і асинхронний обміни використовують при передачі одиночних байтів чи слів. Обмін в режимі переривання здійснюють апаратно за ініціативою зовнішнього пристрою чи програмно – командою переривання INT. Процесор, одержавши апаратний запит на переривання, закінчує поточну команду, пересилає в ОП зміст своїх регістрів і переходить на підпрограму обслуговування переривання. Після її закінчення процесор відновлює зміст своїх регістрів і продовжує виконання перерваної програми (рис. 13.9, а). Апаратно режим переривання забезпечується контролером переривань (КПР), до якого підключаються ПП. Вихід INT контролера подається на відповідний вхід ЦП, а на ШД пересилається початкова адреса підпрограми обслуговування (рис. 13.9, б). При програмному перериванні адреса підпрограми подається в самій команді переривання INT.
Рис.13.9. Обмін за перериванням: а – алгоритм; б – схема підключення контролера КПР
Прямий доступ до пам’яті (ПДП) використовують для швидкого обміну масивами інформації між основною пам’яттю і периферією. При цьому процесор (мікропроцесор) звільняється від безпосереднього керування операціями введення–виведення. ПДП реалізується відповідно до алгоритму (рис.13.10, а). В міні- і мікрокомп’ютерах прямим доступом керує контролер прямого доступу до пам’яті (КПДП). Перед початком обміну процесор пересилає в КПДП таку інформацію (програмування контролера): початкову адресу області пам’яті, яка бере участь у обміні; напрямок операції обміну – введення чи виведення; кількість байтів, які підлягають передачі.
Рис.13.10. Режим ПДП: а – алгоритм; б,в – схеми підключення контролерів КПДП
Особливість режиму ПДП – обмін даними може бути між машинними циклами в команді (“Захват циклу”), а також після закінчення команди.Контролер ПДП керує обміном даними між ОП і ПП без участі процесора (рис. 13.10, б). При необхідності в комп’ютері використовують програмно-керований обмін окремими байтами (він не вимагає програмування КПДП) і обмін масивами у режимі ПДП (рис. 13.10, в). В універсальних комп’ютерах обмін інформацією між ОП і ПП забезпечують спеціальні пристрої - КВВ або просто канали (рис. 13.11).
Рис.13.11. Структура комп'ютера
В каналах використовують два режими обміну інформацією: монопольний та розподілу в часі. Монопольний режим реалізують селекторним каналом, а розподілу в часі - мультиплексним каналом. Засоби каналу, які призначені для обслуговування одного ПП, називаються підканалом. Селекторні канали обслуговують швидкодіючі пристрої, в першу чергу ЗЗП (накопичувачі на дисках і магнітних стрічках). Селекторний канал має один підканал. Після встановлення зв’язку він монопольно обслуговує тільки один ПП: інші пристрої чекають закінчення даної програми обміну. У малих комп’ютерах використовують один селекторний канал, у великих - до шести. Мультиплексний канал (один в машині) паралельно обслуговує сотні повільно діючих ПП в режимі розподілу часу (клавіатура, принтери, перфоратори та ін.)