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

Организация ЭВМ и систем

..pdf
Скачиваний:
14
Добавлен:
05.02.2023
Размер:
3.19 Mб
Скачать

2.6.1 Логические узлы без памяти Сумматор

Сумматором называется узел ЭВМ, выполняющий арифметическое суммирование кодов чисел. Обычно это комбинация одноразрядных суммирующих схем.

P a b

 

&

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Si

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б

 

&

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

Pi+1

 

&

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

Рис. 2.6.1 Функциональная схема (а); одноразрядный сумматор: таблица истинности (б)

При сложении двух чисел независимо от системы счисления в каждом разряде производится сложение трех цифр: двух цифр данного разряда слагаемых и цифры (1 или 0) переноса из соседнего младшего разряда. Полусумматор такого входа не имеет, поэтому суммирует одноразрядные числа

По таблице истинности получим булевы функции

Si = ai ⌐bi ⌐Pi + ⌐ai bi ⌐Pi + ⌐ai ⌐bi Pi + ai bi Pi; Pi+1 = ai bi ⌐Pi + ai ⌐bi Pi + ⌐ai bi Pi + ai bi Pi,

где Pi – цифра переноса из предыдущего (младшего) разряда; ai, bi – цифры слагаемых в данном разряде; Si – сумма; Pi+1 – цифра переноса в старший разряд.

Выражение для цифры переноса в следующий разряд может быть приведено к более простому виду:

Pi+1 = ai bi + ai Pi + bi Pi .

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

(рис. 2.6.2).

41

аi+1 bi+1

аi bi

 

 

аi-1

bi-1

 

 

 

 

Pi+1

 

 

 

 

 

 

 

 

 

 

 

 

 

Pi

 

 

 

 

Pi-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Pi+2 Si +1

Pi+1 Si

Pi Si -1

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

Компаратор

Компаратором называется узел ЭВМ, выполняющий поразрядное сравнение кодов чисел. При сравнении двух чисел независимо от системы счисления сравнение ведется со старшего разряда. Если во всех разрядах результат сравнения оказался положительным (числа не отличаются), то на выходе имеем 1, в противном случае (хотя бы в одном разряде числа различны)

– 0. В связи с этим можно составить таблицу истинности для сравнения одноразрядных чисел (рис. 2.6.3).

a1

a2

f

0

0

1

0

1

0

1

0

0

1

1

1

Рис. 2.6.3 Таблица истинности компаратора

Дешифратор

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

В общем случае дешифратор с n входами имеет 2n выходов, т.к. n- разрядный код входного слова может принимать 2n различных значений и каждому из этих значений соответствует сигнал 1 на одном из выходов дешифратора.

На выходах дешифратора с номерами 0, 1, 2, …, 2n –1 вырабатываются значения булевых функций соответственно:

f0 x0 x1 xn 1 xn ,

42

f

 

x

x x

x

 

,

1

 

 

0

1

n 1

n

 

 

……………………

 

 

 

f

 

n

 

x

x x

1

x

 

2

1

 

0

1

n

n

 

 

 

 

 

 

 

 

 

.

Дешифраторы устанавливаются в схемах ЭВМ на выходах регистров или счетчиков и служат для преобразования кода слова, находящегося в регистре (в счетчике), в управляющий сигнал на одном из выходов дешифратора.

На рис. 2.6.4 показаны таблица истинности, функциональная схема и условное обозначение дешифратора.

 

a

 

c

f0

 

 

 

f1

f2

f3

f4

f5

f6

f7

0

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

0

1

 

 

 

0

 

 

1

0

0

0

0

0

0

 

0

 

1

0

 

 

 

0

 

 

0

1

0

0

0

0

0

 

0

 

1

1

 

 

 

0

 

 

0

0

1

0

0

0

0

 

1

 

0

0

 

 

 

0

 

 

0

0

0

1

0

0

0

 

1

 

0

1

 

 

 

0

 

 

0

0

0

0

1

0

0

 

1

 

1

0

 

 

 

0

 

 

0

0

0

0

0

1

0

 

1

 

1

1

 

 

 

0

 

 

0

0

0

0

0

0

1

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

b

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

f0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

f1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

