Булева алгебра Комбинаторные схемы Арифметико-логические устройства
Энергонезависимая память ОЗУ Асинхронные шины Конвейерный режим шины памяти процессора Шина USB

Архитектура персонального компьютера

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

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

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

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

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

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

Цифровой логический уровень В самом низу иерархической схемы на рис. 1.2 находится цифровой логический уровень, или аппаратное обеспечение компьютера. В этой главе мы рассмотрим различные аспекты цифровой логики, что должно стать основой для изучения более высоких уровней в последующих главах. Предмет изучения находится на границе информатики и электротехники, но материал является самодостаточным, поэтому предварительного ознакомления с аппаратным обеспечением и электротехникой не требуется. Вентили Цифровая схема — это схема, в которой есть только два логических значения. Обычно сигнал от 0 до 1 В представляет одно значение (например, 0), а сигнал от 2 до 5 В — другое значение (например, 1). Хотя устройство вентилей относится к уровню физических устройств, мы все же упомянем основные линейки производственных технологий, так как они часто упоминаются в литературе. Две основные технологии — биполярная и МОП (металл, оксид, полупроводник)

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


Компьютерные шины для соединения высокоскоростных периферийных устройств