Смекни!
smekni.com

Приведена термінологія стосується алгоритма (мал.4). Відповідно ми маємо термінологію і до апаратних засобів, що реалізують алгоритм.

Регістр, в який заноситься операнд перед виконанням над ним операції називається регістром операнда.

Регістр, в який заноситься команда, під дією якої буде виконуватись операція називається регістром команд (РК).

Регістртр, в який заноситься результат виконання опрації називається регістром-акумулятором (РА). В загальному вигляді арифметико-логічний пристрій (АЛП), в якому виконуються окремі мікрокоманди має вигляд, поданий на мал.5.


Запис. Зчит.


Запис. Запис.


Зчит. Зчит.


Мал.5

Розглянемо роботу ААП на прикладі виконання однієї операції. Спочатку по тактових сигналах “Запис” записується в РК код операції, а в РО – операнд. Але при подачі сигналу “Запис” в РО одночасно подається сигнал “Зчитування” з РА. Тому інформація, що зберігається в РА передається в частину РО. Після того, як процеси передачі інформації встановляться, подається сигнал, що забезпечує одночасне зчитування з РО і РК. Завдяки цьому на виходи комбінаційного АЛП одночасно поступають операнд і код операції. Одночасність забезпечується незалежно від того, в якому порядку подаються слова на входи регістрів. В цьому і полягає суть синхронізації. Через інтервал часу, достатній для встановлення процесів в АЛП, подається сигнал на запис результату в РА.

Розглянута схема дозволяє розкрити питання про те, як виконати найпростішу операцію, яка по відношенню до РА може розглядатись як заміна одного слова іншим. Більш повно суть виконання операцій пояснює схема, приведена на мал.6.




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

Процедура виконання операцій зараз проходить в наступній послідовності. З БК поступають сигнали “Зчитування” на вибраний РЗП і сигнал “Запис” на РО. Необхідне слово проходить через внутрішню магісталь з вибраного РЗП в РО. Одночасно з БК поступає код операції на сигнал “Запис” на РК. Після виконання операції з БК поступає сигнал “Запис”, а потім сигнал “Зчитування” на РА і сигнал “Запис” на один з РЗП, куди поступає нове слово через внутрішню магістраль.

Але якщо необхідне слово відсутнє в РЗП, то його необхідно знайти в ОЗП за конкретною адресою. Формуванням адресів ОЗП займається спеціальний блок – блок адресації (БА).

Використовубться наступні способи формування адресів ОЗП.

Безпосередня адресація – адрес елемента пам’яті або декількох адресів формується безпосередньо з БА.

Відносна адресація – з БА виймається частина адресного слова і до нього додається (за правилами арифметики) друга його частина, яка може знаходитись, наприклад, в одному з РЗП.

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

Складна адресація – адрес елемента ОЗП, звідки виймається операнд, або куди розміщується результат, формується в результаті складних перетворень (асоціативна пам’ять). При виконанні окремих дій при відносній та складній адресації БА звертається до АЛП. При таких ситуаціях під дією БК між БА та АЛП проходить інтенсивний обмін інформацією.

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

Етап 1. Чергова команда з сформованої в БА адреса ОЗП через буфер шини данних подається на внутрішню магістраль данних. Буфер данних – це регістр, що вирішує задачі синхронізації при обміні данними процесора з зовнішнім середовищем. Відповідні сигнали синхронізації для звернення до ОЗП формуються в БК. Одночасно сигнали синхронізації поступають в процесор по зовнішній шині керування і в БК перетворюються на необхідні внутрішні сигнали керування. Важливо пам’ятати, що описання внутрішньої мови МП може бути іншим, ніж мова використовуєма АЛП.

Етап 2. Одна частина описання команди через внутрішю магістраль данних поступає в БК, який перетворює її в код операції та необхідний набір сигналів керування. Формування коду операції та керуючих сигналів – головна функція БК. Друга частина описання команди подається в БК, який перетворює її в адрес операнда.

Етап 3. На основі сформованих на попередньому етапі адресів з пам’яті або, як виключення, з РЗП достається операнд, який по внутрішній магістралі данних подається на вхід АЛП. БК при цьому формує всі необхідні сигнали.

Етап 4. АЛП виконує операцію в відповідності до раніше описаної послідовності.

Етап 5. Результат операції через внутрішню магістраль данних подається в РЗП або через буфер данних в ОЗП по адресі, що формується в БА.

Етап 6. БА формує адресу, по якій з БА виймається описання чергової команди.

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

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

Другій спосіб задання послідовності виконання команд – це безумовний та умовний переходи. Безумовний перехід виконується на основі чергового правила алгоритма, тобто: слідом за даним словом виконується правило, команда (описання) якого зберігається в елементі пам’яті з такою адресою. Ця адреса входить до складу команди, або знаходиться по одному з вище описаних способів. В будь-якому випадку адреса чергової команди при реалізації правила безумовного переходу записується в ЛАК, замінюючи раніше існувавше там число. Всі ці дії виконуюються під керуванням БК.

Порядок виконання умовних переходів також задається черговим правилом алглритма. Також правило (команда) окрім адреси елемента пам’яті, що зберігає команду, до якої повинен виконуватись перехід, має описання деякої умови, наприклад a>b . Якщо ця умова виконується, адреса з команди умовного переходу записується в ЛАК, простіше, раніше записане число, що задавало адресу команди, збільшується на 1. Якщо ж умова не виконується, то перехід відбувається за правилами безумовного переходу. Перевірка виконання або невиконання умови виконується в АЛП, які помимо формування результату виконання операції видають спеціальні сигнали, наприклад “Результат=0”, “Результат має (-) знак”, які використовуються при прийнятті рішення і при виконанні умовного переходу.


Використовуються різні способи організації послідовності виконання команд, наприклад переривання. Перериванням називається послідовність дій, в результаті яких виконання даного алгоритма тимчасово припиняється і замість цього починає виконуватись інший алгоритм. Щоб потім повернутись до виконання перерваного алгоритма, в перелік дій по реалізації переривань входять дії по перезапису числа лічильника ЛАК з РЗП в ОЗП. При багатосходинковому перериванні створюється послідовність чисел ЛАК і РЗП, що зберігаються в ОЗП в заданому порядку. Цей порядок забезпечується спеціальним пристроєм – показником стеку (ПС), який також входить до складу БА.

Переривання виконуються по “Запросу на переривання”, що надходить зовні по шині керування.

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

З викладеного виплива важливий висновок: яка б не була операція, що виконується процесором, вона вимагає для реалізації великої кількості сигналів керування. Всі ці сигнали умовно розподіляються на такі групи: