а преимуществом. Опдендейк знал, что первые процессоры Intel были разработаны людьми, мало смыслившими в компьютерном программировании. Опыт, полученный во время работы в HP, помог ему увидеть те свойства, которые сделали бы использование 8080 трудным и неудобным, и успешно внести изменения, сделавшие его более 'дружелюбным'. Он считал: предложить прототип 8080 программисту, привыкшему к простоте использования ЭВМ фирмы IBM, это то же самое, что предложить телефон, предназначенный для военных, бабуле, которая хочет позвонить внукам.
Морсу не нужно было подсказывать, как смотреть на вещи с точки зрения программиста. Кроме того, молодой инженер-программист обладал качеством, очень важным для разработки архитектуры чипов: академической дисциплинированностью. Это можно было заметить не только в строгом подходе к своей работе, но и во всем, что он делал. К примеру, когда Морс решил проследить корни своей эмигрантской семьи, он проводил часы в отделе регистрации Эллис-Айленда, кропотливо проверяя возможные неточности в написании его фамилии и сверяя корабли, на которых его родители и их родственники прибыли из Центральной Европы. Окончив расследование, Морс снял копии с документов и искусно наклеил их в несколько альбомов вместе с фотографиями, причем все кромки были строго выровнены, а все снимки аккуратно подписаны. Такое пристальное внимание к мелочам было заметно и в его работе над каждым чипом.
Итак, в мае 1976 года Стив Морс приступил к работе над архитектурой нового процессора Intel. Каждое утро ровно в восемь он встречался с Опдендейком и отчитывался о проделанной работе. Остаток дня, иногда до поздней ночи, он работал над своим проектом с карандашом и бумагой, изредка пользуясь счетной машинкой, которых в то время еще было мало. Очень важно было поддерживать связь с людьми, которые будут работать с процессором на следующем этапе. Для этого Морс бегал из одного здания в Санта-Кларе в другое или в пристройку на другой стороне центрального шоссе. Тем временем в задачу Опдендейка входило отбивать политические атаки.
В сущности, задача, поставленная перед Морсом, была проста. Если новый 16-битный чип должен давать значительное увеличение скорости по сравнению с 8-битным 8080-м, он должен отличаться по ряду параметров. Но Intel хотела добиться, чтобы потребители обращались к ней повторно. Как один из способов добиться этого рассматривалась возможность перевода на более высокий уровень системы, разработанной для менее мощного процессора, при замене которого новым она будет работать. Для этого, в идеале, новый процессор должен быть совместим с любой программой, написанной для 8080.
Вскоре Морс понял, что достичь обеих целей одновременно нереально. Чип 8080 предлагал программистам набор из 111 возможных инструкций; для его разработки требовалось 133. Но это не был просто старый набор плюс 22 новые инструкции. Некоторые из старых инструкций исключались. Когда сотрудники Intel, ответственные за маркетинг, узнали об этом, они ужаснулись. Не означает ли это вроде бы небольшое изменение, спрашивали они, что программы, написанные для чипа 8080, не будут работать с новой моделью? Вовсе нет, отвечал Морс. Нужна лишь небольшая схема трансляции. Она обеспечит соответствие исключенным инструкциям для 8080-го одной или нескольких инструкций нового процессора, которые будут давать тот же результат. Таким образом, время, затраченное потребителями на изучение сложностей 8080-го, не пропадет даром: они смогут по-прежнему использовать программы, написанные для старого чипа. В своей рекламе и спецификациях Intel продолжит писать волшебное слово 'совместимый'.
Необходимость сделать новый процессор совместимым со старым создавала еще одну, более серьезную проблему: что делать с емкостью памяти. Когда Intel разрабатывала чип 8080, прошло совсем немного времени с момента выпуска чипа 1103, запоминающие устройства оставались дорогостоящим и дефицитным товаром. С тех пор Intel усовершенствовала как производство, так и свои разработки и могла уже производить гораздо больше чипов. Еще важнее то, что на рынок вышли и конкуренты, а это привело к резкому снижению цен. В 1976 году цены на устройства памяти составляли менее десятой доли их стоимости четыре года тому назад. Поэтому потребители начали задумываться о продуктах, для которых требовался не только более быстродействующий процессор, но и больший объем памяти. Как мог Морс обеспечить больший объем хранения информации и в то же время сохранить совместимость с прежней моделью, причем не увеличивая время на реализацию своих идей, чтобы и Опдендейк мог уложиться в отведенный срок?
Морсу приходилось отталкиваться от проекта 8080, в соответствии с которым процессор назначал 'адрес' каждому месту, где хранились числа, подобно ярлыкам классификатора. Адреса представляли собой 16-битные двоичные числа, что позволяло обозначить 65 536 различных адресов. Этот потолок был приемлем, когда разработчикам требовалось экономно использовать память. Однако теперь потребителям понадобился больший объем, они настаивали на преодолении барьера в 64 Кбайт.
Для этого, очевидно, нужно было сделать адреса длиннее. Добавив еще четыре двоичные цифры, Морс мог сразу увеличить допустимый объем памяти в 16 раз и получить более миллиона адресов — мегабайт памяти. Но тогда вставал вопрос: сможет ли новая система адресации работать с программами, написанными для старой системы? И здесь Морс проявил себя блестяще. Он решил группировать адреса по шестнадцать в 'сегменте', При работе со старыми программами для 8080-го старые адреса все равно работали: поскольку получилось 65 536 сегментов, старый короткий адрес означал бы первую ячейку в каждом из сегментов. При написании программ для нового процессора можно было использовать более длинные адреса, добавив в конце 4 бит для обозначения остальных 15 адресов сегмента.
У такого подхода был один недостаток. Новый процессор обрабатывал числа одновременно по 16 бит, а система 'сегментной адресации' требовала 20 бит. Это означало, что для работы с 20-битными адресами процессор должен был делать некоторые забавные операции, используя 'регистр сегмента', сдвигающий 16 -битные адреса на 4 бит влево, а затем обратно, чтобы они имели смысл в 20-битной системе адресации.
То, что создал Морс (а затем разработчики схем и операторы на производстве, в течение одного года превратившие чип в продукт, готовый к продаже), можно было назвать сырой, небрежной разработкой. Тем не менее задача была решена блестяще. Пользователи старого, медленного 8-битного чипа 8080 получили возможность реализовать гораздо более быструю 16-битную обработку данных. Теперь они могли строить системы с объемом памяти в мегабайт. Самое главное, благодаря этой разработке они могли осуществить минимальную модификацию и по-прежнему работать со всеми программами, написанными для старого процессора. Чтобы отразить эти два выгодных преимущества (совместимость с предшественником и одновременно более высокую производительность), новому чипу присвоили серийный номер 8086. Он был выпущен в июне 1978 года.
Контраст между задержками при работе над 8800-м и быстрой разработкой 8086-го можно объяснить двумя ключевыми моментами. Во-первых, 8800-й страдал от того, что в IBM называли 'синдромом второй системы'. Дело в том, что при разработке новой компьютерной системы всегда приходится отказываться от части неплохих идей — и в следующей разработке практически невозможно отказаться от соблазна включить в нее все эти идеи. Во-вторых, нереально короткий срок и необходимость обеспечения совместимости стали стимулом для блестящего проявления способностей Морса. Ограничив возможность маневра, руководители (как учитель, который задает тему сочинения, вместо того, чтобы разрешить ученикам писать, о чем они хотят), вынудили его сфокусировать свое творчество в одном направлении.
В момент, когда 8086-й был запущен в производство, еще нельзя было ничего сказать о том, как он будет выглядеть по сравнению с еще не вышедшими продуктами Motorola и Zilog. Но в результате стремительной программы разработки Intel со своими микропроцессорами по-прежнему оставалась в числе ведущих игроков. Главная битва была впереди.
18. Свадьбы и разводы
Знн Боуэрс, отвечавшая в Intel за кадры, побаивалась Боба Нойса с того самого дня, когда он зашел к ней в кабинет, недовольный тем, что улица в Санта-Кларе, на которой находилось здание Intel, была переименована в Боуэрс-авеню. Он был президентом компании, к тому же считался отцом полупроводниковой индустрии, поэтому Энн стала называть его 'доктор Нойс'.