Внутрисхемное программирование

 

Микроконтроллер может быть запрограммирован непосредственно в готовом устройстве. Для этого требуется два вывода для подключения тактового сигнала CLK и данных DATA и три вывода для питающего напряжения , программирующего напряжения и общего вывода GND. Эта возможность позволяет изготавливать устройства с незапрограммированными микроконтроллерами, занося в них код программы непосредственно перед продажей. Таким способом можно обеспечить использование самой последней версии программного обеспечения, а также учесть особенности конкретного потребителя.

Переход в режим программирования происходит по переходу сигнала от логической единицы до напряжения программирования (+ 12 В), когда на выводах RB6 и RB7 установлен низкий уровень. Вывод RB6 используется в качестве тактового сигнала, а вывод RB7 – в качестве двунаправленного разряда данных. В режиме программирования разряды RB6 и RB7 имеют на входе триггеры Шмитта.

 

Система команд микроконтроллера PIC16F84

 

Каждая команда микроконтроллера представляет собой 14‑разрядное слово, содержащее поле кода операции и поле операндов. Система команд PIC16F84 приведена в таблице 7. Она включает в себя команды работы с байтами, команды работы с битами, команды передачи управления и операции с константами. Форматы команд показаны на рисунке 15.

Для команд работы с байтами «f» обозначает регистр, с которым производится действие, а бит «d» определяет регистр назначения. При «d» = 0 результат помещается в регистр W, при «d» = 1 результат помещается в регистр «f», заданный в команде.


 

Команды работы с байтами
Код операции d f
d = 0 для назначения W
d = 1 для назначения f
f = 7-разрядный адрес регистра
Команды работы с битами
9 7  
Код операции b f
b = 3-разрядный номер бита
f = 7-разрядный адрес регистра
Команды управления и операции с константами
Код операции k
k = 8-разрядное значение
                     

 

Рисунок 15 – Форматы команд микроконтроллера PIC16F84

 

Для команд работы с битами «b» обозначает номер бита, участвующего в команде, а «f» – регистр, в котором этот бит расположен.

Для команд управления и операций с константами «k» обозначает 8-ми или 11-битовую константу или идентификатор.

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

- переход по проверке условия, если результат проверки условия – истина;

- изменение счетчика команд как результат выполнения команды.

В этих случаях команда выполняется за два цикла с выполнением второго цикла как NOP. Один командный цикл состоит из четырех периодов генератора. Таким образом, для генератора с частотой 4 МГц время выполнения команды составит 1 мкс. Если выполняется переход по проверке условия или в результате выполнения команды изменился счетчик команд, время выполнения этой команды при тактовой частоте 4 МГц составит 2 мкс.

 


Таблица 7 – Система команд микроконтроллера PIC16F84

 

Мнемоника Операнды Описание Флаги
Команды работы с байтами
ADDWF f, d Сложить регистр и W C, DC, Z
ANDWF f, d Выполнить логическое И регистра и W Z
CLRF f Обнулить регистр Z
CRLW   Обнулить W Z
COMF f, d Инвертировать регистр Z
DECF f, d Декрементировать регистр Z
DECFSZ f, d Декрементировать регистр и пропустить следующую команду, если результат равен 0  
INCF f, d Инкрементировать регистр Z
INCFSZ f, d Инкрементировать регистр и пропустить следующую команду, если результат равен 0  
IORWF f, d Выполнить логическое ИЛИ с регистром и W Z
MOVF f, d Переместить регистр в W Z
MOVWF f Переместить W в регистр  
Команды работы с байтами
NOP   Нет операции  
RLF f, d Сдвинуть регистр влево через флаг переноса C
RRF f, d Сдвинуть регистр вправо через флаг переноса C
SUBWF f, d Вычесть W из регистра C, DC, Z
SWAPF f, d Поменять тетрады регистра местами  
XORWF f, d Выполнить логическое ИСКЛЮЧАЮЩЕЕ ИЛИ с регистром и W Z
Команды работы с битами
BCF f, b Сбросить бит регистра  
BSF f, b Установить бит регистра  
BTFSC f, b Пропустить, если сброшен бит в регистре  
BTFSS f, b Пропустить, если установлен бит в регистре  
         

Окончание таблицы 7

 

Команды работы с константами
ADDLW k Сложить W и константу C, DC, Z
ANDLW k Выполнить логическое И с константой и W Z
IORLW k Выполнить логическое ИЛИ константой и W Z
MOVLW k Записать константу в W  
SUBLW k Вычесть константу из W C, DC, Z
XORLW k Выполнить логическое ИСКЛЮЧАЮЩЕЕ ИЛИ с константой и W Z
Команды передачи управления
CALL k Перейти на подпрограмму  
GOTO k Перейти на метку  
RETFIE   Вернуться из прерывания  
RETURN   Вернуться из подпрограммы  
RETLW k Вернуться из подпрограммы и записать константу в W  
CLRWDT   Сбросить сторожевой таймер TO, PD
SLEEP   Войти в режим пониженного энергопотребления TO, PD
         

 

ОРГАНИЗАЦИЯ ПАМЯТИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

 

Общие сведения и основные параметры запоминающих устройств

 

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

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

В наиболее развитой иерархии памяти ЭВМ можно выделить следующие уровни:

- регистровые ЗУ, находящиеся в составе процессора или других устройств (т.е. внутренние для этих блоков), благодаря которым уменьшается число обращений к другим уровням памяти, реализованным вне процессора и требующим большего времени для операций обмена информацией;

