МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД
УЖГОРОДСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
ІНЖЕНЕРНО-ТЕХНІЧНИЙ ФАКУЛЬТЕТ
КАФЕДРА КОМП’ЮТЕРНИХ СИСТЕМ ТА МЕРЕЖ
ЗВІТ
ДО ЛАБОРАТОРНОЇ РОБОТИ З КУРСУ
“Архітектура комп’ютера”
на тему
«Робота з симулятором машини Ноймана. Дослідження виконання машинного коду в автоматичному режимі»
Мета: опанувати роботу на симуляторі машини Ноймана, зрозуміти і дослідити принцип виконання програми машиною Ноймана.
Завдання: запустити симулятор, увести до нього коди машинних інструкцій і коди чисел, навчитися утворювати і змінювати ці коди, дослідити і пояснити принципи трактування машиною Ноймана бінарних кодів. Розробити тестову програму, завантажити програму і відповідні дані до симулятора, виконати програму в автоматичному режимі, проаналізувати і пояснити отримані результати, скласти звіт з виконання лабораторних досліджень та захистит його.
Індивідуальне завдання:
20
r=12(x-y/z)
Хід виконання роботи:
Щоб дослідити дію машини Ноймана використовують симулятори цієї машини, що, в свою чергу, є готовими до використання комп’ютерними програмами. При роботі з такою програмою складається враження роботи з комп’ютером першої генерації, що приймає дані і подає результати і двійковій (бінарній) системі числення, має обмежений обсяг пам’яті, обмежене число регістрів і відсутню операційну систему. Коли в комп’ютері (в нас – в симуляторі комп’ютера) ОС нема, тоді кожну програму треба завершувати виконанням машинної інструкції СТОП. В автоматичному режимі одним натиском на клавішу комп’ютер змушують виконати уведену до нього програму - повністю, від першої до останньої машинної інструкції програми. Розглянемо конкретний симулятор машини Ноймана, якому автор надав назву «Кроха».
«Кроха» є DOS програмою, яку запускають у вікні DOS. Отже, миша з симулятором не працює так само, як і в ті давні часи, коли реалізували машину Ноймана. Треба користуватися курсором (рискою підкреслення) і клавішами пересування курсора. Але курсор діє лише у вікні пам’яті. Залишаються можливості керування симулятором натисканням вибраних клавіш апаратури. Таке керування є примітивним але таким, що дозволяє правдиво і чітко зрозуміти, як працює комп’ютер Ноймана, як з ним колись працювали, а також які в нього є принципові недоліки. Симулятор є DOS програмою, що викликається в режимі командного рядка.
/
Рис.1 – Вікно навчального комп’ютера «Кроха-М»
Керування роботою з симулятором
Далі подамо стан комп’ютера за умови, що не усі комірки пам’яті містять нульовий бінарний код (рис.2).
/
Рис.2 – Стан симулятора з ненульовою пам’яттю
До симулятора вручну уведена коротка програма, що складена чотирьма інструкціями (табл. 1):
Адреса пам’яті
Машинна інструкція
Функція інструкції
Мнемонічний код
Бінарний код
00002
– А1 А2 А3
011 1001 1010 11012
Відняти
00012
/ А1 А2 А3
010 1011 1100 11102
Поділити
00102
* А1 А2 А3
101 1101 1110 11112
Помножити
00112
СТОП А1 А2 А3
111 1101 1110 11112
Зупинитися і показати
Табл. 1 Програма симулятора машини Ноймана, що складена чотирьма машинними інструкціями.
/
Рис. 5 Стан симулятора після виконання другої інструкції
/
Рис. 6 Результат симуляції програми
Висновки: на даній лабораторній роботі я ознайомилася з роботою на симуляторі машини Ноймана, зрозуміла і дослідила принцип виконання програми машиною Ноймана.
В результаті виконання прграми відбулися наступні зміни:
В екранному вікні з’явилися операнди і результат в бінарній і десятковій формах.
В вікні пам’яті в останній 15 комірці з’явилося результуюче значення програми.
Регістр інструкцій РК (регістр команд) містить код останньої виконаної машинної інструкції (СТОП).
Лічильник інструкцій СК (счетчик команд) отримав значення 01002=410, пройшовши поспіль значення 00002 (стартове) та зупинився на значенні 01002. Ясно, що ці зміни вмістимого СК спричинив процес виконання чотирьох інструкцій програми. Зафіксоване (залишкове) вмістиме СК показує адресу машинної інструкції, що розташована після останньої інструкції нашої програми та їй неналежить. Ясно, що в режимі авто ця інструкція не виконувалася і так має бути.
При цьому помилок виконання невиникло.