Интел 8008 -Intel 8008

Интел 8008
КЛ Intel C8008-1.jpg
Вариант процессора Intel C8008-1 с пурпурной керамикой, позолоченной металлической крышкой и контактами.
Общая информация
Запущен Середина 1972 г.
Снято с производства 1983 г.
Разработано Корпорация компьютерных терминалов (CTC)
Общий производитель (и)
Производительность
Макс. Тактовая частота процессора от 200 кГц до 800 кГц
Ширина данных 8 бит
Ширина адреса 14 бит
Архитектура и классификация
Приложение Компьютерные терминалы , калькуляторы , разливочные машины, промышленные роботы ASEA 1970-х годов (IRB 6), простые компьютеры и т. д.
Технологический узел 10 мкм
Набор инструкций 8008
Физические характеристики
Транзисторы
Пакет(ы)
Розетки)
История
Преемник Интел 8080
Статус поддержки
Не поддерживается

Intel 8008восемь тысяч восемь » или « восемьдесят восемь ») — ранний байт-ориентированный микропроцессор , разработанный Computer Terminal Corporation (CTC), реализованный и произведенный Intel и представленный в апреле 1972 года. 8-битный ЦП с внешней 14-битной адресной шиной, которая может адресовать 16 КБ памяти. Первоначально известный как 1201 , чип был заказан Computer Terminal Corporation (CTC) для реализации разработанного ими набора инструкций для их программируемого терминала Datapoint 2200 . Поскольку чип был отложен и не соответствовал целям CTC по производительности, в 2200 вместо этого использовался собственный ЦП CTC на основе TTL . Соглашение позволяло Intel продавать чип другим клиентам после того, как Seiko выразила заинтересованность в использовании его для калькулятора .

История

CTC образовалась в Сан-Антонио в 1968 году под руководством Остина О. «Гаса» Роша и Фила Рэя, инженеров НАСА . В частности, Roche в первую очередь интересовалась производством настольных компьютеров. Однако, учитывая незрелость рынка, в бизнес-плане компании упоминалась только замена Teletype Model 33 ASR, которая поставлялась как Datapoint 3300 . Корпус был специально разработан, чтобы поместиться в том же пространстве, что и пишущая машинка IBM Selectric , и использовал видеоэкран, имеющий такое же соотношение сторон , как у перфокарты IBM . Несмотря на коммерческий успех, у 3300 были постоянные проблемы с нагревом из-за большого количества схем, упакованных в такое маленькое пространство.

Чтобы решить проблемы с нагревом и другими проблемами, была начата переработка, в которой часть ЦП внутренней схемы была повторно реализована на одном чипе. В поисках компании, способной разработать их микросхемы, «Рош» обратилась к Intel, которая в то время в основном производила микросхемы памяти. Рош встретился с Бобом Нойсом , который выразил озабоченность по поводу этой концепции; Джон Фрассанито вспоминает, что «Нойс сказал, что это интригующая идея, и что Intel может это сделать, но это будет глупый ход. Он сказал, что если у вас есть компьютерный чип, вы можете продавать только один чип на компьютер, в то время как с памятью , вы можете продавать сотни чипов на один компьютер». Еще одна серьезная проблема заключалась в том, что существующая клиентская база Intel приобрела их микросхемы памяти для использования с собственными процессорами; если бы Intel представила свой собственный процессор, их могли бы рассматривать как конкурента, и их клиенты могли бы искать память в другом месте. Тем не менее, в начале 1970 года Нойс согласился на контракт на разработку на сумму 50 000 долларов. Компания Texas Instruments (TI) также была привлечена в качестве второго поставщика.

TI смогла изготовить образцы 1201 на основе чертежей Intel, но они оказались ошибочными и были отклонены. Собственные версии Intel были задержаны. CTC решила повторно внедрить новую версию терминала с использованием дискретного TTL вместо того, чтобы ждать одночипового процессора. Новая система была выпущена как Datapoint 2200 весной 1970 года, а их первая продажа General Mills состоялась 25 мая 1970 года. CTC приостановила разработку 1201 после выпуска 2200, поскольку в ней больше не было необходимости. Шесть месяцев спустя Seiko обратилась к Intel, выразив заинтересованность в использовании 1201 в научном калькуляторе, вероятно, после того, как увидела успех более простого Intel 4004, используемого Busicom в своих бизнес-калькуляторах. Затем последовал небольшой редизайн под руководством Федерико Фаггина , дизайнера 4004, ныне руководителя проекта 1201, с расширением конструкции с 16-контактного на 18-контактный, и новый 1201 был доставлен в CTC в конце 1971 г. .

К тому моменту CTC снова перешла к Datapoint 2200 II , который был быстрее. 1201 уже не был достаточно мощным для новой модели. CTC проголосовала за прекращение своего участия в разработке 1201, оставив интеллектуальную собственность Intel вместо того, чтобы платить по контракту на 50 000 долларов. Intel переименовала его в 8008 и поместила в свой каталог в апреле 1972 года по цене 120 долларов. Это переименование попыталось свести на нет успех чипа 4004, представив 8008 просто как порт с 4 на 8, но 8008 не основан на 4004. 8008 стал коммерчески успешным дизайном. За ним последовал Intel 8080 , а затем чрезвычайно успешное семейство Intel x86 .

Одной из первых команд, создавших полную систему на основе 8008, была команда Билла Пентца из Калифорнийского государственного университета в Сакраменто . Sac State 8008, возможно, был первым настоящим микрокомпьютером с дисковой операционной системой, построенной на языке ассемблера IBM Basic в PROM, и все это управляло цветным дисплеем, жестким диском, клавиатурой, модемом, устройством чтения аудио / бумажных лент и принтером. Проект стартовал весной 1972 года, и год спустя с ключевой помощью Tektronix система заработала полностью. Билл помогал Intel с комплектом MCS-8 и внес ключевой вклад в набор инструкций Intel 8080 , что помогло сделать его полезным для промышленности и любителей.

В Великобритании группа SE Laboratories Engineering (EMI) под руководством Тома Спинка в 1972 году построила микрокомпьютер на основе предварительного образца 8008. Джо Хардман расширил чип с помощью внешнего стека. Это, среди прочего, дало ему сохранение и восстановление после сбоя питания. Джо также разработал принтер для прямой трафаретной печати. Операционная система была написана с использованием метаассемблера, разработанного Л. Кроуфордом и Дж. Парнеллом для Digital Equipment Corporation PDP-11 . Операционная система была записана в PROM. Он управлялся прерываниями, ставился в очередь и основывался на фиксированном размере страницы для программ и данных. Для руководства был подготовлен действующий прототип, который решил не продолжать проект.

8008 был ЦП для самых первых коммерческих персональных компьютеров без калькулятора (за исключением самого Datapoint 2200): комплект SCELBI для США и предварительно собранный французский Micral N и канадский MCM / 70 . Он также был управляющим микропроцессором для первых нескольких моделей компьютерных терминалов Hewlett-Packard семейства 2640 .

Intel предложила симулятор набора команд для 8008 под названием INTERP/8. Он был написан на Фортране .

Дизайн

микроархитектура i8008
Регистры Intel 8008
1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (битовая позиция)
Основные регистры
  А Аккумулятор _
  Б регистр Б
  С регистр C
  Д регистр D
  Е Е регистр
  ЧАС Регистр H (косвенный)
  л L регистр (косвенный)
Счетчик команд
ПК Счетчик программ _ _
Стек адресных вызовов push-down
КАК Уровень вызова 1
КАК Уровень вызова 2
КАК Уровень вызова 3
КАК Уровень вызова 4
КАК Уровень вызова 5
КАК Уровень вызова 6
КАК Уровень вызова 7
Флаги
  С п Z С Флаги

8008 был реализован в 10-  микронной логике PMOS с кремниевым затвором в режиме улучшения . Начальные версии могли работать на тактовых частотах до 0,5 МГц. Позже в модели 8008-1 она была увеличена до указанного максимума в 0,8 МГц. Инструкции занимают от 5 до 11 T-состояний, где каждое T-состояние составляет 2 такта. Загрузки регистр-регистр и операции ALU занимают 5T (20 мкс при 0,5 МГц), регистр-память 8T (32 мкс), а вызовы и переходы (при выполнении) занимают 11 T-состояний (44 мкс). 8008 немного медленнее с точки зрения количества инструкций в секунду (от 36 000 до 80 000 при 0,8 МГц), чем 4-битные Intel 4004 и Intel 4040 . но поскольку 8008 обрабатывает данные по 8 бит за раз и может получить доступ к значительно большему объему оперативной памяти, в большинстве приложений он имеет значительное преимущество в скорости по сравнению с этими процессорами. 8008 имеет 3500 транзисторов .

Микросхема (ограниченная 18-контактным разъемом DIP ) имеет единственную 8-битную шину и требует значительного количества внешней вспомогательной логики. Например, 14-битный адрес, который может получить доступ к «16 К × 8 битам памяти», должен быть заблокирован некоторой этой логикой во внешнем адресном регистре памяти (MAR). 8008 может получить доступ к 8 портам ввода и 24 портам вывода.

Для использования с контроллером и терминалом ЭЛТ это приемлемая конструкция, но она довольно громоздка для большинства других задач, по крайней мере, по сравнению с микропроцессорами следующего поколения. Несколько ранних компьютерных проектов были основаны на нем, но большинство из них использовали вместо него более поздний и значительно улучшенный Intel 8080 .

Связанные конструкции процессоров

Последующий 40-контактный NMOS Intel 8080 расширил регистры и набор инструкций 8008 и реализовал более эффективный интерфейс внешней шины (с использованием 22 дополнительных контактов). Несмотря на близкое архитектурное родство, процессор 8080 не был совместим с 8008 на двоичном уровне, поэтому программа 8008 не могла работать на 8080. Однако, поскольку в то время Intel использовала два разных синтаксиса ассемблера, 8080 можно было использовать в 8008 обратно совместимый язык ассемблера.

Intel 8085 представляет собой электрически модернизированную версию 8080, в которой используются транзисторы режима истощения , а также добавлены две новые инструкции.

Intel 8086 , исходный процессор x86, является нестрогим расширением 8080, поэтому он также немного напоминает оригинальный дизайн Datapoint 2200. Почти каждая инструкция Datapoint 2200 и 8008 имеет эквивалент не только в наборе инструкций 8080, 8085 и Z80 , но и в наборе инструкций современных процессоров x86 (хотя кодировки инструкций разные).

Функции

Архитектура 8008 включает следующие функции:

  • Семь 8-битных регистров «блокнота»: основной аккумулятор (A) и шесть других регистров (B, C, D, E, H и L).
  • 14-битный программный счетчик (ПК).
  • Семиуровневый стек адресных вызовов с проталкиванием вниз . На самом деле используются восемь регистров, причем самым верхним является регистр PC.
  • Четыре флага состояния кода состояния: перенос (C), четность (P), ноль (Z) и знак (S).
  • Косвенный доступ к памяти с использованием регистров H и L (HL) в качестве 14-битного указателя данных (два старших бита игнорируются).

Пример кода

Следующий исходный код сборки 8008 предназначен для названной подпрограммы MEMCPY, которая копирует блок байтов данных заданного размера из одного места в другое.

                   
                   
                   
                   
                   
                   
                   
                   
                   
001700  000        
001701  000        
001702  000        
001703  000        
001704  000        
001705  000        
                   
                   
002000  066 304    
002002  056 003    
002004  327        
002005  060        
002006  317        
002007  302        
002010  261        
002011  053        
002012  302        
002013  024 001    
002015  320        
002016  301        
002017  034 000    
002021  310        
002022  066 300    
002024  056 003    
002026  302        
002027  207        
002030  340        
002031  060        
002032  301        
002033  217        
002034  350        
002035  364        
002036  337        
002037  066 302    
002041  056 003    
002043  302        
002044  207        
002045  340        
002046  060        
002047  301        
002050  217        
002051  350        
002035  364       
002052  373        
002053  104 007 004
002056             
; MEMCPY --
; Copy a block of memory from one location to another.
;
; Entry parameters
;       SRC: 14-bit address of source data block
;       DST: 14-bit address of target data block
;       CNT: 14-bit count of bytes to copy
 
            ORG     1700Q       ;Data at 001700q
SRC         DFB     0           ;SRC, low byte
            DFB     0           ;     high byte
DST         DFB     0           ;DST, low byte
            DFB     0           ;     high byte
CNT         DFB     0           ;CNT, low byte
            DFB     0           ;     high byte
 
            ORG     2000Q       ;Code at 002000q
MEMCPY      LLI     CNT+0       ;HL = addr(CNT)
            LHI     CNT+1
            LCM                 ;BC = CNT
            INL
            LBM
LOOP        LAC                 ;If BC = 0,
            ORB
            RTZ                 ;Return
DECCNT      LAC                 ;BC = BC - 1
            SUI     1
            LCA
            LAB
            SBI     0
            LBA
GETSRC      LLI     SRC+0       ;HL = addr(SRC)
            LHI     SRC+1
            LAC                 ;HL = SRC + BC
            ADM                 ;E = C + (HL)
            LEA                 ;(lower sum)
            INL                 ;point to upper SRC
            LAB
            ACM                 ;H = B + (HL) + CY
            LHA                 ;(upper sum)
            LLE                 ;L = E
            LDM                 ;Load D from (HL)
GETDST      LLI     DST+0       ;HL = addr(DST)
            LHI     DST+1
            LAC                 ;HL = DST + BC
            ADM                 ;ADD code same as above
            LEA
            INL 
            LAB
            ACM
            LHA
            LLE
            LMD                 ;Store D to (HL)
            JMP     LOOP        ;Repeat the loop
            END

В приведенном выше коде все значения даны в восьмеричном формате. Locations SRC, DST, и CNTявляются 16-битными параметрами для подпрограммы с именем MEMCPY. На самом деле используются только 14 бит значений, поскольку ЦП имеет только 14-битное адресуемое пространство памяти. Значения хранятся в формате с прямым порядком байтов , хотя это произвольный выбор, поскольку ЦП не может считывать или записывать в память более одного байта за раз. Поскольку нет инструкции для загрузки регистра непосредственно из заданного адреса памяти, пара регистров HL должна быть сначала загружена с адресом, а затем целевой регистр может быть загружен из операнда M, что является косвенной загрузкой из ячейки памяти. в паре регистров HL. Пара регистров BC загружается со CNTзначением параметра и уменьшается в конце цикла, пока не станет равным нулю. Обратите внимание, что большинство используемых инструкций занимают один 8-битный код операции.

Дизайнеры

  • CTC ( Набор инструкций и архитектура ): Виктор Пур и Гарри Пайл .
  • Intel ( реализация в кремнии ):
    • Тед Хофф , Стэн Мейзор и Ларри Поттер (главный научный сотрудник IBM) предложили однокристальную реализацию архитектуры CTC с использованием памяти регистра RAM, а не памяти регистра сдвига, а также добавили несколько инструкций и средство прерывания. Разработка чипа 8008 (первоначально называвшегося 1201) началась до разработки 4004. Хофф и Мазор, однако, не могли и не разработали «кремниевый дизайн», потому что они не были ни разработчиками микросхем, ни разработчиками процессов, и, кроме того, необходимая методология и схемы проектирования на основе кремниевых затворов, разрабатываемые Федерико Фаггином для 4004, еще не были доступны.
    • Федерико Фаггин , закончив проектирование 4004, стал руководителем проекта с января 1971 года до его успешного завершения в апреле 1972 года, после того как он был приостановлен — из-за отсутствия прогресса — примерно на семь месяцев.
    • Хэл Фини , инженер-проектировщик, разработал детальную логическую схему, схему и физическую компоновку под руководством Фаггина, используя ту же методологию проектирования, которую Фаггин первоначально разработал для микропроцессора Intel 4004, и используя базовые схемы, которые он разработал для 4004. Комбинированный логотип «HF» был выгравирован на чипе примерно посередине между контактными площадками D5 и D6.

Вторые источники

Смотрите также

  • Mark-8 и SCELBI , компьютерные комплекты на базе 8008
  • MCM/70 и Micral , новаторские микрокомпьютеры
  • PL/M — первый язык программирования для микропроцессора Intel 8008, разработанный Гэри Килдаллом.

Рекомендации

Внешние ссылки