Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект одам 21.06.16.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.45 Mб
Скачать

2. Архітектура мікропроцессора та запам'ятовувальних пристроїв.

Універсальні комп'ютери поділяються на три функціонально зв'язані апаратні частини: процесор, пам'ять і периферійні пристрої. Процесор — це основна функціональна частина комп'ютера, яка інтерпретує й виконує команди, тобто безпосередньо реалізує програмно-керований процес обробки даних. Процесор, який виконує в обчислювальній системі основні функції, називають центральним (ЦП). Спеціалізований процесор, призначений для керування зовнішніми пристроями (накопичувачами, дисплеями, принтерами та ін.) називають контролером. Процесор характеризується архітектурою, до якої відносять: •  список арифметико-логічних операцій (система команд); •  типи і формати команд і даних; •  організацію адресного простору пам'яті і периферійних пристроїв; •  способи адресації команд і даних; •  функції складових частин і структуру зв'язків з іншими пристроями машин та режими роботи. Процесор складається з пристрою керування, арифметико-логічного пристрою та блоку інтерфейсу (БІФ) для з'єднання із зовнішнім середовищем — пам'яттю, периферійними пристроями (рис. 1). Оброблення даних здійснюється в АЛП, який містить арифметико-логічний блок АЛБ, блок РЗП, блок контролю БК і місцевий блок керування при децентралізованому керуванні. Арифметико-логічний блок має універсальний двійковий комбінаційний суматор, двійково-десятковий суматор або схему десяткової корекції, регістри для  тимчасового зберігання двох операндів і результату операцій та регістр прапорців.   

Структура процесора.    Для  підвищення  продуктивності  в АЛП можуть включати спеціалізовані вузли-зсувачі, помножувачі, схеми прискореного переносу та інші пристрої. В РЗП зберігаються початкові дані, проміжні та кінцеві результати, адреси даних, константи, які необхідні в процесі виконання команди. Всі операції в АЛП реалізуються як просторово-часові послідовності мікрооперацій над двійковими словами, кожна з яких є сукупністю булевих операцій над бітами слів. В АЛП реалізуються такі типові мікрооперації: • передачі слів між регістрами та регістрами і пам'яттю; • додавання двох слів, декремент (мінус 1) або інкремент (плюс 1) слова; • арифметичні, логічні та циклічні зсуви вправо чи вліво; • порозрядні логічні операції АБО, І, виключальне АБО та порівняння операндів; • перетворення кодів слів — інверсія, доповнення, розширення та ін. Пристрій керування ПК керує процесом оброблення даних, забезпечує основнірежими роботи (початкових установлень, очікування, переривання, прямого доступу до пам'яті, діагностики і контролю) та взаємодію всіх пристроїв комп'ютера. Для виконання цих функцій ПК має в своєму складі регістр і дешифратор команд, програмний лічильник для задання адреси наступної команди, блок керування та схеми синхронізації, діагностики й контролю. До складу процесора можуть входити спеціальні системні засоби (служба часу, засоби міжпроцесорного зв'язку, пульт керування та ін.). Пристрій керування послідовно зчитує код команди з пам'яті і розміщує його в регістр команд (інструкцій). Блок керування дешифрує команду і формує послідовності керуючих сигналів. Для виконання однієї мікрооперації в АЛП необхідний один керуючий сигнал. В одному машинному такті реалізується сукупність мікро операцій — мікрокоманда. Множина мікрокоманд створює мікропрограму команди. Кожна команда має свою мікропрограму, час виконання якої називається командним циклом. Розрізняють апаратні, мікропрограмні та комбіновані блоки керування. Апаратні блоки керування побудовані на основі схемної логіки, а мікропрограмні — програмованої логіки (мають пам'ять мікропрограм). Комбіновані блоки керування використовують обидва способи їхньої реалізації. При централізованому керуванні один ПК керує процесом оброблення команд і даних у всій машині. При децентралізованому керуванні ПК формує основні керуючі сигнали, а опрацюванням даних керує місцевий блок керування, розміщений в АЛП. Зазначимо, що всі команди в комп'ютері реалізуються на основі принципу мікропрограмного керування, тобто виконання мікропрограм. В той же час ПК з програмованою логікою також називають мікропрограмними. Методологічно ці поняття слід розрізняти. Мікропроцесор являє собою процесор, складові частини якого мініатюризовані та розміщені в одній або декількох мікросхемах. Історія мікропроцесорів почалася в 1971 p., коли фірма Intelрозробила перший у світі чотирирозрядний процесор 4004, а через рік — восьмирозрядний 8008. На основі мікропроцесорів створено нову елементну базу — мікропроцесорні засоби, на яких будують сучасні комп'ютери. У наш час терміни "процесор" і "мікропроцесор" сприймають як синоніми. Мікросхема, яка виконує функції мікропроцесора або його частини, називається мікропроцесорною. Сукупність мікропроцесорних та інших мікросхем, які сумісні за конструктивно-технологічним виконанням і призначені для спільного використання, називається мікропроцесорним комплектом (МПК). До характеристик мікропроцесорних ІМС відносяться: розміри кристала і кількість транзисторів у ньому, тип корпусу і кількість виводів. Найбільш важливими статичними і динамічними електричними параметрами мікропроцесорів як мікроелектронних виробів є: • кількість джерел живлення та їхня напруга; • струм і потужність споживання; • кількість серій синхроімпульсів, їхні частота і амплітуда; рівні логічних сигналів; • вхідна і вихідна ємності, навантажувальна здатність; • час затримки розповсюдження сигналів, число операцій в секунду над операндами, які зберігаються в регістрах-акумуляторах. Залежно від умов експлуатації до мікропроцесорних ІМС можуть пред'являтися спеціальні вимоги щодо додержання: • температурного діапазону роботи і режиму зберігання; • стійкості до радіаційних і електромагнітних впливів, вібрацій та ударів; • маси і габаритів; • інтенсивності відмов, напрацювання на відмову, надійності функціонування. Мікропроцесор, призначений для використання функціонально повного наборуоперацій, є універсальним, інакше — спеціалізованим. За конструкцією розрізняють такі мікропроцесори: • однокристальні — виконані у вигляді єдиної мікросхеми (рис. 2, а); • багатокристальні (модульні) — побудовані з мікросхем, кожна з яких виконує функції пристрою комп'ютера (рис. 2, б); • розрядно-нарощувальні (секційні); розрядність їхня може збільшуватися за рахунок декількох мікропроцесорних секцій, об'єднаних спільними шинами

а) — однокристальні; б) — багатокристальні; в) — секційні  . – Конструкції мікропроцесорів.

Усі мікропроцесори мають засоби сполучення із зовнішніми пристроями — інтерфейси (ІФ). Для виробництва мікропроцесорів використовують усі види схемотехніки (технології): ТТЛШ, ЕЗЛ, І2Л, n-МОН, р-МОН, КМОН та ін. Залежно від режиму роботи розрізняють такі процесори: • однопрограмні (виконують одну програму) і багатопрограмні (мають засобі для одночасного виконання кількох програм); • мультипроцесори (системи, в яких одночасно можуть бути активними декілька процесорів); • конвеєрні (команди виконуються послідовно рядом пристроїв, причому різні пристрої можуть одночасно обробляти відповідні частини декількох команд); • матричні (мають спеціальну архітектуру, розраховану на оброблення числових масивів); • співпроцесори (арифметичні розширювачі) — призначені для розширення списку команд ЦП; самостійно не використовуються; • периферійні - виконують функції введення-виведення інформації • асоціативні процесори, в яких характер обробки даних визначається змістом самих даних. За видом оброблюваної інформації розрізняють цифрові (звичайні) та аналогові мікропроцесори. В аналогових мікропроцесорах на вході використовують АЦП для перетворення аналогових величин в цифровий код, а на виході — схеми ЦАП, які перетворюють цифрові дані в аналогові. Основні терміни та визначення:

