- •Память компьютеров
- •1. Общая характеристика памяти
- •2. Основные структуры полупроводниковой памяти
- •3.4. Наборно-ассоциативный кэш
- •4. Постоянная память
- •5. Флэш-память
- •5.2. Микросхема файловой флэш-памяти 28f008sa
- •6. Статические запоминающие устройства
- •6.1. Общая характеристика статических запоминающих устройств
- •7. Динамическая память
2. Основные структуры полупроводниковой памяти
2.1 Понятие структуры памяти
Каждая матрица М в устройстве памяти имеет систему адресных и разрядных линий (проводников). Адресные (словарные) линии служат для выделения по адресу любой ЯП Совокупность различных адресных кодов образует адресное пространство памяти. Разрядные линии записи (ЛЗП) служат для ввода в каждый разряд выбранной ЯП цифры 0 или 1 в соответствии с входной информацией Разрядные линии считывания (ЛСЧ) служат для съема хранимой информации с разряда выбранной ЯП. Часто используют общую линию записи-считывания (ЛЗС). Адресные и разрядные линии вместе называются линиями выборки. Если длина адресного кода равна k, то количество слов N. которые хранятся в памяти как отдельные единицы данных, определяется из соотношения N = 2k.
Структуру памяти определяет способ распределения ЯП между адресными и разрядными линиями. По этому признаку выделяют следующие структуры памяти. 2D, 3D, 2,5D и модифицированную — 2DM (D от Dimention — размерность)
В системе 2D каждый ЭП имеет одну адресную линию АU (одну D), линии записи ЛЗП, и считывания ЛСЧ;, которые совместно образуют второе D (рис. 3, а) В структуре 3D адрес разделяют на две части: старшая Аx определяет адреса строк, а младшая Аy — адреса столбцов; вместе они образуют 2D. Линии записи и считывания образуют третье D (рис. 3, б). В структуре 2,5D одна из ЛЗП или ЛСЧ совмещена с полуадресом АXU или АVJ (рис. 3, в) В модифицированной системе 2DM используется общая линия ЛЗСj, которая объединена с адресной линией АYU
Рис. 3. Обобщенное понятие структуры памяти: а — 2D; б — 3D; в — 2,5D; г — 2DM
Рассмотренные структуры характерны для статических ОЗУ и памяти типа ROM. Структуры динамических ОЗУ имеют свою специфику.
Память со структурой 2D
Организация микросхемы ОЗУ со структурой 2D показана на рис. 4.
В состав микросхемы памяти входят:
матрица элементов памяти М, которая содержит N строк и m столбцов (по числу разрядов слова);
буфер ВА и дешифратор DCA адреса с числом выходов N = 2k;
буферные формирователи входных D1 и выходных DO информационных сигналов в режимах записи и считывания и BD;
блок местного управления (БМУ)
Рис.4. Память со структурой 2D
При обращении к памяти выбираются ЭП, расположенные на возбужденном выходе дешифратора адреса DCA. Запись данных осуществляется при значении сигнала / R = 0, а считывание при / R = 1. Емкость памяти 2D равна Е = N x m бит. Организация матрицы М памяти со структурой 2D (три строки и три столбца) показана на рис. 5.
Рис. 5. Организация матрицы М памяти со структурой 2D
Недостатком структуры 2D является сложность построения дешифратора адреса с числом выходов N. равным числу хранимых в памяти слов. Поэтому структура типа 2D используется в ЗУ малой информационной емкости.
2.3 Память со структурой 3D
В памяти со структурой 30 адресный код разделяется на две равные части Ах и Ау (для четного к), каждая из которых декодируется отдельными дешифраторами соответственно DСХ и DСY (рис. 6).
Рис. 6. Память со структурой 3D
Матрица
М
состоит из т
подматриц по числу разрядов слова.
Каждая матрица хранит значение своего
i-го
разряда всех N
слов. Каждая подматрица является
квадратной: r
строк и r
столбцов, что записывается как r
х r,
при этом r
=
=2k/2
(рис.7).
Рис. 7. Организация подматрицы r х r памяти со структурой 3D
При обращении к памяти выбирают m запоминающих элементов (по одному из каждой подматрицы), которые лежат на пересечении строки и столбца возбужденных выходов дешифраторов DСХ и DСY. Такая структура часто используется и с одноразрядной организацией N х 1 бит. Для этой памяти емкостью 1 К слов требуется иметь два дешифратора с числом выходов в каждом N = 25 = 32. Для памяти со структурой 2D такой же емкости дешифратор имеет 1024 выхода.
Недостатком структуры 3D является применение сложных ЭП, допускающих двухкоординатную выборку и более сложную структуру матрицы М. В памяти по модифицированной структуре 2DM объединяются достоинства структур 2D и 3D.
2.4 Память со структурой 2DM
В ЗУ типа SRAM, ROM со структурой 2DM адресный код длиной k разбивается на две части: Ах = Аk Аk-1,... Аr+1 поступающую на дешифратор строк DCX, и Ay=ArAr-1... А1, поступающую на входы мультиплексоров MUX с организацией “2k→1” (рис. 8).
Дешифратор DCX обслуживает 2k-r строк, каждая из которых хранит 2к m-разрядных слов. В каждой группе хранятся значения одноименных разрядов и обслуживается она своим буфером BD и мультиплексором MUX с организацией “2k→1” (рис. 9).
Таким образом, активизированный выход дешифратора DCX выбирает строку, а младшие разряды адреса с помощью мультиплексоров обеспечивают формирование выходного слова DO (по одному разряду из каждой группы).
Структура 2DM для ЗУ типа RAM в общем виде показана на рис. 10. Из матрицы М считывается "длинная" строка. Данные в соответствующие группы строки записываются или считываются буферами данных BD, которые управляются сигналами с выходов дешифратора DCY. Буфер BD также определяет направление обмена данными с помощью сигнала / R.
Рис. 8. Память SRAM и ROM со структурой 2DM
Рис. 9. Матрицы М с организацией 4 х 4-2
Рис. 10 Память типа RАМ со структурой 2DM
Организация памяти со структурой 2DМ является наиболее распространенной, особенно для микросхем большой емкости.
2.5 Память с последовательным доступом
Представителями памяти с последовательным доступом являются буфер FIFO и стек. Буфер FIFO — это память для хранения очередей данных (списков). Слова из очереди выбираются в порядке их поступления. Моменты записи слов в буфер и считывания из него задаются внешними управляющими сигналами независимо друг от друга. Данные поступают в темпе источника информации, а считываются с частотой, необходимой для приемника. Новое слово ставится в конец очереди, а считывание осуществляется с начала очереди. В схеме (рис. 11) перед началом работы оба счетчика адресов записи CTW и чтения CTR сбрасываются.
Рис. 11. Структура буфера FIFO
При записи данных адреса увеличиваются на единицу при каждом обращении. То же происходит и при чтении данных. Адреса сравниваются при чтении компаратором. С помощью схемы совпадения определяется момент полной загрузки буфера. Эти проверки автоматически выполняются при подаче сигналов RD или WR. Если буфер полный, то требуется прекратить прием данных, а если пустой — то прекратить чтение.
3. Кэш-память
3.1. Общая характеристика кэш-памяти
Кэш-память (от Cache — тайник) — это способ копирования и хранения блоков данных основной памяти типа DRAM в процессе выполнения программы. Кэш-память построена на быстродействующих триггерных ЭП, однако имеет небольшую емкость в сравнении с основной динамической памятью. Кэш хранит ограниченное число данных и тегов. Тег содержит информацию о физическом адресе и состояние данных.
При каждом обращении к основной памяти специальный контроллер проверяет по тегу наличие этой копии в кэше. Если она имеется, то вырабатывается сигнал Hu (кэш-попадание) и происходит обращение к кэш-памяти (рис. 12). Если копии нет (кэш-промах), то сигнал Hit не вырабатывается и выполняется чтение из ОП и одновременное размещение считанных данных в кэше.
Рис. 12. Структура кэш-памяти
Обмен с ОП может осуществляться двумя способами:
первый: обращение к ОП сочетается с одновременным поиском информации в теге. Обращение при попадании в ОП аннулируется;
второй: обращение к ОП осуществляется только после выявления кэш- промаха.
В современных компьютерах кэш строят по двухуровневой схеме:
первичный кэш (L1 Cache) имеет объем десятки Кбайт и встраивается в процессор. Для повышения производительности часто используются раздельные кэши для команд и данных (Гарвардская архитектура);
вторичный кэш (L2 Cache), обычно устанавливают на системной плате, он имеет объем несколько Мбайт.
Большинство прикладных программ имеет циклический характер и многократно использует одни и те же данные, поэтому наличие кэша уменьшает количество обращений к относительно медленной ОП.
3.2. Полностью ассоциативный кэш
В зависимости от способа установки соответствия между данными в кэше и ОП используют следующие структуры кэш-памяти:
полностью ассоциативный кэш;
кэш с прямым размещением;
наборно-ассоциативный кэш.
В полностью ассоциативной кэш-памяти каждая ячейка хранит данные, а в поле Тег находится полный физический адрес единицы информации, копия которой записана (рис. 13).
Рис.13. Структура полностью ассоциативного кэша
Во время обменов записываемый физический адрес данных сравнивается с полем Тег всех ячеек. Если выявляется совпадение с адресом любой ячейки, то она выставляет сигнал Hit. При чтении, когда значение сигнала Hit = 1, данные выдаются на ШД. Если совпадения нет (Hit = 0), то при чтении из ОП данные вместе с адресом размещаются в свободной или давно не используемой ячейке кэш-памяти.
Строки кэша загружаются адресами и данными при операциях чтения из ОП. Данные без копии в кэше записываются только в ОП. Данные, имеющие копии в кэше, записываются в ОП сквозным или обратным способом.
Во время сквозной записи данные одновременно загружаются в копию кэша и в ОП. Затрачивается время на относительно большую длительность записи в DRAM, что снижает быстродействие всей памяти.
Во время обратной записи данные вначале записываются в свою копию и помечаются признаком модификации. После освобождения системной шины кэш- контроллер переписывает модифицированную строку в ОП. Обратный способ записи сложнее сквозного, однако, более эффективный. В обоих случаях кэш-контроллер обеспечивает когерентность, то есть согласование данных в кэше и ОП.
Полностью ассоциативная кэш-память обеспечивает наибольшую функциональную гибкость, однако является очень сложным устройством.
3.3 Кэш-память с прямым размещением
В кэш-памяти с прямым размещением ОП условно разбивается на страницы, например, 512. Размер каждой страницы совпадает с размером кэш-памяти. Данные в кэше хранятся в строках, которые являются наборами байтов (часто 32 байта). Если кэш-память имеет, например, 256 строк, то ее объем равен 256 х 32 = 8 Кбайт. При этом объем ОП должен составлять 512 х 8 К = 4 Мбайт. В строках кэша могут храниться данные любой страницы ОП.
Адрес от процессора делится на три части (рис. 14).
Рис.14. Организация кэш-памяти с прямым размещением
Младшие разряды (смещение) определяют положение младшего байта 32-разрядного слова. Средние разряды адреса задают номер строки. Вместе номера строки и байта в ней называются индексом. Информация о номере страницы ОП, данные из которой занимают соответствующую строку в кэше, называется тегом.
Каждый тег занимает ячейку памяти, которая связана со своей строкой. Совокупность этих ячеек образует память тегов. Разрядность ячеек тега должна быть достаточной для записи номера страницы ОП. Например, для 256 страниц длина ячейки тега должна составлять 8 бит.
При обращении к ОП вначале считывается строка кэша с заданным индексом, а затем сравниваются значения тегов данной строки и заданного в адресе от процессора. При кэш-попадании сигнал Hit = 1 и слово данных мультиплексируются из выбранной строки и пересылаются в процессор. При кэш-промахе сигнал Hit = 0 и данные выбираются из ОП; при этом по указанному адресу загружается вся строка кэша (пакетный обмен).
Кэш с прямым размещением имеет простую схему, малую разрядность тега, однако и существенный недостаток — не допускается размещение в кэше строк с одинаковыми индексами, но разными тегами. Это приводит к беспрерывной очереди кэш-промахов. Этот недостаток устраняется в наборно-ассоциативном кэше.