- Кэш-память, служащая для хранения копий информации, используемой в текущих операциях обмена. Высокое быстродействие Кэш-памяти повышает производительность ЭВМ;

- основная память (оперативная, постоянная, полупостоянная), работающая в режиме непосредственного обмена с процессором и по возможности согласованная с ним по быстродействию. Исполняемый в текущий момент фрагмент программы обязательно находится в основной памяти;

- специализированные виды памяти, характерные для некоторых специфических архитектур (многопортовые, ассоциативные, видеопамять и др.);

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

Рассмотрим основные параметры ЗУ. К ним относятся:

- информационная емкость М – максимально возможный объем хранимой информации. Выражается в битах или словах (в частности, в байтах). Бит хранится запоминающим элементом (ЗЭ), а слово – запоминающей ячейкой (ЗЯ), т.е. группой ЗЭ, к которым возможно лишь одновременное обращение. Добавление к единице измерения множителя «К» (кило) означает умножение на 210 = 1 024, а множителя «М» (мега) – умножение на 220 = 1 048 576.

- организация ЗУ – произведение числа хранимых слов k на их разрядность m. Видно, что это дает информационную емкость ЗУ M = k ´ m, однако при одной и той же информационной емкости организация ЗУ может быть различной. Например, ЗУ с информационной емкостью М = 64 Кбайт может иметь организацию (8 K ´ 8) байт = (4 K ´ 16) байт и т.д., поэтому организация является самостоятельным важным параметром ЗУ.

- быстродействие (производительность) ЗУ оценивают временами считывания, записи и длительностями циклов чтения/записи. Время считывания – интервал между моментами появления сигнала чтения и слова на выходе ЗУ. Время записи – интервал после появления сигнала записи, достаточный для установления ЗЯ в состояние, задаваемое входным словом. Минимально допустимый интервал между последовательными чтениями или записями образует соответствующий цикл. Длительности циклов могут превышать времена чтения или записи, так как после этих операций может потребоваться время для восстановления необходимого начального состояния ЗУ.

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

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

Один из возможных наборов сигналов ЗУ (рисунок 16) включает следующие сигналы:

 

 

Рисунок 16 – Типичные сигналы ЗУ

 

- А – адрес, разрядность которого n определяется числом ячеек ЗУ, т.е. максимально возможным числом хранимых в ЗУ слов;

- ( ) или ( ), который разрешает или запрещает работу данной микросхемы;

- ( ) задает выполняемую операцию (при единичном значении – чтение, при нулевом – запись);

- DI и DO (Data Input) и (Data Output) – шины входных и выходных данных, разрядность которых m определяется организацией ЗУ (разрядностью его ячеек). В некоторых ЗУ эти линии объединены.

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

Кроме рассмотренных параметров для ЗУ, используется и ряд других (уровни напряжений, токи, емкости выводов, температурный диапазон и т.д.), которые традиционны для цифровой схемотехники. Исключение составляет свойство энергонезависимости, т.е. способность ЗУ сохранять данные при отключении напряжения питания. Энергонезависимость может быть естественной, т.е. присущей самим ЗЭ, или искусственной, достигаемой введением резервных источников питания, автоматически подключаемых к накопителю ЗУ при снятии основного питания.

 

Классификация ЗУ

В зависимости от способа доступа к данным ЗУ делятся на адресные, последовательные и ассоциативные (рисунок 17).

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

Адресные ЗУ делятся на RAM (Random Access Memory) и ROM (Read-Only Memory). Синонимы термина RAM: ОЗУ (оперативные ЗУ). Оперативные ЗУ хранят данные, участвующие в обмене при исполнении текущей программы, которые могут быть изменены в произвольный момент времени. Запоминающие элементы ОЗУ, как правило, не обладают энергонезависимостью.

В ROM (эквивалент – ПЗУ, т.е. постоянные ЗУ) содержимое либо вообще не изменяется, либо изменяется, но редко и в специальном режиме, для рабочего режима это «память только для чтения».

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

Регенерация данных в динамических ОЗУ осуществляется с помощью специальных контроллеров. Разработаны также ОЗУ с динамическими запоминающими элементами, имеющие внутреннюю встроенную систему регенерации, у которых внешнее поведение относительно управляющих сигналов становится аналогичным поведению статических ОЗУ. Такие ОЗУ называют квазистатическими.

Статические ОЗУ называются SRAM (Static RAM), а динамические – DRAM (Dynamic RAM).

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

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

 

Рисунок 17 – Классификация полупроводниковых ЗУ


Статические ОЗУ в 4…5 раз дороже динамических и приблизительно во столько же раз меньше по информационной емкости. Их достоинством является высокое быстродействие, а типичной областью использования – схемы Кэш-памяти.

Постоянные ЗУ делятся на следующие разновидности:

- постоянные ЗУ типа ROM (M) программируются в процессе изготовления методами интегральной технологии с помощью масок, поэтому их называют масочными. Для потребителя это в полном смысле слова постоянная память, так как изменить ее содержимое он не может;

- постоянные ЗУ с однократной записью пользователемпрограммируемые ПЗУ (PROM). В обозначении присутствует буква P (от Programmable);

- репрограммируемые постоянные ЗУ (EPROM и EEPROM), содержимое которых может быть заменено путем стирания старой информации и записи новой. В EPROM стирание выполняется с помощью облучения кристалла ультрафиолетовыми лучами, а в EEPROM – электрическими сигналами.