адреса - вказівка ​​місця розташування об'єкта в пам'яті ЕОМ;

алгоритм - набір приписів, однозначно визначають зміст і послідовність виконання операцій для сіс¬тематіческого вирішення певної задачі;

аналого-цифровий перетворювач (АЦП) - пристрій, пре¬образующее безперервний (аналоговий) сигнал в дискретні цифрові величини;

арифметичне-логічний пристрій (АЛП) - функціональ¬ная частина процесора, що виконує арифметичні і логічні дії над даними;

Асемблер - системна обслуговуюча програма, преобра¬зующая символічні інструкції в команди машинної мови і дозволяє виробляти діагностику, формування посилань для редактора зв'язків і т. Д .;

байт - обробляється як єдине ціле елемент даних, що складається з послідовності двійкових розрядів; в мікро-ЕОМ зазвичай використовується восьмибитового байт;

БЕЙСІК - популярний алгоритмічний мову программіро¬ванія високого рівня, спочатку створений для цілей навчання програмуванню. Мова має відносно простий сін¬таксіс, що полегшує його швидке освоєння;

біт один двійковий розряд машинного слова або одиниця інформації, що приймає значення 0 або 1;

бод - одиниця швидкості передачі інформації последователь¬ним двійковим кодом (біт в секунду);

буфер - пристрій, що запам'ятовує для тимчасового зберігання дачних з метою узгодження асинхронно працюючих пристроїв, або область ОЗУ, тимчасово резервируемая для виконання про¬цедури введення-виведення;

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

вбудована мікроЕОМ - мікроЕОМ, конструктивно прі¬способленная для роботи в складі приладів і обладнання;

графічний пристрій - пристрій виведення, призначений для представлення даних у вигляді графічного зображення на папері;

діалоговий режим - режим взаємодії користувача з ЕОМ, при якому кожен запит користувача викликає не¬медленное відповідна дія ЕОМ;

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

довжина слова - кількість бітів в одному машинному слові;

доступ (звернення) - процедура встановлення зв'язку з ЗУ для вибірки / запису даних;

ємність пам'яті - найбільший обсяг даних, виражений в одиницях інформації, який може одночасно зберігатися в ЗУ;

завантажувач - обслуговуюча програма для завантаження об'¬ектной програми в ОЗУ;

пристрій (ЗУ) - виріб, що реалізує функціональну частину ЕОМ, яка призначена для запомі¬нанія і (або) видачі інформації;

інтерпретатор - обслуговуюча програма, осуществляю¬щая пооператорную трансляцію і виконання вихідної про¬грамми;

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

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

команда - припис, що визначає крок процесу випол¬ненія програми. Містить вказівку операції, адреса операндів і інші службові ознаки;

компілятор - обслуговуюча програма, яка виконує трансляцію на машинну мову програми, записаної на вихідному мові програмування;

контролер - пристрій, що виконує функції управління, передачі даних і звільняє від цих функцій процесор;

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

непряма адресація - система адресації, при якій ад¬ресная частина інструкції містить адресу комірки пам'яті, содер¬жащей прямий адресу або інший непрямий адреса;

 магістраль - сукупність шин, що зв'язують собою всі пристрої мікропроцесорної системи;

маркер (курсор) - спеціальний знак на екрані дисплея для вказівки певних позицій або елементів;

машинне слово - послідовність бітів або знаків, трактується в процесі обміну або обробки як єдиний елемент даних;

машинний код - двійковий код, в якому за специфічними для даної ЕОМ правилам кодується її система команд;

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

мікропроцесорний комплект - сукупність мікропроцес¬сорних та інших інтегральних мікросхем, сумісних по кон¬структівно-технологічного виконання п призначених для спільного застосування;

мікроЕОМ - ЕОМ, що складається з мікропроцесора, полупро¬водніковой пам'яті, засобів зв'язку з периферійними пристроями та при необхідності пульта управління і джерела живлення, об'єднаних загальною конструкцією;

