Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Кодування операцій у полі КОП



Код операції Назва операції
двійковий шістнадцятьковий
0…00 немає операції
0…01 «+»
0…10 «-»

 

6. Структура ОМ.

У загальному вигляді структуру ОМ зображено на рис 1. У цьому завданні необхідно визначити адресність ОМ, розрядність регістрів та програмного лічильника. На рис. 1 введено такі скорочення:

АЛБ – арифметико-логічний блок; МПА – мікропрограмний автомат; КП – керуючий пристрій; ПЛ – програмний лічильник; ПО – пульт оператора, RK – регістр команд, ОП – основна (системна) пам’ять; RAOП – регістр адреси; RD – регістр даних; ПВВ – пристрій введення-виведення; СІ – системний інтерфейс.

7. Програми задачі машинними кодами.

Символьні значення полів команди подаються двійковими кодами. Для скорочення запису коду команди використовуємо шістнадцятирічну систему числення. Для виконання цієї частини ДЗ (КР) початковими даними є програма у змістовній формі, розподіл АП RAM, таблиця кодів поля КОП.

8. Обчислення часу виконання програми.

Час розв’язання задачі залежить від тривалості машинних команд, їх кількості та разів виконання. Тривалість часу машинної команди залежить від кількості звернень до ОП та складності операції. Тривалість операції це є добуток такту процесора τП на їх кількість pi.

Таким чином, час виконання програми (розв’язання задачі) tр.з. можна розрахувати за формулою:

, (2)

де τП – тривалість такту процесора; рі – кількість процесорних тактів в i-й операції; τRAM – тривалість циклу пам’яті; mi – кількість звернень до і-ї арифметичної операції (команди) в програмі; mRAM – кількість звернень до пам’яті; mmov – кількість звернень до операцій обміну (ST, LD); mj – кількість звернень у програмі до операцій переходу (JZ, JMP); k – кількість видів арифметичних операцій у програмах.

Рис. 1. Структура ОМ

Вважаємо, що операції ST, LD тривають у середньому 1,5 τП, операції JZ, JMP, HLT – 1 τП .

Кількість звернень в окремій команді до пам’яті залежить від адресності ЕОМ та від виконуваної операції. Наприклад, якщо маємо команду «додавання», то кількість звернень до RAM буде у випадку:



- одноадресної команди – 2 (вибірка команди і одного операнда);

- двохадресної команди – 3 (вибірка команди і двох операндів);

- трьохадресної команди – 4 (вибірка команди, вибірка двох операндів, запис результату).

Якщо в програмі є циклічна ділянка, то це враховується при визначенні параметрів mRAM, mi, mj, mmov у формулі (2).

 

Приклад виконання домашнього завдання (контрольної роботи)

Завдання до ДЗ (КР) подано у табл. 6:

Таблиця 6

Завдання до домашнього завдання (контрольної роботи)

№ з/п Задача АК АП,Мслів ПА τП, нс tRAM , нс р+,- р*,/
* F=Z1cos(Z2/Z3) 4,0

1. Схема алгоритму розв’язання задачі.

Для обчислення функції «сos» використовуються рекурентні формули (див. дод. 1):

сos Z = , , .

Схема алгоритму (рис. 2) деталізується до елементарних операцій (додавання, віднімання, множення та ін.).

Із схеми алгоритму випливає мінімальний набір арифметичних операцій : {+, -, *, /}.

2. Програма задачі у змістовній формі.

За схемою алгоритму (рис. 2) складаємо програму задачі (табл. 7).

Перевірка умови Uк= 0 (рис. 2, вершина 9) здійснюється командою JZ (табл. 7, команда 15) – умовний перехід за ознакою Z – «нульовий результат». При Uк =0 виконується наступна за порядком команда (16). Реалізація переходу (12 – 4) (рис. 2) виконує команда безумовного переходу JMP (табл. 7, команда 22). При Uк = 0 команда JZ забезпечує перехід до команди 23 (табл. 7) – обчислення значення функції F, останньою буде команда HLT – припинення роботи ОМ.



Таблиця 7

Програма у змістовній формі

Номер команди КОП А1 А2 Пояснення
/ Z2 Z3 R := Z2/Z3
ST Z - Z := R
* Z Z R := Z*Z
ST r1 - r1:=R
+ K K R:=K+K
ST r2 - r2:=R
+ r2 <1> R:= r2+1
ST r3 - r3:=R
* Uk r1 R:= Σ Uk* r1
ST Uk - Uk :=R
/ Uk r2 R:= Uk /r2
ST Uk - Uk :=R
/ Uk r3 R:= Uk /r3
ST Uk - Uk :=R
IZ - УП-23
- <0> Uk R:=0 - Uk
ST Uk - Uk :=R
+ Σ Uk Uk R:= Σ Uk+ Uk
ST Σ Uk - Σ Uk:=P
+ K <1> R:=K+1
ST K - K:=R
JMP - БП-5
+ U0 Σ Uk R:= U0+Σ Uk
ST F - F:=R
* F Z1 R := F*Z1
ST F - F:=R
HLT - - ЗУПИН

 

 

Рис. 2. Алгоритм розв’язання задачі

3. Система команд (операцій) ОМ.

З табл. 7 отримуємо список операцій ОМ: {+, -, *, /, ST, JZ, JMP, HLT}.

4. Розподіл адресного простору ОП.

Інформація, яка підлягає розміщенню в пам’яті, міститься в табл. 7 і складається з:

- команд програми;

- операндів {Z1, Z2, Z3};

- проміжнихі результатів {Z, r1, r2, r3, К, Uк, ∑Uк, U0};

- результату {F};

- константів {0, 1}.

