Для описания устройства машины ему, конечно, не хватало терминов -
тех, которыми мы пользуемся сегодня. Центральный процессор, или "рабочие
внутренности" этой машины, он называл "мельницей", а память - "хранили-
щем". Беббиджу казалось, что информацию будут обрабатывать так же, как
хлопок: подавать со склада (хранилища) и превращать во что-то новое.
Аналитическая машина задумывалась как механическая, но ученый предви-
дел, что она сможет следовать варьируемым наборам инструкций и тем самым
служить разным целям. В том же и смысл программного обеспечения. Совре-
менная программа - это внушительный набор правил, посредством которых
машину "инструктируют", как решать ту или иную задачу. Беббидж понимал,
что для ввода таких инструкций нужен совершенно новый тип языка, и он
изобрел его, использовав цифры, буквы, стрелки и другие символы. Этот
язык позволил бы "программировать" аналитическую машину длинными сериями
условных инструкций, что, в свою очередь, позволило бы машине реагиро-
вать на изменение ситуации. Он - первый, кто увидел, что одна машина
способна выполнять разные функции.
Следующее столетие ученые математики работали над идеями, высказанны-
ми Беббиджем, и к середине сороковых годов нашего века электронный
компьютер наконец был построен - на основе принципов аналитической маши-
ны. Создателей современного компьютера выделить трудно, поскольку все
исследования проводились во время второй мировой войны под покровом пол-
ной секретности, главным образом - в Соединенных Штатах и Великобрита-
нии. Основной вклад внесли три человека: Алан Тьюринг (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-ваттную лампы.
Такая система обеспечивает точную запись уровней освещенности для ис-
пользования в будущем или передачи другим, у кого в комнате аналогичный
порядок подключения ламп. Поскольку способ записи двоичной информации
универсален (младшие разряды справа, старшие - слева, каждая последующая
позиция удваивает значение разряда), нет нужды указывать мощность конк-
ретных ламп.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100