Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Новые возможности [ править ]

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

Расширения [ править ]

  • Набор команд расширен до 60 инструкций (14 новых инструкций добавлены к существующим 46, в основном связанных с обработкой прерываний, остановкой / пошаговым выполнением и переключением банков ПЗУ)
  • Программная память (ПЗУ) расширена до 8 КБ (13-битное адресное пространство) с использованием переключения банков (исходный выбор одного чипа 4004 расширен до двух взаимоисключающих строк) [Примечание 2]
  • Количество регистров увеличено до 24 (8 добавлены к 16 существующим 4-битным универсальным "индексным регистрам", в основном для использования с обработкой прерываний) [Примечание 3]
  • Стек подпрограмм / прерываний расширен до 7 уровней (с использованием специальных внутренних регистров) [Примечание 4]

Характеристики [ править ]

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

Дизайнеры [ править ]

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

Новые фишки поддержки [ править ]

  • Драйверы 4-битной параллельной шины 3216 и 3226 [Примечание 7]
  • 4101 - 256 x 4-битное статическое ОЗУ [Примечание 8]
  • 4201 - Тактовый генератор, от 500 до 740 кГц, с использованием кристаллов от 4 000 до 5,185 МГц
  • 4207 - 8-битный выходной порт общего назначения
  • 4209 - 8-битный входной порт общего назначения
  • 4211 - 8-битный порт ввода / вывода общего назначения
  • 4265 - Программируемый ввод / вывод общего назначения
  • 4269 - Программируемая клавиатура / дисплей
  • 4289 - Стандартный интерфейс памяти (заменяет 4008/4009) [Примечание 9]
  • 4308 - 1 КБ 8-разрядного ПЗУ плюс 4 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 КБ ROM и 1 КБ RAM. .
  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 .

Дальнейшее чтение [ править ]

  • Лист данных ChipDB: i4040 (PDF)
  • Bitsavers: Руководство пользователя MCS-40, ноябрь 1974 г. (PDF)
  • Wikichip: MCS-40
  • Pastraiser: Организация памяти i4040
  • Intel-Vintage: микросхемы памяти
  • Зона процессора: набор микросхем MCS-4
  • Зона процессора: i4702