Что такое масочный процессор

Что такое масочный процессор

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

пысы: летом заводится и едет на ура

вебасто конечно выход. но тут тема не про предпусковой подогрев)

может кто сталкивался с подобными проблемами. у кого еще масочный процессор?

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

пысы: летом заводится и едет на ура

вот работал в сургуте.морозы приличные.ни разу на премьерах не сталкивался с плохим запуском из-за рошивки.хотя распространено заблуждение что японцы не расчитаны на наши морозы.в основной массе проблема в свечах зажигания.проверял на тестере Э203.вот

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

пысы: летом заводится и едет на ура

Источник

Память микроконтроллеров. Регистровая память

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессорМожно выделить три основных вида памяти, используемой в микроконтрол­лерах:

● память программ, которая представляет собой постоянную память, пред­назначенную для хранения программного кода и констант. Эта память не из­меняет своего содержимого в процессе выполнения программы;

● память данных, предназначенная для хранения переменных (результатов) в ходе выполнения программы;

регистровая память, состоящая из внутренних регистров микроконтроллера. Рассмотрим особенности каждого из перечисленных видов памяти.

Память программ.

Необходимость такой памяти вызвана тем, что микроконт­роллер не содержит таких устройств памяти, как винчестер в компьютере, с кото­рого загружается исполняемая программа. Поэтому код программы должен по­стоянно храниться в микроконтроллере.

Все типы памяти программ относятся к энергонезависимой памяти, или постоянной памяти (ПЗУ), содержимое которой сохраняется после выключения питания микроконтроллера.

В процессе выполне­ния программа считывается из этой памяти, а блок управления (дешифратор команд) обеспечивает ее декодирование и выполнение необходимых операций. Содержимое памяти программ не может меняться (перепрограммироваться) во время выполнения программы. Поэтому функциональное назначение микроконт­роллера не может измениться, пока содержимое его памяти программ не будет стерто (если это возможно) и перепрограммировано (заполнено новыми коман­дами).

Следует обратить внимание, что разрядность микроконтроллера (8, 16 или 32 бит) указывается в соответствии с разрядностью его шины данных.

Когда го­ворится, что устройство является 8–разрядным, это означает разрядность дан­ных, которые способен обрабатывать микроконтроллер.

В Гарвардской архитектуре команды могут иметь большую разрядность, чем данные, чтобы дать возможность считывать за один такт целую команду. Напри­мер, микроконтроллеры PIC в зависимости от модели используют команды с раз­рядностью 12, 14 или 16 бит. В микроконтроллерах AVR команда всегда имеет разрядность 16 бит. Однако все эти микроконтроллеры имеют шину данных раз­рядностью 8 бит.

В устройствах с Принстонской архитектурой разрядность данных обычно оп­ределяет разрядность (число линий) используемой шины. В микроконтроллерах Motorola 68НС05 24–разрядная команда размешается в трех 8–разрядных ячейках памяти программ. Для полной выборки такой команды необходимо произвести три цикла считывания этой памяти.

Выделим и рассмотрим пять типов энергонезависимой резидентной памяти, или постоянных запоминающих устройств (ПЗУ), используемых для хранения про­грамм.

Масочная память.

Масочные ПЗУ (Mask–ROMили просто ROM) изготавли­ваются на этапе производства микроконтроллеров для полностью отлаженной программы. На стеклянном фотошаблоне при использовании программы созда­ется рисунок маски. Полученный фотошаблон с маской используется для форми­рования соединений между элементами, из которых состоит память программ.

Первые масочные ПЗУ появились в начале 1960–х годов и находят применение до настоящего времени благодаря таким достоинствам как низкая стоимость при массовом производстве изделий и высокая надежность хранения программ.

Недостатки масочных ПЗУ — любое изменение прикладной программы связано со значительными затратами средств и времени на создание нового комплекта фотошаблонов и их внедрение в производство.

Однократно программируемая память.

Эта память (One–Time Program­ mable ROM — OTPROM ) программируется пользователем и в исходном состоянии содержит ячейки с единичными битами. Программированию подлежат только те ячейки памяти, содержимое которых должно принять значение 0. Для этого на ячейку памяти подают последовательность импульсов повышенного напряжения.

Уровень напряжения, число импульсов и их временные параметры должны строго соответствовать техническим условиям. После записи нуля восстановить единич­ное значение невозможно. По этой причине память получила название однократ­но программируемых ПЗУ. Однако следует указать на возможность допрограммирования (не тронутых) ячеек с единичными битами.

Микроконтроллеры с одно­кратно программируемым ПЗУ используются в изделиях, выпускаемых небольши­ми партиями.

Репрограммируемая память с ультрафиолетовым стиранием.

Ячейка памяти с ультрафиолетовым стиранием (Erasable Programmable ROM — EPROM) представляет собой ЛИПЗМОП (лавинно–инжекционный с плавающим затвором) транзистор. В исходном состоянии (до записи) при обращении к ячей­ке считывается логическая единица. Программирование памяти сводится к запи­си в соответствующие ячейки логических нулей. Память ЕР ROM допускают много­кратное программирование, технология которого подобна технологии однократно программируемых ПЗУ.

Перед каждым сеансом программирования выполняется операция стирания для восстановления исходного состояния ячеек памяти. Для этого в корпусе мик­роконтроллера предусмотрено специальное окно, которое облучается ультрафио­летовыми лучами. Число сеансов стирания/программирования ПЗУ составляет 25–100 раз при соблюдении технологии программирования (заданные значения питающих напряжений, число и длительность импульсов) и технологии стирания (волновой диапазон источника ультрафиолетового излучения).

Микроконтролле­ры с памятью EPROM из–за высокой стоимости применяются в опытных образцах разрабатываемых приложений.

Для уменьшения цены микросхемы EPROM заклю­чают в корпус без окошка (версия EPROM с однократным программированием). Благодаря снижению стоимости версии EPROM часто используются вместо масочно–программируемых ROM.

Репрограммируемая память с электрическим стиранием.

Несмотря на указанные достоинства, этот тип памяти не получил широкого распространения для хранения программ по двум причинам:

● ПЗУ типа EEPROM имеют ограниченную емкость;

Память типа FLASH.

Электрически программируемая и электрически сти­раемая память типа FLASH (FLASH ROM) создавалась как альтернатива между де­шевыми однократно программируемыми ПЗУ большой емкости и дорогими EEPROM ПЗУ малой емкости. Память FLASH (как и EEPROM) сохранила возмож­ность многократного стирания и программирования.

Из схемы ПЗУ изъят тран­зистор адресации каждой ячейки, что, с одной стороны, лишило возможности программировать каждый бит памяти отдельно, с другой стороны, позволило уве­личить объем памяти. Поэтому память типа FLASH стирается и программируется страницами или блоками.

Таким образом, функционально FLASH –память мало отличается от EEPROM. Основное отличие состоит в способе стирания записанной информации: если в EEPROM–памяти стирание производится отдельно для каждой ячейки, то во FLASH –памяти — целыми блоками. В микроконтроллерах с памятью EEPROM при­ходится изменять отдельные участки программы без необходимости перепро­граммирования всего устройство.

В настоящее время МК с FLASH начинают вытеснять МК с однократно про­граммируемым (и даже масочным) ПЗУ.

Программирование ПЗУ.

Отметим, что Mask ROM –память программируется только в заводских условиях при изготовлении МК. Память типа OTPROM и EPROM предоставляет разработчику возможности программирования с исполь­зованием программатора и источника повышенного напряжения, которые под­ключаются к соответствующим выводам МК.

