Смекни!
smekni.com

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

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

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

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

- розрядність МП. Іноді цей параметр називають внутрішньою розрядністю МП або розрядністю внутрішньої шини даних (ШД). Фактично ця кількість біт інформації, що одночасно можуть бути записані в кожній з регістрів загального призначення МП. Процесори 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 відповідно. Крім того, варто враховувати, що продуктивність різних обчислювальних систем, побудованих на тому самому МП, може істотно розрізнятися через архітектурні розходження цих систем.

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

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

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

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

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

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

Будь-який МП має у своєму складі набір регістрів різного призначення, частина яких доступна для дій, обумовлених безпосередньо програмістом - збереження операндів, виконання дій над ними і формування адрес і операндів у пам'яті. Ці регістри називаються регістрами загального призначення. Інша частина регістрів використовується процесором для службових (системних) цілей, доступ до них може бути обмежений. Є навіть програмно-невидимі регістри. Поняття архітектури МП визначає його складові частини, зв’язки та взаємодію між ними. Архітектура містить: 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", перетворює її в ланцюжок двійкових символів, що направляє в керуючий блок і в кеш-пам'ять даних, даючи їм указівки про те, як з даною інструкцією поводитися далі.