Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.04.2024

Просмотров: 252

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

где

^ 2 і + 2 ~

а 2 і + \ V ^2i+l V а 2 і + \ V ^ 2 І+ 1 V С 2 І + Г

(3-45)

Эти соотношения легко могут быть

приведены

к соотно­

шению (3-28).

 

 

 

При построении сумматоров, в

которых происходит

формирование

сигнала переноса

в четных

разрядах

З^ІСС-І

Р и с .

3-76. С у м м а т о р

н а

к л а

п а н а х

И Л

И — Н Е

с

д в у х п р о в о д н о й

п е р е ­

 

 

д а ч е й

с и г н а л а

п е р е н о с а .

 

 

 

и сигнала инверсии переноса в нечетных, необходимо учитывать два неблагоприятных случая распространения сигнала переноса. Первый случай имеет место, когда происходит последовательное переключение сигналов на

выходах

элементов, где

формируется

сигнал переноса,

из нулевого в единичное

состояние,

а на

выходах эле­

ментов,

формирующих сигнал инверсии

переноса,—из

единичного в нулевое. Другой случай возникает, когда последовательно переключаются из единичного состоя­ ния в нулевое сигналы на выходах элементов, где фор­ мируется сигнал переноса.

Действительно, если на входах сумматора слагаемые имеют значения 111 ... 11 и 000 ... 00, то на всех выходах переноса сигналы имеют нулевое значение, а на выхо­ дах инверсии переноса— единичное значение. Если младший разряд второго числа примет единичное зна­ чение, то цифра переноса в каждом разряде, начиная с младшего, изменится на обратную: элементы, форми­ рующие сигнал переноса, переключатся в единичное со­

15*

227


стояние, а элементы, формирующие сигнал инверсии пе­ реноса,— в нулевое. Будем называть такое последова­ тельное переключение распространением переноса.

Если затем младший разряд второго числа вновь примет нулевое значение, то элементы, формирующие сигнал переноса, последовательно, начиная с младшего разряда, переключатся из единичного состояния в нуле­ вое, а элементы, формирующие сигнал инверсии перено­ с а,— из нулевого состояния в единичное. Будем назы­ вать такое последовательное переключение распростра­ нением инверсии переноса.

При проектировании схем ускорения переноса необ­ ходимо учитывать возможность распространения и пе­ реноса и инверсии переноса в сумматорах, формирую­ щих в четных разрядах сигнал переноса, а в нечетных — сигнал инверсии переноса. Например, в сумматорах с групповым последовательным переносом, описанных ниже, недостаточно организовать цепь, ускоряющую рас­ пространение переноса.

Необходимо дополнительно организовать цепь ускоре­ ния распространения инверсии переноса. Однако наличие дополнительной ускоряющей цепи практически удваивает затраты оборудования на реализацию ускорения пере­ носа.

В зависимости от способа определения момента окон­ чания распространения переноса сумматоры делятся на

синхронные и асинхронные.

Синхронными называются сумматоры, в которых время сложения постоянно и не зависит от кодов сумми­ руемых чисел. В таких сумматорах время сложения складывается из максимального времени распростране­ ния переноса в сумматоре и времени срабатывания схе­ мы образования суммы.

Асинхронными называются сумматоры, в которых время сложения меняется в зависимости от кодов сум­ мируемых чисел. В таких сумматорах имеется специаль­ ная схема, которая определяет момент установления сиг­ налов переноса во всех разрядах.

Известно, что средняя длина пробега переноса (ко­ личество разрядов, на которое распространяется пере­ нос) в сумматоре, равна log2H, где п — число разрядов сумматора. Например, в 32-разрядном сумматоре сред­ няя длина пробега переноса равна 5 и среднее время суммирования іс при организации асинхронной работы

228

будет равно:

СІ

~ К + 5/

(3-46)

2 * ^ n ’

 

где /п — время распространения переноса в одном разря­ де; t z — время срабатывания схемы образования суммы.

При организации синхронной работы без применения специальных мер ускорения переноса время суммирова­ ния будет составлять:

(3-47)

Обычно

и поэтому использование асинхрон­

ного принципа может существенно повысить быстродей­ ствие сумматора. Однако в некоторых случаях реализа­ ция асинхронного принципа приводит к значительному увеличению затрат оборудования. Тогда более эффек­ тивным может оказаться применение специальных мер ускорения переноса в синхронных сумматорах. Ниже бу­ дут рассмотрены различные методы ускорения распро­ странения переноса в синхронных сумматорах и приме­ ры построения асинхронных сумматоров.

По характеру распространения переноса различают следующие виды синхронных сумматоров: с поразряд­ ным последовательным переносом, с параллельным (од­ новременным) переносом, с групповым переносом.

Сумматоры с поразрядным последовательным переносом

В сумматорах этого типа (рис. 3-73) перенос распро­ страняется последовательно от разряда к разряду по мере образования цифры суммы в каждом отдельном разряде. При наиболее неблагоприятных условиях для распространения переноса, например при сложении чи­ сел 11 ... 11 и 00 ... 001, будет иметь место «пробег» еди­ ницы переноса через весь сумматор от самого младшего к самому старшему разряду. Поэтому в худшем случае время распространения переноса будет равно:

(3-48)

где т\ — время распространения переноса в одном раз­ ряде; п — число разрядов сумматора.

Данный тип сумматора наиболее прост с точки зре­ ния схемы цепей распространения переноса, но имеет сравнительно низкое быстродействие.

229



Сумматор с параллельным переносом

