Міністерство освіти і науки України
Національний університет “Львівська політехніка”
Кафедра ЕОМ
Лабораторна робота №1
з Архітектури комп’ютера
на тему: «Робота з симулятором машини Ноймана. Дослідження виконання машинного коду в автоматичному режимі.»
Львів – 2015
Мета: опанувати роботу на симуляторі машини Ноймана, зрозуміти і дослідити принцип виконання програми машиною Ноймана.
Завдання: запустити симулятор, увести до нього коди машинних інструкцій і коди чисел, навчитися утворювати і змінювати ці коди, дослідити і пояснити принципи трактування машиною Ноймана бінарних кодів. Розробити тестову програму, завантажити програму і відповідні дані до симулятора, виконати програму в автоматичному режимі, проаналізувати і пояснити отримані результати, скласти звіт з виконання лабораторних досліджень та захистит його.
Теоретичні відомості
CISC – complex instruction set computing (обчислення зі складною системою машинних інструкцій)
Аби дослідити дію машини Ноймана використовують симулятори цієї машини, що, в свою чергу, є готовими до використання комп’ютерними програмами. При роботі з такою програмою складається враження роботи з комп’ютером першої генерації, що приймає дані і подає результати і двійковій (бінарній) системі числення, має обмежений обсяг пам’яті, обмежене число регістрів і відсутню операційну систему. Коли в комп’ютері (в нас – в симуляторі комп’ютера) ОС нема, тоді кожну програму треба завершувати виконанням машинної інструкції СТОП. В автоматичному режимі одним натиском на клавішу комп’ютер змушують виконати уведену до нього програму - повністю, від першої до останньої машинної інструкції програми. Розглянемо конкретний симулятор машини Ноймана, якому автор надав назву «Кроха».
«Кроха» є DOS програмою, яку запускають у вікні DOS. Отже, миша з симулятором не працює так само, як і в ті давні часи, коли реалізували машину Ноймана. Треба користуватися курсором (рискою підкреслення) і клавішами пересування курсора. Але курсор діє лише у вікні пам’яті. Залишаються можливості керування симулятором натисканням вибраних клавіш апаратури. Таке керування є примітивним але таким, що дозволяє правдиво і чітко зрозуміти, як працює комп’ютер Ноймана, як з ним колись працювали, а також які в нього є принципові недоліки. Наступний рисунок 1 містить копію вікна симулятора Кроха. Симулятор є DOS програмою, що викликається в режимі командного рядка.
Про машину Ноймана
Структуру машини Ноймана [Johann von Neumann (Будапешт. 1903 р.н. і Німеччина), John von Neumann (USA), Джон Нейман (Росія)] містить рис. 1
Рис. 1. Структура машини Ноймана, запропонована в 1945 році в Гарвадському університеті США. Саме цю (приховану від наших очей) структуру має комп’ютер «Кроха».
За допомогою пристрою введення бінарні коди чисел і машинних інструкцій потрапляють (чорні лінії) транзитом через АЛП до пам’яті, де і зберігаються під час автоматичного виконання обчислень. Отже, під час введення АЛП зайнято транзитним пересиланням і комп’ютер не може обчислювати. Коли уведення завершене, тоді по команді старту, що надає людина, комп’ютер починає виконувати заведену людиною до пам’яті програму автоматично (без участі людини).
При цьому бінарні коди з пам’яті, що надсилаються (синя лінія) до пристрою керування, сприймаються як машинні інструкції. На основі прийнятих з пам’яті кодів машинних інструкцій пристрій керування керує роботою всіх інших пристроїв комп’ютера (червоні штрихові лінії).
Бінарні коди, що надсилаються з пам’яті до АЛП (чорні лінії), сприймаються як коди чисел, що приймають участь в формування результату. Можливе збереження проміжних результатів обчислень в тій самій пам’яті чорна двохнаправлена лінія). Остаточні результати також спочатку надсилають до пам’яті, а вже потім виводять для користування людиною через пристрій виводу (чорна лінія).
До впровадження багатопроцесорності всі персональні комп’ютери (навіть з процесором Пентіум 4) були класичними машинами Ноймана. Отож, з 1945 року до 2000 року ПК незмінну ідею, але змінювалися при цьому технологічно.
Виконання завдання:
17
r =21(x-2y)
X=11;
Y=5;
Z = 21;
r =21*(11-2*5) = 21
0000 – інструкція множення 2*Y
0001 – інструкція віднімання X-(2*Y)
0010 – інструкція множення 21*(Х-2*Y)
0011 – стопова інструкція
1001 – число 2
1010 – число Y
1011 – результат множення
1100 – число Х
1101 – результат віднімання
1110 – число 21
1111 – результат множення (кінцевий результат)
Рис.2 Результат виконання
Висновок: я опанував роботу на симуляторі машини Ноймана, зрозумів і дослідив принцип виконання програми машиною Ноймана.