Основні характеристики і принципи функціонування універсальних МП

Полтавський Військовий Інститут Зв’язку

Кафедра схемотехніки радіоелектронних систем

















ОБЧИСЛЮВАЛЬНА ТЕХНІКА ТА МІКРОПРОЦЕСОРИ

напрям підготовки 0924 «Телекомунікації»



Основні характеристики і принципи функціонування універсальних МП.



























Полтава – 2006


Навчальна література.



		Гук М., Юров В. Процессоры Pentium III, Athlon и другие СПб: Питер, 2000

		Гук М. Аппаратные средства IBM PC. Энциклопедия. СПб: Питер, 2001

		Калабеков Б.А., Мамзелев И.А. Цифровые устройства и микропроцессорные системы. М.: Радио и связь, 1987.

		Лихтциндер Б.Я., Кузнецов В.Н. Микропроцессоры и вычислительные устройства в радиотехнике. К.: Вища школа,1988

		Якименко Ю.І. Мікропроцесорна техніка. –К.:ІВЦ ”Видавництво «Політехніка»“;”Кондор“, 2004.-440 с.

		


ВСТУП



Більш ніж чверть століття, починаючи з кінця Другої світової війни, ЕОМ залишалися громіздкими, коштовними та доступними лише вузькому колу фахівців пристроями, не дивлячись на те, що їх елементна база постійно вдосконалювалася – від електронних ламп до транзисторів, а від них – до інтегральних схем.

Ситуація змінилася докорінним чином у 1971 році, коли група фахівців корпорації Intel – Тед Хофф, Фредеріко Феджин та Стен Мейзор – створили перший мікропроцесор.

Історія творення першого в світі мікропроцесора почалася у 1969 році, коли Intel отримала від японської фірми Busicom замовлення на розробку першого набору мікросхем для родини калькуляторів, яка вироблялася цією фірмою. Початкова конструкція калькуляторів Busicom передбачала використання близько десяти мікросхем. Але Хоффу, Феджину та Мейзору вдалося спроектувати єдину універсальну мікросхему – центральний процесор ЕОМ загального користування. Цей процесор узяв на себе виконання цілого комплексу різноманітних функцій, для реалізації яких раніше доводилося використовувати велику кількість різноманітних вузькоспеціалізованих компонентів.

Концепцію процесора загального призначення запропонував Тед Хофф. Ним же була розроблена архітектура універсальної мікросхеми, яка вміщувала в собі близько 2000 транзисторів. Система команд першого мікропроцесора була розроблена Стеном Мейзором, а саму мікросхему спроектував Федеріко Феджин. В середині листопада 1971 року Intel офіційно оголосила про створення універсального МП, який отримав фірмову назву «мікросхема 4004».

Про значення революції в обчислювальній техніці, яку викликала поява МП красномовно свідчить той факт, що у 1996 році прізвища Теда Хоффа, Фредеріко Феджина та Стена Мейзора були внесені до переліку лауреатів Національного залу Слави винахідників США, і тепер вони стоять поруч з іменами Томаса Едісона, Олександра Белла та інших видатних американських винахідників.

Саме поява МП відкрила шлях створенню персональних комп’ютерів, використанню цифрової обробки сигналів у радіотехніці та ін. МП є основою сучасної обчислювальної техніки – як універсальної, так і спеціалізованої.

Мікропроцесор є основним обчислювальним блоком комп'ютера. Це пристрій, що виконує програму - послідовність команд (інструкцій), написану програмістом і оформлену у вигляді модуля, що виконується. МП сімейства Іntel х86, початок якому було покладено в 1979 році випуском моделі 8086, є основою побудови ІBM PC- сумісних персональних комп'ютерів, хоча сфера їхнього застосування не обмежується ПК даної архітектури.


1. Класифікація і основні характеристики мікропроцесорів



Мікропроцесором у кібернетиці називають програмно-керований пристрій обробки інформації, виконаний на одній великій інтегральній мікросхемі (ВІС) або на певному наборі ВІС. С точки зору теорії цифрових пристроїв, МП –це найбільш складний на сьогоднішній день багатофункціональний цифровий автомат, який вміщує як послідовностні так і комбінаційні вузли.



1.1. Класифікація мікропроцесорів



1.	За функціональним призначенням розрізняють універсальні і спеціалізовані МП.

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

Спеціалізовані МП призначені для рішення обмеженого і строго визначеного кола задач, іноді навіть для рішення однієї конкретної задачі. До спеціалізованих МП належать: сигнальні; медійні та мультимедійні; трансп’ютери; мікроконтролери.

