Щербаков а. Н., Проскурін м. П., Грушко с. С. Прикладна теорія цифрових автоматів
Скачать 2.54 Mb.
|
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, тут Аоб = qqn+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). 1> |