Память EEPROM и FLASH относится к многократно программируемой, или репрограммируемой, памяти. Необходимое для стирания/программирования по­вышенное напряжение питания создается в модулях EEPROM и FLASH –памяти со­временных контроллеров с помощью встроенных схем усиления напряжения, на­зываемых генераторами накачки. Благодаря реализации программного управления включением и отключением генератора накачки появилась принципиальная возможность осуществить программирование или стирание ячеек памяти FLASH и EEPROM в составе разрабатываемой системы. Такая технология программиро­вания получила название программирования в системе (In System Programming — ISP).

Она не требует специального оборудования (программаторов), благодаря чему сокращаются расходы на программирование. Микроконтроллеры с ISP–па­мятью могут быть запрограммированы после их установки на плату конечного из­делия.

Рассмотрим, как реализуется (и используется) возможность программирова­ния EEPROM–памяти под управлением прикладной программы. Если программу с алгоритмом программирования хранить в отдельном модуле памяти с номи­нальным питающим напряжением, а EEPROM–память снабдить генераторами накачки, то можно произвести ISP–программирование EEPROM –памяти. Данное обстоятельство делает EEPROM –память идеальным энергонезависимым запоми­нающим устройством для хранения изменяемых в процессе эксплуатации изде­лия настроек пользователя. В качестве примера можно привести современный телевизор, настройки каналов которого сохраняются при отключении питания.

Поэтому одной из тенденций совершенствования резидентной памяти 8–раз­рядных МК стала интеграция на кристалл МК двух модулей энергонезависимой памяти: FLASH (или OTP ) — для хранения программ и EEPROM — для хранения перепрограммируемых констант.

Рассмотрим технологию (ре)программирования FLASH –памяти с встроенным генератором накачки под управлением прикладной программы. Прежде всего, отметим два обстоятельства:

● если для хранения перепрограммируемых констант в МК встроена память EEPROM, то попрограммирование нескольких бит FLASH –памяти при эксплуа­тации готового изделия не имеет смысла. При необходимости лучше сразу использовать режим репрограммирования;

● не следует программу программирования FLASH –памяти хранить в самой FLASH –памяти, так как переход в режим программирования приведет к невоз­можности дальнейшего ее считывания. Программа программирования долж­на располагаться в другом модуле памяти.

Для реализации технологии программирования в системе выбирается один из оследовательных портов МК, обслуживание которого осуществляет специальная программа монитора связи, расположенная в резидентном масочном ПЗУ МК. Через последовательный порт персональный компьютер загружает в ОЗУ МК про­грамму программирования и прикладную программу, которая затем заносится в память FLASH. Так как резидентное ОЗУ МК имеет незначительный объем, то прикладная программа загружается отдельными блоками (порциями). Если в МК установлен модуль масочной памяти с программой программирования, в ОЗУ загружается только прикладная программа.

Микроконтроллеры, реализующие технологию программирования в системе, часто имеют в своем составе четыре типа памяти:

FLASH –память программ, Mask ROM –память монитора связи, EEPROM –память для хранения изменяемых кон­стант и ОЗУ промежуточных данных.

Технология программирования в системе в настоящее время все шире ис­пользуется для занесения прикладных программ в микроконтроллеры, располо­женные на плате конечного изделия. Ее достоинство — отсутствие программато­ра и высокая надежность программирования, обусловленная стабильностью за­данных внутренних режимов МК.

В качестве примера приведем показатели резидентной FLASH –памяти МК се­мейства НС08 фирмы Motorola:

● гарантированное число циклов стирания/программирования — 10 5 ;

● гарантированное время хранения записанной информации — 10 лет, что практически составляет жизненный цикл изделия; модули FLASH –памяти работают и программируются при напряжении питания МК от 1,8 до 2,7 В;

● эквивалентное время программирования 1 байта памяти — 60 мкс.

Память данных.

В качестве резидентной памяти данных используется стати­ческое оперативное запоминающее устройство (ОЗУ), позволяющие уменьшать частоту тактирования до сколь угодно малых значений. Содержимое ячеек ОЗУ (в отличие от динамической памяти) сохраняется вплоть до нулевой частоты. Еще одной особенностью статического ОЗУ является возможность уменьшения на­пряжения питания до некоторого минимально допустимого уровня, при котором программа управления микроконтроллером не выполняться, но содержимое в ОЗУ сохраняется.

