Шрифт:
Интервал:
Закладка:
Возможно, этого почти достаточно, чтобы смоделировать вычислительную активность вашего мозга в реальном времени. Ваш мозг – образцовый параллельный процессор, имеющий около сотни миллиардов нейронов, каждый из которых представляет собой сложного маленького агента, имеющего конкретную задачу. Полоса пропускания зрительного “нерва”, по которому визуальная информация передается из глаза в мозг, составляет несколько миллионов каналов (нейронов). Но нейроны работают гораздо медленнее компьютерных микросхем. Нейрон может изменить состояние и отправить сигнал (фактически свою вариацию инструкции Инк или Деп) за несколько миллисекунд – тысячных, а не миллионных и не миллиардных долей секунды. Компьютеры перемещают биты со скоростью, близкой к скорости света, поэтому чем меньше компьютер, тем быстрее он работает: свет преодолевает 30 см примерно за одну миллиардную долю секунды, поэтому если вы хотите, чтобы два процесса коммуницировали быстрее, они должны проистекать ближе друг к другу.
секрет 7. Больше секретов нет!
Вероятно, самое удивительное свойство компьютеров заключается в том, что они составляются – простыми шагами – из элементов (операций), которые также предельно просты, а потому им просто негде хранить секреты. В них нет ни эктоплазмы, ни “морфических резонансов”, ни невидимых силовых полей, ни неизвестных прежде законов физики, ни чудо-ткани. Вы знаете, что если вы сумели написать компьютерную программу, которая моделирует какой-либо феномен, то эта модель не задействует ничего, кроме различных конфигураций арифметических операций.
Что насчет квантовых компьютеров, которые сейчас на пике популярности? Разве квантовые компьютеры умеют что-то такое, что не умеют обычные? И да и нет. Они умеют одновременно решать множество задач и вычислять множество значений, благодаря “квантовой суперпозиции”, причудливому и необычному свойству, которое гласит, что ненаблюдаемая сущность может одновременно пребывать во “всех возможных” состояниях, пока наблюдение не приведет к “коллапсу волновой функции”. (Подробнее об этом почитайте в своей любимой научно-популярной книге по физике или на познавательном сайте.) По сути, квантовый компьютер не что иное, как последняя и весьма впечатляющая инновация – можно сказать, квантовый скачок – в скорости обработки данных. Машина Тьюринга, движущаяся по бумажной ленте, и регистровая машина, неутомимо инкрементирующая и декрементирующая отдельные регистры, крайне ограничены в том, что они могут сделать за короткое время – минуты, часы или дни. Суперкомпьютер вроде Fujitsu K может делать все то же самое в триллионы раз быстрее, но для решения некоторых задач, особенно из области криптографии, этой скорости все равно недостаточно. Именно в этой сфере может пригодиться сверхбыстрый квантовый компьютер – если, конечно, люди сумеют решить невероятно сложные инженерные проблемы, возникающие при попытке создания стабильного и практичного квантового компьютера. Возможно, создать его так и не удастся, и тогда нам придется довольствоваться какими-то квадриллионами флопс.
Реальные машины состоят из материальных подвижных частей и, как правило, называются в соответствии с задачами, для выполнения которых они сконструированы. Дизайн газонокосилок, открывашек и кофемолок бывает разным. Порой в основе их работы даже лежат разные физические принципы, но кое-что остается неизменным: машины, которые называются одинаково, выполняют более или менее одинаковую работу. Возможно, некоторые из них выполняют ее лучше других, но все зависит от предпочтений пользователя. Домовладелец может выбрать медленную газонокосилку, которая работает тише; владелец кафе может выбрать кофемолку, которая имеет больше степеней помола, пускай пользоваться ею и сложнее. Некоторые машины универсальны: надев другую насадку, можно превратить дрель в пилу или шлифовальную машинку. Компьютеры тоже универсальны, но могут делать не десяток, а целую тучу разных вещей. Вместо того чтобы надевать для выполнения каждой задачи новую насадку, вы открываете новую программу – очень длинную последовательность нулей и единиц, – которая ставит все необходимые внутренние переключатели в нужное положение, чтобы выполнить задачу. Каждая схема настройки – это уникальная машина, уникальная виртуальная машина, машина “из инструкций”, а не из подшипников, шестеренок, блоков и проводов. В компьютерах инструкции могут заменять блоки и шестеренки, потому что вместо хлебного теста, целлюлозы и стальных болванок компьютеры обрабатывают информацию, а информацию всегда можно перевести в двоичный код, состоящий из нулей и единиц, единственный код, который компьютер может – и имеет необходимость – “читать”. Микросхемы на кремниевых подложках манипулируют триллионами этих нулей и единиц, временно открывая и закрывая шлюзы, переводя потоки информации к той или иной микросхеме и таким образом контролируя, что с ней происходит. Миллионы крошечных элементов аппаратного обеспечения, которые могут принимать одно из двух состояний – 0 или 1, – это единственные “подвижные части” машины, и от настроек тысяч или миллионов этих крошечных элементов зависит то, какой именно машиной является компьютер в конкретный момент времени.
Виртуальной называется машина, которая возникает, когда определенный набор инструкций (а точнее, диспозиций) применяется к реальной машине, обладающей высокой пластичностью, то есть машине, взаимодействующие элементы которой могут пребывать в большом количестве разных состояний. Поскольку виртуальная машина работает с информацией, она может выполнять ту же задачу, что и компьютер, в котором роль “подвижных частей” играют изменения состояния аппаратного обеспечения, производя все эти изменения в представлениях этих подвижных частей. Вы можете выполнять деление столбиком, записывая процесс карандашом на бумаге, но деление столбиком дается вам особенно хорошо, так что вы можете производить его “в уме”, просто представляя – или воображая – цифры на листе или классной доске. Поскольку речь идет об информации, результат всегда один: вы получаете ответ. Напротив, если вы представите себе бутерброд с ветчиной, почувствовав голод, настоящего бутерброда это не заменит. Компьютеры так хорошо справляются с информационной работой “в уме” (представляя машину, которая выполняет работу), что практически невозможно сказать, с какой машиной вы при этом имеете дело – с “особой”, “аппаратно-реализованной”, ориентированной на выполнение конкретной задачи по обработке информации машиной или же с виртуальной машиной, работающей на многоцелевой микросхеме. К примеру, подавляющее большинство крошечных, дешевых компьютерных микросхем, которые используются сегодня в лифтах, кондиционерах, машинах, холодильниках и пультах дистанционного управления, на самом деле представляют собой многоцелевые компьютеры, способные выполнять вариации всех программ, установленных на вашем ноутбуке, но обреченных всю жизнь выполнять единственную относительно простую программу (программу регулировки зажигания, цикла разморозки и т. д.), “вшитую” в ПЗУ, и эта программа ограничивает все их выдающиеся способности одним-двумя трюками. Это дешевле изготовления микросхем специального назначения, разработанных для выполнения только этих простых задач.