Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВМ лекции

.pdf
Скачиваний:
61
Добавлен:
08.05.2015
Размер:
2.95 Mб
Скачать

Di = Vi (ai bi Vi−1) ai biVi−1

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

реализации операций сложения и вычитания в одном устройстве введем управляющий сигнал F=0 при сложении и F=1 при вычитании.

 

 

 

 

 

ai

ai

ai

&

ai

 

bi

 

Ci-1

 

 

 

 

 

 

 

 

 

bi

bi

&

bi

 

ai

 

 

 

 

Ci-1

Ci-1

&

C

i-1

bi

Ci-1

 

ai

 

 

 

 

 

ai

F

F

=1

 

 

 

 

 

 

 

bi

 

bi

&

 

 

Ci-1

 

Ci-1

&

 

 

ai

 

 

 

bi

 

bi

 

 

 

 

 

 

 

Ci-1

 

Ci-1

&

 

 

& & Si

&

& Ci

&

&

Рис.16. 3

Сложение многоразрядных чисел можно реализовать последовательно или параллельно.

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

такте складываются вновь поступившие разряды слагаемых с переносом из младшего разряда и т.д.

Схема последовательного сумматора:

91

Рис.16. 4 Последовательный сумматор

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

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

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

Рис.16. 5 Параллельный сумматор с последовательным переносом

92

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

Для построения схемы параллельного переноса введем понятия:

Функция генерации gi=aibi принимает единичное значение, если перенос на

выходе данного разряда появляется независимо от наличия или отсутствия входного переноса.

Функция прозрачности (транзита) hi=ai bi принимает единичное значение,

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

Выражение для сигнала переноса можно записать как Ci=gi hiCi-1.

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

С0=g0 Cвхh0

С0=a0b0 Cвхh0

C1=g1 g0h1 Cвхh1h0

C1=a1b1 a0b0h1 Cвхh0h1

C2=g2 C1h2=g2 g1h2 g0h1h2 Cвхh2h1h0 C2=a2b2 a1b1h2 a0b0h2h1 Cвхh2h1h0

В общем случае

Ci=gi gi-1hi gi-2hihi-1 g0hihi-1…h1 Cвхhihi-1…h0

Схема генерации параллельного переноса для 4-разрядного сумматора:

93

a0

 

g0

 

 

b0

&

 

 

 

 

 

 

1

h0

 

C0

Cвх

 

 

&

1

 

 

 

a1

 

g1

 

C1

b1

 

 

&

 

 

1

 

1

h1

 

&

 

 

 

 

&

a2

 

 

g2

C2

b2

 

 

 

&

 

 

1

 

1

h2

 

&

 

 

 

 

 

 

 

 

&

 

 

 

 

&

Рис.16. 6 Схемы внутренних параллельных переносов 4-разрядного сумматора

Длительность суммирования не зависит от разрядности сумматора. Однако

фактически с ростом разрядности сумматора увеличивается нагрузка элементов схемы, что увеличивает их задержки. Реально диапазон разрядностей, в которых проявляются достоинства сумматоров с параллельным переносом невелик. До 3…4 разрядов преимущества имеют более простые схемы сумматоров с последовательным переносом, после 8 появляются перегруженные элементы и элементы с большим числом входов, что замедляет работу сумматора и требует введения развязывающих элементов.

В сумматорах с групповой структурой схема с разрядностью n делится на l

групп по m разрядов. В группах и между ними возможны различные виды переносов, что порождает множество вариантов групповых сумматоров.

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

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

94

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

Группу из двух разрядов сумматора с выходом переноса старшего разряда можно описать системой ФАЛ согласно таблице.

A1

B1

A0

B0

Свх

S0

S1

C1

0

0

0

0

0

0

0

0

0

1

0

0

0

0

1

1

0

0

2

0

0

0

1

0

1

0

0

3

0

0

0

1

1

0

1

0

4

0

0

1

0

0

1

0

0

5

0

0

1

0

1

0

1

0

6

0

0

1

1

0

0

1

0

7

0

0

1

1

1

1

1

0

10

0

1

0

0

0

0

1

0

11

0

1

0

0

1

1

1

0

12

0

1

0

1

0

1

1

0

13

0

1

0

1

1

0

0

1

14

0

1

1

0

0

1

1

0

15

0

1

1

0

1

0

0

1

16

0

1

1

1

0

0

0

1

17

0

1

1

1

1

1

0

1

20

1

0

0

0

0

0

1

0

21

1

0

0

0

1

1

1

0

22

1

0

0

1

0

1

1

0

23

1

0

0

1

1

0

0

1

24

1

0

1

0

0

1

1

0

25

1

0

1

0

1

0

0

1

26

1

0

1

1

0

0

0

1

27

1

0

1

1

1

1

0

1

30

1

1

0

0

0

0

0

1

31

1

1

0

0

1

1

0

1

32

1

1

0

1

0

1

0

1

33

1

1

0

1

1

0

1

1

34

1

1

1

0

0

1

0

1

35

1

1

1

0

1

0

1

1

36

1

1

1

1

0

0

1

1

37

1

1

1

1

1

1

1

1

S0=1 2 4 7 11 12 14 17 21 22 24 27 31 32 34 37

95

S1=3 5 6 7 10 11 12 14 20 21 22 24 33 35 36 37 C1=13 15 16 17 23 25 26 27 30 31 32 33 34 35 36 37

S0 = B0A0C B0A0C

B0A0C B0A0C

S1 = A1B1A0B0 A1B1A0C

A1B1B0C A1B1B0C

A1B1A0C A1B1A0B0

A1B1A0B0 A1B1A0C

A1B1B0C A1B1B0C

A1B1A0C A1B1A0B0

С1 = A1B1 A1A0B0

B1A0B0 B1A0C A1A0C B1B0C A1B0C

96

Сумматор с параллельным межгрупповым переносом строится по схеме,

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

H=hm-1hm-2…h0

G=gm gm-1hm gm-2hmhm-1 g1hmhm-1…h2

Выражение для межгруппового переноса:

Сi=Gi Gi-1Hi Gi-2Hi-1Hi … G1H2…Hi CвхH1H2…Hi

Рис.16. 7 Групповой сумматор с параллельным межгрупповым переносом

Сумматор с условным переносом позволяет улучшить быстродействие сумматоров с последовательным переносом. Имея сумматор с n разрядами, можно разделить его на группы с разрядностями n/2. Старшую группу дублируют так, что в схему входят три сумматора с разрядностью n/2. На одном суммируются младшие поля операндов, на втором старшие поля операндов при условии Cвх=1, на третьем старшие поля операндов при условии Cвх=0.

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

97

 

 

 

Аст. Bст.

 

 

 

 

Амл. Bмл.

 

 

 

 

 

Cвх.

SMмл.

C=1

SMст.1

C=0

SMст.0

 

 

 

 

 

Cмл. 1 0

 

1

0

 

 

 

MUX

 

MUX

 

Sмл.

 

Sст.

 

Свых.

 

 

Рис.16. 8 Сумматор с условным переносом

 

Накапливающий сумматор представляет собой сочетание комбинационного сумматора и регистра, работающее по формуле: S=S+A, согласно которой к содержимому сумматора добавляется очередное слагаемое, и результат замещает старое значение суммы. Накапливающие сумматоры называют также аккумуляторами. Структура накапливающего сумматора представлена на рис. 31.

Рис.16. 9 Структура накапливающего сумматора

98

17. Компаратор

Цифровым компаратором называется устройство, определяющее отношение между двумя словами. Основными отношениями, через которые можно выразить остальные, являются отношения «равно» и «больше».

Функции, вырабатываемые компаратором, принимают единичное значение, если соблюдается условие, указанное в индексе обозначения функции. Например, FA=B=1, если A=B и FA=B=0, если A<>B.

Приняв в качестве основных отношений «равно» и «больше», остальные

можно выразить как

 

 

FA¹B =

F

A=B , FA<B = FB> A , FA>=B =

F

B> A , FA<=B =

F

A>B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

 

 

серии

 

цифровых

 

 

элементов

 

обычно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

используются

компараторы

 

 

с тремя

 

выходами:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

«больше», «равно» и

«меньше».

 

Условное

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

графическое обозначение компаратора представлено

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на рисунке.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Входы A=B, A<B, A>B служат для наращивания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

разрядности.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Компаратор осуществляет сравнение двух слов,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

заданных разрядами A0…A3 и B0…B3.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 17. 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Условие на

равенство проверяется поразрядной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

функцией ri = aibi

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ai

bi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

b

 

 

 

 

A=B

 

 

A>B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

 

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 17. 2

Условие A>B определяется функцией fi = ai bi . Для многоразрядных слов условие A>B выполняется, если ai>bi или (ai=bi и ai+1>bi+1). В виде функции данное

соотношение можно записать как

99

FA >B = an bn rnan1bn 1

... rnrn 1...a1b1

Рис. 17. 3

Схемная реализация 2-разрядного цифрового компаратора

Рис. 17. 4 Реализация 2-разрядного компаратора

Рис. 17. 5 Реализация одного разряда компаратора

100

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