Уровень напряжения хранения имеет значение порядка одно­го вольта, что позволяет для сохранения данных при необходимости перевести МК на питание от автономного источника (батарейки или аккумулятора). Некото­рые МК (например, DS5000 фирмы Dallas Semiconductor) имеют в корпусе авто­номный источник питания, гарантирующий сохранение данных в ОЗУ на протяжении 10 лет.

Характерной особенностью микроконтроллеров является сравнительной не­большой объем (сотни байт) оперативной памяти (ОЗУ), используемой для хране­ния переменных. Это можно объяснить несколькими факторами:

● стремлением к упрощению аппаратных средств МК;

● использованием при написании программ некоторых правил, направленных на сокращение объема памяти ОЗУ (например, константы не хранятся как переменные);

● распределением ресурсов памяти таким образом, чтобы вместо размещения данных в ОЗУ максимально использовать аппаратные средства (таймеры, ин­дексные регистры и др.);

● ориентацией прикладных программы на работу без использования больших массивов данных.

Особенности стека.

В Принстонской архитектуре ОЗУ используется для реализации многих аппа­ратных функций, включая функции стека. В адресном пространстве памяти выде­лены отдельные области для команд, регистров общего назначения, регистров специальных функций и др. Это снижает производительность контроллера, так как обращения к различным областям памяти не могут выполняться одновремен­но.

Микропроцессоры с Гарвардской архитектурой могут параллельно (одновре­менно) адресовать память программ, память данных (включающую пространство ввода–вывода) и стек.

Например, при активизации команды вызова подпрограм­мы CALL выполняется несколько действий одновременно.

В Принстонской архитектуре при выполнении команды CALL следующая ко­манда выбирается только после того, как в стек будет помещено содержимое программного счетчика.

Из–за небольшой емкости ОЗУ в микроконтроллерах обеих архитектур могут возникнуть проблемы при выполнении программы:

● если выделен отдельный стек, то после его заполнения происходит цикличе­ское изменение содержимого указателя стека, в результате чего указатель стека начинает ссылаться на ранее заполненную ячейку стека. Поэтому после слишком большого количества команд CALL в стеке окажется неправильный адрес возврата, который был записан вместо правильного адреса;

● если микропроцессор использует общую область памяти для размещения данных и стека, то при переполнении стека произойдет затирание данных. Рассмотрим особенности сохранения в стеке содержимого регистров, обус­ловленные отсутствием команд загрузки в стек (PUSH) и извлечения из стека (POP). В таких микроконтроллерах вместо команды PUSH и POP используются две команды и индексный регистр, который явно указывает на область стека. После­довательность команд должна быть такой, чтобы прерывание между первой и второй командой не привело к потере данных. Ниже приведена имитация команд PUSH и POP с учетом указанного требования.

PUSH ; Загрузить данные в стек decrement index; Перейти к следующей ячейке стека move [ index], асе ; Сохранить содержимое аккумулятора в стеке POP ; Извлечь данные из стека move асе, [index]; Поместить значение стека в аккумулятор increment index ; Перейти к предыдущей ячейке стека

Если после первой команды программа будет прервана, то после выполнения обработки прерывания содержимое стека не будет потеряно.

Регистровая память.

Микроконтроллеры (как и компьютерные системы) име­ют множество регистров, которые используются для управления различными внутренними узлами и внешними устройствами. К ним относятся:

● регистры процессорного ядра (аккумулятор, регистры состояния, индексные регистры);

● регистры управления (регистры управления прерываниями, регистры управ­ления таймером);

● регистры ввода/вывода данных (регистры данных и регистры управления па­раллельным, последовательным или аналоговым вводом/выводом).

По способу размещения регистров в адресном пространстве можно выделить:

