В это трудно поверить, но процессор Intel 8008, первый из рода, предшественник гигантского семейства процессоров х86, появился на свет ровно 45 лет назад — 1 апреля 1972 года. История его рождения, как известно, была довольно запутанной и, наверняка, в то время мало кто видел в нем будущую легенду. Ну а сейчас крутизну и величие 8008, думаю, мало кто будет оспаривать — это была действительно веха в чипостроении. Давайте с помощью энтузиаста-олдфага Кена Ширриффа (Ken Shirriff) и его микроскопа заглянем внутрь этого чипа и посмотрим, как он устроен.
Перед вами кристалл процессора 8008 во всей красе. Квадраты по бокам — площадки, к которым припаивались массивные ножки. На чипе вы видите надписи «8008» справа и " Intel 1971" снизу. Инициалы HF сверху справа принадлежат Холу Фини (Hal Feeney), создавшему логическую и физическую схему процессора. Вместе с Фини над созданием 8008 работали Тед Хофф, Стен Мэйзор и Федерико Фаггин.
Рассмотрим теперь составные функциональные части нашего чипа. Слева мы видим арифметико-логическое устройство (Arithmetic/Logic Unit, ALU) выполняющее вычисления над имеющимися данными. ALU имеет два временных регистра для хранения входных данных. Как мы видим, они велики по размерам, но не из-за сложности устройства, а из-за величины транзисторов, в них применияемых.
Ниже расположены элементы предварительного просмотра в схеме ускоренного переноса (Carry). При сложении и вычитании этот компонент вычислял все 8 величин переноса параллельно для увеличения производительности. Поскольку перенос младших разрядов зависит только от младших разрядов, тогда как для старших он зависит от различных битов, этот блок схемы имеет треугольную форму.
Треугольная форма ALU необычна. Обычно оно имеет форму прямоугольника (поразрядная структура). В 8008, однако, 8 блоков (по одному для бита) расположены беспорядочно, чтобы соответствовать треугольнику генератора переноса.
В центре чипа располагается регистр команд и схема декодирования команды, определяющая значение каждой 8-битной инструкции. Декодирование осуществляется с помощью программируемой логической матрицы (Programmable Logic Array, PLA), которая при нахождении определенных битовых последовательностей генерирует соответствующие сигналы управления для всего чипа. Справа сверху мы видим 7 регистров хранения, под ними — стек адресов, состоящий из восьми 14-битных слов адреса. В отличие от большинства процессоров, стек вызовов в 8008 хранится непосредственно в чипе, а не в памяти.
Из каких слоев состоит наш кристалл? Для ответа на этот вопрос сделаем увеличение еще более сильным. Теперь мы видим 3 слоя: самый верхний — металлический электропроводящий. Под ним слой поликристаллического кремния, под микроскопом он имеет оранжевый цвет. Еще глубже — кремнивая подложка серого цвета с присадочными частицами, образующими полупроводник. Подложку трудно разглядеть, но можно заметить черные линии между чистым кремнием и кремнием с присадками.
Посмотрим теперь, как располагались на чипе шины питания (синие и красные линии) и шина данных (радужная линия). Шина данных соединяет ALU справа с регистром команд, регистром хранения и стеком адресов справа. Распределение питания оказалось также непростой задачей. В первых микропроцессорах был всего один металлический слой, и его нужно было скомпоновать так, чтобы не было закорачивающих пересечений.
А так выглядит набор регистров процессора 8008. Он состоит из массива 8х7 ячеек DRAM, каждая из которых использует 3 транзистора для хранения одного бита. Каждый ряд представляет из себя один из семи 8-битных регистров (A, B, C, D, E, H, L). Слева вы видите горизонтальные линии выбора чтения и записи, сверху вертикальные линии чтения и записи битов и линии питания. Использование DRAM в регистрах вместо статических триггеров также является необычным. Вероятно это связано с тем, что Intel, изначально занимавшийся памятью, имел больший опыт работы с DRAM.
Возможно, что-то в устройстве Intel 8008 вам покажется примитивным, а то и вовсе сомнительным. Как и все приборы на свете, процессор не был лишен недостатков, некоторые из которых были видны уже тогда. Скажем, по необъяснимым технически причинам 8008 имел всего 18 ножек, и передача полного набора бит данных и адреса занимала целых 3 такта ввода-вывода. Проблема была очевидна, и следующий процессор, i8080, имел уже 40 ножек. Но, с другой стороны, не забывайте: прошло уже 45 лет. Это и с человеческой точки зрения много, а уж по меркам процессоров — просто дистанция галактического размера. С этих позиций и давайте смотреть на данное примечательное изделие.
Автор: Intel