05 - Архітектура персонального комп'ютера

Тема 6 - Мікропроцесор

Конспект лекції


Ключові терміни:

внутрішня реєстрова пам'ять процесора, макроархітектура  макропроцесора, мікроархітектура мікропроцесора, мікроконтролер, мікропроцесор, переривання, регістр, шина адреси, шина даних

"Мізком" персонального комп'ютера є мікропроцесор, або центральний процесор - CPU (Central Processing Unit). Мікропроцесор виконує обчислення і обробку даних (за винятком деяких математичних операцій, здійснюваних в комп'ютерах, що мають співпроцесор) і, як правило, є найдорожчою мікросхемою комп'ютера. У всіх PC-сумісних комп'ютерах використовуються процесори, сумісні з сімейством мікросхем Intel, але випускаються і проектуються вони як самою Intel, так і компаніями AMD, Cyrix, IDT і Rise Technologies.

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

6.1 Функції мікропроцесору

Мікропроцесор виконує такі основні функції:

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

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

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

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

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

Цифрові процесори сигналів (ЦПС) представляють клас спеціалізованих мікропроцесорів, орієнтованих на цифрову обробку вхідних аналогових сигналів. Специфічною особливістю алгоритмів обробки аналогових сигналів є необхідність послідовного виконання ряду команд множення-підсумовування з накопиченням проміжного результату в регістрі-акумуляторі. Тому архітектура ЦПС орієнтована на реалізацію швидкого виконання операцій такого роду. Набір команд цих процесорів містить спеціальні команди MAC (Multiplication with Accumlation), які реалізують ці операції.


Рисунок 6.1 – Класифікація мікропроцесорів за функціональним призначенням

6.3 Архітектура мікропроцесорів

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

Макроархітектура макропроцесора ‒ це система команд, типи оброблюваних даних, режими адресації і принципи роботи мікропроцесора.

6.3.1. Типи архітектур

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

Регістри загального призначення утворюють РЗП ‒ внутрішню реєстрову пам'ять процесора. Склад і кількість службових регістрів визначається архітектурою мікропроцесора. Зазвичай в їх склад входять:

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

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

Всі мікропроцесори можна розділити на групи:

CISC (Complex Instruction Set Computer) ‒ архітектура реалізована в багатьох типах мікропроцесорів, що виконують великий набір різноформатних команд з використанням численних способів адресації. Вони виконують більше 200 команд різного ступеня складності, які мають розмір від 1 до 15 байт і забезпечують більше 10 різних способів адресації. Таке велике різноманіття виконуваних команд і способів адресації дозволяє програмісту реалізувати найбільш ефективні алгоритми вирішення різних завдань. Проте при цьому суттєво ускладнюється структура мікропроцесора, особливо його пристрій управління, що приводить до збільшення розмірів і вартості кристалу, зменшенню продуктивності. У той же час багато команд і способів адресації використовуються досить рідко. Також аналіз кодів програм, які генеруються компіляторами мов вищого рівня, показав, що компілятори з усієї системи команд МП використовують тільки обмежений набір простих команд. Це команди типу "регістр-регістр", "регістр-пам'ять". 

RISC (Reduced Instruction Set Computer) ‒ архітектура відрізняється використанням обмеженого набору команд фіксованого формату. Сучасні RISC ‒ процесори зазвичай реалізують близько 100 команд, що мають фіксований формат довжиною 4 байта. Також значно скорочується число використовуваних способів адресації. Зазвичай в RISC - процесорах всі команди обробки даних виконуються тільки з реєстрової або безпосередньою адресацією. Для зменшення кількості звертань до пам'яті RISC-процесори мають збільшений об'єм внутрішніх регістрів - від 32 до декількох сотень, тоді як в CISC-процесорах кількість регістрів загального призначення переважно становить 8-16.

