Структура типового мікропроцесора

Архітектура типової невеликої обчислювальної системи на основі мікро ЭВМ показана на мал. 2.1 Така мікро ЭВМ містить усі 5 основних блоків цифрової машини: пристрій введення інформації, керуючий пристрій (КП), арифметико-логічний пристрій (АЛП) (що входять до складу мікропроцесора), що запам'ятовують пристрої (ЗП) і пристрій висновку інформації.

Мікропроцесор координує роботу всіх пристроїв цифрової системи за допомогою шини керування (ШК). Крім ШК мається 16-розрядна адресна шина (ША), що служить для вибору визначеної комірки пам'яті, порту введення або порту висновку. По 8-розрядній інформаційній шині або шині даних (ШД) здійснюється двонаправлене пересилання даних до мікропроцесора і від мікропроцесора. Важливо відзначити, що МП може посилати інформацію в пам'ять мікроэвм або до одному з портів висновку, а також одержувати інформацію з пам'яті або від одного з портів уведення.

Постійний запам'ятовуючий пристрій (ПЗП) у мікроэвм містить деяку програму (на практиці програму ініціалізації ЕОМ). Програми можуть бути завантажені в запам'ятовуючий пристрій з довільною вибіркою (ЗУПВ) і з зовнішнього запам'ятовуючого пристрою (ЗЗП). Це програми користувача.

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

Це типова процедура введення-запам'ятовування-висновку, розгляд якої дає можливість пояснити принципи використання деяких пристроїв, що входять у мікроэвм.

Зверніть увагу, що команди вже завантажені в перші шість комірок пам'яті. Збережена програма містить наступний ланцюжок команд:
1. Увести дані з порту введення 1.2.
Запам'ятати дані в комірці пам'яті 200.
3. Переслати дані в порт висновку 10.

Діаграма виконання процедури введення-запам'ятовування-висновку.

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

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

Отже, при виконанні типової процедури введення-запам'ятовування-висновку в мікро ЭВМ відбувається наступна послідовність дій:

1. МП видає адреса 100 на шину адреси. По шині керування надходить сигнал, що встановлює пам'ять програм (конкретну мікросхему) у режим зчитування.

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

3. МП видає адреса 101 на ША; ШК використовується для перекладу пам'яті програм у режим зчитування.

4. З пам'яті програм на ШД пересилається операнд "З порту 1". Цей операнд знаходиться в програмній пам'яті в осередку 101. Код операнда (утримуюча адреса порту 1) передається по ШД до МП і направляється в регістр команд. МП тепер декодує повну команду ("Увести дані з порту 1").

5. МП, використовуючи ША і ШК, що зв'язують його з пристроєм уведення, відкриває порт 1. Цифровий код букви "А" передається в акумулятор усередині МП і запам'ятовується. Важливо відзначити, що при обробці кожної програмної команди МП діє відповідно до мікропроцедури вибрання-декодування-виконання.

6. МП звертається до осередку 102 по ША. ШК використовується для перекладу пам'яті програм у режим зчитування.

7. Код команди "Запам'ятати дані" подається на ШД і пересилається в МП, де міститься в регістр команд.

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

9. З пам'яті програм на ШД пересилається код повідомлення "У комірці пам'яті 200". МП сприймає цей операнд і поміщає його в регістр команд. Повна команда "Запам'ятати дані в комірці пам'яті 200" обрана з пам'яті програм і декодована.

10. Тепер починається процес виконання команди. МП пересилає адреса 200 на ША й активізує вхід запису, що відноситься до пам'яті даних.

11. МП направляє інформацію, що зберігається в акумуляторі, у пам'ять даних. Код букви "А" передається по ШД і записується в осередок 200 цієї пам'яті. Виконано другу команду. Процес запам'ятовування не руйнує вмісту акумулятора. У ньому як і раніше знаходиться код букви "А".

12. МП звертається до комірки пам'яті 104 для вибору чергової команди і переводить пам'ять програм у режим зчитування.

13. Код команди висновку даних пересилається по ШД до МП, що поміщає неї в регістр команд, дешифрує і визначає, що потрібний операнд.

14. МП видає адреса 105 на ША і встановлює пам'ять програм у режим зчитування.

15. З пам'яті програм по ШД до МП надходить код операнда "У порт 10", що далі міститься в регістр команд.