модем - модулятор і демодулятор, об'єднані в одному пристрої і здійснюють перетворення сигналів для пе¬редачі їх по лінії зв'язку;

монітор - записана в ПЗУ системна програма, реалізу¬ющая операції обміну з зовнішніми пристроями і допомагає здійснити налагодження програм;

накопичувач на гнучкому магнітному диску - зовнішнє ЗУ, в ко¬тором носіями інформації є змінні гнучкі маг¬нітние диски;

однокристальна ЕОМ - мікроЕОМ, побудована у вигляді од¬ной великий або надвеликої інтегральної схеми;

операнд - елемент даних, над яким виконується опера¬ція;

оперативний пристрій (ОЗУ) - ЗУ з прямою адресацією, що відрізняється швидкістю доступу;

оператор - допустима в мові програмування сінтаксі¬ческая конструкція, яка відображає певну дію в про¬грамме (привласнення значення, передачу управління і т. д.);

операційна система - комплекс взаємопов'язаних управля¬ющіх і обслуговуючих програм, що забезпечують автоматіче¬ское управління обчислювальними процесами і ресурсами ЕОМ при вирішенні завдань;

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

підпрограма - частина програми, яка припускає многократнoe звернення до неї з різних точок програми;

користувач-особа, яка використовує дане обчислювальний пристрій для виконання необхідних йому робіт;

порт введення-виведення - засіб для підключення періферій¬них пристроїв до ЕОМ;

послідовний порт - порт введення-виведення, через який дані передаються і приймаються послідовно розряд за розрядом;

постійний запам'ятовуючий пристрій (ПЗУ) -зу з незмінним змістом пам'яті;

переривання - тимчасове припинення виконання поточної програми і перехід до виконання програми обслуговування пристрою, що викликав переривання;

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

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

програматор - спеціальний пристрій для запису подго¬товленних користувачем програм в ППЗУ або РПЗУ;

програмований постійний запам'ятовуючий пристрій (ППЗУ) -ПЗУ в яке інформація заноситься одноразово користувачем і після цього не змінюється;

програмна сумісність - можливість виконання од¬ніх і тих же програм на ЕОМ різних типів з отриманням ідентичних результатів;

програмне забезпечення - сукупність програм, обеспе¬чівающіх реалізацію функцій мікроЕОМ, мікропроцесорного пристрою або системи;

пряма адресація - система адресації, при якій адрес¬ная частина інструкції містить адресу, що визначає непосред¬ственно елемент пам'яті або місце на носії, що містить тре¬буемий операнд;

прямий доступ в пам'ять - метод, що дозволяє з великою швидкістю здійснювати завантаження даних з периферійного уст¬ройства прямо в оперативне ЗУ;

регістр - функціональний блок для зберігання машинного слова або його частини;

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

режим роботи в реальному масштабі часу - режим рабо¬ти системи, що забезпечує прийом до обробки даних у міру їх надходження без будь-яких обмежень і видачу результа¬тов в необхідні інтервали часу;

репрограмміруемом постійний запам'ятовуючий пристрій (РПЗУ) -зу, в яке інформація, що підлягає зберіганню, за¬носітся багаторазово, але при цьому час запису значно пре¬вишает час вибірки;

секційний мікропроцесор - мікропроцесор, отриманий на основі поєднання однотипних 2-, 4-, 8- або 16-розрядних мікропроцесорних інтегральних схем, кожна з яких має в своєму складі АЛУ і кілька загальних регістрів. Параллель¬ное з'єднання цих мікросхем дозволяє побудувати мікроЕОМ з будь-якої бажаної довжиною машинного слова;

мережу мікроЕОМ - система з'єднаних між собою і обмінюються інформацією мікроЕОМ;

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

система команд - повний набір всіх інструкцій, допусті¬мих в машинному мовою даної ЕОМ;

стек - пам'ять магазинного типу;

лічильник команд - регістр, на основі вмісту якого виробляється адресу наступної команди;

технічне забезпечення - сукупність технічних компо¬нентов мікроЕОМ, мікропроцесорного пристрою або системи;

