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

Вхідний контроль:

1 Які мікрооперації може виконувати універсальний регістр?

2 Наведіть приклади пристроїв пам’яті з послідовним доступом та з довільним доступом.

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

З цієї точки зору існують два основні типи архітектури – фоннейманівська та гарвардська.

Фоннейманівська архітектура показана на рис. 7.1.

 
  Архітектура мікропроцесорів - student2.ru

Рисунок 7.1 – Фоннейманівська архітектура

До загальних архітектурних властивостей та принципів побудови фоннейманівської архітектури можна віднести такі особливості:

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

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

3 Лінійний простір пам’яті, яку адресує МП, – сукупність комірок пам’яті з послідовним адресуванням.

4 Послідовне виконання команд програми – на послідовних ділянках програми МП вибирає з пам’яті команди строго послідовно. Розгалуження програм виконується за використанням спеціальних команд умовного та безумовного переходів та при зверненні до підпрограм.

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

6 Мікропроцесору всеодно, яке логічне навантаження несуть дані, що він їх обробляє.

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

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

 
  Архітектура мікропроцесорів - student2.ru

Рисунок 7.2 – Гарвардська архітектура

Звернення до кожного з банків пам’яті виконується за допомогою двох незалежних шин адреси та даних. У гарвардській архітектурі один з банків пам’яті використовується для зберігання програм, а другий для зберігання даних. Частіше використовується модифікована гарвардська архітектура. У цьому випадку один банк зберігає як програми, так і дані, а другий – тільки дані. Гарвардська архітектура дозволяє процесорному ядру за один цикл команди паралельно звертатись до пам’яті даних та пам’яті програм. Деякі мікропроцесори використовують три банки пам’яті з трьома незалежними парами шин адреси та даних (супергарвардська архітектура). Наявність трьох банків дозволяє за один командний цикл виконувати три паралельних звернення до пам’яті: вибирати команду та два операнди.

Контрольні питання:

1 Які особливості фоннейманівської архітектури мікропроцесорів гальмують підвищення їхньої потужності?

2 При програмуванні фоннейманівських процесорів хто повинен слідкувати за чітким розподілом адресного простору даних та команд?

3 Чи є пряме керування кодами програм апаратною частиною МП?

4 Чи можна передбачити напрямок розгалуження при виконанні команд умовного переходу?

5 Які особливості гарвардської архітектури дозволяють прискорити оброблення цифрових сигналів?

Контрольні питання підвищеної складності:

1 Що таке модифікована гарвардська архітектура?

2 Що таке супергарвардська архітектура?

МП фірми Intel

Вхідний контроль:

1 Які особливості має n-МДП-технологія виготовлення ВІС?

2 Чи може працювати МП поза мікропроцесорною системою?

7.2.1 Історична довідка про розвиток мікропроцесорів фірми Intel (Для самостійного вивчення)

Напівпровідникова промисловість почала розвиватися в 50-ті роки ХХ століття у лабораторіях фірми Bell Telephone Laboratories (Bell Labs) у штаті Каліфорнія, США, в долині Санта Клара, яка сьогодні відома як “Селіконова долина”. Компанія Intel (Integrated Electronics) була заснована Робертом Нойсом та Гордоном Муром у 1968 році, а у 1972 році фірма Intel створила свій перший 8-розрядний мікропроцесор 8008, який мав фоннейманівську архітектуру і багато ознак усього сімейства мікропроцесорів: НОЗП, засоби організації стека, систему переривань і міг слугувати як центральний процесор мікроЕОМ, а також виконувати задачі керування в складі контролерів. Мікропроцесор 8008 був виготовлений за n-канальною МОП-технологією, виконував 30000 операцій за секунду та адресував 16 кбайт пам’яті, що було недостатньо для використання його щодо вирішення широкого кола задач. У 1974 році фірма випустила МП І8080, який мав розширену систему команд мови Асемблер і був сумісний з МП 8008. Вперше був виконаний принцип сумісності знизу вверх, тобто користувачі програмного забезпечення МП 8008 могли виконувати його на МП І8080. Швидкість обчислень МП І8080 становила 200000 операцій за секунду, він адресував 64 кбайт пам’яті.

Розробка МП І8080 поставила фірму Intel з річним обсягом понад 1 мільярд доларів у ряд найбільших компаній з виробництва надвеликих інтегральних мікросхем у США.

До 1978 року розвиток МП фірми Intel відбувався шляхом удосконалення та розширення функцій МП І8080.

Аналогом МП І8080 російського виробництва був МП К580ВМ8А, який випускався з метою побудови керувальних МПС, зокрема контролерів жорстких дисків, на ньому також виконувались простіші мікроЕОМ. Частота роботи МП становила 2 МГц.

Структурна схема 8-розрядного мікропроцесора КР 580ВМ80А показана на рис. 7.3.

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

Шість інших 8-розрядних регістрів B, C, D, E, H, L утворюють блок регістрів загального призначення (РЗП). Ці регістри можуть використовуватися як одиночні або об’єднуватись у регістрові пари BC, DE, HL.

 
  Архітектура мікропроцесорів - student2.ru

Рисунок 7.3 – Структурна схема 8-розрядного мікропроцесора

КР 580ВМ80А

Регістри БР1, БР2, W, Z використовуються як буферні, програмно-недоступні регістри.

Вказівник стека – ВКСТ – (SP) – 16-розрядний регістр, слугує для адресування особливо організованої пам’яті, яка називається стеком.

Програмний лічильник – ПРЛІЧ – (PC) або лічильник команд призначений для зберігання адрес команд; після вибирання з оперативної пам’яті поточної команди вміст лічильника команд збільшується на кількість байтів цієї команди і, таким чином, за відсутності умовних та безумовних переходів у програмах формується адреса наступної команди. Блок регістрів вміщує також спеціальну схему інкрементування/декрементування (ІНК/ДЕК), яка забезпечує без АЛП у процесі передавання даних між регістрами модифікацію вмісту регістрів на 1.

При зверненні до пам’яті з метою вибирання даних, але не команд, як адресу можна використовувати вміст будь-якої регістрової пари з РЗП.

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

АЛП виконано на основі комбінаційної схеми суматора з власними регістрами тимчасового зберігання даних БР1 та БР2.

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

Схема десяткової корекції (ДК) дозволяє виконувати операції над даними, які подані у двійково-десятковій системі числення. При зберіганні операнда, трактованого як десяткове число, розряди кожного регістра, в якому воно вміщене, поділяються на дві групи по чотири розряди кожна і в кожній групі розрядів зберігається одна десяткова цифра, подана у коді BCD (8421). Таким чином, у регістрі можна зберігати 2-розрядне десяткове число. При виконанні арифметичних операцій над двійково-десятковими числами може знадобитися корекція результату (додавання до нього числа 01102). Така корекція у кожній 4-розрядній групі результату виконується схемою ДК при виконанні окремої команди мови програмування.

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

Ознака CY (ознака перенесення, від Carry) – перенесення із старшого розряду при виконанні арифметичних операцій та вміст висуваного з акумулятора розряду при виконанні операцій зсувів.

Ознака Z (ознака нуля, від Zero) – установлюється в стан 1, якщо результат операції дорівнює нулю.

Ознака S (ознака знаку, від Sign) установлюється в стан, який визначається значенням старшого розряду результату; S = 1 означає, що результат позитивний, S = 0 – негативний.

Ознака Р (ознака парності або непарності кількості одиниць у результаті, від Parity) установлюється в 0, якщо кількість одиниць у результаті непарна, і в 1 – якщо парна; ознака Р використовується у багатьох випадках, коли треба перевірити правильність передавання даних за парністю або непарністю кількості одиниць.

