ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6715
Скачиваний: 8
138 Глава 2. Организация компьютерных систем
в ASCII с проверкой на четность? Сколько компакт-дисков нужно для хра-
нения 10 000 книг по информатике? Сколько двухсторонних, двухслойных
DVD-дисков нужно для хранения такого же количества книг?
34. Декодируйте следующий двоичный текст ASCII: 1001001 0100000 1001100
1001111 1010110 1000101 0100000 1011001 1001Ш 1010101 0101110.
35. Напишите процедуру
hamming (ascii, encoded),
которая переделывает 7 по-
следовательных битов
ascii
в 11 -битное целое кодированное число
encoded.
36. Напишите функцию
distance (code, n, k),
которая на входе получает массив
code
из
п
символов по
k
битов каждый и возвращает дистанцию символа.
Глава 3
Цифровой логический
уровень
В самом низу иерархической схемы на рис. 1.2 находится цифровой логический
уровень, или аппаратное обеспечение компьютера. В этой главе мы рассмотрим
различные аспекты цифровой логики, что должно послужить основой для изуче-
ния более высоких уровней в последующих главах. Предмет изучения находится
на границе информатики и электротехники, но материал является самодостаточ-
ным, поэтому предварительного ознакомления с аппаратным обеспечением и элек-
тротехникой не потребуется.
Основные элементы, из которых конструируются цифровые компьютеры, чрез-
вычайно просты. Сначала мы рассмотрим эти основные элементы, а также специ-
альную двузначную алгебру (булеву алгебру), которая используется при констру-
ировании этих элементов. Затем мы рассмотрим основные схемы, которые можно
построить из вентилей в различных комбинациях, в том числе схемы для выпол-
нения арифметических действий. Следующая тема — как можно комбинировать
вентили для хранения информации, то есть как устроена память. После этого мы
перейдем к процессорам и к тому, как процессоры на одной микросхеме обменива-
ются информацией с памятью и периферическими устройствами. Затем мы рас-
смотрим различные примеры промышленного производства.
Вентили и булева алгебра
Цифровые схемы могут конструироваться из небольшого числа простых элементов
путем сочетания этих элементов в различных комбинациях. В следующих разделах
мы опишем эти основные элементы, покажем, как их можно сочетать, а также вве-
дем математический метод, который можно использовать при анализе их работы.
Вентили
Цифровая схема — это схема, в которой есть только два логических значения. Обыч-
но сигнал от 0 до 1 В представляет одно значение (например, 0), а сигнал от 2 до
5 В — другое значение (например, 1). Напряжение за пределами указанных вели-
чин недопустимо. Крошечные электронные устройства, которые называются вен-
1 4 0
Глава 3. Цифровой логический уровень
тилями,
могут вычислять различные функции от этих двузначных сигналов. Эти
вентили формируют основу аппаратного обеспечения, на которой строятся все
цифровые компьютеры.
Описание принципов работы вентилей не входит в задачи этой книги, посколь-
ку это относится к
уровню физических устройств,
который находится ниже уров-
ня 0. Тем не менее мы очень кратко рассмотрим основной принцип, который не так
уж и сложен. Вся современная цифровая логика основывается на том, что транзис-
тор может работать как очень быстрый бинарный переключатель. На рис. 3.1, а
изображен биполярный транзистор, встроенный в простую схему. Транзистор имеет
три соединения с внешним миром;
коллектор, базу
и
эмиттер.
Если входное напря-
жение У,„ниже определенного критического значения, транзистор выключается
и действует как очень большое сопротивление. Это приводит к выходному сигналу
Vo
U
t, близкому к V
cc
(напряжению, подаваемому извне), обычно +5 В для данного
типа транзистора. Если V,
n
превышает критическое значение, транзистор включа-
ется и действует как провод, вызывая заземление сигнала V
out
(по соглашению О В).
Коллекто
Рис. 3 . 1 . Транзисторный инвертор (а); вентиль НЕ-И (б); вентиль НЕ-ИЛИ (в)
Важно отметить, что если напряжение V
in
низкое, то V
out
высокое, и наоборот.
Эта схема, таким образом, является инвертором, превращающим логический 0 в ло-
гическую 1 и логическую 1 в логический 0. Резистор (ломаная линия) нужен для
ограничения количество тока, проходящего через транзистор, чтобы транзистор
не сгорел. На переключение с одного состояния на другое обычно требуется не-
сколько наносекунд.
На рис. 3.1,
6
два транзистора соединены последовательно. Если и напряже-
ние V,, и напряжение V
2
высокое, то оба транзистора будут служить проводника-
ми и снижать V
out
. Если одно из входных напряжений низкое, то соответствующий
транзистор будет выключаться и напряжение на выходе будет высоким. Другими
словами, V
out
будет низким тогда и только тогда, когда и напряжение V], и напря-
жение У
г
высокое.
Вентили и булева алгебра
1 4 1
На рис. 3.1,
в
два транзистора соединены параллельно. Если один из входных
сигналов высокий, будет включаться соответствующий транзистор и снижать
выходной сигнал Если оба напряжения на входе низкие, то выходное напряжение
будет высоким
Эти три схемы образуют три простейших вентиля Они называются вентилями
НЕ, НЕ-И и НЕ-ИЛИ. Вентили НЕ часто называют
инверторами.
Мы будем ис-
пользовать оба термина. Если мы примем соглашение, что высокое напряжение
(Vcc) — это логическая 1, а низкое напряжение («земля») — логический 0, то мы
сможем выражать значение на выходе как функцию от входных значений. Знач-
ки, которые используются для изображения этих трех типов вентилей, показаны
на рис. 3.2,
а
—
в.
Там же приводится поведение функции для каждой схемы.
На этих рисунках А и В — это входные сигналы, а X — выходной сигнал. Каждая
строка таблицы определяет выходной сигнал для различных комбинаций вход-
ных сигналов.
НЕ
НЕ-И
НЕ-ИЛИ
ИЛИ
А
0
1
X
1
0
А
0
0
1
1
в
0
1
0
1
X
1
1
1
0
А
0
0
1
1
в
0
1
0
1
X
1
0
0
0
А
0
0
1
1
в
0
1
0
1
X
0
0
0
1
А
0
0
1
1
в
0
1
0
1
X
0
1
1
1
Рис. 3.2. Значки для изображения 5 основных вентилей.
Поведение функции для каждого вентиля
Если выходной сигнал (см. рис. 3.1,
б)
подать в инвертор, мы получим другую
схему, противоположную вентилю НЕ-И, то есть такую схему, у которой выход-
ной сигнал равен 1 тогда и только тогда, когда оба входных сигнала равны 1. Такая
схема называется вентилем И; ее схематическое изображение и описание соответ-
ствующей функции даны на рис. 3.2,
г.
Точно так же вентиль НЕ-ИЛИ может быть
связан с инвертором. Тогда получится схема,
у
которой выходной сигнал равен 1
в том случае, если хотя бы один из входных сигналов — 1, и равен 0, если оба вход-
ных сигнала равны 0. Изображение этой схемы, ко горая называется вентилем ИЛИ,
а также описание соответствующей функции даны на рис. 3.2,
д.
Маленькие кру-
жочки в схемах инвертора, вентиля НЕ-И и вентиля НЕ-ИЛИ называются
инвер-
тирующими выходами
Они также могут использоваться в другом контексте для
указания на инвертированный сигнал.
Пять вентилей, изображенных на рис. 3.2, составляют основу цифрового логи-
ческого уровня. Из предшествующего обсуждения должно быть ясно, что вентили
НЕ-И и НЕ-ИЛИ требуют два транзистора каждый, а вентили И и ИЛИ — три
транзистора каждый. По этой причине во многих компьютерах используются вен-
1 4 2 Глава 3. Цифровой логический уровень
тили НЕ-И и НЕ-ИЛИ, а не И и ИЛИ. (На практике все вентили выполняются
несколько по-другому, но НЕ-И и НЕ-ИЛИ все равно проще, чем И и ИЛИ.) Сле-
дует упомянуть, что вентили могут иметь более двух входов. В принципе вентиль
НЕ-И, например, может иметь произвольное количество входов, но на практике
больше восьми обычно не бывает.
Хотя устройство вентилей относится к уровню физических устройств, мы все
же упомянем основные серии производственных технологий, так как они часто
упоминаются в литературе. Две основные технологии —
биполярная
и
МОП
(ме-
талл-оксид-полупроводник). Среди биполярных технологий можно назвать
ТТЛ
(транзисторно-транзисторную логику), которая служила основой цифровой элек-
троники на протяжении многих лет, и
ЭСЛ
(эмиттерно-связанную логику), кото-
рая используется в тех случаях, когда требуется высокая скорость выполнения
операций.
Вентили МОП работают медленнее, чем ТТЛ и ЭСЛ, но потребляют гораздо
меньше энергии и занимают гораздо меньше места, поэтому можно компактно рас-
положить большое количество таких вентилей. Вентили МОП имеют несколько
разновидностей: р-канальный МОП-прибор, n-канальный МОП-прибор и комп-
лиментарный МОП. Хотя МОП-транзисторы конструируются не так, как бипо-
лярные транзисторы, они обладают такой же способностью функционировать, как
электронные переключатели. Современные процессоры и память чаще всего про-
изводятся с использованием технологии комплиментарных МОП, которая рабо-
тает при напряжении +3,3 В. Это все, что мы можем сказать об уровне физических
устройств. Читатели, желающие узнать больше об этом уровне, могут обратиться
к литературе, приведенной в главе 9.
Булева алгебра
Чтобы описать схемы, которые строятся путем сочетания различных вентилей,
нужен особый тип алгебры, в которой все переменные и функции могут прини-
мать только два значения: 0 и 1. Такая алгебра называется
булевой алгеброй.
Она
названа в честь английского математика Джорджа Буля (1815-1864). На самом деле
в данном случае мы говорим об особом типе булевой алгебры, а именно об
алгебре
релейных схем,
но термин «булева алгебра» очень часто используется в значении
«алгебра релейных схем», поэтому мы не будем их различать.
Как и в обычной алгебре (то есть в той, которую изучают в школе), в булевой
алгебре есть свои функции. Булева функция имеет одну или несколько перемен-
ных и выдает результат, который зависит только от значений этих переменных.
Можно определить простую функцию f, сказав, что f(A)=l, если А=0, и f(A)=-O,
если А=1. Такая функция будет функцией НЕ (см. рис. 3.2,
а).
Так как булева функция от п переменных имеет только 2" возможных комбина-
ций значений переменных, то такую функцию можно полностью описать в табли-
це с 2" строками. В каждой строке будет даваться значение функции для разных
комбинаций значений переменных. Такая таблица называется
таблицей истинно-
сти.
Все таблицы на рис. 3.2 представляют собой таблицы истинности. Если мы