Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.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
жет быть уменьшена, если при разбиении сумматора на группы использовать параллельное (одновременное) формирование переноса внутри групп. Так как макси мальная длина пробега равна числу групп, то с умень шением числа групп она будет, естественно, уменьшать
ся. Однако с увеличением длины группы резко воз растают затраты оборудо вания на реализацию па раллельного переноса.
В некоторых случаях, особенно при большом числе разрядов суммато ра, может оказаться целе сообразным организовать двухступенчатое разбие ние сумматора на группы и использовать на разных ступенях различные спо собы группового пере носа.
Для ускорения сложе ния при выполнении опе раций, требующих ряда последовательных сложе ний (например, операции умножения и деления),
иногда используют сумматоры с запоминанием переноса. В таких сумматорах сложение выполняется как пораз рядная операция. При этом возникающие в процессе по следовательных сложений единицы переноса не распрост раняются по сумматору, а запоминаются в отдельном регистре.
Сумматор имеет в своем составе два регистра: ре гистр суммы, в котором запоминаются промежуточные результаты суммирования без учета распространения сигналов переноса, и регистр переноса. В отличие от сумматора с последовательным переносом при выполне нии очередного сложения сигнал переноса из г-го раз
ряда не поступает |
в (t+ l)-fi |
разряд |
регистра суммы, |
а запоминается в |
(г'+1)-м разряде регистра переносов. |
||
В каждом разряде регистра |
суммы |
и регистра пере |
носов сумматора производится сложение трех цифр: цифры регистра суммы, цифры регистра переносов и циф
232