Внутрисхемное программирование
Микроконтроллер может быть запрограммирован непосредственно в готовом устройстве. Для этого требуется два вывода для подключения тактового сигнала 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.
Усилители-регенераторы строятся на основе тригг
Дата добавления: 2021-01-11; просмотров: 426;