Сигнальні процесори (процесори цифрових сигналів) призначені для цифрової обробки сигналів у реальному масштабі часу (наприклад, фільтрація сигналів, обчислення згортки та кореляційної функції, підсилення, обмеження та трансформація сигналу, пряме та обернене перетворення Фур’є).

Медійні та мультимедійні процесори призначені для обробки аудіо сигналів, графічної інформації, відеозображень, а також для розв’язування ряду задач у мультимедіакомп’ютерах, іграшкових приставках, побутової техніці.

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

Серед спеціалізованих МП також можна виділити мікроконтролери -- МП, призначені для рішення задач керування якими-небудь процесами або пристроями.

Класифікація МП за функціональним призначенням подана на рис. 1.



Мікропроцесори

Універсальні

Спеціалізовані

Сигнальні МП

Медійні та мультімедійні

Трансп’ютери

Мікроконтролери













Рис. 1. Класифікація МП за функціональним призначенням



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

2.	За числом ВІС, використовуваних для побудови функціонально повного МП, розрізняють однокристальні, багатокристальні і багатокристальні секційні МП.

Однокристальні МП реалізуються у вигляді один ВІС. Логічна структура багатокристального МП розбивається на складні функціональні вузли, кожен з яких реалізується у вигляді окремої ВІС.

Однокристальні МП можуть бути одноядерними та багатоядерними. Багатоядерний процесор має фактично декілька обчислювальних пристроїв, розташованих на одному кристалі, яки можуть працювати паралельно та мають загальні кола введення-виведення.

Багатокристальні секційні (розрядно-модульні) МП використовуються для побудови багаторозрядних МП на основі паралельно включених мікропроцесорних секцій. Мікропроцесорна секція являє собою ВІС для обробки декількох розрядів даних (від 2 до 16), що може використовуватися як самостійно, так і як модуль для побудови МП, що обробляє більш довгі кодові слова.

Переважна більшість сучасних універсальних МП є однокристальними.

3.	За розрядністю оброблюваних кодових слів даних МП можуть бути з фіксованою або нарощуваною розрядністю слів.

Процесорами з нарощуваною розрядністю кодів слів є тільки багатокристальні секційні МП, всі інші МП обробляють слова фіксованої розрядності.

4.	За способом керування обчислювальним процесом розрізняють МП із мікропрограмним і з схемним (апаратним) керуванням.

Мікропроцесори зі схемним керуванням мають фіксований набір команд, розроблений фірмою-виробником, який не може змінювати користувач. У МП з мікропрограмним керуванням систему команд розробляють при проектуванні конкретного мікропроцесорного комплекту на базі набору найпростіших мікрокоманд з урахуванням класу задач, для яких призначений МПК.

Взагалі мікропроцесорним комплектом називають сукупність інтегральних схем, сумісних за електричними, інформаційними та конструктивними параметрами і призначених для побудови електронно-обчислювальної апаратури та мікропроцесорних систем керування.

		За типом архітектури, або принципом побудови розрізняють МП з нейманівською архітектурою та МП з гарвардською архітектурою.

		За типом системи команд розрізняють CISC (Complete Instruction Set Computing) – процесори з повним набором команд, і RISC (Redused Instruction Set Computing) – процесори зі зменшеним набором команд.



1.2.Основні характеристики МП.



МП, будучи складним обчислювальним пристроєм, реалізованим у вигляді ВІС, характеризується багатьма параметрами і властивостями.

Як ВІС, МП може бути охарактеризований наступними параметрами: ступенем інтеграції (розмірами кристала і кількістю транзисторів на ньому), типом корпуса, числом виводів, кількістю і величинами живлячих напруга, потужністю що розсіюється, робочим температурним діапазоном, надійністю, навантажувальною здатністю і т.п. Ці параметри істотно розрізняються у різних процесорів, і мають суттєве значення лише для розроблювачів апаратного забезпечення ЕОМ.

Розроблювачі програмного забезпечення ЕОМ використовують інтегральні системні характеристики МП як обчислювального пристрою, до яких, наприклад, відносяться:

-	використовувана система команд;

-	структура системи переривань;

-	можливість організації різних структур пам'яті і типів обміну інформацією з зовнішніми пристроями;

-	способи організації спільної роботи декількох процесорів і ін.

Найбільше практично важливими для кінцевого користувача конструктивними і функціональними характеристиками є:

