Функціонування операційного пристрою 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Функціонування операційного пристрою



 

 

Призначення операційного пристрою (ОУ) - опрацювання поточних операндів А в відповідності з заданою операцією (процедурою) Z і видача результатів В=Z(A) цього опрацювання. Наприклад; ОУ може виконувати операцію додавання з плаваючою точкою двох операндів А1 і А2.

Як відомо, ОУ може бути представлено в виді двох взаємодіючих автоматів: операційного і керуючого (рис.1).

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

 

       
   
 


Z A

 
 


КА у ОА В

х {R}

 
 

 



Рис. 1. Структура операційного пристрою

 

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

а) множиною підметів реалізації мікропрограм {Z};

б) множиною вхідних сигналів {X};

в) множиною вихідних сигналів У = {У1, У2,..., Уm}.

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

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

УА виробляє визначену в часу послідовність керуючих сигналів У1, У2, Уі (У(t)), що породжують в ОА потрібну послідовність МО. Генеруємая УА послідовність У(t) визначається поступаючими на входи УА кодом операції Z, інформаційними сигналами X, котрі несуть інформацію про особливості операндів, проміжних і кінцевих результатах операцій, а також сінхроимпульсами СІ, що задають межі тактів.

Звичайно ОА представляється у вигляді регистрової структури, тобто сукупності {R} багатофункціональних регістрів (БФР) із своїми шинами і комбінаційними схемами, призначеними для формування функцій збудження тригерів, із яких складаються регістри, і вихідних сигналів ОА. При цьому використовується мова мікрооперацій [1], у який є прості і наочні засоби опису операндів і регістрів, пам'яті, їхніх елементів і частин, а також описи мікрооперацій.

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

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

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

 

 

2. СІНТЕЗ БАГАТОФУНКЦІОНАЛЬНОГО РЕГІСТРА

 

2.1. Особливості БФР

 

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

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

Приклад. Роздивимося БФР як операційний елемент деякого цифрового устрою (рис. 2). У даному випадку змінні без пам'яті А1(0:15), А2(0:8), В(0:15) інтерпретуються (реалізуються фізично) шинами, а змінна з пам'яттю R(0:15) - регістром R.. у1, у2,..., У6 - мікроопераціями, котрі виконуються даним БФР, причому МО У1, У2, УЗ опрацьовують усі 16 розрядів, а У4, У5 - розряди з 8-го по 15-й: У5 - мікрооперація, котра виконувється шиною В: XI - інформаційний сигнал, що є функцією значень розрядів R з 12-го по 15-й: розрядне поле регістра R розбито на трьох сегмента: (0:7); (8:11), (12:15).

 

 

Рис. 2. БФР у виді операційного елементу

 

Множина Y МО умовно можна розділити на дві підмножини: У1 = (У1,..., У2) і У2 = (yg+1…ym). До першого віднесемо такі МО, у результат виконання яких відбуваються зміни вмісту регістра. Ці МО описуються оператором присвоювання Рг: = f(А1,А2……..Ак,Рг) де f - деяка функція від значень операндів, що надходять по вхідних шинах – А1 А2,...Ак, а також від умісту регістра Рг, що існувало в ньому до моменту виконання даної МО.

До підмножини У2 віднесемо такі МО, у результаті виконання яких не відбувається зміни вмісту -регістра, але здійснюється передача в деяку сукупність вихідних шин кодів, що залежать у загальному випадку і від умісту регістра Рг, і від кодів на вхідних шинах. Ці МО описуються оператором присвоювання виду

В1.,В2...Вs:= Ф(Рг, А1, А2..... Ак).

де В1, В2,.... Вз - множина вихідних шин: Ф - -деяка Функція від умісту регістра Рг і. вхідних шин А1..... Ак: "." - знак операції конкатенации.

Структура БФР з урахуванням розбивки множини МО У на підмножини У1 і У2 подана на рис. 3 Тут перша комбінаційна схема (КС1) управляється мікроопераціями з підмножини У1 а друга (КС2) - із підмножини У2 власне регістр може бути синхронним або асинхронним. Відзначимо, щоб схемою КСЗ виробляються ознаки X результату опрацювання регістром вхідних перемінних А та можливо, попереднього значення регістра.

 

 

Рис. 3. Структура багатофункціонального регістра

Таким чином, БФР - це автомат із пам'яттю, у якого вхідними є змінні А1 А2 …. Ак і множина мікрооперацій У,.а вихідними - В1, В2,..., Вs і X. Для синтезу такого автомата проводять його, декомпозицію, крайнім випадком якої є розбивка даного автомата на елементарні одноразрядні автомати; при цьому розглядається n автоматів із двома станами.

У більшості реальних випадків немає необхідності в повній декомпозиції оскільки мікрооперація, як правило, - це сукупність дій над групами розрядів (сегментами): таким чином, декомпозиція зводиться до розбивки поля БФР на сегменти, усередині яких дії, виконувані над розрядами сегмента, ідентичні.

 

Сегментація

 

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

Методика розбивки на сегменти, тобто сегментація, заснована на том. що по черзі розглядається кожна МО, виконувана БФР або шиною, при цьому виявляються розряди регістра (шини), що виконують ту саму функцію. Потім розглядається вся сукупність МО (при синтезі КС1 =У1, КС2 =У2,) і проводиться перетинання вихідних сегментів: при цьому утворяться нові сегменти, що також складають розрядне поле БФР або шини.

Сегменти для однієї МО звичайно виділяються знаками конкатенации. Нехай, наприклад, для МО у1 та у2 маємо:

У1: Рг:=Рг V А,

У2: Рг (О:15):=(Рг)(0:5)) & А(0:5).А(6:15).

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

В другому випадку старші 6 розрядів БФР виконують функцію порозрядної кон`юнкції вхідного слова і слова, що зберігається в регістрі, а інші його 10 розрядів повторюють значення частини вхідного слова. Отже, поле БФР можна розбити на два сегменти: {0:5} і {6:15}.

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

Приклад. Нехай для деякої 16-бітової перемінної з пам'яттю R множина МО складає У1={У1, У2, УЗ, У4), де У1, У2 - МО, аналогічні розглянутим вище (змінну Рг варто замінити на змінну R), а МО у3, у4 описані слідуючим чином.

У3: R(0:15):= ((А(0:3).А(4:13):

У4: R(0:15): = ЯКЩО R(0), ТО R (0:15) ІНАКШЕ (R(0:11) А (0:11)). А (12:15)

Зрозуміло, що для МО у3 необхідно розбієння поля R (0:15) на сегменти (0:3), (4:13) та (4:15), а для МО у4 - на сегменти (0:11) та (12%15), оскільки дані сегменти оброблюється різними засобами.

На рис. 4 представлені сегменти для кожної МО множини У1 відміченні на відрізках, що відображають розрядку сітку змінної R, а також результативне розклад такого відзрізка. Видно, що змінна R на множині У1 має

Рис. 4. Приклад сегментації

 

 



Поделиться:


Последнее изменение этой страницы: 2016-07-11; просмотров: 42; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.150.109 (0.014 с.)