& f7

б

в

43

Рис. 2.6.4 Дешифратор: таблица истинности (а); функциональная схема (б); условное обозначение (в)

Шифратор

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

 

х0

х1

 

х2

х3

х4

х5

х6

х7

a

b

c

 

1

0

 

0

0

0

0

0

0

0

0

0

 

0

1

 

0

0

0

0

0

0

0

0

1

 

0

0

 

1

0

0

0

0

0

0

1

0

 

0

0

 

0

1

0

0

0

0

0

1

1

 

0

0

 

0

0

1

0

0

0

1

0

0

 

0

0

 

0

0

0

1

0

0

1

0

1

 

0

0

 

0

0

0

0

1

0

1

1

0

 

0

0

 

0

0

0

0

0

1

1

1

1

а

 

 

 

 

 

 

 

 

 

 

 

 

x0 x1 x2 x3 x4

x5 x6

x7

 

 

 

с

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

b

 

 

1

a

 

 

б

44

в

Рис. 2.6.5 Шифратор: таблица истинности (а); функциональная схема (б); условное обозначение (в)

входы, в код на одном из выходов. Действие шифратора обратно действию дешифратора. Если на входы шифратора подаются двоичные переменные, каждая из которых может принимать значения 0 или 1, то на одном из выходов дешифратора вырабатывается сигнал 1, а на остальных выходах сохраняются сигналы 0.

В общем случае шифратор с 2n входами имеет n выходов.

На выходах шифратора с номерами 0, 1, 2, …, 7 вырабатываются значения булевых функций соответственно:

f0 f1

f3

x

x

x

x

,

1

3

5

7

 

x2 x3 x6 x7

,

x4 x5 x6 x7 .

На рис. 2.6.5 показаны таблица истинности, функциональная схема и условное обозначение шифратора.

Мультиплексор

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

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

У данной схемы два входных сигнала выбора. Четыре возможные комбинации их значений используются для выбора одного из входов данных, значение которого передается на выход. Такую же структуру будут иметь и большие мультиплексоры, в которых k входных сигналов выбора используются для соединения одного из 2k входов данных с выходом. Типичной областью применения мультиплексоров является фильтрация данных, поступающих из множества разных источников. В частности, с помощью шестнадцати четырехвходовых мультиплексоров можно реализовать загрузку 16-разрядного регистра данных из одного четырех источников.

45

Демультиплексор

Демультиплексор – противоположный по действию мультиплексору логический узел, предназначенный для выбора одного из n выходов, на который передается значение входного сигнала. Условное обозначение демультиплексора приведено на рис. 2.6.7.

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

x1

&

x2

&

x3 1

&

x4

&

1

 

1

 

 

 

 

 

 

 

 

w1

w2

а

Рис. 2.6.6 Мультиплексор: функциональная схема (а); условное обозначение (б)

.

46

Рис. 2.6.7 Демультиплексор: условное обозначение

2.6.2 Логические узлы с памятью

Отдельный триггер может использоваться для хранения одного бита информации. Однако для преобразователей, обрабатывающих слова данных, состоящих из множества битов (обычно 64), удобнее объединить группу триггеров в стандартную структуру, называемую регистром. Регистры предназначены для запоминания слова и выполнения над ним некоторых логических преобразований. Число триггеров в регистре соответствует количеству разрядов в слове.

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

В ходе обработки цифровых данных часто требуется сдвинуть или циклически прокрутить значения группы битов данных. Реализуются эти операции аппаратно. Простейшим механизмом для их выполнения является параллельный регистр, содержимое которого легко может быть сдвинуто вправо или влево на одну позицию за один раз. В качестве примера рассмотрим 3-разрядный сдвиговый регистр, показанный на рис. 2.6.9. Он состоит из трех D-триггеров, соединенных таким образом, что каждый тактовый импульс вызывает перемещение содержимого триггера в следующий за ним триггер, в результате чего получается «сдвиг вправо», обозначаемый → (1), сдвиг влево обозначается ← (0). Данные последовательно «вдвигаются» в регистр и «выдвигаются» из него. Для выполнения циклического смещения данных достаточно соединить выход и вход.

47

а

б

