загрузка...
загрузка...
На головну

АЛУ для додавання і віднімання чисел з фіксованою комою

  1. N-мірне векторний простір дійсних чисел. завдання
  2. N-мірне векторний простір дійсних чисел. Комп'ютерна частина
  3. N-мірне векторний простір дійсних чисел. математична частина
  4. Аксіоматикою НАТУРАЛЬНИХ ЧИСЕЛ
  5. Аксіоматичні ПОЛЕ дійсних чисел
  6. Аналітичний спосіб складання сил

Операція складання в АЛУ зазвичай зводиться до арифметичного складання кодів чисел шляхом застосування інверсних кодів - додаткового або зворотного для представлення негативних чисел. Зворотний код має два подання нуля (+0, -0), що ускладнює аналіз результату операції. Тому частіше використовується додатковий код.

Алгоритми виконання в АЛП арифметичних операцій залежать від того, в якому вигляді зберігаються в пам'яті ЕОМ негативні числа - в прямому або додатковому. В останньому випадку скорочується час виконання операції за рахунок виключення перетворення одержуваного в АЛУ додаткового коду негативного результату в прямий код, при цьому дещо ускладнюється операція множення.

Алгоритм додавання двійкових чисел з фіксованою комою, при використанні додаткового коду для представлення негативних чисел, полягає в наступному. Проводиться складання двійкових кодів, включаючи розряди знаків. Якщо при цьому виникає перенесення з знакового розряду суми при відсутності переносу в цей розряд, або виникає перенесення в знаковий розряд при відсутності переносу з розряду знака, то відбувається переповнення розрядної сітки. Такий результат виходить як при негативній, так і позитивної суми. Якщо немає переносів з знакового і в знаковий розряд суми або є обидва ці перенесення, то переповнення немає. Якщо отриманий 0 в знаковому розряді, то сума позитивна і представлена ??в прямому коді. Якщо отримана 1 в знаковому розряді, то сума негативна і представлена ??в додатковому коді.

На рис. 4.3.2 представлена ??спрощена структурна схема АЛП для операцій додавання і віднімання nрозрядних (нульовий розряд знаковий) двійкових чисел з фіксованою комою. Передбачається, що негативні числа зберігаються в пам'яті в додатковому коді.

Малюнок 4.3.2- Структура АЛУ для операцій додавання і віднімання

До складу АЛУ входять nрозрядний паралельний комбінаційний суматор См, регістр суматора РгСМ, вхідні регістри суматора РгA і РгB, вхідний регістр АЛУ Рг1.

Операнди читаються з оперативної пам'яті і надходять в АЛУ по вхідний ШД (надалі- ШВХ). Для даної структури АЛУ позитивні числа повинні бути представлені прямим кодом, а негативні - додатковим. Першийоперанд розміщується в РгB (перший доданок або зменшуване), а другий в РДА (другий доданок або віднімається); Рг1 пов'язаний з РгA ланцюгами прямий і інверсної передачі коду. Пряма передача використовується при операції складання, а інверсна - при операції віднімання. Результат операції видається з АЛУ в оперативну пам'ять по вихідний ШД (надалі- ШВИХ).

При виконанні операції в АЛП крім результату операції формується код ознаки результату ПР, який, наприклад, може набувати таких значень:

 результат операції  Ознака результату (ПР)
 <0
 > 0
 переповнення

 Приймемо, що код ознаки результату формується комбінаційної схемою виділення ознак СхПр, на входи якої надходять сигнали, що відповідають значенням всіх розрядів суматора, а також сигнали переносів з знакового розряду ПнСМ [0] і в знаковий з старшого цифрового розряду ПнСМ [1]. Ознака переповнення (ПР = 11) формується, якщо булева функція ПнСМ [0] ПнСМ [1] vПнСм [0] ПнСМ [1] = 1.

Ознака нульового значення результату (ПР = 00) формується якщо

.

 Умови вироблення ознак позитивного і негативного результатів мають відповідно вигляд:

Див [0] (ПнСМ [0] ПнСМ [1] vПнСм [0] ПнСМ [1]);

 Див [0] (ПнСМ [0] ПнСМ [1] vПнСм [0] ПнСМ [1]).

При виконанні операції додавання надійшли в АЛУ коди операндов перебувають у вхідних регістрах РГВ і РДА суматора. Код суми формується на виходах схеми СМ і фіксується в регістрі суматора РгСм.

Операція віднімання операнда Y з операнда X Z = X-Y = X + (- Y) зводиться до зміни знака віднімається Y і подальшим застосуванням операції додавання до операндам X і (). Зміні знака відповідає наступна процедура: прийнятий в Рг1 код числа передається в РгA по ланцюгу инверсной передачі коду (лінія з гуртком на малюнку 4.3.2), а при додаванні здійснюється подсуммірованіем 1 в молодший розряд суматора.

Передачі інформації в регістрах АЛУ виробляються окремими мікрооперацій, ініційованими показаними на рис. 4.3.2 керуючими сигналами yi. Наприклад, слово з Рг1 в РДА може бути передано в прямому (керуючий сигнал y3) Або в інверсному (керуючий сигнал y4) Кодах. Нехай для розглянутого АЛУ є набір наступних мікрооперацій:

