Алгоритм вилучення квадратного кореня операнда з плаваючою комою
Існують два способи апаратної реалізації процедури вилучення квадратного кореня. Перший спосіб пов'язаний з розробкою мікропрограми вилучення квадратного кореня, заснованої на використанні основних арифметичних операцій і реалізацією того або іншого ітераційного методу вилучення квадратного кореня. Інший шлях полягає у створенні алгоритму отримання квадратного кореня подібного за структурою з алгоритмами основних арифметичних дій. Передбачається, що другий варіант алгоритму виконується швидше, але зазвичай вимагає досить істотного ускладнення блоку управління арифметичного пристрою цифрового автомата.
Розглянемо другий спосіб організації алгоритму вилучення квадратного кореня тільки позитивного операнда у формі з плаваючою комою, який завантажується в регістр AC.
Перед початком процедури проводиться перевірка знака операнда та його величини на нуль.
Очевидно, що процедура вилучення квадратного кореня в цьому випадку розпадається на дві операції: вилучення квадратного кореня з характеристики числа та з мантиси. Перша операція є досить тривіальною. Якщо характеристика числа парна, її ділять на два, тобто. виконується процедура [AC(CH)]. Якщо характеристика непарна, то виконується один крок деноралізації: [AC(FR)] і [AC(CH)] _ 1\ Потім характеристика ділиться на два. В обох випадках остаточний результат посилається на MQ(CH), т.к. у регістрі MQ формується результат вилучення квадратного кореня.
Весь процес вилучення кадратного кореня з мантиси операнда розбивається ряд однотипних кроків, виконуваних послідовно, і кожному кроці перебуває чергова цифра результату, починаючи з старшої. Цей алгоритм дуже схожий на звичайний алгоритм поділу, за винятком, що на кожному черговому кроціреалізації алгоритму постійно змінюється " дільник " , який формується у регістрі SR з поточного значення результату вилучення квадратного кореня. Остаточний результат виходить заm-1 елементарних кроків алгоритму або після того кроку, на якому черговий залишок вийшов рівним нулю.
Значення чергової цифри результату визначається відніманням з залишку (на першому кроці залишок - це підкорене число!) спеціально сформованого дільника. Як зазначалося, результат вилучення кореня з мантиси операнда формується в субрегістрі MQ(FR), а чергове значення " дільника " формується в субреєстрі SR(FR).
У першому кроці алгоритму (i = 1)" дільник " (d) дорівнює 12-1-i, тобто. 0.01.
На другому кроці d = ci-12-(i-1) + 12-(1 + i) = + 12-3.
На третьому кроці d = c12-1 + ci-12-(i-1) + 12-(1 + i) = + 12-4
Фігурними дужками виділено черговий результат вилучення квадратного кореня, отриманий на етапі алгоритму.
Тут ci-1 значення цифри чергового розряду результату, отриманого на i-тому кроці алгоритму. Саме значення цифри визначається на (i-1)-том шаге. Якщо результат віднімання з залишку позитивний, то наступного кроку алгоритму ci-1 = 1, якщо результат від'ємний, то ci-1 = 0.
У загальному вигляді значення "дільника" наi-тому кроці поділу можна представити наступним чином:
Як зазначалося, фігурними дужками виділено формоване значення результату вилучення квадратного кореня.
Розглянемо детально алгоритм отримання квадратного кореня з деякого числа A = rAmA представленого у формі з плаваючою комою. Тут rA – характеристика числа, mA – мантиса.
У цьому алгоритмі послідовно виконуються такі процедури.
1. 0 TQ, F FC mA AC(FR), rA AC(CH). Якщо А
Граф-схема алгоритму вилучення квадратного кореня наведена на
Блок управління АУ, призначеного не тільки для виконання основних арифметичних дій з операндами у формі з плаваючою комою, але і виконує процедуру вилучення квадратного кореня, повинен забезпечити передачу вмісту з MQ(FR) та SR(FR), введення 1 у розряд регістру SR з номером рівним значенню [SC] - 1 і введення 1 або 0 у розряд регістра MQ з номером рівним [SC]. В АУ передбачається додатковий тригер TQ для фіксації помилки під час виконання алгоритму вилучення квадратного кореня.
У цьому алгоритмі виконується процедура відновлення залишку. У принципі, можна розробити алгоритм вилучення квадратного кореня і без процедури відновлення залишку.
Визначення основних понять та термінів
Інформація - це відомості про певні властивості або параметри тих чи інших явищ або об'єктів і про залежність між цими властивостями.
Повідомлення - це інформація, втілена та зафіксована у певній матеріальній формі.
Сигнал - це фізичний засіб передачі. Або інакше: сигнал - це процес зміни в часі деякого фізичного параметра s(t) будь-якого об'єкта, що служить для відображення, реєстрації та передачі повідомлення.
Типи сигналів: аналоговий, дискретний, квантований, оцифрований (кодований), модульований, імпульсний і т.д.
Інтерфейс - це сукупність апаратних і програмних засобів в організацію інформаційного зв'язку між інформаційними пристроями, тобто. пристроями, що здійснюютьприйом, передачу, зберігання інформації та її обробку.
Система обчислення - це сукупність прийомів та правил для запису чисел цифровими знаками.
Непозиційна система числення - це система, на яку значення символу, тобто. цифри, не залежить від його становища в числі.
Позиційна система числення - це система, у якій значення кожної цифри залежить тільки від її числового еквівалента, а й її місця (позиції) у числі, тобто. один і той же символ (цифра) може набувати різних значень.
Підстава абобазисq позиційної системи числення - це кількість знаків або символів, що використовуються для зображення числа в даній системі. Зокрема, розрізняють десяткову (q= 10), двійкову (q= 2), вісімкову (q= 8) і шістнадцяткову (q= 16) позиційні системи числення.
Код числа - це запис числа у певній системі числення. Наприклад, двійковий код, десятковий, вісімковий і т.д.
Довжина розрядної сітки - кількість розрядів (позицій), що виділяються в комп'ютері для представлення числа в позиційній системі числення (в основному в двійковій системі).
Вага розряду числа в позиційній системі числення - це величинаPi =qi, деi- номер розряду розрядної сітки, що відраховується праворуч ліворуч.
Довжина числа (слова) - це кількість позицій (або розрядів) у записі числа.
Біт - один розряд (одна позиція) у двійковій системі числення.
Байт - вісім бітів.
Діапазон представлення чисел у заданій системі числення - це інтервал числової осі, укладений між максимальним та мінімальним числами, значення яких залежить від довжини розрядної сітки, виділеної в машині для представлення чисел.
Машинне (автоматне) зображення числа - це уявлення числа в розрядній сітці комп'ютера.
Форма представлення двійкових чиселу комп'ютері. Розрізняють дві основні форми подання: з фіксованою комою (точкою) та з плаваючою комою.
Фіксована кома (точка) - машинна форма подання цілих чисел або правильного дробу. Розрядна сітка, виділена на уявлення числа у цій формі, розбивається на дві частини: старший розряд виділяється під знак числа, а решті (у полі числа) представляється значення числа. Для цілих чисел кома фіксується правіше молодшого розряду, а правильного дробу - лівіше старшого розряду поля числа.
Форми подання негативних чисел з фіксованою комою :
прямий код - значення модуля числа представляється у звичайному двійковому коді;
зворотний код - всі розряди значення числа, поданого у прямому коді, інвертуються;
додатковий код - до значення. числа, поданого у зворотному коді, додається одиниця.
У всіх випадках знаковий розряд негативного числа записується одиниця.
Плава кома (точка) - машинна форма подання дійсних чисел. Розрядна сітка, виділена для представлення числа в цій формі, розбивається на три частини: старший розряд зазвичай виділяється під знак числа, наступніnp розрядів під порядок (або характеристику) числа (p) , решта розрядної сіткиnm призначена для представлення модуля мантиси числа (m).
Нормалізоване число - число у формі з плаваючою комою, модуль мантисиmякого задовольняє наступній нерівності: