Читать «Архитектура компьютера» онлайн - страница 144

Эндрю Таненбаум

Рис. 3.2. Значки для изображения пяти основных вентилей. Режимы работы функции для каждого вентиля

Если выходной сигнал на рис. 3.1, б подать в инвертор, мы получим другую схему, противоположную вентилю НЕ-И, то есть такую схему, у которой выходной сигнал равен 1 тогда и только тогда, когда оба входных сигнала равны 1. Такая схема называется вентилем И; ее схематическое изображение и описание соответствующей функции даны на рис. 3.2, г. Точно так же вентиль НЕ-ИЛИ может быть связан с инвертором. Тогда получится схема, у которой выходной сигнал равен 1 в том случае, если хотя бы один из входных сигналов единичный, и равен 0, если оба входных сигнала нулевые. Изображение этой схемы, которая называется вентилем ИЛИ, а также описание соответствующей функции даны на рис. 3.2, д. Маленькие кружочки в схемах инвертора, вентиля НЕ-И и вентиля НЕ-ИЛИ называются инвертирующими выходами. Они также могут использоваться в другом контексте для указания на инвертированный сигнал.

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

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

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

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

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