русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Доповнення модулів операндів


Дата додавання: 2015-01-08; переглядів: 1002.


Операція додавання і віднімання чисел у прямих кодах полягає в тому, що спочатку визначається дія над модулями чисел (), а потім формується модуль результату (МР) і код знака результату (NP). Припустімо, що модуль результату МР за кодом = 0 визначається сумою модулів чисел МА + МВ, а за кодом = 1 – різницею модулів чисел |MA – MB| .

Для утворення суми і додатної різниці модулів в обчислювачі, який подано на рис. 1.23, пристосовані суматори. До складу обчислювача входять:

Рисунок 1.23 – Структура арифметичного пристрою для додавання і

віднімання чисел у прямих кодах на основі доповнення модулів операндів

- суматор SM для утворення суми модулів МА + МВ;

- віднімач на основі суматора SMАВ для обчислення різниці модулів МР у тому разі, коли МА ≥ МВ;

- віднімач на основі суматора SMВА для формування різниці модулів МР у тому випадку, коли МВ>МА;

- мультиплексор MUXPP для комутації виходів операційних арифметичних вузлів SM, SMАВ та SMВА до інформаційних входів регістра модуля результату РР згідно з кодом операції над модулями чисел та ознакою відношення модулів чисел ω;

- сигнали керування СКА1, СКА2 і СКРР для налагодження необхідної адреси мультиплексора MUXPP та дозволяючого входу регістра РР;

- ознаку переповнення (ПП) розрядної сітки (довжини) регістра результату;

- сигнал верхнього рівня напруги Uн для формування логічних одиниць на виводах вхідного переносу ВХП АВ та ВХП ВА віднімачів на основі SMАВ та SMВА.

Операція додавання чотирирозрядних модулів (4/1) і(4/1) (за =0) в обчислювачі (рис.1.23) виконується типовим чотирирозрядним суматором SM(4/1) за формулами:

S(4/1) = [MA(4/1) + MB(4/1)]m16 ; ( 1.38 )

0, якщо MA(4/1) + MB(4/1) ≤ 15; ( 1.39 )

1, якщо MA(4/1) + MB(4/1) ≥16, ( 1.40 )

де MA(4/1), MB(4/1), S(4/1) –чотирирозрядна низка двійкових розрядів від-повідно на першому А і другому В входах та на виході S суматору SM;

ES - позначення вихідного переносу чотирирозрядного суматора з ваговим коефіцієнтом 16, тобто стан п’ятого розряду повної суми чотирирозрядних кодів на інформаційних входах А і В суматора.

Згідно з (1.40) за сигналом ES = 1 (рис.1.23) повна сума модулів чисел (МА+МВ) більша 16, тобто у цьому випадку виникає переповнення чотири-розрядної сітки (довжини) вихідного чотирирозрядного коду S(4/1) суматора SM. Таким чином, вихідне перенесення ES обчислювача, поданого на рис.1.23, являє собою сигнал переповнення результату за кодом операції над модулями =0(+). За наявністю переповнення (ПП) результат не фіксується у регістрі результату РР і в центральному пристрої керування комп’ютера (ЦПК) тригер переповнення перемикається в одиницю.

Операція прямого віднімання чотирирозрядних модулів MA(4/1) і MB(4/1) в обчислювачі (рис.1.23) замінюється складанням цифрового ряду більшого модуля і коду доповнення модуля меншого операнда. Для обчис-лення правильної різниці модулів зазначеним способом за умови MA MB в обчислювачі використовується SMАВ, а за умови MB > MA SMВА (рис.1.23).

У чотирирозрядному SMВА різниця модулів розраховується наступним чином:

( 1.41 )

1, якщо

( 1.42 )

EАВ = тобто за умови MA MB;

0, якщо

( 1.43 )

тобто за умови MB > MA,

де SAB(4/1) – чотирирозрядна низка двійкових цифрових розрядів коду суми суматора SMАВ;

16(24) – вагова характеристика двійкового розряду зліва від найстаршого розряду суми SAB(4/1) суматора;

- порозрядна інверсія чотирирозрядного слова МВ(4/1);

