Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦЕОМ_курсовая_Головчанская_последняя версия_2.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.13 Mб
Скачать
  1. Визначення формату команди

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

    1. Довжина поля коп

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

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

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

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

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

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

Таблиця 2

КОП(15:13)

Операція

000

NOP – нема операції

001

+ – додавання

010

* – множення

011

/ – ділення

100

JNZ – умовний перехід

101

HLT – зупинка

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

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

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

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

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

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

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

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

де ПА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.

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

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

  1. Формати команд і алгоритм функціонування мікрокомп’ютера

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

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

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

Рис.3

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 4

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

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

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

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

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

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

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

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

Рис.5

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

Т+

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

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

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

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

Рис.6

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

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

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

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

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

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

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

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

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

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

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

  1. Кінець.

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

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

, де p*min=1

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

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

Рис.7