В 1977 году Боб Нойс (Bob Noyce), один из основателей фирмы Intel, в журнале Scientific American сравнил трехсотдолларовый микропроцессор с ENIAC, кишащим насекомыми мастодонтом. Крошка-микропроцессор не только мощнее, но и, как заметил Нойс, «в 20 раз быстрее, обладает большей памятью, в 1000 раз надежнее, потребляет энергии столько же, сколько лампочка, а не локомотив, занимает 1/30000 объема и стоит в 10000 раз дешевле. Его можно заказать по почте или купить в местном магазине».
Конечно, микропроцессор 1977 года теперь кажется просто игрушкой. Ведь сегодня во многих недорогих игрушках «сидят» более мощные компьютерные чипы, чем микропроцессоры семидесятых, с которых начиналась микрокомпьютерная революция. Но все современные компьютеры, каков бы ни был их размер или мощность, оперируют с информацией в виде двоичных чисел.
Двоичные числа используются для хранения текста в персональных компьютерах, музыки на компакт-дисках и денег в сети банковских автоматов. Прежде чем отправить информацию в компьютер, ее надо преобразовать в двоичный вид. А машины, цифровые устройства, возвращают информации ее первоначальную форму. Каждое такое устройство можно представить как набор переключателей, управляющих потоком электронов. Эти переключатели, обычно изготавливаемые из кремния, крайне малы и срабатывают под действием электрических зарядов чрезвычайно быстро – тем самым воспроизводя текст на экране персонального компьютера, музыку на проигрывателе компакт-дисков и команды банковскому автомату, который выдает Вам наличность.
Пример с выключателями ламп продемонстрировал, что любое число можно представить в двоичном виде. А вот как то же самое сделать с текстом. По соглашению, число 65 кодирует заглавную латинскую букву A, 66 – B и т.д. В компьютере каждое из этих чисел выражается двоичным кодом, поэтому заглавная латинская буква A (десятичное число 65) превращается в 01000001, а буква B (66) – в 01000010. Пробел кодируется числом 32, или 00100000. Таким образом, выражение «Socrates is a man» («Сократ есть человек») становится 136-разрядной последовательностью единиц и нулей.
Здесь легко проследить, как строка текста превратилась в набор двоичных чисел. Чтобы понять, как преобразуют другие виды данных в двоичную форму, разберем еще один пример. Запись на виниловой пластинке – это аналоговое представление звуковых колебаний. Аудиоинформация хранится на ней в виде микроскопических бугорков, расположенных в длинных спиральных канавках. Если в каком-то месте музыка звучит громче, бугорки глубже врезаются в канавку, а при высокой ноте бугорки располагаются теснее. Эти бугорки являются аналогами исходных колебаний звуковых волн, улавливаемых микрофоном. Двигаясь по канавке, иголка проигрывателя попадает на бугорки и вибрирует. Ее вибрация – все то же аналоговое представление исходного звука – усиливается и звучит из динамиков как музыка.
Виниловой пластинке, подобно всякому аналоговому устройству хранения информации, свойствен ряд недостатков. Пыль, следы пальцев или царапины на поверхности пластинки могут приводить к неадекватным колебаниям иглы, вызывая в динамиках потрескивание и другие шумы. Если скорость вращения пластинки хотя бы немного отклоняется от заданной, высота звука сразу же меняется. При каждом проигрывании пластинки игла постепенно «снашивавает» бугорки в канавке, и качество звучания соответственно ухудшается. Если же какую-нибудь песню записать с виниловой пластинки на кассетный магнитофон, то все «шероховатости» переносятся на пленку, а со временем к ним добавятся новые, потому что обычные магнитофоны сами являются аналоговыми устройствами. Таким образом, при каждой перезаписи или передаче информация теряет в качестве.
На компакт-диске музыка хранится как последовательность двоичных чисел, каждый бит которых представлен микроскопической впадинкой на поверхности диска. На современных компакт-дисках таких впадинок более 5 миллиардов. Отраженный лазерный луч внутри проигрывателя компакт-дисков – цифрового устройства – проходит по каждой впадинке, а специальный датчик определяет ее состояние (0 или 1). Полученную информацию проигрыватель реконструирует в исходную музыку, генерируя определенные электрические сигналы, которые динамики преобразуют в звуковые волны. И сколько бы такой диск ни проигрывали, его звучание не меняется.
Было бы удобно преобразовать всю информацию в цифровую форму, но возникает проблема обработки ее больших объемов. Слишком большое число бит может переполнить память компьютера или потребовать много времени на передачу между компьютерами. Вот почему так важна (и становится все важнее) способность компьютера сжимать цифровые данные и хранить или передавать их в таком виде, а затем вновь разворачивать сжатые данные в исходную форму.
Рассмотрим вкратце, как компьютер справляется с этим. Для этого надо вернуться к Клоду Шеннону, математику, который в тридцатых годах осознал, как выражать информацию в двоичной форме. Во время второй мировой войны он начал разрабатывать математическое описание информации и основал новую область науки, впоследствии названную теорией информации. Шеннон трактовал информацию как уменьшение неопределенности. Например, Вы не получаете никакой информации, если кто-то сообщает Вам, что сегодня воскресенье, а Вы это знаете. С другой стороны, если Вы не уверены, какой сегодня день недели, и кто-то говорит Вам – воскресенье, Вы получаете информацию, так как неопределенность уменьшается.
Теория информации Шеннона привела в конечном счете к значительным прорывам в познании. Один из них – эффективное сжатие данных, принципиально важное как в вычислительной технике, так и в области связи. Сказанное Шенноном, на первый взгляд, кажется очевидным: элементы данных, не передающие уникальную информацию, избыточны и могут быть отброшены. Так поступают репортеры, исключая несущественные слова, или те, кто платит за каждое слово, отправляя телеграмму или давая рекламу. Шеннон привел пример: в английском языке буква U лишняя в тех местах, где она стоит после буквы Q. Поэтому, зная, что U следует за каждой Q, в сообщении ее можно опустить.
Принципы Шеннона применяли к сжатию и звуков, и фильмов. В тридцати кадрах, из которых состоит секунда видеозаписи, избыточной информации чрезвычайно много. Эту информацию при передаче можно сжать примерно с 27 миллионов бит до 1 миллиона, и она не потеряет ни смысла, ни красок.
Однако сжатие не безгранично, а объемы передаваемой информации все возрастают и возрастают. В скором будущем биты будут передаваться и по медным проводам, и в эфире, и по информационной магистрали, в основу которой лягут волоконно-оптические кабели. Волоконно-оптический кабель представляет собой пучок стеклянных или пластмассовых проводов настолько однородных и прозрачных, что на другом конце стокилометрового кабеля Вы сможете разглядеть горящую свечу. Двоичные сигналы в виде модулированных световых волн смогут без затухания распространяться по этим кабелям на очень длинные расстояния. Естественно, по волоконно-оптическим кабелям сигналы идут не быстрее, чем по медным проводам: скорость движения не может превысить скорость света. Колоссальное преимущество волоконно-оптического кабеля над медным проводом – в полосе пропускания. Полоса пропускания – это количество бит, передаваемых по одной линии в секунду. Такой кабель подобен широкой автомагистрали. Восьмирядная магистраль, проложенная между штатами, пропускает больше автомобилей, чем узкая грунтовая дорога. Чем шире полоса пропускания кабеля (чем больше рядов у дороги), тем больше бит (машин) могут пройти по нему в секунду. Кабели с ограниченной полосой пропускания, используемые для передачи текста или речи, называются узкополосными; с более широкими возможностями, несущие изображения и фрагменты с ограниченной анимацией, – среднеполосными. А кабели с высокой пропускной способностью, позволяющие передавать множество видео– и аудиосигналов, принято называть широкополосными.