покажчик стека - регістр, що визначає адресу верхньої осередки використовуваного стека;

пристрій введення-виведення - пристрій, що забезпечує об¬мен даними між оперативною пам'яттю ЕОМ і періферійни¬мі пристроями;

файл - послідовність записів, що розміщується на внеш¬ніх ЗУ і розглянута в процесі пересилання і обробки як єдине ціле;

центральний процесор - процесорна БІС, безпосередньо здійснює процес обробки даних;

цифроаналоговий перетворювач (ЦАП) - пристрій, пре¬образующее дискретний цифровий сигнал в безперервний аналого¬вий сигнал;

шина - група ліній передачі інформації, об'єднаних загальним функціональним ознакою (наприклад, шина даних, ад¬ресов, управління);

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

мова Асемблер - символічна мова програмування, структура операторів якого визначається форматами команд і даними машинного мови;

мова високого рівня - це мова програмування, кошти якого допускають опис проблеми в наочному, легко вос¬прінімаемом вигляді.

Архітектура мікропроцесора - функціональні можливості апаратурних електронних засобів мікро¬процессора, використовувані для представлення даних, і машинних операцій, опису алгоритмів і процесів

 обчислень.

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

Принципи управління. Мікропроцесор можна пред¬ставіть у вигляді деякого послідовних ціф¬рового пристрої (ПЦУ), що складається з двох частин: операційної і керуючої (рис. 1).

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

Формування керуючих сигналів для виконання не¬которих микрокоманд може зажадати обліку состоя¬нія вузлів операційного ПЦУ або зовнішніх сигналів. Для побудови мікропрограмного автомата (управ¬ляющего ПЦУ) використовуються принципи схемної і про¬грамміруемой логіки. У першому випадку кожної опера¬ціі відповідає свій набір логічних схем, вираба¬тивающіх певні сигнали для виконання мікрооперацій в певні моменти часу. При такому способі побудови керуючого ПЦУ микрооперации реалізуються за рахунок одного разу со¬едіненних між собою логічних схем, тому такі мікропроцесори називаються МП з жорсткою логікою управління. Це означає, що для МП фіксуються на¬бор команд по числу операцій і структура зв'язків між вузлами, що забезпечують задану послідовність виконання кожної операції (рис. 2). У керуючому пристрої (УУ) передбачаються ряд вузлів для ви¬полненія різних операцій на одному і тому ж обо¬рудованіі операційного пристрою (ОУ). Кожній ви¬полняемой в МП операції відповідає команда. Команда надходить з ОЗУ, і за допомогою дешифратора команд в УУ її код перетвориться в сигнали, які включають вузли управління процесом виконання опера¬ціі. Реалізація принципу схемної логіки в МП озна¬чает практичну неможливість змін у системі команд після виготовлення МП. Вона призводить до вузької спеціалізації БІС, що знижує серійність випуску і здорожує їх виробництво.

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

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

Структура мікрокоманд (МК) представлена ​​на рис. 3, б. Мікрокоманда містить поле адреси, поле умовних переходів, поле керуючих сигналів. За вмістом поля адреси визначається адреса следую¬щей МК. Для реалізації умовних переходів в МК передбачається поле умовних переходів, в якому вказується наявність безумовного або умовного пере¬хода, а в разі умовного переходу зазначаються умови визначення адреси черговий МК. Поле керуючих сигналів МК служить для організації функціонірова¬нія ОУ. У УУ передбачаються керуюча пам'ять (УП) і блок мікропрограмного управління (БМУ).

Надходить з ЗУ команда використовується для опре¬деленія за допомогою БМУ адреси першої МК тієї мікро¬программи, яка реалізує задану командою опе¬рацію. Адреси наступних МК визначаються БМУ сле¬дующім чином.

