Тим Джексон - Intel: взгляд изнутри
Но в этом случае датские предки подвели его. Понимая, что срок в десять недель не реален, он тем не менее не смог убедить своих коллег дать ему больше времени. Они тоже знали, что, когда архитектура будет завершена, им будут поставлены такие же жесткие сроки; поэтому дать Опдендейку больше времени означало оставить меньше себе. К концу совещания он принял десятинедельный срок. Идя по коридору, Опдендейк утешал себя одной мыслью: по крайней мере, не надо искать специалиста по разработке архитектуры чипа. Стив Морс показал себя одаренным инженером в предшествующем проекте. Как автор того злосчастного отчета, он был основным критиком 8800. Справедливость требовала, чтобы он стал архитектором промежуточного варианта. Участие остальных должно было состоять в том, чтобы архитектура подходила и разработчикам схемы, и производственникам. Но основную часть работы в течение всех десяти недель должен взять на себя Морс. Это был бы первый случай, когда архитектуру процессора доверили специалисту по программированию, а не по аппаратным средствам, но это могло оказаться не недостатком, а преимуществом. Опдендейк знал, что первые процессоры 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 адресов сегмента.
(adsbygoogle = window.adsbygoogle || []).push({});