Когда все лампы работали, инженерный персонал мог настроить ENIAC на какую-нибудь задачу, вручную подключив 6000 проводов. Все эти провода приходилось вновь переключать, когда ставилась другая задача. В решении этой проблемы основную заслугу приписывают Джону фон Нейману, американцу венгерского происхождения, блестящему ученому, известному многими достижениями – от разработки теории игр до вклада в создание ядерного оружия. Он придумал схему, которая до сих пор используется во всех цифровых компьютерах. «Архитектура фон Неймана», как ее теперь называют, базируется на принципах, сформулированных Нейманом в 1945 году. В их число входит и такой: в компьютере не придется изменять подключения проводов, если все инструкции будут храниться в его памяти. И как только эту идею воплотили в жизнь, родился современный компьютер.
Сегодня «мозги» большинства компьютеров – дальние потомки того микропроцессора, которым Билл с Полом так восхищались в семидесятых, а «рейтинг» персональных компьютеров зачастую определяется тем, сколько бит информации способен единовременно обрабатывать их микропроцессор и сколько у них байт (групп из восьми бит) памяти и места на диске. ENIAC весил 30 тонн и занимал большое помещение. «Вычислительные» импульсы бегали в нем по 1500 электромеханическим реле и 17 000 электронным лампам. Он потреблял 150 000 Вт электроэнергии и при этом хранил объем информации, эквивалентный всего лишь 80 символам.
К началу шестидесятых годов транзисторы начали вытеснять электронные лампы из бытовой электроники. Это произошло через десятилетие после того, как в Bell Labs открыли, что крошечный кусочек кремния способен делать то же, что и электронная лампа. Транзисторы, подобно электронным лампам, действуют как электрические переключатели, потребляя при этом намного меньше электроэнергии, выделяя гораздо меньше тепла и занимая меньше места. Несколько транзисторных схем можно объединить на одной плате, создав тем самым интегральную схему (чип). Чипы, используемые в современных компьютерах, представляют собой интегральные схемы, эквивалентные миллионам транзисторов, размещенных на кусочке кремния площадью менее пяти квадратных сантиметров.
В 1965 году Гордон Мур (Gordon Moore), впоследствии вместе с Бобом Нойсом (Bob Noyce) основавший фирму Intel, предсказал, что число транзисторов в компьютерных чипах ежегодно будет удваиваться. Его предсказание базировалось на соотношении «цена/качество» компьютерных чипов за предыдущие 3 года и предположении, что в ближайшее время эта тенденция сохранится. Правда, Мур не очень-то верил, что это продлится долго. Но прошло 10 лет, предсказание сбылось, и тогда он заявил, что теперь емкость будет удваиваться каждые 2 года. Его слова оправдываются и по сей день: число транзисторов в микропроцессорах удваивается в среднем каждые 18 месяцев. Среди инженеров эту зависимость принято называть законом Мура.
В 1977 году Боб Нойс в журнале «Scientific American» сравнил трехсотдолларовый микропроцессор с ENIAC, кишащим насекомыми мастодонтом. Крошка-микропроцессор не только мощнее, но и, как заметил Нойс, «в 20 раз быстрее, обладает большей памятью, в 1000 раз надежнее, потребляет энергии столько же, сколько лампочка, а не локомотив, занимает 1/30 000 объема и стоит в 10 000 раз дешевле. Его можно заказать по почте или купить в местном магазине».
В один из летних дней 1972 года (Гейтсу было шестнадцать, а Полу Аллену девятнадцать) Пол показал Биллу небольшую статью, затерявшуюся на 143-й странице журнала «Electronics». В ней сообщалось, что молодая фирма Intel выпустила микропроцессор с названием 8008. Друзья решили, что этот первый микропроцессор весьма ограничен, но Пол уверял, что чипы станут мощнее, а компьютеры, построенные на них, будут очень быстро совершенствоваться.
В то время в компьютерной индустрии никто и не думал создавать реальные компьютеры на каких-то микропроцессорах. Например, в статье из «Electronics» микропроцессор 8008 описывался как устройство, «пригодное для арифметических вычислений, систем управления и интеллектуальных терминалов». Авторы статьи даже и не предполагали, что микропроцессор когда-нибудь «вырастет» в универсальный компьютер. Микропроцессоры тогда были медленными и могли обрабатывать очень ограниченные объемы информации. Ни один из языков, известных программистам, не был доступен 8008, что практически не позволяло разрабатывать для него сколько-нибудь сложные программы. Приложения приходилось программировать несколькими десятками простых инструкций, «понятных» этому микропроцессору. Обреченный на жизнь «рабочей лошадки», он снова и снова выполнял одни и те же простенькие задачи. Особенно часто его использовали в лифтах и калькуляторах.