Визначимо граничні значення адрес АП.

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

 

nA =]log2NRAM[= ]log24 * M[ = log222 * 220 = 22.

 

Граничні адреси подамо в шістнадцятковій системі числення. Кількість шістнадцяткових цифр в адресі буде

 

nAh = ]nA / 4[ = 6+2 (залишок).

 

Для зображення старшої шістнадцяткової цифри відводиться двоє двійкових розрядів і її максимальне значення буде «3».

Таким чином, граничні значення адрес АП RAM будуть (000000 h – 3FFFFF h)

Початкова та кінцева адреси області розміщення програми:

ПА = 6050010 = ЕС54 h; КА = 60500 + 26 =605210 = ЕС6Е h.

Відповідно до складу інформації, необхідної для розв'язання задачі, та з урахуванням завдання ДЗ (КР) можливий розподіл AП ОМ, поданий на рис. 3.

5. Визначення форматів команд та даних.

Формат команди. Відповідно до завдання ДЗ (КР) команда має структуру

КОП А1 А2 ,

 

Довжина поля «КОП». Для подання операцій у полі «КОП» використовуємо двійкові коди мінімальної довжини. Довжина поля «КОП» дорівнюватиме:

nКОП=] log2(M +1)[, де М = 8 – кількість операцій ОМ.

nКОП=]1оg2(8+1)[=4.

Коди операцій ОМ наведені в табл. 8.

Довжина адресного поля Ai. Довжина поля Ai повинна забезпечувати подання максимального значення адреси.

Рис. 3. Розподіл АП ОМ

Таблиця 8

Коди операції

Код операції Назва операції
двійковий шістнадцятковий
Немає операції NOP Додавання «+» Віднімання «-» Множення «•» Ділення «/» Запис «ST» Умовний перехід JZ Безумовний перехід JMP Зупин «HTL»

З рис. 3 видно, що Amax = EC6Eh. Таким чином, довжина поля Ai буде nAi = 16.

Довжина коду команди nk = nКОП + 2nAi = 4+2 • 16 = 36.

Команда має такий формат:

 

35 КОП 31 31 А1 16 15 А2 0 .

Формат даних. В КР використовуються цілі знакові дані:

 

35 34 Модуль 0 .

 

6. Структура ОМ.

Відповідно до варіанту ДЗ (КР), структура ОМ показана на рис. 3.

Рис. 3. Структура ОМ

7. Програма задачі у машинних кодах.

Машинний код задачі наведений в табл. 9.

Для зображення машинних кодів команд використовується шістнадцяткова система числення. Щоб виконати це завдання, потрібно використати текст програми в змістовній формі (табл. 9) і розподіл АП ОМ (рис. 3).

Таблиця 9

Програма у машинних кодах

Адреса   Машинний код   Пояснення
0000h 0001h 0002h Z1 Z2 Z3   Операнди     Результат   Проміжні результати   <0> <1>
0010h F
0100h 0101h 0102h 0103h 0104h 0105h 0106h 0107h Z r1 r2 r3 K ∑Uk U0 Uk
2000h 2001h 0 0000 0000 0 0000 0001
КОП А1 А2 Програма
EC54h R:=Z2/Z3
EC55h - Z:=R
EC56h R:=Z•Z
EC57h - r1:=R
EC58h R:=K+K
EC59h - r2:=R
EC5A R:=r2+1
EC5B - r3:=R
EC5C R:=∑Ukr1
EC5D - Uk:=R
Закінчення табл. 9
EC5E R:=Uk /r2
EC5F - Uk:=R
EC60 R:=Uk /r3
EC61 - Uk:=R
EC62 - EC6A JZ EC6A
EC63 R:= 0- Uk
EC64 - Uk:=R
EC65 R:=∑Uk+ Uk
EC66 S - ∑Uk:=R
EC67 R:=K+1
EC68   K:=R
EC69 - EC58 БП=5
EC6A R:= U0+∑Uk
EC6B - F:=R
EC6С R:=F•Z1
EC6D - F:=R
EC6Е - - Зупин
             

 

8. Обчислення часу виконання програми. В програмі є циклічна ділянка (див. табл. 7, команди 5-22), вихід з якої відбувається за умови Uк = 0. У цій умові значення змінної Uк дорівнює машинному нулю, тому кількість циклів є невизначеною. Вважаємо, що ця умова виконується при кількості повторень, яка дорівнює п’яти.

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

Розрахуємо значення параметрів mi, mj, mmov, mRAM. Параметр mi визначає кількість звернень до і-ї арифметичної операції в програмі. Необхідно врахувати наявність у програмі циклічних ділянок:

m1 = 1+5•4 = 21; m2 = 5•1 = 5; m3 = 2+5•1 = 7; m4 = 1+5•2 = 11.

Параметри mmov, mj , JZ, JMP, HTL визначають кількість звернень у програмі до команд ST (MOV), JZ, JMP, HLT:

mmov= 4+5•8 = 44; mjIZ = 5•1 = 5; mjIMP = 5•l = 5; mjHTL = l.

Параметри mi , mmov , mj , mRAM зведемо до табл. 10.

Таблиця 10

Параметри mi, mmov , mj , mRAM

Номер варіанта Операція mi mmov mj mRAM
+ - - 21 • 3=63
- - - 5 • 3=15
- - 7 • 3=21
/ - - 11 • 3=33
ST - - 44 • 2=88
JZ -   5 • 1=5
JMP -   5 • 1=5
HTL -   1 • 1=1
- - ∑=44 ∑=11 ∑ = 231

 

Час виконання програми:


Просмотров 349

Эта страница нарушает авторские права

allrefrs.ru - 2020 год. Все права принадлежат их авторам!