VLIW (Very Large Instruction Word) ‒ архітектура з'явилася відносно недавно - в 1990 -х роках. Її особливістю є використання дуже довгих команд (до 128 біт і більше), окремі поля яких містять коди, що забезпечують виконання різних операцій. Таким чином, одна команда викликає виконання відразу декількох операцій паралельно в різних операційних пристроях, що входять в структуру мікропроцесора.

Крім набору виконуваних команд і способів адресації важливою архітектурною особливістю мікропроцесорів є варіант реалізації пам'яті, який використовується, і організація вибірки команд і даних. За цими ознаками розрізняються процесори з Прінстонскою і Гарвардською архітектурою.

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

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

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

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

Гарвардська архітектура отримала також широке застосування в мікроконтролерах та цифрових сигнальних процесорах.

6.3.2. Структура типового МП

До складу мікропроцесора входять такі пристрої.

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

  2. Пристрій управління координує взаємодію різних частин комп'ютера. Виконує наступні основні функції:

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

  2. Інтерфейсна система мікропроцесора призначена для зв'язку з іншими пристроями комп'ютера. Включає в себе:

 

Рисунок 6.2 – Архітектура типового мікропроцесору

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

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

Контролер прямого доступу до пам'яті звільняє мікропроцесор від прямого управління накопичувачами на магнітних дисках, що істотно підвищує ефективну швидкодію комп'ютера.

Співпроцесор вводу/виводу за рахунок паралельної роботи з мікропроцесором значно прискорює виконання процедур вводу/виводу при обслуговуванні декількох зовнішніх пристроїв, звільняє мікропроцесор від обробки процедур вводу/виводу, в тому числі реалізує режим прямого доступу до пам'яті.

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

6.4 Параметри процесорів

Робота процесора полягає і в послідовному виконанні команд з оперативної пам'яті, і в швидкості виконання команд. Чим швидше процесор виконує команди, тим вища продуктивність комп'ютера в цілому. Швидкість роботи процесора залежить від декількох параметрів.

6.4.1. Швидкодія процесору

Швидкодія процесора ‒ досить простий параметр. Вона вимірюється в мегагерцах (МГц); 1 МГц дорівнює мільйону тактів в секунду. Чим вище швидкодія, тим краще (тим швидше процесор). Тактова частота визначає максимальний час виконання перемикання між елементами ЕОМ.

Реальна частота роботи ядра процесора може становити 1,5 – 4 ГГц. Тактова частота визначається множенням частоти зовнішньої шини процесора на коефіцієнт множення. Зовнішня шина використовується для обміну даними з іншими пристроями і може мати позначення FSB ‒Front Side Bus‒ (наприклад: для процесора Intel Core 2DUO E6600 частота FSB - 266,6 МГц, множник - 9, в результаті тактова частота буде рівна 2400 МГЦ)

6.4.2. Розрядність процесора

Розрядність процесора визначає максимальну кількість двійкових розрядів, які можуть бути оброблені одночасно. У процесор входить три важливих пристрої, основною характеристикою яких є розрядність:

Шина даних

Коли говорять про шину процесора, найчастіше мають на увазі шину даних, представлену як набір з'єднань (або виводів) для передачі або прийому даних. Чим більше сигналів одночасно надходить на шину, тим більше даних передається по ній за певний інтервал часу і тим швидше вона працює.

Дані в комп'ютері передаються у вигляді цифр через однакові проміжки часу. Для передачі одиничного біта даних в певний часовий інтервал посилається сигнал напруги високого рівня (близько 5 В), а для передачі нульового біта даних ‒ сигнал напруги низького рівня (близько 0 В).

Шина адреси

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

Шини даних і адреси незалежні, і розробники мікросхем вибирають їх розрядність на свій розсуд, але, чим більше розрядів в шині даних, тим більше їх і в шині адреси. Розрядність цих шин є показником можливостей процесора: кількість розрядів в шині даних визначає здатність процесора обмінюватися інформацією, а розрядність шини адреси ‒ об'єм пам'яті, з яким він може працювати.