Английские названия расшифровываются как Electrically Programmable ROM и Electrically Erasable Programmable ROM. Программирование PROM и репрограммирование EPROM и EEPROM производятся в обычных лабораторных условиях с помощью либо специальных программаторов, либо специальных режимов без специальных приборов (для EEPROM).

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

Запись данных и для EPROM, и для EEPROM производится электрическими сигналами.

В ЗУ с последовательным доступом записываемые данные образуют некоторую очередь. Считывание происходит из очереди слово за словом либо в порядке записи, либо в обратном порядке.

Прямой порядок считывания имеет место в буферах FIFO с принципом «первый пришел – первый вышел» (First In – First Out), а также в файловых и циклических ЗУ.

Разница между памятью FIFO и файловым ЗУ состоит в том, что в FIFO запись в пустой буфер сразу же становится доступной для чтения, т.е. поступает в конец цепочки. В файловых ЗУ данные поступают в начало цепочки и появляются на выходе после некоторого числа обращений, равного числу элементов в цепочке. При независимости операций считывания и записи фактическое расположение данных в ЗУ на момент считывания не связано с каким-либо внешним признаком. Поэтому записываемые данные объединяют в блоки, обрамляемые специальными символами конца и начала (файлы). Прием данных из файлового ЗУ начинается после обнаружения приемником символа начала блока.

В циклических ЗУ слова доступны одно за другим с постоянным периодом, определяемым емкостью памяти. К такому типу среди полупроводниковых ЗУ относится видеопамять (VRAM).

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

Считывание в обратном порядке свойственно стековым ЗУ, для которых реализуется принцип «последний пришел – первый вышел». Такие ЗУ называют буферами LIFO (Last In – First Out).

Время доступа к конкретной единице хранимой информации в последовательных ЗУ представляет собою случайную величину. В наихудшем случае для такого доступа может потребоваться просмотр всего объема хранимых данных.

Ассоциативный доступ реализует поиск информации по некоторому признаку, а не по адресу или месту в очереди. В общем случае все хранимые в памяти слова одновременно проверяются на соответствие признаку, например, на совпадение определенных полей слов (тегов – от английского слова tag) с признаком, задаваемым входным словом (теговым адресом). На выход выдаются слова, удовлетворяющие признаку. Ассоциативный доступ в современных ЭВМ в основном применяется для построения Кэш-памяти.

Технико-экономические параметры ЗУ существенно зависят от их схемотехнологической реализации.

 

Основные структуры адресных запоминающих устройств

Адресные ЗУ представлены в классификации статическими и динамическими оперативными устройствами и памятью типа ROM. Многочисленные варианты этих ЗУ имеют много общего с точки зрения структурных схем, что делает более рациональным изучение некоторых обобщенных структур с последующим описанием запоминающих элементов для различных ЗУ.

Общность структур особенно проявляется для статических ОЗУ и памяти типа ROM. Структуры динамических ОЗУ имеют свою специфику. Для статических ОЗУ и памяти типа ROM наиболее характерны структуры 2D, 3D и 2DM.

В структуре 2D запоминающие элементы организованы в прямоугольную матрицу размерностью M = k ´ m, где M – информационная емкость памяти в битах; k – число хранимых слов (число строк матрицы); m – их разрядность (число колонок матрицы).

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

Структура типа 2D применяется лишь в ЗУ малой информационной емкости, так как при росте емкости проявляется несколько ее недостатков, наиболее очевидным из которых является чрезмерное усложнение дешифратора адреса (число выходов дешифратора равно числу хранимых слов).

Структура 3D позволяет резко упростить дешифраторы адреса с помощью двухкоординатной выборки запоминающих элементов. Принцип двухкоординатной выборки поясняется на примере ЗУ типа ROM, реализующего только операцию чтения данных (рисунок 18, а).

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

Уже для ЗУ небольшой емкости видно, что для структуры 2D при хранении 1 K слов потребовался бы дешифратор с 1 024 выходами, тогда как для структуры типа 3D нужны два дешифратора с 32 выходами каждый. Недостатком структуры 3D в первую очередь является усложнение запоминающих элементов, имеющих двухкоординатную выборку.

Структура типа 3D, показанная на рисунке 18, а с одноразрядной организацией, может применяться и в ЗУ с многоразрядной организацией (рисунок 18, б). В этом случае несколько матриц управляются от двух дешифраторов, относительно которых они включены параллельно. Каждая матрица выдает один бит адресованного слова, а число матриц равно разрядности хранимых слов. Структуры типа 3D имеют также довольно ограниченное применение, поскольку в структурах типа 2DM (2D модифицированная) сочетаются достоинства обеих рассмотренных структур: упрощается дешифрация адреса и не требуются запоминающие элементы с двухкоординатной выборкой.

ЗУ типа ROM структуры 2DM (рисунок 19) для матрицы запоминающих элементов с адресацией от дешифратора DCX имеет как бы характер структуры 2D: активный выход дешифратора выбирает целую строку. Однако, в отличие от структуры 2D, длина строки не равна разрядности хранимых слов, а многократно ее превышает. При этом число строк матрицы уменьшается и, соответственно, уменьшается число выходов дешифратора. Для выбора одной из строк служат не все разряды адресного кода, а их часть An–1…Ak. Остальные разряды адреса (от Ak–1 до A0) используются, чтобы выбрать необходимое слово из того множества слов, которое содержится в строке. Это выполняется с помощью мультиплексоров, на адресные входы которых подаются разряды Ak–1…A0. Длина строки равна m2k, где m – разрядность хранимых слов, а k – число разрядов адреса A2. Из каждого «отрезка» строки длиной 2k мультиплексор выбирает один бит, на выходах мультиплексоров формируется выходное слово. По разрешению сигнала , поступающего на входы управляемых буферов с тремя состояниями, выходное слово передается на внешнюю шину.

 

 

Рисунок 18 – Структура постоянного ЗУ типа 3D с одноразрядной (а) и многоразрядной организациями (б)


Окончание рисунка 18

 

Рисунок 19 – Структура ЗУ типа 2DM для ROM

 

На рисунке 20 в более общем виде структура 2DM показана для ЗУ типа RAM с операциями чтения и записи. Из матрицы по-прежнему считывается «длинная» строка.

Рисунок 20 – Структура ЗУ типа 2DM для RAM

 

Данные в нужный отрезок этой строки записываются (или считываются из нее) управляемыми буферами данных BD, воспринимающими выходные сигналы второго дешифратора DCY и выполняющими не только функции мультиплексирования, но и функции изменения направления передачи данных под воздействием сигнала .

 

Кэш-память

 

Кэш-память запоминает копии информации, передаваемой между устройствами (прежде всего между процессором и основной памятью). Она имеет небольшую емкость в сравнении с основной памятью и более высокое быстродействие (реализуется на триггерных элементах памяти).

При чтении данных сначала выполняется обращение к Кэш-памяти (рисунок 21). Если в КЭШе имеется копия данных, адресованной ячейки основной памяти, то КЭШ вырабатывает сигнал Hit (попадание) и выдает данные на общую шину данных. В противном случае сигнал Hit не вырабатывается, и выполняется чтение из основной памяти и одновременное помещение считанных данных в КЭШ.

 

 

Рисунок 21 – Структура Кэш-памяти

 

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

Объем Кэш-памяти много меньше емкости основной памяти, и любая единица информации, помещаемая в КЭШ, должна сопровождаться дополнительными данными (тегом), определяющими копией содержания, какой ячейки основной памяти является эта единица информации.

В полностью ассоциативной Кэш-памяти (FACM, Fully Associated Cache Memory), структура которой показана на рисунке 22, каждая ячейка хранит данные, а в поле «тег» – полный физический адрес информации, копия которой записана. При любых обменах физический адрес запрашиваемой информации сравнивается с полями «тег» всех ячеек, и при совпадении их в любой ячейке устанавливается сигнал Hit.

 

 

Рисунок 22 – Структура полностью ассоциативной Кэш-памяти

 

При чтении и значении сигнала Hit = 1 данные выдаются на шину данных, если же совпадений нет (Hit = 0), то при чтении из основной памяти данные вместе с адресом помещаются в свободную или наиболее давно не используемую ячейку Кэш-памяти.

При записи данные вместе с адресом сначала, как правило, размещаются в Кэш-памяти (в обнаруженную ячейку памяти при Hit = 1 и свободную при Hit = 0). Копирование данных в основную память выполняется под управлением специального контроллера, когда нет обращений к памяти.

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

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

 

Запоминающие элементы оперативных ЗУ

 

Статические ОЗУ (SRAM), как правило, имеют структуру 2DM, часть их при небольшой информационной емкости строится по структуре 2D.

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

Рассмотрим принципиальную схему ЗЭ на КМОП-транзисторах, который можно использовать в оперативных ЗУ со словарной организацией (рисунок 23).

ЗЭ на КМОП-транзисторах (рисунок 23) представляет собой RS-триггер на транзисторах VT1…VT4 с ключами выборки на транзисторах VT5 и VT6. При обращении к заданному ЗЭ появляется высокий уровень напряжения на адресной линии, который открывает ключи выборки (адресные ключи) по всей строке накопителя, и выходы триггеров соединяются со столбцовыми разрядными линиями считывания-записи. Через эти линии можно считывать состояние триггера (штриховыми линиями показан дифференциальный усилитель считывания), через них же можно записывать данные в триггер, подавая уровень логического нуля на ту или иную линию.

При подаче нуля на выход D0 снижается стоковое напряжение транзистора VT2, что запирает транзистор VT4 и повышает напряжение его стока. Это открывает транзистор VT2 и фиксирует созданный на его стоке низкий уровень даже после снятия сигнала записи. Триггер установлен в единичное состояние (Q = 1, = 0). Аналогичным образом нулевым сигналом по линии D1 можно установить триггер в нулевое состояние.

Рисунок 23 – Принципиальная электрическая схема ЗЭ на КМОП-транзисторах

 

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

В этой схеме напряжение резервного источника несколько ниже напряжения основного источника UИП. В рабочем режиме накопитель питается от напряжения UИП, при этом диод VD1 проводит, а диод VD2 заперт. При снижении рабочего напряжения к накопителю автоматически подключается источник резервного питания. При этом проводит диод VD2, а диод VD1 запирается, так как при малых значения UИП он попадает под обратное смещение.

 

 

Рисунок 24 – Схема подключения резервного источника питания к накопителю ЗУ

 

Для повышения надежности работы МПС нарушение нормальной работы источника питания обнаруживается контролем напряжения переменного тока.

В динамических ОЗУ (DRAM) данные хранятся в виде зарядов емкостей МОП-структур, и основой ЗЭ является просто конденсатор небольшой емкости. Такой ЗЭ значительно проще триггерного, содержащего 6 транзисторов, что обеспечивает динамическим ОЗУ в 4…5 раз большую емкость.

Известны конденсаторные ЗЭ разной сложности. В последнее время применяют однотранзисторные ЗЭ – лидеры компактности (рисунок 25).

Ключевой транзистор VT отключает запоминающий конденсатор CЗ от линии записи-считывания или подключает его к ней. Сток транзистора VT не имеет внешнего вывода и образует одну из обкладок конденсатора. Другой обкладкой служит подложка. Между обкладками расположен тонкий слой диэлектрика – оксида кремния SiO2.

 

 

Рисунок 25 – Принципиальная схема ЗЭ динамического ОЗУ

 

В режиме хранения ключевой транзистор VT заперт. При выборке данного ЗЭ на затвор подается напряжение, отпирающее транзистор. Запоминающая емкость CЗ через проводящий канал подключается к ЛЗС и в зависимости от заряда различно влияет на потенциал ЛЗС.

При считывании нуля к ЛЗС подключается емкость CЗ, имевшая нулевой заряд. Часть заряда емкости ЛЗС перетекает в емкость CЗ, и напряжения на них уравниваются. Потенциал ЛЗС снижается на величину ∆U, которая и является сигналом, поступающим на усилитель считывания. При считывании единицы, наоборот, часть заряда CЗ стекает в емкость ЛЗС, и потенциал ЛЗС увеличивается на ∆U.

Значение ∆U можно вычислить по формуле

 

∆U UИПCЗ/2CЛ, (1)

 

где CЛ – емкость ЛЗС.

 

В силу неравенства CЗ << CЛ сигнал ∆U оказывается слабым. Кроме того, считывание является разрушающим, так как подключение запоминающей емкости CЗ к ЛЗС изменяет ее заряд.

Мерами преодоления отмеченных недостатков служат способы увеличения емкости CЗ (без увеличения площади ЗЭ), уменьшения емкости ЛЗС и применения усилителей – регенераторов для считывания данных. Для увеличения емкости CЗ применяют новый диэлектрик (двуокись титана TiO2.), имеющий диэлектрическую постоянную в 20 раз большую, чем SiO2.

Уменьшения емкости ЛЗС можно достичь «разрезанием» этой линии на две половины с включением дифференциального усилителя считывания в разрыв между половинами ЛЗС (рисунок 26, а). Очевидно, что такой прием вдвое уменьшает емкость линий, к которым подключаются запоминающие емкости, т.е. вдвое увеличивает сигнал ∆U.

Усилители-регенераторы строятся на основе триггерных схем. Один из возможных вариантов (рисунок 26, б) основан на введении в

 

 

Рисунок 26 – Схема включения усилителя-регенератора в разрыв линии записи-считывания динамического ЗУ (а) и вариант схемной реализации усилителя-регенератора (б)


схему дополнительного сигнала «Подготовка» для управления нагрузочными транзисторами VTН1 и VTН2. Вначале сигнал «Подготовка» имеет низкий уровень и нагрузочные транзисторы заперты. В этом состоянии усилитель-регенератор воспринимает слабые сигналы считывания с линий ЛЗС. Одна из половин ЛЗС, к которой не подключается CЗ, сохраняет напряжение предзаряда UИП/2, напряжение на другой половине, к которой подключается выбранный ЗЭ, отклоняется от напряжения предзаряда на ∆U в ту или иную сторону в зависимости от того, считывается единица или ноль. Неравенство напряжений в точках A и B вносит несимметрию проводимостей транзисторов VT1 и VT2. Для считывания и регенерации данных сигнал «Подготовка» переводится на высокий уровень. Транзисторы VTН1 и VTН2 открываются, и возникает схема триггера, находящегося в неустойчивом состоянии, близком к симметричному. Такой триггер в силу своих свойств быстро перейдет в устойчивое состояние, предопределенное начальной несимметрией его режима. На выходах триггера сформируются полные напряжения высокого и низкого уровней. Так как одни и те же точки A и B являются одновременно и входами, и выходами усилителя-регенератора, после своего срабатывания он восстанавливает на емкости CЗ полное значение считанного сигнала. Тем самым автоматически осуществляется регенерация данных в ЗЭ. Состояние триггера определяет также сигналы, выводимые во внешние цепи в качестве считанной информации.

Особенностью динамических ЗУ является мультиплексирование шины адреса. Адрес делится на два полуадреса, один из которых представляет собою адрес строки, а другой – адрес столбца матрицы ЗЭ. Полуадреса подаются на одни и те же выводы корпуса ИС поочередно. Подача адреса строки сопровождается соответствующим стробом RAS (Row Address Strobe), а адреса столбца – стробом CAS (Column Address Strobe). Причиной мультиплексирования адресов служит стремление уменьшить число выводов корпуса ИС и тем самым удешевить ее, а также то обстоятельство, что полуадреса и сигналы RAS и CAS в некоторых режимах и схемах используются различно (например, в режимах регенерации адрес столбца вообще не нужен). Сокращение числа внешних выводов корпуса для динамических ЗУ особенно актуально, так как они имеют максимальную емкость и, следовательно, большую разрядность адресов. Например, ЗУ с организацией 16 M ´ 1 имеет 24-разрядный адрес, а мультиплексирование сократит число адресных линий на 12.

 


Запоминающие элементы постоянных ЗУ

 

Программирование постоянной памяти заключается в том или ином размещении элементов связи между горизонтальными и вертикальными линиями матрицы запоминающих элементов. Запоминающие устройства типа ROM имеют многоразрядную организацию (чаще всего 8-разрядную или 4-разрядную, для некоторых ИС 16-разрядную) и обычно выполняются по структуре 2DM. Простейшие ПЗУ могут иметь структуру 2D. Технологии изготовления постоянных ЗУ разнообразны: ТТЛ(Ш), КМОП, n-МОП и др.

В масочных ПЗУ элементом связи могут быть диоды, биполярные транзисторы, МОП-транзисторы и т.д. Например, в матрице диодного ROM(M) (рисунок 27) горизонтальные линии являются линиями выборки слов (адресными линями – АЛ), а вертикальные – линиями считывания (разрядными линиями – РЛ). Считываемое слово определяется расположением диодов в узлах координатной сетки. При наличии диода высокий потенциал выбранной горизонтальной линии передается на соответствующую вертикальную линию, и в данном разряде слова появляется сигнал логической единицы. При отсутствии диода потенциал близок к нулевому, так как вертикальная линия через резистор связана с землей. В изображенной матрице при возбуждении линии выборки АЛ1 считывается слово 11010001 (это слово хранится в ячейке № 1). При возбуждении АЛ2 считывается слово 10101011 (оно хранится в ячейке № 2). Шины выборки являются выходами дешифратора адреса, каждая адресная комбинация возбуждает свой выход дешифратора, что приводит к считыванию слова из адресуемой ячейки.

В матрице с диодными элементами в одних узлах матрицы диоды изготавливаются, в других – нет. При этом, чтобы удешевить производство, при изготовлении ПЗУ стремятся варьировать только один шаблон, так чтобы одни элементы связи были законченными и работоспособными, а другие – незавершенными и как бы отсутствующими. Для матриц с МОП-транзисторами часто в МОП-транзисторах, соответствующих хранению нуля, увеличивают толщину подзатворного окисла, что ведет к увеличению порогового напряжения транзистора. В этом случае рабочие напряжения ПЗУ не в состоянии открыть транзистор. Постоянно закрытое состояние транзистора аналогично его отсутствию.

 

 

Рисунок 27 – Матрица диодных запоминающих элементов масочного ПЗУ

 

ПЗУ с масочным программированием отличаются компактностью запоминающих элементов и, следовательно, высоким уровнем интеграции. При больших объемах производства масочное программирование предпочтительно, однако при недостаточной тиражности ПЗУ затраты на проектирование и изготовление шаблона для их технологического программирования окажутся чрезмерно высокими. Отсюда видна и область применения масочных ПЗУ – хранение стандартной информации, имеющей широкий круг потребителей. В частности, масочные ПЗУ имеют в качестве «прошивки»[1]) коды букв алфавитов (русского и латинского), таблицы типовых функций (синуса, квадратичной функции и др.), стандартное программное обеспечение и т.п.

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

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

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

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

Схемы с тонкими пробиваемыми диэлектрическими перемычками (типа antifuse) наиболее компактны и совершенны. Их применение характерно для программируемых логических СБИС. В номенклатуре продукции стран СНГ ПЗУ с перемычками типа antifuse отсутствуют. Запоминающие элементы с плавкими перемычками и парами диодов показаны на рисунке 28 а, б в исходном состоянии и после программирования.

Плавкие перемычки занимают на кристалле относительно много места, поэтому уровень интеграции ПЗУ с такими перемычками существенно ниже, чем у масочных ПЗУ. В то же время простота программирования пользователем и невысокая стоимость в свое время обусловили широкое распространение ПЗУ типа PROM. Невысокая стоимость программируемых пользователем ПЗУ объясняется тем, что изготовитель выпускает микросхемы без учета их конкретного содержимого, т.е. освобожден от проектирования по специализированным заказам и, следовательно, связанных с этим затрат.

В репрограммируемых ПЗУ (РПЗУ) типов EPROM и EEPROM запоминающими элементами являются транзисторы типов МНОП и ЛИЗМОП (добавление ЛИЗ к обозначению МОП происходит от слов Лавинная Инжекция Заряда).

 

Рисунок 28 – Запоминающие элементы с плавкими перемычками (а) и диодными парами (б)

 

МНОП-транзистор отличается от обычного МОП-транзистора двухслойным подзатворным диэлектриком. На поверхности кристалла расположен тонкий слой двуокиси кремния SiO2, далее боле толстый слой нитрида кремния Si3N4 и затем уже затвор (рисунок 29, а). На границе диэлектрических слоев возникают центры захвата заряда. Благодаря туннельному эффекту, носители заряда могут проходить через тонкую пленку окисла толщиной не более 5 нм и скапливаться на границе раздела слоев. Этот заряд и является носителем информации, хранимой МНОП-транзистором. Заряд записывают созданием под затвором напряженности электрического поля, достаточной для возникновения туннельного перехода носителей заряда через тонкий слой SiO2. На границе раздела диэлектрических слоев можно создавать заряд любого знака в зависимости от направленности электрического поля в подзатворной области. Наличие заряда влияет на пороговое напряжение транзистора.

