Страница:
Представляю, какие абсурдные разговоры могли бы вестись в деловом мире: «Сколько у Вас информации?», «Швейцария – великая страна, у них столько информации!», «Я слышал, индекс стоимости информации пошел вверх!» Абсурдны они потому, что информация, хотя и играет все более значимую роль в нашей жизни, не является чем-то осязаемым и не поддается точному измерению, как материалы – «лица» прежних эпох.
Информационная революция только начинается. Средства связи неизбежно подешевеют – так же резко, как в свое время вычислительная техника. Когда их стоимость достаточно снизится и «срезонирует» с другими достижениями технологии, ретивые администраторы и нервные политики перестанут упоминать выражение «информационная магистраль» просто потому, что оно модно и престижно. Магистраль станет реальностью и, как электричество, вызовет далеко идущие последствия. Чтобы понять, почему информация становится и центр всего и вся, важно понять, как технология изменяет способы ее обработки.
Об этом главным образом и пойдет речь в данной главе. Слабо подготовленные читатели, не знающие принципов работы вычислительной техники и истории ее развития, получат необходимый минимум сведений, чтобы продолжить чтение книги. А если Вы знаете, как работают цифровые компьютеры, можете спокойно пролистать несколько страниц и перейти сразу к третьей главе.
Самая фундаментальная отличительная черта информации в будущем – почти вся она станет цифровой. Уже сейчас во многих библиотеках печатные материалы сканируют и хранят как электронные данные на обычных или на компакт-дисках. Газеты и журналы теперь зачастую готовят в электронной форме, а печатают на бумаге только для распространения. Электронную информацию можно хранить вечно – или столько, сколько нужно – в компьютерных базах данных. Гигантские объемы репортерской информации легко доступны через оперативные службы. Фотографии, фильмы и видеозаписи тожепреобразуются в цифровую информацию. С каждым годом совершенствуются методы сбора информации и превращения ее в квадрильоны крошечных пакетовданных. Как только цифровая информация помещается в то или иное «хранилище», любой, у кого есть персональный компьютер и средства доступа к базам данных, может мгновенно обратиться к ней и использовать ее по своему усмотрению. Характерная особенность нашего периода истории как раз в том и заключается, что информацию мы изменяем и обрабатываем совершенно новыми способами и гораздо быстрее. Появление компьютеров, «быстро и дешево» обрабатывающих и передающих цифровые данные, обязательно приведет к трансформации обычных средств связи в домах и офисах.
Идея применять для манипуляций с числами какой-нибудь инструмент не нова. До 1642 года, когда девятнадцатилетний французский ученый Блез Паскаль изобрел механическое счетное устройство – суммирующую машину, в Азии уже почти 5000 лет пользовались счетами. Три десятилетия спустя немецкий математик Готфрид Лейбниц усовершенствовал конструкцию машины Паскаля. Его «шаговый вычислитель» позволял умножать, делить и вычислять квадратные корни. Весьма надежные механические арифмометры, напичканные шестеренками и наборными счетчиками, наследники шагового вычислителя, служили главной опорой бизнесу вплоть до их замены электронными аналогами. Например, кассовые аппараты в годы моего детства, по сути, были арифмометрами с отделениями для наличности.
Более полутора столетий назад видного британского математика озарила гениальная идея, которая прославила его имя уже при жизни. Чарлз Беббидж (Charles Babbage), профессор математики Кембриджского университета, понял, что можно построить механическое устройство, способное выполнять последовательность взаимосвязанных вычислений, – своего рода компьютер!
Где-то в начале тридцатых годов прошлого столетия он пришел к выводу, что машина сможет манипулировать информацией, если только ту удастся преобразовать в числа. Беббидж видел машину, приводимую в действие паром, состоящую из штифтов, зубчатых колес, цилиндров и других механических частей – в общем, настоящее детище начинавшегося тогда индустриального века. По мысли Беббиджа, «аналитическая машина» должна была избавить человечество от монотонных вычислений и ошибок, с ними связанных.
Для описания устройства машины ему, конечно, не хватало терминов тех, которыми мы пользуемся сегодня. Центральный процессор, или «рабочие внутренности» этой машины, он называл «мельницей», а память – «хранилищем». Беббиджу казалось, что информацию будут обрабатывать так же, как хлопок: подавать со склада (хранилища) и превращать во что-то новое.
Аналитическая машина задумывалась как механическая, но ученый предвидел, что она сможет следовать варьируемым наборам инструкций и тем самым служить разным целям. В том же и смысл программного обеспечения. Современная программа – это внушительный набор правил, посредством которых машину «инструктируют», как решать ту или иную задачу. Беббидж понимал, что для ввода таких инструкций нужен совершенно новый тип языка, и он изобрел его, использовав цифры, буквы, стрелки и другие символы. Этот язык позволил бы «программировать» аналитическую машину длинными сериями условных инструкций, что, в свою очередь, позволило бы машине реагировать на изменение ситуации. Он – первый, кто увидел, что одна машина способна выполнять разные функции.
Следующее столетие ученые математики работали над идеями, высказанными Беббиджем, и к середине сороковых годов нашего века электронный компьютер наконец был построен – на основе принципов аналитической машины. Создателей современного компьютера выделить трудно, поскольку все исследования проводились во время второй мировой войны под покровом полной секретности, главным образом – в Соединенных Штатах и Великобритании. Основной вклад внесли три человека: Алан Тьюринг (Alan Turing), Клод Шеннон (Claude Shannon) и Джон фон Нейман (John von Neumann).
В середине тридцатых годов Алан Тьюринг – блестящий британский математик, как и Беббидж, получивший образование в Кембридже, предложил свой вариант универсальной вычислительной машины, которая могла бы в зависимости от конкретных инструкций работать практически с любым видом информации. Сегодня она известна как машина Тьюринга.
А в конце тридцатых Клод Шеннон, тогда еще студент, доказал, что машина, исполняющая логические инструкции, может манипулировать информацией. В своей магистерской диссертации он рассмотрел, как с помощью электрических цепей компьютера выполнять логические операции, где единица – «истина» (цепь замкнута), а нуль – «ложь» (цепь разомкнута).
Здесь речь идет о двоичной системе счисления, иначе говоря, о коде. Двоичная система – это азбука электронных компьютеров, основа языка, на который переводится и с помощью которого хранится и используется вся информация в компьютере. Эта система очень проста и в то же время настолько важна для понимания того, как работают компьютеры, что, пожалуй, стоит на этом задержаться.
Представьте, что в Вашей комнате должна гореть лампа мощностью в 250 ватт. Однако Вы хотите регулировать освещение от 0 ватт (полная темнота) до максимума. Один из способов добиться этого – воспользоваться выключателем с регулятором. Чтобы погасить лампу, Вы поворачиваете ручку против часовой стрелки в положение «выкл» (0 ватт), а чтобы включить ее «на всю катушку», – по часовой стрелке до упора (250 ватт). Ну а чтобы добиться полумрака или просто уменьшить яркость, Вы устанавливаете регулятор в какое-то промежуточное положение.
Такая система проста, но имеет свои ограничения. Если регулятор находится в промежуточном положении – скажем, Вы приглушили свет для ужина в интимной обстановке, – останется лишь гадать, каков сейчас уровень освещения. Вам не известно ни то, какую мощность «берет» лампа в данный момент, ни то, как точно описать настройку регулятора. Ваша информация приблизительна, что затрудняет ее сохранение и воспроизведение.
Вдруг на следующей неделе Вам захочется создать то же освещение? Конечно, можно поставить отметку на шкале регулятора, но навряд ли это получится точно. А что делать, если понадобится воспроизвести другую настройку? Или кто-то придет к Вам в гости и захочет отрегулировать свет? Допустим, Вы скажете: «Поверни ручку примерно на пятую часть по часовой стрелке» или «Поверни ручку, пока стрелка не окажется примерно на двух часах». Однако то, что сделает Ваш гость, будет лишь приблизительно соответствовать Вашей настройке. А может случиться и так, что Ваш друг передаст эту информацию своему знакомому, а тот – еще кому-нибудь. При каждой передаче информации шансы на то, что она останется точной, убывают.
Это был пример информации, хранимой в «аналоговом» виде. Положение ручки регулятора соответствует уровню освещения. Если ручка повернута наполовину, можно предположить, что и лампа будет гореть вполнакала. Измеряя или описывая то, насколько повернута ручка, Вы на самом деле сохраняете информацию не об уровне освещения, а о его аналоге – положении ручки. Аналоговую информацию можно накапливать, хранить и воспроизводить, но она неточна и, что хуже, при каждой передаче становится все менее точной.
Теперь рассмотрим не аналоговый, а цифровой метод хранения и передачи информации. Любой вид информации можно преобразовать в числа, пользуясь только нулями и единицами. Такие числа (состоящие из нулей и единиц) называются двоичными. Каждый нуль или единица – это бит. Преобразованную таким образом информацию можно передать компьютерам и хранить в них как длинные строки бит. Эти-то числа и подразумеваются под «цифровой информацией».
Пусть вместо одной 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 открыли, что крошечный кусочек кремния способен делать то же, что и электронная лампа. Транзисторы – подобно электронным лампам – действуют как электрические переключатели, потребляя при этом намного меньше электроэнергии, в результате выделяя гораздо меньше тепла и занимая меньше места. Несколько транзисторных схем можно объединить на одной плате, создав тем самым интегральную схему (чип). Чипы, используемые в современных компьютерах, представляют собой интегральные схемы, эквивалентные миллионам транзисторов, размещенных на кусочке кремния площадью менее пяти квадратных сантиметров.
В 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 миллиона, и она не потеряет ни смысла, ни красок.
Однако сжатие не безгранично, а объемы передаваемой информации все возрастают и возрастают. В скором будущем биты будут передаваться и по медным проводам, и в эфире, и по информационной магистрали, в основу которой лягут волоконно-оптические кабели. Волоконно-оптический кабель представляет собой пучок стеклянных или пластмассовых проводов настолько однородных и прозрачных, что на другом конце стокилометрового кабеля Вы сможете разглядеть горящую свечу. Двоичные сигналы в виде модулированных световых волн смогут без затухания распространяться по этим кабелям на очень длинные расстояния. Естественно, по волоконно-оптическим кабелям сигналы идут не быстрее, чем по медным проводам: скорость движения не может превысить скорость света. Колоссальное преимущество волоконно-оптического кабеля над медным проводом – в полосе пропускания. Полоса пропускания – это количество бит, передаваемых по одной линии в секунду. Такой кабель подобен широкой автомагистрали. Восьмирядная магистраль, проложенная между штатами, пропускает больше автомобилей, чем узкая грунтовая дорога. Чем шире полоса пропускания кабеля (чем больше рядов у дороги), тем больше бит (машин) могут пройти по нему в секунду. Кабели с ограниченной полосой пропускания, используемые для передачи текста или речи, называются узкополосными; с более широкими возможностями, несущие изображения и фрагменты с ограниченной анимацией, – среднеполосными. А кабели с высокой пропускной способностью, позволяющие передавать множество видео– и аудиосигналов, принято называть широкополосными.
Информационная магистраль, немыслимая без сжатия данных, потребует применения кабелей с очень высокой пропускной способностью. Тут-то и кроется одна из главных причин, почему информационная магистраль до сих пор не построена: современные коммуникационные сети не могут обеспечить нужной полосы пропускания. И не обеспечат, пока их не заменят волоконно-оптические линии. Волоконная оптика – пример технологии, выходящей далеко за рамки того, что могли предвидеть Беббидж или даже Эккерт и Моучли. То же относится и к темпам, с которыми улучшается быстродействие и емкость микросхем.
В 1965 году Гордон Мур (Gordon Moore), впоследствии вместе с Бобом Нойсом основавший фирму Intel, предсказал, что число транзисторов в компьютерных чипах ежегодно будет удваиваться. Его предсказание базировалось на соотношении «цена/качество» компьютерных чипов за предыдущие 3 года и предположении, что в ближайшее время эта тенденция сохранится. Правда, Мур не очень-то верил, что такая скорость эволюции чипов продлится долго. Но прошло 10 лет, предсказание сбылось, и тогда он заявил, что теперь емкость будет удваиваться каждые 2 года. Его слова оправдываются и по сей день: число транзисторов в микропроцессорах удваивается в среднем каждые 18 месяцев. Среди инженеров эту зависимость принято называть законом Мура.
Опыт повседневной жизни бессилен перед скрытым смыслом периодически удваивающихся чисел – экспоненциальной прогрессией. Мы попытаемся вникнуть в этот смысл, вспомнив древнюю легенду.
Правитель Индии Ширхам (Shirham) так обрадовался, когда один из его министров изобрел шахматы, что разрешил ему выбрать любую награду.
Информационная революция только начинается. Средства связи неизбежно подешевеют – так же резко, как в свое время вычислительная техника. Когда их стоимость достаточно снизится и «срезонирует» с другими достижениями технологии, ретивые администраторы и нервные политики перестанут упоминать выражение «информационная магистраль» просто потому, что оно модно и престижно. Магистраль станет реальностью и, как электричество, вызовет далеко идущие последствия. Чтобы понять, почему информация становится и центр всего и вся, важно понять, как технология изменяет способы ее обработки.
Об этом главным образом и пойдет речь в данной главе. Слабо подготовленные читатели, не знающие принципов работы вычислительной техники и истории ее развития, получат необходимый минимум сведений, чтобы продолжить чтение книги. А если Вы знаете, как работают цифровые компьютеры, можете спокойно пролистать несколько страниц и перейти сразу к третьей главе.
Самая фундаментальная отличительная черта информации в будущем – почти вся она станет цифровой. Уже сейчас во многих библиотеках печатные материалы сканируют и хранят как электронные данные на обычных или на компакт-дисках. Газеты и журналы теперь зачастую готовят в электронной форме, а печатают на бумаге только для распространения. Электронную информацию можно хранить вечно – или столько, сколько нужно – в компьютерных базах данных. Гигантские объемы репортерской информации легко доступны через оперативные службы. Фотографии, фильмы и видеозаписи тожепреобразуются в цифровую информацию. С каждым годом совершенствуются методы сбора информации и превращения ее в квадрильоны крошечных пакетовданных. Как только цифровая информация помещается в то или иное «хранилище», любой, у кого есть персональный компьютер и средства доступа к базам данных, может мгновенно обратиться к ней и использовать ее по своему усмотрению. Характерная особенность нашего периода истории как раз в том и заключается, что информацию мы изменяем и обрабатываем совершенно новыми способами и гораздо быстрее. Появление компьютеров, «быстро и дешево» обрабатывающих и передающих цифровые данные, обязательно приведет к трансформации обычных средств связи в домах и офисах.
Идея применять для манипуляций с числами какой-нибудь инструмент не нова. До 1642 года, когда девятнадцатилетний французский ученый Блез Паскаль изобрел механическое счетное устройство – суммирующую машину, в Азии уже почти 5000 лет пользовались счетами. Три десятилетия спустя немецкий математик Готфрид Лейбниц усовершенствовал конструкцию машины Паскаля. Его «шаговый вычислитель» позволял умножать, делить и вычислять квадратные корни. Весьма надежные механические арифмометры, напичканные шестеренками и наборными счетчиками, наследники шагового вычислителя, служили главной опорой бизнесу вплоть до их замены электронными аналогами. Например, кассовые аппараты в годы моего детства, по сути, были арифмометрами с отделениями для наличности.
Более полутора столетий назад видного британского математика озарила гениальная идея, которая прославила его имя уже при жизни. Чарлз Беббидж (Charles Babbage), профессор математики Кембриджского университета, понял, что можно построить механическое устройство, способное выполнять последовательность взаимосвязанных вычислений, – своего рода компьютер!
Где-то в начале тридцатых годов прошлого столетия он пришел к выводу, что машина сможет манипулировать информацией, если только ту удастся преобразовать в числа. Беббидж видел машину, приводимую в действие паром, состоящую из штифтов, зубчатых колес, цилиндров и других механических частей – в общем, настоящее детище начинавшегося тогда индустриального века. По мысли Беббиджа, «аналитическая машина» должна была избавить человечество от монотонных вычислений и ошибок, с ними связанных.
Для описания устройства машины ему, конечно, не хватало терминов тех, которыми мы пользуемся сегодня. Центральный процессор, или «рабочие внутренности» этой машины, он называл «мельницей», а память – «хранилищем». Беббиджу казалось, что информацию будут обрабатывать так же, как хлопок: подавать со склада (хранилища) и превращать во что-то новое.
Аналитическая машина задумывалась как механическая, но ученый предвидел, что она сможет следовать варьируемым наборам инструкций и тем самым служить разным целям. В том же и смысл программного обеспечения. Современная программа – это внушительный набор правил, посредством которых машину «инструктируют», как решать ту или иную задачу. Беббидж понимал, что для ввода таких инструкций нужен совершенно новый тип языка, и он изобрел его, использовав цифры, буквы, стрелки и другие символы. Этот язык позволил бы «программировать» аналитическую машину длинными сериями условных инструкций, что, в свою очередь, позволило бы машине реагировать на изменение ситуации. Он – первый, кто увидел, что одна машина способна выполнять разные функции.
Следующее столетие ученые математики работали над идеями, высказанными Беббиджем, и к середине сороковых годов нашего века электронный компьютер наконец был построен – на основе принципов аналитической машины. Создателей современного компьютера выделить трудно, поскольку все исследования проводились во время второй мировой войны под покровом полной секретности, главным образом – в Соединенных Штатах и Великобритании. Основной вклад внесли три человека: Алан Тьюринг (Alan Turing), Клод Шеннон (Claude Shannon) и Джон фон Нейман (John von Neumann).
В середине тридцатых годов Алан Тьюринг – блестящий британский математик, как и Беббидж, получивший образование в Кембридже, предложил свой вариант универсальной вычислительной машины, которая могла бы в зависимости от конкретных инструкций работать практически с любым видом информации. Сегодня она известна как машина Тьюринга.
А в конце тридцатых Клод Шеннон, тогда еще студент, доказал, что машина, исполняющая логические инструкции, может манипулировать информацией. В своей магистерской диссертации он рассмотрел, как с помощью электрических цепей компьютера выполнять логические операции, где единица – «истина» (цепь замкнута), а нуль – «ложь» (цепь разомкнута).
Здесь речь идет о двоичной системе счисления, иначе говоря, о коде. Двоичная система – это азбука электронных компьютеров, основа языка, на который переводится и с помощью которого хранится и используется вся информация в компьютере. Эта система очень проста и в то же время настолько важна для понимания того, как работают компьютеры, что, пожалуй, стоит на этом задержаться.
Представьте, что в Вашей комнате должна гореть лампа мощностью в 250 ватт. Однако Вы хотите регулировать освещение от 0 ватт (полная темнота) до максимума. Один из способов добиться этого – воспользоваться выключателем с регулятором. Чтобы погасить лампу, Вы поворачиваете ручку против часовой стрелки в положение «выкл» (0 ватт), а чтобы включить ее «на всю катушку», – по часовой стрелке до упора (250 ватт). Ну а чтобы добиться полумрака или просто уменьшить яркость, Вы устанавливаете регулятор в какое-то промежуточное положение.
Такая система проста, но имеет свои ограничения. Если регулятор находится в промежуточном положении – скажем, Вы приглушили свет для ужина в интимной обстановке, – останется лишь гадать, каков сейчас уровень освещения. Вам не известно ни то, какую мощность «берет» лампа в данный момент, ни то, как точно описать настройку регулятора. Ваша информация приблизительна, что затрудняет ее сохранение и воспроизведение.
Вдруг на следующей неделе Вам захочется создать то же освещение? Конечно, можно поставить отметку на шкале регулятора, но навряд ли это получится точно. А что делать, если понадобится воспроизвести другую настройку? Или кто-то придет к Вам в гости и захочет отрегулировать свет? Допустим, Вы скажете: «Поверни ручку примерно на пятую часть по часовой стрелке» или «Поверни ручку, пока стрелка не окажется примерно на двух часах». Однако то, что сделает Ваш гость, будет лишь приблизительно соответствовать Вашей настройке. А может случиться и так, что Ваш друг передаст эту информацию своему знакомому, а тот – еще кому-нибудь. При каждой передаче информации шансы на то, что она останется точной, убывают.
Это был пример информации, хранимой в «аналоговом» виде. Положение ручки регулятора соответствует уровню освещения. Если ручка повернута наполовину, можно предположить, что и лампа будет гореть вполнакала. Измеряя или описывая то, насколько повернута ручка, Вы на самом деле сохраняете информацию не об уровне освещения, а о его аналоге – положении ручки. Аналоговую информацию можно накапливать, хранить и воспроизводить, но она неточна и, что хуже, при каждой передаче становится все менее точной.
Теперь рассмотрим не аналоговый, а цифровой метод хранения и передачи информации. Любой вид информации можно преобразовать в числа, пользуясь только нулями и единицами. Такие числа (состоящие из нулей и единиц) называются двоичными. Каждый нуль или единица – это бит. Преобразованную таким образом информацию можно передать компьютерам и хранить в них как длинные строки бит. Эти-то числа и подразумеваются под «цифровой информацией».
Пусть вместо одной 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 открыли, что крошечный кусочек кремния способен делать то же, что и электронная лампа. Транзисторы – подобно электронным лампам – действуют как электрические переключатели, потребляя при этом намного меньше электроэнергии, в результате выделяя гораздо меньше тепла и занимая меньше места. Несколько транзисторных схем можно объединить на одной плате, создав тем самым интегральную схему (чип). Чипы, используемые в современных компьютерах, представляют собой интегральные схемы, эквивалентные миллионам транзисторов, размещенных на кусочке кремния площадью менее пяти квадратных сантиметров.
В 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 миллиона, и она не потеряет ни смысла, ни красок.
Однако сжатие не безгранично, а объемы передаваемой информации все возрастают и возрастают. В скором будущем биты будут передаваться и по медным проводам, и в эфире, и по информационной магистрали, в основу которой лягут волоконно-оптические кабели. Волоконно-оптический кабель представляет собой пучок стеклянных или пластмассовых проводов настолько однородных и прозрачных, что на другом конце стокилометрового кабеля Вы сможете разглядеть горящую свечу. Двоичные сигналы в виде модулированных световых волн смогут без затухания распространяться по этим кабелям на очень длинные расстояния. Естественно, по волоконно-оптическим кабелям сигналы идут не быстрее, чем по медным проводам: скорость движения не может превысить скорость света. Колоссальное преимущество волоконно-оптического кабеля над медным проводом – в полосе пропускания. Полоса пропускания – это количество бит, передаваемых по одной линии в секунду. Такой кабель подобен широкой автомагистрали. Восьмирядная магистраль, проложенная между штатами, пропускает больше автомобилей, чем узкая грунтовая дорога. Чем шире полоса пропускания кабеля (чем больше рядов у дороги), тем больше бит (машин) могут пройти по нему в секунду. Кабели с ограниченной полосой пропускания, используемые для передачи текста или речи, называются узкополосными; с более широкими возможностями, несущие изображения и фрагменты с ограниченной анимацией, – среднеполосными. А кабели с высокой пропускной способностью, позволяющие передавать множество видео– и аудиосигналов, принято называть широкополосными.
Информационная магистраль, немыслимая без сжатия данных, потребует применения кабелей с очень высокой пропускной способностью. Тут-то и кроется одна из главных причин, почему информационная магистраль до сих пор не построена: современные коммуникационные сети не могут обеспечить нужной полосы пропускания. И не обеспечат, пока их не заменят волоконно-оптические линии. Волоконная оптика – пример технологии, выходящей далеко за рамки того, что могли предвидеть Беббидж или даже Эккерт и Моучли. То же относится и к темпам, с которыми улучшается быстродействие и емкость микросхем.
В 1965 году Гордон Мур (Gordon Moore), впоследствии вместе с Бобом Нойсом основавший фирму Intel, предсказал, что число транзисторов в компьютерных чипах ежегодно будет удваиваться. Его предсказание базировалось на соотношении «цена/качество» компьютерных чипов за предыдущие 3 года и предположении, что в ближайшее время эта тенденция сохранится. Правда, Мур не очень-то верил, что такая скорость эволюции чипов продлится долго. Но прошло 10 лет, предсказание сбылось, и тогда он заявил, что теперь емкость будет удваиваться каждые 2 года. Его слова оправдываются и по сей день: число транзисторов в микропроцессорах удваивается в среднем каждые 18 месяцев. Среди инженеров эту зависимость принято называть законом Мура.
Опыт повседневной жизни бессилен перед скрытым смыслом периодически удваивающихся чисел – экспоненциальной прогрессией. Мы попытаемся вникнуть в этот смысл, вспомнив древнюю легенду.
Правитель Индии Ширхам (Shirham) так обрадовался, когда один из его министров изобрел шахматы, что разрешил ему выбрать любую награду.