Набір інструкцій навчального комп’ютера. Загальний порядок виконання інструкцій.

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

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

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

Рік:
2006
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Організація та функціонування комп’ютерів

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

Міністерство освіти та науки України Національний університет «Львівська політехніка» Кафедра ЕОМ  ЗВІТ З лабораторної роботи №2 з дисципліни «Організація та функціонування комп’ютерів» на тему: «Набір інструкцій навчального комп’ютера. Загальний порядок виконання інструкцій.» Порядок виконання роботи Прапорці регістру ознак – тригери: Z,C,S. На панелі навчального комп’ютера вони знаходяться біля акумулятора. Z – встановлюється (світиться), якщо результат операції дорівнює 0. S – встановлюється, якщо результат операції – від’ємне число. C – встановлюється, коли у результаті арифметичної операції (додавання чи віднімання) виникає перенос із старшого розряду. У покроковому режимі ввів у симулятор програму додавання двох чисел, які були у роботі №1. ( LOAD 10) ЛАІ→РА (0000 0000 0000) РА→РД (0000 0000 0000 1010) РІ→РА (0000 0000 1010) РД→РІ (0000 0000 1010) РА→РД (0000 0000 0010 1000) РД→А (0000 0000 0010 1000) ЛАІ+1→ЛАІ (0000 0000 0001) (ADD 11) ЛАІ→РА (0000 00000 0001) РА→РД (0010 0000 0000 1011) РІ→РА (0010 0000 0000 1011) РД→РІ (0010 0000 0000 1011) РА→РД (0010 0000 0010 1011) РД→А (0000 0000 0010 1000) А→РО ЛАІ+1→ЛАІ (0000 0000 0101) STORE ЛАІ→РА(0000 0000 0010) РА→РД (0001 0000 0000 1100) РІ→РА (0000 0000 0000 1100) РД→РІ (0000 0000 0011 0011) А→РД (0000 0000 0011 0011) РД→РА ЛАІ+1→ЛАІ (0000 0000 0011) 4) SUB ЛАІ→РА (0000 0000 0011) РА→РД (0111 1100 000 000) РД→РІ (0111 1100 0000 0000) Тепер віднімання двох чисел, в даному випадку це будуть 67 і 67. В набірному полі вводжу 0000 0000 0010 1000, тисну кнопку РА, цим вибираючи 40-ву комірку, далі в набірному полі вводжу 0000 0000 0100 0011, тисну кнопку РД і «Запис», заносячи до 40-ї комірки число 67. Тисну «+1», збільшуючи значення РА на 1 і за допомогою набірного поля заношу до цієї комірки те саме число. Тепер у набірному полі набираю 0000 0000 0001 0100 і кнопкою РА заношу значення до Регістру адреси пам'яті. Тепер за допомогою набірного поля, кнопки РД і кнопки «Запис» заношу у цю комірку інструкцію зчитування операнда 40-ї комірки до акумулятора: 0000 0000 0010 1000. Таким самим чином, збільшуючи значення комірок кнопкою «+1» вношу в наступні інструкції: 0011 0000 0010 1001 – віднімає від числа, що в акумуляторі операнд 41-ї комірки; 0001 0000 0010 1010 – зберігає результат у 42-у комірку; 0111 1000 0000 0000 – виводить значення з акумулятора на пристрій виводу; 0111 1100 0000 0000 – закінчує виконання програми. Тепер вводжу в ЛАІ 0000 0001 0100 і запускаю програму в покроковому режимі. При закінченні програми на Регістрі ознак засвічується Z, що означає, що результат віднімання – від’ємний. Тепер у 41-у (0000 0000 0010 1001) комірку вводжу число 52 (0000 0000 0011 0100) і виконую програму знову. Виконавши програму бачу на пристрої виводу число 0000 0000 0000 1111 – 15. На Регістрі ознак не світяться ніякі ознаки. Тепер у 41-у комірку вводжу число 79 (0000 0000 0100 1111) і виконую програму знову. Після виконання програми на Регістрі ознак засвічується S і C, що означає, що результат від’ємний і відбулось розрядне переповнення. Розрядне переповнення відбулось тому, що від’ємне число представляється в оберненому коді, а перед цим кодом ставиться одиничка, яку машина автоматично поставила в 16-й розряд. Але я можу взнати результат віднімання, замінивши в числі, яке видав порт виводу нулі на одинички і навпаки і враховуючи, що результат від’ємний: 1111 1111 1111 0100 – 0000 0000 0000 1011. У потактовому режимі розглянемо виконання функції LOAD, для цього у 10-у комірку внесем інструкцію 0000 0000 0010 1000, яка буде читати значення 40-ї комірки, а в 11-у комірку функцію HALT – 0111 1100 0000 0000, щоб програма зупинилась. ЛАІ встановлюємо на 0000 0000 1010 і тиснемо «Пуск»: № Зачення РА Код інструкції Мнемонічний запис Коментар  1 0000 0000 1010 0000 0000 0010 1000 LOAD Завантажує операнд 10-ї комірки  2 0000 0000 1011 0111 1100 0000 0000 Halt Зупиняє виконання програми   Такт 1: ЛАІ ( РА (0000 0000 1010) – вибір адреси інструкції; Такт 2: Пам’ять РА ( РД (0000 0000 0010 1000) – зчитування коду інструкції; Такт 3: РД ( РІ (0000 0000 0010 1000) – розшифровка інструкції; Такт 4: РІ ( РА (0000 0000 0010 1000) – вибір адреси 1-го операнду; Такт 5: Пам’ять РА ( РД (0000 0000 0100 0011) – зчитування першого операнду; Такт 6: РД ( Акумулятор (0000 0000 0100 0011) – занесення операнду до акумулятора. На цьому зчитування закінчується і йде підготовка наступної інструкції. Тепер виконаєм функцію STORE, для цього в набірному полі вводжу 0000 0000 0100 0011 (67) і кнопкою А заношу значення до акумулятора. В 11-у комірку заношу інструкцію 0001 0000 0000 1010, яка збереже число у десяту клітинку, в наступну комірку заношу інструкцію зупинки програми – 0111 1100 0000 0000. Встановлюю ЛАІ на 0000 0000 0000 1011 і запускаю програму в потактовому режимі: №п/п Зачення РА (Binary) Код інструкції Мнемонічний запис Коментар  1 0000 0000 1011 0001 0000 0000 1010 STORE Збереже операнд до 10-ї комірки  2 0000 0000 1100 0111 1100 0000 0000 Halt Зупиняє виконання програми   Такт 1: ЛАІ ( РА (0000 0000 1011) – вибір адреси інструкції; Такт 2: Пам’ять РА ( РД (0001 0000 0000 1010) – зчитування коду інструкції; Такт 3: РД ( РІ (0001 0000 0000 1010) – розшифровка інструкції; Такт 4: РІ ( РА (0000 0000 1010) – вибір адреси куди занесеться значення акумулятора; Такт 5: Акумулятор ( РД (0000 0000 0100 0011) – зчитування до пам’яті; Такт 6: РД ( Пам’ять РА (0000 0000 0100 0011) – запис до комірки. На цьому запам’ятовування закінчується і йде підготовка наступної інструкції. Тепер розглянем функцію SUB, для цього в Акумулятор записую 0000 0000 0100 1111, а у 10-у комірку інструкцію 0011 0000 0010 1000, яка буде віднімати операнд 40-ї комірки. В 11-у комірку записую інструкцію 0111 1100 0000 0000, яка зупинить програму. Встановлюю ЛАІ на 0000 0000 1010 і запускаю програму: №п/п Зачення РА (Binary) Код інструкції Мнемонічний запис Коментар  1 0000 0000 1010 0011 0000 0010 1000 SUB Віднімання 2-го операнду від значення акумулятора  2 0000 0000 1011 0111 1100 0000 0000 Halt Зупиняє виконання програми   Такт 1: ЛАІ ( РА (0000 0000 1010) – вибір адреси інструкції; Такт 2: Пам’ять РА ( РД (0011 0000 0010 1000) – зчитування коду інструкції; Такт 3: РД ( РІ (0011 0000 0010 1000) – розшифровка інструкції; Такт 4: РІ ( РА (0000 0010 1000) – вибір адреси 2-го операнду; Такт 5: Пам’ять РА ( РД (0000 0000 0100 0011) – зчитування 2-го операнду; Такт 6: РД ( Акумулятор (0000 0000 0000 1100) – дія віднімання; Такт 7: Акумулятор ( Регістр ознак – перевірка результату. На цьому віднімання закінчується і йде підготовка наступної інструкції. Висновок: Засвоїв порядок виконання програм у комп’ютері. Ознайомився з режимами роботи навчального комп’ютера та засвоїти базовий порядок виконання інструкцій навчального комп’ютера. Засвоїв призначення регістру ознак процесора.
Антиботан аватар за замовчуванням

28.01.2013 14:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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