Можно построить сумматор, в котором сложение вы­ полняется как поразрядная операция и на распростра­ нение переноса не требуется дополнительного времени. Рассмотрим принцип построения такого сумматора, ко­ торый называется сумматором с параллельным пере­ носом.

Как уже указывалось выше, сигнал переноса в (г+1)-й разряд выражается в виде

c, - + i ^ ai bi V C i ( a l V bl).

(3-49)

В свою очередь сигнал переноса в і-й разряд будет:

С = а,_і 6,_! Ѵ с,_, К _ ,'Ѵ Ь._0-

(3-50)

Таким же образом можно написать выражения для

сигналов переноса во все разряды вплоть

до сигнала

в младшем разряде CQ.

 

Подставляя в каждое выражение для сигнала пере­ носа в более старший разряд выражение для сигнала переноса в соседний, младший разряд, начиная с со, по­ лучаем для сі+{:

сш =

й Л

Ѵ а

, _

А _ ,

(atVbt) V a {_ 2bt_ 2(at\/bt) x

X A V

A

j V

'

• • Vfl, 6,

[a, Vb . ) { a ^ y / b . ^ ) • • • fa2\Jb2) у

 

У с ^ а ^ Ъ . )

{al^ y h l_ l) . . . [ a y / b 2) (axy

b

(3-51)

Из

выражения

(3-51)

видно, что перенос

в

каждом

разряде может быть выработан одновременно с запу­ ском переноса в младший разряд.

Затраты оборудования на построение сумматора та­ кого типа, особенно при большом числе разрядов, на­ столько велики, что в чистом виде он практически не на­ ходит применения. Принцип параллельного формирова­ ния переноса может быть использован в сумматорах с групповым переносом, рассмотренных ниже.

Сумматоры с групповым переносом

ВЦВМ широко используются сумматоры с группо­ вым переносом.

Всумматорах с поразрядным последовательным пе­ реносом часто вводят обходные пепи распространения переноса, для чего сумматор разбивается на несколько групп равной длины. Сигнал переноса, поступающий на

230


Вход младшего разряда группы, в случае наличия усло­ вий распространения переноса во всех разрядах данной группы передается на вход младшего разряда соседней, более старшей группы.

Схема формирования сигнала переноса в младшем разряде каждой группы дополняется для этой цели схе­ мой И, реализующей булеву функцию

(3-52)

где сѴск — сигнал ускорения переноса; Сі — сигнал пере­ носа в младший разряд группы, содержащей k разря­ дов; рі, ..., Pi+h-1 —условия распространения переноса

в разрядах группы (рі — афі V аФі).

В таком сумматоре максимальная длина распростра­ нения переноса определяется пробегом его в младшей, старшей группах и через остальные группы.

В работе [Л. 5] показано, что оптимальная длина группы k при таком разбиении для «-разрядного сумма­ тора определяется выражением

(3-53)

Максимальное время распространения переноса мо­ жет быть уменьшено, если производить разбиение сум­ матора на группы разной длины, причем группа, распо­ ложенная в середине сумматора, должна иметь наибольшу длину, а по мере удаления от середины сумматора как в сторону старших, так и в сторону млад­ ших разрядов длина группы должна уменьшаться на единицу по сравнению с соседней группой. В этом слу­ чае, если сигнал переноса возникает в группе, объеди­ няющей младшие разряды сумматора, он может пробе­ жать максимальное число групп, но длина его пробега внутри исходной группы минимальна. Если перенос воз­ никает в следующей группе, то длина его пробега внут­ ри группы становится на единицу больше, но число групп, по которым он может распространяться, будет на единицу меньше и т. д. Такая же картина будет наблю­ даться и в группах, объединяющих старшие разряды, в которых перенос заканчивается. Максимальная длина пробега сигнала переноса в этом случае будет равна числу групп.

Максимальная длина пробега сигнала переноса мо­

231

н и е м
п е р е н о с а .
3 - 7 7 .
Р и с .
С у м м а т о р
з а п о м и н а ­
с
с у м м ы
Р е г и о т р

жет быть уменьшена, если при разбиении сумматора на группы использовать параллельное (одновременное) формирование переноса внутри групп. Так как макси­ мальная длина пробега равна числу групп, то с умень­ шением числа групп она будет, естественно, уменьшать­

ся. Однако с увеличением длины группы резко воз­ растают затраты оборудо­ вания на реализацию па­ раллельного переноса.

В некоторых случаях, особенно при большом числе разрядов суммато­ ра, может оказаться целе­ сообразным организовать двухступенчатое разбие­ ние сумматора на группы и использовать на разных ступенях различные спо­ собы группового пере­ носа.

Для ускорения сложе­ ния при выполнении опе­ раций, требующих ряда последовательных сложе­ ний (например, операции умножения и деления),

иногда используют сумматоры с запоминанием переноса. В таких сумматорах сложение выполняется как пораз­ рядная операция. При этом возникающие в процессе по­ следовательных сложений единицы переноса не распрост­ раняются по сумматору, а запоминаются в отдельном регистре.

Сумматор имеет в своем составе два регистра: ре­ гистр суммы, в котором запоминаются промежуточные результаты суммирования без учета распространения сигналов переноса, и регистр переноса. В отличие от сумматора с последовательным переносом при выполне­ нии очередного сложения сигнал переноса из г-го раз­

ряда не поступает

в (t+ l)-fi

разряд

регистра суммы,

а запоминается в

(г'+1)-м разряде регистра переносов.

В каждом разряде регистра

суммы

и регистра пере­

носов сумматора производится сложение трех цифр: цифры регистра суммы, цифры регистра переносов и циф­

232