● микроконтроллеры, в которых все регистры и память данных располагаются в одном адресном пространстве, т. е. регистры совмещены с памятью дан­ных. В этом случае устройства ввода–вывода отображаются на память;

● микроконтроллеры, в которых устройства ввода/вывода отделены от общего адресного пространства памяти. Основное достоинство способа размещения регистров ввода–вывода в отдельном пространстве адресов — упрощается схема подключения памяти программ и данных к общей шине. Отдельное пространство ввода–вывода дает дополнительное преимущество процессо­рам с Гарвардской архитектурой, обеспечивая возможность считывать коман­ду во время обращения к регистру ввода–вывода.

Способы обращения к регистрам оказывают существенное влияние на их про­изводительность. В процессорах с RISC–архитектурой все регистры (часто и аккумулятор) располагаются по явно задаваемым адресам, что обеспечивает более высокую гибкость при организации работы процессора.

О внешней памяти.

В тех случаях, когда для разрабатываемых приложений не хватает резидентной памяти программ и памяти данных, к микроконтроллеру подключается дополнительная внешняя память. Известны два основных способа:

● подключение внешней памяти с использованием шинного интерфейса (как в микропроцессорных системах). Для такого подключения многие микроконт­роллеры имеют специальные аппаратные средства;

● подключение памяти к устройствам ввода–вывода, При этом обращение к па­мяти осуществляется через эти устройства программными средствами. Такой способ позволяет использовать простые устройства ввода/вывода без реали­зации сложных шинных интерфейсов. Выбор способа зависит от конкретного приложения.

Источник

Процессорное ядро и память микроконтроллеров

4.3. Память программ и данных МК

4.3.1. Память программ

Основным свойством памяти программ является ее энергонезависимость, то есть возможность хранения программы при отсутствии питания. С точки зрения пользователей МК следует различать следующие типы энергонезависимой памяти программ :

4.3.2. Память данных

Память данных МК выполняется, как правило, на основе статического ОЗУ. Термин «статическое» означает, что содержимое ячеек ОЗУ сохраняется при снижении тактовой частоты МК до сколь угодно малых значений (с целью снижения энергопотребления ). Большинство МК имеют такой параметр, как «напряжение хранения информации» — USTANDBY. При снижении напряжения питания ниже минимально допустимого уровня UDDMIN, но выше уровня USTANDBY работа программы МК выполняться не будет, но информация в ОЗУ сохраняется. При восстановлении напряжения питания можно будет сбросить МК и продолжить выполнение программы без потери данных. Уровень напряжения хранения составляет обычно около 1 В, что позволяет в случае необходимости перевести МК на питание от автономного источника (батареи) и сохранить в этом режиме данные ОЗУ.

4.3.3. Регистры МК

Как и все МПС, МК имеют набор регистров, которые используются для управления его ресурсами. В число этих регистров входят обычно регистры процессора (аккумулятор, регистры состояния, индексные регистры), регистры управления (регистры управления прерываниями, таймером), регистры, обеспечивающие ввод/вывод данных (регистры данных портов, регистры управления параллельным, последовательным или аналоговым вводом/выводом). Обращение к этим регистрам может производиться по-разному.

В МК с RISC-процессором все регистры (часто и аккумулятор) располагаются по явно задаваемым адресам. Это обеспечивает более высокую гибкость при работе процессора.

В других МК адресное пространство устройств ввода/вывода отделено от общего пространства памяти. Отдельное пространство ввода/вывода дает некоторое преимущество процессорам с гарвардской архитектурой, обеспечивая возможность считывать команду во время обращения к регистру ввода/вывода.

4.3.4. Стек МК

В микроконтроллерах ОЗУ данных используется также для организации вызова подпрограмм и обработки прерываний. При этих операциях содержимое программного счетчика и основных регистров (аккумулятор, регистр состояния и другие) сохраняется и затем восстанавливается при возврате к основной программе.

