Это был пример информации, хранимой в «аналоговом» виде. Положение ручки регулятора соответствует уровню освещения. Если ручка повернута наполовину, можно предположить, что и лампа будет гореть вполнакала. Измеряя или описывая то, насколько повернута ручка, Вы на самом деле сохраняете информацию не об уровне освещения, а о его аналоге – положении ручки. Аналоговую информацию можно накапливать, хранить и воспроизводить, но она неточна и, что хуже, при каждой передаче становится все менее точной.
Теперь рассмотрим не аналоговый, а цифровой метод хранения и передачи информации. Любой вид информации можно преобразовать в числа, пользуясь только нулями и единицами. Такие числа (состоящие из нулей и единиц) называются двоичными. Каждый нуль или единица – это бит. Преобразованную таким образом информацию можно передать компьютерам и хранить в них как длинные строки бит. Эти-то числа и подразумеваются под «цифровой информацией».
Пусть вместо одной 250-ваттной лампы у Вас будет 8 ламп, каждая из которых в 2 раза мощнее предыдущей – от 1 до 128 ватт. Кроме того, каждая лампа соединена со своим выключателем, причем самая слабая расположена справа.
Включая и выключая эти выключатели, Вы регулируете уровень освещенности с шагом в 1 ватт от нуля (все выключатели выключены) до 255 ватт (все включены), что дает 256 возможных вариантов. Если Вам нужен 1 ватт, Вы включаете только самый правый выключатель, и загорается 1-ваттная лампа. Для 2 ватт Вы зажигаете 2-ваттную лампу. Если Вам нужно 3 ватта, Вы включаете 1– и 2-ваттную лампы, поскольку 1 плюс 2 дает желаемые 3 ватта. Хотите 4 ватта, включите 4-ваттную лампу, 5 ватт – 4– и 1-ваттную лампы, 250 ватт – все, кроме 4– и 1-ваттной ламп.
Если Вы считаете, что для ужина идеально подойдет освещение в 137 ватт, включите 128-, 8– и 1-ваттную лампы.
Такая система обеспечивает точную запись уровней освещенности для использования в будущем или передачи другим, у кого в комнате аналогичный порядок подключения ламп. Поскольку способ записи двоичной информации универсален (младшие разряды справа, старшие – слева, каждая последующая позиция удваивает значение разряда), нет нужды указывать мощность конкретных ламп. Вы просто определяете состояние выключателей: «вкл-выкл-выкл-выкл-вкл-выкл-выкл-вкл». Имея такую информацию, Ваш знакомый точно отрегулирует освещение в комнате на 137 ватт. В сущности, если каждый будет внимателен, это сообщение без искажений пройдет через миллионы рук и на конце цепочки кто-то получит первоначальный результат – 137 ватт.
Чтобы еще больше сократить обозначения, можно заменить «выкл» нулем (0), а «вкл» – единицей (1).
Тем самым вместо «вкл-выкл-выкл-выкл-вкл-выкл-выкл-вкл» (подразумевая, что надо включить первую, пятую и восьмую лампы, а остальные выключить), Вы запишете то же самое иначе: 1, 0, 0, 0, 1, 0, 0, 1 или двоичным числом 10001001. Оно равно десятичному 137. Теперь Вы скажете своему знакомому: «Я подобрал изумительное освещение! 10001001. Попробуй». И он точно воспроизведет Вашу настройку, зажигая и гася соответствующие лампы.
Может показаться, что этот способ чересчур сложен для описания яркости ламп, но он иллюстрирует теорию двоичного представления информации, лежащую в основе любого современного компьютера.
Двоичное представление чисел позволяет составление чисел позволяет создавать калькуляторы, пользуясь преимуществами электрических цепей. Именно так и поступила во время второй мировой войны группа математиков из Moore School of Electrical Engineering при Пенсильванском университете, возглавляемая Дж. Преспером Эккертом (J. Presper Eckert) и Джоном Моучли (John Mauchly), начав разработку электронно-вычислительной машины ENIAC (Electronic Numerical Integrator And Calculator – электронный числовой интегратор и калькулятор). Перед учеными поставили цель – ускорить расчеты таблиц для наведения артиллерии. ENIAC больше походил на электронный калькулятор, чем на компьютер, но двоичные числа представляли уже не примитивными колесиками, как в арифмометрах, а электронными лампами – «переключателями».
Солдаты, приписанные к этой огромной машине, постоянно носились вокруг нее, скрипя тележками, доверху набитыми электронными лампами. Стоило перегореть хотя бы одной лампе, как ENIAC тут же вставал и начиналась суматоха: все спешно искали сгоревшую лампу. Одной из причин – возможно, и не слишком достоверной – столь частой замены ламп считалась такая: их тепло и свечение привлекают мотыльков, которые залетают внутрь машины и вызывают короткое замыкание. Если это правда, то термин «жучки» (bugs), под которым имеются в виду ошибки в программных и аппаратных средствах компьютеров, приобретает новый смысл.
Когда все лампы работали, инженерный персонал мог настроить ENIAC на какую-нибудь задачу, вручную изменив подключения 6000 проводов. Все эти провода приходилось вновь переключать, когда вставала другая задача. В решении этой проблемы основную заслугу приписывают Джону фон Нейману, американцу венгерского происхождения, блестящему ученому, известному многими достижениями – от разработки теории игр до вклада в создание ядерного оружия. Он придумал схему, которой до сих пор следуют все цифровые компьютеры. «Архитектура фон Неймана», как ее теперь называют, базируется на принципах, сформулированных им в 1945 году. В их число входит и такой: в компьютере не придется изменять подключения проводов, если все инструкции будут храниться в его памяти. И как только эту идею воплотили на практике, родился современный компьютер.
Сегодня «мозги» большинства компьютеров – дальние потомки того микропроцессора, которым мы с Полом так восхищались в семидесятых, а «рейтинг» персональных компьютеров зачастую определяется тем, сколько бит информации (переключателей – в нашем примере со светом) способен единовременно обрабатывать их микропроцессор и сколько у них байт (групп из восьми бит) памяти и места на диске. ENIAC весил 30 тонн и занимал большое помещение. «Вычислительные» импульсы бегали в нем по 1500 электромеханическим реле и 17000 электронным лампам. Он потреблял 150000 ватт электроэнергии и при этом хранил объем информации, эквивалентный всего лишь 80 символам.
К началу шестидесятых годов транзисторы начали вытеснять электронные лампы из бытовой электроники. Это произошло через десятилетие после того, как в Bell Labs открыли, что крошечный кусочек кремния способен делать то же, что и электронная лампа. Транзисторы – подобно электронным лампам – действуют как электрические переключатели, потребляя при этом намного меньше электроэнергии, в результате выделяя гораздо меньше тепла и занимая меньше места. Несколько транзисторных схем можно объединить на одной плате, создав тем самым интегральную схему (чип). Чипы, используемые в современных компьютерах, представляют собой интегральные схемы, эквивалентные миллионам транзисторов, размещенных на кусочке кремния площадью менее пяти квадратных сантиметров.