русс | укр

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

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


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


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


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


ААК /

 

Згідно із загальним алгоритмом за кодом операції над модулями =0 п’ятирозрядний прямий код результату слід визначати за формулою:

( 1.62 )

де - чотирирозрядний модуль результату у нормальній формі;

- правильний знак результату за = 0.

У зв’язку з тим, що згідно з визначенням прямого коду

= NA 0000 + MA(4/1),

вираз (1.62) можна подати у вигляді:

( 1.63 )

де - відповідно п’ятирозрядний прямий код операнда А і п’ятипозиційний код модуля операнда В.

При цьому, згідно з (1.62) і (1.63) знаковий розряд результату буде формуватися за формулою:

( 1.64 )

де ППМР – ознака переповнення розрядної сітки модуля результату МР(4/1) при додаванні модулів МА(4/1) + МВ(4/1).

Таким чином, загалом при визначенні результату за співвідношенням (1.63) отримаємо:

NA, якщо МА(4/1)+МВ(4/1) ≤ 15;

, якщо МА(4/1)+МВ(4/1) ≥ 16, тобто

при переповненні розрядної сітки (довжини) модуля результату МР(4/1).

Отже, ознаку переповнення розрядної повної сітки модуля результату МР(4/1) у суматорі (1.63) остаточно можна подати у вигляді:

( 1.65 )

де - значення п’ятого розряду повної суми

NA – позначення знакового розряду операнда А.

Покажемо застосування алгоритму (1.63) на деяких типових прикладах.

Припустімо, що треба виконати додавання чисел у прямих кодах (А +В ) у випадку, коли

А = 1 0110 (NA=1, MA=0110),

B = 1 0111 (NB =1, MD = 0111).

Очевидно, що за цих умов

= 0.

Тоді згідно з (1.63) маємо:

1 0110 + 0 0111 = 1 1101,

де NP = PПК(5) = 1; МР(4/1) = 1101.

Звідси згідно з (1.65) отримаємо:

ППМР = 1 1 = 0.

Припустімо тепер, що треба виконати віднімання прямих кодів (А5ПК -В5ПК) у випадку, коли

А = 1 1101 (NA=1, MA=1101),

B = 0 0111 (=0, =0111).

Очевидно, що за цих умов

1 1 0 = 0.

Тоді результат можна визначити за формулою (1.63):

[ 1 1101+ 0 0111]m16 = 0 0100,

де NP = PПК(5) = 0.

Звідси згідно з (1.65) отримаємо

ППМР = 1 0 = 1.

Це означає, що результат PПК(5/1) за цих значень аргументів є помилковим.

Згідно із загальними правилами арифметики за кодом операції над модулями = 1 і за умови МА(4/1) ≥ МВ(4/1) (тобто за ознакою ω = 1) результат у прямому коді визначається рівнянням:

( 1.66 )

де - знак результату за умови ω = 1;

МР(4/1) = МА(4/1) – МВ(4/1) – модуль результату;

- знак прямого коду числа А.

У зв’язку з тим, що згідно з визначенням прямого коду

вираз (1.66) можна подати у вигляді:

0 МВ(4/1). ( 1.67 )

Для спрощення схемної реалізації виразу (1.67) утворимо функцію:

( 1.68 )

де ;

NSAB SAB(4/1) =

NA MP(4/1) – прямий код результату за умови, коли МА(4/1) ≥ МВ(4/1);

0 МВ(4/1);

РПК(5/1) = - порозрядна інверсія коду ;

- порозрядна інверсія п’ятирозрядного коду .

У зв’язку з тим, що:

SAB(4/1) =

маємо

,

Таким чином, при виконанні (за = 1) мікрооперації

SAB(5/1) = 0 МВ(4/1), ( 1.69 )

згідно з (1.68) ознака відношення модулів визначається за формулою

ω = , ( 1.70 )

де - позначення знакового розряду повної суми операції (1.69).

Звісно, що за кодом операції над модулями =1 і за умови МВ(4/1)>МА(4/1), результат операції у прямому коді визначається формулою:

( 1.71 )

де - правильний знак результату;

- правильний модуль результату;

Для спрощення схемної реалізації перетворимо (1.71) наступним чином:

Якщо визначити за формулою

0 МВ(4/1) + 1, ( 1.72 )

то

, ( 1.73 )

де - знак прямого коду результату;

- значення п’ятого розряду суматора (1.72);

- модуль результату ;

- чотирирозрядний рядок молодших цифр суматора (1.72);

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

Припустімо, що треба виконати операцію (А + В ) у випадку, коли

А (5/1) = 1 1101 (NA=1, MA=1101),

B (5/1) = 0 0111 (=0, =0111).

Очевидно, що у цьому разі

1 0 0 = 1.

Тоді згідно з алгоритмом спочатку визначимо ознаку ω за допомогою суматора (1.69) :

= 0 0010 + 0 0111 = 0 1001.

Таким чином маємо , тому згідно з (1.70) отримаємо:

0 + 1 = 1.

Отже, МА > MB, і згідно з (1.68) маємо:

1 0110.

Нехай тепер треба виконати віднімання прямих кодів (А - В ) у випадку, коли

А (5/1) = 1 0011 (NA=1, MA=0011),

B (5/1) = 1 1011 (=1, =1011).

Очевидно, що у цьому випадку маємо

1 1 1 = 1.

Тоді згідно з алгоритмом у першому такті потрібно визначити ознаку ω. Для цього отримаємо суму:

0 МВ(4/1) =

= + 0 1011 = 0 1100 + 0 1011 = 1 0111,

де NSAB = 1 ,

Таким чином, маємо:

1 1 = 0.

Це означає, що правильний результат необхідно обчислювати за формулою (1.72):

0 МВ(4/1) + 1 = 0 1100 + 0 1011 + 1 = 1 1000,

де SBA(5) = 1; SBA(4/1) = 1000.

Звідси згідно з (1.73) отримаємо:

= 0 1000.

Можлива структура блока за визначеним алгоритмом подана на рис.1.29.

Схема вміщує:

- суматор SM для обчислення суми модулів чисел;

- суматор SMAB для визначення правильної різниці модулів за умови, коли МАМВ;

- суматор SMBA для обчислення правильної різниці модулів за умови, коли МА<MB;

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

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

 

Рисунок 1.29,а - Модуль 1 арифметичного пристрою для додавання

і віднімання чисел у прямих кодах за алгоритмом АПК/

 

1.2.8 Структура спрощеного арифметичного пристрою для


<== попередня лекція | наступна лекція ==>
Додавання і віднімання чисел у прямих кодах за алгоритмом | Дадавання і віднімання чисел у прямих кодах за алгоритмом 1 страница


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