Для МНОП-транзистора с n-каналом отрицательный заряд на границе раздела слоев повышает пороговое напряжение (экранирует воздействие положительного напряжения на затворе, отпирающего транзистор). При этом пороговое напряжение возрастает настолько, что рабочие напряжения на затворе транзистора не в состоянии его открыть (создать в нем проводящий канал). Транзистор, в котором заряд отсутствует или имеет другой знак, легко открывается рабочим значением напряжения. Так осуществляется хранение бита данных в МНОП-транзисторе: отсутствие заряда трактуется как отображение логической единицы, а наличие заряда – логического нуля.

 

 

Рисунок 29 – Структуры транзисторов типов МНОП (а) и ЛИЗМОП с двойным затвором (б)

 

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

После 104… 106 перезаписей МНОП-транзистор перестает устойчиво хранить заряд. РПЗУ на МНОП-транзисторах энергонезависимы и могут хранить информацию месяцами, годами и десятками лет. Перед новой записью старая информация стирается записью нулей во все запоминающие элементы.

Транзисторы типа ЛИЗМОП всегда имеют так называемый плавающий затвор, который может быть единственным или вторым, дополнительным к обычному (управляющему) затвору. Транзисторы с одним плавающим затвором используются в ЗУ типа EPROM, а транзисторы с двойным затвором пригодны для применения как в EPROM, так и в EEPROM. Рассмотрим более современный тип – ЛИЗМОП-транзистор с двойным затвором (рисунок 29, б).

Принцип работы ЛИЗМОП с двойным затвором близок к принципу работы МНОП-транзистора – здесь также между управляющим затвором и областью канала помещается область, в которую при программировании можно вводить заряд, влияющий на величину порогового напряжения транзистора. Только область введения заряда представляет собою не границу раздела слоев диэлектрика, а окруженную со всех сторон диэлектриком проводящую область (обычно из поликристаллического кремния), в которую, как в ловушку, можно ввести заряд, способный сохраняться в ней в течение очень длительного времени. Эта область и называется плавающим затвором.

При подаче на управляющий затвор исток и сток импульса положительного напряжения относительно большой амплитуды 20…25 В в обратно смещенных p-n переходах возникает лавинный пробой, область которого насыщается электронами. Часть электронов, имеющих энергию, достаточную для преодоления потенциального барьера диэлектрической области, проникает в плавающий затвор. Снятие высокого программирующего напряжения восстанавливает обычное состояние областей транзистора и запирает электроны в плавающем затворе, где они могут находиться длительное время (в высококачественных приборах многие годы).

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

Стирание информации может производиться двумя способами – ультрафиолетовым облучением или электрическими сигналами.

В первом случае корпус ИС имеет специальное прозрачное окошко для облучения кристалла. Двуокись кремния и поликремний прозрачны для ультрафиолетовых лучей. Эти лучи вызывают в областях транзистора фототоки и тепловые токи, что делает области прибора проводящими и позволяет заряду покинуть плавающий затвор. Операция стирания информации этим способом занимает десятки минут, информация стирается сразу во всем кристалле. В схемах с УФ-стиранием число циклов перепрограммирования существенно ограничено, так как под действием ультрафиолетовых лучей свойства материалов постепенно изменяются. Число циклов перезаписи у отечественных ИС равно 10…100.

Электрическое стирание информации осуществляется подачей на управляющие затворы низкого (нулевого) напряжения, а на стоки – высокого напряжения программирования. Электрическое стирание имеет преимущества: можно стирать информацию не со всего кристалла, а выборочно (индивидуально для каждого адреса). Длительность процесса «стирание-запись» значительно меньше, сильно ослабляются ограничения на число циклов перепрограммирования (допускается 104… 106 таких циклов), кроме того, перепрограммировать ПЗУ можно, не извлекая микросхему из устройства, в котором она работает. В то же время схемы с электрическим стиранием занимают больше места на кристалле, в связи с чем уровень их интеграции меньше, а стоимость выше. В последнее время эти недостатки быстро преодолеваются, и электрическое стирание вытесняет УФ-стирание.

Подключение двухзатворных ЛИЗМОП-транзисторов к линиям выборки строк и линиям чтения в матрицах ЗУ показано на рисунке 30. Запись логического нуля осуществляется путем заряда плавающего затвора инжекцией «горячих» электронов в режиме программирования. Стирание информации, под которым понимается удаление заряда из плавающего затвора, приводит к записи во все запоминающие элементы логических единиц, так как в данном случае опрашиваемые транзисторы открываются и передают напряжение UCC на линии считывания.

 

Рисунок 30 – Схема подключения ЛИЗМОП-транзисторов с двойным затвором к линиям выборки и считывания в РПЗУ

 

Предшественниками двухзатворных ЛИЗМОП-транзисторов были однозатворные, имевшие только плавающий затвор. Эти транзисторы изготовлялись обычно с p-каналом, поэтому введение электронов в плавающий затвор приводило к созданию в транзисторе проводящего канала, а удаление заряда – к исчезновению такого канала. При использовании таких транзисторов запоминающие элементы состоят из двух последовательно включенных транзисторов: ключевого МОП-транзистора обычного типа для выборки адресованного элемента и ЛИЗМОП-транзистора, состояние которого определяет хранимый бит. Стирание информации производится ультрафиолетовыми лучами.

Энергонезависимость всех ROM, сохраняющих информацию при отключении питания, открывает возможности экономии питания при их эксплуатации и, соответственно, улучшения их теплового режима, что повышает надежность схем. Питание можно подавать только на ИС, к которой в данный момент происходит обращение. Режим импульсного питания может многократно уменьшить потребляемую модулем мощность, но одновременно увеличивает время обращения к ЗУ при одиночных произвольных обращениях, так как после включения питания необходимо время для установления режима ИС.

