Програмна модель навчальної ЕОМ G1
1
Міністерство освіти і науки України
Пояснювальна записка
до курсового проекту за дисципліною
«Програмування»
на тему: «РАЗРОБКА ПРОГРАМИ-ЕМУЛЯТОРА»
Розробив:
студент **********
_________________
Керівник проекту:
***************
_________________
Донецьк – 2011 р.
ЗАТВЕРДЖУЮ
Завідуючий кафедрою ЕОМ
ТЕХНІЧНЕ ЗАВДАННЯ
Студенту групи ******* ************
1. Термін захисту курсової роботи ____________________
2. Мета роботи: виконати проектування, налагодження і тестування програми емулятора для заданої навчальної ЕОМ мовою Турбо-Паскаль(або похідної).
3. Варіант 6
4. Тип обчислювальної машини G1
5. Система числення шістнадцятирічна
6. Програмна модель вузлів ЕОМ : множина
7. Тестові приклади:
Тест №1
а=9 в=-10 у=-24
Тест№2
Тест№3
a1=-10 a2=-5 y1=8 b1=-4 b2=-1 y2=4
8. Додатковий режим емулятора:
За допомогою процедури GetDate і GaetTime, вивести на дисплей інформацію про поточний час та дату. При цьому залежно від значень числівників треба формувати відповідний відмінок іменника.
Завдання до виконання прийняв «06» вересня 2011р.
студент
РЕФЕРАТ
Сторінок – 41, рисунків – 6, таблиць – 5.
Темою курсової роботи є розробка програми-емулятора для заданої гіпотетичної ЕОМ G1, у спрощеному виді реальної машини, що відтворює структуру. Емуляція може виконуватися на ПЕВМ в операційному середовищі Microsoft Windows 95 та вище, робочою мовою програмування є мова Delphi.
ЕМУЛЯТОР, РЕГИСТР, СИСТЕМА КОМАНД, МІКРОПРОЦЕСОР, СУМАТОР, ОПЕРАТИВНА ПАМ’ЯТЬ, КОД ОПЕРАЦІЇ, АДРЕСА, ПРОГРАМА, АЛУ, СФА.
ЗМІСТ
Вступ
1. Навчальна обчислювальна машина G1.
1.1 Архітектура ЕОМ G1.
1.2 Система команд.
1.3 Принцип роботи ЕОМ G1.
2. Програмування в кодах навчальної ЕОМ G1.
2.1 Програмування формул.
2.2 Циклічна програма з розвилками.
2.3 Виконання логічних команд із використанням підпрограм.
2.4 Додаткові режими емулятора.
3. Програмна модель навчальної ЕОМ G1.
3.1 Призначення й область застосування.
3.2 Технічні характеристики програми.
3.3 Опис програми.
Висновок.
Додаток. Текст програми-емулятора.
ВСТУП
У наш час одержало широке поширення використання мікропроцесорів як убудовані елементи систем автоматичного керування, у тому числі як керуючих блоків периферійних вузлів обчислювальних комплексів. Функції, покладені в такій системі на мікропроцесор, цілком визначаються програмою, збереженої в його пам'яті. Оскільки програма роботи убудованого мікропроцесора змінюється порівняно рідко, до параметрів цієї програми і до надійності її функціонування пред'являються особливо тверді вимоги. У зв'язку з цим є обов'язкової ретельне налагодження і всебічне тестування програми роботи мікропроцесора.
Мікропроцесори мають, як правило, обмежені можливості введення-висновку програм і оброблюваних даних, що утрудняє виконання робіт з налагодження програм. Такі роботи також утруднені або ж узагалі неможливі при розробці нових мікропроцесорних систем. Усе це стимулює використання універсальних ЕОМ G1 для налагодження програм мікроEOM і мікропроцесорів, тобто використання методики эмуляции програми.
Темою курсової роботи є розробка програми-емулятора для заданої гіпотетичної ЕОМ G1, у спрощеному виді реальної машини, що відтворює структуру. Емуляція може виконуватися на ПЕВМ в операційному середовищі Microsoft Windows 95 та вище, робочою мовою програмування є мова Delphi.
1. УЧЕБНАЯ ВЫЧИСЛИТЕЛЬНАЯ МАШИНА G1 НАВЧАЛЬНА ОБЧИСЛЮВАЛЬНА МАШИНА G1
11.1 Архитектура ЭВМ G1 1.1 Архітектура ЕОМ G1
Структурная схема ЭВМ G 1 приведена на рис.11. Структурна схема ЕОМ G 1 наведена на рис.1. В состав ЭВМ G1 входят следующие основные узлы: До складу ЕОМ G1 входять наступні основні вузли:
o оперативное запоминающее устройства ОЗУ емкостью 256 14-разрядных слов; оперативний запам'ятовуючий пристрої ОЗУ ємністю 256 14-розрядних слів;
o восьмиразрядный регистр адреса RA , определяющий номер ячейки памяти, с которой происходит взаимодействие в данный момент времени; восьмирозрядний регістр адреси RA, що визначає номер комірки пам'яті, з якої відбувається взаємодія в даний момент часу;
o четырнадцатиразрядный регистр слова RS для временного хранения читаемой или записываемой информации; четирнадцатіразрядного регістр слова RS для тимчасового зберігання читається або записуваної інформації;
o восьмиразрядный счетчик адреса команд SAK , предназначенный для хранения адреса следующей команды; восьмирозрядний лічильник адреси команд SAK, призначений для зберігання адреси наступної команди;
o четырнадцатиразрядный регистр команд RK , хранящий выполняемую команду; четирнадцатіразрядного регістр команд RK, який зберігає виконувану команду;
o два четырнадцатиразрядные регистры-аккумуляторы R 1 и R 2 для приема и хранения операндов; два четирнадцатіразрядного регістри-акумулятори R 1 і R 2 для прийому та зберігання операндів;
o арифметико-логическое устройство АЛУ, выполняющее операцию, заданную кодом операции команды; арифметико-логічний пристрій АЛП, що виконує операцію, задану кодом операції команди;
o дешифратор кода операции DC; дешифратор коду операції DC;
o четырехразрядный регистр признаков завершения операции RP. чотирирозрядний регістр ознак завершення операції RP.
При выполнении арифметической операции первый бит RP устанавливается в «1», если ее результат отрицательный; второй бит устанавливается в «1» при нулевом результате этой операции; третий бит принимает значение «1» в случае некорректности выполнения операции (переполнение аккумулятора или попытка деления на нуль). При виконанні арифметичної операції перший біт RP встановлюється в «1», якщо її результат негативний, другий біт встановлюється в «1» при нульовому результаті цієї операції, третій біт приймає значення «1» в разі некоректності виконання операції (переповнення акумулятора або спроба поділу на нуль). Изменение состояния четвертого бита зависит Зміна стану четвертого біта залежить лишь от команды «Инкремент ячейки». лише від команди «Інкремент комірки». Указанные биты обозначены на схеме ЭВМ как признаки S, Z, C и E. Зазначені біти позначені на схемі ЕОМ як ознаки S, Z, C та E.
Для логических операций производится лишь анализ результата на равенство нулю: RP [1] = 1, если результат операции не равен нулю; RP [2] = 1, если этот результат равен нулю. Для логічних операцій проводиться лише аналіз результату на рівність нулю: RP [1] = 1, якщо результат операції не дорівнює нулю; RP [2] = 1, якщо цей результат дорівнює нулю.
Мал.1 Структурна схема ЕОМ G
Регістр команди поділяється на наступні поля:
код выполняемой операции KOP (биты 1 - 4), код виконуваної операції KOP (біти 1 - 4),
поле R (бит 5) задает регистр, используемый в качестве аккумулятора: R = 0 - регистр R1, R = 1 - регистр R2; полі R (біт 5) задає регістр, використовуваний в якості акумулятора: R = 0 - регістр R1, R = 1 - регістр R2;
поле РА (бит 6) задает способ адресации: РА = 0 - прямая адресация; РА = 1 - косвенная адресация; поле РА (біт 6) задає спосіб адресації: РА = 0 - пряма адресація; РА = 1 - непряма адресація;
поле A (биты 7 - 14) содержит базовый адрес. поле A (біти 7 - 14) містить базову адресу.
Адреса ячеек памяти изменяются от 0 до 255 (от 00000000 до 11111111 в двоичной системе счисления). Адреси комірок пам'яті змінюються від 0 до 255 (від 00000000 до 11111111 в двійковій системі числення). В ячейке с нулевым адресом постоянно находится нуль, который можно только считывать. В комірці з нульовою адресою постійно знаходиться нуль, який можна тільки зчитувати.
1.2 Система команд
Система команд ЭВМ G1, приведенная в табл.11, включает в себя: Система команд ЕОМ G1, наведена в табл.11, включає в себе:
o команды работы с аккумуляторами: “Загрузка аккумулятора” и “Сохранение аккумулятора” ; команди роботи з акумуляторами: "Завантаження акумулятора" і "Збереження акумулятора";
o арифметико-логические команды: “Сложение”, “Вычитание”, “Умножение”, “Деление”, “Вычитание модулей”, “Конъюнкция”, “Дизъюнкция” и “Сумма по модулю 2”; арифметико-логічні команди: "Складання", "Відняти", "Множення", "Поділ", "Відняти модулів", "Кон'юнкція", "Диз'юнкція" і "Сума по модулю 2";
o команды управления порядком выполнения программы: “Безусловный переход”, “Условный переход по S ”, “Условный переход по Z ”, “Инкремент ячейки”, “Вызов подпрограммы” и “Останов”. команди управління порядком виконання програми: "Безумовний перехід", "Умовний перехід по S", "Умовний перехід по Z", "Інкремент осередку", "Виклик підпрограми" і "Стоп".
В команде «Останов» разряды 5 - 14 не используются. У команді «Останов» розряди 5 - 14 не використовуються.
Таблица 11. Таблиця 1. Система команд ЭВМ G1 Система команд ЕОМ G1
Код опер. | Найменування | 1 Признаки | 2 Выполнениекоманды | |||
S | Z | C | E | |||
0000 | Останов | – | – | – | – |
|
0001 | Завантаження акумулятора | – | – | – | – | |
0010 | Збереження акумулятора | – | – | – | – | |
0011 | Додавання | + | + | + | – | |
0100 | Віднімання | + | + | + | – | |
0101 | Множення | + | + | + | – | |
0110 | Розподіл | + | + | + | – | |
0111 | Віднімання модулів | + | + | – | – | |
1000 | Кон'юнкція | + | + | – | – | |
1001 | Диз'юнкція | + | + | – | – | |
1010 | Сума по модулю 2 | + | + | – | – | |
1011 | Інкремент комірки | – | – | – | + | |
1100 | Умовний перехід по S | – | – | – | – | |
1101 | Умовний перехід по Z | – | – | – | – | |
1110 | Безумовний перехід | – | – | – | – | |
1111 | Виклик підпрограми | – | – | – | – | Див. опис |
Круглі дужки в графі «Виконання команди» означають вміст регістру або комірки пам'яті. Например, запись Наприклад, запис - это адрес ячейки, а ( - Це адреса клітинки, а ( ) - содержимое ячейки с адресом ) - Вміст комірки з адресою . .
Обозначение «АС» в табл. Позначення «АС» в табл. 11 определяет один из двух возможных регистров-аккумуляторов - R 1 или R 2, что зависит от значения поля R регистра команды RK. 11 визначає один з двох можливих регістрів-акумуляторів - R 1 або R 2, що залежить від значення поля R регістра команди RK.
Значение исполнительного адреса Значення виконавчого адреси зависит от состояния поля РА: залежить від стану поля РА:
РА = 0 РА = 0 (прямая адресация); (Пряма адресація);
РА = 1 РА = 1 (косвенная адресация). (Непряма адресація).
При косвенной адресации исполнительным адресом считается содержимое ячейки При непрямої адресації виконавчим адресою вважається вміст комірки памяти ОЗУ с адресом А. пам'яті ОЗУ з адресою А.
1.3 Принцип роботи ЕОМ G1
У ЕОМ G 1 використовуються 14-розрядні числа з фіксованою комою (цілі числа із знаком). Негативні значення чисел записуються в додатковому коді.
Виконання команди починається із завантаження вмісту комірки пам'яті, адреса якої задано в SAK, в регістр команд RK. При цьому значення адреси виконуваної команди з SAK переписується в регістр адреси RA, за цією адресою читається вміст відповідної комірки пам'яті MEMORY і через буферний регістр слова RS пересилається в регістр RK. У подальшому з RK виділяються поля KOP, R, PA і A. Для підготовки вибірки наступної команди значення лічильника SAK збільшується на одиницю. Дешифратор DC аналізує значення KOP і визначає команду, яка повинна виконуватися в даний момент (дешифратор має 16 виходів за кількістю дешіфріруемих команд).
Залежно від значення коду операції КОР дешифратор DC виробляє керуючі сигнали, які визначають тип виконуваної операції.
Для всіх команд, окрім команди зупину, формується виконавчий адресу. При цьому аналізується біт РА регістра команди: якщо РА = 0, то в поле А вже міститься виконавчий адресу, в противному випадку значення поля А передається в регістр RA, значення виконавчого адреси вибирається з розрядів 7 - 14 осередки ОЗУ з адресою, рівним вмісту RA , і через регістр RS записується в поле А регістра команди. Отже, в обох випадках (при РА = 0 і РА = 1) в поле А регістра RK перебуватиме виконавчий адресу операнда.
Після формування виконавчого адреси в арифметико-логічних командах аналізується біт R. Якщо R = 0, на перший вхід АЛП подається вміст регістра-акумулятора R 1; якщо R = 1, то регістра R 2. Значення другого операнда вибирається з ОЗУ за адресою . Арифметико-логічний пристрій АЛП виконує задану двомісну операцію, записуючи отримане значення в регістр-акумулятор.
Результат арифметичної операції використовується для формування в регістрі RP ознаки S (S = 1, якщо результат менше нуля), Z (Z = 1, якщо результат дорівнює нулю) або C (C = 1, якщо відзначена некоректність виконання операції - переповнення акумулятора або спроба ділення на нуль). Необхідні зміни регістра RP відображені в табл.11.
Для логічних операцій проводиться лише аналіз результату на рівність нулю: S = 1, якщо результат операції не дорівнює нулю; Z = 1, якщо цей результат дорівнює нулю.
Символ "-" в графі ознак табл.11 визначає ситуацію, яка не може виникнути в даній операції (наприклад, некоректність при виконанні операції віднімання модулів), або те, що дана операція не змінює регістр RP (наприклад, команда безумовного переходу).
Сутність зміни регістра RP розглянемо на конкретному прикладі. Припустимо, що в програмі виконана команда додавання і при цьому отримано негативний результат. Тоді в стан «1» повинен бути встановлений лише перший біт регістра RP, інші біти повинні бути скинуті на нуль.
Примітка. Якщо в команді, наведеною в табл.11, всі графи ознак відзначені символом "-", то це означає лише те, що при цьому зберігаються попередні значення ознак (але не виконується скидання їх на нуль).
У командах «Умовний перехід по S» і «Умовний перехід по Z» формування адреси і передача його в лічильник SAK провадиться, якщо значення відповідного ознаки дорівнює одиниці.
У регістрі RP немає біта, що встановлюється в 1, якщо результат арифметичної операції позитивний. Тут мається на увазі, що якщо результат такої операції не негативний і не нульовий, то він позитивний. Отже, в цьому випадку перші три біти регістра RP повинні бути встановлені в нульове положення.
За командою безумовного переходу адреса пересилається в лічильник SAK, після чого відбувається вибірка нової команди і її виконання.
В системі команд ЕОМ G 1 немає спеціальної команди, яка реагує на виникнення ознаки С = 1. Тому при емуляції машинної програми повинні перевірятися ті команди, при виконанні яких може виникати некоректність рішення, і при виявленні значення С = 1 на екран потрібно видавати інформацію про аварійний завершенні програми, вказавши при цьому код операції та адресу команди, що викликала переривання, після чого зробити останов ЕОМ.
При зверненні до підпрограми повинні бути виконані дві дії: передача управління на початковий ділянку підпрограми і повернення в зухвалу програму після відпрацювання підпрограми. Ця робота в ЕОМ G1 виконується фактично однією командою «Виклик підпрограми». Звернення до підпрограми має певні особливості. Тут передбачається, що команда повернення з підпрограми повинна знаходитися в першій команді підпрограми, а в останній її команді повинен бути безумовний перехід на першу команду. Адреса , що вказується в команді «Виклик підпрограми» - це адреса першої команди підпрограми. У своїй роботі команда «Виклик підпрограми» здійснює такі дії:
- Записує в першу клітинку підпрограми команду 1110 00 SAK, де в якості коду операції вказаний безумовний перехід, а в адресній частині знаходиться поточний зміст лічильника SAK, тобто адресу команди, записаної в зухвалій програмі після команди звернення до підпрограми;
- Пересилає в SAK адресу
Тобто адреса другої команди підпрограми, з якої фактично починається її виконання. Команда «Інкремент осередку» використовується для реалізації циклічних алгоритмів. Як виконавчий адреси в цій команді вказують адресу лічильника циклів, в який спочатку заносять від'ємне значення кількості повторень циклу. При кожному виконанні команди «Інкремент осередку» проводиться збільшення лічильника на одиницю і, коли це значення стане нульовим, виконується пропуск наступної команди, в якості якої записують безумовну передачу управління на початок циклу.
При виконанні команди «Інкремент комірки» сформований адресу з поля А регістра команд RK надходить в регістр RA, потім з ОЗУ вибирається осередок з адресою , І її вміст через регістр RS надходить на другий вхід АЛП. В АЛП до надійшов чисельному значенню додається одиниця, і результат через регістр RS повертається в ОЗУ за колишньою адресою. За значенням результату формується ознака Е регістра RP. Якщо результат дорівнює нулю, то встановлюється значення Е = 1, в іншому випадку записується Е = 0. Якщо Е = 1, то вміст лічильника SAK збільшується на одиницю, що призводить до пропуску наступної команди.
2. ПРОГРАМУВАННЯ В КОДАХ НАВЧАЛЬНОЇ ЕОМ G1
2.1 Програмування формул
Таблиця 2. Мнемомокод тесту 1
адрес | метки | мнемокод | операнды | Hex |
1 |
| Load | 0,0,a | 0416 |
2 |
| Mul | 0,0,a | 1416 |
3 |
| Add | 0,0,c1 | 0C1E |
4 |
| Mul | 0,0,c18 | 1419 |
5 |
| Load | 1,0,b | 0617 |
6 |
| Mul | 1,0, c288 | 161A |
7 |
| Save | 1,0,y | 0A18 |
8 |
| Sub | 0,0,y | 1018 |
9 |
| Save | 0,0,y | 0818 |
10 |
| Load | 0,0,a | 0416 |
11 |
| Mul | 0,0,c22 | 141B |
12 |
| Load | 1,0,b | 0617 |
13 |
| Mul | 1,0,c8 | 161C |
14 |
| Save | 1,0,b | 0A17 |
15 |
| Add | 0,0,b | 0C17 |
16 |
| Load | 1,0,y | 0618 |
17 |
| Save | 0,0,y | 0818 |
18 |
| Div | 1,0,y | 1A18 |
19 |
| Sub | 1,0,c60 | 121D |
20 |
| Save | 1,0,y | 0A18 |
21 |
| halt | - | 0000 |
22 | A | Dw | 9 | 0009 |
23 | B | Dw | -10 | FFF6 |
24 | Y | Dw | 0 | 0000 |
25 | C18 | Dw | 18 | 0012 |
26 | C288 | Dw | 288 | 0120 |
27 | C22 | Dw | 22 | 0016 |
28 | C8 | Dw | 8 | 0008 |
29 | C60 | Dw | 60 | 003C |
30 | C1 | dw | 1 | 0001 |
Тест 1
а=9 в=-10 у=-24
Мал.2 Дамп пам’яті до виконання теста 1 після виконання теста 1
2.2. Циклічна програма з розвилками.
Тест 2 Таблиця 3. Мнемомокод тесту 2
адрес | метки | мнемокод | операнды | HEX |
1 | M0 | Load | 0,1, adr x | 052A |
2 |
| Sub | 0,0,a | 1026 |
3 |
| Js | M1 | 300D |
4 |
| Jz | M2 | 3415 |
5 |
| Load | 0,1,adr x | 052A |
6 |
| Add | 0,0,a | 0C26 |
7 |
| Load | 1,1, adr x | 072A |
8 |
| Sub | 1,0,a | 1226 |
9 |
| Save | 1,0,tmp | 0A27 |
10 |
| Div | 0,0,tmp | 1827 |
11 |
| Save | 0,1, adr y | 092B |
12 |
| Jmp | M3 | 3817 |
13 | M1 | Load | 0,1,adr x | 052A |
14 |
| Add | 0,0,a | 0C26 |
15 |
| Load | 1,1,adr x | 072A |
16 |
| Sub | 1,0,a | 1226 |
17 |
| Save | 1,0,tmp | 0A27 |
18 |
| Mul | 0,0,tmp | 1427 |
19 |
| Save | 0,1, adr y | 092B |
20 |
| Jmp | M3 | 3817 |
21 | M2 | Load | 0,0,a | 0426 |
22 |
| Save | 0,1, adr y | 092B |
23 | M3 | Load | 0,0, adr x | 042A |
24 |
| Add | 0,0,c1 | 0C28 |
25 |
| save | 0,0,adr x | 082A |
26 |
| Load | 0,0, adr y | 042B |
27 |
| Add | 0,0,c1 | 0C28 |
28 |
| Save | 0,0,adr y | 082B |
29 |
| Inc | 0,0,c3 | 2C29 |
30 |
| Jmp | Mo | 3801 |
31 |
| Halt | - | 0000 |
32 | X1 | Dw | -30 | FFE2 |
33 | X2 | Dw | 60 | 003C |
34 | X3 | Dw | 100 | 0064 |
35 | Y1 | Dw | 0 | 0000 |
36 | Y2 | Dw | 0 | 0000 |
37 | Y3 | Dw | 0 | 0000 |
38 | A | Dw | 60 | 003C |
39 | Tmp | Dw | 0 | 0000 |
30 | C1 | Dw | 1 | 0001 |
30 | C3 | Dw | -3 | FFFD |
30 | Adrx | Dw | 32 | 0020 |
30 | adry | Dw | 35 | 0023 |
Мал.3 Дамп пам’яті до виконання теста 2 після виконання теста
2.3 Виконання логічних команд із використанням підпрограм.
Тест 3 Таблиця 4. Мнемомокод тесту 3
адрес | метки | мнемокод | операнды | HEX |
1 | mo | Call | M1 | 3C0E |
2 |
| Load | 0,0,adr a | 041E |
3 |
| Add | 0,0,c1 | 0C1C |
4 |
| Save | 0,0,adr a | 081E |
5 |
| Load | 0,0,adr b | 041F |
6 |
| Add | 0,0, c1 | 0C1C |
7 |
| Save | 0,0, adr b | 081F |
8 |
| Load | 0,0, adr y | 0420 |
9 |
| Add | 0,0, c1 | 0C1C |
10 |
| Save | 0,0, adr y | 0820 |
11 |
| Inc | C2 | 2C1D |
12 |
| Jmp | M0 | 3801 |
13 |
| Halt | - | 0000 |
14 | M1 | Адрес возврата | 0 | 0000 |
15 |
| Load | 0,1,adr a | 051E |
16 |
| Subm | 0,1,adr b | 1D1F |
17 |
| And | 0,1,adr a | 211E |
18 |
| Or | 0,1, adr b | 251F |
19 |
| Xor | 0,1,adr a | 291E |
20 |
| Save | 0,1, adr y | 0920 |
21 |
| Jmp | M1 | 380E |
22 | A1 | dw | -10 | FFF6 |
23 | A2 | dw | -5 | FFFB |
24 | B1 | dw | -4 | FFFC |
25 | B2 | dw | -1 | FFFF |
26 | Y1 | dw | 0 | 0000 |
27 | Y2 | dw | 0 | 0000 |
28 | C1 | dw | 1 | 0001 |
29 | C2 | dw | -2 | FFFE |
30 | Adr a | dw | 22 | 0016 |
31 | Adr b | dw | 24 | 0018 |
32 | Adr y | dw | 26 | 001A |
a1=-10 a2=-5 b1=-4 b2=-1 у1=8 y2=4
Мал.4Дамп пам’яті до виконання теста 3 після виконання теста
2.4 Додатковий режим емулятора.
Використовуючи процедури GetDate і GetTime, вивести на екран інформацію про поточну дату і поточний час в наведеному нижче вигляді.
Перший рядок: "15 січня 2011 року".
Другий рядок: "10 годині 15 хвилин 32 секунди".
При цьому залежно від значень числівників треба формувати відповідний відмінок іменника. Наприклад, 10 хвилин, але 21 хвилина, 22 хвилини.
Мал.5 Додатковий режим емулятора
3. ПРОГРАМНА МОДЕЛЬ НАВЧАЛЬНОЇ ЕОМ G1
3.1 Призначення й область застосування.
У цей час емулятори набули широкого поширення. Вони застосовуються з метою контролю за правильністю роботи мікропроцесору або обчислювальної машини в загалом на етапах конструювання.
Програма-емулятор повинна володіти наступними характеристиками:
повністю відповідати архітектурі пристрою, що моделюється ;
програма-емулятор повинна моделювати гранично жорсткі умови роботи фізичного пристрою;
програма повинна обробляти як можна більшу кількість станів фізичного пристрою;
програма повинна забезпечувати перевірку правильності роботи всіх блоків пристрою, що досліджуються;
3.2 Технічні характеристики програми
Програма містить головну частину та 5 допоміжних модулів.
Взагалі робочий файл програми Project1.exe має об’єм 553 КБ (566 272 байт)
Детальна інформація приведена у таблиці 5
Таблиця 5
№ | Модуль | Розмір | Примітка |
1 | Unit1 | 9,20 КБ (9 421 байт) | містить головне вікно емулятора та організує взаємодію усіх інших модулів програми, а також містить процедури для візуального відображення дампа пам’яті та регістрів
|
2 | COMMAND | 9,39 КБ (9 617 байт) | містить реалізацію усіх команд емулюємої машини G1 |
3 | ad | 3,17 КБ (3 254 байт) | містить допоміжні процедури |
4 | Rab | 2,36 КБ (2 423 байт) | містить глобальний опис констант, типів та змінних |
5 | Unit2 | 1,93 КБ (1 983 байт) | Додатковий режим емулятора |