
Простейшим примером организации памяти является постоянное запоминающее устройство. В такой памяти с долговременным хранением информации определяющим элементом служат перемычки в двумерном массиве проводников. Изначально все строки и столбцы соединены между собой с помощью перемычек — токопроводящих мостиков. В процессе записи данных в матрицу хранения часть перемычек остается нетронутыми и соединяют линии строк и линии столбцов этого массива, а остальные разрушаются.
Замкнутому с помощью перемычки состоянию проводника можно присвоить значение логического нуля, а разомкнутому — логической единицы. Измеряя сопротивление между конкретными линиями строк и столбца, по его высокому значению (разомкнутому состоянию проводников) можно считать логическую единицу, а по короткозамкнутому состоянию принять решение о хранении там логического нуля. Такая оценка электрических параметров коммутируемого соединения становится формой хранения информации и определяет метод доступа к содержимому заданной ячейки памяти.
Рис 1. Оценка электрических параметров коммутируемого соединения
как форма доступа к содержимому заданной ячейке памяти
Отказ от необратимого способа записи требует пересмотра схем управления запоминающей матрицы, но не отменяет сам принцип хранения информации. Оперативная память использует все тот же механизм доступа по строкам и столбцам, полагаясь на электронные ключи в узлах коммутации вместо тривиальных перемычек, характерных для постоянных запоминающих устройств.
Как работает ячейка DRAM?
Одной из широко распространенных реализаций оперативных запоминающих устройств является ячейка с динамическим способом хранения данных — DRAM. Для ячейки динамического запоминающего устройства необходимо два элемента: управляющий транзистор, выполняющий функции коммутирующего ключа, и конденсатор, хранящий заряд. Именно по его состоянию и можно принять решение, хранит ли ячейка логическую единицу (конденсатор заряжен) или ноль (разряжен). Главная особенность такого подхода — постоянная забота о регенерации конденсатора, так как электрический заряд на его пластинах имеет свойство со временем рассеиваться или, как говорят «стекать».
Если рассматривать внутреннюю структуру кристалла динамической памяти (DRAM), то в контексте однобитной его организации сложилась терминологическая традиция горизонтальные строки запоминающей матрицы считать (условно) wordline, где слово Word здесь подразумевает все биты строки. Тогда bitline — это столбец (вертикальная строка) матричной организации памяти. Такая абстракция хорошо иллюстрирует механизм произвольного доступа, когда битовые линии образуют шину данных, а горизонтальные строки обеспечивают запись и чтение адресуемого слова. Как мы увидим ниже, схемотехника модуля памяти и его обработка центральным процессором имеют более сложную архитектуру.
Рис 2. Внутренняя структура кристалла DRAM
в контексте однобитной его организации
Чтение ячейки, сформированных парой «транзистор–конденсатор», деструктивно по своей природе: выборка информации разряжает конденсатор в процессе определения его заряда. Вследствие этого DRAM-ячейки представляют собой короткоживущую память, да к тому же и разового действия. Во избежание потери информации считанный бит информации необходимо сразу же «освежить в памяти» — перезаписать заново. Это входит в обязанности самой микросхемы DRAM под зорким глазом контроллера памяти.
Фактор короткоживущей памяти — еще одна проблема в архитектуре DRAM. Валидность информации в памяти компьютера зависит от того, как долго конденсатор сможет хранить заряд. Саморазраяд, причиной которого является миниатюрность конденсатора на подложке управляющего транзистора, приводит к тому, что достоверность данных ограничена тысячными долями секунды. Регенерация этого процесса делегируется соответствующим схемам обслуживания, которые вынуждены периодически считывать информацию из ячеек с последующей их перезаписью.
Схемы регенерации претерпели существенные изменения в процессе эволюции персональной платформы. Ранее регенерация оперативной памяти тактировалась тиками системного таймера с частотой, равной 18.2 Гц. Современные кристаллы динамической памяти содержат схемы регенерации внутри самой микросхемы. Это позволяет сократить время ожидания валидных данных. Чип до очередного цикла регенерации копирует содержимое обновляемой строки в буфер, доступный контроллеру памяти, параллельно выполняя «рефреш» ячеек. Такая организация получила название синхронной динамической памяти или SDRAM.
Во время выполнения циклов регенерации, запоминающая матрица недоступна для операций чтения и записи, и это обстоятельство неизбежно сказывается на производительности. Статические элементы оперативной памяти (SRAM), в узлах которой используются более сложные схемы на основе триггеров с двумя устойчивыми состояниями, лишены этого недостатка и обладают лучшим быстродействием. Эффективным компромиссом производительности и стоимости является использование оперативного запоминающего устройства на основе DRAM в сочетании с кэш-памятью небольшого размера на основе SRAM. В кэш-память оперативно загружаются данные, скорость доступа к которым наиболее критична для обеспечения производительности.
Примечание. Рассматривая пример динамической памяти, обратим внимание на то, что описанная ячейка DRAM хранит всего один бит информации. Для понимания принципа работы этого допущения вполне достаточно.
Аппаратная реализация модуля DRAM, с которым оперирует контроллер памяти, также базируется на интеграции ячеек, хранящей один или несколько байт информации, прямоугольную матрицу. Ее горизонтальные линии образуют Row (строки), а вертикальные — Column (столбцы). Итак, в узлах запоминающей матрицы полупроводниковый прибор (транзистор), находясь в закрытом состоянии, предотвращает потерю конденсатором очень важного кванта информации — заряда. Но стоит подать на заданную строку запоминающей матрицы специальный импульс — транзисторные ключи всех узлов строки сработают. Открываясь, каждый из них соединит свой конденсатор с конкретным столбцом. Схема детектирования, мониторящая состояние столбцов матрицы, отреагирует на возникший ток и считает всю строку целиком — в упомянутый выше транзитный буфер, который принято называть страницей (Page).
Рис 3. Двумерная адресация ячеек динамической памяти по строкам и столбцам
Это обстоятельство весьма важное в понимании работы DRAM: именно страница, сформированная из данных о состоянии ячеек по всем столбцам, и является минимальной порцией обмена. Доступ к отдельно взятой ячейке динамической памяти невозможен, в отличие от простейшего постоянного запоминающего устройства, рассмотренного выше, где чтение данных могло выполняться по конкретному адресу. В данном случае запрос информации по одной строке матрицы откроет все ключи и приведет к считыванию состояния всех, подключенных к этой линии конденсаторов.
Рис 4. Запоминающая матрица банка динамической памяти
Существенное отличие доступа по строкам и столбцам от приведенной на Рис 2. блок-схемы в том, что вместо однобитной организации современная подсистема памяти использует 64-битную1) шину данных. Она осталась за кадром, уступив место двумерной адресации 64-битных ячеек. Для одномерной их адресации в современных условиях пришлось бы использовать более сорока адресных линий, что невероятно накладно для конструкции компьютерной платформы и к тому же негативно сказалось бы на производительности ОЗУ. Раздельная адресация по строкам и столбцам позволяет оперировать со страницами памяти по адресной шине меньшей размерности. Для этого, правда, приходится выставлять адрес требуемой страницы посредством двух посылок — т.е. дважды.
За адресацию ОЗУ отвечает контроллер памяти, который с недавних пор перекочевал из чипсета системной логики в центральный процессор. Ему в это помогают схемы синхронизации, формирующие дополнительные сигналы управления RAS (Row Access Strobe) и CAS (Column Access Strobe). Сначала на адресную шину выставляется адрес строки, затем — столбца. В классической модели SDRAM первая из посылок выполняется по спаду (заднему фронту) тактирующего импульса RAS, вторая — по спаду CAS. После этого в течении заданного времени контроллер может оперировать с данными в оперативной памяти (читать их или писать).
Рис 5. Временная диаграмма работы классической запоминающей матрицы динамической памяти
Окно возможностей закрывается с началом упомянутого уже регулярного цикла регенерации (Memory Refresh). Для поддержания сохранности данных необходимо выполнить обход ячеек памяти, освежив в них информацию холостыми циклами перезаписи. Регенерация памяти происходит сразу по всей строке, в силу транзисторной архитектуры матрицы. Оперативная память видеоадаптера специальных циклов регенерации не требует: формирование развертки для вывода на экран изображения создает условия, при которых периодичность обращения к памяти обеспечивает своевременную перезарядку запоминающего конденсатора.
Даже при наличии буфера обмена, чип динамической памяти не в состоянии обеспечить мгновенный доступ к затребованной контроллером информации. Чтобы избежать пауз, создаваемых операцией Refresh, современные микросхемы DRAM поддерживают несколько независимых запоминающих матриц — они называются банками памяти. Обмен данными выполняется с минимальными задержками, если требуемая информация хранится в разных банках одного и того же чипа.
1) Программная модель контроллеров памяти для процессоров i486 допускала 8-битный и/или 32-битный доступ по соответствующей шине данных.
- Войдите или зарегистрируйтесь, чтобы оставлять комментарии