Последната редакция на тази книга е от 2021 година.

 

 

I.9.  Ускоряване при едновременно събиране на повече от 2 числа

 

 

      Операция аритметическо събиране е двуместна операция, т.е. в нея участват 2 операнда. От техническа гледна точка обаче нищо не ни пречи да поставим въпроса за едновременно събиране на повече от 2 операнда, което е резонно, като имаме предвид математическите изрази с много операции.

      Нека като за начало разгледаме случай на събиране на 3 числа: (z=x1+x2+x3). Изчислението на тази сума изисква изпълнението на 2 последователни операции събиране и нейното еднотактно реализиране с 2-входовите суматори, които бяха изяснени и синтезирани в предидущите пунктове, ще ни доведе до следната логическа структура:

 

Фиг. I.13.  Последователно събиране на 3 операнда

 

      Преди да коментираме времето за превключване на тази структура трябва да обърнем внимание на разрядното разширение на междинния и на окончателния резултат. Това разширение прави суматорите различни – ако суматор СМ1 е n-разряден, то суматор СМ2 трябва да е (n+1)-разряден. Схемата изисква съответното комутиране на данновите връзки.

      Като се позовем на оценката на времето за превключване в пункт 1.4, че закъснението на n-битовата сума е  tS1=(n+1).t,  а на (n+1)-битовата е

tS2=(n+2).t  ,

то максималното закъснение на крайния резултат в горната структура ще бъде:

tS =  tS1+ tS2  =  (2.n+3).t  ,                                    (32)

т.е. двойно по-голямо. Тази оценка обаче е с възможно най-голямата презастраховка. Тя се получава като се изхожда от разбирането, че събирането в изходния суматор стартира след формиране на истинните стойности на всички цифри от първата сума, т.е след превключване на суматора СМ1. На практика, тъй като схемата е комбинационна, готовите младши цифри на първата сума постъпват веднага в суматор СМ2, където в младшите разряди започва събиране с вече подадените младши цифри на събираемото x1. Така превключването на изходния суматор започва със закъснение 3.t след началото на операцията и протича в по-голямата си част паралелно във времето с превключването на суматор СМ1. Времевото разположение на двете вериги от последователно разпространяващи се преноси е изобразено на следващата рисунка:

 

Фиг. I.14.  Преноси при последователно събиране на 3 операнда

 

      Така, с отчитане на паралелната работа на двата суматора, оценката на времето може да се прецизира и приема следния вид:

tS =  3.t+(n-1).t+t+3.t = (n+6).t   .                             (33)

      Нека анализираме по-подробно процеса на събиране, като го представим по следния начин:

 

където с  bx1, bx2, bx3  и т.н. са означени отделните двоични цифри на числата x1, x2 и x3, а с  Y и Z – междинната и крайната суми съответно.

      От схемата по-горе се вижда, че междинната сума Y може да се получи като поразрядна без отчитане на възникналите преноси при събирането на 3 цифри във всеки разряд. Технически тази сума може да се получи с помощта на n на брой пълни едноразрядни двоични суматори, наредени един до друг без всякаква връзка между тях. В същото време възникналите от тези суматори преноси (съответно подредени като (n+1)-разрядно число) трябва да се съберат пълноценно с междинния резултат Y, за което е необходим пълноценен (разбирайте пълен) n-разряден двоичен суматор, на чийто изход излизат окончателните стойности на разрядите в крайната сума

Z = < zn+1  zn  zn-1     z2  z1 >.

      Казаното води до следната структурна схема:

 

Фиг. I.15.  Концентратор (3:1)

 

      Представената схема е достатъчно близка до принципната логическа и позволява да се определи максималното закъснение на резултата. Вижда се, че всички цифри на междинната сума Y получават истинните си стойности почти едновременно, т.е. като имаме предвид принципната логическа схема от фигура I.2, след максимум  3.t  секунди. С t е означено времето за превключване на един логически елемент. Ако суматорът СМ2 е изпълнен по структурата с ускорен последователен пренос, то ще се добави още и закъснението  (n+2).t , така окончателното време за превключване на тази структура ще се оцени така:

tS =  tS1+ tS2  =  3.t + (n+2).t =  (n+5).t  .                    (34)

      Като имаме предвид, че комутирането на двата суматора не е оптимизирано, тъй като не е отчетено какво точно изисква на вход за всеки разряд суматорът с ускорен последователен пренос СМ2, можем да твърдим, че така получената схема събира 3 числа 2 пъти по-бързо от представената в началото последователна схема. Спрямо паралелната интерпретация и нейната оценка (33), то оценката (34) е почти идентична.

 

 

 

Следващият раздел е:

1.10.  Микроконвейерни комбинационни суматори