АЛГОРИТМИ ВИКОНАННЯ АРИФМЕТИЧНИХ ОПЕРАЦІЙ НАД БАГАТОРОЗРЯДНИМИ ЧИСЛАМИ В ОДНОКРИСТАЛЬНОМУ МП 8080 (КР580ВМ80А).

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

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

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

Рік:
2003
Тип роботи:
Методичні вказівки до лабораторної роботи
Предмет:
Комп'ютери та мікропроцесорні системи

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

4. КОНТРОЛЬНІ ЗАПИТАННЯ 4.1. Як виконуються багаторозрядні операції додавання і віднімання в МП КР580МВ80А ? 4.2. Як виконуються багаторозрядні операції ділення і множення в МП КР580МВ80А ? 4.3. Яка особливість формату представлення дійсних чисел? 4.4. Який алгоритм операції множення чисел в форматі з плаваючою комою? 4.5. У чому полягає відмінність представлення знакових чисел в форматах з фіксованою та плаваючою комою? 4. ЛАБОРАТОРНЕ ЗАВДАННЯ 4.1. Набрати, скомпілювати та запустити програму задану викладачем . 4.2. Пояснити дії, які виконує програма. 4.3. Перевірити достовірність одержаного результату. 5. ЗМІСТ ЗВІТУ 5.1. Титульний лист. 5.2. Мета роботи, теоретичні відомості. 5.3. Лабораторне завдання. 5.4. Програма у мнемокоді Асемблера і об'єктному коді. 5.5. Висновок та аналіз помилок допущених при роботі. 6. ЛІТЕРАТУРА 6.1. Микропроцессоры и микропроцессорные системы:Учебн. пособие для вузов/Под ред. В.Б. Смолова.-М.: Радио и связь,1981. 6.2. Калабеков Б.А., Микропроцессоры и их применение в системах передачи и обработки сигналов: Учебн. пособ. для вузов.-М.: Радио и связь,1988. 6.3. Лихтницендер Б.Я., Кузнецов В.Н., Микропроцессоры и вычислительные устройства в радиотехнике: Учебн. пособие.-К.: Вища школа,1988. 6.4 Зубков С.В., Assembler для DOS, Windows и UNIX.- М.: ДМК Пресс,2000. МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ Національній університет "Львівська політехніка"  АЛГОРИТМИ ВИКОНАННЯ АРИФМЕТИЧНИХ ОПЕРАЦІЙ НАД БАГАТОРОЗРЯДНИМИ ЧИСЛАМИ В ОДНОКРИСТАЛЬНОМУ МП 8080 (КР580ВМ80А) МЕТОДИЧНІ ВКАЗІВКИ до лабораторної роботи №7 з курсу "Комп'ютери та мікропроцесорні системи" для студентів базового напряму 6.08.04 "Комп'ютерні науки" ЗАТВЕРДЖЕНО на засіданні кафедри САП Протокол № від 2003р.. ЛЬВІВ 2003 АЛГОРИТМИ ВИКОНАННЯ АРИФМЕТИЧНИХ ОПЕРАЦІЙ НАД БАГАТОРОЗРЯДНИМИ ЧИСЛАМИ В ОДНОКРИСТАЛЬНОМУ МП 8080 (КР580ВМ80А). Методичні вказівки до лабораторної роботи №7 з курсу "Комп'ютери та мікропроцесорні системи" для студентів базового напряму 6.08.04 "Комп'ютерні науки" /Укл. Панчак Р.Т., Процько І.О., Теслюк В.М. - Львів: НУ"ЛП", 2003р.-6с. Укладачі: Панчак Роман Теодорович, ст. викл., Процько Ігор Омелянович, к.т.н., ст. викл., Теслюк Василь Миколайович, к.т.н., доц., Відповідальний за випуск: Ткаченко С.П., к.т.н., доц. Рецензенти: Каркульовський В. І., к.т.н., доц., Стех Ю.В., к.т.н., доц. 1. МЕТА РОБОТИ Вивчити алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному мікропроцесорі Intel 8080 (КР580ВМ80А). Набути практичних навиків складання та налагоджування програм виконання операцій додавання/віднімання та множення/ділення багаторозрядних чисел з використанням цих алгоритмів. 2. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ Однокристальний мікропроцесор Intel 8080 (КР580ВМ80А) - 8 розрядний, тобто виконує арифметико-логічні операції над байтами даних. Однак в багатьох застосуваннях МПС 8-біт недостатньо для одержання заданої точності. В МП КР580ВМ80А можна визначити тип даних любого формату (ефективно кратний 8-бітам: 24біти, 32біти,...,1024біти). На основі виконання заданого набору команд, виконання операцій з такими форматами можна здійснювати побайтно у 8-розрядному АЛУ. Тому над числами, що представляються двома і більше байтами, основні арифметичні операції реалізуються програмним шляхом. 2.1 Додавання та віднімання багаторозрядних чисел цілого типу При складанні програм додавання і віднімання багаторозрядних чисел важливу особливість становить організація циклічної частини арифметичної операції. Дані операції спочатку починають виконувати над молодшими байтами (при початковому CY=0), а пізніше над всіма решта (з молодшого до найстаршого) з врахуванням переносів. Основними командами, що забезпечує додавання текучих байтів з врахуванням прапорця переносу CY є команди: ADC r (A)(A)+(r)+(CY); ADC M (A)(A)+((H)(L))+(CY); ACI байт (A)(A)+(байт)+(CY); віднімання: SBB r (A)(A)-(r)-(CY); SBB M (A)(A)-((H)(L))-(CY); SBI байт (A)(A)-(байт)-(CY); Наведені команди дадавання/віднімання використовують значення переносу CY, сформованого на попередньому повторенні циклу. Тобто, організований цикл багаторозрядної арифметичної операції не повинен містити команд, що можуть змінити значення CY. Якщо внесення в цикл багаторозрядної операції команд, що впливають на прапорець переносу, необхідне, то попередньо запам'ятовується CY, а перед багаторозрядною операцією - відновлюється. 2.1 Множення та ділення багаторозрядних чисел цілого типу В однокристальному мікропроцесорі Intel 8080 (КР580ВМ80А) у 8 розрядному АЛУ ефективно виконувати операцію множення (4)х(4)=(8) розрядними числами. Відомі способи і алгоритми множення/ділення (алгоритм Бута, ділення з відновленням залишку) виконуються в МПС через команди додавання/віднімання та зсуву багаторозрядних даних. Для богаторозрядних цілих чисел в однокристальному мікропроцесорі КР580ВМ80А можна створити підпрограму множення різноманітних двійкових форматів (8)х(4)=(12), (8)х(8)=(16), (16)х(8)=(24), (16)х(16)=(32) та ін. Множення над двома n1 та n2-бітними співмножниками формує (n1+n2) -розрядний добуток. Підпрограма ділення багаторозрядних чисел більших ніж 8-розрядів може використовувати формати (16):(8), (24):(8), (24):(16), (32):(16) та ін. Ділення над двома n1, n2-бітними співмножниками формує (n1-n2) - розрядну частку. Можна задати і виконувати операції множення/ділення й в інших форматах, наприклад 6:2, але при цьому виконання операцій над такими форматами може ускладнюватись. Важливо відзначити, що у випадку множення/ділення на цілі числа рівні степені двійки (2,4,8,...,2n )можна використовувати команди зсуву n-раз вправо/вліво, попередньо встановивши біт прапорця переносу в нуль: STC ; (CY) (1) CMC ; (CY=0) для множення на 2 RAL ; (CY)(A7), (A0)  (CY=0), (An+1)  (An); для ділення на 2 RAR ; (CY=0)(A7), (A0)  (CY), (An)  (An+1). Однак, перетворення в процесі виконання арифметичних операцій, у випадку великого об'єму вхідних багаторозрядних даних і вихідних результатів, веде до помітних витрат комп'ютерного часу. Тому сучасні скалярні мікропроцесори у вигляді надвеликих інтегральних схем (НВІС) використовують 64-розрядне АЛУ та пакетні форми представлення чисел. 3. АРИФМЕТИЧНІ ОПЕРАЦІЇ НАД ДІЙСНИМИ ЧИСЛАМИ Існує широкий клас задач, в тому числі обчислення рівнянь цифрового фільтра (ЦФ), де необхідно проводити обчислення в МПС використовуючи дійсні числа. В цифрових пристроях використовуються дві форми представлення чисел: формат з фіксованою комою, формат з плаваючою комою. 3.1 Арифметичні операції над числами в форматі з фіксованою комою В форматі з фіксованою комою відводяться ціла частина і дробова частина у вигляді цілих чисел. Один старший розряд використовається в якості знаку. Кома відділяє цілу частину числа від дробової та займає фіксоване положення. Враховуючи 8-розрядне АЛУ МП КР580ВМ80А, найбільш поширені формати чисел з фіксованою комою, де відведено на цілу і дробову частину по тетраді, байту, слову (4:4, 8:8, 16:16 і тд. ). Можна задати і виконувати операції й в інших форматах, наприклад 6:2, але деякі операції над такими форматами можуть ускладнюватись. Неправильний вибір розрядної сітки може в результаті виконання арифметичних операцій привести до переповнення, що в цьому випадку вимагає масштабування. Додавання/віднімання двійкових чисел представлених в форматі з фіксованою комою, по суті не відрізняються від операцій додавання або віднімання цілих багаторозрядних чисел. Наприклад, результати двійкового додавання або віднімання дійсних чисел матимуть вигляд: а) 010000, 1000 16,5 + 010010, 1000 +18,5 100011, 0000 35,0 б) 0110,0100 6,25 в) 1000,1000 8,50 +1000,1000 +8,50 -0110,0100 - 6,25 1110,1100 14.75 , 0010,0100 2,25 . При цьому, враховується розряд перенесення CY з дробової частини в цілу. Арифметичні операції множення і ділення в форматі з фіксованою комою не відрізняються по суті з алгоритмами їх виконання над цілими числами. Характерним є те, що розрядність добутку виділяється для цілої та дробової частин. Наприклад, а) 8.5 1000,1000 х 6,25 х 0110,0100 ; 53,125 00110101,00100000 б) 0,8125 0,1101 х 0,6875 х 0,1011 . 0,10001111 Для порівняння, добуток цілих чисел рівний 32 розряди, для множників 16х16 розрядів, а добуток з фіксованою комою рівний 16:16, для множників (8:8) х (8:8) розрядів (добуток з фіксованою комою рівний 32:32, для множників (16:16)х(16:16) розрядів). Операція ділення для чисел представлених в форматі з фіксованою комою містить дії аналогічні виконанню операції ділення над багаторозрядними цілими числами, результатом операції є частка та залишок представлені у заданих форматах. Наприклад, якщо ділене і дільник представлені в форматі (4:4), то необхідно одержану частку перемножити на 2 в четвертій степені для одержання відповідного формату: 1010,0000 /0101.0000 = 0010  0010,0000 (після зсуву на 4-біти); 10,0 / 5,0 = 2 . 3.1 Арифметичні операції над числами в форматі з плаваючою комою Формат представлення чисел з плаваючою комою передбачає представлення числа в показниковій формі: мантиса, основа, порядок. В МПС такі числа представлені у вигляді двох груп чисел: перша група називається мантисою і визначає саме число, друга група пназивається порядком. Якщо задається формат з умовою наявності старшого розряду мантиси не рівного нулю, то маєм нормальну форму представлення. В цій формі запису маєм значно більший діапазон представлення дійсних чисел в порівнянні з такою самою розрядністю чисел з фіксованою комою, але алгоритм виконання арифметичних операцій при цьому ускладнюється. Так, операція додавання або віднімання виконується такою послідовністю: - вирівнюються порядки доданків, молодший порядок збільшується до більшого порядку одного з доданків; - виконується перетворення мантис в доповнюючий код, при необхідноcті; - відповідно, коректується мантиса числа, порядок якого вирівнюється; - виконується додавання мантис аналогічно алгоритму додавання чисел з фіксованою комою; - у випадку необхідності виконується нормалізація результату; - до суми записуєм сформований порядок. Операція множення в форматі з плаваючою крапкою виконується за такою послідовністю: - визначається знак добутку; - перемножуються мантиси співмножників аналогічно алгоритму множення чисел з фіксованою комою; - визначається порядок добутку за допомогою арифметичної операції додавання цілих чисел зі знаком; - у випадку необхідності виконується нормалізація результату; - до суми записуєм сформований порядок. Ділення в форматі з плаваючою крапкою виконується аналогічно так, як і множення. Мантиса діленого повинна бути менше мантиси дільника, що одержуєм через масштабування. Порядок частки визначається відніманням порядків діленого та дільника. У випадку необхідності виконується нормалізація результату; Використання набору арифметико-логічних команд МП КР580ВМ80А використовується для виконання арифметичних операцій над багаторозрядними числами, форма представлення і формати яких визначаються на етапі проектування.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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