У МК передбачається поле адреси, яке содер¬жіт адресу черговий МК. У разі умовного переходу один з розрядів поля умовних переходів відводиться для вказівки виду переходу (наприклад 0 - безуслов¬ний перехід 1 умовний перехід). Для кожного ус¬ловія відводиться розряд, який визначає участь даного умови у визначенні адреси. Залежно від усло¬вія утворюються два розрізняються молодшим розрядом адреси і чергова МК зчитується з однієї чи іншої комірки УП. В результаті виходить розгалуження на два напрямки. Таким чином, мікрокоманда може бути розбита на дві. Мікрокоманда МУ визначає функціо¬нірованіе БМУ при визначенні адреси черговий МК по полю адреси і полю умовних переходів. Мікро¬команда ОУ визначає функціонування ОУ по полю керуючих сигналів.

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

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

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

Для більшості МП є можливість обеспе¬ченія багаторазового переривання переривань. В цьому випадку допускаються переривання всередині переривань, що веде до появи послідовності вкладених один в одного підпрограм. Для збереження і повернення даних при реалізації переривань використовується стек. Стек являє собою совокуп¬ность осередків пам'яті, організованих так, що звернення до списку слів може відбуватися в процесі, зворотному записи. У стеці останнім із записаних слів вважається першим. У стеці завжди читання або запис відбувається у верхній клітинці. При задоволенні запиту на пре¬риваніе поточної програми здійснюється запис со¬стоянія робочих регістрів МП в стек, при цьому авто¬матіческі додається в покажчик стека одиниця пос¬ле кожного запису. Тому за допомогою однієї команди «Записати стан в стек» здійснюються счітива¬ніе регістрів і зберігання вмісту в стеці. Восста¬новленіе також відбувається автоматично по команді «Відновити стан перерваної програми», кото¬рая ставиться останньою в підпрограмі переривання.

Запити переривання в більшості МП поділяються на немасковані і маскуються.

 Немасковані запро¬си на переривання реалізуються апаратно поза програм¬много контролю і не керуються програмно. Ці пре¬риванія мають вищий пріоритет, виконуються раніше інших запитів на переривання. Прикладами немаскі¬руемих запитів можуть служити запити на переривання від схем харчування, схем контролю правильності передачі даних.

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

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

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

Організація введення-виведення даних. Існують раз¬лічние способи обміну даними між МП і іншими пристроями.

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

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

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

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

Типова структура мікропроцесора наведено на рис. 4. Мікропроцесор складається з трьох основних блоків: арифметичне-логічний пристрій (АЛП), блок внутрішніх регістрів, пристрій управління. Об'єднує ці блоки інтерфейс.

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

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

Арифметичне-логічний пристрій складається з двійкового суматора зі схемами прискореного перенесення ,. зрушується регістра і регістрів для тимчасового зберігання опе¬рандов. Зазвичай цей пристрій виконує по командам кілька простих операцій: додавання, віднімання, зсув, пересилання, логічне додавання (АБО), логічне множення (І), додавання по модулю 2, інверсія, збільшення положітель¬ное і негативне.

Важлива складова частина мікропроцесора - регі¬стри. Кожен регістр мікропроцесора можна іс¬пользовать для тимчасового зберігання одного слова даних. Деякі регістри мають спеціальне на¬значеніе, інші - багатоцільове. Останні назива¬ются регістрами загального призначення (РОН) і можуть використовуватися програмістом на його розсуд. Кількість і призначення регістрів в мікропроцессо¬ре залежать від його архітектури.

Регістри загального призначення (РОН). Більшість МП мають в своєму складі набір регі¬стров, використовуваних як запам'ятовуючих уст¬ройств. Так як АЛУ може здійснювати операції з вмістом РОН без виходу на зовнішню магістраль адрес і даних, то вони відбуваються багато швидше, ніж операції із зовнішньою пам'яттю. Тому іноді РОН називають сверхоперативной пам'яттю. Коліче¬ство РОН і можливість програмного доступу до них у рівних мікропроцесорів різні.

Буферний регістр призначений для времен¬ного зберігання (буферірованія) даних.

Буферний регістр адреси служить для прийому і зберігання адресної частини виконуваної команди. Інакше кажучи, адреса слова в ньому міститься до видачі на адресну шину. Можлива кількість адрес, т. Е. Безпосередньо адресованих слів па¬мяті, визначається розрядністю цього регістра. Так, в 16-раз¬рядном регістрі, змінюючи значення розрядів двухбайтового слова, можна помістити будь-який з 216 = 65536 адрес осередків (слів) пам'яті.

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

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

осередок. За сигналами УУ здійснюється вибірка кожної нової, чергової команди.

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

Конкретні МП можуть отлічать¬ся один від одного, але кожен з них містить следую¬щіе основні вузли і пристрої: арифметичне-логічний пристрій (АЛП); пристрій управління (УУ); регістри (Рг); інтерфейс.

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

Операцією іншого типу, що використовує аккумуля¬тор, є програмована передача даних з однієї частини мікропроцесора в іншу. Наприклад, пересилання даних між портом вводу-виводу і пам'яттю, між двома областями пам'яті і т. Д. Ви¬полненіе операції «програмована передача дан¬них» здійснюється в два етапи: спочатку виполня¬ется пересилання даних з джерела в акумулятор, потім - з акумулятора в пункт призначення.

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

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

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

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

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

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

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

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

Лічильник команд можна завантажити іншим содержі¬мим при виконанні особливої ​​групи команд. Може виникнути необхідність виконати частину програм¬ми, яка «випадає» з послідовності ко¬манд основний (головною) програми. Наприклад, та¬кую частина програми, яка повторюється в процес¬се виконання всієї програми. Замість того щоб писати цю частину програми кожного разу, коли в ній виникає необхідність, її записують один раз і повертаються до її повторного виконання, відступаючи від зазначеної послідовності. Частина програми, що виконується шляхом відступу від последовательнос¬ті команд головної програми, називається подпрог¬раммой. В даному випадку в лічильник команд непосред¬ственно записується потрібну адресу.

Часто лічильник команд має набагато більше раз¬рядов, ніж довжина слова даних мікропроцесора. Так, в більшості 8-розрядних мікропроцесорів, число розрядів лічильника команд дорівнює 16.

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

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

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

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

У більшості мікропроцесорів регістри адре¬са пам'яті і лічильника команд мають однакову колі¬чество розрядів. Як і лічильник команд, регістр адре¬са пам'яті повинен мати у своєму розпорядженні кількістю розрядів, достатнім для адресації будь-якій області пам'яті мікроЕОМ. У більшості 8-розрядних мікропро¬цессоров кількість розрядів регістра адреси памя¬ті дорівнює 16.

Оскільки регістр адреси пам'яті підключений до внутрішньої шини даних мікропроцесора, він може завантажуватися від різних джерел. Більшість мікропроцесорів мають командами, позволяю¬щімі завантажувати цей регістр вмістом лічильника команд, регістра загального призначення або будь-якої області пам'яті. Деякі команди надають можливість змінювати вміст регістра адреси пам'яті шляхом виконання обчислень: нове значе¬ніе вмісту цього регістра виходить шляхом додавання або віднімання вмісту лічильника ко¬манд з числом, зазначеним в самій команді. Адреса¬ція такого типу називається адресацією з іспользова¬ніем зміщення.

Регістр стану призначений для хране¬нія результатів деяких перевірок, здійснюваних в процесі виконання програми. Розряди регістра станів приймають те чи інше значення при ви¬полненіі операцій, що використовують АЛУ і деякі регістри. Запам'ятовування результатів згаданих прове¬рок дозволяє використовувати програми, що містять

переходи (порушення природної последовательно¬сті виконання команд).

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

Розглянемо деякі найбільш часто іспользуе¬мие розряди регістра стану.

1. Перенесення / позику. Даний розряд вказує, що остання виконана операція супроводжувалася перенесенням або заемом (негативним переносом). Значення розряду переносу встановлюється рівним 1, якщо в результаті складання двох чисел має мес¬то перенесення з старшого розряду АЛП. Негативний перенесення (позика) фіксується в регістрі стану при відніманні більшого числа з меншого.

2. Нульовий результат. Приймає едініч¬ное значення, якщо після закінчення операції у всіх розрядах регістру результату виявлені виконавчі нулі. Установка цього розряду в 1 відбувається не тільки при негативному прирості вмісту регістра, але і при будь-якій іншій операції, результат якої - число з довічних нулів.

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

Багато мікропроцесори мають дополні¬тельнимі розрядами станів. У деяких предус¬мотрени спеціальні команди для скидання або очіст¬кі всіх розрядів стану.

Покажчик стека. Стек - це набір регістрів мікропроцесора або осередків оперативної пам'яті, от¬куда дані або адреси вибираються «зверху» по прі¬нціпу: першим - надійшов останнім. При запі¬сі в стек чергового слова видалено всі слова зміщуються на один регістр вниз. При вибірці сло¬ва з стека залишилися слова переміщаються на один регістр вгору.

Зазначені процедури ілюструє рис. 5. Тут стек складається з семи регістрів. Якщо в стек за¬гружается якесь слово, наприклад А5, то воно за¬пісивается в верхньому регістрі, а кожне зі слів А1 ... А4 переміщається в сусідні нижні регістри. Якщо ж А5 вилучають із стека, то кожне з слів А1 ... А4 переміщається в сусідні верхні регістри. Не можна витягти А4 раніше А5, тобто автоматично ре¬алізуется зазначений вище принцип. Стек зазвичай іс¬пользуется в мікропроцесорах для зберігання адрес повернення при зверненні до підпрограм, а також для запам'ятовування стану внутрішніх регістрів при обробці переривань. При організації стека в па¬мяті час на звернення до нього дорівнюватиме циклу звернення до пам'яті. Ця операція виконується зна¬чітельно швидше, якщо стек у вигляді набору регістрів входить до складу мікропроцесора. Важливим парамет¬ром в такому випадку є число регістрів стека. При спробі записати в стек більшу кількість слів, ніж число його регістрів, перше слово буде уте¬ряно. У деяких мікропроцесорах при переполне¬ніі регістрів стека відповідні слова запіси¬ваются в стек пам'яті.

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

На рис. 6 покажчик стека є трьохрозрядний регістр з двійковим поданням інформації. Спочатку покажчик стека содер¬жіт число 0112- Це означає, що останній еле¬мент - «верхівка стека» - знаходиться в регістрі

Принципы работы стека

Адресация элемента стека с использованием указате­ля стека

з адресою 0112 (або 310). При операції завантаження в ре¬гістр 410 записується число А5, а вміст указа¬теля стека змінюється так, що він вказує на ре¬гістр 410. При операції вилучення нз стека проізво¬дятся зворотні дії.

Схеми управління. Роль схем управління в мікропроцесорі полягає в підтримці требу¬емой послідовності функціонування всіх ос¬тальних його ланок. За сигналами схем управління чергова команда витягується з регістра команд. При цьому визначається, що необхідно робити з дан¬нимі, а потім забезпечується послідовність дій для виконання поставленого завдання.

Система шин микроЭВМ

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

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

Система шин. На характеристики мікропроцесора великий вплив робить спосіб організа¬ціі його зв'язки з зовнішнім середовищем - пристроями вво¬да - виведення (УВВ) і запам'ятовують (ЗУ). За способом організації зв'язків із зовнішнім сре¬дой розрізняють мікропроцесори з мультіплексіро¬ванной шиною адреси і даних (рис. 7, а) і з раз¬дельнимі шинами адреси і даних (рис. 7, б). Мікропроцесор з роздільними шинами адрес і даних зображений на рис. 4.

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

література:

1. М.В. Напрасников «Мікропроцесори і мікроЕОМ», стор: 26-35.

      2. В.В. Стригін «Основи обчислювальної, мікропроцесорної техніки

            і програмування »стор: 160-166.

      3. Е.В. Еврєїнов «Цифрова і обчислювальна техніка» стор: 224-231,

           238-246.