В гарвардской архитектуре стековые операции производятся в специально выделенной для этой цели памяти. Это означает, что при выполнении программы вызова подпрограмм процессор с гарвардской архитектурой производит несколько действий одновременно.

4.3.5. Внешняя память

Если МК содержит специальные аппаратные средства для подключения внешней памяти, то эта операция производится штатным способом (как для МП).

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

Источник

Intel 4004 — процессор, изменивший мир

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)

Расширение памяти путём переключения банков

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$

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессорТипы корпусов

В 1971 году Intel позиционировала MCS-4 как замену «жёсткой» логике и предлагала использовать эту систему (буквально) практически где угодно.

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор

4004 применялся в различных устройств, калькуляторы, измерительные приборы, радиостанции. Правда буквально через несколько лет ему на смену пришёл 4040, а затем и 8008, поэтому встретить 4004 в реальном устройстве непросто.

Итак, набор микросхем MCS-4 включает в себя:

Всё вместе объединяется в такую систему:

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор

С точки зрения программиста ЦПУ содержит: 4-битный регистр аккумулятор, 16 4-битных индексных регистров которые организованы в восемь регистровых пар, четыре 12-битных счётчика команд(позволяет организовать до 3х уровней вложенности для подпрограмм).

Частота тактовых импульсов равна 740-750 кГц, однако из-за того что машинный цикл у 4004 занимает 8 тактов, то частота выполнения инструкций будет 740/8 = 92.5 кГц. Простые инструкции процессора имеют длину 1 байт, сложные инструкции вроде условных переходов имеют длину 2 байта и следовательно будут выполнятся не за 8, а за 16 тактовых импульсов. То есть в реальности производительность будет ещё меньше чем 92.5 тыс. операций в секунду. Словом не густо.

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессорМашинный цикл

Имеются следующие инструкции:

16 машинных инструкций (5 из которых двойной длинны)

14 инструкций для работы с аккумулятором

15 инструкций ввода/вывода

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор

Микросхема масочного ПЗУ (ROM). Да да масочное ПЗУ, то есть однократно программируется на заводе, даже не программируется, а создаётся уже запрограммированным. Если вы хотели использовать MCS-4 в составе своего устройства то микросхемы ПЗУ нужно было заказывать у Intel. Происходило это примерно так. Текст программы в бинарном виде на бумажке или на перфокарте вкладывался в конверт вместе с чеком и отправлялся в Санта Kлару, в ответ Intel присылал запрограммированные микросхемы. :))

Позже появилась простая возможность использовать микросхемы EPROM с ультрафиолетовым стиранием.

Каждая микросхема 4001 имела объём 256 байт. Так как в 4004 используется 12-битная адресация памяти программ, то максимум программа может иметь объём 4 кБайта. Что подразумевает возможность подключения до 4096/256 = 16 микросхем 4001. Каждая из 16 микросхем должна иметь свой идентификатор от 0 до 15 (metal option).

Так же каждая микросхема 4001 имеет 4 порта ввода/вывод которые однозначно конструируются (вход это или выход) на той бумажке которая отсылалась в Intel (дополнительная информация помимо кода программы). То есть это не программная конфигурация выводов, а аппаратная и изменить потом нельзя.

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор

Микросхема ОЗУ содержит 4 банка по 20 4-битных слов, то есть 40 байт.

Так же есть 4 линии выходного порта, никак не конфигурируемые, на вход они работать не могут.

Любопытно что есть два типа микросхем 4002 ОЗУ, это 4002-1 и 4002-2, они так и маркируются:

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор

Сделано это для того чтобы совместно с сигналом P0 (10й вывод, аппаратный выбор кристалла) получить возможность адресовать до 4х микросхем в одном банке памяти.

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессорАдресация 4002

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор

Тактовый генератор. Формирует два тактовых сигнала сдвинутых по фазе. Требуется кварцевый резонатор на

Так же микросхема имеет «повторитель» сигнала сброс и схему позволяющую исполнять программу по шагам (актуально только для процессора 4040).

