Набір інструкцій навчального комп’ютера. Загальний порядок виконання інструкцій
Порядок виконання програм у комп’ютері. Формат і набір інструкцій симулятора навчальної ЕОМ. Способи використання інструкцій: звертання до пам’яті, інструкцій арифметичних операцій. Потактовий режим роботи навчального комп’ютера. Регістр ознак процесора.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | украинский |
Дата добавления | 05.12.2012 |
Размер файла | 104,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
ЗВІТ
з лабораторної роботи №2
з дисципліни «Організація та функціонування комп'ютерів»
на тему: «Набір інструкцій навчального комп'ютера. Загальний порядок виконання інструкцій»
Виконав:
Ст. гр. КІі - 21з Скоренко В.В.
Прийняв:
Доцент кафедри СКС Дунець Р.Б.
Львів 2012
Лабораторна робота №2
Тема: Набір інструкцій навчального комп'ютера. Загальний порядок виконання інструкцій.
Мета:
Засвоїти порядок виконання програм у комп'ютері. Ознайомитися з форматом та набором інструкцій симулятора навчальної ЕОМ. Засвоїти формати і способи використання інструкцій звертання до пам'яті та інструкцій арифметичних операцій;
2. Засвоїти призначення регістра ознак процесора;
3. Ознайомитися з потактовим режимом роботи навчального комп'ютера.
4. Засвоїти базовий порядок виконання інструкції навчального комп'ютера та навчитися досліджувати хід виконання окремих інструкцій.
Теоретичні відомості:
Усі інструкції у навчальному комп'ютері можна поділяти за такими напрямками:
- За форматом коду інструкції;
- За призначенням.
За форматом розрізняють адресні та безадресні інструкції.
Прикладом безадресної інструкції може бути інструкція HALT - інструкція припинення виконання будь - яких операцій в процесорі, для її виконання непотрібно жодного операнду.
Прикладом адресних інструкцій можуть бути будь - які інструкції які оперують над операндами, чи вмістом акумулятора - NOT(інверсія вмісту акумулятора).
Усі інструкції навчального комп'ютера за призначенням можна розділити на такі групи:
1) інструкції звертання до пам'яті (LOAD та STORE);
2) арифметичні інструкції (ADD та SUB);
3) логічні інструкції (AND, OR, XOR та NOT);
4) інструкції вводу/виводу (INPUT та OUTPUT);
5) інструкції керування виконанням програми:
а) інструкція зупинки (HALT);
б) інструкції умовних переходів (JNZ, JZ, JP, JM, JNC та JC);
в) інструкція безумовного переходу (JMP);
6) інструкції зсувів (вліво (Left) та вправо (Right)):
а) інструкції логічного зсуву (LSL та LSR);
б) інструкції арифметичного зсуву (ASL та ASR);
в) інструкції циклічного зсуву (ROL та ROR);
г) інструкції циклічного зсуву через тригер ознаки переносу C (RCL та RCR).
Призначення регістру ознак процесора
Відповідно до обмежень, які закладені у архітектурі любого комп'ютера, у тому числі і нашого навчального - симулятора DeComp, результат виконання арифметичних і більшості інших інструкцій необхідно аналізувати для визначення його певних особливостей. Що саме:
- потрібно відрізняти додатні і від'ємні числа;
- потрібно визначати стан, коли результат виконання інструкції дорівнює нулю;
- потрібно визначати переповнення розрядної сітки акумулятора.
Для фіксації цих станів існує регістр ознак у процесорі, який має три тригери: Z, S i C. На панелі навчального комп'ютера він розміщений біля акумулятора.
Прапорець Z (Zero - нуль) встановлюється у 1 (світиться), якщо результат операції дорівнює 0. Зрозуміло, що для команди ADD ця ознака встановиться лише у випадку, якщо до 0 додати 0, або якщо додаються два однакових числа з протилежними знаками.
Прапорець S (Sign - знак) встановлюється в 1, якщо результат операції - від'ємне число.
Знову ж таки, інструкція ADD не може дати від'ємного результату за винятком чисел у доповняльному коді, яких ми поки-що не розглядаємо. Зрозуміло, якщо віднімати від меншого числа більше інструкцією SUB, отримаємо ознаку від'ємного результату S.
Прапорець C (Carry - перенос) встановлюється в 1, коли у результаті арифметичної операції (додавання чи віднімання) виникає перенос із старшого розряду результату або при виконанні операції зсуву вправо чи вліво крайній розряд числа вийшов за межі розрядної сітки.
Порядок виконання роботи
Опис призначення регістру ознак:
В більшості випадків результат виконання певних операцій необхідно аналізувати на визначення його певних особливостей: потрібно відслідковувати чи не виникло переповнення, чи результат відмінний від нуля, і чи він рівний нулю.
Цим завданням займається регістр ознак процесора, який має три прапорці Z,C,S;
Прапорець Z (Zero) - прапорець встановлюється в 1 якщо результат операції рівний 0;
Прапорець C(Carry) - прапорець встановлюється в 1 якщо під час виконання операції відбулося перенесення із старшого розряду результату.
Прапорець S(Sign) - прапорець встановлюється в 1 якщо результатом виконання операції є від'ємне число.
Дослідження додавання двох чисел у по тактовому режимі
Такти |
Мнемонічний запис |
Код, що обробляється |
Пояснення |
|
1. |
ЛАІ > РА |
0000 0000 0000 |
Вибір адреси 1 інструкції і занесення її до регістру адрес |
|
2. |
РА > РД |
0000 0000 0000 1010 |
Вибір коду інструкції з регістру адрес і занесення його в регістр даних |
|
3. |
РД > А |
0000 0000 0000 1010 |
Занесення в акумулятор адреси першого операнду |
|
4. |
ЛАІ +1 >ЛАІ |
0000 0000 0001 |
Підготовка нової адреси інструкції |
|
5. |
ЛАІ > РА |
0000 0000 0001 |
Вибір адреси наступної інструкції і занесення її до регістру адрес |
|
6. |
РА > РД |
0010 0000 0000 1011 |
Вибір коду інструкції з регістру адрес і занесення його в регістр даних |
|
7. |
РД > РІ |
0010 0000 0000 1011 |
Декодування інструкції в регістрі інструкцій |
|
8. |
РІ > РА |
0000 0000 1011 |
Вибір адреси наступної інструкції і занесення її до регістру адрес |
|
9. |
РА > РД |
0000 0000 0000 0101 |
Вибір коду інструкції з регістру адрес і занесення його в регістр даних |
|
10. |
РД > А |
0000 0000 0000 1111 |
Запис в акумулятор значення 1 операнду 15 |
|
11. |
А > РО |
0 0 0 |
Встановлення прапорців регістру ознак |
|
12. |
ЛАІ + 1 > ЛАІ |
0000 0000 0010 |
Підготовка нової адреси інструкції |
|
13. |
ЛАІ > РА |
0000 0000 0010 |
Вибір адреси нової інструкції і занесення її до регістру адрес |
|
14. |
РА > РД |
0001 0000 0000 1100 |
Вибір коду інструкції з регістру адрес і занесення його в регістр даних |
|
15. |
РД > РІ |
0001 0000 0000 1100 |
Декодування інструкції в регістрі інструкцій |
|
16. |
РІ > РА |
0000 0000 1100 |
Вибір адреси наступної інструкції і занесення її до регістру адрес |
|
17. |
РА > РД |
0000 0000 0000 0101 |
Вибір коду інструкції з регістру адрес і занесення його в регістр даних |
|
18. |
РД + А > А |
0000 0000 0001 0100 |
Виконання операції і збереження результату у акумуляторі |
|
19. |
А > РО |
0 0 0 |
Встановлення прапорців регістру ознак |
|
20. |
ЛАІ + 1 > ЛАІ |
0000 0000 0011 |
Підготовка нової адреси інструкції |
|
21. |
ЛАІ > РА |
0000 0000 0011 |
Вибір адреси наступної інструкції і занесення її до регістру адрес |
інструкція комп'ютер регістр
Виконання у покроковому режимі віднімання двох чисел А і В, при умовах:
Запис програми віднімання у мнемонічних кодах
Комірка памяті |
Код інструкції |
Мнемонічний запис |
Коментар |
|
0000 0000 0000 |
0000 0000 0000 1000 |
LOAD 8 |
Завантажити в акумулятор значення з 8 комірки памяті |
|
0000 0000 0001 |
0011 0000 0000 1001 |
SUB 9 |
Відняти від акумулятора значення з 9 комірки памяті |
|
0000 0000 0010 |
0001 0000 0000 1010 |
STORE 10 |
Зберегти результат віднімання в 10 комірку памяті |
|
0000 0000 0011 |
0111 1100 0000 0000 |
HALT |
Завершити роботу програми |
А = В А > B A < B
А = В (А - В)
А = 8dec = 1000bin >
B = -8dec = 1000bin >
00.1000
11.1000
1 00.0000 = 0dec
Виконання операції в DeComp:
Результат виконання операцій:
Як видно з рисунку прапорець Z (Zero) встановився в 1. Це пояснюється тим що результат виконання операції віднімання А - В рівний 0, тобто 8 - 8 = 0.
А < В (А - В)
А = 4dec = 1000bin >
B = -8dec = 1000bin >
00.0100
11.1000
11.1100
11.0011
1
11.0100 = - 4dec
Результат виконання операцій:
Як видно з рисунку під час виконання цієї операції (А - В при А < B) в одиницю встановились два прапорці регістру ознак S(Sign) i C(Carry). S встановився в 1 оскільки результатом віднімання двох чисел є відємне число -4 , прапорець S відповідає за знак. C встановився в 1 оскільки відбулось запозичення в старший розряд від'ємника.
А > В (А - В)
А = 8dec = 1000bin >
B = -4dec = 0100bin >
00.1000
11.1100
1|00.0100 = 4dec
Результат виконання операцій:
При виконання цієї операції (А - В при A > B) жоден з прапорців не встановився в 1, оскільки отриманий результат +4.
Дослідження у потактовому режимі інструкцій STORE,LOAD,SUB:
Інструкція STORE:
Для виконання цієї операції в акумулятор попередньо було записане значення 15 (1111), сама ж операція буде проводити збереження значення акумулятора в комірку памяті 10.
Такт |
Мнемонічний запис |
Код, що обробляється |
Пояснення |
|
1. |
ЛАІ > РА |
0000 0000 0000 |
Вибір адреси 1 інструкції і занесення її до регістру адрес |
|
2. |
РА > РД |
0001 0000 0000 1010 |
Вибір коду інструкції і занесення його з регістру адрес в регістр даних |
|
3. |
РД > РІ |
0001 0000 0000 0101 |
Декодування інструкції в регістрі інструкцій |
|
4. |
РІ > РА |
0000 0000 1010 |
Вибір адреси наступної інструкції і занесення її до регістру адрес. |
|
5. |
А > РД |
0000 0000 0000 1111 |
Занесення вмісту акумулятора в регістр даних |
|
6. |
РД > РА |
0000 0000 0000 1111 |
Запис вмісту регістру даних за адресою 0000 0000 1010 |
Інструкція LOAD
Інструкція LOAD є оберненою до інструкції STORE, яка зберігає вміст акумулятора в комірку памяті за певною адресою. Інструкція LOAD записує вміст комірки за певною адресою у акумулятор. Для дослідження цієї операції будемо завантажувати до акумулятора вміст комірки з адресою 10(1010).
Такт |
Мнемонічний запис |
Код, що обробляється |
Пояснення |
|
1. |
ЛАІ > РА |
0000 0000 0000 |
Вибір адреси 1 інструкції і занесення її до регістру адрес |
|
2. |
РА > РД |
0000 0000 0000 1010 |
Вибір коду інструкції і занесення його з регістру адрес в регістр даних |
|
3. |
РД > РІ |
0000 0000 0000 1010 |
Декодування інструкції в регістрі інструкцій |
|
4. |
РА > РД |
0000 0000 0000 1111 |
Завантаження до регістру даних значення 10 комірки памяті. |
|
5. |
РД > А |
0000 0000 0000 1111 |
Завантаження вмісту регістру даних в акумулятор. |
Інструкція SUB:
Для дослідження даної інструкції будемо віднімати два числа:
А = 15dec = 1111bin - знаходиться у 8 комірці памяті;
B = 10dec = 1010bin - знаходиться у 9 комірці памяті;
Результат виконання операції буде збережений у 10 комірку;
Такт |
Мнемонічний запис |
Код, що обробляється |
Пояснення |
|
1. |
ЛАІ > РА |
0000 0000 0000 |
Вибір адреси 1 інструкції і занесення її до регістру адрес |
|
2. |
РА > РД |
0000 0000 0000 1000 |
Вибір коду інструкції і занесення його з регістру адрес в регістр даних |
|
3. |
РД > РІ |
0000 0000 0000 1000 |
Декодування інструкції в регістрі інструкцій |
|
4. |
РІ > РА |
0000 0000 1000 |
Вибір адреси наступної інструкції і занесення її до регістру адрес |
|
5. |
РА > РД |
0000 0000 0000 1111 |
Завантаження в регістр даних значення 8 комірки памяті |
|
6. |
РД > А |
0000 0000 0000 1111 |
Завантаження в акумулятор вмісту регістру даних |
|
7. |
ЛАІ + 1 > ЛАІ |
0000 0000 0001 |
Підготовка наступної адреси інструкції |
|
8. |
ЛАІ > РА |
0000 0000 0001 |
Вибір адреси наступної інструкції і занесення її до регістру адрес |
|
9. |
РА > РД |
0011 0000 0000 1001 |
Вибір коду інструкції з регістру адрес і занесення його до регістру даних |
|
10. |
РД > РІ |
0011 0000 0000 1001 |
Декодування інструкції в регістрі інструкцій |
|
11. |
РІ > РА |
0000 0000 1001 |
Вибір адреси наступної інструкції і занесення її до регістру адрес |
|
12. |
РА > РД |
0000 0000 0000 1010 |
Завантаження в регістр даних значення 9 комірки памяті |
|
13. |
А - РД > А |
0000 0000 0000 0101 |
Виконання операції віднімання і збереження результату в акумуляторі |
|
14. |
А > РО |
0 0 0 |
Встановлення прапорців регістру ознак |
|
15. |
ЛАІ + 1 > ЛАІ |
0000 0000 0010 |
Підготовка адреси наступної інструкції |
|
16. |
ЛАІ > РА |
0000 0000 0010 |
Вибір адреси наступної інструкції і занесення її до регістру адрес |
|
17. |
РА > РД |
0001 0000 0000 1010 |
Вибір коду інструкції з регістру адрес і занесення його до регістру даних |
|
18. |
РД > РІ |
0001 0000 0000 1010 |
Декодування інструкції в регістрі інструкцій |
|
19. |
РІ > РА |
0000 0000 1010 |
Вибір адреси наступної інструкції і занесення її до регістру адрес |
|
20. |
А > РД |
0000 0000 0000 0101 |
Завантаження вмісту акумулятора в регістр даних |
|
21. |
РД > РА |
0000 0000 0000 0101 |
Завантаження вмісту регістру даних у 10 комірку памяті. |
|
22. |
ЛАІ + 1 > ЛАІ |
0000 0000 0011 |
Підготовка наступної адреси інструкції |
|
23. |
ЛАІ > РА |
0000 0000 0011 |
Вибір адреси наступної інструкції і занесення її до регістру адрес |
|
24. |
РА > РД |
0111 1100 0000 0000 |
Вибір коду інструкції з регістру адрес і занесення її до регістру даних |
|
25. |
РД > РІ |
0111 1100 0000 0000 |
Декодування інструкції в регістрі інструкцій |
Висновок: на практичній роботі я вивчив порядок виконання операцій в потактовому режимі, ознайомиася із регістром ознак процесора, виконав дослідження у потактовому режимі інструкцій STORE, LOAD, SUB
Размещено на www.allbest.
Подобные документы
Отримання показників процесора за допомогою програми EVEREST Ultimate 2006. Приклад отриманих характеристик: властивості ЦП, виробник та завантаження. Набори команд та інструкцій, з якими працює процесор. Властивості та виробник графічного процесора.
лабораторная работа [19,5 K], добавлен 16.12.2010Архітектурні особливості процесора ARM9E. Набори інструкцій ARM i Thumb. Порівняння компіляторів за швидкістю роботи та обсягом згенерованого коду. Операційні системи, які підтримує процесор ARM9E. Розміри коду підпрограм для ARM та Thumb станів.
курсовая работа [522,6 K], добавлен 08.09.2011Складання, імлементація і верифікація VHDL моделі чотирибітового комп’ютера, що вбудовується до ПЛІС, містить процесор, пам'яті даних і машинних кодів. Перелік і функції машинних інструкцій процесора "Гном". Асемблерна тестова програма і її машинні коди.
курсовая работа [24,3 K], добавлен 10.01.2010Подання чисел у нормальній формі. Порядок нормалізації чисел з рухомою комою. Правила додавання двійкових чисел з рухомою комою. Алгоритми і програми додавання чисел в арифметиці з рухомою комою в інструкціях навчального комп'ютера-симулятора DeComp.
лабораторная работа [31,7 K], добавлен 13.03.2011Набір програм, призначених для управління комп'ютером, зберігання і обробки інформації, для організації роботи всіх підключених до комп'ютера пристроїв. Загальні відомості про операційну систему. Історичний аспект розвитку ОС Windows та його можливості.
реферат [2,3 M], добавлен 30.03.2009Огляд та класифікація комп'ютерних ігор. Алгоритм розташування кораблів на ігровому полі. Виконання алгоритму гри комп'ютера з використанням методу випадкових чисел. Стратегія гри комп'ютера. Обґрунтування вибору середовища програмної реалізації.
курсовая работа [616,5 K], добавлен 26.01.2023"Критичні" комплектуючі комп'ютера. Процесор та оперативна пам'ять. Швидкість роботи комп'ютера. Порівняння швидкодії комплектуючих з роботою еталонних моделей. Стратегія і варіанти модернізації. Функціональні особливості побудови материнської плати.
курсовая работа [4,6 M], добавлен 24.06.2013Способи виявлення й видалення невідомого вірусу. Спроби протидії комп’ютерним вірусам. Способи захисту комп’ютера від зараження вірусами та зберігання інформації на дисках. Класифікація комп'ютерних вірусів та основні типи антивірусних програм.
реферат [17,1 K], добавлен 16.06.2010Режими роботи з таблицями в Microsoft Access. Основні способи створення таблиць. Вимоги до технічних характеристик комп'ютера. Створення бази даних. Техніка безпеки та основні правила при виконанні робіт на комп'ютері. Порядок архівування роботи.
реферат [1,5 M], добавлен 23.12.2010Основні блоки персонального комп'ютера та їх значення. Варіанти організації внутрішньомашиного інтерфейсу. Функціональна схема мікропроцесору. Види запам'ятовуючих пристроїв. Послідовність роботи блоків комп'ютера. Основні зовнішні та внутрішні пристрої.
курсовая работа [346,8 K], добавлен 05.01.2014