Запоминающие устройства
Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Запоминающие устройства
Основные сведения.
Система параметров. Классификация
Запоминающие устройства (ЗУ) служат для хранения информации и обмена ею с другими ЦУ. Микросхемы памяти в общем объеме выпуска ИС занимают около 40% и играют важнейшую роль во многих системах различного назначения. Микросхемы и системы памяти постоянно совершенствуются как в области схемотехнологии, так и в области развития новых архитектур. В настоящее время созданы и используются десятки различных типов ЗУ
Важнейшие параметры ЗУ находятся в противоречии. Так, например, большая информационная емкость не сочетается с высоким быстродействием, а быстродействие в свою очередь не сочетается с низкой стоимостью. Поэтому системам памяти свойственна многоступенчатая иерархическая структура, и в зависимости от роли того или иного ЗУ его реализация может быть существенно различной.
В наиболее развитой иерархии памяти ЭВМ можно выделить следующие уровни:
1) регистровые ЗУ, находящиеся в составе процессора или других устройств (т. е. внутренние для этих блоков), благодаря которым уменьшается число обращений к другим уровням памяти, реализованным вне процессора и требующим большего времени для операций обмена информацией;
2) кэш-память, служащая для хранения копий информации, используемой в текущих операциях обмена. Высокое быстродействие кэш-памяти повышает производительность ЭВМ;
3) основная память (оперативная, постоянная, полу постоянная), работающая в режиме непосредственного обмена с процессором и по возможности согласованная с ним по быстродействию. Исполняемый в текущий момент фрагмент программы обязательно находится в основной памяти;
4) специализированные виды памяти, характерные для некоторых специфических архитектур (многопортовые, ассоциативные, видеопамять и др.);
5) внешняя память, хранящая большие объемы информации. Эта память обычно реализуется на основе устройств с подвижным носителем информации (магнитные и оптические диски, магнитные ленты и др.)
Важнейшие параметры ЗУ
Информационная емкость — максимально возможный объем хранимой информации. Выражается в битах или словах (в частности, в байтах). Бит хранится запоминающим элементом (ЗЭ), а слово — запоминающей ячейкой (ЗЯ). т. е. группой ЗЭ, к которым возможно лишь одновременное обращение. Добавление к единице измерения множителя "К" (кило) означает умножение на 210= 1024, а множителя "М" (мега) — умножение на 220 — 1048576. Организация ЗУ — произведение числа хранимых слов на их разрядность. Видно, что это дает информационную емкость ЗУ, однако при одной и той же информационной емкости организация ЗУ может быть различной, так что организация является самостоятельным важным параметром.
Быстродействие (производительность) ЗУ оценивают временами считывания, записи и длительностями циклов чтения/записи. Время считывания — интервал между моментами появления сигнала чтения и слова на выходе ЗУ Время записи — интервал после появления сигнала записи, достаточный для установления ЗЯ в состояние, задаваемое входным словом. Минимально допустимый интервал между последовательными чтениями или записями образует соответствующий цикл. Длительности циклов могут превышать времена чтения или записи, т. к. после этих операций может потребоваться время для восстановления необходимого начального состояния ЗУ. Время чтения, записи и длительности циклов — традиционные параметры. Для некоторых современных ЗУ они должны быть дополнены новыми. Причиной является более сложный характер доступа к хранимым данным, когда обращение к первому слову некоторой группы слов (пакета) требует большего времени, чем обращение к последующим. Для таких режимов вводят параметр времени доступа при первом обращении (Latency) и темпа передач для последующих слов пакета (Bandwidth). Темп передач в свою очередь оценивается двумя значениями — предельным (внутри пакета) и усредненным (с учетом Latency). С уменьшением пакета усредненный темп снижается, все более отличаясь от предельного.
Помимо указанных основных параметров для ЗУ указывают еще целый набор временных интервалов. Перечисленные выше динамические параметры являются эксплуатационными (измеряемыми). Кроме них, существует ряд режимных параметров, обеспечение которых необходимо для нормального функционирования ЗУ, поскольку оно имеет несколько сигналов управления, для которых должно быть обеспечено определенное взаимное расположение во времени. Для этих сигналов задаются длительности и ограничения по взаимному положению во времени.
Один из возможных наборов сигналов ЗУ (рис. 4.1, а) включает следующие сигналы:
А— адрес, разрядность которого n определяется числом ячеек ЗУ, т. е. максимально возможным числом хранимых в ЗУ слов. Для ЗУ типично число ячеек, выражаемое целой степенью двойки. Адрес является номером ячейки, к которой идет обращение. Очевидно, что разрядность адреса связана с числом хранимых слов N соотношением n = log2N (имеется в виду максимально возможное число хранимых слов). Например, ЗУ с информационной емкостью 64К слов имеет 16-разрядные адреса, выражаемые словами
А = A15A14A13...Ao;
CS — (Chip Select) или СЕ (Chip Enable), который разрешает или запрещает работу данной микросхемы;
R/W — (Read/Write) задает выполняемую операцию (при единичном значении — чтение, при нулевом — запись);
DI и DO (Data Input) и (Data Output) — шины входных и выходных данных, разрядность которых m определяется организацией ЗУ (разрядностью его ячеек). В некоторых ЗУ эти линии объединены.
Требования к взаимному временному положению двух сигналов (А и В) задаются временами предустановки, удержания и сохранения.
Время предустановки сигнала А относительно сигнала В tsu(А-В) есть интервал между началами обоих сигналов.
Время удержания tH (А- B) - это интервал между началом сигнала А и окончанием сигнала В.
Время сохранения tv (A -B)- интервал между окончанием сигнала А и окончанием сигнала В.
Длительности сигналов обозначаются как tw (индекс от слова Width — ширина).
Для ЗУ характерна такая последовательность сигналов. Прежде всего подается адрес, чтобы последующие операции не коснулись какой-либо другой ячейки, кроме выбранной. Затем разрешается работа микросхемы сигналом CS (CF) и подается строб чтения Записи R/W (взаимное положение сигналов CS и R/W для разных ЗУ может быть различным). Если задана, например, операция чтения, то после подачи перечисленных сигналов ЗУ готовит данные для чтения, что требует определенного времени. Задний фронт сигнала R/W, положение которого во времени должно обеспечивать установление правильных данных на выходе ЗУ, считывает данные.
Пример временной диаграммы для рассмотренного набора cигналов ЗУ и операции чтения приведен на рис. 4.1, 6.
Индексом А (от слова Access) обозначаются согласно стандарту времена доступа — интервалы времени от появления того или иного управляющего сигнала до появления информационного сигнала на выходе. Время доступа относительно сигнала адреса обозначается, если следовать правилу, как tA(A), но часто просто как tA. Аналогично этому, время доступа относительно сигнала CS, т. е. tA(cs) часто обозначается просто как tсs- Время tA называют также временем выборки, а время tcs — временем выбора.
Кроме отмеченных параметров для ЗУ используется и ряд других (уровни напряжений, токи, емкости выводок, температурный диапазон и т. д.), которые не требуют специального рассмотрения, т. к. они традиционны для цифровой схемотехники. Исключение составлявляет свойство энергонезависимости, т.е. способности ЗУ сохранять данные при отключении напряжения питания. Энергонезависимость может быть естественной, т.е. присущей самим ЗЭ, или искусственной, достигаемой введением резервных источников питания, автоматически подключаемых к накопителю ЗУ при снятии основного питания.
Классификация ЗУ
Для классификации ЗУ (рис. 4.2) важнейшим признаком является способ доступа к данным.
При адресном доступе код на адресном входе указывает ячейку, с которой ведется обмен. Все ячейки адресной памяти в момент обращения равнодоступны. Эти ЗУ наиболее разработаны, и другие виды памяти часто строят на основе адресной с соответствующими модификациями.
Адресные ЗУ делятся на RAM (Random Access Memory) и ROM (Read-Only Memory). Русские синонимы термина RAM: ОЗУ (оперативные ЗУ) или ЗУПВ (ЗУ с произвольной выборкой). Оперативные ЗУ хранят данные, участвующие в обмене при исполнении текущей программы, которые могут быть изменены в произвольный момент времени. Запоминающие элементы ОЗУ, как правило, не обладают энергонезависимостью.
В ROM (русский эквивалент — ПЗУ, т. е. постоянные ЗУ) содержимое либо вообще не изменяется, либо изменяется, но редко и в специальном режиме. Для рабочего режима это "память только для чтения".
RAM делятся на статические и динамические. В первом варианте запоминающими элементами являются триггеры, сохраняющие свое состояние, пока схема находится пол питанием и нет новой записи данных. Во втором варианте данные хранятся в виде зарядов конденсаторов, образуемых элементами МОП-структур. Саморазряд конденсаторов ведет к разрушению данных, поэтому они должны периодически (каждые несколько миллисекунд) регенерироваться. В то же время плотность упаковки динамических элементов памяти в несколько раз превышает плотность упаковки, достижимую в статических RAM.
Регенерация данных в динамических ЗУ осуществляется с помощью специальных контроллеров. Разработаны также ЗУ с динамическими запоминающими элементами, имеющие внутреннюю встроенную систему регенерации, у которых внешнее поведение относительно управляющих сигналов становится аналогичным поведению статических ЗУ. Такие ЗУ называют квазистатическими.
Статические ЗУ называются SRAM (Static RAM), а динамические — DRAM (Dynamic RAM).
Статические ОЗУ можно разделить на асинхронные, тактируемые и синхронные (конвейерные). В асинхронных сигналы управления могут задаваться как импульсами, так и уровнями. Например, сигнал разрешения работы CS может оставаться неизменным и разрешающим на протяжении многих циклов обращения к памяти. В тактируемых ЗУ некоторые сигналы обязательно должны быть импульсными, например, сигнал разрешения работы СS и каждом цикле обращения к памяти должен переходить из пассивного состояния в активное (должен формироваться фронт этого сигнала в каждом цикле). Этот тип ЗУ называют часто синхронным. Здесь использован термин "тактируемые", чтобы "освободить" термин "синхронные" для новых типов ЗУ, в которых организован конвейерный тракт передачи данных, синхронизируемый от тактовой системы процессора, что дает повышение темпа передач данных в несколько раз.
Динамические ЗУ характеризуются наибольшей информационной емкостью и невысокой стоимостью, поэтому именно они используются как основная память ЭВМ. Поскольку от этой памяти требуется высокое быстродействие, разработаны многочисленные архитектуры повышенного быстродействия, перечисленные в классификации.
Статические ЗУ в 4...5 раз дороже динамических и приблизительно во столько же раз меньше по информационной емкости. Их достоинством является высокое быстродействие, а типичной областью использования — схемы кэш-памяти.
Постоянная память типа ROM (М) программируется при изготовлении методами интегральной технологии с помощью одной из используемых при этом масок. В русском языке ее можно назвать памятью типа ПЗУМ (ПЗУ масочные). Для потребителя это в полном смысле слова постоянная память, т. к. изменить ее содержимое он не может.
В следующих трех разновидностях ROM в обозначениях присутствует буква Р (от Programmable). Это программируемая пользователем память (в русской терминологии ППЗУ— программируемые ПЗУ). Ее содержимое записывается либо однократно (в PROM), либо может быть заменено путем стирания старой информации и записи новой (в EPROM и EEPROM). В EPROM стирание выполняется с помощью облучения кристалла ультрафиолетовыми лучами, ее русское название РПЗУ-УФ (репрограммируемое ПЗУ с УФ-стиранием). В EEPROM стирание производится электрическими сигналами, ее русское название РПЗУ-ЭС (репрограммируемое ПЗУ с электрическим стиранием). Английские названия расшифровываются как Electrically Programmable ROM и Electrically Erasable Programmable ROM. Программирование PROM и репрограммирование EPROM и EEPROM производятся в обычных лабораторных условиях с помощью либо специальных программаторов, либо специальных режимов без специальных приборов (для EEPROM).
Память типа Flash по запоминающему элементу подобна памяти типа EEPROM (или иначе E2PROM), но имеет структурные и технологические особенности, позволяющие выделить ее в отдельный вид.
Запись данных и для EPROM и для E2PROM производится электрическими сигналами
В ЗУ с последовательным доступом записываемые данные образуют некоторую очередь. Считывание происходит из очереди слово за словом либо в порядке записи, либо в обратном порядке. Моделью такого ЗУ является последовательная цепочка запоминающих элементов, в которой данные передаются между соседними элементами.
Прямой порядок считывания имеет место в буферах FIFO с дисциплиной "первый пришел - первый вышел" (First in — First Out), а также в файловых и циклических ЗУ.
Разница между памятью FIFO и файловым ЗУ состоит в том, что в FIFO запись в пустой буфер сразу же становится доступной для чтения, т. е. поступает в конец цепочки (модели ЗУ). В файловых ЗУ данные поступают в начало цепочки и появляются на выходе после некоторого числа обращений, равного числу элементов в цепочке. При независимости операций считывания и записи фактическое расположение данных в ЗУ на момент считывания не связано с каким-либо внешним признаком. Поэтому записываемые данные объединяют в блоки, обрамляемые специальными символами конца и начала (файлы). Прием данных из файлового ЗУ начинается после обнаружения приемником символа начала блока.
В циклических ЗУ слова доступны одно за другим с постоянным периодом, определяемым емкостью памяти. К такому типу среди полупроводниковых ЗУ относится видеопамять (VRAM).
Считывание в обратном порядке свойственно стековым ЗУ, для которых реализуется дисциплина "последний пришел — первый вышел". Такие ЗУ называют буферами LIFO (Last In — First Out).
Время доступа к конкретной единице хранимой информации в последовательных ЗУ представляет собою случайную величину. В наихудшем случае для такого доступа может потребоваться просмотр всего объема хранимых данных.
Ассоциативный доступ реализует поиск информации но некоторому признаку, а не по ее расположению в памяти (адресу или месту в очереди) В наиболее полной версии все хранимые в памяти слова одновременно проверяются на соответствие признаку, например, на совпадение определенных полей слов (тегов — от английского слова tag) с признаком, задаваемым входным словом (теговым адресом). На выход выдаются слова, удовлетворяющие признаку. Дисциплина выдачи слов, если тегу удовлетворяют несколько слов, а также дисциплина записи новых данных могут быть разными Основная область применения ассоциативной памяти в современных ЭВМ кэширование данных.
Технико-экономические параметры ЗУ существенно зависят or их схемотехнологической реализации По этому признаку также возможна классификация ЗУ, однако удобнее рассматривать этот вопрос применительно к отдельным типам памяти.
Основные структуры запоминающих устройств
Адресные ЗУ представлены в классификации статическими и динамическими оперативными устройствами и памятью типа ROM. Многочисленные варианты этих ЗУ имеют много общего с точки зрения структурных схем что делает более рациональным не конкретное рассмотрение каждого ЗУ в полном объеме, а изучение некоторых обобщенных структур с последующим описанием запоминающих элементов для различных ЗУ. Общность структур особенно проявляется для статических ОЗУ и памяти типа ROM. Структуры динамических ОЗУ имеют свою специфику и будут рассмотрены позже. Для статических ОЗУ и памяти типа ROM наиболее характерны структуры 2D, 3D и 2DM
Структура 2D
В структуре 2D (рис. 4.3) запоминающие элементы ЗЭ организованы в прямоугольную матрицу размерностью М = k*m, где М — информационная емкость памяти в битах; k - число хранимых слов; m — их разрядность.
Дешифратор адресного кода DC при наличии разрешающего сигнала CS (Chip Select — сигнала выбора микросхемы) активизирует одну из выходных линий, разрешая одновременный доступ ко всем элементам выбранной строки, хранящей слово, адрес которого соответствует номеру строки. Элементы одного столбца соединены вертикальной линией — внутренней линией данных (разрядной линией, линией записи/считывания). Элементы столбца хранят одноименные биты всех слов. Направление обмена определяется усилителями чтения/записи под воздействием сигнала R/W (Read —чтение, Write — запись)
Структура типа 2D применяется лишь в ЗУ малой информационной емкости, т. к. при росте емкости проявляется несколько ее недостатков, наиболее очевидным из которых является чрезмерное усложнение дешифратора адреса (число выходов дешифратора равно числу хранимых слов).
Структура 3D
Структура 3D позволяет резко упростить дешифраторы адреса с помощью двухкоординатной выборки запоминающих элементов. Принцип двухкоординатной выборки поясняется (рис. 4.4, а) на примере ЗУ типа ROM, реализующего только операции чтения данных.
Здесь код адреса разрядностью п делится на две половины, каждая из которых декодируется отдельно. Выбирается запоминающий элемент, находящийся на пересечении активных линий выходов обоих дешифраторов. Таких пересечений будет как раз
Суммарное число выходов обоих дешифраторов составляет 2n/2 + 2n/2 = 2n/2+1, что гораздо меньше, чем 2n при реальных значениях n. Уже для ЗУ небольшой емкости видна эта существенная разница: для структуры 2D при хранении 1К слов потребовался бы дешифратор с 1024 выходами, тогда как для структуры типа 3D нужны два дешифратора с 32 выходами каждый. Недостатком структуры 3D в первую очередь является усложнение элементов памяти, имеющих двухкоординатную выборку.
Структура типа 3D, показанная на рис. 4.4, а для ЗУ с одноразрядной организацией, может применяться и в ЗУ с многоразрядной организацией (рис. 4.4, б), приобретая при этом "трехмерный" характер. В этом случае несколько матриц управляются от двух дешифраторов, относительно которьх они включены параллельно. Каждая матрица выдает один бит адресованного слова, а число матриц равно разрядности хранимых слов. Структуры типа 3D имеют также довольно ограниченное применение, поскольку в структурах типа 2DM (2D модифицированная) сочетаются достоинства обеих рассмотренных структур — упрощается дешифрация адреса и не требуются запоминающие элементы с двухкоординатной выборкой.
Структура 2DM
ЗУ типа ROM (рис. 4.5, а) структуры 2DM для матрицы запоминающих элементов с адресацией от дешифратора DCx имеет как бы характер структуры 2D: возбужденный выход дешифратора выбирает целую строку. Однако в отличие от структуры 2D, длина строки не равна разрядности хранимых слов. а многократно ее превышает. При этом число строк матрицы уменьшается и, соответственно, уменьшается число выходов дешифратора. Для выбора одной из строк служат не все разряды адресного кода, а их часть An-1... Аk Остальные разряды адреса (от Ak-1 до Ао) используются, чтобы выбрать необходимое слово из того множества слов, которое содержится в строке. Это выполняется с помощью мультиплексоров, на адресные входы которых подаются коды Аk-1... Ао. Длина строки равна m2k, где m — разрядность хранимых слов. Из каждого "отрезка" строки длиной 2k мультиплексор выбирает один бит. На выходах мультиплексоров формируется выходное слово. По paзрешению сигнала CS, поступающего на входы ОЕ управляемых буферов с тремя состояниями, выходное слово передается на внешнюю шину.
На рис. 4.5, б в более общем виде структура 2DM показана для ЗУ типа RAM с операциями чтения и записи. Из матрицы М по-прежнему считывается "длинная" строка.
Данные в нужный отрезок этой строки записываются (или считываются из нее) управляемыми буферами данных BD, воспринимающими выходные сигналы второго дешифратора DCy, и выполняющими не только функции мультиплексирования, но и функции изменения направления передачи данных под воздействием сигнала R/W.
Память с последовательным доступом
Память с последовательным доступом строится либо с использованием продвижения данных в цепочке элементов (по подобию с регистрами сдвига), либо с хранением данных в адресном ЗУ с необходимым управлением адресом доступа.
Основными представителями этого вида памяти являются видеопамять, буфер FIFO и стек.
Видеопамять
Видеопамять работает циклично, на ее выходе последовательно в порядке сканирования экрана монитора лучом появляются коды, задающие параметры светимости (цвет, яркость) элементарных точек экрана — пикселов. Текущее изображение на мониторе — кадр — представлено последовательностью слов, длина которой равна числу пикселов экрана. Слово, соответствующее одному пикселу, может иметь разрядность от 8 (для черно-белых мониторов) до 24 (для полноцветного режима).
При реализации на основе адресной памяти циклический доступ к данным обеспечивается счетчиком адреса с модулем, равным числу запоминаемых слов. При считывании после каждого обращения адрес увеличивается на единицу, обеспечивая последовательное обращение ко всем ячейкам ЗУ. При переполнении счетчика формируется сигнал начала кадра для управления монитором (для запуска кадровой синхронизации). Запись возможна в пакетном режиме или режиме одиночных записей. В первом случае сигнал переполнения счетчика и его переход на начальный адрес являются сигналом начала передачи блока данных из основной памяти или видеобуфера. Во втором случае адрес изменяемой ячейки (номер пиксела) и данные сохраняются в буфере, а в момент совпадения этого адреса и содержимого счетчика выполняется один цикл записи нового слова. Все остальное время ЗУ работает обычным образом.
Построение циклических ЗУ с продвижением информации (рис. 4.6) показано с представлением элементов хранения и перезаписи данных в виде статических регистров
При считывании выбран нижний канал мультиплексора MUX и записанные данные постоянно переписываются с выхода на вход цепочки запоминающих элементов. В последовательность данных вводятся специальные коды синхросигналов (кадровых и строчных, но на рис. 4.6 для пояснения принципа показан только кадровый). Появление кода синхросигнала на выходе обнаруживается компаратором и синхронизирует запуск развертки монитора.
Пакетная запись может начинаться после появления запроса передачи в момент прохождения кода кадрового синхросигнала. При этом вырабатывается сигнал разрешения передачи кадра из памяти ЭВМ на вход D1, а мультиплексор переключается на верхний канал. После приема целого кадра счетчик CTR, емкость которого равна хитине кадра, переполняется, и под воздействием сигнала переполнения ЗУ возвращается в режим циклической перезаписи.
При одиночных записях устройство должно иметь дополнительно схему сравнения кода счетчика и входного адресного кода (номера заменяемого кода пиксела). При их совпадении мультиплексор переключается на верхний канал на один такт работы, чем обеспечивается замена всего одного слова.
Буфер FIFO
Буфер FIFO, пример структуры которого приведен на рис. 4.7, представляет собою ЗУ для хранения очередей данных (списков) с порядком выборки слов, таким же, что и порядок их поступления. Интервалы между словами могут быть совершенно различными, т. к. моменты записи слова в буфер и считывания из него задаются внешними сигналами управления независимо друг от друга.
Возможность иметь разный темп приема и выдачи слов необходима, например, если приемник способен принимать данные, поступающие регулярно с некоторой частотой, а источник информации выдает слова в более быстром темпе и, может быть, к тому же не регулярно. Такие данные поступают в их темпе в буфер FIFO, а из него считываются регулярно с необходимой для приемника данных частотой. Новое слово ставится в конец очереди, считывание осуществляется с начала очереди.
В схеме (рис. 4.7) перед началом работы оба счетчика адресов CTR1 и CTR2 сбрасываются. При записи адреса увеличиваются на единицу при каждом обращении, т. е. возрастают, начиная с нулевого. То же происходит при чтении слов, так что адрес чтения всегда "гонится" за адресом записи. Если адреса сравняются при чтении, то буфер пуст. Если адреса сравняются при записи, то буфер полон (адресами занята вся емкость счетчика) Эти ситуации отмечаются соответствующими сигналами. Если буфер полон, то нужно прекратить прием данных, а если пуст, то нужно прекратить чтение. Очередь удлиняется или укорачивается в зависимости от разности чисел записанных и считанных слов. Переход через нуль осложнений не вызывает.
Задачу построения стека можно решить принципиально аналогичным способом. Эта задача встречается в дальнейшем изложении при рассмотрении структуры микропроцессора.
Кэш-память
Кэш-память запоминает копии информации, передаваемой между устройствами (прежде всего между процессором и основной памятью). Она имеет небольшую емкость в сравнении с основной памятью и более высокое быстродействие (реализуется на триггерных элементах памяти).
При чтении данных сначала выполняется обращение к кэш-памяти (рис. 4.8). Если в кэше имеется копия данных адресованной ячейки основной памяти, то кэш вырабатывает сигнал Hit (попадание) и выдает данные на общую шину данных. В противном случае сигнал Hit не вырабатывается и выполняется чтение из основной памяти и одновременное помещение считанных данных в кэш.
Эффективность кэширования обуславливается тем, что большинство прикладных программ имеют циклический характер и многократно используют одни и те же данные. Поэтому после первого использования данных из относительно медленной основной памяти повторные обращения требуют меньше времени. К тому же при использовании процессором кэш-памяти основная память освобождается, и могут выполняться регенерация данных в динамическом ЗУ или использование памяти другими устройствами.
Объем кэш-памяти много меньше емкости основной памяти и любая единица информации, помещаемая в кэш, должна сопровождаться дополнительными данными (тегом), определяющими, копией содержания какой ячейки основной памяти является эта единица информации
В полностью ассоциативной кэш-памяти (FACM, Fully Associated Cache Memory), структура которой показана на рис. 4.9, каждая ячейка хранит данные, а в поле "тег" — полный физический адрес информации, копия конторой записана. При любых обменах физический адрес запрашиваемой информации сравнивается с полями "тег" всех ячеек и при совпадении их в любой ячейке устанавливается сигнал Hit.
При чтении и значении сигнала Hit = 1 данные выдаются на шину данных, (если же совпадений нет (Hit = 0), то при чтении из основной памяти данные вместе с адресом помещаются в свободную или наиболее давно не используемую ячейку кэш-памяти.
При записи данные вместе с адресом сначала, как правило, размещаются в кэш-памяти (в обнаруженную ячейку при Hit = 1 и свободную при Hit = 0). Копирование данных в основную память выполняется под управлением специального контроллера, когда нет обращений к памяти.
Память типа FACM является весьма сложным устройством и используется только при малых емкостях, главным образом в специальных приложениях.
В то же время этот вид кэш-памяти обеспечивает наибольшую функциональную гибкость и бесконфликтность адресов, т. к. любую единицу информации можно загрузить в любую ячейку кэш-памяти.
Сложность FACM заставляет искать иные структуры кэш-памяти, более экономичные по затратам аппаратных средств на их реализацию. К числу таких структур относятся кэш-память с прямым размещением и кэш-память с наборно-ассоциативной архитектурой (с ассоциацией по нескольким направлениям). Для конкретного рассмотрения этих структур укажем, что главными параметрами кэш-памяти являются размер строки (Cache Line) и их число (рис. 4.10). Строка представляет собою некоторый набор слов. Ее емкость будем считать соответствующей странице основной памяти.
В структуре FACM, называемой также структурой с произвольной загрузкой, любую страницу можно загрузить в любую строку кэш-буфера (рис. 4.11, а). В качестве тега используется полный физический адрес, если речь идет об адресации отдельных слов, или старшие разряды этого адреса за вычетом младших (смещения), если смещение адресует слово в пределах строки.
Иными словами, в этом случае старшие разряды адреса рассматриваются как тег, тогда как младшие используются для адресации в пределах строки.
В кэш-памяти с прямым размещением (с прямым отображением) несколько страниц основной памяти строго соответствуют одной строке кэша (рис. 4.11, б). Так как занимать строку в одно и го же время может только одна страница, нужен специальный ее признак — тег. Адрес от процессора делится на три части. Младшие разряды (смещение) определяют положение слова в строке. Средние позволяют выбрать одну из строк кэш-памяти. Оставшиеся старшие образуют тег. По адресу строки производится считывание. Поле адресов считанной строки сравнивается с теговым адресом и, если есть совпадение, вырабатывается сигнал Hit выдачи информации и затем мультиплексированием из строки данных выбирается слово. При загрузке из внешней памяти заменяется вся строка. Здесь следует отметить, что блочные передачи в современных системах осуществляются достаточно быстро.
Тег для кэш-памяти с прямым размещением сильно сокращается по разрядности. Обычно номер строки есть адрес страницы по модулю, равному целой степени двойки. На рис. 4.11, б это 128. Достоинство кэша с прямым размещением— экономичность по аппаратурным затратам. Недостаток — ограничения на расположение страниц в кэше, что может не позволить сформировать в нем оптимальный набор страниц, т. к. передача в кэш страницы вызывает удаление из него другой, которая, может быть нужна для формирования оптимального набора страниц.
Промежуточным по сложности и эффективности вариантом между структурами FACM и с прямым размещением является кэш-память с ассоциацией по нескольким направлениям (наборно-ассоциативная). В этом варианте несколько строк кэша объединяются в наборы, а средние разряды адреса памяти определяют уже не одну строку, а набор (рис. 4.11, в). Кэш-память делится на наборы с небольшим числом строк, кратным двойке, т. е. 2, 4, 8 ... и т. д. (на рисунке это 2). Страницу основной памяти можно поместить только в тот набор, номер которого равен адресу страницы по модулю (в данном случае модуль равен 64). Место страницы в наборе может быть произвольным. Сравнение тегов со старшими разрядами адреса производится только для строк, входящих в набор.
По числу строк в наборе кэш-памяти различают разнообразные структуры: двухвходовые, четырехвходовые и т. д.
Для взятого примера используются два отдельных блока памяти для четных строк и нечетных строк. Одновременно выбираются четные и нечетные строки (слова в них). Считывание идет от того блока, где имеется совпадение тега и тегового адреса. При этом из строки через смешение выбирается адресованное слово. При отсутствии совпадений происходит обращение к основной памяти и замещение строки в одном из блоков кэша.
Блок-схема наборно-ассоциативного кэша показана на рис. 4.11, в. По сравнению с кэшем с прямым размещением кэш наборно-ассоциативного типа имеет несколько удлиненный тег (во взятом примере всего на один разряд). Возможность свободного размещения страниц в наборе позволяет сформировать в кэше лучший состав страниц, т. к. имеется возможность выбрать ту или иную заменяемую страницу. В современных микропроцессорных системах кэш первого уровня, обозначаемый L1 (от английского слова Level (внутрипроцессорный)), обычно имеет наборно-ассоциативную структуру, а кэш второго уровня L2 (внешний) — структуру с прямым размещением.
Ряд фирм выпускают микросхемы ассоциативной памяти. Например, одна из микросхем фирмы Cyrix имеет 4К строк, 15-разрядный теговый адрес и 16-разрядный выход. Для построения кэш-памяти используют чаше всего обычные SRAM в сочетании с кэш-контроллерами.
В высокопроизводительном микропроцессоре Power 3 фирмы IBM использован кэш наборно-ассоциативного типа емкостью 32 Кбайта для команд и 64 Кбайта для данных на 128 направлений. Для связей с кэшем второго уровня L2 в системе Power 3 применена 256-разрядная шина. Емкость кэша L2 от 1 до 16 Мбайт. Кстати говоря, именно МП Power 3 использован в суперкомпьютере, который сумел обыграть чемпиона мира по шахматам Гарри Каспарова.
B.3. Динамическое ОЗУ.
Конструктивные особенности.
Динамическое ОЗУ со времени своего появления прошло несколько стадий роста, и процесс ее совершенствования не останавливается. За свою десятилетнюю историю DRAM меняла свой вид несколько раз. Вначале микросхемы динамического ОЗУ производились в DIP-корпусах. Затем их сменили модули, состоящие из нескольких микросхем: SIPP, SIMM и, наконец, DIMM и RIMM. Рассмотрим эти разновидности поподробнее.
B.3.1. Устаревшие модификации.
B.3.1.1. DIP.
Рис. B.3.1. Модуль памяти DIP
DIP- корпус —это исторически самая древняя реализация DRAM. DIP-корпус соответствует стандарту IC. Обычно это маленький черный корпус из пластмассы, по обеим сторонам которого располагаются металлические контакты (см. рисунок B.3.1.).
Рис. B.3.2. Банк модулей памяти DIP
Микросхемы (по-другому, чипы) динамического ОЗУ устанавливаются так называемыми банками. Банки бывают на 64, 256 Кбайт, 1 и 4 Мбайт. Каждый банк состоит из девяти отдельных одинаковых чипов. Из них восемь чипов предназначены для хранения информации, а девятый чип служит для проверки четности остальных восьми микросхем этого банка.
Чипы памяти бывают одно и четырехразрядными, и иметь емкость 64 Кбит, 256 Кбит, 1 и 4 Мбит. Обозначение разновидностей микросхем памяти в DIP-корпусах показано в таблице [Р. Вебер, стр. 46—].
Следует отметить, что памятью с DIP-корпусами комплектовались персональные компьютеры с микропроцессорами i8086/88, i80286 и, частично, i80386SX/DX. Установка и замена этого вида памяти была нетривиальной задачей. Мало того, что приходилось подбирать чипы для банков памяти одинаковой разрядности и емкости. Приходилось прилагать усилия и смекалку, чтобы чипы правильно устанавливались в разъемы. К тому же необходимо было не разрушить контакты механически, не повредить их инструментом, статическим электричеством, грязью и т.п. Поэтому уже в компьютерах с процессором i80386DX эти микросхемы стали заменять памяти SIPP и SIMM.
B.3.1.2. SIPP (SIP) —модули памяти.
Рис. B.3.3. Модуль памяти SIPP
Одной из незаслуженно забытых конструкций модулей памяти являются SIPP-модули. Эти модули представляют собой маленькие платы с несколькими напаянными микросхемами DRAM.
SIPP является сокращением слов Single Inline Package. SIPP-модули соединяются с системной платой с помощью контактных штырьков. Под контактной колодкой находятся 30 маленьких штырьков (смотри рисунок B.3.3.), которые вставляются в соответствующую панель системной платы ([Вебер,] стр. 49—).
Модули SIPP имели определенные вырезы, которые не позволяли вставить их в разъемы неправильным образом. По мнению автора, этот вид модулей лидировал по простоте их установки на системную плату.
B.3.2. SIMM-модули.
Рис. B.3.4. Модуль памяти SIMM (30pin)
Аббревиатура SIMM расшифровывается как Single Inline Memory Module (Модуль памяти с однорядным расположением выводов.) Он включает в себя все то, что для DIP называлось банком (смотри подраздел B.3.1.1.)
Модули SIMM могут иметь объем 256 Кбайт, 1, 2, 4, 8, 16 и 32 Мбайт. Соединение SIMM-модулей с системной платой осуществляется с помощью колодок (см. рисунок B.3.5.)
Рис. B.3.5. Установка модуля памяти SIMM
Модуль вставляется в пластмассовую колодку под углом 70 градусов, а потом зажимается пластмассовым держателем. При этом плата встает вертикально. Специальные вырезы на модуле памяти не позволит поставить их неправильным образом ([Вебер,] стр. 47—.)
Модули SIMM для соединения с системной платой имеют не штырьки, а позолоченные полоски (так называемые pin, пины).
B.3.2.1. Сравнение SIMM-модулей.
SIMM-модули в своем развитии прошли два этапа. Первыми представителями SIMM-модулей были 30-пиновые SIMM FPM DRAM. Их максимальная частота работы — 29 МГц. Стандартным же временем доступа к памяти считалось 70 нс. Эти модули уже с трудом работали на компьютерах с микропроцессорами i80486DX2, и были вытеснены сначала 72-пиновыми FPM DRAM, а затем EDO RAM.
Модуль памяти SIMM (72pin)
SIMM EDO RAM имеют только 72 пина и могут работать на частоте до 50 МГц. Этими модулями памяти оснащались компьютеры с процессорами Intel 80486DX2/DX4, Intel Pentium, Pentium Pro и Pentium MMX, а также AMD 80586 и K5. Эти модули устанавливались на платах с чипсетом Intel 440TX, 440EX, 440LX, 450NX; VIA Apollo MVP 3/4, Pro/Pro+; ALI Alladin 4/4+/V/PRO II, ALI Alladin TNT2.
В настоящее время SIMM-модули, как 30-pin, так и 72-pin не удовлетворяют по своим характеристикам требованиям новых шин и процессоров. Поэтому они все активнее заменяются модулями DIMM [Евгений Калугин Типы памяти.//”Подводная лодка”, январь 2000 —стр. 166—.]
B.3.2.2. Причины повышения скорости работы EDO RAM.
Не смотря на небольшие конструктивные различия, и FPM, и EDO RAM делаются по одной и той же технологии, поэтому скорость работы должна быть одна и та же. Действительно, и FPM, и EDO RAM имеют одинаковое время считывания первой ячейки — 60—70 нс. Однако в EDO RAM применен метод считывания последовательных ячеек. При обращении к EDO RAM активизируется не только первая, но и последующие ячейки в цепочке. Поэтому, имея то же время при обращении к одной ячейке, EDO RAM обращается к следующим ячейкам в цепочке значительно быстрее. Поскольку обращение к последовательно следующим друг за другом областям памяти происходит чаще, чем к ее различным участкам (если отсутствует фрагментация памяти), то выигрыш в суммарной скорости обращения к памяти значителен. Однако даже для EDO RAM существует предел частоты, на которой она может работать. Несмотря ни на какие ухищрения, модули SIMM не могут работать на частоте локальной шины PCI, превышающей 66 МГц. С появлением в 1996 году процессора Intel Pentium II и чипсета Intel 4 0BX частота локальной шины возросла до 100 МГц, что заставило производителей динамического ОЗУ перейти на другие технологии, прежде всего DIMM SDRAM.
B.3.3.DIMM
Аббревиатура DIMM расшифровывается как Dual Inline Memory Module (Модуль памяти с двойным расположением выводов). В модуле DIMM имеется 168 контактов, которые расположены с двух сторон платы и разделены изолятором. Также изменились и разъемы для DIMM-модулей.
Следует отметить, что разъем DIMM имеют много разновидностей DRAM. К тому же вплоть до последнего времени модули DIMM не имели средств самоконфигурирования (в отличие от SIMM-модулей). Поэтому для облегчения выбора нужного модуля пользователям на материнских платах разные типы DIMM имеют от одного до трех вырезов на модуле памяти. Они предотвращают от неправильного выбора и неправильной установки модулей памяти.
В следующих подразделах рассмотрим типы DRAM, имеющие разъем DIMM.
B.3.3.1. SDRAM.
Рис. B.3.6. Модуль памяти SDRAM
Аббревиатура SDRAM расшифровывается как Synchronic DRAM (динамическое ОЗУ с синхронным интерфейсом). Этим они отличаются от FPM и EDO DRAM, работающих по асинхронному интерфейсу.
С асинхронным интерфейсом процессор должен ожидать, пока DRAM закончит выполнение своих внутренних операций. Они обычно занимают 60 нс. В DRAM с синхронным управлением происходит защелкивание информации от процессора под управлением системных часов. Триггеры запоминают адреса, сигналы управления и данных. Это позволяет процессору выполнять другие задачи. После определенного количества циклов данные становятся доступными, и процессор может их считывать. Таким образом, уменьшается время простоя процессора во время регенерации памяти.
Другое преимущество синхронного интерфейса —это то, что системные часы задают временные границы, необходимые DRAM. Это исключает необходимость наличия множества стробирующих импульсов, обязательных для асинхронного интерфейса. Это, во-первых, уменьшает трафик по локальной шине (нет “лишних” сигналов), а во-вторых, позволяет упростить операции ввода-вывода (в операциях пересылки центральный процессор либо контроллер DMA уже не должен выделять полезную информацию среди служебных стробирующих импульсов и битов четности). В-третьих, все операции ввода/вывода на локальной шине стали управляться одними и теми же синхроимпульсами, что само по себе хорошо.
Хотя SDRAM появилась уже давно, использование ее тормозилось высокой (на 33%) ценой по сравнению с EDO RAM. “Звездный час” SDRAM настал в 1997 году, после появления чипсета 440BX, работающего на частоте 100 МГц. Вследствие этого доля рынка SDRAM за год выросла в два раза (с 25% в 1997 году до 50% в 1998 году.)
В настоящее время выпускаются модули SDRAM, работающие на частотах 100 и 133 МГц. Также разработаны SDRAM на частоты 143 МГц и выше.
B.3.3.2. ESDRAM.
Следующим оригинальным решением, увеличившим частоту работы SDRAM, явилось создание кэша SRAM на самом модуле динамического ОЗУ. Так появилась спецификация Enhanced SDRAM
(ESDRAM). Это позволило поднять частоту работы модуля до 200 МГц. Назначение кэша на модуле точно такое же, что и кэш второго уровня процессора — хранение наиболее часто используемых данных.
B.3.3.3. SDRAM II.
Рис. B.3.7. Модуль памяти DDR DRAM (SDRAM II)
Спецификация SDRAM II (или DDR SDRAM) не имеет полной совместимости с SDRAM. Эта спецификация позволяет увеличить частоту работы SDRAM за счет работы на обеих границах тактового сигнала, то есть на подъеме и спаде. Однако SDRAM
II использует тот же 168-ми контактный разъем DIMM.
B.3.3.4. SLDRAM.
Как и SDRAM II, эта спецификация использует обе границы тактового сигнала и имеет в себе SRAM. Однако благодаря протоколу SynchLink Interface эта память способна работать на частоте до 400 МГц.
B.3.3.5. Память от Rambus (RDRAM, RIMM).
Рис. B.3.8. Модуль памяти RDRAM (RIMM)
RDRAM представляет собой спецификацию, созданную и запатентованную фирмой Rambus, Inc. За счет использования обоих границ сигнала достигается частота работы памяти в 800 МГц.
Подсистема памяти Direct Rambus включает в себя следующие компоненты [Евгений Калугин. Типы памяти.//”Подводная лодка”, январь 2000 г., стр. 166—.]:
1. Direct Rambus Controller.
2. Direct Rambus Channel.
3. Direct Rambus Connector.
4. Direct Rambus RIMM(tm).
5. Direct Rambus DRAMs.
Рассмотрим эти компоненты поподробнее:
1. Контроллер Direct Rambus — это главная шина подсистемы памяти. Он помещается на чипе логики, как и PC-чипсет, микропроцессор, графический контроллер. Физически можно поместить до четырех Direct Rambus—контроллеров на одном чипе логики. Контроллер — это интерфейс между чипом логики и памятью Rambus, и в его обязанности входит генерация запросов, управление потоком данных, и ряд других функций.
2. Direct Rambus Channel создает электрические соединения между Rambus Controller и чипами Direct RIMM. Работа канала основана на 30-ти сигналах, составляющих высокоскоростную шину. Эта шина работает на частоте 400 МГц и, за счет передачи данных на обеих границах тактового сигнала, позволяет передавать данные на 800 МГц. Два канала данных (шириной в байт каждый) позволяет получать пиковую пропускную способность в 1,6 Гбайт/с. Канал соответствует форм-фактору SDRAM.
3. Разъем Direct Rambus — это разъем со 168 контактами. Контакты расположены на двух сторонах модуля, по 84 с каждой стороны. Разъем представляет собой низкоиндуктивный интерфейс между каналом на модуле RIMM и каналом на материнской плате.
4. Модуль RIMM — это модуль памяти, который включает в
себя один или более чипов и организует непрерывность канала. По существу, RIMM образует непрерывный канал на пути от одного разъема к другому. Поэтому оставлять свободные разъемы недопустимо
Существуют специальные модули только с каналом, называемые continuity modules. Они не содержат чипов памяти и предназначены для заполнения свободных посадочных мест.
Модули RIMM имеют размеры, сходные с геометрическими размерами SDRAM DIMMs. Модули RIMM поддерживают SPD, которые используются на DIMM'ах SDRAM. В отличие от SDRAM DIMM, Direct Rambus может содержать любое целое число чипов Direct RDRAM (до максимально возможного).
Один канал Direct Rambus максимум может поддерживать 32 чипа DRDRAM. На материнской плате может использоваться до трех RIMM модулей. Используются 64 Мбит, 128 Мбит и 256 Мбит устройства.
Чтобы расширить память сверх 32-х устройств, могут использоваться два чипа повторителя. С одним повторителем канал может поддерживать 64 устройства с 6-ю RIMM модулями, а с двумя — 128 устройств на 12 модулях.
5. Чипы DRDRAM. Чипы DRDRAM составляют часть подсистемы Rambus, запоминающие данные. Все устройства в системе электрически расположены в канале между контроллером и терминатором. Устройства Direct Rambus могут только отвечать на запросы контроллера, который делает их шину подчиненной или отвечающей. Устройства включают в себя статическое и динамическое ОЗУ.
Запоминающие устройства типа ROM(M), PROM, EPROM, EEPROM
Запоминающие устройства типа ROM (память только для чтения) хранит информацию, которая либо вообще не изменяется (в ЗУ типов ROM(M) и PROM), либо изменяется редко и не в оперативном режиме (в ЗУ типов EPROM и EEPROM).
В масочные ЗУ типа ROM(M) информация записывается при изготовлении микросхем на промышленных предприятиях с помощью шаблона (маски) на завершающем этапе технологического процесса.
ЗУ типа PROM программируются после изготовления их предприятием электронной промышленности в лабораториях потребителей без использования сложных технологических процессов. Для этого используются несложные устройства (программаторы).
Программирование постоянной памяти заключается в том или ином размещении элементов связи между горизонтальными и вертикальными линиями матрицы запоминающих элементов.
Запоминающие устройства типа ROM имеют многоразрядную организацию (чаще всего 8-разрядную или 4-разрядную, для некоторых ИС 16-разрядную) и обычно выполняются по структуре 2DM. Простейшие ЗУ могут иметь структуру 2D. Технологии изготовления постоянных ЗУ разнообразны - ТТЛ(Ш), КМОП. n-МОП и др.
Масочные ЗУ
Элементом связи в масочных ЗУ могут быть диоды, биполярные транзисторы. МОП-транзисторы и т. д.
В матрице диодного ROM(M) (рис. 4.12, а) горизонтальные линии являются линиями выборки слов, а вертикальные — линиями считывания. Считываемое слово определяется расположением диодов в узлах координатной сетки. При наличии диода высокий потенциал выбранной горизонтальной линии передается на соответствующую вертикальную линию, и в данном разряде слова появляется сигнал логической единицы. При отсутствии диода потенциал близок к нулевому, т. к. вертикальная линия через резистор связана с землей. В изображенной матрице при возбуждении линии выборки Ш1 считывается слово 11010001 (в ячейке номер один хранится это слово). При возбуждении Ш2 считывается слово 10101011 (оно хранится в ячейке номер 2). Шины выборки являются выходами дешифратора адреса, каждая адресная комбинация возбуждает свой выход дешифратора, что приводит к считыванию слова из адресуемой ячейки.
В матрице с диодными элементами в одних узлах матрицы диоды изготовляются, в других — нет. При этом, чтобы удешевить производство, при изготовлении ЗУ стремятся варьировать только один шаблон, так чтобы одни элементы связи были законченными и работоспособными, а другие - не завершенными и как бы отсутствующими. Для матриц с МОП - тpaнзисторами часто в МОП-транзисторах, соответствующих хранению нуля, увеличивают толщину подзатворного окисла, что ведет к увеличению порогового напряжения транзистора. В этом случае рабочие напряжения ЗУ не в состоянии открыть транзистор. Постоянно закрытое состояние транзистора аналогично его отсутствию Матрица с МОП-транзисторами показана на рис. 4.12, б.
ЗУ с масочным программированием отличаются компактностью запоминающих элементов и, следовательно, высоким уровнем интеграции. При больших объемах производства масочное программирование предпочтительно, однако при недостаточной тиражности ЗУ затраты на проектирование и изготовление шаблона для технологического программирования ЗУ окажутся чрезмерно высокими. Отсюда видна и область применения масочных ЗУ — хранение стандартной информации, имеющей широкий круг потребителей. В частности, масочные ЗУ имеют в качестве "прошивки" коды букв алфавитов (русского и латинского), таблицы типовых функций (синуса, квадратичной функции и др.), стандартное программное обеспечение и т. п.
ЗУ типа PROM
В ЗУ типа PROM микросхемы программируются устранением или созданием специальных перемычек. В исходной заготовке имеются (или отсутствуют) все перемычки. После программирования остаются или возникают только необходимые.
Устранение части перемычек свойственно ЗУ с плавкими перемычками (типа fuse — предохранитель). При этом в исходном состоянии ЗУ имеет все перемычки, а при программировании часть их ликвидируется путем расплавления импульсами тока достаточно большой амплитуды и длительности.
В ЗУ с плавкими перемычками эти перемычки включаются в элем роды диодов или транзисторов. Перемычки могут быть металлическими (вначале изготовлялись из нихрома, позднее из титановольфрамовых и других сплавов) или поликристаллическими (кремниевыми). В исходном состоянии запоминающий элемент хранит логическую единицу, логический нуль нужно записать, расплавляя перемычку.
Создание части перемычек соответствует схемам, которые в исходном состоянии имеют непроводящие перемычки в виде пары встречно включенных диодов или тонких диэлектрических слоев, пробиваемых при программировании с образованием низкоомных сопротивлений. Схемы с тонкими пробиваемыми диэлектрическими перемычками (типа antifuse) наиболее компактны и совершенны. Их применение характерно для программируемых логических СБИС. В номенклатуре продукции стран СНГ ЗУ с перемычками типа antifuse отсутствуют.
Второй тип запоминающего элемента PROM — два встречно включенных диода. В исходном состоянии сопротивление такой цепочки настолько велико, что практически равноценно разомкнутой цепи, и запоминающий элемент хранит логический нуль. Для записи единицы к диодам прикладывают повышенное напряжение, пробивающее диод, смещенный в обратном направлении. Диод пробивается с образованием в нем короткого замыкании и играет роль появившейся проводящей перемычки.
Запоминающие элементы с плавкими перемычками и парами диодов показаны на рис. 4.13, о, б в исходном состоянии и после программировании.
Матрица запоминающих элементов ЗУ с плавкими перемычками в технике ТТЛ (микросхемы К155РЕЗ) показана на рис. 4.14. ЗУ имеет организацию 32x8. Матрица содержит 32 транзистора с 9 эмиттерами в каждом (8 рабочих и один технологический для уточнения режима прожигания, технологический эмиттер на рисунке не показан). Высокий потенциал на какой-либо шине выборки активизирует соответствующий транзистор, работающий в режиме эмиттерного повторителя. До программирования транзисторы передают высокий потенциал базы на все выходные (разрядные) линии, т. е. по всем адресам записаны слова, состоящие из одних единиц. Пережигание перемычки в цепи какого-либо эмиттера дает ноль в данном разряде слова, например, для ячейки с номером 1 показан вариант программирования для хранения по этому адресу слова 10100101. Выходы матрицы связаны с внешними цепями через буферные каскады, имеющие выходы типа ОК. или ТС. ЗУ имеет структуру 2D.
Программирование ЗУ с плавкими перемычками реализуется простыми аппаратными средствами и может быть доступно схемотехникам даже при отсутствии специального оборудования. На рис. 4.15 показан многоэмиттерный транзистор (МЭТ) с плавкими перемычками и дополнительными элементами, обеспечивающими программирование ЗУ. Выходы этого запоминающего элемента передаются во внешние цепи через буферные каскады с тремя состояниями, работа которых разрешается сигналом ОЕ. При этом сигнал разрешения работы формирователей импульсов программирования OE отсутствует, и они не влияют на работу схемы. При программировании буферы данных переводятся в третье состояние (ОЕ = 0), а работа формирователей F разрешается. Слово, которое нужно записать в данной ячейке, подается на линии данных D7...D0. Те разряды слова, в которых имеются единицы, будут иметь на выходах формирователей низкий уровень напряжения. Соответствующие эмиттеры МЭТ окажутся под низким напряжением и через них пройдет ток прожигания перемычки. При чтении отсутствие перемычки даст нулевой сигнал на вход буфера данных. Так как буфер инвертирующий, с его выхода снимется единичный сигнал, т. е. тот, который и записывался. Адресация программируемой ячейки как обычно обеспечивается дешифратором адреса, подающим высокий уровень потенциала на базу адресуемого МЭТ.
Для прожигания перемычек на них подают токи в десятки миллиампер в виде серии импульсов (для большей надежности прожигания). Не все перемычки удается пережечь надлежащим образом, коэффициент программируемости для серии К556, например, составляет 0,5...0,7. В ЗУ с плавкими перемычками возможно восстановление проводимости перемычек через некоторое время из-за миграции в электроматериалах.
Плавкие перемычки занимают на кристалле относительно много места, поэтому уровень интеграции ЗУ с такими перемычками существенно ниже, чем у масочных ЗУ. В то же время простота программирования пользователем и невысокая стоимость в свое время обусловили широкое распространение ЗУ типа PROM. Невысокая стоимость программируемых пользователем ЗУ объясняется тем, что изготовитель выпускает микросхемы без учета конкретного содержимого ЗУ, т. е. освобожден от проектирования по специализированным заказам и. следовательно, связанных с этим затрат.
Среди отечественных PROM ведущее место занимают микросхемы серии К556, имеющие информационную емкость 1...64 Кбит и время доступа па адресу 70...90 нс.
Внешняя организация памяти типов ROM(M) и PROM проста: входными сигналами для них служат адресный код и сигнал выбора микросхемы CS. Во времени последовательность сигналов следующая: вначале подается адресным код (чтобы произошла дешифрация адреса и было исключено обращение к непредусмотренной ячейке), затем поступает сигнал выбора микросхемы CS и после задержки, определяемой быстродействием схемы, на выходах данный устанавливаются правильные значения считываемых сигналов.
ЗУ типов EPROM и EEPROM
В ре программируемых ЗУ типов EPROM и EEPROM (или E2PROM) в можно стирание старой информации и замена ее новой в результате специального процесса, для проведения которого ЗУ выводится из рабочего режима. Рабочий режим (чтение данных) — процесс, выполняемый с относительно высокой скоростью. Замена же содержимого памяти требует выполнения гораздо более длительных операций.
По способу стирания старой информации различают ЗУ со стиранием ультрафиолетовыми лучами (EPROM или в русской терминологии РПЗУ-УФ, т. е. репрограммируемые ПЗУ с ультрафиолетовым стиранием) и электрическим стиранием (E2PROM или РПЗУ-ЭС).
Запоминающими элементами современных РПЗУ являются транзисторы типов МНОП и ЛИЗМОП (добавление ЛИЗ к обозначению МОП происходит от слов Лавинная Инжекция Заряда).
МНОП-транзистор отличается от обычного МОП-транзистора двухслойным подзатворным диэлектриком. На поверхности кристалла расположен тонкий слой двуокиси кремния Si02, далее более толстый слой нитрида кремния Si3N4 и затем уже затвор (рис. 4.16, о). На границе диэлектрических слоев возникают центры захвата заряда. Благодаря туннельному эффекту, носители заряда могут проходить через тонкую пленку окисла толщиной не более 5 мкм и скапливаться на границе раздела слоев. Этот заряд и является носителем информации, хранимой МНОП-транзистором. Заряд записывают созданием под затвором напряженности электрического поля, достаточной для возникновения туннельного перехода носителей заряда через тонкий слой Si02 На границе раздела диэлектрических слоев можно создавать заряд любого знака в зависимости от направленности электрического поля в подзатворной области
Наличие заряда влияет на пороговое напряжение транзистора.
Для МНОП-транзистора с n-каналом отрицательный заряд на дранице развела слоев повышает пороговое напряжение (экранирует воздействие положительного напряжения на затворе, отпирающего транзистор). При этом пороговое напряжение возрастает настолько, что рабочие напряжения на затворе транзистора не в состоянии его открыть (создать в нем проводящий канал). Транзистор, в котором заряд отсутствует или имеет другой знак, легко открывается рабочим значением напряжения. Так осуществляется хранение бита в МНОП: одно из состояний трактуется как отображение логической единицы, другое — нуля.
При программировании ЗУ используются относительно высокие напряжения, около 20 В. После снятия высоких напряжений туннельное прохождение носителей заряда через диэлектрик прекращается и заданное транзистору пороговое напряжение остается неизменным.
После 104...106 перезаписей МНОП-транзистор перестает устойчиво хранить заряд. РПЗУ на МНОП-транзисторах энергонезависимы и могут хранить информацию месяцами, годами и десятками лет.
Перед новой записью старая информация стирается записью нулей во все запоминающие элементы. Тип ЗУ — РПЗУ-ЭС.
Транзисторы типа ЛИЗМОП всегда имеют так называемый плавающий затвор, который может быть единственным или вторым, дополнительным к обычному (управляющему) затвору. Транзисторы с одним плавающим затвором используются в ЗУ типа РПЗУ-УФ, а транзисторы с двойным затвором пригодны для применения как в РПЗУ-УФ, так и в РПЗУ-ЭС. Рассмотрим более современный тип — ЛИЗМОП-транзистор с двойным затвором (рис. 4.16, 6).
Принцип работы ЛИЗМОП с двойным затвором близок к принципу работы МНОП-транзистора — здесь также между управляющим затвором и областью канала помещается область, в которую при программировании можно вводить заряд, влияющий на величину порогового напряжения транзистора. Только область введения заряда представляет собою не границу раздела слоев диэлектрика, а окруженную со всех сторон диэлектриком проводящую область (обычно из поликристаллического кремния), в которую, как в ловушку, можно ввести заряд, способный сохраняться в ней в течение очень длительного времени. Эта область и называется плавающим затвором.
При подаче на управляющий затвор, исток и сток импульса положительного напряжения относительно большой амплитуды 20...25 В в обратно смещенных р-n переходах возникает лавинный пробой, область которого насыщается электронами. Часть электронов, имеющих энергию, достаточную для преодоления потенциального барьера диэлектрической области, проникает в плавающий затвор. Снятие высокого программирующего напряжения восстанавливает обычное состояние областей транзистора и запирает электроны в плавающем затворе, где они могут находиться длительное время (в высококачественных приборах многие годы).
Заряженный электронами плавающий затвор увеличивает пороговое напряжение транзистора настолько, что в диапазоне рабочих напряжений проводящий канал в транзисторе не создается.
При отсутствии заряда в плавающем затворе транзистор работает в обычном ключевом режиме.
Стирание информации может производиться двумя способами — ультрафиолетовым облучением или электрическими сигналами. В первом случае корпус ИС имеет специальное прозрачное окошко для облучения кристалла. Двуокись кремния и поликремний прозрачны для ультрафиолетовых лучей. Эти лучи вызывают в областях транзистора фототоки и тепловые токи, что делает области прибора проводящими и позволяет заряду покинуть плавающий затвор. Операция стирания информации этим способом занимает десятки минут, информация стирается сразу во всем кристалле. В схемах с УФ-стиранием число циклов перепрограммирования существенно ограничено, т. к. под действием ультрафиолетовых лучей свойства материалов постепенно изменяются. Число циклов перезаписи у отечественных ИС равно 10...100.
Электрическое стирание информации осуществляется подачей на управляющие затворы низкого (нулевого) напряжения, а на стоки — высокого напряжения программирования. Электрическое стирание имеет преимущества: можно стирать информацию не со всего кристалла, а выборочно (индивидуально для каждого адреса). Длительность процесса "стирание-запись" значительно меньше, сильно ослабляются ограничения на число циклов перепрограммирования (допускается 104...106 таких циклов). Кроме того, перепрограммировать ЗУ можно, не извлекая микросхему из устройства, в котором она работает. В то же время схемы с электрическим стиранием занимают больше места на кристалле, в связи с чем уровень их интеграции меньше, а стоимость выше. В последнее время эти недостатки быстро преодолеваются и ЭС-стирание вытесняет УФ-стирание.
Предшественниками даухзатворных ЛИЗМОП-транзисторов были однозатворные, имевшие только плавающий затвор. Эти транзисторы изготовлялись обычно с р-каналом, поэтому введение электронов в плаваюший затвор приводило к созданию в транзисторе проводящего канала, а удаление заряда — к исчезновению такого канала. При использовании таких транзисторов запоминающие элементы состоят из двух последовательно включенных транзисторов: ключевого МОП-транзистора обычного типа для выборки адресованного элемента и ЛИЗМОП-транзистора, состояние которого определяет хранимый бит. Стирание информации производится ультрафиолетовыми лучами.
Подключение двухзатворных ЛИЗМОП-транзисторов к линиям выборки строк и линиям чтения в матрицах ЗУ показано на рис. 4.17. Запись логического нуля осуществляется путем заряда плавающего затвора инжекцией "горячих" электронов в режиме программирования. Стирание информации, под которым понимается удаление заряда из плавающего затвора, приводит к записи во все запоминающие элементы логических единиц, т. к. в данном случае опрашиваемые транзисторы открываются и передают напряжение Ucc на линии считывания.
Среди отечественных РПЗУ-УФ (в маркировке они имеют буквы РФ) наиболее известна серия К573 с широким набором типономиналов, а среди РПЗУ-ЭС (в маркировке имеют буквы РР) имеются серии КР558 (на основе n-МНОП), К1609, К1624, К1626 на ЛИЗМОП с двумя затворами.
Отечественные ROM характеризуются в настоящее время следующими параметрами: масочные ИС имеют информационную емкость до 1 Мбит а при временах доступа около 200 нс, микросхемы с плавкими перемычками соответственно 64 Кбита и 80 нс, РПЗУ-УФ 1 Мбит и 350 нс, РПЗУ-ЭС 64 Кбита и 250 нс.
На уровне мировой техники имеются ЗУ типа РПЗУ-УФ с информационной емкостью до 8 Мбит при временах доступа 45 нс (фирма Atmel), ЗУ типа РПЗУ-ЭС с информационной емкостью до 256 Кбит при временах доступа 90 нс и допустимом числе циклов перезаписи 105 с временем сохранения данных более 10 лет Это ЗУ использует один источник питания 5 В и потребляет] ток 2 мА в активном режиме и 100 мкА при отсутствии обращений. Возможна байтовая или страничная запись за время 3 мс (фирма SGS-Thomson).
Импульсное питание ROM
Энергонезависимость всех ROM, сохраняющих информацию при отключении питания, открывает возможности экономии питания при их эксплуатации и соответственно, улучшения их теплового режима, что повышает надежность схем. Питание можно подавать только на ИС, к которой в данный момент происходит обращение. На рис. 4.18 показан обычный вариант построения модуля памяти, состоящего из нескольких ИС, и вариант с импульсным питанием. В обычном варианте напряжение Ucc подключается ко всем ИС постоянно, а выбор адресуемой ИС осуществляется сигналом CS. В варианте с импульсным питанием работа всех ИС по входам CS постоянно разрешена, но питание подключается только к выбранной микросхеме с помощью ключа, управляемого от выходов адресного дешифратора, декодирующего старшие разряды адреса.
Режим импульсного питания может многократно уменьшить потребляемую модулем мощность, но, одновременно, увеличивает время обращения к ЗУ при одиночных произвольных обращениях, т. к. после включения питания необходимо время для установления режима ИС.
При чтении данных, расположенных по близким адресам, когда старшие разряды адреса остаются неизменными, потерь времени не возникает.
§4.4. Флэш-память
Флэш-память (Flash-Memory) по типу запоминающих элементов и основным принципам работы подобна памяти типа E2PROM> однако ряд архитектурных и структурных особенностей позволяют выделить ее в отдельный класс. Разработка Флэш-памяти считается кульминацией десятилетнего развития схемотехники памяти с электрическим стиранием информации.
В схемах Флэш-памяти не предусмотрено стирание отдельных слов, стирание информации осуществляется либо для всей памяти одновременно, либо для достаточно больших блоков. Понятно, что это позволяет упростить схемы ЗУ, т. е. способствует достижению высокого уровня интеграции и быстродействия при снижении стоимости. Технологически схемы Флэш-памяти выполняются с высоким качеством и обладают очень хорошими параметрами.
Термин Flash по одной из версий связан с характерной особенностью этого вида памяти — возможностью одновременного стирания всего ее объема Согласно этой версии ещё до появления Флэш-памяти при хранении секретных данных использовались устройства, которые при попытках несанкционированного доступа к ним автоматически стирали хранимую информацию и назывались устройствами типа Flash (вспышка, мгновение). Это название перешло и к памяти, обладавшей свойством быстрого стирания всего массива данных одним сигналом.
Одновременное стирание всей информации ЗУ реализуется наиболее просто, но имеет тот недостаток, что даже замена одного слова в ЗУ требует стирания и новой записи для всего ЗУ в целом. Для многих применений это неудобно. Поэтому наряду со схемами с одновременным стиранием всего содержимого имеются схемы с блочной структурой, в которых весь массив памяти делится на блоки, стираемые независимо друг от друга. Объем таких блоков сильно разнится: от 256 байт до 128 Кбайт.
Число циклов репрограммирования для Флэш-памяти хотя и велико, но ограничено, т. е. ячейки при перезаписи "изнашиваются". Чтобы увеличить долговечность памяти, в ее работе используются специальные алгоритмы, способствующие "разравниванию" числа перезаписей по всем блокам микросхемы .
Соответственно областям применения Флэш-память имеет архитектурные и схемотехнические разновидности. Двумя основными направлениями эффективного использования Флэш-памяти являются хранение не очень часто изменяемых данных (обновляемых программ, в частности) и замена памяти на магнитных дисках.
Для первого направления в связи с редким обновлением содержимого параметры циклов стирания и записи не столь существенны как информационная емкость и скорость считывания информации. Стирание в этих схемах может быть как одновременным для всей памяти, так и блочным. Среди устройств с блочным стиранием выделяют схемы со специализированными блоками (несимметричные блочные структуры). По имени так называемых Boot-блоков, в которых информация надежно защищена аппаратными средствами от случайного стирания, эти ЗУ называют Boot Block Flash Memory. Boot-блоки хранят программы инициализации системы, позволяющие ввести ее в рабочее состояние после включения питания.
Микросхемы для замены жестких магнитных дисков {Flash-File Memory) содержат более развитые средства перезаписи информации и имеют идентичные блоки (симметричные блочные структуры).
Одним из элементов структуры Флэш-памяти является накопитель (матрица запоминающих элементов). В схемотехнике накопителей развиваются два направления: на основе ячеек типа ИЛИ-НЕ (NOR) и на основе ячеек типа И-НЕ (NAND).
Накопители на основе ячеек ИЛИ-НЕ (с параллельным включением ЛИЗ-МОП-транзисторов с двойным затвором) обеспечивают быстрый доступ при произвольной выборке. Они приемлемы для разных применений, но наиболее бесспорным считается их применение в памяти для хранении редко обновляемых данных. При этом возникает полезная преемственность с применявшимися ранее ROM и EPROM, сохраняются типичные сигналы управления, обеспечивающие чтение с произвольной выборкой, структура матрицы накопителя показана на рис. 4.19. Каждый столбец представляет собою совокупность параллельно соединенных транзисторов. Разрядные линии выборки находятся под высоким потенциалом. Все транзисторы невыбранных строк заперты. В выбранной строке открываются и передают высокий уровень напряжения на разрядные линии считывания тс транзисторы, в плавающих затворах которых отсутствует заряд электронов. и, следовательно, пороговое напряжение транзистора имеет нормальное (не повышенное) значение.
Накопители на основе ячеек ИЛИ-НЕ широко используются фирмой Intel. Имеются мнения о конкурентоспособности этих накопителей и в применениях, связанных с заменой жестких магнитных дисков Флэш-памятью. Структуры с ячейками И-НЕ более компактны, но не обеспечивают режима произвольного доступа и практически используются только в схемах замены магнитных дисков. В схемах на этих ячейках сам накопитель компактнее, но увеличивается количество логических элементов обрамления накопителя. Для улучшения технико-экономических характеристик в схемах Флэш-памяти применяются различные средства и приемы:
1. Прерывание процессов записи при обращениях процессора для чтения (Erase Suspend). Без этого возникали бы длительные простои процессора, т. к. запись занимает достаточно большое время. После прерывания процесс записи возобновляется под управлением внутренних средств Флеш-памяти.
2. Внутренняя очередь команд, управляющих работой Флэш-памяти, которая позволяет организовать конвейеризацию выполняемых операций и ускорить процессы чтения и записи.
3. Программирование длины хранимых в ЗУ слов для согласования с различными портами ввода/вывода.
4. Введение режимов пониженной мощности на время, когда к ЗУ нет обращений, в том числе режима глубокого покоя, в котором мощность снижается до крайне малых значений (например, ток потребления снижается до 2 мкА). Эти особенности очень важны для устройств с автономным (батарейным) питанием.
5. Приспособленность к работе при различных питающих напряжениях (5 В; 3,3 В и др.). Сама схема "чувствует" уровень питания и производит необходимые переключения для приспособления к нему.
6. Введение в структуры памяти страничных буферов для быстрого накопления новых данных, подлежащих записи. Два таких буфера могут работать в режиме, называемом "пинг-понг", когда один из них принимает слова, подлежащие записи, а другой в это время обеспечивает запись своего содержимого в память. Когда первый буфер заполнится, второй уже освободится, и они поменяются местами.
7. Различные меры защиты от случайного или несанкционированного доступа.
Флэш-память с адресным доступом, ориентированная на хранение не слишком часто изменяемой информации, может иметь одновременное стирание всей информации (архитектура Bulk Erase) или блочное стирание (архитектура Boot Block Flash-Memory).
Имея преемственность с ЗУ типов E2PROM и EPROM, разработанными ранее, схемы Флэш-памяти предпочтительнее E2PROM по информационной емкости и стоимости в применениях, где не требуется индивидуальное стирание слов, а в сравнении с EPROM обладают тем преимуществом, что не требуют специальных условий и аппаратуры для стирания данных, которое к тому же происходит гораздо быстрее.
Память типа Bulk Erase
Память типа Bulk Erase фирмы Intel, наиболее известной среди разработчи ков Флэш-памяти, имеет время записи байта около 10 мкс, допускает до 105 циклов стирания, напряжение программирования для нее составляет 12 В ± 5%, ток активного режима около 10 мА, в режиме покоя около 50 мкА. Время доступа при чтении равно приблизительно 100 не, время стирания и время программирования всего кристалла составляет 0,6...4 с для кристаллов емкостью 256 Кбит...2 Мбит.
В отличие от традиционного управления схемами памяти с помощью адресных и управляющих сигналов, Флэш-память имеет дополнительное управление словами-командами, записываемыми процессором в специальный pегистр, функционирующий только при высоком уровне напряжения на выводе микросхемы, обозначаемом Upp (напряжении программирования). При отсутствии такого уровня Upp схема работает только как память для чтения под управлением традиционных сигналов, задающих операции чтения. снижении мощности, управления третьим состоянием и выдачи идентификатора.
На рис. 4.20 показана структура Флэш-памяти типа Bulk Erase (схемы 28F010. 28F020 фирмы Intel и др).
Входы А являются адресными, причем в течение цикла записи адреса фиксируются в регистре-защелке по сигналу строба STB. Ввод/вывод данных (линии DQ) осуществляется через буферы с третьим состоянием. В течение цикла записи данные фиксируются в регистре-защелке
Сигналы СЕ, ОЕ и WE L-активны. Сигнал СЕ активизирует управляющую логику, буферы ввода/вывода данных, дешифраторы адреса DCy, DCx и усилители чтения. При высоком уровне сигнала СЁ (схема не выбрана) буферы входят в третье состояние, а потребление мощности снижается до уровня покоя (Standby). Сигнал ОЁ низким уровнем разрешает вывод данных через буферы в течение циклов чтения (естественно, только при низком уровне сигнала СЕ). к Сигнал WE разрешает запись в регистр команд и матрицу запоминающих ячеек и своими фронтами загружает регистры-защелки (отрицательным — регистр-защелку адреса, положительным —данных).
Схемы управления и содержимое регистра команд определяют состояние переключателей уровней напряжения U используемых в разных режимах работы (при стирании, программировании или чтении).
Для получения выходных данных при чтении требуется активное состояние сигналов СЕ и ОЕ. При этом низкий уровень U делает возможным чтение только данных памяти, а высокий позволяет считывать также коды идентификаторов и информацию для проверки операций стирания/программирования. Операции с идентификатором выводят код фирмы-изготовителя и микросхемы. Эти сведения позволяют согласовать алгоритмы стирания и программирования схемы и программирующего оборудования, что производится автоматически
Коды идентификаторов находятся в двух ячейках памяти и могут считываться с помощью определенной комбинации сигналов или регистре команд (чтением после подачи в регистр команды 90Н).
При выполнении операций записи коды адресов и данных фиксируются во внутренних регистрах-защелках. При высоком уровне U выполняются те же операции и дополнительно разрешается стирание и программирование памяти Все действия, связанные с изменением содержимого памяти, производятся с использованием регистра команд. Регистр команд не занимает какой-либо позиции в адресном пространстве и загружается обычным циклом записи от процессора при низком уровне Upp Его содержимое играет роль входной информации для внутреннего автомата управления схемами стирания и программирования памяти Используются 7 команд, две из которых задают операции чтения данных и кодов идентификатора), две другие относятся к операции стирания (подготовка стирания/стирание и проверка стирания), две команды относятся к операции программирования (подготовка программирования/программирование и проверка программирования) и одна команда задает операцию сброса микросхемы.
При снижении уровня Upp регистр команд сбрасывается, разрешая микросхеме только операции чтения.
По команде стирания стираются все байты матрицы параллельно, после чего все они должны быть проверены. Для этого байты адресуются и активизируются подачей специального напряжения. Чтение из ячейки кода OFFH показывает, что все биты байта стерты. Если считывается иной код, выполняется повторная операция стирания. Затем проверка возобновляется с адреса последнего проверенного байта. Процесс проверки продолжается до достижения последнего адреса.
Программирование памяти ведется байт за байтом (последовательно или при произвольном доступе). Цикл чтения от процессора выводит данные байта, которые сравниваются с заданными. Равенство байтов свидетельствует об успешном программировании. После этого процесс программирования переходит к следующему байту.
Команда сброса является средством надежного устранения действия команд стирания/программирования. После каждой из этих команд в регистр команд можно записать код операции сброса, что устранит возможность каких-либо действий, связанных с указанными командами. Содержимое памяти не сможет изменяться. Для дальнейшего приведения схемы в желаемое состояние в регистр команд нужно записать соответствующую команду.
При переходе сигнала СЕ к высокому уровню вводится режим пониженной мощности. Если это происходит при стирании, программировании или проверках данных, то активный ток сохраняется до завершения указанных операций.
Флэш-память с несимметричной блочной структурой
Схемам типа Boot Block Flash Memory (Boot-блок Флэш-память, сокращенно ББФП) присуще блочное стирание данных и несимметричная блочная архитектура. Блоки специализированы и имеют разные размеры. Среди них имеется так называемый Boot-блок (ББ), содержимое которого аппаратно защищено от случайного стирания. В ББ хранится программное обеспечение базовой системы ввода/вывода микропроцессорной системы BIOS (Basic Input/Output System), необходимое для правильной эксплуатации и инициализации системы.
В составе блоков имеются также БП (блоки параметров) и ГБ (главные блоки), не снабженные аппаратными средствами защиты от непредусмотренной записи Блоки БП хранят относительно часто меняемые параметры системы (коды идентификаторов, диагностические программы и т. п.). Блоки ГБ хранят основные управляющие программы и т. п.
Микросхемы ББФП предназначены для работы с разными микропроцессорами и для соответствия им имеют два варианта расположения ББ и адресном пространстве:, вверху и внизу, что отображается в маркировке ИС буквами Т (Тор) или В (Boilom). На рис. 4.21, а для примера приведена карта памяти (распределение адресного пространства) для ИС емкостью 4 Мбит с верхним расположением ББ.
В настоящее время выпускаются ББФП с емкостями 1... 16 Мбит, в последующих поколениях ожидаются ИС с информационными емкостями до 256 Мбит.
По своему функционированию ББФП близки к памяти типа Bulk Erase, в обоих типах ИС операции стирания/программирования ведутся под управлением внутреннего автомата, входной информацией для которого служат команды, вводимые от процессора. В схемах ББФП эту роль играет так называемый командный интерфейс пользователя CUI (Command User lnterface).
Внешняя организация типичной ББФП показана на рис. 4.21, 6 на примере ИС с информационной емкостью 4 Мбита. Адреса задаются 19-разрядным кодом A18-0, т. е. в памяти хранится до 512 Кслов. Сигнал BYTE задает 8-разрядную или 16-разрядную организацию памяти. При байтовой организации байты передаются по линиям DQ7-o, а линия DQ15 играет роль самого младшего разряда адреса, определяющего, какой байт данной ячейки передается (старший или младший). При словарной организации выводы DQ15-0 являются линиями ввода-вывода данных.
Напряжение на выводе RP (Reset/Power Down) может иметь три уровня: 12 В ± 5%, уровень логической единицы Н и низкий уровень L. При напряжении 12 В ± 5% ББ открыт и в нем могут выполняться операции стирания и программирования. При напряжении ниже 6,5 В ББ заперт.
Имея ряд режимов экономии мощности, схемы ББФП, в частности, реализуют режим APS (Automatic Power Saving), благодаря которому после завершения цикла чтения схема автоматически входит в статический режим с , потреблением тока около 1 мА, в котором находится до начала следующего цикла чтения.
Когда схема не выбрана (при высоком уровне сигнала на выводе СЕ и выводе RP, т. е. СЕ = RP = Н) потребление мощности снижается до уровня покоя (десятки мкА). При RP = L не только запрещается запись, но и вводится режим глубокого снижения мощности, в котором ток потребления снижается до долей мкА.
Активному режиму соответствует комбинация сигналов СЕ = L и RP = Н.
Сигналы ОЕ и WE имеют обычное назначение. Микросхемы Boot-блок флэш-памяти могут работать с разными напряжениями питания и программирования (технология Smart Voltage), имеют времена доступа при чтении 50...7О нс, токи активных режимов 15...25 мА и крайне малые токи в режиме глубокого понижения мощности (около 0,2 мкА).
Файловая Флэш-память
Важное место в иерархии ЗУ занимает файловая Флэш-память (ФФП). В течение многих лет хранение больших объемов данных возлагалось в микроЭВМ на хорошо отработанные и сравнительно недорогие внешние ЗУ на магнитных, а впоследствии и оптических дисках. Во многих компьютерах система памяти организована как сочетание жесткого магнитного диска винчестера) с динамическим полупроводниковым ОЗУ. Инея значительные достоинства, дисковые ЗУ как электромеханические устройства не свободны от ряда недостатков: чувствительности к ударам и вибрациям, загрязнениям, ограниченного быстродействия и значительного потребления мощности. Эти недостатки особенно сказываются в портативных устройствах с автономным (батарейным) питанием. Достаточно отметить, что дисководы потребляют в лучшем случае мощность около 3 Bт, что в системах с напряжениями питания 3,3...5 В означает потребление токов 0,6...0,9 А, быстро истощающих батарейки.
Файловая Флэш-память ориентирована на замену твердых дисков, которая в сотни раз сокращает потребляемую мощность, в той же мере увеличивает механическую прочность и надежность ЗУ, уменьшает их размеры и вес, на несколько порядков повышает быстродействие при чтении данных, сохраняя при этом программную совместимость со средствами управления памятью. Вместе с тем, за дисковой памятью остаются преимущества по информационной емкости и стоимости.
Использование ФФП для замены дисковой памяти в портативных компьютерах — один из важнейших факторов, способствующих развитию этого направления. При этом традиционное сочетание "жесткий диск— динамическое ОЗУ" может заменяться сочетанием "Флэш-память — статическое ОЗУ". Команды программы, хранимые в ФФП, читаются в этом случае непосредственно процессором, результаты тоже записываются прямо в ФФП а операции с интенсивными вычислениями, требующие быстрейшего доступа к памяти и записи данных с байтовой разрешающей способностью, выполняются с использованием быстродействующей статической памяти. Накопитель ФФП делится на блоки, которые служат аналогами секторов магнитных дисков, отражаемых в операционной системе MS-DOS Разработаны программные средства, которые обеспечивают обмен между Флэш-блоками, подобно тому как операционная система MS-DOS обеспечивает обмен между секторами диска.
Блоки ФФП идентичны и имеют одинаковую информационную емкость (симметричная блочная архитектура). Так как в ФФП операции записи производятся значительно чаще, чем в других разновидностях Флэш-памяти, этим операциям уделяется большое внимание — вводятся страничные буферы, позволяющие с высокой скоростью накапливать некоторый объем данных, подлежащих записи, для их последующей передачи в накопитель с меньшей скоростью.
Микросхемы ФФП фирмы Intel имеют информационную емкость I 4...32 Мбит при временах доступа 70... 150 не, напряжения питания 5; 3,3 I или даже 2,7 В. Они имеют байтовую или управляемую разрядность (8 или 16), напряжение программирования у них также, как правило, многовариантно(3,3;5; 12 В).
Внешняя организация ФФП показана на рис. 4.21, в, на примере микросхемы с информационной емкостью 16 Мбит (ИС типа 28F016SA фирмы Intel).
Накопитель схемы с общей информационной емкостью 16 Мбит разбит на 32 блока по 64 Кбайт.
Поясним смысл некоторых выводов и сигналов. Шина адреса: линии А2о-16 выбирают один из блоков, линии А15-1 выбирают слово в пределах одного блока (блок с емкостью 64 Кбайта содержит 32 Кслов), линия A0 — бит выборки байта, определяющий старший и младший байты при байтовой организации памяти и отключаемый при ее словарной организации. От процессора поступает начальный адрес блока данных, который запоминается в очереди адресов. Текущий адрес ячейки памяти для обмена формируется адресным счетчиком.
В шине данных DQ15-0 линии DQ7-0 предназначены для ввода и вывода младшего байта данных, передачи команды в командный интерфейс пользователя CU1 в цикле записи и вывода данных из буфера, регистров идентификатора или состояния в соответствующих режимах чтения. Линии D15-8 предназначены для передачи старшего байта при словарной организации памяти. По ним выводят данные накопителя, буфера или идентификатора в соответствующем режиме чтения, но эти линии не используются для чтения К из регистров состояния. Если кристалл не выбран или запрещен вывод, линии шины данных переходят в третье состояние.
Линии СЕо и CEi — входы разрешения кристалла, при высоком уровне любого из них кристалл не выбран, и потребление мощности снижается до уровня состояния покоя (Standby) после завершения текущей операции записи или стирания.
Сигнал ОЕ открывает выходные буферы при низком уровне и переводит их в третье состояние при высоком.
Сигнал WE управляет доступом к командному интерфейсу пользователя CUI, I страничным буферам, регистрам очереди данных и защелкам очереди адресов.
Сигнал RP (Reset/Power-Down) при низком уровне вводит схему в состояние глубокой экономии мощности, отключая вес схемы, потребляющие статическую мощность. При выходе из этого состояния время восстановления I схемы составляет 400 не. При переходе к низкому уровню операции автомата записи прекращаются, схема сбрасывается.
Сигнал RY/BY (Ready/Busy) индицирует состояние внутреннего автомата записи. Низкий уровень означает занятость, высокий (кстати говоря, сигнал вырабатывается каскадом с открытым стоком, требующим подключения внешней цепочки Ucc— R для формирования высокого уровня) означает или готовность к новым операциям, или приостановление стирания, или состояние глубокой экономии мощности в зависимости от выполняемой операции.
Сигнал WP (Write Protect) имеет следующий смысл. Каждый блок имеет бит запрещения записи (Lock-bit). Низкий уровень WP разрешает защиту, т- е. запись или стирание в блоке могут выполняться только при Lock-bit = 0. При высоком уровне WP в блоках могут выполняться операции записи и стирания независимо от состояния блокирующих битов.
Сигнал BYTE низким уровнем вводит схему в байтовый режим, высоким - в словарный и выключает буфер линии Ао.
Напряжение программирования Upp и вывод напряжения питания (это может быть 3,3 или 5 В — вход обозначен дробью 3/5) поступают в схему мере: переключатель напряжения, который находится внутри схемы.
Для примера приведем параметры ФФП фирмы lntel/28F032SA (1997 г.):
- организация 2М*16 или 4Мх8 (по выбору потребителя), напряжение питания 3,3 или 5 В (по выбору потребителя), напряжение программирования 12 В, до I06 циклов стирания на блок, 64 независимо запираемы* блока по 64 Кбайт или 64 блока по 32 Кслов;
- корпус типа TSOP размерами 1,2x14x20 мм с 56 выводами;
- технология с топологической нормой 0,6 мкм
- время доступа при чтении 70 или 150 не при питании от 5 В и 3 В соответственно;
- время записи слова/байта не более 9 мкс;
- время записи блока не более 2,1 с для байтового режима и не более 1 с для словарного режима;
- время стирания блока не более 10 с и стирания кристалла не более 25,6 с.
Память типа StrataFlash
В 1997 г. компания Intel представила новый вид Флэш-памяти, названный Стратафлэш (StrataFlash), в которой впервые в одном элементе памяти хранятся два бита, а не один. Это обеспечивается тем, что в плавающем затворе транзистора фиксируется не только наличие или отсутствие заряда, но и определяется его величина, которая может иметь несколько значений. Различая четыре уровня, можно хранить в одном элементе два бита.
До изобретения памяти Стратафлэш для увеличения емкости ЗУ шли путем уменьшения размеров схемных элементов и других усовершенствований технологических процессов литографии. СтратаФлэш ознаменовала другой подход к этой проблеме. Хранения двух битов добились практически в тех же запоминающих элементах, которые ранее хранили один бит, преодолев трудности ужесточения допусков на величины вводимых в плавающий затвор зарядов. Во второй половине 90-х гг. появились коммерческие образцы памяти СтратаФлэш. При этом от емкости 32 Мбита перешли к емкости 64 Мбита без заметных изменений площади кристалла.
Запоминающие элементы программируются введением в плавающий затвор одного из 4-х количеств заряда, каждое из которых соответствует паре двоичных цифр II, 10, 01, 00. В зависимости от заряда, запоминающий транзистор имеет одно из четырех пороговых напряжений. При считывании информации к затвору транзистора прикладывают напряжение считывания.
Ток запоминающего транзистора зависит от порогового напряжения. Определяя ток, можно выявить состояние плавающего затвора.
На рис. 4.22 показаны распределение пороговых напряжений в четырех-уровневом запоминающем элементе (а) и схема чтения состояния запоминающего транзистора (б).
§4.5 Использование программируемых ЗУ для решения задач обработки информации
В предыдущих параграфах запоминающие устройства рассматривались с точки зрения основной для них задачи хранения информации. Однако программируемая память есть также универсальное средство решения самых разных задач обработки информации. Применимость этого средства в указанной области определяется возможностью представления решения задачи в табличной форме. Эта форма решения возможна для задач самого разного характера.
Для уяснения возможностей ППЗУ в области решения задач обработки информации целесообразно рассмотреть основные соотношения, связанные с воспроизведением логических и числовых функций.
C.4. Недостатки перезаписываемой памяти.
Основной недостаток ПЗУ – невозможность обновить информацию в этом виде памяти, – одновременно является и его преимуществом: данные невозможно потерять случайно и умышленно. Особенно это стало актуальным на рубехе XX – XXI веков, с вытеснением микросхем ПЗУ на CMOS и flash-память. Рассмотрим возникающие проблемы.
C.4.1. Потеря данных в CMOS.
Компьютеры с ISA шиной (содержащие процессоры вплоть до i80286), имели минимум настроек. Часто они вполне нормально работали в своей основной конфигурации.
Ситуация изменилась после появления на компьютерах памяти более чем 16 Мбайт, ШВУ контроллеров и PCI-шины. Как выяснилось, в большинстве случаев стандартная настройка материнской платы стала неприменимой. Для сохранения настроек пользователя их стали хранить в CMOS-памяти.
Иногда содержимое CMOS-памяти разрушается. Это возможно в следующих случаях:
1. Воздействие вируса. При своей работе вирус может специально внедряться в CMOS-память, чтобы обеспечиватиь лучшие условия для его распространения либо специально вывести компьютер из строя.
2. Неисправность аккумулятора. В некоторых случаях аккумулятор CMOS-памяти может разряжаться (от времени или короткого замыкания на плате.) В этом случаесодержимое CMOS может разрушиться не сразу, а по прошествии двух - трех суток.
3. Скачок напряжения при работе с CMOS. В этом случае последствия непредсказуемы.
4. Установка пароля на загрузку. Иногда пользователь для защиты от несанкционированного доступа устанавливает "пароль на загрузку". Если он потом забудет пароль, то для запуска компьютера будет необходим сброс параметров CMOS-памяти путем короткого замыкания ее аккумулятора.
Для восстановления параметров CMOS-памяти после ее сброса существуют опции "стандартной" и безопасной" настройки этой памяти на материнской плате. Пользователю в этом случае придется восстанавливать не все, а только часть параметров. Опции "стандартной" и "безопасной" настройки хранятся в ПЗУ и изменить их невозможно!
C.4.2. Потеря данных в flash-памяти.
Потеря данных в flash-памяти возможна по тем же причинам, что и в CMOS-памяти. Однако для флэш-памяти нет возможности вернуться к первоначальным установкам! В связи с этим потеря информации в флэш-памяти может быть непоправимой.
... В 1998 году автор узнал о новом черезвычайно опасном вирусе –"Чернобыль". Опасность заключалась в его действии – ровно в годовщину аварии на Чернобыльской АЭС этот вирус портил содержимое флэш-памяти и наиболее важной ее части – BIOS. В результате компьютер не мог вообще осуществлять операции ввода-вывода, в том числе и загрузку операционных систем. CMOS-память же оставалась в полном порядке! Поскольку микросхема с BIOS обычно была припаяна к материнской плате, приходилось выкидывать всю материнскую плату.
Автору известен только один способ 100% гарантии избежать действия этого вируса – аппаратно запретить перзапись флэш-памяти. Дело в том, что новые версии этого вируса размножаются лавинообразно, и нет гарантии, что он сработает именно в эту дату.
Реализация логических (переключательных) функций
ППЗУ с организацией 2П1х1 принимает m-разрядный адрес и выдает одноразрядный результат (0 или 1). Этот способ функционирования непосредственно воспроизводит переключательную функцию m переменных, т. к. для каждого входного набора можно при программировании ЗУ назначить необходимую выходную переменную. Например. ППЗУ с организацией 1024x1 может быть использовано для воспроизведения переключательной функции 10 аргументов.
ППЗУ с организацией 2тхп по поступающему на его вход т-разрядному адресу выдает n-разрядное выходное слово, хранящееся в ячейке с данным адресом. Такое ЗУ воспроизводит систему переключательных функции, число которых равно разрядности выходного слова. Действительно, на каждом выходе может быть воспроизведена любая переключательная функция т-аргументов, а совокупность выходов даст п различных функций.
В ППЗУ функции реализуются в совершенной дизъюнктивной нормальной форме, для каждой возможной конъюнкции имеется свое оборудование (выходная линия дешифратора адреса) и, следовательно, она может быть введена в выходную функцию. Какой-либо минимизации функций при подготовке задачи к решению на основе НИЗУ не требуется, более того, если функции уже минимизированы, то для удобства подготовки данных для программирования ЗУ их придется развернуть до самой громоздкой формы (СДНФ). Это делается либо заполнением карты Карно и последующей записью функции без какого-либо объединения единиц, либо введением в каждую конъюнкцию недостающих переменных х\ путем домножения конъюнкции на равные единице выражения xs Vxi с последующим раскрытием скобок (X; — вводимая переменная). Пример приведения функции в СДНФ:
F= XiVx2X3 = XI(x2VX2)(X3\/X3)\/(Xi\/XI)X2X3 = Х1Х2Х3\А1Х2Х3\/Х,Х2Хз\/Х1Х2Хз\/х,Х2Хз.
Для воспроизведения этой функции по пяти конъюнкциям-адресам в ППЗУ следует записать единицы, по остальным адресам — нули.
Реализация функции в СДНФ определяет большие затраты элементов памяти, однако цена элемента памяти значительно ниже цены логического элемента, поэтому даже при избыточности числа элементов памяти в несколько раз (в сравнении с числом логических элементов, необходимых лля воспроизведения функции традиционным методом) реализация на ППЗУ может оказаться выгодной.
Особенности ППЗУ указывают на целесообразность его использования для реализации в первую очередь функций, не поддающихся существенной минимизации.
Пи этом время выполнения операции — время считывания данных из ЗУ.
Реализация конечных автоматов
В канонической схеме автомата ППЗУ может заменить комбинационную цепь, поскольку оно способно воспроизводить переключательные функции. Поэтому структура автомата без потери общности может быть представлена I также в виде, приведенном на рис. 4.23.
Начальная установка регистра задает исходное состояние элементов памяти (автомата). По этому состоянию и входным сигналам из памяти считывается код нового состояния и функции выхода. В следующем такте эти процессы повторяются. В каждом очередном такте автомат переходит в новое состояние и вырабатывает выходные функции согласно таблицам переходов и выходов.
Емкость ППЗУ определяется объемом таблиц, задающих функционирование автомата. Сведя таблицы переходов и выходов в одну, получим общее число входов m = k + q и число выходов п = р + q следовательно, для реализации автомата требуется емкость памяти М = 2к+ч(р + q).
Воспроизведение арифметических операций и функциональных зависимостей
Арифметические операции и числовые (не логические) функции часто I встречаются в качестве задач, решаемых цифровыми устройствами. Функции задаются аналитически или таблично.
Для функций одного аргумента объем памяти таблиц легко вычислить, *нан разрядности аргумента и функции. При задании аргумента т-разрядным кодом число точек, в которых задана функция, составит 2т (рис. 4.24, а). I Если разрядность кода, представляющего функцию, равна п, то, очевидно, емкость памяти в битах будет равна n2m.
С ростом числа аргументов объем памяти для запоминания таблиц функций быстро растет. Для функции двух аргументов разрядностей m число точек, в которых задана функция, определится как произведение чисел точек по каждой из координат и составит 22т (рис. 4.24, б). Объем памяти таблицы и этом случае составит М = n22m.
Для функций f аргументов М =n2fm
Итак, с ростом разрядности слов и числа аргументов функций объем памяти таблиц быстро растет и чисто табличный метод решения задачи становится неприемлемым. В этих случаях часто очень полезны таблично-алгоритмические методы, в рамках которых можно существенно снизить объем таблиц, введя небольшое число простых операций над данными.
Для произвольных функций f(x) простейший таблично-алгоритмический метод — кусочно-линейная аппроксимация, когда запоминаются только узловые значения функции, а в промежутках между узлами функция вычисляется в предположении, что на промежутках она изменяется линейно. Число узлов назначается по соображениям точности линейной аппроксимации функции на участках. Кусочно-линейной аппроксимации с постоянным шагом соответствуют следующие представления аргумента и функции:
x = Xi+Ax, f(x)=f(xj)+Af(xi)Axh_I,
где Xj — координата i-й узловой точки; Дх — разность значений х и координаты ближайшей слева узловой точки; Af(xs) — приращение функции на участке от xj до x,+ i; h — шаг аппроксимации (для удобства реализации цифровыми методами шаг берут равным целой степени числа 2).