Флэш-память (Flash-Memory) по типу запоминающих элементов и основным принципам работы подобна памяти типа EEPROM, однако ряд архитектурных и структурных особенностей позволяют выделить ее в отдельный класс. В схемах Флэш-памяти не предусмотрено стирание отдельных слов, стирание информации осуществляется либо для всей памяти одновременно, либо для достаточно больших блоков. Понятно, что это позволяет упростить схемы ЗУ, т.е. способствует достижению высокого уровня интеграции и быстродействия при снижении стоимости.

Одновременное стирание всей информации ЗУ реализуется наиболее просто, но имеет тот недостаток, что даже замена одного слова в ЗУ требует стирания и новой записи для всего ЗУ в целом. Для многих применений это неудобно. Поэтому наряду с одновременным стиранием всего содержимого имеются схемы с блочной структурой, в которых весь массив памяти делится на блоки, стираемые независимо друг от друга. Объем таких блоков сильно разнится: от 256 байт до 128 Кбайт и более.

Число циклов репрограммирования для Флэш-памяти хотя и велико, но ограничено, т.е. ячейки при перезаписывании «изнашиваются». Чтобы увеличить долговечность памяти, в ее работе используются специальные алгоритмы, способствующие «разравниванию» числа перезаписей по всем блокам микросхемы. Соответственно областям применения Флэш-память имеет архитектурные и схемотехнические разновидности. Двумя основными направлениями эффективного использования Флэш-памяти являются хранение не очень часто изменяемых данных (обновляемых программ, в частности) и замена памяти на магнитных дисках.

Для первого направления в связи с редким обновлением содержимого параметры циклов стирания и записи не столь существенны, как информационная емкость и скорость считывания информации. Стирание в этих схемах может быть как одновременным для всей памяти, так и блочным. Среди устройств с блочным стиранием выделяют схемы со специализированными блоками (несимметричные блочные структуры). По имени Boot-блоков, в которых информация надежно защищена аппаратными средствами от случайного стирания, эти ЗУ называют Boot Block Flash Memory. Boot-блоки хранят программы инициализации системы, позволяющие ввести ее в рабочее состояние после включения питания.

Микросхемы для замены жестких магнитных дисков (Flash-File Memory) содержат более развитые средства перезаписи информации.

Одним из элементов структуры Флэш-памяти является накопитель (матрица запоминающих элементов). В схемотехнике накопителей развиваются два направления: на основе ячеек типа ИЛИ-НЕ (NOR) и на основе ячеек типа И-НЕ (NAND).

Накопители на основе ячеек ИЛИ-НЕ (с параллельным включением ЛИЗМОП-транзисторов с двойным затвором) обеспечивают быстрый доступ к словам при произвольной выборке. Они приемлемы для разных применений, но наиболее бесспорным считается их применение в памяти для хранения редко обновляемых данных. При этом возникает полезная преемственность с применявшимися ранее ROM и EPROM, сохраняются типичные сигналы управления, обеспечивающие чтение с произвольной выборкой. Структура матрицы накопителя показана на рисунке 31. Каждый столбец представляет собою совокупность параллельно соединенных транзисторов. Разрядные линии выборки находятся под высоким потенциалом. Все транзисторы невыбранных строк заперты. В выбранной строке открываются и передают высокий уровень напряжения на разрядные линии считывания те транзисторы, в плавающих затворах которых отсутствует заряд электронов, и, следовательно, пороговое напряжение транзистора имеет нормальное (неповышенное) значение.

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

Для улучшения технико-экономических характеристик в схемах Флэш-памяти применяются различные средства и приемы.

 

Рисунок 31 – Структура матрицы накопителя Флэш-памяти на основе ячеек ИЛИ-НЕ

 


ЛИТЕРАТУРА

 

1 Дружинин, А. А. PIC и его команда / А. А. Дружинин. – Рига : MEMEX BALTIC, 1996. – 129 с.

2 Угрюмов, Е. П. Цифровая схемотехника : учеб. пособие для вузов. – 2-е изд., перераб. и доп. / Е. П. Угрюмов. – Спб. : БХВ-Петербург, 2005. – 800 с.

 

 


СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ.............................................................................................. 3

ОБЩИЕ СВЕДЕНИЯ И ПРИНЦИПЫ ОРГАНИЗАЦИИ ОДНОКРИСТАЛЬНЫХ МИКРОКОНТРОЛЛЕРОВ........................... 3

Общие сведения о микроконтроллерах............................................ 3

Микроконтроллер PIC16F84.............................................................. 4

Общие сведения.................................................................................. 4

Структурная организация.................................................................. 6

Организация памяти........................................................................... 11

Регистр состояния STATUS............................................................... 15

Регистр OPTION................................................................................. 17

Регистр INTCON................................................................................. 18

Счетчик команд................................................................................... 19

Стек...................................................................................................... 20

Косвенная адресация данных............................................................ 21

Порты ввода/вывода....................................................................................... 22

Особенности программирования портов......................................... 23

Модуль таймера.................................................................................. 24

Специальные функции....................................................................... 28

Система команд микроконтроллера PIC16F84................................ 42

ОРГАНИЗАЦИЯ ПАМЯТИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ................................................................................................... 45

Общие сведения и основные параметры запоминающих устройств............................................................................................. 45

Классификация ЗУ.............................................................................. 48