y1: Pr B: = ШВХ; прийом 1-го операнда в Рг У із вхідними ШД.

y2: Pr 1: = ШВХ; прийом 2-го операнда в Рг 1 із вхідними ШД.

y3: Pr A : = Pr 1; пряма передача 2-го операнда з Рг1 в РДА.

y4: ; інверсна передача 2-го операнда з Рг1 в РДА.

y5: CM : = CM+1;

y6: Pr CM : = CM; передача результату з суматора в Рг СМ.

y7: РгПр: = Cx. пр.; регістру ознак привласнити значення ознаки результату.

y8: ШВИХ: = Pr CM; передача результату з РгСМ на вихідну ШД.

Нижче наведені описи мікропрограм додавання і віднімання на мові реєстрових передач, причому мікрооперація y7 полягає у видачі в регістр ознак (знаходиться в пристрої) коду ознаки і в формуванні запиту переривання при переповненні розрядної сітки.

Мікропрограма складання:

y1: Pr B: = ШВХ; прийом 1-го операнда в Pr B.

y2: Pr 1: = ШВХ; прийом 2-го операнда в Pr 1.

y3: Pr A: = Pr 1; пряма передача 2-го операнда в РДА.

y6: Pr див: = Pr A + Pr B.

y7: РгПр: = СхПр; регістру ознак присвоюється значення отриманого ознаки результату, причомуякщо Пр = 11, то переривання програми по переповнення, інакше

y8: ШВИХ: = Pr Див.

Мікропрограма віднімання:

y1: Pr B: = ШВХ

y2: Pr 1: = ШВХ

y4:

y5: Pr див : = Pr A + Pr B +1

y7: РгПр: = СхПр

Якщо Пр = 11, то переривання програми по переповнення, інакше

y8: ШВИХ: = Pr Див

 4.3.3 АЛУ для множення двійкових чисел

У ЕОМ операція множення чисел з фіксованою коми зводиться до послідовності операцій додавання і зсуву. твір двох (N- 1)- Розрядних чисел може мати до 2 (n - 1) значущих розрядів, тому для виконання операції множення цілих чисел в АЛП необхідно передбачити можливість формування твори, що має подвійну, порівняно з співмножники, довжину. У ЕОМ, в яких числа з фіксованою комою є дробом, молодші n- 1 розрядів твори часто відкидаються, при цьому при відкиданні може проводитися операція округлення твори.

Для виконання множення АЛУ повинно містити регістри множимо, множника і суматор часткових творів, в якому шляхом відповідної організації передач проводиться послідовне підсумовування часткових творів.

Операція множення складається з n циклів, де n- Число цифрових розрядів множника. У кожному циклі аналізується чергова цифра множника, і якщо вона дорівнює 1, то до суми часткових творів додається множене, в іншому випадку додаток не відбувається. Цикл завершується зрушенням множимо щодо суми часткових творів або зсувом суми часткових творів щодо нерухомого множимо.

Залежно від способу формування суми часткових творів розрізняють чотири основні методи виконання множення і відповідно чотири структури АЛП для цієї операції.

1. Множення, починаючи з молодших розрядів множника, із зсувом суми часткових творів вправо і при нерухомому множимо (див. Рисунок 4.3.3.1).

Малюнок 4.3.3.1- Метод множення, починаючи з молодших розрядів множника із зсувом суми часткових творів вправо

Регістр множника і суматор часткових творів при цьому повинні мати ланцюга зсуву вправо. Регістр множимо може не мати ланцюгів зсуву.

Послідовність дій в кожному циклі виконання множення визначається молодшим розрядом регістра множника, куди послідовно одна за одною надходять цифри множника.

Оскільки в міру зсуву множника вправо старші розряди регістра множника звільняються, він може бути використаний для зберігання молодших розрядів твори, що надходять з молодшого розряду суматора часткових творів у міру виконання множення. Для цього при виконанні зсуву молодший розряд регістра суматора часткових творів з'єднується зі старшим розрядом регістра множника. Після виконання множення старші розряди твори знаходяться в регістрі суматора, молодші - в регістрі множника.

При цьому методі множення все три регістра мають однакову довжину, рівну числу розрядів співмножників. Цей метод множення знайшов найбільше застосування в ЕОМ.

2. Множення, починаючи з молодших розрядів множника, при зсуві множимо вліво і нерухомою сумі часткових творів (див. Рисунок 4.3.3.2).

Малюнок 4.3.3.2- Метод множення, починаючи з молодших розрядів множника, при зсуві множимо вліво

Регістр множника при цьому повинен мати ланцюга зсуву вправо, регістр множимо - ланцюги зсуву вліво, а акумулятор часткових творів не містить ланцюгів зсуву.

Послідовність дій визначається, як і в першому варіанті, молодшим розрядом регістра множника.

При цьому методі регістр множимо і суматор часткових творів повинні мати подвійну довжину. Цей метод вимагає більше обладнання, але жодних переваг не дає, і тому застосування його недоцільно.

3. Множення, починаючи зі старших розрядів множника, при зсуві суми часткових творів вліво і нерухомому множимо (див. Рисунок 4.3.3.3).

Малюнок 4.3.3.3- Метод множення, починаючи зі старших розрядів множника при зсуві суми часткових творів вліво

Регістр множника і суматор часткових творів повинні мати ланцюга зсуву вліво. Регістр множимо не має ланцюгів зсуву. Послідовність дій в кожному циклі виконання множення визначається старшим розрядом регістра множника.

При використанні цього методу суматор часткових творів повинен мати подвійну довжину. Даний метод вимагає додаткового порівняно з першим методом обладнання. Незважаючи на це, він застосовується в деяких АЛУ, так як дозволяє без додаткових ланцюгів зсуву виконувати і розподіл.

Для виконання операцій ділення в АЛП, що реалізує перший метод множення, необхідні додаткові ланцюги зсуву вліво в регістрі множимо (приватного) і в суматорі часткових творів (різниць).

4. Множення, починаючи зі старших розрядів множника, при зсуві вправо множимо і нерухомою сумі часткових творів (див. Рисунок 4.3.3.4).

Малюнок 4.3.3.4- Метод множення, починаючи зі старших розрядів множника при зсуві вправо множимо

Регістр множника повинен мати ланцюга зсуву вліво, регістр множимо - ланцюги зсуву вправо. Суматор часткових творів не має ланцюгів зсуву. Послідовність дій на кожному кроці множення визначається старшим розрядом регістра множника.

При цьому методі множення і регістр множимо, і акумулятор часткових творів повинні мати подвійну довжину. Однак, як і третій метод, він не вимагає додаткових ланцюгів зсуву для виконання ділення.

При четвертому методі, в якому сума часткових творів нерухома, можна поєднувати в часі операції зсуву і складання і за цей рахунок збільшити швидкодію АЛУ при виконанні множення (а також поділу).

Якщо необхідно освіту твори подвійної довжини, наприклад, при операціях з цілими числами, найбільш економічним є перший з розглянутих методів множення, так як він дозволяє використовувати всі регістри одинарної довжини.

Якщо в результаті множення досить мати твір одинарної довжини, то доцільно використовувати або перший, або четвертий метод множення. При використанні першого методу потрібне введення додаткових ланцюгів зсуву для реалізації поділу, а при використанні четвертого методу необхідно подовження суматора. Вибір одного з цих методів множення визначається співвідношенням витрат обладнання на реалізацію ланцюгів зсуву і додаткових розрядів суматора.

При утворенні творів одинарної довжини просте відкидання молодших розрядів вносить похибка, яка буде накопичуватися, так як твір буде завжди обчислюватися з недоліком. Тому для підвищення точності обчислень часто виробляють округлення результату множення, внаслідок чого похибка стає знакозмінної.

Для округлення твори довжина суматора часткових творів зазвичай збільшується на один розряд. Після утворення твори до цього додаткового розряду додається 1. Якщо додатковий розряд твори дорівнював 0, то твір в основних розрядах суматора виходить з недоліком. Якщо додатковий розряд дорівнював 1, то в результаті перенесення 1 з додаткового розряду до основних розрядів суматора додається одиниця і твір виходить з надлишком, при цьому максимальне значення похибки твори дорівнює половині 1 молодшого розряду.

Слід зазначити, що при будь-якому методі множення операція зазвичай починається з аналізу на 0 сомножителей. У разі рівного розподілу нулю хоча б одного сомножителя множення не проводиться, а твору присвоюється нульове значення.

Розглянемо алгоритм найбільш поширеного методу множення цілих чисел, починаючи з молодших розрядів, із зсувом суми часткових творів вправо.

1. Беруться модулі від співмножників (числа представляються без знака).

2. Початкове значення суми часткових творів приймається рівним 0.

3. Якщо аналізована цифра множника дорівнює 1, то до суми часткових творів додається множене; якщо ця цифра дорівнює 0, додаток не проводиться.

4. Проводиться зсув суми часткових творів вправо на один розряд.

5. Пункти 3 і 4 послідовно виконуються для всіх цифрових розрядів множника, починаючи з молодшого.

6. Твору присвоюється знак плюс, якщо знаки співмножників однакові, в іншому випадку - знак мінус.

Розподіл в ЕОМ зазвичай зводиться до виконання послідовності вирахувань дільника спочатку з діленого, а потім з утворюються в процесі розподілу часткових залишків, і зсуву часткових залишків.

 




Відносна (базова) адресація | Індексна (автоінкрементним або автодекрементная) адресація | Класифікація ЗУ | ОЗУ з довільним доступом | Організація динамічної пам'яті | Особливості мікросхем синхронної динамічної пам'яті | Основні характеристики ЗУ | ОЗУ магазинного типу (стековая пам'ять) | асоціативні ЗУ | Узагальнені структури процесорів з безпосередніми і магістральними зв'язками |

загрузка...
© um.co.ua - учбові матеріали та реферати