50 лет назад, 15 ноября 1971 года компания Intel представила процессор 4004. Трудно переоценить значимость этого события, именно с этой даты началась эра архитектуры x86, которую мы знаем и сегодня.
Поздравляю компанию Intel с этой знаменательной датой!
Далее будет немного истории, много теории, ещё больше практики и оригинальных фот.
MCS-4 MICRO COMPUTER SET
Особенности (из руководства пользователей)
4-битный ЦПУ с 45ю инструкциями
Десятичный и бинарный арифметические режимы
10.8 мкс на одну инструкцию
Сложение двух 8-значных чисел за 850 мкс
Шестнадцать 4-битных регистров общего назначения
3 уровня вложенности для подпрограмм
Набор инструкций включает условные ветвления, подпрограммы, косвенную адресацию
2-фазный тактовый сигнал
Синхронные операции с памятью
Прямая совместимость с 4001, 4002 и 4003
Не требует дополнительного интерфейса для памяти и портов ввода/вывода
-
Непосредственно:
4K на 8бит ПЗУ (16 микросхем 4001)
1280 на 4бит ОЗУ (16 микросхем 4002)
128 линий портов В/В (без применения 4003)
Неограниченное количество портов В/В (с применением 4003)
Расширение памяти путём переключения банков
Один источник питания (Vdd - минус 15 вольт)
16-выводный DIP корпус
Полупроводники с проводимостью P-типа
Минимальная система: ЦПУ и одна микросхема ПЗУ
На самом деле 50 лет назад был представлен не процессор 4004, а именно набор микросхем (chipset) с нехитрым названием MCS-4. А уже в этот набор входил процессор 4004.
Что же такое MCS-4? Всё очень просто, это три микросхемы объединённые общей 4-разрядной шиной: ЦПУ (CPU), ПЗУ (ROM) и ОЗУ (RAM). Практически как и сегодня система имеет три основных компонента. Так же в состав набора входит 10-разрядный сдвиговый регистр с последовательной загрузкой и параллельной выгрузкой, предназначенный для увеличения количества выходных портов. Вещь банальная и особого интереса не представляет. Все микросхемы выполнены в 16-выводных DIP корпусах. Эти 16выводные корпуса бываю 4х разных видов:
Белый керамический с позолоченными выводами и припаиваемой крышкой. Керамика у этих корпусов полупрозрачная и через неё видны проводники внутри микросхемы. Этот тип корпуса самый ранний, по этой причине очень ценится у коллекционеров. Продавцы на eBay называют такой корпус Gray Trace или Zebra, любые микросхемы в таких корпусах стоят дороже обычных. Сегодня цена на 4004 в хорошем состоянии в этом корпусе легко может доходить до 2000$ и более. Микросхемы с таким типом корпуса имеют префикс 'С', то есть процессор будет именоваться Intel C4004.
Белый керамический с позолоченными выводами и припаиваемой крышкой. Керамика не прозрачная. Микросхемы с таким типом корпуса так же имеют префикс 'С'.
Чёрный/темно-коричневый керамический, состоящий из двух половинок склеенных компаундом, выводы лужёные. Название микросхемы имеют префикс 'D'.
Цельный пластиковый корпус с лужёными выводами. Самый обыкновенный DIP16. Название микросхемы имеют префикс 'P'. Intel P4004 самый распространённый, и относительно не дорогой, сегодня можно купить по цене около 150$
Все микросхемы выполнены по P-канальной MOS технологии и требуют питания -15V. Как известно p-канальные полевые транзисторы открываются отрицательным напряжением, отсюда и минус 15 вольт. И да, логика инверсная, минус 15 вольт это логическая единица.
Помимо 4битной параллельной шины объединяющей три основные компонента системы ещё требуется два сигнала тактовой частоты (две фазы), сигнал синхронизации и сигнал сброса. Тактовую частоту и сброс формирует специальная микросхема - тактовый генератор 4201. Сигнал синхронизации формирует процессор. В итоге получается что ЦПУ, ПЗУ и ОЗУ соединены восемью сигналами (проводниками), не считая питания. И самая минимальная система будет состоять из трёх микросхем: процессор, ПЗУ и тактовый генератор.
В 1971 году Intel позиционировала MCS-4 как замену "жёсткой" логике и предлагала использовать эту систему (буквально) практически где угодно.
4004 применялся в различных устройств, калькуляторы, измерительные приборы, радиостанции. Правда буквально через несколько лет ему на смену пришёл 4040, а затем и 8008, поэтому встретить 4004 в реальном устройстве непросто.
Итак, набор микросхем MCS-4 включает в себя:
Центральный процессор -CPU - 4004
Память программ -ROM - 4001
Оперативная память -RAM - 4002
Сдвиговый регистр -SR - 4003
Всё вместе объединяется в такую систему:
4004
С точки зрения программиста ЦПУ содержит: 4-битный регистр аккумулятор, 16 4-битных индексных регистров которые организованы в восемь регистровых пар, четыре 12-битных счётчика команд(позволяет организовать до 3х уровней вложенности для подпрограмм).
Выводы 1-4 - двунаправленная шина адреса/данных с временным мультиплексированием. 5 - GND - общий (0V), 6-7 - входы тактового сигнала, 8 - выход синхронизации, 9 - вход сброса, 10 - вход сигнала TEST(может быть использован в инструкции ветвления JCN), 11 - CM-ROM - выход выбора ПЗУ, 12 - Vdd - питание минус 15 вольт. 13-16 - CM-RAM - выходные сигналы выбора банка ОЗУ
Частота тактовых импульсов равна 740-750 кГц, однако из-за того что машинный цикл у 4004 занимает 8 тактов, то частота выполнения инструкций будет 740/8 = 92.5 кГц. Простые инструкции процессора имеют длину 1 байт, сложные инструкции вроде условных переходов имеют длину 2 байта и следовательно будут выполнятся не за 8, а за 16 тактовых импульсов. То есть в реальности производительность будет ещё меньше чем 92.5 тыс. операций в секунду. Словом не густо.
Имеются следующие инструкции:
16 машинных инструкций (5 из которых двойной длинны)
14 инструкций для работы с аккумулятором
15 инструкций ввода/вывода
4001
Микросхема масочного ПЗУ (ROM). Да да масочное ПЗУ, то есть однократно программируется на заводе, даже не программируется, а создаётся уже запрограммированным. Если вы хотели использовать MCS-4 в составе своего устройства то микросхемы ПЗУ нужно было заказывать у Intel. Происходило это примерно так. Текст программы в бинарном виде на бумажке или на перфокарте вкладывался в конверт вместе с чеком и отправлялся в Санта Kлару, в ответ Intel присылал запрограммированные микросхемы. :))
Позже появилась простая возможность использовать микросхемы EPROM с ультрафиолетовым стиранием.
Каждая микросхема 4001 имела объём 256 байт. Так как в 4004 используется 12-битная адресация памяти программ, то максимум программа может иметь объём 4 кБайта. Что подразумевает возможность подключения до 4096/256 = 16 микросхем 4001. Каждая из 16 микросхем должна иметь свой идентификатор от 0 до 15 (metal option).
Так же каждая микросхема 4001 имеет 4 порта ввода/вывод которые однозначно конструируются (вход это или выход) на той бумажке которая отсылалась в Intel (дополнительная информация помимо кода программы). То есть это не программная конфигурация выводов, а аппаратная и изменить потом нельзя.
4002
Микросхема ОЗУ содержит 4 банка по 20 4-битных слов, то есть 40 байт.
Так же есть 4 линии выходного порта, никак не конфигурируемые, на вход они работать не могут.
Любопытно что есть два типа микросхем 4002 ОЗУ, это 4002-1 и 4002-2, они так и маркируются:
Сделано это для того чтобы совместно с сигналом P0 (10й вывод, аппаратный выбор кристалла) получить возможность адресовать до 4х микросхем в одном банке памяти.
4003
Сдвиговый регистр. кроме питания -15V ничего примечательного, не совсем понятно почему Intel включила эту микросхему в набор.
4201
Тактовый генератор. Формирует два тактовых сигнала сдвинутых по фазе. Требуется кварцевый резонатор на ~5.125МГц Причём эти два сигнала можно получить в виде как TTL (0-5V) так и MOS(0- -15V).
Так же микросхема имеет "повторитель" сигнала сброс и схему позволяющую исполнять программу по шагам (актуально только для процессора 4040).
Справедливости ради надо сказать что микросхема 4201 появилась несколько позже чем MCS-4 и разрабатывалась как я понял для 4040, но с успехом применялась вместе с 4004. В ранних схемах использовался генератор на триггерах и прочей "рассыпухе"
4008/4009
Разумеется отсылать перфокарты в Intel для получения масочных ПЗУ было не удобно и вскоре появились ещё две микросхемы позволяющие вместо 4001 использовать микросхемы EPROM с ультрафиолетовым стиранием.
Первые EPROM были разработаны Intel примерно в это же время, имели названия С1601, С1602, С1701 и более известные С1702. Несколько позже был прыжок к EPROM 27серии.
4008 отвечает за шину адреса, а 4009 за шину данных тем самым реализуют стандартный параллельный интерфейс к памяти. Подключение же 4008/4009 к процессору 4004 осуществляется по всё той же 4-битной шине.
Если вдруг кто не знает, то EPROM это память которую можно записать с помощью электричества. Стирается же такая память путём облучения кристалла жёстким ультрафиолетовым излучением (осторожно опасно для глаз и прочего). На фото чуть выше виден сам кристалл под прозрачным стеклом который облучают УФ для стирания. Запись таких EPROM тоже не простая затея, мало того что требуется питание -15В для чтения, так для записи требуется минус 48В.
С аппаратной частью с большего всё.
ПО
Сегодня у каждого в кармане смартфон, а дома компьютер, в обоих устройствах установлен 64 разрядный процессор хоть и с разными архитектурами. Если упростить, то разрядность процессора определяет максимальную длину чисел с которыми он может работать. Для 64 разрядных процессоров это максимальное число равно 2^64 -1 = 18446744073709551615 (2 в степени 64 минус 1, минус 1 т.к. счет начинается с нуля). К чему это я.. А к тому что в основе процессора Intel 4004 лежит архитектура MCS-4, и четвёрочка в названии - это разрядность микроархитектуры. И максимальное число с которым может работать процессор 2^4 - 1 = 15. Да, всего лишь от 0 до 15, и это больно, думаю уже тогда, 50 лет назад программисты ощущали эту боль. К тому же времена были тогда суровые, компьютеров и тем более смартфонов не было, вернее как, компьютеры конечно были, уже как никак Аполлон на Луну слетал, но были эти компьютеры странные и были они не у всех. Тем не менее как-то люди умудрялись разрабатывать электронику и в частности с применением MCS-4. Честно не знаю как :)
Если вы писали когда-нибудь программу на ассемблере, то и с написанием программ для 4004 не должно быть больших сложностей. Да, сильно доставляет неудобства отсутствие инструкций для битовых операций, отсутствие косвенной адресации для ОЗУ, невозможность условных переходов дальше чем 256 байт. Так же нет команд деления, умножения, сравнения и много чего ещё.
То есть если вы к примеру надумали выстрелить себе в ногу, то у вас не то что пистолета и патронов нет, у вас и ноги то нет, и вообще вы ещё не родились и ваши родители тоже :)
Я думаю что сложности программной части оправдывались простотой аппаратной.
Вот так выглядит запись 4 бит информации из регистра R1 в оперативную память:
LDM $0 ; Загрузить в Аккумулятор число 0
DCL ; Выбор банка оперативной памяти,
; номер банка в Аккумуляторе. Set CM-RAM0
FIM P0, $80 ; Загрузить в регистровую пару P0 число 0x80
SRC P0 ; Выбрать микросхему 4002-2 у которой вывод P0
; подключен к земле. Это всё для банка CM-RAM0
LD R1 ; Загрузить содержимое регистра R1 в Аккумулятор
WRM ; Записать содержимое Аккумулятора в ОЗУ,
; Причем адрес ячейки памяти в микросхеме определяется
; 6ю младшими битами числа которое мы загрузили в P0
Короче если есть непреодолимое желание написать свою программу для 4004 то всё довольно просто, через несколько часов попыток что-то написать вы уже наизусть запомните весь список инструкций, дальше всё ещё проще :)
Документация
Документация на MCS-4 просто божественная, умели же раньше писать. Чувствуется что подбирали каждое слово, всё просто и понятно.
На MCS-4 существует следующая документация:
MCS-4 Datasheet
MCS-4 Microcomputer Set Users Manual
MCS-4 Assembly Language Programming Manual
В сети есть сканы этих документов, кому интересно найдёт без проблем. У меня же есть ранняя версия руководства пользователей которую я не нашёл в сети, возможно будет интересно...
вот несколько фот:
То ради чего всё затевалось (ну почти)
Почему ну почти? Потому что затевалось конечное устройство, а показывать пришлось прототип не доделанный до конца.
Внимательный читатель заметил что вверху, на плате зияют пустые места, это места для установки EPROM Intel C1702. Но с ними получилась немного неожиданная проблема, я не смог найти готовый программатор чтобы записать в них прошивку. Изначально я был настроен на готовый покупной программатор для того чтобы не тратить время на его разработку изготовление и отладку. Я даже купил такой программатор год назад. Но оказалось что у программатора не хватает специального адаптера. Бросил затею с покупным, - разработал свой и уже получил платы. Но увы до 15 ноября мне никак было не успеть всё закончить, а статью опубликовать хотелось, не каждый день 50летний юбилей всё таки. Поэтому, сорри, как есть... Возможно, будет ещё одна статья немного позже когда я всё закончу.
По проекту... STM32)) после включения переписывает прошивку (микропрограмму для 4004) из своей флеш памяти во внешнее ОЗУ (фиолетовая микросхема справа) и передаёт управление процессору 4004, тот начинает исполнять код из этого ОЗУ. Ну то есть микросхемы EPROM заменены на одну микросхему ОЗУ. Это было сделано для быстрой смены прошивки при отладке.
Производительности у 4004 с гулькин нос и программную динамическую индикацию для двух индикаторов HDSP-2000 он не осилит ну никак. Поэтому был реализован полноценный драйвер для этих индикаторов с двумя страницами видеопамяти. 4004 просто записывает в видеопамять то что нужно отобразить и переключает страницу видеопамяти. Всё как в настоящем компьютере :)
Огромное спасибо тем кто помогал мне раздобыть микросхемы! А добывались они в самых неожиданных местах, реально по всему земному шару.
Отдельное спасибо господину Herb Johnson за разработку офлайн кросс-ассемблера. Вот его сайт. Немного не хватает макросов, но в целом очень достойная вещь.
Все фото и видеоматериалы сняты автором статьи, перепечатка без разрешения автора не только не карается, но и приветствуется самим автором, то есть мной! :)
Спасибо всем кто дочитал до конца.
Комментарии (33)
gameplayer55055
15.11.2021 11:00+550 лет. Странно, что сами Интел никак в новостях не пишут. Спасибо им за процессоры и архитектуру х86, что сделала революцию.
SergeyMax
15.11.2021 12:06+8Странно, что сами Интел никак в новостях не пишут.
Подозреваю, потому, что этот проц никакого отношения к x86 не имеет)
Dark_Purple Автор
15.11.2021 17:41Подозреваю что ещё вчера вы ничего не знали про Intel 4004)
SergeyMax
15.11.2021 19:05И что же вас натолкнуло на подобное подозрение, позволю себе полюбопытствовать?
Dark_Purple Автор
15.11.2021 19:11Очквидно ваше весьма спорное подозрение касательно того что что этот проц никакого отношения к x86 не имеет)
sebres
15.11.2021 21:41+1А он действительно не имеет...
8080 был первым настоящим микропроцессором, подходящим для повседневных компьютеров, и именно им Intel заложил базу для всего 80x-поколения, от 8085 до 8088.
4004 же был процессор для калькулятора (а Busicom, заказавший его, производили именно калькуляторы), и с ним Intel возможно стала настоящим производителем чипов, но к x86 его даже посредственно не притянуть, начиная от разрядности, архитектуры и всего-того и заканчивая собственно набором инструкций.
Даже 8008, который номинально является официальным предшественником для 8088, и соответственно x86, формально тяжело притянуть в качестве прародителя x86-архитектуры.Azya
17.11.2021 10:01+14004 же был процессор для калькулятора
Не согласен, не столь важно, кто и для чего заказывал 4004, он был самым настоящим микропроцессором общего назначения без всяких натяжек. Процессор для калькулятора - это какой-нибудь TMS0119.
Denis_Chernyshev
15.11.2021 12:39+4Лично мне при изучении этого раритетного чипсета один момент показался особо забавным.
Вероятно, работа с нормальной адресуемой памятью, а не со странной 4001/4002 предполагалась изначально, но была припрятана на потом.
И после выпуска 4008/4009 вдруг оказалось, что в процессоре уже есть недокументированная команда WPM для записи в нормальное байтовое ОЗУ через 4008/4009.Dark_Purple Автор
15.11.2021 17:50+1Приятно что есть кто-то кто в теме)
WPM инструкцию инструкцию не проверял, возможно её добавили в более позних чипах. В мануале 1972 года про 4008/4009 ничего нет, а в мануале 1974 уже есть.
Azya
15.11.2021 14:53+3Отличная статья!
Тоже хотел в честь юбилея сделать проект на 4004 и написать статью на Хабр)
Но у меня все зависло на еще более ранней стадии:
Делал платформу для запуска минималистичных игр (на фото, как можно понять, Тетрис) с упором на минимальное использование интеловских чипов, в идеале хотел оставить только 4004 и 4002, заменив все остальное стандартной логикой. На фото 4040, т.к. его не так жалко спалить)
KeyJoo
15.11.2021 18:16Тряхнуть историей всегда классно. Живой музей из металла и кремния.
Немного нахватает макросов
Houdini44
15.11.2021 18:32+12Вот интересный отрывок из книги про события тех времён:
"В НАЧАЛЕ 1969 ГОДА ФИРМА - ПРОИЗОВДИТЕЛЬ ПОЛУПРОВОДНИКОВ Intel Development Corporation, расположенная в Силиконовой Долине, получила заказ на производство чипов для новой линии калькуляторов от японской компании Busicom, выпускавшей микрокалькуляторы. У Intel была хорошая репутация, ранее она входила в состав компании Fairchild, и ее президент Роберт Нойс принимал участие в начальной стадии разработки интегральных микросхем. Хотя Intel начала работу всего несколько меся цев назад, компания росла так же быстро, как и вся индустрия полупроводников.
Инженер Марсиан «Тед» Хофф появился в Intel практически с ее основания. Тогда он был всего двенадцатым по счету служащим. Когда он начал работать над заказом для Busicom, в компании числилось уже 200 сотрудников. Хофф недавно закончил университет. Получив докторскую степень, он продолжил исследования на факультете электротехники в Стэнфорде. Его работы в области полупроводников завершились получением нескольких патентов и места в Intel. Нойс считал, что Intel следует заниматься только производством чипов памяти. Хофф как раз и должен был продумать области применения этих чипов. Но когда Busicom заказал разработку чипов для калькуляторов, глава фирмы попросил молодого инженера занять ся этим проектом.
Хофф встретился с японскими представителями, приехавшими обсудить цели, которые преследовал Busicom. Вечером он уезжал на Таити, поэтому первая встреча оказалась краткой. Зато во время поездки у него было время подумать над возникшими проблемами, и Хофф вернулся с уже сформировавшимися идеями относительно предстоящей работы.
Первое, что его особенно насторожило: стоимость калькулятора Busicom почти равнялась стоимости мини-компьютера. Мини-ЭВМ стали относи тельно недорогими, их покупали исследовательские лаборатории по всей стране. Наличие двух или трех мини-ЭВМ на факультетах в университетах перестало быть редкостью. Сам Хофф успел поработать с новым компьютером PDP-8, разработанным компанией DEC. Это был один из самых маленьких и дешевых компьютеров, имевших очень простые внутренние установки. Хофф знал, что PDP-8 может выполнять те же самые операции, что и предложенный компанией Busicom калькулятор. Стоимость услуг при мерно та же. Тогда зачем нужен калькулятор? Для Теда это противоречило здравому смыслу.
Хофф задал руководству компании Intel вопрос: почему люди должны платить цену компьютера за устройство, выполняющее только часть его функций? Подобный вопрос выявил в нем приверженца академической теории, не знающего основ маркетинга. Калькулятору он предпочел бы ком пьютер и думал, что все придерживаются такого же мнения. Специалисты по маркетингу терпеливо попытались объяснить, в чем он неправ. Если кто- то хочет, например, приобрести только калькулятор, чтобы выполнять расчеты, ему не нужен компьютер. Но главное не в этом. Многие, даже ученые, просто боялись компьютера. Калькулятор можно было выключить в любой момент. Компьютер же представлялся устройством необычным и сложным, предназначение которого было неопределенным.
Хофф выслушал все эти доводы и... не согласился с ними. Его больше привлекла идея создания специальной универсальной ЭВМ, которая была бы достаточно простой и недорогой. Кроме того, он считал, что универсальное устройство сделало бы проект Busicom гораздо более интересным. В результате Тед предложил японцам свой вариант проекта, основанный на PDP-8.
Впрочем, основывался он на ЭВМ только частично. Предложение Хоффа содержало набор чипов, а не компьютер целиком. Но один из этих чипов был чрезвычайно интересен и важен по нескольким причинам. Во-первых, он был емким. Обычные чипы были рассчитаны примерно на 1000 операций, то есть были эквивалентны 1000 транзисторам. Чип Теда как минимум вдвое превышал это число. К тому же он, как и микросхема, мог принимать входящие сигналы и выдавать сигналы на выходе. Но если эти сигналы в простейшем арифметическом чипе представляли числа, а в логическом чипе - Булевы значения (истина/ложь), то сигналы на входе и выходе чипа, предложенного Хоффом, становились инструкциями для микросхемы.
Короче говоря, чип мог управлять программой. Клиенты первоначально просили сделать чип для калькулятора, но Хофф, получилось, думал над микросхемой для EDVAC, первой универсальной ЭВМ, работавшей на кристаллах кремния. На его чипе по существу располагался целый компьютер. Хотя надо сделать уточнение: разработка Хоффа напоминала очень простой ком пьютер, не учитывала некоторые функциональные свойства, например, па мять и периферию для ввода и вывода информации. В итоге такие устройства получили название микропроцессоров. По характеру программного обеспечения они были универсальными.
Так как микропроцессор Intel использовал программы, хранящиеся в памяти, производители Busicom могли заставить его работать как любой калькулятор. Во всяком случае, об этом мечтал Хофф. Он был уверен, что именно такой подход правилен. Но японцев итоги его работы не впечатлили. Расстроенный Хофф разыскал Нойса. Руководитель Intel поддержал подчиненного и попросил его не останавливаться на достигнутом. Больше того, когда известный разработчик чипов Стэн Мазор оставил Fairchild, чтобы перейти в Intel, Хофф и Мазор начали работать над чипом вместе. Тогда они еще не изобрели микросхему. Специалисту в области полупроводников приходилось сначала переносить схему чипа на двустороннюю кальку, а затем это изображение накладывалось на скол кристаллов кремния.
Продолжение работы требовало новых финансовых вливаний, поэтому Intel не пошел далее логической разработки схемы, не поговорив со своими заказчиками. В октябре 1969 года скептики из Busicom прилетели из Японии для продолжения обсуждения проекта Intel. Японцы представили свои требования, а Хофф и Мазор - свои разработки. Несмотря на то, что между сторонами имелись определенные расхождения, после недолгого обсуждения Busicom решила принять разработки чипа. Соглашение предоставляло японской компании исключительные права на эти чипы. Для Intel это была не лучшая сделка, но, по крайней мере, она давала возможность проекту выжить.
Получив «добро» на продолжение работы, Хофф вздохнул с облегчением. Чип назвали 4004, что приблизительно соответствовало числу простых транзисторов, размещенных в устройстве, и его мощности.
Тед Хофф был не единственным, кто мечтал сконструировать компью тер, работающий на чипах, но он первым начал проект, действительно по лучивший завершение. В ходе его реализации Хофф и Мазор решили еще несколько вопросов проектирования, многое сделав для совершенствования микропроцессора.
Лесли Вадаш, возглавлявший группу разработчиков чипов в Intel, знал, кто может быстро воплотить самый чудесный замысел в жизнь - Федерико Фэггин. Фэггин был талантливым ученым, сотрудничал вместе с Вадашем в Fairchild, ранее сконструировал компьютер для итальянской компании Olivetti. Проблема была в том, что Фэггин не работал в Intel. Хуже того, он не мог немедленно взяться за проект, так как в США находился по рабочей визе и не мог поменять работу, не потеряв визы. Этот вопрос можно было решить только к следующей весне.
Когда Фэггин в апреле 1970 года перешел в штат Intel, он сразу же при ступил к воплощению в жизнь концепции микропроцессора 4004. Торопило и то, что скоро должен был приехать Масатоши Шима, инженер из Busicom, для проверки и оценки окончательных результатов проекта. Фэггин начал работать над кремниевым вариантом процессора.
К сожалению, к приезду представителя японской фирмы дела обстояли не блестяще. Хофф и Мазор успели закончить работу над набором инструкций для устройства и общей схемой, и только. Шима сразу же понял, что «разработка» состоит в основном из набора идей, пусть и удачных. «У вас просто идея, - кричал он на Фэггина, - а идея - это ничто! Зачем я приехал, если проверять нечего!»
Фэггин признался, что работает над проектом недавно, но верит, что сумеет быстро завершить его. С помощью Мазора и Шимы, продлившего свое пребывание в США на 6 месяцев, он доделал работу в удивительно короткие сроки, проводя в лаборатории по 12-16 часов в день. Он занимался тем, что до него никто никогда не делал, и по ходу работы ему пришлось придумывать новые технологические приемы, совершать, казалось бы, не возможное.
В феврале 1971 года Фэггин доставил в Busicom рабочий вариант, в который вошли микропроцессоры 4004 и восемь других чипов, необходимых для работы калькулятора. Это был определенный прорыв, но скорее в области мысли, чем практического применения.
Новое изобретение, микропроцессор, оказалось ничем иным, как дальнейшей разработкой использования интегральных чипов для арифметических и логических операций. Безусловно, микропроцессоры наделяли чипы большими функциональными возможностями. Они выполняли достаточно много функций, связанных между собой. Для пользования каждой функцией необходимо было выучить отдельный, пусть и очень простой, язык. Набор инструкций для 4004 являлся языком программирования.
Сегодняшние микропроцессоры гораздо более сложны и мощны, чем компьютер 1950 года, пусть и представлявший собой целую комнату прово дов. Чип 4004, придуманный Хоффом в 1969 году, стал первым пробным шагом в область, которую тогда вряд ли могли себе представить и сам изобретатель, и Нойс, и менеджеры Intel. Чип 8008, появившийся два года спустя, стал вторым шагом. Его разрабатывали для компании СТС (Computer Terminal Corporation), позднее получившей название DataPoint. В распоряжении СТС имелся сложный, с технической точки зрения, компьютерный терминал, ей требовалось создать чипы для реализации дополнительных функций устройства.
Хофф снова продемонстрировал грандиозное видение того, как можно использовать имеющиеся возможности. Он предложил расположить конт рольную схему на одном чипе, который заменил бы все ее внутренние со ставляющие одной интегральной схемой. Хофф и Фэггин заинтересовались проектом 8008 прежде всего потому, что эксклюзивные права Busicom на чип 4004 делали невозможным его использование в других целях. Тот же Фэггин, занимавшийся экспериментами с устройствами автоматического контроля, понимал, что чип 4004 идеально подходит для управления режимом контроля, но по контракту с Busicom воспользоваться им было невозможно.
Хофф решил, что, возможно, новый 8008 чип терминала найдет такой рынок сбыта, как использование в приборах контроля. У 4004 были и недостатки. Он мог одновременно проводить операции только с четырьмя двоичными цифрами, что в значительной степени ограничивало его вычислительную мощность. В ходе одной операции он не мог даже оперировать отдельной частью данных, например, размером в один символ. Новый 8008 чип таких недостатков не имел. Хотя первоначально на разработку 8008 был на значен другой инженер, вскоре в этот процесс включился Фэггин, и к марту 1972 года Intel выпустила чипы новой модификации.
Правда, перед тем, как это случилось, специалисты СТС начали терять интерес к проекту. Да и в Intel пришли к выводу, что слишком много времени и усилий вложено в два очень сложных и дорогостоящих проекта, ни один из которых пока не в состоянии найти рынок сбыта. К тому же, сражаясь с конкурентами, Busicom попросила Intel для сохранения контракта снизить цены на 4004 модель.
«Ради Бога, - пытался убедить Нойса Хофф, - дайте нам возможность продавать эти чипы другим». Нойс согласился. Но получение такого права отнюдь не гарантировало Intel удачных сделок.
В отделе маркетинга компании появилась идея начать реализацию чи пов заинтересованным покупателям. Intel запустил в производство чипы памяти, которые были просты в использовании и продавались пачками, как бритвенные лезвия. Тем не менее микропроцессоры продолжали пугать потенциальных покупателей своей кажущейся сложностью, прежде всего клиенту предстояло научиться ими пользоваться. Но Тед Хофф не унимался. Для применения микропроцессоров он находил новые области, о которых раньше никто и не думал. Например, говорил он, вполне возможно с помощью чипа управлять лифтом. Более того, процессор может сэкономить покупателям деньги или заменить целую систему простейших чипов, как это было в модели 8008.
Настойчивость Хоффа была вознаграждена, когда в Intel появился Рид- жис Маккенна, специалист по рекламе. Он представил новые разработки компании в осеннем номере журнала «Electronic News» 1971 года. Объявление гласило: «Мы представляем новую эру в интегральной электронике: на одном чипе расположена программируемая микроЭВМ». Компьютер на чипе? С технической точки зрения, утверждение было рекламным трюком, но когда посетители выставки читали материал о чипе 4004, их увлекала универсальность модели. И во многом статья Маккены была правдой: 4004 (и 8008) выполняли функцию принятия решений, присущую компьютеру.
Тем временем компания Texas Instruments возобновила контракт с СТС и тоже начала выпускать микропроцессоры (TI осваивала рынок так же настойчиво, как и Intel: ее разработчик Гэри Бун перед этим получил патент на одночиповый компьютер). Теперь существовало три различных вида процессоров. Отдел маркетинга Intel был прав относительно необходимости создания широкой сети поддержки потребителей. Например, клиенты нуждались в документации о выполняемых чипом операциях, о понятном ему языке, необходимом для него напряжении и множестве других вещей. Кто- то должен был написать руководство для пользователя, и Intel поручила эту важную задачу инженеру Адаму Осборну, который впоследствии вплотную занимался процессом превращения компьютеров в персональные.
Программное обеспечение микропроцессора привело к образованию еще одной сферы поддержки потребителя. Чипам, как и универсальным процессорам, необходимы были программы, инструкции, которые указывали бы им, что нужно делать. Для создания подобных программ в Intel сначала собрали компьютеры на базе каждого из двух микропроцессорных чипов. Эти компьютеры были некоммерческим продуктом, они использовались для разработки системных программ, помогающих в написании про грамм для процессора. По сути они были микрокомпьютерами, хотя в то время никто не использовал этот термин.
Одним из первых разработчиков этих программ был Гэри Килдалл, работавший в одном из учебных заведений ВМС, расположенном на тихо океанском побережье Силиконовой Долины в Калифорнии. Как и Осборн, позднее Килдалл стал очень важной фигурой в истории разработки персонального компьютера. В конце 1972 года Килдалл написал простейший язык для 4004 модели. Это была программа, переводившая кодированные буквенные команды в еще более кодированные единицы и нули, из которых и со стоял набор внутренних инструкций для микропроцессора. Хотя программа была написана для 4004 модели, в действительности она предназначалась для большого компьютера IBM 360. Пользуясь ею, каждый мог набрать команды на клавиатуре IBM 360 и составить файл с набором инструкций для 4004 чипа, а затем и ввести его в 4004 микропроцессор, если тот был подключен к компьютеру IBM. Труднее было совместить 4004 модель с чем-либо еще. Микропроцессор требовалось подключать к особой схеме электрической сети, созданной для соединения других чипов с устройствами типа телетайпа. Системы разработки Intel как раз и были созданы для решения проблем такого типа. Естественно, Килдалла привлекли к работе в микро компьютерной лаборатории компании.
В конце концов, Гэри Килдалл заключил контракт с Intel на разработку языка для производителей чипов. PL/M (Programming Language for Micro computer - язык программирования для микрокомпьютеров) должен был стать языком высокого уровня, в отличие от машинного языка низкого уров ня, на котором был написан набор инструкций для микропроцессора.
Пользуясь PL/М, каждый мог написать программу один раз и использовать ее на 4004 процессоре, на модели 8008 или на будущих процессорах Intel. Это существенно ускоряло процесс программирования.
Но написание языка было непростой задачей. Чтобы понять почему, мы должны представить, как компьютер обрабатывает язык. Компьютерный язык - это набор команд, которые машина должна распознать. Компьютер
реагировал только на те команды, которые заложены в микросхему его чипа. Выполнение языковых команд требовало создания программы, транслирую щей слова, понимаемые пользователем, в команды, которые могла исполь зовать машина.
Микропроцессоры были не только очень малы, они использовали в своей работе ограниченную логику, они имели минимальное количество функций и ужасно трудно программировались. Разработка любого языка для них была сложной задачей, не говоря уже о языке высокого уровня. Друг и со ратник Килдалла позднее рассказывал, что Гэри написал свой PL/М прежде всего потому, что задача казалась неосуществимой. Это было для него интеллектуальным вызовом, как и для большинства программистов и разработчиков до и после него.
Для хранения информации первые микрокомпьютеры Intel использовали бумажную ленту. Поэтому программам приходилось заставлять компьютер контролировать чтение бумажной ленты (перфоленты) и перфокарт, вводить данные по мере подачи информации с ленты, хранить и размещать их в памяти, выдавать информацию на перфокартах. Компьютер также мог манипулировать данными в памяти. Дырочками на перфокарте или перфоленте он показывал, какие ячейки в памяти свободны и какие заняты в конкретный момент. Многие программисты не хотели учитывать эти нюансы каждый раз при написании программы. Большие компьютеры автоматически занимались распределением памяти на задачи, используя программу, называемую операционной системой. Для программистов, работавших с большими компьютерами (mainframe), операционная система была данностью, не отъемлемой особенностью компьютерной среды. Но в Intel занимались всем практически с нуля, и Килдалл стал автором очень простой и компактной операционной системы, предназначенной именно для микропроцессоров. В ко нечном счете эта операционная система превратилась в язык, названный Килдаллом СР/М. Значение его стало понятно не сразу. Вот почему когда Гэри спросил руководство Intel, нет ли у компании возражений относитель но продвижения СР/М на рынке как его собственной системы, то там про сто пожали плечами и разрешили продолжать работу. У компании не было планов покупать ее для себя. А Килдалл сделал на этом целое состояние.
Занявшись микропроцессорами, Intel уже вышла за рамки выпуска чипов памяти. Хотя компания и не думала о том, чтобы свернуть производство, она встретилась со многими трудностями. Да, в Intel говорили о разработке машин на базе микропроцессоров, даже об использовании микропроцессоров как основного компонента маленьких компьютеров. Но продажа компьютеров на базе микропроцессоров, представлялась в лучшем случае далекой перспективой.
Роберт Нойс в те времена считал, что микропроцессоры найдут свой рынок сбыта, скажем, в производстве наручных часов. Intel начала рассматривать вопрос о других потенциальных сферах их применения, в основном, во встроенных системах, управляемых микропроцессорами: духовках, стереосистемах и автомобилях. Производство всех этих предметов становилось задачей потенциальных клиентов Intel, компания просто продавала бы им чипы. В ней существовало неписаное правило - не создавать конкуренции своим собственным клиентам.
В 1972 году работать в Intel было очень интересно. У ее руководителей создавалось ощущение, что компания стала центром Вселенной и что индустрия микропроцессоров имеет большие перспективы. Это казалось очевидным Гэри Килдаллу, Майку Маккуле - менеджеру по продажам чипов памяти и другим выдающимся специалистам, работавшим в полупроводниковой промышленности. И еще один важный момент. В Intel решили про должать работу над созданием логических чипов, а сборку и программирование компьютеров оставить фирмам, давно освоившимся на рынке больших и мини-ЭВМ. Когда же эти компании не приняли вызов, Маккула, Килдалл и Осборн еще раз подумали над своим решением продолжать ра боту с чипами. В течение следующих десяти лет каждый их них стал во главе собственной многомиллионной компании либо по производству персональных компьютеров, либо по созданию программного обеспечения к ним. "
VasilyErmak
15.11.2021 21:03Интересно сколько это стоило?
Dark_Purple Автор
15.11.2021 21:57Важно что оно того стоило, по крайней мере для меня. Сколько в денежном выражении сказать сложно, но не мало.
Myclass
Самый детальный обзор общего характера, который до сих пор видел. Да, и 50-лет — отличная дата, об этом вспомнить. Много идей от-туда перекочевали и в наши дни.