-	розрядність МП. Іноді цей параметр називають внутрішньою розрядністю МП або розрядністю внутрішньої шини даних (ШД). Фактично ця кількість біт інформації, що одночасно можуть бути записані в кожній з регістрів загального призначення МП. Процесори 8086/8088 і 80286 були 16-розрядними, усі наступні МП цього сімейства, аж до Pentіum ІV, є 32-розрядними.

-	розрядність шини даних МП. Іноді цей параметр називають зовнішньою розрядністю МП або розрядністю зовнішньої ШД. Це кількість зовнішніх виводів МП для передачі даних. Розрядність і внутрішньої і зовнішньої ШД можуть відрізнятися. Так, наприклад, МП першого покоління сімейства Іntel х86 8086 і 8088 відрізнялися тим, що 8088 мав вісьмирозрядну зовнішню ШД, а 8086 - шістнадцятирозрядну, хоча розрядність внутрішньої ШД і в того, і в іншого дорівнювала 16.

-	розрядність шини адреси (ША). Це кількість зовнішніх виводів МП для передачі адресної інформації. Розрядність адреси прямо визначає максимальний обсяг фізично адресованої пам'яті як М=2N, де N - розрядність ША, М - обсяг фізично адресованої пам'яті в байтах.

-	максимальний обсяг фізично адресованої пам'яті. Цей параметр прямо зв'язаний з розрядністю ША МП.

-	швидкодія (продуктивність). Це інтегральна характеристика МП, до визначення якої існують різні підходи. По-перше, швидкодія МП істотна залежить від тактової частоти. Підвищення тактової частоти МП однозначно веде до підвищення продуктивності МП, хоча для обчислювальної системи в цілому ця залежність не є лінійною. Крім того, МП різних поколінь, що працюють на одній і тій же тактовій частоті мають істотно різну продуктивність (наприклад, Pentіum з тактовою частотою 100 МГЦ, перевершує МП 486 з тією же тактовою частотою по продуктивності в 2-2,5 рази). Це визначається саме розходженнями в мікроархітектурі МП. По-друге, МП використовують дві істотно різних форми представлення чисел: з плаваючою і фіксованою комами (точками). Перші виконуються переважно блоком виконання операцій із точкою, що плаває, (математичним співпроцесором), а другі - АЛП самого МП. Тому прийнято роздільно оцінювати швидкість виконання МП операцій з числами, представленими в тій і іншій формах. Швидкість виконання цілочисленних операцій (над числами з фіксованою крапкою) виміряється в MІPS, швидкість виконання операцій із крапкою, що плаває - у MFLOPS відповідно. Крім того, варто враховувати, що продуктивність різних обчислювальних систем, побудованих на тому самому МП, може істотно розрізнятися через архітектурні розходження цих систем.




Принципи функціонування універсальних мікропроцесорів



На основі навчального матеріалу, що був розглянутий у попередній темі, можна сформулювати деякі загальні принципи побудови та функціонування універсальних МП:

Всі МП працюють у двійковій системі числення.

Будь-який МП складається з двох основних частин: пристрою управління та АЛП.

АЛП універсального МП будується на основі багаторозрядного суматора; операція додавання чисел із знаками – основна операція, що виконує АЛП. Додавання чисел із знаками звичайно виконується з використанням додаткового коду.

Обчислювальний процес організовується на основі принципу мікропрограмного управління.

Будь-який МП має у своєму складі набір регістрів різного призначення, частина яких доступна для дій, обумовлених безпосередньо програмістом - збереження операндів, виконання дій над ними і формування адрес і операндів у пам'яті. Ці регістри називаються регістрами загального призначення. Інша частина регістрів використовується процесором для службових (системних) цілей, доступ до них може бути обмежений. Є навіть програмно-невидимі регістри. Поняття архітектури МП визначає його складові частини, зв’язки та взаємодію між ними. Архітектура містить: 1) структурну схему МП; 2) програмну модель МП (опис функцій регістрів); 3) організацію пам’яті (ємність пам’яті та способи її адресації); 4) опис організації процедур введення-виведення. Але, як правило, говорячи про архітектуру МП, звичайно мають на увазі його програмну модель, тобто програмно-видимі властивості. Зокрема, 32-розрядні процесори сімейства Іntel х86 мають архітектуру ІA-32 (Іntel Archіtecture 32 bіt).

Під мікроархітектурою МП розуміють внутрішню реалізацію цієї програмної моделі. Тобто, процесори, що мають ті самі програмно-видимі властивості (архітектуру), можуть істотно розрізнятися мікроархітектурними реалізаціями цих властивостей, оскільки розроблювачі МП безупинно прагнуть до максимального підвищення продуктивності, тобто швидкості виконання програм.

