Винер выпустил «Кибернетику» в год когда начал функционировать первый «настоящий» компьютер — «Эниак».[286] Настоящий, так как он удовлетворял требованию полноты «универсальной машины» по Тьюрингу,[287] т. е. в общем случае получал на вход программу и данные, после чего выдавал результат. Америка блестяще закончила войну — захватом мира, атомной бомбой и компьютером, причем с позиции сегодняшнего дня трудно сказать, что было важнее: бомба, захват мира или компьютер? Ведь мы уже говорили, что в третьем поколении информационная доминанта начинает превалировать, форма начинает подменять содержание. Избыточная информация заполняющая сейчас всё, показывает бессмысленность существования «наполняемых», об этом мы тоже говорили. А компьютер как раз и нужен был для ускорения обработки информации, сначала в сотни, потом — в тысячи, а теперь и в миллиарды раз. Многие важнейшие сейчас отрасли науки были бы принципиально невозможны, если бы не было компьютера, да и более сложные компьютеры не могли бы быть созданы без помощи более простых. Посмотрите на внутренности своего «компа». Его основа — т. н. «материнская плата», «motherboard». Видите расставленные на ней детали соединены тонкими медными проводниками, причем с двух сторон? А теперь посмотрите сквозь эту плату на яркий свет и вы заметите, что есть еще два внутренних слоя, плата как бы пронизана сетками проводников. Четыре слоя. Бывает и больше. Причем они сообщаются друг с другом в нужных точках через специальные металлизированные отверстия. Так вот, «разводка» этих проводников сделана на компьютере, «головой» такого не придумаешь. А посмотрите на две большие квадратные микросхемы — процессор и чипсет. Внутри у них тоже сетка проводников, только неизмеримо более сложная! В одном процессоре «Пентиум» — 5–6 миллиона элементов, причем все они должны быть соединены между собой без единой ошибки, иначе ничего работать не будет. Вы думаете какой-то инженерный мозг или даже несколько мозгов могут «держать» в себе схему состоящую из миллионов компонентов? Вот почему компьютер уже сейчас занял свою незаменимую нишу в нашем бытии и ниша эта расширяется каждый день, если не каждый час. Современный домашний компьютер качественной сборки можно считать вполне надежным, он может годами работать и безошибочно выполнять свои функции. Менее надежны т. н. «большие машины», занимающие целые помещения, ведь там деталей (и связей) в сотни раз больше, но все же и их надежность достаточно высокая. Но на заре компьютерной эры было совсем не так. «Эниак» содержал 17468 электронных ламп, 7200 полупроводниковых диодов, 1500 реле, 70000 сопротивлений, 10000 конденсаторов. А представьте, сколько это количество деталей (звеньев) имело связей! Вообразите себе это громадное количество проводов! Для сравнения могу сказать, что советский ламповый цветной четырехпудовый телевизор конца эры научно-технического прогресса коммунизма, имел 7–8 ламп, 20–30 транзисторов, 40–50 диодов и полторы сотни резисторов и конденсаторов. Причем все первые компьютеры собирались вручную! Товар, так сказать, эксклюзивный. И весил немало — 27 тонн. И потреблял соответственно — 150 киловатт. Разумеется, что это электронное чудо (я говорю без всякой иронии — это действительно было выдающиеся устройство) часто ломалось, хотя даже при постоянных поломках экономически себя полностью оправдывало хотя бы потому, что было незаменимо.[288] Оно работало в тысячу раз быстрее чем самые быстрые вычислительные устройства того времени. Однако инженеры и математики сразу же задались вопросом: можно ли некими аппаратными приемами повысить надежность компьютера, чтобы нарушения работы какого-либо звена или совокупности звеньев не влияли на результат, чтобы они его компенсировали. За решение проблемы взялись очень многие, она того стоила, тем более что в эксплуатации находилось большое число вычислительных машин работающих на электромеханических реле, такие себе гигантские щелкающие ящики. Именно с помощью них немцы планировали рассчитывать траектории своих первых межконтинентальных ракет (компьютер Конрада Цузе), с помощью них во время войны англичанами были вскрыты коды немецких шифровальных машин — знаменитой «Энигмы» и более изощренной «Шлюссельцузатц-40» фирмы «Лоренц». Да и «Эниак» занимался совсем не мирными целями. Он тоже рассчитывал траектории, ведь бомба уже была, а межконтинентальные ракеты активно разрабатывались вывезенными с Германии инженерами.
Решение нашел в 1952 году Джон фон Нейман, также упоминаемый нами раньше как ученый получивший формулу Больцмана через квантово-механические соотношения. Фон Нейман тоже делал свой компьютер, правда не в Америке, а в Англии, закрепив за этой страной второе место в мире в области «хайтека» которое она удерживает до сих пор. Он был введен в строй в 1948 году, но в отличии от «Эниака» стал первым компьютером с современной архитектурой. В чем состояло «решение фон Неймана»? Для ответа на этот вопрос нам предстоит заглянуть в его эпохальную книгу «Probabilistic Logics and the Synthesis of Reliable Organisms from Unreliable Components»[289] («Вероятностная логика и синтез надежных организмов из ненадежных компонент»). Само это название может показаться странным непосвященному человеку, действительно, как можно создать надежное из ненадежного? Кибернетика утверждает что возможно. Нет, речь не идет о неких совершенно надежных системах, всё-таки звенья в них входящие неидеальны. Каждое звено может сломаться, речь идет о некой максимально достижимой надежности возможной в данных условиях. Вот его описание исходной ситуации: «Как механические, так и электрические устройства статистически подвержены возможности отказа в работе, то же самое, вероятно, относится также к нейронам животных. Поэтому желательно найти такую основу для наших построений, которая была бы лучшим приближением к действительности, и изучать эту новую ситуацию. Самым простым предположением относительно ошибки является следующее: с каждым основным органом [в нашем случае, орган системы — отдельный человек] связано некоторое положительное число — вероятность того, что этот орган допускает ошибку. При этом предполагается, что ошибка появляется статистически, независимо от общего состояния схемы и от ошибок других органов. Мы тоже рассматривали человека как изолированную субстанцию, однако потом показывали как на него влияют связи в которых он запутывается все сильнее и сильнее, а в самом начале, в примере с телевизором, показали, как нарушение работы одного элемента может повлечь нарушения в работе остальных. Он дает аналогичную статистическую трактовку: «Гораздо ближе к действительности более общее определение о том, что ошибка отдельных органов статистически зависит от общего состояния схемы и друг от друга. /…/ Каждый нейрон имеет вероятность несрабатывания. /…/ Важно подчеркнуть, что трудности, которые появляются с допущением ошибок, состоят не столько в возможности получения ложной информации, сколько в том результаты вообще могут не относиться к делу». 2. Попытаемся, насколько это возможно, в общих чертах объяснить что именно предложил фон Нейман, тем более что сейчас в компьютерной технике разбираются многие, а её основы преподают даже в неспециализированных университетах.[290] Итак, компьютер производит обработку данных представленных в двоичной форме, т. е. в виде логических единиц и нулей. Логическая единица или логический ноль — это просто уровни напряжения, низкий (около 0 вольт) при «нуле» и «высокий» (примерно 2,4 В) при «единице». Это называется двоичной логикой или булевой алгеброй, её аппарат был разработан в середине XIX века англичанином Д. Булем. В ней числа переводятся в двоичный код по специальной формуле, а затем все операции над ними проводятся именно в двоичном коде. Элементарных операций над логическими числами всего лишь три: дизъюнкция или сложение (ИЛИ), конъюнкция или умножение (И) и инверсия или отрицание (НЕ). Каждую из этих операций реализует т. н. логический элемент и из этих элементов можно получить такие более сложные звенья как триггеры, счетчики и регистры (они осуществляют переключение, счет и хранение логических кодов); шифраторов и дешифраторов (преобразовывают коды); мультиплексоров и демультиплексоров (коммутируют шины данных). Эта техника называется цифровой и составляет один из самых интересных разделов электроники. Ни в коем случае не подумайте, что я вам здесь рассказываю какие-то сложные и заумные вещи, понятные только подготовленным профессионалам. В Советском Союзе, в 70-80-е годы, книги по цифровой электронике издавались даже для детей среднего школьного возраста и эти дети поразительно быстро вникали во все её базовые аспекты, сами проектировали логические схемы (это очень развивает мышление — говорю вам как один из таких бывших детей). Знавал я и карапузов младшего школьного возраста, которые также всё легко «схватывали». Ну да, это вам не «Война и Мир» и не какой-нибудь Бальзак с Гюго. А потом и реализовывали схемы в «железе». Именно такие малолетки «среднего и старшего школьного возраста» одними из первых в СССР обзавелись в конце 80-ых годов компьютерами самостоятельно изготовленными на базе процессоров I8080 или Z80, в то время как почти всё взрослое население не имело о компьютерной технике ни малейших представлений.[291] К сожалению, их невообразимый потенциал был слит в 90-ых годах, либо перешел к врагам — американцам. Так что если вам будет нечего делать, можете почитать детские советские книжки по цифровой технике и двоичной логике, список смотрите в примечании. вернутьсяENIAC — это аббревиатура Еlectronic Numerical Integrator and Computer. Разработки компьютера велись с начала Второй Мировой войны, но непосредственно сборка началась уже в самом ее конце. Тактовая частота — 100 кГц. Запущен в проектном виде 26 июня 1947 года, после этого незначительно дорабатывался. В СССР первый компьютер был построен в Харькове в 1950 году, но я не имею данных был ли он «полным по Тьюрингу». До 1951 года ни один компьютер в мире вообще не использовался для решения коммерческих задач, только для военных. Эниак проработал до 2 октября 1955 года. Чтобы оценить прогресс в этой области можно привести такой пример: в 2004 году компьютер той же мощности что и Эниак мог быть реализован в кремниевом кристалле площадью 0,5 кв. миллиметра. вернутьсяТьюринг А. Может ли Машина мыслить? М., 1960. В теории информации, вычислительной технике или другой логической системе, «машина» называется Тьюринг-полной, если она вычислительно эквивалентна модели универсальной машины Тьюринга. Другими словами, эта «машина» и «машина Тьюринга» могут эмулировать друг друга. Термин назван в честь Алана Тюринга, который и придумал универсальную машину. Она должна содержать процессор, ОЗУ, ПЗУ, шину адреса и шину данных, устройство ввода-вывода. вернутьсяСравнительные характеристики «Эниака» и компьютеров выпущенных раньше. вернутьсяРусское издание книги — фон Нейман Дж. Вероятностная логика и синтез надежных организмов из ненадежных компонент. Автоматы, под ред. Шеннона К.Э. и Маккарти Дж. М.: ИЛ, 1956. Эта книга — сборник лекций фон Неймана которые он читал в январе 1952 года в Калифорнийском университете и записанных P. Пирсом. В честь Пирса назван элемент ИЛИ-НЕ («стрелка Пирса»). Фон Нейман внимательно изучил конструкцию «Эниака» и пришёл к идее нового типа логической организации ЭВМ — программа должна храниться в запоминающем устройстве в числовой форме. Этот принцип остаётся основополагающим и, возможно, никогда не будет поставлен под сомнение. Одна из ЭВМ — «ДЖОНИАК» (1954 г.), в проектировании которой фон Нейман принимал непосредственное участие (она и названа так в его честь), — сыграла решающую роль в обработке информации при создании водородной бомбы. вернутьсяЮ.А. Данилов в журнале серии «Знание», № 4, 1981 г. посвященном фон Нейману пояснял его идеи в более общем виде. «По фон Нейману, каждую компоненту допустимо рассматривать как чёрный ящик с определённым числом входов и выходов. Если бы сигнал на выходе был функцией сигналов на входе, то мы имели бы надёжную компоненту, срабатывающую с вероятностью 1. Если же сигнал на выходе при заданных сигналах на входе возникает с вероятностью меньше 1, то компонента ненадёжна. Можно ли, располагая неограниченным запасом ненадёжных компонент, построить надёжный вариант любого заданного автомата? Фон Нейман решает эту задачу двумя способами. Первое решение (автоматы с простыми линиями) позволяет понижать вероятность ошибки лишь до некоторого уровня. Суть решения состоит в построении из трёх ненадёжных одинаковых линий и смесителей, производящих сравнение сигналов на выходах подключённых к ним компонент, более надёжной системы, выполняющей ту же функцию. Второе решение фон Нейман называет трюком с кратными линиями. Двоичный выход машины заменяется пучком из многократно повторенного двоичного выхода, и значение сигнала на выходе определяется «большинством голосов» — значением сигнала на большей части линий в пучке. Схема идеального автомата, построенного из надёжных компонент, преобразуется: каждая линия заменяется пучком линий, а каждый орган — аналогом, производящим операции с выходным сигналом большинства линий. Фон Нейман приводит оценки избыточности для второй схемы. Оказывается, что при замене органа, не срабатывающего с вероятностью 1/200, при избыточности 60 000 на единицу уровень ошибки понижается до 10–20. Это означает, что автомат, сравнимый по сложности и быстродействию с человеческим мозгом, мог бы столетиями работать без сбоев». вернутьсяВ СССР описание компьютера который можно собрать самостоятельно было впервые опубликовано в мае 1986 года в журнале «Радио». Использовался базовый комплект микросхем фирмы «Интел» серии I80 разработанной в конце 60-ых годов, точнее, их советский аналог — серия К580. Поскольку интерес к этой технике был огромный, а ни одна деталь для этого компьютера официально не продавалась, мгновенно возник черный рынок, и в СССР, помимо всего прочего, начали еще спекулировать компьютерами и комплектующими к ним. Через год появилось несколько вариантов другого компьютера, на этот раз на базе процессора Z80, фирмы «Zylog». Этот компьютер стал особенно популярен и был реализован в кустарных и домашних условиях в сотнях тысячах если не в миллионах экземплярах. Именно эти два компьютера превратили профессию программиста в массовую. Финалом процесса стал самостоятельный сбор компьютера IBM ХT состоящего в разных вариантах из 200–220 микросхем. Впрочем, вскоре на постсоветское пространство массовым потоком пошли компьютеры и комплектующие с Запада. |