Внутрішні регістри

Кількість бітів даних, які може обробити процесор за один прийом, характеризується розрядністю внутрішніх регістрів. Регістр ‒ це, по суті, елемент пам'яті всередині процесора; наприклад, процесор може складати числа, записані в двох різних регістрах, а результат зберігати в третьому регістрі. Розрядність регістра визначає кількість розрядів оброблюваних процесором даних, а також характеристики програмного забезпечення і команд, які виконуються чіпом.

6.4.3. Режими процесора

Режими процесора призначені для виконання програм у різних середовищах; в різних режимах можливості чіпа неоднакові, тому що команди виконуються по-різному. В залежності від режиму процесора змінюється схема управління пам'яттю системи і завданнями.

Процесори можуть працювати в трьох режимах: реальному, захищеному і віртуальному реальному режимі (реальному всередині захищеного).

Реальний режим

У першому IBM PC використовувався процесор 8088, який міг виконувати 16-розрядні команди, застосовуючи 16-розрядні внутрішні регістри, і адресувати тільки 1 Мбайт пам'яті, використовуючи 20 розрядів для адреси. Все програмне забезпечення PC спочатку було призначено для цього процесора; воно було розроблено на основі 16-розрядної системи команд і моделі пам'яті об'ємом 1 Мбайт. Наприклад, DOS, все програмне забезпечення DOS, Windows від 1.x до 3.x і всі додатки для Windows від 1.x до 3.x написані в розрахунку на 16-розрядні команди. Ці 16-розрядні операційні системи і додатки були розроблені для виконання на первинному процесорі.

Всі програми, що виконуються в реальному режимі, повинні використовувати тільки 16-розрядні команди, 20-розрядні адреси і підтримуватися архітектурою пам'яті, розрахованою на ємність до 1 Мбайт.

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

Захищений режим

Першим 32-розрядним процесором, призначеним для PC, був 386. Цей чіп міг виконувати абсолютно нову 32-розрядну систему команд. Щоб повністю використовувати перевагу 32-розрядної системи команд, були необхідні 32-розрядна операційна система і 32-розрядні додатки. Цей новий режим називався захищеним, тому що працюють у ньому програми захищені від перезапису своїх областей пам'яті іншими програмами. Такий захист робить систему більш надійною, оскільки жодна програма з помилками вже не зможе так легко пошкодити інші програми або операційну систему. Крім того, програму, "потерпілу крах", можна досить просто завершити без збитку для всієї системи.

Захищений режим має багато переваг:

Віртуальний реальний режим

Для зворотної сумісності 32-розрядна система Windows 9x використовує третій режим в процесорі ‒ віртуальний реальний режим. Віртуальний реальний, по суті, є режимом виконання 16-розрядної середовища (реальний режим), яке реалізовано всередині 32-розрядного захищеного режиму (тобто віртуально, а не реально). Виконуючи команди у вікні підказки DOS усередині Windows, ви створюєте віртуальний сеанс реального режиму. Оскільки захищений режим є справді багатозадачним, фактично можна виконувати декілька сеансів реального режиму, причому в кожному сеансі власне програмне забезпечення працює на віртуальному комп'ютері. І всі ці додатки можуть виконуватися одночасно, навіть під час роботи інших 32-розрядних програм.

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

Віртуальний реальний режим використовується при виконанні програм у вікні DOS, а також при виконанні 16-розрядних програм, написаних для DOS або Windows. При запуску програми DOS операційна система Windows створює віртуальну машину DOS, на якій цей додаток може виконуватися.

Важливо відзначити, що всі процесори Intel (а також Intel-сумісні AMD і Cyrix) при включенні живлення починають працювати в реальному режимі. При завантаженні 32-розрядна операційна система автоматично перемикає процесор в 32-розрядний режим і управляє ним в цьому режимі.


© 2016 СумГУ
created with Lectur'EDbeta