Лабораторна робота №1

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
КН
Кафедра:
Кафедра ЕПМС

Інформація про роботу

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Архітектура комп’ютерів та комп’ютерних систем
Група:
КІ З
Варіант:
3

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра «ЕОМ» Лабораторна робота №1 з предмету “Архітектура комп’ютерів” на тему: «Робота з симулятором машини Ноймана. Дослідження виконання машинного коду в автоматичному режимі» Мета: опанувати роботу на симуляторі машини Ноймана, зрозуміти і дослідити принцип виконання програми машиною Ноймана. Завдання: запустити симулятор, написати тестову програму, завантажити програму в симулятор, виконати її в покроковому і автоматичному режимах; виконати програму з використанням точок зупинки; отримати таблицю змінних; скласти звіт з виконання лабораторних досліджень та захистити його. Теоретичні відомості CISC – complex instruction set computing (обчислення зі складною системою машинних інструкцій) Аби дослідити дію машини Ноймана використовують симулятори цієї машини, що, в свою чергу, є готовими до використання комп’ютерними програмами. При роботі з такою програмою складається враження роботи з комп’ютером першої генерації, що приймає дані і подає результати і двійковій (бінарній) системі числення, має обмежений обсяг пам’яті, обмежене число регістрів і відсутню операційну систему. Коли в комп’ютері (в нас – в симуляторі комп’ютера) ОС нема, тоді кожну програму треба завершувати виконанням машинної інструкції СТОП. В автоматичному режимі одним натиском на клавішу комп’ютер змушують виконати уведену до нього програму - повністю, від першої до останньої машинної інструкції програми. Розглянемо конкретний симулятор машини Ноймана, якому автор надав назву «Кроха». «Кроха» є DOS програмою, яку запускають у вікні DOS. Отже, миша з симулятором не працює так само, як і в ті давні часи, коли реалізували машину Ноймана. Треба користуватися курсором (рискою підкреслення) і клавішами пересування курсора. Але курсор діє лише у вікні пам’яті. Залишаються можливості керування симулятором натисканням вибраних клавіш апаратури. Таке керування є примітивним але таким, що дозволяє правдиво і чітко зрозуміти, як працює комп’ютер Ноймана, як з ним колись працювали, а також які в нього є принципові недоліки. Наступний рисунок 1 містить копію вікна симулятора Кроха. Симулятор є DOS програмою, що викликається в режимі командного рядка. / Рис. 1.1 – Вікно навчального комп’ютера «Кроха-М» Зліва розташоване вікно пам’яті. Тут позначені адреси в бінарному коді, від 00002 до 11112 (всього 16 комірок). Вмістиме кожної комірки – це 3+4+4+4=15 бітова структура, що може бути або бінарним кодом цілого чила, або бінарним кодом машинної команди (так званої інструкції). Отже маємо не зовсім звичний 15-бітовий комп’ютер, що не підтримує парадигму байта. Формат машинної інструкції машини Ноймана В комп’ютері використаний наступний класичний формат 3-адресної машинної інструкції: Поле коду операції. Довжина 3 біти Поле адреси 1-го операнда. Довжина 4 біти Поле адреси 2-го операнда. Довжина 4 біти Поле адреси результату. Довжина 4 біти  КОп А1 А2 А3  Приклад кодування інструкції (A1) + (A2) A3 :  000 0100 0101 0110  Рис. 1.2 – Формат машинної інструкції Формат числа машини Ноймана Симулятор використовує наступний єдиний формат даних: Старший розряд 13 середніх розрядів бінарного коду Молодший розряд   1 00000000001 1  Приклад кодування позитивного десяткового числа :1638410 + 310 = 1638710  Рис. 1.3 – Формат машинного числа Негативні числа симулятор комп’ютера не опрацьовує, а всі кодові комбінації трактує як коди натуральних чисел і нуля. Максимальним є число з кодом 111 1111 1111 11112 = 3276810 -1 = 3276810, а мінімальним числом є число з бінарним кодом 000 0000 0000 00002 = тобто нуль. Керування роботою з симулятором Далі розглянемо вікно симулятора комп’ютера (табл. 1 ) та правила роботи з ним. Зауважимо, що симулятор запускають в командному рядку, отже, з мишою він не працює. Але є Windows симулятор цього комп’ютера, що сприймає мишу. Табл. 1 – Управління симулятором Клавіши керування комп’ютером Дія клавіш Ілюстрація  Інформаційне вікно Негайно задати АВТО: F1, A Негайно задати РЕДАКТОР: F2, Е Негайно задати ШАГ: F3, S Негайно задати ТАКТ: F4, Т Вибирати режим безпосередньо курсором: F5, R Вибір і встановлення режиму роботи. В режимі редактора можна змінювати вмістиме комірок пам’яті, суматора (СМ), лічильника інструкцій (СК), регістра інструкції (РК). В режимі АВТО одним натиском на клавішу ENTER змушують комп’ютер виконати всю програму. В режимі ШАГ одним натиском на клавішу ENTER змушують комп’ютер виконати чергову інструкцію програми. В режимі ТАКТ одним натиском на клавішу ENTER змушують комп’ютер виконати чергову мікродію виконання чергової інструкції програми. Зауважимо, що виконання кожної інструкції розкладають на виконання певної послідовністі мікрокроків, кожний з яких називають мікродією (або мікрокомандою). /  Вікно пам’яті Бінарні адреси пам’яті не змінюються. Вмістиме комірок пам’яті (бінарні коди) змінюються. Для цього в режимі редагування потрібно підвести курсор під біт, що змінюється та натиснути 0 або 1.     Вікно арифметичного та логічного пристрію (АЛП)  Показує: код виконуваної інструкції, що зберігає регістр інструкції (РК=регистр команди); вмістиме суматора (СМ); вмістиме лічильника номера виконуваної інструкції (СК=счетчик команд).    Екранне вікно для візуалізації значень операндів і результатів обчислень Показує десяткові значення вмістимого комірок пам’ті за адресами А1, А2 та А3 інструкції СТОП (Виведення), бінарний код операції якої є 1112. Отже, коли за одною з трьох вказаних адрес розміщено інструкцію ми побачимо її як якесь число. Це на перший погляд є дивною, але принципово важливою рисою машини Ноймана, якою є ПК та багато інших комп’ютерів.    Довідкове вікно Вікно містить всі дозволені коди операцій, а також правила маніпулювання з режимами симулятора за допомогою клавіатури. Всього дозволено виконання вісьми операцій (пересилання вмісту комірки пам’яті з адресою А1 до коміркм пам’яті з адресою А3 (код 0002), додавання (0012), ділення вмісту А1 на вміст А2 (код 0102), обчислення модуля різницівмісту А1 і А2 з записом результату до А3 (код 0112), умовного переходу (коли вмісти А1 і А2 є рівними, тоді наступною виконують інструкцію не з наступної за чергою адресою, а з адреси А3 (код 1002), множення вмісту А1 на вміст А2 з записом добутку до А3 (код 1012, ще одного умовного переходу [коли вміст А1 є більшим від вмісту А2, тоді наступно виконуваною є інструкція з комірки з адресою А3] (код 1102) та завершення обчислень і виведення до дисплейного вікна вмістимого комірок пам’яті з адресами А1, А2. А3.    Далі подамо стан комп’ютера за умови, що не усі комірки пам’яті містять нульовий бінарний код (рис. 1.4). / Рис. 1.4 – Стан симулятора з ненульовою пам’яттю Запишемо до комірки пам’яті з адресою 10102 код 101 1101 1110 11112, а до комірок те, що подане наступною таблицею 2: Таблиця 2. Бінарний код 10102 101 1101 1110 11112 = інструкція A1 * A2=> A3  11012 100 0000 0000 00112 = 1638410 + 310 = 1638710  11102 000 0000 0010 00012 = 3210 + 110 = 3310  11112 000 0000 0000 00002 = 010  Далі, коли виставити курсор на лінію вмістимого комірки з адресою 10102 (курсор не можна побачити на поданому рисунку, але його розташування легко побачити у вікні реальної програми), тоді в інформаційному вікні можна побачити, як ці записи трактує комп’ютер. По-перше, бінарний код комірки, на якій знаходиться курсор, він сприймає як код інструкції та розшифровує його як інструкцію множення вмістимого комірки за першою адресою А1=11012 на вмістиме комірки за другою адресою А2=11102. Така інструкція має поміщати добуток до комарки з третьою адресою А3=11112. Але тут знаходиться не добуток, а нульовий бінарний код, який комп’ютер сприймає як десятковий нуль. По-друге, коли бінарний код за адресою 10102 протрактовано як інструкцію, тоді комп’ютер вже мусить трактувати вмістиме адрес 11012 - 11112 як бінарні коди цілих позитивних чисел, адже ці адреси належать щойно протрактованій інструкції. Нульовий код добутку пояснити нескладно: ця інструкція ще не виконувалася і комірка результату містить сміття (в нас це є нуль). По-третє, вмістиме кожної комірки пам’яті, на якій стоїть курсор в режимі редагування, комп’ютер завжди трактує як машинну інструкцію. Поглянемо на рис. 1.5. / Рис. 1.5 – Вікно для стану комп’ютера, коли курсор в режимі редагування розташований на вмістимому комірки пам’яті з адресою 11012. Нічого не мінялося. Ми лише змусили комп’ютер перейти від трактування вмістимого комірки 10102 до трактування вмістимого комірки 11012. А результат побачили разючий! Те вмістиме, що трактувалося чисом, почало трактуватися як машинна інструкція. Але все коректно. Ось такими і є сучасні комп’ютери. В межах пам’яті неможливо відрізнити код числа від коду інструкції. А розрізняти потрібно. Так ось, розрізнення відбувається вже поза пам’яттю. Бінарний код, що з пам’яті пристрій керування надсилає до суматора стає числом, а той код, що той самий пристрій надсилає до регістра інструкції (РК), стає інструкцією. Пристрій керування приймає рішення щодо напрямку надсилання, керуючись і уведеною до пам’яті програмою, і вказівкою, з якої комірки пам’яті розпочинається програмний код, за умови, що інструкції програми розташовані в пам’яті в комірках з послідовними адресами (n, n+1, n+2, n+3, ...). В цьому комп’ютері прийнято, що перша інструкція програми завжди знаходиться в комірці з адресою 00002. Якщо програміст цого обмеження не дотримується, тоді уведена ним до пам’яті програма не надає коректні результати. Виконання роботи Індивідуальне завдання: № Завдання  3 r=7(x+y)-(xy-z)   X=5, Y=1, Z=0 R10=7*(5+1)-(5*1-0)=37 R2=0111*(0101+0001)-(0101*0001-0000)=100101 Результат виконання: / Висновок: після виконання даної лабораторної роботи я опанувала роботу на симуляторі машини KROHA-М.
Антиботан аватар за замовчуванням

23.10.2016 03:10-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!