Ознака АС (ознака додаткового перенесення від Auxiliary Carry) установлюється в 0, якщо перенесення з молодшої тетради у старшу відсутні, і в 1, якщо має місце; ознака АС використовується при виконанні операцій над двійково-десятковими числами, за наявністю АС за необхідності підключається схема десяткової корекції.

Усі регістри та регістрові пари можуть бути скомутовані за допомогою мультиплексора (МUХ) та схеми вибору регістрів як з внутрішньою шиною даних, так і з ША. Регістри акумулятора (А) та регістр прапорців (F) також можуть утворювати регістрову пару AF, яка називається словом стану програми (ССП або PSW – PROGRAM STATUS WORD). ССП зазвичай використовується для зберігання в стеку стану програми при зверненні до підпрограм обробки переривань.

При передаванні адреси вміст регістрових пар зберігається у 16-розрядному регістрі адреси (РА), з якого далі через буфер шини адреси (БША) надходить на 16-розрядну шину адреси (ША) і далі в оперативну пам’ять. Число кодових комбінацій 16-розрядної адреси дорівнює 216, кожна з них може визначати адресу (номер) одної з комірок оперативної пам’яті. Таким чином, забезпечується можливість звернення до пам’яті, яка вміщує до 64 кбайт, тобто 65536 8-розрядних слів.

Буферні регістри даних (БР) та буфер шини адреси (БША) забезпечують зв’язок процесора з зовнішніми шинами даних та адрес. Особливістю буферів є те, що у кожному розряді вони мають логічні пристрої з трьома стабільними станами: крім станів L0 та L1 передбачено третій стан, в якому вони мають безкінечний вихідний опір і є відімкнені від відповідних шин.

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

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

З шини керування на пристрій керування та синхронізації надходять такі сигнали:

− RESET – скидання або початкового установлення;

− F1 та F2 – дві послідовності імпульсів синхронізації з неоднаковими фазами;

− READY – сигнал готовності зовнішнього пристрою до обміну; використовується для організації обміну даними з пристроями, які мають низьку швидкодію порівняно з МП;

− HOLD – сигнал запиту прямого доступу до пам’яті (ПДП) або запиту на захоплення шин; використовується для організації обміну даними з пристроями, швидкодія яких більша ніж у МП;

− INT – сигнал запиту передавання від зовнішнього пристрою, коли він є готовий до роботи.

На шину керування з пристрою керування та синхронізації надходять такі сигнали:

− SYNC – вихід сигналу синхронізації, високий рівень цього сигналу свідчить про те, що по шині даних передається байт стану, який використовується для формування керувальних сигналів для зовнішніх пристроїв;

− WAIT – сигнал підтвердження очікування; його високий рівень свідчить про те, що процесор знаходиться у режимі очікування і виконує такти очікування (холості такти);

− HLDA – сигнал підтвердження прямого доступу до пам’яті або підтвердження захоплення шин; високий рівень цього сигналу свідчить про те, що процесор перевів свої шини адреси, даних та керування у стан високого опору;

− INTE – сигнал дозволу на переривання;

− DBIN – сигнал читання; його високий рівень свідчить про те, що двоспрямована шина даних знаходиться у режимі прийому інформації;

Архітектура мікропроцесорів - student2.ru – сигнал запису; низький рівень цього сигналу свідчить про те, що двонаправлена шина даних знаходиться у режимі видачі інформації, високий – її прийому.

До групи синхронізуючих сигналів відносяться F1, F2,SYNC.До групи сигналів, які інформують МП про стан зовнішніх пристроїв, можна віднести сигнали RESET та READY. Сигнали запитів на дозвіл роботи від зовнішніх пристроїв та відповідні сигнали від МП – це сигнали HOLD, HLDA,INT,INTE.Сигнали WAIT, DBIN, Архітектура мікропроцесорів - student2.ru свідчать про стан процесора та шини даних.

Наши рекомендации