Спрощена схема мікропроцесора, зображена на рис. 2, містить у собі наступні складові частини:

- арифметико-логічний пристрій,

- пристрій керування,

- блок декодування команд,

- блок внутрішніх регістрів МП,

- пристрій шинного інтерфейсу, що включає в себе блок випереджальної вибірки,

- роздільні блоки буферної пам'яті (кеш-пам'яті) команд і даних.





АЛП

Пристрій

керування

Блок внутрішніх регістрів

Блок декодування команд

Кеш даних

Кеш команд

Пристрій шинного інтерфейсу

(Блок випереджальної вибірки)

Рис. 2. Спрощена схема універсального мікропроцесора



АЛП – це комбінаційна схема на основі суматора, який сигналами з виходів пристрою керування налагоджується на виконання певної арифметичної або логічної операції над операндами, які пересилаються з пам’яті або регістрів МП.

Пристрій керування відповідно до кодів команд та зовнішніх керуючих сигналів і сигналів синхронізації виробляє сигнали управління для всіх блоків МП.

Внутрішні регістри призначенні для зберігання проміжних результатів обчислень. У складі внутрішніх регістрів виділяється акумулятор – регістр у якому зберігається один з операндів. Після виконання команди в акумуляторі замість операнда розміщується результат операції.

Блок декодування команд формує сигнали для пристрою керування згідно з дешифрованим кодом команди.

Блок випереджальної вибірки самостійно ініціює випереджаючу вибірку кодів команд з пам’яті у чергу команд.

Кеш команд (даних) – буферна статична пам’ять, звернення до якої відбувається на частоті функціонування процесора.

Послідовність функціонування мікропроцесора визначається програмним кодом.

Програмний код - це послідовність команд або інструкцій, кожна з яких певним чином закодована і розташована в цілому числі суміжних байт пам'яті. Кожна інструкція обов'язково має операційну частину, що несе процесорові інформацію про необхідні дії. Операндна частина вказує процесорові, де знаходиться його "предмет праці" -- операнди. Операнди – це об’єкти у вигляді значення даних, вмісту регістрів або комірок пам’яті, з яким оперує команда.

Одноядерний процесор фактично може виконувати тільки один процес - передачу керування від інструкції до інструкції відповідно до програми яка виконується. При цьому можуть виконуватися переходи, розгалуження і виклики процедур, але весь цей ланцюжок запрограмований розроблювачем програми. Послідовність виконання інструкцій, запропонована програмним кодом, може бути порушена під впливом внутрішніх або зовнішніх (щодо процесора) причин - виключень і апаратних переривань.

Типова послідовність роботи МП при виконанні якої-небудь команди містить у собі наступні етапи:

- вибірку чергової команди і даних, необхідних для її виконання, з оперативної пам'яті ЕОМ,

- декодування команди,

- власне її виконання,

- запис отриманого результату в оперативну пам'ять.

Щоб зрозуміти, як працює МП, розглянемо крок за кроком, як він виконує нескладну задачу додавання двох чисел (2+3=5). Вирішується вона в чотири етапи.

Етап 1. Введення цифри "2" приводить МП у стан готовності і подає блокові попередньої вибірки сигнал на запит в оперативній пам'яті комп'ютера інструкції у відношенні нових даних , що надійшли,, оскільки командна кеш-пам'ять такої інструкції не містить.

Нова інструкція з роботи з даними надходить з пам'яті комп'ютера через шинний інтерфейс у МП і записується в командну кеш-пам'ять, де їй привласнюється код "2=X" Слідом за цим блок попередньої вибірки запитує з кеш-пам'яті копію коду "2=X", що направляє для подальшої обробки в блок декодування. 

Блок декодування декодує інструкцію "2=X", перетворює її в ланцюжок двійкових символів, що пересилається в керуючий блок і в кеш даних, даючи їм указівка про те, як з отриманою інструкцією надходити далі.

Оскільки блоком декодування прийняте рішення про збереження цифри 2 у кеш даних, керуючий блок виконує відповідну інструкцію для коду "2=X": цифрі 2 у кеш-пам'яті даних привласнюється адреса "Х", тут вона і буде знаходитися в чеканні подальших указівок.

Після цього копія коду "3=Y" надходить з командної кеш-пам'яті в блок попередньої вибірки, відкіля переправляється в декодувальний блок для подальшої обробки.

Етап 2. Введення цифри "3". Блок попередньої вибірки одержує команду на запит у системній пам'яті комп'ютера й у командній кеш-пам'яті інструкцій про дії у відношенні знову даних , що надійшли. Оскільки командна кеш-пам'ять таких інструкцій не містить, вони надійдуть з оперативної пам'яті.

Аналогічно команді "2=X," нові інструкції з даних надходять з пам'яті комп'ютера в МП і записуються в командну кеш-пам'ять, де одержують код адресації "3=Y".

Декодувальний блок декодує інструкцію "3=Y", перетворює її в ланцюжок двійкових символів, що направляє в керуючий блок і в кеш-пам'ять даних, даючи їм указівки про те, як з даною інструкцією поводитися далі.

Оскільки декодувальний блок приймає рішення про збереження цифри 3 у кеш-пам'яті даних, то він виконує відповідну інструкцію для коду "3=Y": цифрі 3 привласнюється в кеш-пам'яті даних адреса "Y", де вона, аналогічно цифрі 2, і буде знаходитися в чеканні подальших указівок.

Етап 3. Уведення команди "+" змушує блок попередньої вибірки запросити з оперативної пам'яті комп'ютера і командної кеш-пам'яті інструкції у відношенні знову даних, що надійшли. Як і в попередніх випадках, ці інструкції повинні бути отримані з оперативної пам'яті.

Оскільки мова йде про інструкцію, яка не використовувалася раніше, "плюс" надходить у МП із пам'яті комп'ютера і записується в командну кеш-пам'ять із присвоєнням адресного коду "X+Y=Z", що позначає операцію додавання.

Слідом за цим блок попередньої вибірки запитує з командної кеш-пам'яті копію коду "X+Y=Z" і пересилає її блокові декодування для подальшої обробки.

Блок декодування декодує інструкцію "X+Y=Z", перетворює її в ланцюжок двійкових символів, що направляє в керуючий блок і в кеш-пам'ять даних, даючи їм указівки про те, як з даною інструкцією надходити далі. Одночасно арифметичний логічний пристрій одержує вказівки на виконання операції ДОДАВАННЯ.

Блок керування аналізує код, а арифметичний логічний пристрій виконує по команді операцію ДОДАВАННЯ чисел, закодованих як "X" і "Y" і витягнутих з кеш-пам'яті даних. Після цього ALU, пересилає в блок регістрів отримане число 5 для запису по одному з адрес.

Етап 4. Вивід результату. Блок попередньої вибірки в черговий раз перевіряє командну кеш-пам'ять на предмет наявності інструкцій, що відносяться до нових даних , що надійшли. Як і колись, такі інструкції там відсутні. Інструкція для значка "=" надходить у МП з оперативної пам'яті комп'ютера через шинний інтерфейс і записується в командну кеш-пам'ять, одержавши код адресації "Prіnt Z" ("відобразити на екрані символ Z).

Слідом за цим блок попередньої вибірки запитує з командної кеш-пам'яті копію коду "Prіnt Z", що пересилає декодувальному блокові для подальшої обробки.

Декодувальний блок декодує інструкцію "Prіnt Z", перетворює її в ланцюжок двійкових символів, що потім пересилається керуючому блокові з указівкою на те, як з отриманою інструкцією поводитися далі.

Тепер, коли значення величини, представленої кодом Z, вже обчислене і записано в позиції № 5 блоку регістрів, для завершення операції додавання 2+3 залишається виконати команду виводу вмісту регістра 5 на екран дисплея. На цьому робота МП закінчується.


ВИСНОВОК



Мікропроцесором у кібернетиці називають програмно - керований пристрій обробки інформації, виконаний на одній ВІС, чи на деякому наборі ВІС. Мікропроцесор (МП) є основним обчислювальним блоком комп'ютера. Це пристрій, що виконує програму - послідовність команд (інструкцій), написану програмістом і оформлену у вигляді модуля, що виконується.

По призначенню розрізняють універсальні і спеціалізовані МП.

По числу ВІС, використовуваних для побудови функціонально повного МП, розрізняють однокристальні, багатокристальні, багатокристальні секційні МП.

По розрядності оброблюваних кодових слів даних МП можуть бути з фіксованою або нарощуваною розрядністю слів.

По способу керування обчислювальним процесом розрізняють МП із мікропрограмним і з жорстким (апаратним) керуванням.

Найбільш практично важливими для кінцевого користувача конструктивними і функціональними характеристиками МП є: внутрішня розрядність, розрядність шини даних, розрядність шини адреси, максимальний обсяг фізично адресованої пам'яті; швидкодія (продуктивність).