Рис. 2.6.1 Параллельный регистр: логическая схема (а); условное обозначение (б)

Рис. 2.6.9 Последовательный регистр: логическая схема

Граф переходов при сдвиге вправо, таблица истинности и карта Карно показаны на рис. 2.6.10.

48

 

 

 

 

 

 

 

 

 

 

111

 

 

 

 

000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

110

 

 

 

 

 

 

 

 

 

 

 

 

 

001

 

 

 

 

 

 

 

 

 

 

 

101

 

 

 

 

 

 

 

 

 

 

 

 

 

010

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100

 

 

 

 

011

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q2(t)

Q1(t)

 

 

Q0(t)

 

Q2(t+

 

Q1(t+

 

Q0(t+

D2

 

 

D1

 

 

 

 

 

 

 

 

 

 

 

 

1)

 

 

1)

 

 

1)

 

 

 

 

 

 

 

 

 

 

D0

0

 

0

0

 

 

0

 

 

0

 

 

0

 

 

0

 

 

 

0

 

 

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

0

 

 

1

 

 

0

 

 

0

 

 

0

 

 

 

0

 

 

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

0

1

 

 

0

 

 

0

 

 

0

 

 

1

 

 

 

0

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

0

1

 

 

1

 

 

0

 

 

0

 

 

1

 

 

 

0

 

 

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

1

0

 

 

0

 

 

0

 

 

1

 

 

0

 

 

 

0

 

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

1

0

 

 

1

 

 

0

 

 

1

 

 

0

 

 

 

0

 

 

 

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

1

1

 

 

0

 

 

0

 

 

1

 

 

1

 

 

 

0

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

1

1

 

 

1

 

 

0

 

 

1

 

 

1

 

 

 

0

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q2

 

1

 

12

1

13

 

0

5

 

 

0

4

 

 

 

 

 

 

 

 

1

 

14

1

15

 

0

7

 

 

0

6

 

Q0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

10

0

11

 

0

3

 

 

0

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

8

0

9

 

0

1

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q2

 

0

12

 

 

0

13

 

 

1

5

 

 

0

 

4

 

 

 

 

 

D2 = 0

 

 

 

 

 

 

0

14

 

 

0

15

 

 

1

7

 

 

0

 

6

 

Q0

 

 

D1 = x Q2

 

 

 

 

 

0

10

 

 

1

11

 

 

0

3

 

 

0

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D0 = x Q1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

8

 

 

1

9

 

 

 

0

1

 

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q1

 

 

 

 

 

 

 

 

 

 

 

 

 

в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.6.10 Последовательный регистр: граф переходов (а); 49

таблица истинности (б); карты Карно (в)

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

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

На рис. 2.6.11 показана схема несинхронного четырехразрядного двоичного суммирующего счетчика, предназначенного для

 

 

Q1

 

 

Q2

 

Q3

 

 

Q4

 

 

 

 

 

1

 

1

 

 

 

1

J TT

 

1

J TT

J TT

J TT

 

x

C

 

 

C

 

C

 

C

 

 

 

 

 

 

 

 

1

K

 

1

K

1

K

1

K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

Q

Q

Q

Q

 

Q

Q

Q

Q

 

x

4

3

2

1

x

4

3

2

1

 

0

0

0

0

0

8

1

0

0

0

 

1

0

0

0

1

9

1

0

0

1

 

2

0

0

1

0

10

1

0

1

0

 

3

0

0

1

1

11

1

0

1

1

 

4

0

1

0

0

12

1

1

0

0

 

5

0

1

0

1

13

1

1

0

1

 

6

0

1

1

0

14

1

1

1

0

б

7

0

1

1

1

15

1

1

1

1

 

 

 

 

 

в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

г

Рис. 2.6.11 Несинхронный двоичный счетчик: функциональная схема (а); граф переходов (б); таблица истинности (в); условное обозначение (г)

подсчета импульсов, поступающих на его входы. Результатом является кодовая комбинация, соответствующая числу импульсов. Таблица истинности показывает состояния, в которых находятся триггеры счетчика при воздействии серии входных сигналов х (при х = 1 счетчик считает в прямом направлении, при х = 0 – в обратном).

50