DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

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

Міністерство освіти та науки України Національний університет «Львівська політехніка» Кафедра ЕОМ  ЗВІТ З лабораторної роботи №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:30

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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