МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
КАФЕДРА ЕОМ
/
Звіт
по лабораторній роботі №1
(Робота з симулятором машини Ноймана. Дослідження виконання машинного коду в автоматичному режимі)
з курсу
“Архітектура комп’ютера”
Підготував: ст. гр. КІ- 32
Майстренко М.В.
Прийняла: Ногаль М.В.
Львів-2011
Мета роботи: опанувати роботу на симуляторі машини Ноймана, зрозуміти і дослідити принцип виконання програми машиною Ноймана.
Завдання: запустити симулятор, увести до нього коди машинних інструкцій і коди чисел, навчитися утворювати і змінювати ці коди, дослідити і пояснити принципи трактування машиною Ноймана бінарних кодів. Розробити тестову програму, завантажити програму і відповідні дані до симулятора, виконати програму в автоматичному режимі, проаналізувати і пояснити отримані результати.
Персональне завдання: Створити програму, яка реалізує обчислення виразу X * Y – 2.
Теоретичні відомості:
CISC – complex instruction set computing (обчислення зі складною системою машинних інструкцій). Аби дослідити дію машини Ноймана використовують симулятори цієї машини, що, в свою чергу, є готовими до використання комп’ютерними програмами. При роботі з такою програмою складається враження роботи з комп’ютером першої генерації, що приймає дані і подає результати і двійковій (бінарній) системі числення, має обмежений обсяг пам’яті, обмежене число регістрів і відсутню операційну систему. Коли в комп’ютері (в нас – в симуляторі комп’ютера) ОС нема, тоді кожну програму треба завершувати виконанням машинної інструкції СТОП. В автоматичному режимі одним натиском на клавішу комп’ютер змушують виконати уведену до нього програму - повністю, від першої до останньої машинної інструкції програми. Розглянемо конкретний симулятор машини Ноймана, якому автор надав назву «Кроха».
«Кроха» є DOS програмою, яку запускають у вікні DOS. Отже, миша з симулятором не працює так само, як і в ті давні часи, коли реалізували машину Ноймана. Треба користуватися курсором (рискою підкреслення) і клавішами пересування курсора. Але курсор діє лише у вікні пам’яті. Залишаються можливості керування симулятором натисканням вибраних клавіш апаратури. Таке керування є примітивним але таким, що дозволяє
правдиво і чітко зрозуміти, як працює комп’ютер Ноймана, як з ним колись працювали, а також які в нього є принципові недоліки. Наступний рисунок 1 містить копію вікна симулятора Кроха. Симулятор є DOS програмою, що викликається в режимі командного рядка.
/
Зліва розташоване вікно пам’яті. Тут позначені адреси в бінарному коді, від 00002 до 11112 (всього 16 комірок). Вмістиме кожної комірки – це 3+4+4+4=15 бітова структура, що може бути або бінарним кодом цілого чила, або бінарним кодом машинної команди (так званої інструкції). Отже маємо не зовсім звичний 15-бітовий комп’ютер, що не підтримує парадигму байта.
Формат машинної інструкції машини Ноймана
В комп’ютері використаний наступний класичний формат 3-адресної машинної інструкції:
/
/
Виконання роботи:
Програма, що реалізовує обчислення виразу X * Y – 2:
Адреса
Інструкція
Коментар до інструкції
КОП
Оп.1
Оп.2
Рез.
0000
101
0011
0100
0110
Інструкція множення. Операнд 1: Число 710 (знаходиться у комірці 00112), Операнд 2: Число 510 (знаходиться у комірці 01002). Результат запишеться у комірку 01102.
0001
011
0110
0101
0111
Інструкція віднімання. Операнд 1: Результат виконання минулої інструкції (комірка 01102) (у моєму випадку – число 3510). Операнд 2: Число 210, що знаходиться у комірці 01012. Результат запишеться у комірку 01112. Це буде кінцевий результат виконання програми.
0010
111
0000
0000
0000
Інструкція завершує роботу програми
0011
000
0000
0000
0111
Число 710. (Х)
0100
000
0000
0000
0101
Число 510. (Y)
0101
000
0000
0000
0010
Число 210.
0110
000
0000
0000
0000
Комірка проміжного результату. (Тут збережеться результат виконання інструкції №1 (множення), адреса інструкції: 00002).
0111
000
0000
0000
0000
Комірка для збереження кінцевого результату. (Тут збережеться результат виконання інструкції №2 (віднімання), адреса інструкції: 00012)
Скріншоти програми:
/
Рис. 1. Скріншот перед виконанням програми
/
Рис. 2. Скріншот після виконання програми.
Коментар до Рис. 2.: У комірці 01112 лежить число 3310, яке є результатом виконання операцій X * Y – 2, у моєму випадку: 7 * 5 – 2. 7 * 5 = 35. 35 – 2 = 33.
Висновок: при виконанні лабораторної роботи мною було опановано роботу на симуляторі Ноймана. Я дослідив і зрозумів принцип виконання програми машиною Ноймана.