Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция по архитек 2.doc
Скачиваний:
8
Добавлен:
10.11.2019
Размер:
272.9 Кб
Скачать

142 Глава 3. Цифровой логический уровень

тили НЕ-И и НЕ-ИЛИ, а не И и ИЛИ. (На практике все вентили выполняются несколько по-другому, но НЕ-И и НЕ-ИЛИ все равно проще, чем И и ИЛИ.) Сле­дует упомянуть, что вентили могут иметь более двух входов. В принципе вентиль НЕ-И, например, может иметь произвольное количество входов, но на практике больше восьми обычно не бывает.

Хотя устройство вентилей относится к уровню физических устройств, мы все же упомянем основные серии производственных технологий, так как они часто упоминаются в литературе. Две основные технологии — биполярная и МОП (ме­талл-оксид-полупроводник). Среди биполярных технологий можно назвать ТТЛ (транзисторно-транзисторную логику), которая служила основой цифровой элек­троники на протяжении многих лет, и ЭСЛ (эмиттерно-связанную логику), кото­рая используется в тех случаях, когда требуется высокая скорость выполнения операций.

Вентили МОП работают медленнее, чем ТТЛ и ЭСЛ, но потребляют гораздо меньше энергии и занимают гораздо меньше места, поэтому можно компактно рас­положить большое количество таких вентилей. Вентили МОП имеют несколько разновидностей; р-канальный МОП-прибор, n-канальный МОП-прибор и комп­лиментарный МОП. Хотя МОП-транзисторы конструируются не так, как бипо­лярные транзисторы, они обладают такой же способностью функционировать, как электронные переключатели. Современные процессоры и память чаще всего про­изводятся с использованием технологии комплиментарных МОП, которая рабо­тает при напряжении +3,3 В. Это все, что мы можем сказать об уровне физических устройств. Читатели, желающие узнать больше об этом уровне, могут обратиться к литературе, приведенной в главе 9.

Булева алгебра

Чтобы описать схемы, которые строятся путем сочетания различных вентилей, нужен особый тип алгебры, в которой все переменные и функции могут прини­мать только два значения: 0 и 1. Такая алгебра называется булевой алгеброй. Она названа в честь английского математика Джорджа Буля (1815-1864). На самом деле в данном случае мы говорим об особом типе булевой алгебры, а именно об алгебре релейных схем, но термин «булева алгебра» очень часто используется в значении «алгебра релейных схем», поэтому мы не будем их различать.

Как и в обычной алгебре (то есть в той, которую изучают в школе), в булевой алгебре есть свои функции. Булева функция имеет одну или несколько перемен­ных и выдает результат, который зависит только от значений этих переменных. Можно определить простую функцию f, сказав, что f(A)=l, если А=0, и f(A)=0, если А=1. Такая функция будет функцией НЕ (см. рис. 3.2, а).

Так как булева функция от п переменных имеет только 2" возможных комбина­ций значений переменных, то такую функцию можно полностью описать в табли­це с 2П строками. В каждой строке будет даваться значение функции для разных комбинаций значений переменных. Такая таблица называется таблицей истинно­сти. Все таблицы на рис. 3.2 представляют собой таблицы истинности. Если мы

Вентили и булева алгебра

143

договоримся всегда располагать строки таблицы истинности по порядку номеров, то есть для двух переменных в порядке 00, 01, 10, И, то функцию можно полнос­тью описать 2"-битным двоичным числом, которое получается, если считывать по вертикали колонку результатов в таблице истинности. Таким образом, НЕ-И — это 1110, НЕ-ИЛИ - 1000, И - 0001 и ИЛИ - 0111. Очевидно, что существует только 16 булевых функций от двух переменных, которым соответствуют 16 воз­можных 4-битных цепочек. В обычной алгебре, напротив, есть бесконечное число функций от двух переменных, и ни одну из них нельзя описать, дав таблицу значе­ний этой функции для всех возможных значений переменных, поскольку каждая переменная может принимать бесконечное число значений.

На рис. 3.3, а показана таблица истинности для булевой функции от трех пе­ременных: M=f(A, В, С). Это функция большинства, которая принимает значе­ние 0, если большинство переменных равно 0, и 1, если большинство переменных равно 1. Хотя любая булева функция может быть определена с помощью таблицы истинности, с возрастанием количества переменных такой тип записи становится громоздким. Поэтому вместо таблиц истинности часто используется другой тип записи.

А

в

с

м

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1



Рис. 3.3. Таблица истинности для функции большинства от трех переменных (а); схема для этой функции (б)