16. МП дешифрує повну команду "Вивести дані в порт 10". За допомогою ША і ШК, що зв'язують його з пристроєм висновку, МП відкриває порт 10, пересилає код букви "А" (усе що ще знаходиться в акумуляторі) по ШД. Буква "А" виводиться через порт 10 на екран дисплея.

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

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

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


Логічна структура мікропроцесора

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

Загальна логічна структура мікропроцесора: I - керуюча частина, II - операційна частина; БУПК - блок керування послідовністю команд; Бквоп - блок керування виконанням операцій; БКФКА - блок керування формуванням кодів адрес; БКВП - блок керування віртуальною пам'яттю; БЗП - блок захисту пам'яті; Бкпрпр - блок керування перериванням роботи процесора; БКВВ - блок керування введенням/висновком; Рззп - реєстрове зверхоперативний запам'ятовуючий пристрій; АЛБ - арифметико-логічний блок; БДА - блок додаткової арифметики; БС - блок синхронізації.

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

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

Використання мікропроцесорних комплектів БІС дозволяє створити мікроэвм для широких областей застосування внаслідок програмної адаптації мікропроцесора до конкретної області застосування: змінюючи програму роботи мікропроцесора, змінюють функції інформаційно-керуючої системи. Тому за рахунок складання програми роботи мікропроцесорів у конкретних умовах роботи визначеної системи можна одержати оптимальні характеристики останньої.

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

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

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


Система команд

Проектування системи команд впливає на структуру ЕОМ. Оптимальну систему команд іноді визначають як сукупність команд, що задовольняє вимогам проблемно-орієнтованих застосувань таким чином, що надмірність апаратних і апаратно-програмних засобів на реалізацію рідко використовуваних команд виявляється мінімальною. У різних програмах ЕОМ частота появи команд різна; наприклад, за даними фірми DEC у програмах для ЕОМ сімейства PDP-11 найбільше часто зустрічається команда передачі MOV(B), на її частку приходиться приблизно 32% усіх команд у типових програмах. Систему команд варто вибирати таким чином, щоб витрати на рідко використовувані команди минулого мінімальними.

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

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

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

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

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

Класифікація команд.

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

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

Нижче приведений формат двохадресної (двухоперандної) команди процесорів СМ.

Формат команд процесорів СМ:
а) двохадресна команда;
б) одноадресна команда.

Приклади кодування двохадресних команд у процесорах СМ

КОП Мнемоніка команди Коментар
0001 0010 0110 1110 MOV CMP ADD SUB Передача даних Порівняння Додавання Вирахування
0000 1000 - - Кодування групи одноадресних команд


Чотирьохбітний КОП (біти 15-12) кодує ряд двохоперандних операцій, приведених у таблиці 1. Біти (11-6) і (5-0) для команд даного типу визначають адреси джерела і приймача даних. Як видно з таблиці, комбінації 0000 і 1000 полючи КОП визначають групи одноадресних команд (рис 1,б). КОП 1 (біти 15-12), що відповідає кодам 0000 і 1000, визначає групу одноадресних команд, а КОП 2 (біти 11-6) кодує конкретну операцію команд даної групи. Таким чином, команди, що використовують один операнд, кодуються 10-бітним КОП (біти 15-6).

Найбільш гнучка команда вимагає до чотирьох операндів. Наприклад, команда додавання може вказувати адреси що складаються, адреса результату й адреса наступної команди. Якщо для завдання адреси потрібно 16 біт, то чотирьохоперандна команда займе 8 байт пам'яті, не з огляду на код операції. Отже, вийде повільнодіюча ЕОМ з величезною пам'яттю. Тому в більшості мікро ЭВМ будь-яких команд потрібно не більш двох операндів. Це досягається наступними прийомами:
1. Адреса наступної команди вказується тільки в командах переходів; в інших випадках чергова команда вибирається з комірок пам'яті, що випливають за виконаною командою.
2. Використання осередку, у якій знаходиться один з операндів, для запам'ятовування результату (наприклад, сума запам'ятовується в осередки першого операнда).

Локалізацію і звертання до операндів забезпечують режими адресації. При введенні декількох режимів адресації необхідно відвести в команді біти, що вказують режими адресації для кожного операнда. Якщо передбачено вісім режимів адресації, то для завдання кожного з них потрібно три біти.

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

По форматах команд можна судити про можливості ЕОМ.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: