Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Довжина поля КОП

Читайте также:
  1. Максимально припустима довжина кабелю, що простягається в блоки при кріпленні панчохою за оболонку

Визначення формату команди

Відповідно до технічного завдання команда має структуру:

 

Довжина поля КОП

Мінімальна довжина поля КОП визначається за формулою:

nКОП=]log2(M+1)[=]log2(5+1)[=3

 

3.2. Кодування машинних операцій

Ніяких обмежень на коди операцій в полі КОП немає, тому

використовуємо довільні значення кодів.

Коди машинних операцій подано в табл.2.


Таблиця 2

КОП(15:13) Операція
  NOP – нема операції
  + – додавання
  * – множення
  / – ділення
  JNZ – умовний перехід
  HLT – зупинка

 

3.3. Вибір режиму адресації

3.3.1.Пряма адресація

Коди адрес А1(А2,A3) є фізичними. Довжина адресного поля А1(А2,A3)

визначається за формулою:

nA1(A2,A3)=(n-nКОП)/3=(24-3)/3=7.

Через те, що nA1(A2,A3)=7<nФА=16, використання прямої адресації неможливе.

 

3.3.2.Опесердковано-регістрова адресація

У цьому випадку команда має структуру:

де ПА1(ПА2,ПА3) – однака режиму адресації

0 – регістрова

ПА1(ПА2,ПА3) =

1 – опосередкована

R1(R2,R3) – адреси РЗП.

Нехай кількість РЗП NРЗП=8. Тоді довжина поля R1(R2) буде

nRi=]log2NРЗП[=]log28[=3.

Перевіримо виконання умови

nКОП+3*nПАі+3*nRi=3+3+9=15<n=24.

Використання опосередковано-регістрової адресації можливе.

Формат команди мікрокомп’ютера буде:


4. Формати команд і алгоритм функціонування

мікрокомп’ютера

4.1. Формати і цикли команд

На рис.3 наведені формати і цикли команд мікрокомп’ютера. Перші два

такти Твк та Тд є спільними для усіх команд і реалізують вибірку команд з пам’яті та їх декодування. Такти ТО1 та ТО2 забезпечують вибірку операндів на мікрокомандні регістри внутрішньої пам’яті мікокомп’ютера.

 

Рис.3

4.2. Схема алгоритму функціонування мікрокомп’ютера

 

 

Схема алгоритму являє собою сукупність мікропідпрограм (МПП):

- IPL – пуск мікрокомп’ютера та завантаження початкової адреси в програмний лічильник;

- Твк – вибірка команди з пам’яті;

- ТО1, ТО2 – вибірки першого та другого операндів;

- (+,*,/) – відповідні арифметичні операції;

- TO3 – запис результату;

- JNZ – операція умовного переходу;

- HLT – зупинка мікрокомп’ютера.

Переключальній вершині КОП відповідає такт декодування коду операції.

5. Програмно-мікропрограмна модель мікрокомп’ютера

Модель мікрокомп’ютера базується на використанні ВІС КМ1804ВС1, що має регістрову пам’ять ємністю в 16 слів.

У програмній моделі відображені регістри, які представляються в командах мікрокомп’ютера; в мікропрограмній моделі – регістри, вмістом яких оперують мікрокоманди. Моделі мікрокомп’ютера відповідає структура проілюстрована на рис.4.

Рис. 4

 

Регістри R0-R7 є регістрами загального призначення (РЗП). Регістр R8 – програмний лічильник (ПЛ). Регістри R9-R15 є програмно доступними, причому R9, R10 використовуються для зберігання операндів після тактів ТО1 і ТО2, а регістр R11 – для запису результату після завершення такту ТО3.

 

 

Регістри RDI, RDO призначені для короткочасного зберігання даних під час запису в ОП та при читанні з неї. Регістр RA зберігає адресу звернення до ОП.

Регістр команд RK зберігає код команди.

Кнопковий регістр Rкн фіксує адресу першого командного слова програми.

6. Мікропрограми операцій

6.1. Арифметичні операції

6.1.1.Операція «Додавання»

Цю операцію ВІС реалізує апаратно. Мікропрограма операції показана на рис. 5.

Рис.5

Тривалість такту операції Т++*τ, де Р+=1 – кількість процесорних тактів, τ-тривалість процесорного такту.

Т+

 

6.1.2. Операції «Множення» і «Ділення»

У списку операцій ІМС ВС1 операції «*» і «/» відсутні, тому в КП вони реалізуються мікропрограмо. Операції «*» і «/» простіше виконувати над даними в прямому коді. Вважатимемо, що операнди завжди додатні числа, що дозволяє нам дещо спростити загальний алгоритм операцій «*» і «/».

 

6.1.3. Операція «Множення»

Архітектура ВС1 орієнтована на реалізацію першого алгоритму: множення починається з молодших розрядів множника, сума часткових добутків зсувається вправо. Цьому алгоритму відповідає мікропрограмна модель, зображена на рис.6.

 

Рис.6

Алгоритм множення в змістовній формі.

1. Співмножники розміщені в регістрах R9, R10.

2. Перевірка на рівність нулю значень співмножників.

3. Множник з R10 пересилається в регістр RQ.

4. Сумі часткових добутків (R10) присвоюємо значення «0».

5. Вміст RQ зсуваємо вправо на один розряд.

6. Аналізуємо молодший розряд множника (стан тригера Т). Якщо Т=1,

до суми часткових добутків додається множене (R9). Якщо Т=0, до суми часткових добутків додається «0». Утворені суми часткових добутків та множник в RQ зсуваються вправо на один розряд.

7. Пункт 6 повторяються для всіх розрядів множника.

8. Старша частина добутку буде розміщена в R10, молодша частина

добутку – в RQ. Вважаємо, що старша частина 2n-розрядного добутку (в R10) дорівнює 0. Тому добуток буде n-розрядним і пересилається з RQ в R10.

9. Кінець.

 

Граф мікропрограми (ГМП) операції множення показаний на рис.7.

З нього випливає: кількість мікрокоманд k*=7; число процесорних тактів

, де p*min=1

p*max=4+(24-1)*1+1=28 => p*=](28+1)/2[=15

Тривалість такту операції множення буде Т***τ=15τ

 

Рис.7

6.1.4. Операція «Ділення»

Використовуємо першу схему ділення: ділене (залишки) зсуваються вліво, дільник – нерухомий. Мікропрограмна модель операції зображена на рис.8. Вважаємо, що ділене має завжди формат слова. При реалізації алгоритму ділене повинно представлятися у форматі подвійного слова. Старшу частину діленого розміщуємо в R10, молодшу – в RQ. Тому вміст R7=0, a RQ≠0.

 

 

Рис.8.

Реалізація алгоритму починається з перевірки на рівність нулю діленого (R10) та дільника (R9). Якщо умови не виконуються, то ділене пересилається в RQ і в R10 завантажується нуль. Таким чином формується ділене в подвоєному форматі.

У процесі операції в регістрах R10 i RQ формується залишок і при їх подвоєнні звільняються молодші розряди RQ, в які послідовно записуються значення цифр частки, починаючи зі старших розрядів. Значення цифр частки протилежне знаку утвореного нового залишку. На рис.8 відтворена схема формування подвоєного залишку і цифри частки. ГМП ділення, що показаний на рис.9 реалізує алгоритм без відновлення залишку. З нього випливає:

кількість мікрокоманд k / =7; число процесорних тактів p / =](6+23+1+1)/2[=16

Тривалість такту операції множення буде Т // *τ=14τ

 

Рис.9

6.1.5.Операція умовного переходу JNZ

Операція JNZ змінює вміст ПЛ при значенні умови Z≠0. ГМП показаний на рис.10. T=2τ.

 

 

Рис.10

 

6.1.6. Такт збереження ТО3

 

Команда ST – адресна і призначена для захисту вмісту регістра R10 в ОП

або РЗП. ГМП показаний на рис. 11. T=3τ.

Рис.11


 

6.2. Мікропрограми тактів Твк, ТО1, ТО2

6.2.1.Такт вибірки команди Твк

У такті вибірки команди код команди вибирається із ОП на регістр RGK.

Адресацію команд забезпечує ПЛ. ГМП такту показаний на рис.12. Т=2τ.

 

Рис.12

6.2.2.Такти вибірки операндів То1, То2

В цих тактах операнди завантажуються відповідно в регістри R9 та R10.

Джерелом операндів можуть бути регістр РЗП або комірка ОП, що визначається ознакою режиму адресації ПА1(ПА2). ГМП тактів наведений на рис.13.

Т=](3+2)/2[=3τ

 

Рис.13

 

 

6.2.3.Мікропрограма IPL

Мікропрограма IPL забезпечує завантаження початкової адреси програми

в ПЛ з кнопкового регістра Rкн. ГМП зображений на рис.14.

 

6.3. Такт декодування коду операції Тд

У такті Тд виконується ідентифікація операції, яка представлена в полі

КОП регістра RGK. Декодер поля КОП реалізується як ПЗП (ROM) (рис.15) і перетворює код операції в початкову адресу МП операції.

 

Код у полі КОП є адресою комірки ПЗП, в якій записна початкова адреса

МП відповідної операції. У табл.3 наведені ці відповідності. З неї можна визначити такі параметри ПЗП як ємність q та розрядність r комірок.

ПЗП(q:r)=5x3

Для реалізації декодера вибираємо ІМС КР556РТ4, що має організацію РТ4[q x r]=256x4.

Таблиця 3

Адреса (КОП) Початкова адреса МП Операція
    NOP
    “+”
    “*”
    “/”
    “JNZ”

6.4. Розподіл адресного простору пам’яті мікрокоманд

Керуючий пристрій мікрокомп’ютера реалізує принцип програмованої

логіки. Мікропрограми тактів операцій в закодованій формі зберігаються в пам’яті мікрокоманд. Розподіл адресного простору ПМК виконується з урахуванням кількості мікрокоманд в ГМП тактів, способі реалізації декодування поля КОП, а також організації ВІС ВУ4. Орієнтований розподіл мікрокоманд показаний у табл.4.

 

 

Таблиця 4

Адреси АП ПМК Примітка
  CJP16 IPL
  CJP16 NOP
  CJP49 “+”
  CJP54 “*”
  CJP59 “/”
  CJP64 JNZ
6-10 To1  
11-15 To2  
16-18 Твк  
19-24 То3  
25-26 Т+  
27-34 Т*  
35-46 Т/  
47-48 Tjnz  
  CJS6 Цикл “+”
  CJS11
  CJS25
  CJS19
  CJP16
  CJS6 Цикл “*”
  CJS11
  CJS27
  CJP19
  CJP16
  CJS6 Цикл “/”
  CJS11
  CJS35
  CJP19
  CJP16
  CJS47 Цикл JNZ
  CJP16

 

Для керування функціонуванням ВІС ВУ4 використовуються мікрокоди,

символічні позначення яких наведені у табл.4. Наприклад, запис CJP19 – це безумовний перехід до мікропідпрограми операції збереження ST за адресою 19. До загальної кількості мікрокоманд мікропідпрограм додається ще одна – МК виходу з мікропідпрограми.

З табл.4 випливає, що ємність пам’яті МК = 66 комірок. Отже, розрядність адреси ПМК: nАПМК=]log266[=7

 

 

7. Структурна схема мікрокомп’ютера.

Структурна схема мікрокомп’ютера показана на рис.16. До його складу входять: процесор, пам’ять, пристрої вводу/виводу, генератор тактових імпульсів.

 

Рис.16.

 

Процесор.

Склад процесора: БМК, БОД, блок регістрів.

7.1.1. Блок мікропрограмного керування.

Регістр команд RGK призначений для прийому, зберігання та видачі коду команди. Для реалізації RGK використовуємо ІМС КМ1804ИР2.

Умовно-графічне позначення регістра і поле мікрокоманди керування ним показано на рис.17.

 

Рис.17

Кількість ІМС ИР2, які необхідні для реалізації регістра RGK, дорівнює:

n/nИР2=24/8=3

Перетворювач початкової адреси ППА виконує функцію декодера КОП. Реалізується на ВІС КР556РТ4А (рис.18).

Рис.18

Мультиплексор логічних умов MX ЛУ призначений для комутації логічних умов (ЛУ) ПА1, ПА2, ПА3, N, Z, NZ, Т на вхід “СС” ВІС ВУ4. Для вибору ЛУ використовується поле MS в полі мікрокоманди БМК. Розрядність поля визначається за формулою:

nMS=]log2(L+1)[

де L – кількість логічних умов. У нашому випадку L=7.

nMS=]log2(7+1)[=3

Кодування логічних умов в полі MS наведено у табл.5.

Таблиця 5

К(MS) ЛУ
  “1”
  N
  Z
  NZ
  ПА1
  ПА2
  ПА3
  Т

Мультиплексор MX реалізується на ІМС КР1533КП5

 

.

Рис.19

 

Схема керування послідовністю МК призначена для генерації адрес МК і реалізується на ВІС КМ1804ВУ4.

Рис. 20. УГП СКПМК1804ВУ4

 

Мікрокоманда керування ВІС ВУ4 має таку структуру:

  ВУ4  
  I     A     MS   CI CC COM
                                   
                                   

 

 

Пам’ять мікрокоманд ПМК називається керуючою і призначена для зберігання мікропрограм операцій. Орієнтована ємність ПМК 66 комірок. Розрядність комірок ПМК відповідає розрядності МК. Реалізується як ПЗП (ROM) на ВІС КР556РТ17, що має організацію 0,5Кх8. (Примітка: як буде визначено пізніше, розрядність мікрокоманди становить nМК=56, отже для реалізації запам’ятовуючого масиву ПМК потрібно буде взяти 56/8=7 мікросхем РТ17).

Рис. 21. УГП ПЗП на ВІС КР556РТ17

 

Блок мультиплексорів MX призначений для комутації адрес звернень до регістрів загального призначення (РЗП), що представлені в полях R1, R2, R3 коду команди або адрес звернень до регістрів мікрокоманд, що відображені в полях A, B, C регістра RGMK (поле БОД). Структура блока MX представлена на рис.22.

Блок MX реалізується на ІМС КР1533КП11.

Поле БМК коду мікрокоманди має таку структуру:

 

  БМК  
RGMK   ВУ4   MX MX МХ
EN WR   I     A     MS   CI CC COM A B С
                                     

 

Рис.22

 

Функціональна схема блока MX показана на рис.23.

Рис.23

7.1.2. Блок регістрів

 

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

 

Кнопковий регістр Rкн призначений для завантаження та зберігання початкової адреси коду програми ПА=010h. Регістр Rкн реалізується на ІМС КМ1804ИР2. Кількість ІМС ИР2 визначається розрядністю фізичної адреси:

КRкн=nA/nИР2=16/8=2

Структура Rкн показана на рис.24.

Включенням регістра керує поле МК Rкн.

 

Рис.24

 

Регістри даних RDI/RDO служать для прийому/видачі з пам’яті/в пам’ять відповідно. Реалізуються на ІМС КМ1804ИР2. Кількість ІМС становить 24/8=3. Керування функціями RDI/RDO виконують відповідні поля МК.

 

Регістр адреси RA призначений для прийому з БОД адреси, її зберігання та подачі на шину адресу. Розрядність RA=nA=16. Кількість ІМС: 16/8=2. Регістром керує відповідне поле МК.

 

Рис.25

 

Поле МК “RG” має таку структуру:

  RG  
Rкн   RDI     RDO     RA  
EN WR EN WR EN WR EN
                         

 


Дата добавления: 2015-12-08; просмотров: 89 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.03 сек.)