Лабораторна робота

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Інститут комп’ютерних технологій, автоматики та метрології
Кафедра:
СКС

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

Рік:
2016
Тип роботи:
Звіт до лабораторної роботи
Предмет:
ООФК
Група:
КІ 13
Варіант:
2 6 РКФ

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра СКС / ЗВІТ з лабораторної роботи № 5 з дисципліни «Організація та функціонування комп’ютерів» на тему: «Дослідження виконання арифметичних операцій з числами у форматі з фіксованою комою у симуляторі DeComp» Львів – 2016 Тема: Дослідження виконання арифметичних операцій з числами у форматі з фіксованою комою у симуляторі DeComp. Мета роботи: Вивчити форми подання і застосування додатних та від’ємних чисел у арифметиці з фіксованою комою; Навчитись розробляти алгоритми і здійснити їх реалізацію у інструкціях процесора навчального комп'ютера DeComp виконання арифметичних операцій додавання та віднімання над двійковими числами з фіксованою комою у модифікованих кодах; Навчитись розробляти алгоритми і здійснити їх реалізацію у інструкціях процесора навчального комп'ютера DeComp виконання арифметичної операції множення двійкових чисел без знаку. Теоретична частина. Додавання і віднімання двійкових чисел з фіксованою комою Простота виконання арифметичних дій є важливою особливістю двійкової системи числення. Але у дійсності, при виконанні арифметичних операцій у конкретному комп’ютері потрібно додатково враховувати не тільки знаки чисел, що обробляються, але і діапазон та форму подання чисел. Відомо, що одним з можливих шляхів виконання операції віднімання є заміна знаку числа, яке віднімається, на протилежний і додавання його до зменшуваного. А - В = А + ( - В) Таким чином операцію арифметичного віднімання замінюють операцією алгебраїчного додавання, яку можна виконати за допомогою двійкових суматорів. Нагадаємо, що від’ємні числа у комп’ютері подаються у прямому, доповняльному і оберненому кодах. Числа, що зберігаються у прямому коді, перед виконанням обчислень перетворюються у потрібний – доповняльний або обернений - код і після виконання обчислень знову перетворюються у прямий код. При реалізації заміни віднімання додаванням, другий доданок у наведеному виразі переводиться у доповняльний код шляхом інвертування та додавання одиниці у молодший розряд. (Треба пам’ятати, що доповняльний код додатного числа співпадає з прямим кодом). A –B = A + B +1 При додаванні двох двійкових чисел, за абсолютною величиною менших одиниці, код суми може за абсолютною величиною перевищити одиницю або стати рівним їй. У такому випадку відбудеться переповнення розрядної сітки, що призведе до неправильного результату. У таких випадках результату не існує. Переповнення може відбутися у тих випадках, коли доданки мають однакові знаки. Ознакою переповнення розрядної сітки слугує протилежність знаку суми, що отримана, знакам доданків. Звідси витікає, що для отримання коректного результату при додаванні двійкових чисел з фіксованою комою обов’язковою є умова, щоб кожний з доданків і їх сума за абсолютною величиною були менше одиниці. Множення двійкових чисел без знаку Множення двійкових чисел виконують за правилами, аналогічними для десяткових чисел, тобто визначають проміжні добутки, а потім їх додають. Але, важливо зазначити, що у цьому процесі значно полегшується процес визначення проміжних добутків. Насправді виконуються тільки два правила множення двійкового числа на двійкову цифру: 1). Якщо ця двійкова цифра (розряд множника) дорівнює 1, то двійкове множене просто копіюється без змін у якості проміжного добутку; 2). Якщо цей розряд множника дорівнює 0, то проміжний добуток дорівнює 0. Ці правила ілюструє приклад 4. Дії виконуються наступним шляхом: у першому розряді множника стоїть 1, тому у якості першого проміжного добутку копіюється значення множеного. У наступному зліва розряді множника стоїть 0, і, відповідно, другий проміжний добуток дорівнює 0000. Далі, дії повторюються. Хід виконання роботи: Розробити алгоритм і написати програму додавання довільних 16-розрядних двійкових чисел із знаком, поданих у форматі з фіксованою комою у модифікованому доповняльному коді у інструкціях навчального комп’ютера DeComp. Виконаємо підготовку до дослідження: Адр.28 – Число А = 13; Адр.29 – Число Б = 1; Адр.30 – Число В = Результат; Адр.31 – Маска 1 = 1100 0; Адр.32 – Маска 2= 0011 1; Адр.33 – Інкремент (Число 1). ні так ні так Перед виконанням програми змінні у пам’яті комп’ютера записані у такому вигляді: Адреса комірки Дані в двійковому коді Позначення змінної Коментар  40 0000 0000 0000 1010 A Перший доданок в прямому модифікованому коді  41 1100 0000 0000 1001 B Другий доданок в прямому модифікованому коді  42 1100 0000 0000 0000 М Маска, що призначена для визначення знаку числа.  43 0000 0000 0000 0001 К Службова одиниця.  44 0000 0000 0000 0000 S Змінна для збереження результату додавання .   45 1111 1111 1111 1111 О Ознака неправильного результату.   № комірки Код Інструкції Мнемонічний формат інструкції Коментар інструкції  1 0000 0000 0001 1100 LOAD 28 Перевірка числа А на від’ємність  2 0100 0000 0001 1111 AND 31   3 0011 0000 0011 1111 SUB 31   4 1000 0000 0000 1000 JNZ 8   5 0000 0000 0001 1100 LOAD 28 Переведення числа А у доповняльний код  6 0110 0000 0010 0000 XOR 32   7 0010 0000 0010 0001 ADD 33   8 0000 0000 0001 1101 STORE 28   9 0100 0000 0001 1111 LOAD 29 Перевірка числа Б на від’ємність  10 0011 0000 0001 1111  AND 31   11 1000 0000 0001 1111 JNZ 16   12 0000 0000 0001 1101 LOAD 29 Переведення Числа Б у доповняльний код  13 0110 0000 0010 0000 XOR 32   14 0010 0000 0010 0001 ADD 33   15 0001 0000 0001 1101 SRORE 28   16 0000 0000 0001 1100 LOAD 28 Виконання додавання двох чисел  17 0010 0000 0001 1101 ADD 29   18 0001 0000 0001 1110 STORE 30   19 0000 0000 0001 1110 LOAD 30 Перевірка результату на від’ємність  20 0100 0000 0001 1111 ADD 31   21 1000 0000 0001 1011 SUB 31   22 1000 0000 0001 1011 JNZ 27   23 0000 0000 0001 1110 LOAD 30 Переведення результату у прямий код  24 0110 0000 0010 0000 XOR 32   25 0010 0000 0010 0001 ADD 33   26 0001 0000 0001 1110 SRORE 30   27 0111 1100 0000 0000 HALT Припинення виконання   Виконати дослідження програми, розробленої у пункті 2, у покроковому режимі. № PA РА А РІ ЛАІ РО  1 0000 0001 1100 0000 0000 0000 1101 0000 0000 0000 1101 0000 0000 0001 1100 0000 0000 0001 000  2 0000 0001 1111 1100 0000 0000 0000 0000 0000 0000 0000 0100 0000 0001 1111 0000 0000 0010 100  3 0000 0011 1111 1100 0000 0000 0000 0100 0000 0000 0000 0011 0000 0001 1111 0000 0000 0011 001  4 0000 0000 0011 1000 0000 0000 1000 0100 0000 0000 0000 1000 0000 0000 1000 0 000 0000 1000 001  5 0000 0000 1101 0000 0000 0000 0001 0000 0000 0000 0001 0000 0000 0001 1101 0000 0000 1001 001  6 0000 0001 1111 1100 0000 0000 0000 0000 0000 0000 0000 0100 0000 0001 1111 0000 0000 1010 100  7 0000 0001 1111 1100 0000 0000 0000 0100 0000 0000 0000 0011 0000 0001 1111 0000 0000 1011 001  8 0000 0000 1011 1000 0000 0001 0000 0100 0000 0000 0000 1000 0000 0001 0000 0000 0001 0000 001  9 0000 0001 1100 0000 0000 0000 1101 0000 0000 0000 1101 0000 0000 0001 1100 0000 0001 0001 001  10 0000 0001 1101 0000 0000 0000 0001 0000 0000 0000 1110 0010 0000 0001 1101 0000 0001 0010 000  11 0000 0001 1110 0000 0000 0000 1110 0000 0000 000 1110 0001 0000 0001 1110 0000 0001 0011 000  12 0000 0001 1110 0000 0000 0000 1110 0000 0000 0000 1110 0000 0000 0001 1110 0000 0001 0100 000  13 0000 0001 1111 1100 0000 0000 0000 0000 0000 0000 0000 0100 0000 0001 1111 0000 0001 0101 100  14 0000 0001 1111 1100 0000 0000 0000 0100 0000 0000 0000 0011 0000 0001 1111 0000 0001 0110 001  15 0000 0001 0110 1000 0000 0001 1011 0100 0000 0000 0000 1000 0000 0001 1011 0000 0001 1011 001  16 0000 0001 1011 0111 1100 0000 0000 0100 0000 0000 0000 0111 1100 0000 0000 0000 0001 1011 001  Розробити алгоритм і написати програму множення довільних двійкових чисел без знаку. Варіант виконання вибрати з таблиці: № варіанту Варіант Хто виконує  1  Метод множення 1 1-ша підгрупа, непарні номери із списку  2  Метод множення 2 1-ша підгрупа, парні номери із списку  3  Метод множення 3 2-га підгрупа, непарні номери із списку  4  Метод множення 4 2-га підгрупа, парні номери із списку  Виконаємо перевірку до дослідження: Адр.16 – Число А=9; Адр.17 – Число Б=13; Адр.18 – Результат; Адр.19 – Лічильник цикл; Адр.20 – Інкремент (число 1); ні так ні так № комірки Код інструкцї Мнемонічний формат інструкції Коментарі інструкції  0 0000 0000 0001 0000 LOAD 16 Перевірка крайнього біта  1 1111 1110 0000 0000 RCR   2 0001 0000 0001 0000 STORE 16   3 0000 0000 0001 0010 LOAD 18   4 1100 0000 0000 0110 JNC 6   5 0010 0000 0001 0001 ADD 17 Додавання множника  6 1111 1010 0000 0000 ROR Зсув СДП  7 0001 0000 0001 0010 STORE 18   8 0000 0000 0001 0011 LOAD 19 Зменшення лічильника циклу  9 0011 0000 0001 0100 SUB 20   10 0001 0000 0001 0011 STORE 19   11 1000 0000 0000 0000 JNZ 0 Перевірка умови виходу  12 0111 1111 1111 1111 HALT Зупинка  Виконати дослідження програми, розробленої у пункті 4, у покроковому режимі. № РА РД А РІ ЛАІ РО  1 0000 0001 0000 0000 0000 0000 1001 0000 0000 0000 1001 0000 0000 0001 000 0000 0000 0001 000  2 0000 0000 0001 1111 1110 0000 0000 0000 0000 0000 0100 1111 1110 0000 0000 0000 0000 0010 001  3 0000 0001 0000 0000 0000 0000 0100 0000 0000 0000 0100 0001 0000 0001 0000 0000 0000 0011 001  4 0000 0001 0010 0000 0000 0111 0101 0000 0000 0111 0101 0000 0000 0001 0010 0000 0000 0100 001  5 0000 0000 0100 1100 0000 0000 0110 0000 0000 1000 0010 0010 0000 0001 0001 0000 000 0110 001  6 0000 0001 0001 0000 0000 0000 1101 0000 00000 1000 0010 0010 0000 0001 0001 0000 0000 0110 000  n 0000 0000 1100 0111 1100 0000 0000 0000 0000 0000 0000 0111 1100 0000 0000 0000 0000 1100 100   Висновок: Під час виконання даної лабораторної роботи я вивчив форми подання і застосування додатних і від’ємних чисел у форматі з фіксованою комою. Навчився розробляти алгоритми і реалізовувати їх у інструкціях процесора навчального симулятора DeComp виконання арифметичних операцій додавання та віднімання над двійковими числами з фіксованою комою у модифікованих кодах, а також я начився розробляти алгоритми і реалізовувати їх у інструкціях процесора навчального симулятора DeComp виконання арифметичних операцій множення двійкових чисел без знаку.
Антиботан аватар за замовчуванням

20.12.2016 00:12-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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