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

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

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

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

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Архітектура комп'ютерів
Група:
КІ-31

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” / Кафедра ЕОМ Лабораторна робота №1 з курсу ”Архітектура комп’ютера ” Робота з симулятором машини Ноймана. Дослідження виконання машинного коду в автоматичному режимі. Мета: опанувати роботу на симуляторі машини Ноймана, зрозуміти і дослідити принцип виконання програми машиною Ноймана. Завдання: запустити симулятор, увести до нього коди машинних інструкцій і коди чисел, навчитися утворювати і змінювати ці коди, дослідити і пояснити принципи трактування машиною Ноймана бінарних кодів. Розробити тестову програму, завантажити програму і відповідні дані до симулятора, виконати програму в автоматичному режимі, проаналізувати і пояснити отримані результати, скласти звіт з виконання лабораторних досліджень та захистит його. Методика виконання лабораторної роботи CISC – complex instruction set computing (обчислення зі складною системою машинних інструкцій) Керування роботою з симулятором Далі розглянемо вікно симулятора комп’ютера (табл. 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). / Виконання програми: Запишемо до комірки пам’яті з адресою 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. Якщо програміст цого обмеження не дотримується, тоді уведена ним до пам’яті програма не надає коректні результати. Висновок: я опанував роботу на симуляторі машини Ноймана, зрозумів і дослідив принцип виконання програми машиною Ноймана.
Антиботан аватар за замовчуванням

11.11.2012 14:11-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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