Борис Семенов - Путеводитель в мир электроники. Книга 2
Компьютер, созданный на основе этого процессора, способен хранить количество информации, по объемам сравнимой с одной из величайших библиотек мира — Библиотекой конгресса США. Этот процессор может пропустить через себя за минуту объем информации, равный одному этажу этой библиотеки…
Доход фирмы Intel ежегодно составляет 12,1 млрд долларов! Компьютерная техника преподнесет нам еще немало сюрпризов — приятных и не очень. Ее история только начинается. Ну а мы познакомимся с ее основами.
Логические уровни, или Как можно передать информацию
Первый курс. Вопрос на экзамене:
— Сколько байт в килобайте?
— Тысяча!!!
Пятый курс:
— Сколько метров в километре?
— 1024!!!
Студенческий анекдот
Любое событие в окружающем нас мире содержит информацию. Электрические сигналы — это один из самых удобных способов ее представления и передачи.
В предыдущей главе мы имели дело с аналоговыми сигналами и совершенно четко представляем себе, что это такое, как их получить, как усилить и для чего использовать. Цифровой сигнал — особый вид электрического сигнала, который нет необходимости характеризовать конкретным значением напряжения или тока… Важен только сам факт наличия или отсутствия его, причем заранее договоримся, что присутствие сигнала будет соответствовать цифре логической 1, а его отсутствие — логический 0. Но давайте не будем забегать вперед, а научимся получать цифровые сигналы.
Обратим внимание на рис. 14.2.
Рис. 14.2. Простейший способ получения цифрового сигнала
Нам понадобится источник питания G с напряжением UG, переключатель SA1 и вольтметр PV1, с помощью которого мы будем регистрировать наличие сигнала. Величина напряжения, создаваемого источником G, в данном случае совершенно не важна. Собрав простейшую схему, установим вначале переключатель SA1 в положение «1». Очевидно, что вольтметр PV1 покажет напряжение UG. Назовем это состояние высоким уровнем цифрового сигнала. Теперь, в момент времени t1, переведем переключатель в положение «2». Прибор покажет перепад напряжения к нулю и затем нулевое напряжение. Это состояние назовем низким уровнем цифрового сигнала. Вновь, в момент времени t2, переведем ключ в положение «1». Прибор покажет перепад напряжения к высокому уровню и затем — напряжение высокого уровня. Дальше, коммутируя переключатель SA1 из одного положения в другое, получим серию прямоугольных импульсов. Вот, пожалуй, и все компоненты цифрового сигнала. Назовем их еще раз:
• высокий-уровень сигнала (лог. 1, или иногда обозначают латинской буквой Н — high);
• низкий уровень сигнала (лог. 0, или L — low);
• перепад из высокого уровня сигнала в низкий;
• перепад из низкого уровня сигнала в высокий;
• прямоугольный импульс сигнала.
Не правда ли, набор более чем скудный. Но даже такие сложнейшие цифровые устройства, как персональные компьютеры, как-то умудряются обходиться такими скромными средствами и при этом выполнять сложнейшие математические расчеты. Как работать с этими нехитрыми «инструментами»? Пора договориться о некоторых правилах и в дальнейшем придерживаться их неукоснительно. Вначале разберемся с высоким и низким уровнями сигнала, называемыми статическими состояниями цифрового сигнала.
Еще в первом классе школы, а может и раньше, вы научились складывать, вычитать, делить, умножать числа, представленные в десятичной системе счисления, в которой возможно пользоваться числами от 0 до 10. Естественно, с тех пор вы не представляете иной возможности для математических расчетов. Но, оказывается, существуют и другие системы счисления. Цифровая техника обходится двоичной системой, в которой нет иных знаков, кроме 0 и 1. «Нолик» представляется низким уровнем сигнала, а «единичка» — высоким. Числа, представленные в двоичной системе, то есть набором нулей и единиц, тоже можно по определенным правилам складывать, вычитать, делить, умножать, извлекать из них корни, менять знак и использовать многое другое из арсенала математики. В обыденной жизни мы привыкли к десятичным числам, но цифровая техника ими пользоваться не может, поэтому необходимо вначале перевести число из десятичной системы в двоичную, потом цифровой прибор автоматически совершит необходимые операции и затем выполнит обратное преобразование результата — из двоичной формы в десятичную, удобную для восприятия человеком.
Чтобы понять принцип работы цифровых устройств, вначале нужно научиться переводить числа из одной системы счисления в другую. Чем мы сейчас и займемся.
Помните, как устроено любое десятичное число? К примеру, 10248? Вот так:
10248 = 1·10000 + 0·1000 + 2·100 + 4·10 + 8·1.
Это число имеет пять разрядов, значение каждого из которых умножается на вес разряда, а в сумме число имеет знакомую всем форму. Вес разряда — это числа 10000, 1000, 100 и так далее. «Вес» характеризует вклад того или иного разряда числа в его суммарное значение.
Существует строгая математическая формула, которая переводит число из любой системы счисления в десятичную:
Z = Ai-1·Ni-1 + Ai-2·Ni-2 + ... + A1·N1 + A0·N0,
где Z — число, представленное в десятичной системе счисления;
i — число разрядов числа, представленного в любой системе счисления;
А — коэффициент при весе разряда;
N — основание системы счисления.
Основание системы счисления, возводимое в степень согласно приведенной формуле, и дает вес разряда. Что такое основание системы счисления? Для десятичной системы N = 10, для двоичной N = 2.
Представим число 10248 в двоичной системе. Мы получим следующую запись:
1024810 =101000000010002.
Нижний индекс — «10» и «2», как вы уже наверняка догадались, обозначает основание системы счисления. Проверим, что мы не ошиблись:
10248 = 1·8192 + 0·4096 + 1·2048 + 0·1024 + 0·512 + 0·256 + 0·128 + 0·64 + 0·32 + 0·16 + 1·8 + 0·4 + 0·2 + 0·1.
Убедились? Сделаем очень важный для нас вывод: представленное число в десятичной системе записывается с помощью пяти разрядов, а в двоичной системе оно имеет уже 14 разрядов. Увеличение разрядности, или, как говорят специалисты, разрядной сетки, является платой за уменьшение основания системы счисления. Поэтому запомните: разрядная сетка определяет возможности тех или иных цифровых приборов в части оперирования числами. Максимальное число, которое можно представить в жестко заданной разрядной сетке, определяется так:
Zmax = Ni - 1
Например, максимальное число (Zmax) в десятичной системе счисления с четырехразрядной сеткой (i = 4) — это 9999, а в двоичной системе с той же сеткой — только 15.
Преобразовав десятичное число в набор нулей и единиц, его можно передать по линии связи, сохранить, подвергнуть математическим операциям. Все это проделает электронная схема, построенная по определенным правилам, о которых мы поговорим позже.
Теперь вы знаете, как преобразовать двоичные числа в десятичные, но мы должны овладеть и обратной процедурой — превращением десятичного числа в двоичное. Если в описанной выше процедуре используются операции умножения и последующего сложения, то здесь все построено на делении и последующем вычитании.
Рассмотрим преобразование нашего числа 10248 в двоичное. Схема, отражающая эту процедуру, показана на рис. 14.3.
Рис. 14.3. Пояснение процесса преобразования десятичного числа в двоичное
Вначале число делим на 2, получая частное 5124 и остаток от деления 0, который становится значением разряда с весом 1. Последовательно совершая операции деления, записываем остатки во все разряды.
Разрядная сетка с определенными количествами разрядов в двоичной системе счисления имеет свои названия, которые необходимо запомнить. Одиночная разрядная сетка (один разряд — самая малая единица измерения информации) имеет название — бит. Бит (bit) — происходит от сокращения английского названия binary digit (двоичная цифра). Четыре бита составляют тетраду. Две тетрады — байт, два байта — слово, два слова — двойное слово. Наиболее часто в цифровой технике встречаются байты (8 бит) и слова (16 бит). Еще в цифровой технике вы встретитесь с такими устоявшимися понятиями, как килобит, килобайт, мегабайт. Читатель вполне резонно может предположить, что килобайт — это тысяча байт, а мегабайт — тысяча килобайт. И будет совершенно прав! Но есть также и Кбайт — это 210 байт, то есть 1024 байта. Соответственно Мбайт — 1024 Кбайт, или 1048576 байт. Путаница, однако…