Jump to content

Интел 4040

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

Intel 4040 сорок-четыре ») — второй 4-битный микропроцессор, разработанный и производимый Intel . Представленный в 1974 году как преемник Intel 4004 , процессор 4040 производился по 10-мкм техпроцессу и включал в себя на кремниевый затвор с улучшенной нагрузкой логическую технологию PMOS . 4040 содержал 3000 транзисторов . [2] и мог выполнять примерно 62 000 инструкций в секунду .

Общие характеристики, схема шины и арифметико-логический блок (ALU) были идентичны 4004. Основное улучшение заключалось в использовании более крупного 24-контактного двухрядного корпуса , что давало на 8 контактов больше, чем 16-контактный 4004. Были использованы два из них. реализовать прерывания , которых не было в 4004 и которые считались серьезным упущением. Еще в двух реализована система остановки/остановки, которая переводила процессор в режим пониженного энергопотребления, а также позволяла выполнять одноэтапную работу, что значительно облегчало отладку. Другой вывод использовался для выбора банка второго постоянного запоминающего устройства (ПЗУ), что удваивало объем ПЗУ, к которому процессор мог обращаться, по сравнению с 4004.

Чтобы использовать эти новые выводы, набор инструкций был расширен, увеличив его до 60 инструкций с исходных 46. Кроме того, были расширены внутренний файл регистров и стек pushdown для поддержки быстрой обработки прерываний.

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

Описание [ править ]

4004 [ править ]

Модель 4004 была разработана для использования в электронном калькуляторе , и многие примечания к ее конструкции связаны с этой ролью. Например, программный код может быть прочитан только из области, предназначенной только для чтения , а не из ОЗУ. Хотя можно было реализовать «пространство ПЗУ» с использованием микросхем ОЗУ, не было инструкций, способных записывать в эту область памяти, и не было инструкций, способных читать программный код из пространства ОЗУ. Идея заключалась в том, что системы будут хранить системную программу в ПЗУ, а небольшие объемы ОЗУ будут использоваться только для данных, если вообще будут использоваться. Обычно внутренние «индексные регистры» используются для хранения во время вычислений, при этом 16 4-битных регистров могут хранить одно 8-значное двоично-десятичное значение - формат данных, используемый калькуляторами. Он также имел четыре 12-битных регистра для хранения адресов, самый верхний из которых был счетчиком программ , а следующие три работали как стек с выталкиванием вниз для вызовов подпрограмм .

Чтобы уменьшить количество контактов до 16, исходный 4004 имел только четыре контакта данных, мультиплексированных как для данных, так и для адресов. Дополнительные контакты указывали, находился ли адрес в ПЗУ или в одном из нескольких «банков» ОЗУ. Поскольку длина адреса составляла 12 бит, выражение адреса занимало три цикла вместе с последующим чтением или записью, а внешняя схема должна была фиксировать каждую 4-битную часть адреса между циклами. Инструкции были 8-битными, поэтому загрузка следующей инструкции требовала много циклов, что приводило к снижению производительности, несмотря на относительно короткое время цикла для той эпохи.

4040 [ править ]

Микроархитектура i4040. Примечание: для адресации также используется «шина данных».
чипа Intel 4040 DIP Распиновка

По сути, 4040 был расширением 4004 с дополнительными контактами, большим количеством регистров и новыми инструкциями, позволяющими использовать оба преимущества.

У 4004 был один вывод ПЗУ, тогда как у 4040 был добавлен еще один вывод ПЗУ, чтобы можно было использовать два банка ПЗУ. Это эффективно увеличило адрес ПЗУ с 12 до 13 бит, или 8 КБ. В отличие от более поздних разработок, в которых две строки могли быть закодированы в двоичном формате и, таким образом, поддерживать четыре банка, микросхемы ПЗУ, используемые с 4004 и 4040, использовали эти линии как контакты выбора чипа , и, таким образом, две линии могли поддерживать только два банка.

В 4004 отсутствовали прерывания , что было серьезным ограничением. В 4040 добавлен новый входной контакт для вызова прерывания, а также выходной контакт, указывающий, что сигнал прерывания был замечен и на него воздействуют. Поскольку прерываниям также необходимо сохранять адрес возврата, файл регистров стека был расширен до семи записей вместо трех. [Примечание 1]

Код обработчика прерываний обычно начинается с сохранения значений в регистрах, чтобы код прерывания мог их использовать, а затем в конце копирует значения обратно из памяти, чтобы процессор вернулся в исходное состояние до прерывания. Учитывая многоцикловый доступ к памяти, это было бы чрезвычайно медленно. Чтобы решить эту проблему, в новый «банк 1» были добавлены восемь дополнительных регистров, причем первоначальные шестнадцать регистров задним числом стали «банком 0». Идея заключалась в том, что программисты попытаются поместить свои критически важные данные в первые восемь регистров банка 0. При получении прерывания код обработчика вызовет инструкцию по замене банков, что приведет к тому, что регистры банка 1 переопределят регистры банка 0. по 7. Код обработчика затем будет использовать эти восемь регистров для любых локальных данных, оставляя исходные значения нетронутыми. Когда обработчик завершил работу, он просто заменил банк 0 обратно. Это сократило время переключения до одной инструкции, что значительно улучшило время отклика на прерывание.

Еще одним дополнением был входной контакт остановки и соответствующее подтверждение остановки выхода. Их можно было использовать для остановки процессора, пока система выполняла ввод/вывод или другие задачи, не связанные с процессором, но более широко они использовались для отладки , позволяя процессору работать в одношаговом режиме. Когда процессор находился в остановленном режиме, большая часть аппаратного обеспечения микросхемы переходила в состояние с низким потреблением и высоким импедансом, что снижало энергопотребление. Часы машинного цикла продолжали работать для внешних устройств, включая любые контроллеры прерываний, необходимые для резервного пробуждения чипа, что зависело от синхронизации этих контроллеров.

Чтобы воспользоваться этими новыми функциями, в набор инструкций было добавлено 14 новых инструкций, в результате чего их общее количество достигло 60.

Регистры Intel 4040
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 (битовая позиция)
аккумулятор
А аккумулятор
Коды условий
С Нести флаг
Индексные регистры
Р0 Р1 Индексный банк 0
Р2 Р3
Р4 Р5
Р6 Р7
Р8 Р9
10 рэндов Р11
Р12 Р13
Р14 15 рэндов
Р0 Р1 Индексный банк 1
Р2 Р3
Р4 Р5
Р6 Р7
Счетчик программ
ПК Программный счетчик
Стек вызовов адресов с понижением
ПК1 Уровень вызова 1
ПК2 Уровень вызова 2
ПК3 Уровень вызова 3
ПК4 Уровень вызова 4
ПК5 Уровень вызова 5
ПК6 Уровень вызова 6
ПК7 Уровень вызова 7

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

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

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

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

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

  • Драйверы 4-битной параллельной шины 3216 и 3226 [Примечание 4]
  • 4101 – 256 x 4-битная статическая ОЗУ [Примечание 5]
  • 4201 - Тактовый генератор, от 500 до 740 кГц, с использованием кристаллов от 4000 до 5,185 МГц.
  • 4207 — 8-битный выходной порт общего назначения.
  • 4209 — 8-битный входной порт общего назначения.
  • 4211 – 8-битный порт ввода-вывода общего назначения
  • 4265 — Программируемый ввод-вывод общего назначения. Он содержит четыре 4-битных порта ввода-вывода. Он имеет 14 программно выбираемых режимов, которые можно запрограммировать для взаимодействия с этими портами. Он может не только взаимодействовать с этим процессором, но и с процессором 8080A. В марте (1976 г.) он был доступен в ограниченном количестве на складе. [3] [4]
  • 4269 — Программируемая клавиатура/дисплей. В этом наборе микросхем имеется конфигурация системного программного обеспечения с помощью инструкций, которые управляют работой этих портов. В марте (1976 г.) он был доступен в пробных количествах. [3] [5]
    • Особенности клавиатуры: Генерирует прерывание при нажатии клавиши. Он хранит до 8 символов буфера FIFO перед обслуживанием ЦП. Он может быть сопряжен с датчиками, панельными переключателями и клавиатурами, которые поддерживают размер полноразмерной телетайпной машинки. Это может быть кодирование ввода с клавиатуры, опрос, хранение буфера ввода символов и восстановление после ввода с клавиатуры.
    • Характеристики дисплея: Он управляет и обновляет дисплеи или массивы индикаторов, содержащие до 128 элементов или индикаторов. Он также поддерживает газоразрядный дисплей, такой как дисплей самосканирования Burroughs, на котором можно управлять до 20 символов.
  • 4289 — Стандартный интерфейс памяти (заменяет 4008/4009) [Примечание 6]
  • 4308 — 1 КБ 8-битного ПЗУ плюс 4 4-битных порта ввода-вывода [Примечание 7]
  • 4316 – ПЗУ 2К х 8 бит [Примечание 8]
  • 4702 – 256 х 8-битная СППЗУ [Примечание 9]

Использование в компьютерах [ править ]

По данным журнала Byte , первым микрокомпьютером, созданным на базе Intel 4040, был Micro 440 , выпущенный компанией Comp-Sultants из Хантсвилля, штат Алабама, в 1975 году. [6]

См. также [ править ]

Примечания [ править ]

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

Ссылки [ править ]

  1. ^ «Жизненный цикл процессора» . CPUShack . 2005.
  2. Перейти обратно: Перейти обратно: а б "cpu-collection.de >> Intel >> 4040" . www.cpu-collection.de .
  3. Перейти обратно: Перейти обратно: а б Корпорация Intel, «Программируемые компоненты ввода-вывода 4269 и 4265, представленные для 4-битных систем Intel MCS-40», Intel Microcomputer News, том 3, № 1, январь 1976 г., стр. 3
  4. ^ Корпорация Intel, «Программируемое устройство ввода-вывода общего назначения 4265», Каталог данных Intel 1976 г. , февраль 1976 г., стр. 7-22
  5. ^ Корпорация Intel, «Устройство отображения с программируемой клавиатурой 4269», Каталог данных Intel 1976 г. , февраль 1976 г., стр. 7-39
  6. ^ Хелмерс, Карл Т. младший, изд. (декабрь 1975 г.). «Микро-440» . Байт (4). Байтовые публикации: 89 - через Интернет-архив.

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

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 31e0ceb8fdfbe7d222a179f27a5066e5__1718832000
URL1:https://arc.ask3.ru/arc/aa/31/e5/31e0ceb8fdfbe7d222a179f27a5066e5.html
Заголовок, (Title) документа по адресу, URL1:
Intel 4040 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)