Справедливости ради надо сказать что микросхема 4201 появилась несколько позже чем MCS-4 и разрабатывалась как я понял для 4040, но с успехом применялась вместе с 4004. В ранних схемах использовался генератор на триггерах и прочей «рассыпухе»

4008/4009

Разумеется отсылать перфокарты в Intel для получения масочных ПЗУ было не удобно и вскоре появились ещё две микросхемы позволяющие вместо 4001 использовать микросхемы EPROM с ультрафиолетовым стиранием.

Первые EPROM были разработаны Intel примерно в это же время, имели названия С1601, С1602, С1701 и более известные С1702. Несколько позже был прыжок к EPROM 27серии.

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессорEPROM Intel C1702A

4008 отвечает за шину адреса, а 4009 за шину данных тем самым реализуют стандартный параллельный интерфейс к памяти. Подключение же 4008/4009 к процессору 4004 осуществляется по всё той же 4-битной шине.

С аппаратной частью с большего всё.

Если вы писали когда-нибудь программу на ассемблере, то и с написанием программ для 4004 не должно быть больших сложностей. Да, сильно доставляет неудобства отсутствие инструкций для битовых операций, отсутствие косвенной адресации для ОЗУ, невозможность условных переходов дальше чем 256 байт. Так же нет команд деления, умножения, сравнения и много чего ещё.

То есть если вы к примеру надумали выстрелить себе в ногу, то у вас не то что пистолета и патронов нет, у вас и ноги то нет, и вообще вы ещё не родились и ваши родители тоже 🙂

Я думаю что сложности программной части оправдывались простотой аппаратной.

Вот так выглядит запись 4 бит информации из регистра R1 в оперативную память:

Короче если есть непреодолимое желание написать свою программу для 4004 то всё довольно просто, через несколько часов попыток что-то написать вы уже наизусть запомните весь список инструкций, дальше всё ещё проще 🙂

Документация

Документация на MCS-4 просто божественная, умели же раньше писать. Чувствуется что подбирали каждое слово, всё просто и понятно.

На MCS-4 существует следующая документация:

MCS-4 Microcomputer Set Users Manual

MCS-4 Assembly Language Programming Manual

В сети есть сканы этих документов, кому интересно найдёт без проблем. У меня же есть ранняя версия руководства пользователей которую я не нашёл в сети, возможно будет интересно.

То ради чего всё затевалось (ну почти)

Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор Что такое масочный процессор. Смотреть фото Что такое масочный процессор. Смотреть картинку Что такое масочный процессор. Картинка про Что такое масочный процессор. Фото Что такое масочный процессор

Почему ну почти? Потому что затевалось конечное устройство, а показывать пришлось прототип не доделанный до конца.

По проекту. STM32)) после включения переписывает прошивку (микропрограмму для 4004) из своей флеш памяти во внешнее ОЗУ (фиолетовая микросхема справа) и передаёт управление процессору 4004, тот начинает исполнять код из этого ОЗУ. Ну то есть микросхемы EPROM заменены на одну микросхему ОЗУ. Это было сделано для быстрой смены прошивки при отладке.

Производительности у 4004 с гулькин нос и программную динамическую индикацию для двух индикаторов HDSP-2000 он не осилит ну никак. Поэтому был реализован полноценный драйвер для этих индикаторов с двумя страницами видеопамяти. 4004 просто записывает в видеопамять то что нужно отобразить и переключает страницу видеопамяти. Всё как в настоящем компьютере 🙂

Огромное спасибо тем кто помогал мне раздобыть микросхемы! А добывались они в самых неожиданных местах, реально по всему земному шару.

Отдельное спасибо господину Herb Johnson за разработку офлайн кросс-ассемблера. Вот его сайт. Немного не хватает макросов, но в целом очень достойная вещь.

Все фото и видеоматериалы сняты автором статьи, перепечатка без разрешения автора не только не карается, но и приветствуется самим автором, то есть мной! 🙂

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *