Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ukr1_PTTsA_kl_ch1_10-02-2010.doc
Скачиваний:
110
Добавлен:
07.02.2016
Размер:
2.66 Mб
Скачать

8.2 Складання чисел на суматорі оберненого коду

Двійковим суматором оберненого коду (ДСОК) є суматор, що оперує з числами в оберненому коді.

Структурна схема ДСОК приведена на рис. 8.2.

Рисунок 8.2  Двійковий суматор оберненого коду (ДСОК)

Основною особливістю ДСОК є наявність ланцюга перенесення одиниці переповнення Пn із старшого розряду цифрової частини в знаковий розряд (рис. 8.2) і наявність зворотнього зв’язку перенесення одиниці пере-повнення ПSg із старшого знакового розряду Sg1 в молодший розряд числа.

ДСОК має: n суматорів (по кількості розрядів мантиси); суматор знакових розрядів; ai, bi  цифрові розряди числа в машинному коді; перенесення із старших розрядів мантиси в знаковий розряд; нарешті, обернене перенесення із старшого знакового розряду в молодший розряд цифрової частини числа. Щоб сформувати правила складання чисел в обернених кодах на ДСОК розглянемо теорему.

Теорема: сума обернених кодів чисел є обернений код результату.

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

Розглянемо наступні випадки складання на суматорі ДСОК.

Випадок 1.А>0, В>0, А+В<1(тобто обидва числа позитивні).

Тоді Аоб+Воб=[A +B]об =А+В, тобто складання проводиться в прямих кодах.

Приклад: А = 0\0101 (+5)

В = 0\0111 (+7)

С= 0\1100 (+12)

Випадок 2.A<0, B>0, |A|>B, Аоб=qqn+A, Воб=В, тодіАоб+Воб=qqn+A+B=[A+B]об,тобто результат негативний і в оберненому коді, треба повертатися доСпр шляхом інверсії розрядів числа.

Приклад: А = 0\1011 (11), В = 0\0111 (+7).

Аоб=1\0100

+Воб=0\0111

Соб=1\1011 Спр=1\0100 (4)

Випадок 3.A<0, B>0, A<B, тутАоб = qqn+A.ТодіАоб+Воб=qqn+A+B. Оскільки сума(А +В) позитивна, то права частина цього виразу стає більшеq, що викликає появу одиниці перенесення із знакового розряду в молодший розряд числа (величина перенесення при цьому, рівнаqqn), тодіАоб+Воб=А+В. Результат позитивний, це і єСпр.

Приклад: А=0\0101 (5);В= 0\0111 (+7).

Аоб= 1\1010

+Воб=0\0111

Соб = 10\0001

+→→1

Спр=0\0010(+2). ОскількиВ>|A|, то їх алгебраїчна різниця позитивна.

Випадок 4.А<0, В<О, |А + В|<1,тутAоб=qq-n+A, Воб=qq-n+B. ТодіАоб+Воб=qq-n+A+qq-n+B. Тут з’являється одиниця перенесення, що дорівнює вилученню з суми qn, тобтоАоб+Воб=qq-n+A+B=[A+B]об

Приклад: А = 0,0101 ; В = 0,1000.

Аоб=1\,1010

+Воб=1\,0111

11\,0001

+→→1

Соб=1\,0010; Спр= 1\,1101 (-0,8125).

9 Модифіковані бінарні коди

9.1 Переповнення розрядної сітки

Ми не раз спостерігали, як при складанні чисел з однаковими знаками, представлених у формі з фіксованою комою (ФФК), може виникнути переповнення розрядної сітки. При цьому, щоб уникнути спотворення резуль-тату, автомат повинен фіксувати переповнення і відповідно реагувати на це.

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

Ознакою переповнення розрядної сітки суматора прямого коду є поява одиниці перенесення із старшого розряду цифрової частини числа.

Приклади. Суматор ДСПК.

а) А=+1010, В=+1101.

Апр= 0\1010 (+10)

+Впр= 0\1101 (+13)

Спр= 0\0111 (+7≠ +23). Отримано спотворений (невірний) результат із-за втрати перенесення П зі старшого цифрового розряду.

б)А=1100, В= 1010.

Апр= 1\1100

+Впр= 1\1010

Спр= 1\0110 (-6≠-22). Тут теж отриманий невірний результат із-за втрати одиниці перенесення.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]