[ - ( 1.44 )

- доповнення чотирипозиційного модуля МВ(4/1) до 16;

-[ СAB(5/1) - ( 1.45 )

- повна п’ятипозиційна сума чотирирозрядних слів МА(4/1), МВ(4/1) та сигнала перенесення в наймолодший розряд суматора SMАВ;

EАВ – позначення вихідного перенесення суматора SMАВ, яке згідно з (1.42), (1.43) та (1.45) визначає ознаку відношення модулів МА і МВ:

1, якщо МАМВ (С(5)=1); ( 1.46 )

0, якщо МВ > МА (С(5)=0). ( 1.47 )

У разі, коли МВ(4/1)>МА(4/1), правильна додатна різниця модулів обчислюється суматором SBA (рис.1.23) за формулами:

( 1.48 )

1, якщо

( 1.49 )

EВА = тобто за умови MB MA;

0, якщо

( 1.50 )

тобто за умови MA > MB,

де SBA(4/1) – чотирирозрядний рядок двійкових розрядів на виводах S суматора SMВА;

16(24) – вагова характеристика двійкового розряду зліва від найстаршо-го розряду суми SBA (4/1) суматора;

- порозрядна інверсія чотирипозиційного слова МА(4/1);

- ( 1.51 )

- доповнення чотирирозрядного цілого безвід’ємного коду МА(4/1) до 16;

-[ СBA (5/1) - ( 1.52 )

- повна сума чотирирозрядних слів МВ(4/1), та сигнала перенесення в наймолодший розряд суматора SMВА;

EВА – позначення вихідного перенесення суматора SMВА, яке згідно з (1.49) визначає ознаку відношення модулів чисел:

1, якщо МВМА; ( 1.53 )

0, якщо МВ < МА. ( 1.54 )

Таким чином, з наведених вище міркувань випливає, що сигнал EАВ суматора SMАВ (рис.1.23) тотожний змінній ω в операційному пристрої на основі віднімачів, тобто визначає ознаку співвідношення модулів чисел. Тому у випадку, коли ЕАВ = ω = 1, за кодом операції над модулями = 1 необхідно фіксувати двійковий код SAB(4/1), а за умови ЕАВ=ω= 0 – двійковий код SBA(4/1).

На завершення розглянемо застосування цього алгоритму на деяких типових прикладах.

Припустімо, що треба виконати операцію додавання чисел у прямих кодах А5ПК + В5ПК, де А5ПК = 0 1011 (NA = 0, MA = 1011), В5ПК = 1 1101 (NB = 1, MB = 1101).

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

Далі з урахуванням того, що модулі необхідно віднімати, визначається ознака співвідношення модулів ЕАВ шляхом обчислення повної суми С(5/1) на виході суматора SMАВ :

Із урахуванням того, що С(5/1) < 16, маємо С(5) = ЕАВ = 0. Це означає, що у даному випадку МВ > МА, тобто правильна різниця модулів | МА - МВ | формується суматором SMВА, в якому результат визначається наступним чином:

Знак результату у цьому випадку (за = 1) набуває значення:

Розглянемо далі операцію віднімання прямих кодів А5ПК - В5ПК (за D=1). При цьому застосуємо такі дані:

А5ПК = 1 1101 ( NA = 1, MA = 1101);

В5ПК = 1 0111( NB = 1, MB = 0111).

Із урахуванням коду операції Dспочатку визначимо код операції над модулями чисел:

Таким чином, модулі чисел необхідно віднімати, тому далі за алгоритмом визначимо ознаку співвідношення модулів ЕАВ = ω. З цією метою обчислимо повну суму С на виході SMАВ :

Із урахуванням того, що сума С(5/1) > 16, маємо ЕАВ = 1. Це означає, що у даному випадку МА > МВ. Як було зауважено, правильна різниця модулів при цьому створюється на виходах суматора SMАВ за співвідношенням:

Знак результату NP за даних аргументів набуває значення:

 

1.2.4 Алгоритми та структура спрощеного арифметичного


<== попередня лекція | наступна лекція ==>
Алгоритми та структура канонічного арифметичного пристрою для додавання і віднімання чисел у прямих кодах | На основі доповнення модулів операндів


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн