Intel 4040 - Википедия - Intel 4040

Intel 4040
Intel C4040.jpg
Керамический вариант C4040.
Общая информация
Запущен1974
Снято с производства1981[1]
Общий производитель (и)
  • Intel
Спектакль
Максимум. ЦПУ тактовая частотаОт 500 кГц до 740 кГц
Ширина данных4 бит
Ширина адреса12 (мультиплексный)
Архитектура и классификация
Мин. размер элемента10 мкм
Набор инструкций4-битный BCD ориентированный
Физические характеристики
Транзисторы
Пакет (ы)
Розетки)
История
ПредшественникIntel 4004
Преемникнет (Intel прекратила выпуск своих 4-битных процессоров после 4040.)

В Intel 4040 микропроцессор был преемником Intel 4004. Он был представлен в 1974 году. 4040 использовала 10 мкм кремниевый затвор усиливающая нагрузка PMOS технологии, состояло из 3000 транзисторы[3] и мог выполнить около 62000 инструкций в секунду. Общая производительность, схема шины и набор команд были идентичны 4004, с основными улучшениями в добавлении дополнительных строк и инструкций для распознавания и обслуживания. прерывает и аппаратные команды Halt / Stop (последние позволяют выполнять пошаговое управление оператором для целей отладки), расширенный внутренний стек и универсальное регистровое пространство «Индекс» для обработки вложения нескольких подпрограмм и / или прерываний, а также дублирования программы ПЗУ диапазон адресов.

Керамический вариант D4040.
Пластиковый вариант P4040.

Новые возможности

Микроархитектура i4040. NB, «шина данных» также используется для адресации

Расширения

Регистры Intel 4040
12111009080706050403020100(битовая позиция)
Аккумулятор
  ААнакопитель
Коды условий
 CCфлаг arry
Индексные регистры
 R0R1Индексный банк 0
 R2R3 
 R4R5 
 R6R7 
 R8R9 
 R10R11 
 R12R13 
 R14R15 
 R0R1Индексный банк 1
 R2R3 
 R4R5 
 R6R7 
Счетчик команд
ПКппрограмма Cвстречный
Стек вызовов с раскрывающимся списком адресов
ПК1Уровень вызова 1
ПК2Уровень вызова 2
PC3Уровень звонка 3
ПК4Уровень вызова 4
PC5Уровень вызова 5
ПК6Уровень вызова 6
PC7Уровень вызова 7
  • Набор инструкций расширен до 60 инструкций (14 новых инструкций добавлены к существующим 46, в основном связанных с обработкой прерываний, остановкой / пошаговым выполнением и переключением банка ПЗУ)
  • Программная память (ROM) расширена до 8 КБ (13-битное адресное пространство) с использованием переключения банков (исходный выбор одного чипа 4004 расширен до двух взаимоисключающих строк)[Заметка 2]
  • Число регистров увеличено до 24 (8 добавлены к 16 существующим 4-битным универсальным "индексным регистрам", главным образом для использования с обработкой прерываний)[Заметка 3]
  • Стек подпрограмм / прерываний расширен до 7 уровней (с использованием специальных внутренних регистров)[Примечание 4]

Характеристики

  • Шина данных: 4-битный
  • Адресный автобус: 12 бит для ПЗУ (мультиплексируется на шину данных; для передачи адресов потребовалось три цикла шины, как в 4004), фактически 13-битное с использованием команд переключения банков; эффективно 10-битный или 8-битный для RAM (8-битный прямой адрес плюс один из четырех, т. е. 2-битный эквивалент, выбор банка; дополнительные 256 ячеек памяти "состояния" требовали использования команд ввода / вывода для чтения или запись из общего 8-битного адресного пространства)
  • Напряжение: -15 В постоянного тока
  • Рабочая частота: основная частота от 500 до 740 кГц (2 фазы, с перекрытием); От 62500 до 92500 8-тактовых машинных циклов в секунду, каждая инструкция требует одного или двух машинных циклов для чтения и выполнения, что означает приблизительное среднее значение 62KIPS на 740 кГц с равным миксом.[Примечание 5]
  • Производительность: Заявленное время выполнения ~ 850 мкс для сложения двух 32-битных (8-значных двоично-десятичных) чисел или около 1175 таких операций в секунду и примерно 10 машинных циклов на каждую пару цифр.[Примечание 6]

Дизайнеров

Федерико Фаггин предложил проект, сформулировал архитектуру и руководил проектированием. Том Иннес (Тиннес из Бристоля).

Новые микросхемы поддержки

  • Драйверы 4-битной параллельной шины 3216 и 3226[Примечание 7]
  • 4101 - 256 x 4 бит Статическая RAM[Примечание 8]
  • 4201 - Тактовый генератор, от 500 до 740 кГц, с использованием кристаллов от 4 000 до 5,185 МГц
  • 4207 - 8-битный выходной порт общего назначения
  • 4209 - 8-битный входной порт общего назначения
  • 4211 - 8-битный порт ввода / вывода общего назначения
  • 4265 - Программируемый ввод / вывод общего назначения
  • 4269 - Программируемая клавиатура / дисплей
  • 4289 - Стандартный интерфейс памяти (заменяет 4008/4009)[Примечание 9]
  • 4308 - 1K x 8-битное ПЗУ плюс 4 x 4-битных порта ввода-вывода[Примечание 10]
  • 4316 - ПЗУ 2K x 8 бит[Примечание 11]
  • 4702 - СППЗУ 256 x 8 бит[Примечание 12]

Производство

Филиппины

Примечания

  1. ^ По сути, побочная функция Halt / Single Step; вся внутренняя обработка будет приостановлена, а большая часть аппаратного обеспечения микросхемы будет переведена в состояние с низким уровнем стока и высоким импедансом, но тактовые импульсы машинного цикла будут продолжать работать в пользу внешних устройств, включая любые контроллеры прерываний, которые потребуются для пробуждения чип, который полагался на их синхронизацию.
  2. ^ Объем RAM остался неизменным по сравнению с 4004, как и невозможность запускать программы из RAM.
  3. ^ Только 16 из так называемых «индексных» регистров (которые работали и могли использоваться способом, более знакомым как регистры общего назначения в современном ЦП, где Индексный регистр имеет гораздо более конкретное приложение для адресации памяти) может быть доступен в любой момент, при этом требуется конкретная команда переключения банка для замены одного или другого банка 8 на логические регистры 0-7, а регистры 8-15 остаются постоянно доступный. Идея заключалась в том, что любой критически важный контекст должен храниться в первых 8, поскольку при возникновении прерывания он не только помещает адрес обработчика исключений в стек, но и переключает банки индексных регистров, автоматически сохраняя это состояние до тех пор, пока обработчик не вернет управление. в нормальный поток программы - при условии, конечно, что вы еще не поменяли местами банки намеренно, чтобы использовать дополнительное пространство внутренней памяти. Если процедура прерывания хотела использовать последние восемь регистров, программист должен был сначала сохранить любые данные, хранящиеся в них, в другое место, а затем восстановить их перед возвратом из подпрограммы.
  4. ^ по умолчанию поддерживался только один уровень прерывания, так как дальнейшее обслуживание было отключено после подтверждения первоначального прерывания и повторно включено только на RTI, по сути, позволяя три уровня стекирования подпрограмм внутри самого прерывания, происходящего в рамках подпрограммы трех уровней, но обнаружение может быть принудительно включен с помощью определенной команды
  5. ^ Это может быть не совсем точным и основано на характеристиках 4004; некоторые из добавленных инструкций могут потребовать дополнительных циклов для выполнения, особенно любого внешнего стекирования регистров, необходимого для обработки прерывания, но в документации не ясно, так ли это; остановка / шаг - это особые случаи, которые, естественно, требуют многих миллионов циклов для «выполнения», но, поскольку они по существу происходят «вне» обычного потока программы, они не учитываются при вычислении скорости.
  6. ^ Аналогично, исходя из заявленной производительности 4004; «850 мкс» - это несколько округленное значение, заявленное в ранней брошюре Intel, и может быть не особенно точным, но общее время выполнения составляет примерно 79 или 80 машинных циклов, что вполне соответствует 10 циклам на пару цифр, 9 циклов на пару плюс 7 для настройки и любой необходимой постобработки, или 8 на пару плюс 15 дополнительных (... и т. Д.). Фактическое сочетание инструкций не было указано, поэтому без исходного кода и списка времени выполнения инструкций невозможно быть уверенным. Более эффективная процедура добавления могла бы быть возможна на 4040 по сравнению с 4004, но дополнительные инструкции не предлагают какого-либо очевидного метода для достижения этого и, по-видимому, сосредоточены на устранении более очевидных недостатков более раннего чипа, например отсутствие прерываний и остановок.
  7. ^ Обеспечивает способность выдерживать «высокий» ток (~ 25 мА) для внешних устройств ввода / вывода. Предполагается, что он предназначен исключительно для использования с 4289, но дизайн выглядит довольно универсальным и может быть адаптирован к голым 4004/4040?
  8. ^ то есть объединение главный хранение четырех 4002 в одной индивидуально выбираемой микросхеме, но без 4-битного порта ввода / вывода и дополнительных 64 слов памяти состояния, доступной для команд ввода / вывода. Поскольку он имеет выделенную 8-битную адресную шину и две отдельные 4-битные шины ввода и вывода данных, 4101 предназначен только для использования в качестве периферийного устройства нисходящего потока 4289. Это дополнительно подчеркивается в заявлении SRAM: используется для записываемой программной памяти », что недостижимо для 4004 или 4040.
  9. ^ Позволяет подключать «стандартную» память (8-битные параллельные данные и / или до 12-битной параллельной адресации, последняя в форме 8-битного адреса плюс 4-битный двоичный выбор микросхемы) и устройств к 4004 или 4040, как а также использование ОЗУ в качестве памяти программ (4289 может быть установлен так, чтобы он выглядел как обычное ПЗУ 4001 для процессора независимо от того, что подключено с другой стороны; поддерживая иллюзию, он также обеспечивает те же четыре линии ввода / вывода что предлагает 4001). 4040, использующий два 4289, может предлагать различные комбинации ПЗУ и ОЗУ в сегментах 2 КБ до 8 КБ с относительно упрощенной схемой сегрегированной адресации и небольшим количеством 4101 и 4308, например 3x 4308 и 8x 4101 для 6 КБ ПЗУ и 1 КБ ОЗУ.
  10. ^ Непосредственно заменяет четыре отдельных чипа 4001 одним чипом, в том числе доступен в четырех «металлических» вариантах, которые отвечают на логические адреса чипа 0-3, 4-7, 8-11 и 12-15, имитируя шестнадцать оригинальных версий 4001
  11. ^ Предназначен для использования после 4289, так как он имеет 11-битную шину ввода параллельного адреса и отдельную 8-битную параллельную шину вывода данных, а также три линии выбора микросхемы с двоичным кодированием (что позволяет обеспечить до 16 КБ ПЗУ с схема адресации несовместима с 4004/4040 на нескольких разных уровнях - хотя только два 4316, то есть 4 КБ ПЗУ, или один 4316 плюс ОЗУ, могут быть напрямую адресуется 4289 без дополнительного оборудования и / или специальных методов программирования)
  12. ^ то есть с УФ-стиранием, а не электронным способом, и снова предназначен для использования с 4289, поскольку он имеет отдельные 8-битные параллельные шины ввода адреса и вывода данных.

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

  1. ^ "История ЦП - Музей ЦП - Жизненный цикл ЦП". www.cpushack.com.
  2. ^ "cpu-collection.de >> Intel >> 4040". www.cpu-collection.de.
  3. ^ "cpu-collection.de >> Intel >> 4040". www.cpu-collection.de.

дальнейшее чтение