• Типы динамических озу

    Как уже отмечалось, информация в ячейке динамического ОЗУ представлена в виде наличия или отсутствия заряда на конденсаторе. Схема ячейки памяти ЯП динамического ЗУ на одном МОП–транзисторе с индуцируемым p-каналом представлена на рис. 6.6 (выделена пунктирной линией). На схеме также показаны общие элементы для n -ячеек одного столбца. Главное достоинство этой схемы — малая занимаемая площадь. Накопительный конденсатор C 1 имеет МДП-структуру и изготавливается в едином технологическом цикле. Величина его емкости составляет сотые доли пикоФарад. Конденсатор C 1 хранит информационный заряд. Транзистор VT 1 выполняет роль переключателя, передающего заряд конденсатора в разрядную шину данных ШД при считывании, либо заряжающего конденсатор при записи. В режиме хранения на адресной линии должен присутствовать потенциал логической единицы, под действием которого транзистор VT 1 будет закрыт (U зи VT 1 ?0) и конденсатор C 1 отключен от шины данных ШД . Включение конденсатора в шину данных осуществляется логическим нулем на линии . При этом на транзистор VT 1 подается напряжение U зи. VT 1 <0, что приводит к его открыванию.

    Рис. 6.6. Принципиальная схема ячейки ОЗУ динамического типа с элементами записи и усилителя считывания.

    Поскольку шина данных ШД объединяет все ячейки памяти данного столбца, то она характеризуется большой длиной и ее собственная емкость имеет существенное значение. Поэтому при открывании транзистора VT 1 потенциал шины данных изменяется незначительно. Чтобы установившийся потенциал на ШД однозначно идентифицировать с уровнем напряжения логического нуля или логической единицы, используется усилитель на базе транзистора VT 2 и резистора R . Непосредственно перед считыванием емкость шины данных подзаряжают подключением ее к источнику питания через транзистор VT 4. Делается это для фиксации потенциала шины данных. При считывании информации происходит перераспределение заряда конденсатора и заряда шины данных, в результате чего информация, хранимая на конденсаторе С 1, разрушается. Поэтому в цикле считывания необходимо произвести восстановление (регенерацию) заряда конденсатора. Для этих целей, а также для записи в ячейку памяти новых значений, используются транзисторы VT 3 и VT 4, которые подключают шину данных либо к источнику питания, либо к нулевому общему потенциалу. Для записи в ячейку памяти логической единицы необходимо открыть транзистор VT4 нулевым значением управляющего сигнала «» и подключить к шине данных источник питания. Для записи логического нуля необходимо нулевым потенциалом на входе «» открыть транзистор VT3. Одновременная подача логических нулей на входы «» и «» не допускается, так как это вызовет короткое замыкание источника питания на общий провод заземления.

    На рис. 6.7 показан пример структуры микросхемы динамического ОЗУ емкостью 64кбит. Данные в этой микросхеме памяти представлены как 64к отдельных бит, т.е. формат памяти 64к?1. Ввод и вывод осуществляется раздельно, для чего предусмотрена пара выводов DI (вход) и (выход). Для ввода адреса имеется восемь контактов A 0 — A 7. Адресация к 64к ячейкам памяти осуществляется шестнадцатиразрядными адресами A 0 — A 15 . Причем сначала на входы A 0-A 7 подаются восемь младших разрядов А 0 – А 7 адреса, а затем – восемь старших разрядов А 8 – А 15 . Восемь младших разрядов адреса фиксируются в регистре адреса строки подачей сигнала (сигнал выборки строки). Восемь старших разрядов адреса фиксируются в регистре адреса столбца подачей сигнала (сигнал выборки столбца). Такой режим передачи кода адреса называется мультиплексированным по времени. Мультиплексирование позволяет сократить количество выводов микросхемы. Ячейки памяти расположены в виде матрицы из 128 строк и 512 столбцов. Дешифратором строк вырабатывается адресный сигнал выборки ячеек памяти i -ой строки, т.е. выбирается одна из 128 строк. Обращение к строке вызывает подключение 512 ячеек памяти через соответствующие разрядные шины данных ШД этой строки к усилителям считывания (по одному на столбец). При этом автоматически происходит подзаряд запоминающих конденсаторов всех ячеек памяти выбранной строки до исходного уровня за счет передачи усиленного сигнала по цепи обратной связи. Этот процесс называется регенерацией памяти . Дешифратор столбцов выбирает один из 512 усилителей считывания. Бит, выбранный в режиме считывания, выдается на линию . Если одновременно с сигналом при предварительно установленном сигнале действует сигнал записи , то бит с входа DI будет записан в выбранную ячейку памяти, при этом выход микросхемы остается в отключенном состоянии в течение всего цикла записи.

    Рис. 6.7. Структура микросхемы ОЗУ динамического типа.

    На рис. 6.8 представлены временные диаграммы, поясняющие работу динамического ОЗУ. В режиме считывания (рис. 6.8,а ) на адресные входы микросхемы подаются восемь младших разрядов А 0 – А 7 адреса, после чего вырабатывается сигнал , при этом производится выбор строки матрицы в соответствии с поступившим адресом. У всех ячеек памяти выбранной строки регенерируется заряд конденсаторов. Далее производится подача на адресные входы микросхемы восьми старших разрядов адреса, после чего вырабатывается сигнал . Этим сигналом выбирается нужная ячейка памяти из выбранной строки и считанный бит информации поступает на выход микросхемы . В режиме считывания промежуток времени между подачей сигнала и появлением данных на выходе называется временем выборки t в .

    Рис. 6.8.Временная диаграмма работы ОЗУ динамического типа.

    В режиме записи (рис. 6.8,б ) за время цикла записи t цз принимается интервал времени между появлением сигнала и окончанием сигнала . В момент появления сигнала записываемые данные уже должны поступать на вход DI . Сигнал обычно вырабатывается раньше сигнала .

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

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

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

    Лидером в производстве микросхем динамического ОЗУ на сегодняшний день является фирма Samsung. Емкость одной микросхемы DRAM достигает значения 128 Мбайт и более. Кроме того, этой фирмой предлагается ряд передовых идей по обеспечению наибольшего быстродействия. Например, операции чтения и записи выполняются дважды за один такт – по переднему и заднему фронтам тактового импульса. Фирмой Mitsubishi предложена концепция встраивания в микросхемы динамической памяти статической кэш-памяти небольшого объема (Cashed DRAM), в которой хранятся наиболее часто запрашиваемые данные.

    Динамическая оперативная память

    Динамическая оперативная память (DRAM – Dynamic Random Access Memory) – энергозависимая полупроводниковая память с произвольным доступом. На данный момент – это основной тип оперативной памяти, используемый в современных персональных компьютерах и обеспечивающий наилучший показатель отношения цена-качество по сравнению с другими типами оперативной памяти. Однако, требования к быстродействию, энергопотреблению и надежности оперативной памяти постоянно растут, и динамическая оперативная память уже с трудом соответствует современным потребностям, так что в ближайшие годы стоит ожидать появления серийно выпускаемых конкурирующих типов оперативной памяти, таких как магниторезистивная оперативная память.

    1. Устройство динамической оперативной памяти.

    Динамическая оперативная память (DRAM – Dynamic Random Access Memory) – энергозависимая память с произвольным доступом, каждая ячейка которой состоит из одного конденсатора и нескольких транзисторов. Конденсатор хранит один бит данных, а транзисторы играют роль ключей, удерживающих заряд в конденсаторе и разрешающих доступ к конденсатору при чтении и записи данных.

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

    На практике существуют разные способы реализации динамической памяти. Упрощенная структурная схема одного из способов реализации приведена на рисунке 1.

    Как видно из рисунка, основным блоком памяти является матрица памяти, состоящая из множества ячеек, каждая из которых хранит 1 бит информации.

    Каждая ячейка состоит из одного конденсатора (С) и трех транзисторов. Транзистор VT1 разрешает или запрещает запись новых данных или регенерацию ячейки. Транзистор VT3 выполняет роль ключа, удерживающего конденсатор от разряда и разрешающего или запрещающего чтение данных из ячейки памяти. Транзистор VT2 используется для считывания данных с конденсатора. Если на конденсаторе есть заряд, то транзистор VT2 открыт, и ток пойдет по линии AB, соответственно, на выходе Q1 тока не будет, что означает – ячейка хранит бит информации с нулевым значением. Если заряда на конденсаторе нет, то конденсатор VT2 закрыт, а ток пойдет по линии AE, соответственно, на выходе Q1 ток будет, что означает – ячейка хранит бит информации со значением “единица”.

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

    Для работы динамической памяти на матрицу должно всегда поступать напряжение, на схеме оно обозначено, как Uп. С помощью резисторов R напряжение питания Uп равномерно распределяется между всеми столбцами матрицы.

    Также в состав памяти входит контроллер шины памяти, который получает команды, адрес и данные от внешних устройств и ретранслирует их во внутренние блоки памяти.

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

    Адрес преобразуется в две составляющие – адрес строки и адрес столбца, и передается в соответствующие дешифраторы.

    Дешифратор адреса строки определяет, с какой строки надо провести чтение или запись, и выдает на эту строку напряжение.

    Дешифратор адреса столбца при чтении данных определяет, какие из считанных бит данных были запрошены и должны быть выданы в шину памяти. При записи данных дешифратор определяет, в какие столбцы надо подать команды записи.

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

    Блоки регенерации определяют:

    • когда происходит чтение данных и надо провести регенерацию ячейки, из которой данные были считаны;
    • когда происходит запись данных, а, следовательно, регенерацию ячейки производить не надо.

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

    Рассмотрим принцип работы динамической памяти на примере структурной схемы, приведенной на рисунке 1. Рассматривать будем работу с первой ячейкой (M11). Работа остальных ячеек памяти полностью идентична.

    1.1. Работа динамической памяти в состоянии покоя.

    И так, первое что мы рассмотрим – этот состояние покоя, когда к памяти отсутствуют обращения, и она не в стадии регенерации данных.

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

    Если память бездействует (от контроллера шины памяти не приходит никаких команд), то от дешифратора адреса строки не выдается сигнал ни на одну линию строк (S1-Sn) матрицы памяти. Соответственно, транзисторы VT1 и VT3 ячейки памяти M11 закрыты, также как и аналогичные транзисторы всех остальных ячеек памяти.

    Следовательно, ток от подаваемого питания проходит по линии AE для первого столбца и аналогично для всех остальных столбцов матрицы памяти. Далее попадает на выходы Q1-Qm, на которых устанавливается «высокий» уровень напряжения, соответствующий значению логической «1». Но так как никаких команд от блока управления нет, то «Буфер данных» игнорирует получаемые сигналы.

    Тут становится понятно, зачем нужен транзистор VT3. Он защищает конденсатор от разряда, когда к данной ячейки памяти нет обращения.

    Ток по линии AE также попадает на «Блок регенерации 1», а именно, на нижний вход элемента L3 (логическое «И»), то есть на нижний вход элемента L3 подается логическая единица.

    Рассмотрим, как в этом случае будет работать блок регенерации.

    Так как от контроллера памяти нет никаких сигналов, то на входе элемента L1 (логическое «НЕ») будет логический ноль, а, соответственно, на выходе – логическая «1». Таким образом, на верхнем входе элемента L3 (логическое «И») будет логическая единица.

    Имея на входах элемента L3 (логическое «И») две логические единицы, на выходе получим так же логическую единицу.

    На выходе элемента L2 (логическое «И») будет логический ноль, так как на обоих его входах напряжение отсутствует, так как от контроллера памяти нет никаких команд и данных.

    В результате, на входах элемента L4 (логическое «ИЛИ-НЕ») будет логический ноль и логическая единица, а, соответственно, на его выходе будет логический ноль, то есть напряжение будет отсутствовать. Так как напряжение отсутствует, то ни один конденсатор первого столбца матрицы памяти подзаряжен не будет. Хотя, даже если бы напряжение и присутствовало, все равно подзарядка была бы невозможна, так как транзисторы подзарядки (доля ячейки М11 – это VT1) были бы закрыты, ведь ни на одну строку матрицы памяти (S1-Sn) напряжение не подается.

    Точно такая же ситуация будет со всеми столбцами матрицы памяти.

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

    1.2. Работа динамической памяти при чтении данных и регенерации.

    Будем рассматривать принцип чтения данных из динамической памяти на примере считывания данных из ячейки памяти М11:

    1. Процессор запрашивает порцию данных (размер зависит от разрядности процессора, для 32-разрядного процессора минимальной единицей обмена, обычно, являются 32 бита) и выдает их адрес.

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

    3. Напряжение, поданное на строку S1, откроет транзисторы VT1 и VT3 первой ячейки памяти и соответствующие транзисторы всех остальных ячеек первой строки.

    4. Дальнейшая работа памяти зависит от наличия или отсутствия заряда на конденсаторе. Рассмотрим отдельно два случая, когда на конденсаторе ячейки М11 есть заряд, и когда нет.

    4.1 . В начале рассмотрим случай, когда заряд в конденсаторе есть (ячейка памяти содержит бит со значением ноль):

    Так как на конденсаторе С ячейки памяти М11 есть заряд, то транзистор VT2 будет открыт, а, соответственно, ток, создаваемый входным напряжением Uп, пойдет по линии AB. В результате, на выходе Q1 первого столбца тока не будет. А это означает, что с ячейки памяти М11 считан ноль. Соответствующая информация о считанном бите с первого столбца будет записана в «Буфер данных».

    Для поддержания транзистора VT2 в открытом состоянии и протекания тока по линии AB расходуется заряд конденсатора С. В результате, конденсатор очень быстро разрядится, если не провести его регенерацию.

    Так как на выходе Q1 тока нет, то он не будет поступать и в «Блок регенерации 1», а, соответственно, на нижнем входе элемента L3 (логическое «И») будет логический ноль.

    Так как мы рассматриваем случай чтения данных, то сигнал записи V1 и данные для записи D1 в «Блок регенерации 1» подаваться не будут. В остальные блоки регенерации соответствующие сигналы D1-Dm и V1-Vm также подаваться не будут.

    В результате, на входе элемента L1 (логическое «НЕ») будет логический «0», а на выходе – логическая «1», поэтому на входах элемента L3 (логическое «И») будет логический «0» и логическая «1». Это значит, что на выходе этого элемента будет логический «0».

    На выходе логического элемента L2 (логическое «И») будет логический ноль, так как на обоих его входах напряжение отсутствует, так как от контроллера шины памяти отсутствуют команды на запись и данные для записи.

    Имея на обоих входах элемента L4 (логическое «ИЛИ-НЕ») логический «0», на его выходе будем иметь логическую «1», то есть с блока регенерации пойдет ток подзарядки конденсатора С. Так как транзистор подзарядки VT1 ячейки памяти М11 открыт, то ток подзарядки беспрепятственно пройдет в конденсатор С. Остальные ячейки памяти первого столбца имеют закрытый конденсатор подзарядки, а, следовательно, подзарядка их конденсаторов происходить не будет.

    4.2 . Теперь рассмотрим случай, когда в конденсаторе нет заряда (ячейка памяти хранит бит со значением «1»):

    Ток, создаваемый входным напряжением Uп, пойдет по линии AЕ, так как транзистор VT2 будет закрыт. Следовательно, на входе Q1 «Буфера данных» будет ток, что означает – с ячейки памяти считана единица. Информация о считанном бите с первого столбца будет записана в «Буфер данных».

    Так как в конденсаторе заряда не было, то и подзаряжать его надобности нет. Следовательно, с блока регенерации ток пойти не должен.

    Так как на выходе Q1 ток есть, то он поступает и в «Блок регенерации». Следовательно, на нижний вход элемента L3 (логическое «И») подается логическая единица.

    Так как мы рассматриваем случай чтения данных, то сигнала записи V1 и данных для записи D1 в «Блок регенерации 1» подаваться не будет. Так же в остальные блоки регенерации, соответствующие сигналы D1-Dm и V1-Vm так же подаваться не будут.

    Следовательно, на входе элемента L1 (логическое «НЕ») будет логический ноль, а на выходе – логическая «1». Таким образом, на входах элемента L3 (логическое «И») будут две логические единицы. В результате, на выходе получим так же логическую единицу.

    На выходе логического элемента L2 (логическое «И») будет логический ноль, так как на обоих его входах напряжение отсутствует, так как от контроллера памяти нет команд на запись и данных для записи.

    В результате, на входах элемента L4 (логическое «ИЛИ-НЕ») будет логический ноль и логическая единица, а, соответственно, на его выходе будет логический ноль, то есть напряжение будет отсутствовать. Так как напряжение отсутствует, то ни один из конденсаторов первого столбца матрицы памяти подзаряжаться не будет.

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

    6. С контроллера памяти на дешифратор адреса столбца выдаются номера столбцов для считывания. За один такт номера считываются сразу с нескольких столбцов. Количество столбцов для считывания определяется разрядностью процессора и способом его взаимодействия с памятью. Для 32-разрядных процессоров минимальной порцией является считывание данных с 32 столбцов.

    7. С дешифратора адреса столбцов номера столбцов передаются в «Буфер данных», откуда соответствующие данные считываются и передаются в процессор.

    На этом цикл чтения данных заканчивается. Как вы заметили, при чтении данных считываются значения сразу со всей строки памяти данных, а потом из нее в «Буфере данных» выбираются нужные данные. Поэтому минимальной порцией чтения данных с динамической оперативной памяти является строка.

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

    Поэтому «Блок управления» с определенной частотой, в моменты простоя памяти или между обращением к памяти процессора (или других устройств), регенерирует данные во всех ячейках памяти.

    1.3. Работа динамической памяти при записи данных.

    Будем рассматривать принцип записи данных в динамическую память на примере записи данных в ячейку памяти М11:

    1. Контроллер шины памяти получает команду на запись данных, данные и адрес, куда необходимо записать эти данные.

    2. Контроллер шины памяти преобразует адрес на две составляющие – номер строки и номера столбцов, и передает полученные составляющие в «Дешифратор адреса строки» и в «Дешифратор адреса столбцов». А данные передает в «Блок работы с данными».

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

    4. Одновременно с «Дешифратора адреса столбцов» выдаются сигналы V в столбцы, соответствующие полученному адресу. В эти же столбцы подаются сигналы D с «Блока работы с данными», уровень которых определяется значением битов записываемого слова.

    5. Напряжение, поданное на строку S1, откроет конденсаторы VT1 и VT3 первой ячейки памяти и соответствующие конденсаторы всех остальных ячеек первой строки.

    6. Если в ячейке М11 хранится бит со значением «0» (в конденсаторе есть заряд), то ток, создаваемый входным напряжением Uп, пойдет по линии AB, иначе – по линии AE. Но нам это не важно, так как в ячейку М11 производится запись данных, а не их чтение, поэтому буфер данных будет игнорировать считанное с ячейки значение. А с выхода элемента L3 «Блока регенерации 1» будет всегда идти логический ноль, так как с дешифратора столбцов приходит сигнал (V1) на запись данных в первый столбец.

    В результате, на входе элемента L1 будет логическая единица, а на выходе – логический ноль. Соответственно, на верхнем входе элемента L3 мы всегда имеем логический ноль, что означает – независимо от значений на нижнем входе, на выходе элемента L3 будет логический ноль.

    На нижнем входе элемента L2 будет логическая единица, так как с дешифратора адреса столбцов выдается сигнал V1, а на верхнем входе будет либо ноль, либо единица, в зависимости от того, какое значение имеет бит записываемой информации.

    Если бит имеет значение «1», то на верхнем входе элемента L2 будет «1». Имея две единицы на входе, мы получим на выходе так же логическую единицу. Соответственно, на входах элемента L4 будет получена логическая «1» и логический «0». В результате, на выходе будет логический «0», то есть ток будет отсутствовать, а, соответственно, зарядка конденсатора C идти не будет. Если до этого конденсатор С содержал заряд, то через несколько микросекунд он разрядится, пропуская ток по линии АВ. Таким образом в конденсатор С будет записан бит данных «1», соответствующий разряженному состоянию конденсатора.

    Если бит имеет значение «0», то на верхнем входе элемента L2 будет «0». Имея на верхнем входе логический ноль, а на нижнем – логическую единицу, на выходе элемента L2 получим логический ноль. В результате, на верхнем и нижнем входах элемента L4 имеем логические нули, что означает – на выходе элемента L4 будет логическая единица, то есть пойдет ток зарядки конденсатора. Таким образом в конденсатор С будет записан бит данных «0», соответствующий заряженному состоянию конденсатора.

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

    Запись данных во все требуемые ячейки строки матрицы памяти и чтение с регенерацией из оставшихся ячеек строки производятся параллельно.

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

    2. Этапы модернизации динамической оперативной памяти.

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

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

    2.1. PM DRAM.

    Один из первых видов оперативной памяти, используемой в персональных компьютерах, была простая динамическая оперативная память (PM DRAM – Page Mode DRAM), принцип работы которой описан выше. PM DRAM использовалась вплоть до середины 90-х годов.

    Однако ее быстродействия катастрофически не хватало, поэтому на смену ей в 1995 году пришла память FPM DRAM.

    2.2. FPM DRAM.

    FPM DRAM (Fast Page Mode DRAM) – быстрая страничная память. Основное ее отличие от памяти FP DRAM заключалось в поддержке сохраненных адресов. То есть, если новое считываемое из памяти слово находилось в той же строке, что и предыдущее слово, то обращение к матрице памяти не требовалось, а выборка данных осуществлялась из «Буфера данных» (смотри рисунок 1) по номерам столбцов. Это позволяло в случае чтения из памяти массивов данных значительно сократить время чтения.

    Однако запись данных в память осуществлялась точно так же, как и в памяти PM DRAM. Да и далеко не всегда считываемые данные располагались в одной строке. В результате, прирост производительности сильно зависел от типа программ, с которыми работала ЭВМ. Прирост мог быть, как существенный, так и вовсе могло быть замедление работы, из-за дополнительных накладных расходов на анализ номера строки предыдущей операции чтения.

    Следующий тип памяти, заменивший FPM DRAM, появился через год (в 1996 году) и назывался EDO-DRAM.

    2.3. EDO-DRAM.

    EDO-DRAM (Extended Data Out DRAM) – динамическая память с усовершенствованным выходом. В этом типе памяти адрес следующего считываемого слова передавался до завершения считывания линии данных памяти, то есть до того, как считанные данные из памяти были переданы процессору.

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

    Сочетая в себе также новшества памяти FPM RAM, новый тип памяти давал прирост производительности в пике, достигавший 15-20%.

    Однако прогресс не стоял на месте, тактовые частоты работы процессоров, системной шины и естественно памяти росли. С повышением тактовой частоты все сложнее было добиваться стабильной работы памяти EDO-DRAM, так как из-за непредвиденных задержек чтение нового слова данных могло начаться прежде, чем предыдущее слово данных было сохранено с помощью регистров-защелок.

    В результате, на смену EDO-DRAM пришла память SDRAM.

    2.4. SDRAM.

    SDRAM (Synchronous DRAM) – синхронная динамическая память с произвольным доступом. Как видно из названия, память работала синхронно, синхронно с контроллером памяти, что гарантировало завершение цикла чтения/записи строк в заданное время. Это позволяло выдавать новую команду на чтение до завершения считывания предыдущего слова данных, будучи уверенным, что считывание завершится верно, а чтение нового слова начнется с минимальной задержкой.

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

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

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

    Со временем, развитие технологии производства и возможность работы сразу с несколькими матрицами памяти позволили значительно поднять внутреннюю скорость работы микросхем оперативной динамической памяти. Внешняя шина памяти стала узким местом и замедляла работу. В результате, был разработан новый тип памяти DDR SDRAM. С появлением DDR SDRAM предшествующую память SDRAM стали называть SDR SDRAM (Single Data Rate DRAM).

    2.5. DDR SDRAM.

    DDR SDRAM (Double Data Rate SDRAM) – синхронная динамическая память с произвольным доступом и удвоенной частотой передачи данных.

    В этом типе оперативной памяти обмен данными по внешней шине идет не только по фронту тактового импульса, но и по спаду. В результате, без увеличения тактовой частоты внешней шины удваивается объем передаваемой информации.

    Но подъема скорости работы внешней шины данных недостаточно, необходимо, чтобы и сама память поддерживала такую скорость. Так как увеличить частоту работы оперативной памяти довольно сложно, трудоемко и дорого, то производители пошли на хитрость. Вместо увеличения тактовой частоты памяти, они увеличили разрядность внутренней шины данных (от ячеек матриц памяти до буферов ввода-вывода) и сделали ее в два раза большей, чем разрядность внешней шины памяти (от контроллера памяти, встраиваемого в северный мост, или процессора до микросхемы памяти). То есть за 1 такт считывалось столько данных, сколько могло передаваться по внешней шине только за два такта. При этом ширина внешней шины данных составляла 64 бита, а внутренней – 128 бит.

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

    Однако из-за накладных расходов и необходимости применять мультиплексор, для объединения двух частей данных, передаваемых в оперативную память, и демультиплексор, для разделения считываемых данных из памяти на две части, сильно выросла латентность памяти.

    Латентность – это время между запросом данных из памяти и временем, когда оперативная память начнет выдавать требуемые данные.

    В результате, реальная производительность DDR памяти, по сравнению с SDR, возросла всего лишь на 30-40 процентов.

    Наиболее популярные модели памяти DDR работали на тактовой частоте 200 МГц, но имели маркировку DDR400. 400 означало количество транзакций (обменов) в секунду. Действительно, при тактовой частоте 200 МГц и передаче данных по фронту и спаду тактового импульса, в секунду будет совершаться 400 МТр. При этом внутренняя частота чипа памяти также будет 200 МГЦ.

    С появлением DDR памяти, одним из актуальных параметров работы чипа памяти стала латентность. В результате, для примерной оценки производительности памяти ввели такое понятие, как тайминги памяти.

    Тайминги, обычно, задаются набором из четырех чисел, определяющих основные задержки памяти в тактах работы чипа памяти. В таблице 1 приведен пример расшифровки таймингов памяти DDR266 (тайминги: 2.5-3-3-7) в порядке их расположения в строке.

    Тайминги Значение Расшифровка
    Tcl 2.5 CAS Latency – задержка в тактах между выдачей в память адреса столбца, когда нужная строка уже открыта, и началом выдачи данных из памяти.
    Trcd 3 Row to CAS Delay – задержка в тактах между открытием строки и разрешением доступа к столбцам или, другими словами, задержка между подачей номера строки и номера столбца.
    Trp 3 Row Precharge Time – время в тактах, требуемое на закрытие одной строки и открытие другой, или, другими словами, задержка между чтением последней ячейки памяти и подачей номера новой строки.
    Tras 7 Tras (Active to Precharge Delay) – минимальное время между подачей номера строки и подачей команды подзарядки ячеек строки (PRECHARGE), то есть количество тактов, затрачиваемое памятью на чтение данных.

    Таблица 1. Расшифровка таймингов оперативной памяти.

    С помощью таймингов можно определить:

    • время, требуемое на чтение первого бита из памяти, когда нужная строка уже открыта, – Tcl тактов;
    • время, требуемое на чтение первого бита из памяти, когда строка неактивна, – Trcd+ Tcl тактов;
    • время, требуемое на чтение первого бита из памяти, когда активна другая строка, – Trp+Trcd+Tcl тактов;

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

    В таблице 2 приведены основные сертифицированные стандарты DDR SDRAM и их параметры.

    Стандарт Частота внутренней шины, МГц Частота внешней шины, МГц Стандартные тайминги*
    DDR200 100 100 200 2-2-2-5 1600
    DDR266 133 133 266 2.5-3-3-7 2133
    DDR300 166 166 333 2.5-3-3-7 2667
    DDR400 200 200 400 2.5-3-3-8 3200

    Таблица 2. Параметры стандартов памяти DDR SDRAM.

    Поднять тактовую частоту чипа памяти выше 200 МГц на том этапе было крайне затруднительно. Естественно существовала память, работающая на тактовой частоте 233, 250 и даже 267 МГц, но это были несертифицированные стандарты, и стоили они дорого.

    В результате, разработчики памяти продолжили развивать архитектуру памяти DDR SDRAM. Логическим результатом этого развития стала память DDR2 SDRAM.

    2.6. DDR2 SDRAM.

    В памяти DDR2 SDRAM ширина внутренней шины данных была увеличена еще в два раза и стала превосходить внешнюю шину данных в четыре раза. В результате, при одной и той же тактовой частоте внешней шины памяти у памяти DDR2 SDRAM внутренняя тактовая частота была в два раза меньше, по сравнению с памятью DDR SDRAM.

    Для сравнения возьмем топовую память DDR (DDR400) и первую спецификацию памяти DDR2 (DDR2-400). Казалось бы, раз это новый тип памяти, то он должен работать быстрее, однако дело тут обстояло совсем не так. На практике память DDR2-400 была чуть ли не медленнее памяти DDR400.

    Давайте разберемся почему. И так, первое – это тактовая частота внешней шины данных. Она была у обоих типов памяти одинаковая – 200 МГц, и ширина внешней шины данных тоже была одинаковая – 64 разряда. В результате, и быстродействие у памяти DDR2-400 заметно выше, чем у памяти DDR400, быть не могло.

    К тому же в памяти DDR400 ширина внутренней шины была всего в 2 раза больше внешней, тогда как у DDR2-400 – в четыре. В результате, устройство мультиплексора и демультиплексора памяти DDR2-400 – сложнее. К тому же далеко не всегда считываемые/записываемые данные находятся в одной строке матрицы памяти, в результате, считать/записать все слова данных одновременно невозможно, эта особенность тем негативнее сказывается, чем больше ширина внутренней шины данных, а она, естественно, больше у памяти DDR2.

    Так в чем же преимущество памяти DDR2-400. А преимущество – в тактовой частоте чипа памяти. Она была в два раза ниже, чем тактовая частота чипа DDR-400. Это давало огромный потенциал для увеличения производительности памяти и уменьшало энергопотребление.

    В результате, очень быстро появилась память с внешней шиной, работающей на тактовой частоте 400 МГц. А позже у топовых моделей памяти DDR2 тактовая частота внешней шины достигла 533 МГц, при тактовой частоте чипа памяти – 266 МГц, и пиковой теоретической пропускной способности – 9.6 Гб/с, что, несмотря на увеличившуюся латентность, значительно превосходило возможности памяти DDR.

    В таблице 3 приведены основные стандарты DDR2 SDRAM и их параметры.

    Стандарт Частота внутренней шины, МГц Частота внешней шины, МГц Количество транзакций в секунду, МТр Стандартные тайминги* Теоретическая пропускная способность, Мб/с
    DDR2-400 100 200 400 3-3-3-12 3200
    DDR2-533 133 266 533 5-5-5-15 5300
    DDR2-667 166 333 667 2.5-3-3-7 2667
    DDR2-800 200 400 800 5-5-5-15 7100
    DDR2-1066 266 533 1066 5-5-5-15 8500
    DDR2-1200 300 600 1200 5-5-5-15 9600

    * У различных производителей стандартные тайминги могут варьироваться и сильно зависят от качества элементной базы.

    Таблица 3. Параметры стандартов памяти DDR2 SDRAM.

    На этом был практически достигнут предел возможности усовершенствования DDR2 памяти по частоте и латентности. Дальнейшее увеличение производительности приводило к значительному росту энергопотребления и тепловыделений, и снижения стабильности и надежности работы памяти.

    В результате, разработчики в 2005 году представили прототипы нового поколения DDR SDRAM памяти – DDR3 SDRAM. Однако массовое производство этой памяти и экспансия рынка начались только в 2009 году.

    2.7. DDR3 SDRAM.

    Основное направление развития памяти DDR3 SDRAM сохранилось таким же, как у DDR2 SDRAM. То есть снова была увеличена вдвое ширина внутренней шины данных памяти, что привело к снижению внутренней тактовой частоты памяти в два раза. К тому же при производстве памяти применялся новый технологический процесс, в начале – до 90 нм, затем – до 65 нм, 50 нм, 40 нм, и видимо это еще не предел.

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

    Однако вместе с увеличением ширины внутренней шины данных увеличилась латентность памяти, усложнилось устройство мультиплексора/демультиплексора. В общем, все проблемы DDR и DDR2 памяти перешли в DDR3 память.

    Но, благодаря улучшению технологического процесса и архитектуры памяти, удалось снизить время цикла чтения/записи, что позволило несколько снизить влияние увеличившейся латентности на производительность памяти.

    В таблице 3 приведены существующие стандарты DDR3 SDRAM и их основные параметры.

    Стандарт Частота внутренней шины, МГц Частота внешней шины, МГц Количество транзакций в секунду, МТр Стандартные тайминги* Теоретическая пропускная способность, Мб/с
    DDR3-800 100 400 800 6-6-6-18 6400
    DDR3-1066 133 533 1066 7-7-7-21 8533
    DDR3-1333 166 667 1333 8-8-8-24 10667
    DDR3-1600 200 800 1600 8-8-8-24 12800
    DDR3-1866 233 933 1866 9-9-9-27 14930
    DDR3-2000 250 1000 2000 9-9-9-27 16000
    DDR3-2133 266 1066 2133 9-11-9-28 17066
    DDR3-2200 275 1100 2200 10-10-10-30 17600
    DDR3-2400 300 1200 2400 9-11-9-28 19200

    * У различных производителей стандартные тайминги могут варьироваться и сильно зависят от технологического процесса производства и качества элементной базы.

    Таблица 4. Параметры стандартов DDR3 SDRAM.

    Память DDR3 сегодня (начало 2012 года) занимает главенствующие позиции на рынке, однако ей уже грядет замена в лице нового поколения памяти DDR – DDR4 SDRAM.

    2.8. DDR4 SDRAM.

    Стандарты нового поколения памяти были представлены еще в 2008 году в Сан-Франциско на форуме, организованном компанией Intel. В 2011 году компания Sumsung продемонстрировала свои первые прототипы памяти DDR4.Однако начало производства этого типа памяти планируется на 2012 год, а окончательное завоевание рынка закончится не ранее 2015 года. Такие поздние сроки начала массового производства, в основном, связаны с тем, что возможности памяти DDR3 еще полностью не исчерпаны и позволяют удовлетворить требования большинства пользователей. А, следовательно, выход на рынок с новым типом памяти будет коммерчески неоправдан.

    Память DDR4 продолжит тенденции DDR памяти. Будет увеличена ширина внутренней шины, улучшена технология производства до 32-36 нм, подняты тактовые частоты внешней и внутренней шины, а также будет снижено напряжение.

    Но поговорим о ней более подробно, когда появятся первые массово выпускаемые образцы памяти, а сейчас подведем итоги обзора динамической памяти и сформулируем ее основные достоинства и недостатки.

    3. Достоинства и недостатки динамической памяти.

    Преимущества динамической памяти:

    • низкая себестоимость;
    • высокая степень упаковки, позволяющая создавать чипы памяти большого объема.

    Недостатки динамической памяти:

    • относительно невысокое быстродействие, так как процесс зарядки и разрядки конденсатора, пусть и микроскопического, занимает гораздо больше времени, чем переключение триггера;
    • высокая латентность, в основном, из-за внутренней шины данных, в несколько раз более широкой, чем внешняя, и необходимости использования мультиплексора/демультиплексора;
    • необходимость регенерации заряда конденсатора, из-за его быстрого саморазряда, ввиду микроскопических размеров.

    Динамической памяти в вычислительной машине значительно больше, чем статической, поскольку именно DRAM используется в качестве основной памяти ВМ. Как и SRAM, динамическая память состоит из ядра (массива ЗЭ) и интерфейсной логики (буферных регистров, усилителей чтения данных, схемы регенерации и др.). Хотя количество видов DRAM уже превысило два десятка, ядро у них организовано практически одинаково. Главные различия связаны с интерфейсной логикой, причем различия эти обусловлены также и областью применения микросхем -помимо основной памяти ВМ, ИМС динамической памяти входят, например, в состав видеоадаптеров. Классификация микросхем динамической памяти показана на рис. 5.10.

    Чтобы оценить различия между видами DRAM, предварительно остановимся на алгоритме работы с динамической памятью. Для этого воспользуемся рис. 5.6.

    Вотличие отSRAM адрес ячейки DRAM передается в микросхему за два шага вначале адрес столбца, а затем строки, что позволяет сократить количество выводов шины адреса примерно вдвое, уменьшить размеры корпуса и разместить Н материнской плате большее количество микросхем. Это, разумеется, приводит снижению быстродействия, так как для передачи адреса нужно вдвое больше времени. Для указания, какая именно часть адреса передается в определенный момент служат два вспомогательных сигнала RAS и CAS. При обращении к ячейке памяти на шину адреса выставляется адрес строки. После стабилизации процессов на шине подается сигнал RAS и адрес записывается во внутренний регистр микросхемы

    Рис. 5.10. Классификация динамических ОЗУ: а - микросхемы для основной памяти; б - микросхемы для видеоадаптеров

    памяти. Затем на шину адреса выставляется адрес столбца и выдается сигнал CAS. В зависимости от состояния линии WE производится чтение данных из ячейки или их запись в ячейку (перед записью данные должны быть помещены на шину данных). Интервал между установкой адреса и выдачей сигнала RAS (или CAS) оговаривается техническими характеристиками микросхемы, но обычно адрес выставляется в одном такте системной шины, а управляющий сигнал - в следующем. Таким образом, для чтения или записи одной ячейки динамического ОЗУ требуется пять тактов, в которых происходит соответственно: выдача адреса строки, выдача сигнала RAS, выдача адреса столбца, выдача сигнала CAS, выполнение операции чтения/записи (в статической памяти процедура занимает лишь от двух до трех тактов).

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

    Теперь рассмотрим различные типы микросхем динамической памяти, начнем с системных DRAM, то есть микросхем, предназначенных для использования в качестве основной памяти. На начальном этапе это были микросхемы асинхронной памяти, работа которых не привязана жестко к тактовым импульсам системной шины.

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

    Микросхемы DRAM . В первых микросхемах динамической памяти применялся наиболее простой способ обмена данными, часто называемый традиционным (conventional). Он позволял считывать и записывать строку памяти только на каждый пятый такт (рис. 5.11, а). Этапы такой процедуры были описаны ранее. Традиционной DRAM соответствует формула 5-5-5-5. Микросхемы данного типа могли работать на частотах до 40 МГц и из-за своей медлительности (время доступа составляло около 120 не) просуществовали недолго.

    Микросхемы FPM DRAM . Микросхемы динамического ОЗУ, реализующие режим FPM, также относятся к ранним типам DRAM. Сущность режима была показана ранее. Схема чтения для FPM DRAM (рис. 5.11, б) описывается формулой 5-3-3-3 (всего 14 тактов). Применение схемы быстрого страничного доступа позволило сократить время доступа до 60 не, что, с учетом возможности работать на более высоких частотах шины, привело к увеличению производительности памяти по сравнению с традиционной DRAM приблизительно на 70%. Данный тип микросхем применялся в персональных компьютерах примерно до 1994 года.

    Микросхемы EDO DRAM . Следующим этапом в развитии динамических ОЗУ стали ИМС с гиперстраничным режимом, доступа (НРМ, Hyper Page Mode), более известные как EDO (Extended Data Output - расширенное время удержания данных на выходе). Главная особенность технологии - увеличенное по сравнению с FPM DRAM время доступности данных на выходе микросхемы. В микросхемах FPM DRAM выходные данные остаются действительными только при активном сигнале СAS, из-за чего во втором и последующих доступах к строке нужно три такта: такт переключения CAS в активное состояние, такт считывания данных и такт переключения CAS в неактивное состояние. В EDO DRAM по активному (спадающему) фронту сигнала С AS данные запоминаются во внутреннем регистре, где хранятся еще некоторое время после того, как поступит следующий активный фронт сигнала. Это позволяет использовать хранимые данные, когда CAS уже переведен в неактивное состояние (рис. 5.11, в)

    Иными словами, временные параметры улучшаются за счет исключения циклов ожидания момента стабилизации данных на выходе микросхемы.

    Схема чтения у EDO DRAM уже 5-2-2-2, что на 20% быстрее, чем у FPM. Время доступа составляет порядка 30-40 нс. Следует отметить, что максимальная частота системной шины для микросхем EDO DRAM не должна была превышать 66МГц.

    Микросхемы BEDO DRAM . Технология EDO была усовершенствована компанией VIA Technologies. Новая модификация EDO известна как BEDO (Burst EDO - пакетная EDO). Новизна метода в том, что при первом обращении считывается вся строка микросхемы, в которую входят последовательные слова пакета. За последовательной пересылкой слов (переключением столбцов) автоматически следит внутренний счетчик микросхемы. Это исключает необходимость выдавать адреса для всех ячеек пакета, но требует поддержки со стороны внешней логики. Способ позволяет сократить время считывания второго и последующих слов еще на один такт (рис. 5.11, г), благодаря чему формула приобретает вид 5-1-1-1.

    5.11. Временные диаграммы различных типов асинхронной динамической памяти при длине пакета в четыре слова: а - традиционная DRAM; б - FPM FRAM; в - EDO DRAM;

    г - BEDO DRAM

    Микросхемы EDRAM. Более быстрая версия DRAM была разработана подразделением фирмы Ramtron - компанией Enhanced Memory Systems. Технология реализована в вариантах FPM, EDO и BEDO. У микросхемы более быстрое ядро и внутренняя кэш-память. Наличие последней - главная особенность технологии. В роли кэш-памяти выступает статическая память (SRAM) емкостью 2048 бит. Ядро EDRAM имеет 2048 столбцов, каждый из которых соединен с внутренней кэш-памятью. При обращении к какой-либо ячейке одновременно считывается целая строка (2048 бит). Считанная строка заносится в SRAM, причем перенос информации в кэш-память практически не сказывается на быстродействии поскольку происходит за один такт. При дальнейших обращениях к ячейкам, относящимся к той же строке, данные берутся из более быстрой кэш-памяти. Следующее обращение к ядру происходит при доступе к ячейке, не расположенной в строке хранимой в кэш-памяти микросхемы.

    Технология наиболее эффективна при последовательном чтении, то есть когда среднее время доступа для микросхемы приближается к значениям, характерным для статической памяти (порядка 10 нс). Главная сложность состоит в несовместимости с контроллерами, используемыми при работе с другими видами DRAM

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

    Микросхемы SDRAM . Аббревиатура SDRAM (Synchronous DRAM - синхронная DRAM) используется для обозначения микросхем «обычных» синхронных динамических ОЗУ. Кардинальные отличия SDRAM от рассмотренных выше асинхронных динамических ОЗУ можно свести к четырем положениям:

    Синхронный метод передачи данных на шину;

    Конвейерный механизм пересылки пакета;

    Применение нескольких (двух или четырех) внутренних банков памяти;

    Передача части функций контроллера памяти логике самой микросхемы.

    Синхронность памяти позволяет контроллеру памяти «знать» моменты готовности данных, за счет чего снижаются издержки циклов ожидания и поиска данных. Так как данные появляются на выходе ИМС одновременно с тактовыми импульсами, упрощается взаимодействие памяти с другими устройствами ВМ.

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

    Значительный эффект дает разбиение всей совокупности ячеек на независимые внутренние массивы (банки). Это позволяет совмещать доступ к ячейке одного банка с подготовкой к следующей операции в остальных банках (перезарядкой управляющих цепей и восстановлением информации). Возможность держать открытыми одновременно несколько строк памяти (из разных банков) также спо-собствует повышению быстродействия памяти. При поочередном доступе к банкам частота обращения к каждому из них в отдельности уменьшается пропорционально числу банков и SDRAM может работать на более высоких частотах. Благодаря встроенному счетчику адресов SDRAM, как и BEDO DRAM, позволяет производить чтение и запись в пакетном режиме, причем в SDRAM длина пакета варьируется и в пакетном режиме есть возможность чтения целой строки памяти. ИМС может быть охарактеризована формулой 5-1-1-1. Несмотря на то, что формула для этого типа динамической памяти такая же, что и у BEDO, способность работать на более высоких частотах приводит к тому, что SDRAM с двумя 6анками при тактовой частоте шины 100 МГц по производительности может почти вдвое превосходить память типа BEDO.

    Микросхемы DDR SDRAM . Важным этапом в дальнейшем развитии технологии SDRAM стала DDR SDRAM (Double Data Rate SDRAM - SDRAM с удвоенной скоростью передачи данных). В отличие от SDRAM новая модификация выдает данные в пакетном режиме по обоим фронтам импульса синхронизации, за счет чего пропускная способность возрастает вдвое. Существует несколько спецификаций DDR SDRAM, в зависимости от тактовой частоты системной шины: DDR266, DDR333, DDR400, DDR533. Так, пиковая пропускная способность микросхемы памяти спецификации DDR333 составляет 2,7 Гбайт/с, а для DDR400 -3,2 Гбайт/с. DDR SDRAM в настоящее время является наиболее распространенным типом динамической памяти персональных ВМ.

    Микросхемы RDRAM , DRDRAM . Наиболее очевидные способы повышения эффективности работы процессора с памятью - увеличение тактовой частоты шины либо ширины выборки (количества одновременно пересылаемых разрядов). К сожалению, попытки совмещения обоих вариантов наталкиваются на существенные технические трудности (с повышением частоты усугубляются проблемы электромагнитной совместимости, труднее становится обеспечить одновременность поступления потребителю всех параллельно пересылаемых битов информации). В большинстве синхронных DRAM (SDRAM, DDR) применяется широкая выборка (64 бита) при ограниченной частоте шины.

    Принципиально отличный подход к построению DRAM был предложен компанией Rambus в 1997 году. В нем упор сделан на повышение тактовой частоты до 400 МГц при одновременном уменьшении ширины выборки до 16 бит. Новая память известна как RDRAM (Rambus Direct RAM). Существует несколько разновидностей этой технологии: Base, Concurrent и Direct. Во всех тактирование ведется по обоим фронтам синхросигналов (как в DDR), благодаря чему результирующая частота составляет соответственно 500-600, 600-700 и 800 МГц. Два первых варианта практически идентичны, а вот изменения в технологии Direct Rambus весьма значительны.

    Сначала остановимся на принципиальных моментах технологии RDRAM, ориентируясь в основном на более современный вариант - DRDRAM. Главным отличием от других типов DRAM является оригинальная система обмена данными ядром и контроллером памяти, в основе которой лежит так называемый «канал Rambus», применяющий асинхронный блочно-ориентированный протокол. На логическом уровне информация между контроллером и памятью передается пакетами.

    Различают три вида пакетов: пакеты данных, пакеты строк и пакеты столбцов. Пакеты строк и столбцов служат для передачи от контроллера памяти команд управления соответственно линиями строк и столбцов массива запоминающих элементов. Эти команды заменяют обычную систему управления микросхемой с помощью сигналов RAS, CAS, WE и CS.

    Массив ЗЭ разбит на банки. Их число в кристалле емкостью 64 Мбит составляет 8 независимых или 16 сдвоенных банков. В сдвоенных банках пара банков использует общие усилители чтения/записи. Внутреннее ядро микросхемы имеет 128-разрядную шину данных, что позволяет по каждому адресу столбца передавать 16 байт. При записи можно использовать маску, в которой каждый бит соответствует одному байту пакета. С помощью маски можно указать, сколько байтов пакета и какие именно должны быть записаны в память.

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

    Операция записи может следовать сразу за чтением - нужна лишь задержка на время прохождения сигнала по каналу (от 2,5 до 30 не в зависимости от длины канала). Чтобы выровнять задержки в передаче отдельных битов передаваемого кода, проводники на плате должны располагаться строго параллельно, иметь одинаковую длину (длина линий не должна превышать 12 см) и отвечать строгим требованиям, определенным разработчиком.

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

    В имеющихся публикациях упоминается работа Intel и Rambus над новой версией RDRAM, названной nDRAM, которая будет поддерживать передачу данных с частотами до 1600 МГц.

    Микросхемы SLDRAM . Потенциальным конкурентом RDRAM на роль стандарта архитектуры памяти для будущих персональных ВМ выступает новый вид динамического ОЗУ, разработанный консорциумом производителей ВМ SyncLm Consortium и известный под аббревиатурой SLDRAM. В отличие от RDRAM, технология которой является собственностью компаний Rambus и Intel, данный стандарт - открытый. На системном уровне технологии очень похожи. Данные и команды от контроллера к памяти и обратно в SLDRAM передаются пакетами п или 8 посылок. Команды, адрес и управляющие сигналы посылаются по однонаправленной 10-разрядной командной шине. Считываемые и записываемые данные подаются по двунаправленной 18-разрядной шине данных. Обе шины работают на одинаковой частоте. Пока что еще эта частота равна 200 МГц, что, благодаря технике DDR, эквивалентно 400 МГц. Следующие поколения SLDRAM должны работать на частотах 400 МГц и выше, то есть обеспечивать эффективную частоту более 800 МГц.

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

    Микросхемы ESDRAM . Это синхронная версия EDRAM, в которой используются те же приемы сокращения времени доступа. Операция записи в отличие от ения происходит в обход кэш-памяти, что увеличивает производительность FSDRAM при возобновлении чтения из строки, уже находящейся в кэш-памяти. Благодаря наличию в микросхеме двух банков простои из-за подготовки к операциям чтения/записи сводятся к минимуму. Недостатки у рассматриваемой микросхемы те же, что и у EDRAM - усложнение контроллера, так как он должен учитывать возможность подготовки к чтению в кэш-память новой строки ядра. Кроме того, при произвольной последовательности адресов кэш-память задейству-ется неэффективно.

    Микросхемы CDRAM . Данный тип ОЗУ разработан в корпорации Mitsubishi, и его можно рассматривать как пересмотренный вариант ESDRAM, свободный от некоторых ее несовершенств. Изменены емкость кэш-памяти и принцип размещения в ней данных. Емкость одного блока, помещаемого в кэш-память, уменьшена до 128 бит, таким образом, в 16-килобитовом кэше можно одновременно хранить копии из 128 участков памяти, что позволяет эффективнее использовать кэш-память. Замена первого помещенного в кэш участка памяти начинается только после заполнения последнего (128-го) блока. Изменению подверглись и средства доступа. Так, в микросхеме используются раздельные адресные шины для статического кэша и динамического ядра. Перенос данных из динамического ядра в кэш-память совмещен с выдачей данных на шину, поэтому частые, но короткие пересылки не снижают производительности ИМС при считывании из памяти больших объемов информации и уравнивают CDRAM с ESDRAM, а при чтении по выборочным адресам CDRAM явно выигрывает. Необходимо, однако, отметить, что вышеперечисленные изменения привели к еще большему усложнению контроллера памяти.

    Оперативные запоминающие устройства (ОЗУ) являются неотъемлемой частью микропроцессорных систем различного назначения. ОЗУ делятся на два класса: статические и динамические. В статических ОЗУ запоминание информации производится на триггерах, а в динамических - на конденсаторах емкостью порядка 0,5 пФ. Длительность хранения информации в статических ОЗУ не ограничена, тогда как в динамических она ограничена временем саморазряда конденсатора, что требует специальных средств регенерации и дополнительных затрат времени на этот процесс.


    Конструктивно любое ОЗУ состоит из двух блоков - матрицы запоминающих элементов и дешифратора адреса. По технологическим соображениям матрица чаще всего имеет двухкоординатную дешифрацию адреса - по строкам и столбцам. На рис. 9.45 показана матрица 16-битного статического ОЗУ. Матрица состоит из 16 ячеек памяти mem_i, схема которой приведена на рис. 9.46. Каждая ячейка памяти адресуется по входам X, Y путем выбора дешифраторами адресных линий по строкам АхО...АхЗ и по столбцам АуО...АуЗ (см. рис. 9.45) и подачи по выбранным линиям сигнала логической единицы. При этом в выбранной ячейке памяти срабатывает двухвходовой элемент И (U1), подготавливая цепи чтения-записи информации на входных DIO...DI3 или выходных DOO...D03 разрядных шинах. Разрешающим сигналом для выдачи адреса является CS (chip select - выбор кристалла), который подается на вход разрешения счетчика адреса (Addr_cnt) или такой же вход дешифраторов, подключенных к выходам счетчика.

    При записи в ячейку памяти (см. рис. 9.46) на соответствующей разрядной шине устанавливается 1 или 0, на входе WR/RD" устанавливается сигнал 1 и после стробирования счетчика или дешифраторов адреса сигналом CS срабатывают элементы 2И U1, U2. Положительный перепад сигнала с элемента U2 поступает на тактовый вход D-триггера U4, в результате чего в нем записывается 1 или 0 в зависимости от уровня сигнала на его D-входе.



    При чтении из ячейки памяти на входе WR/RD" устанавливается 0, при этом срабатывают элементы U1, U3, U5 и на вход РАЗРЕШЕНИЕ ВЫХОДА буферного элемента U6 поступает разрешающий сигнал, в результате чего сигнал с Q-выхода D-триггера передается на разрядную шину DOO...D03. Для проверки функционирования ячейки памяти используется генератор слова (рис. 9.47).

    Современные запоминающие устройства статического типа отличаются высоким быстродействием и в микропроцессорных системах используются ограниченно из-за сравнительно высокой стоимости. В таких системах они используются только в качестве так называемой кэш-памяти . Cache (запас) обозначает быстродействующую буферную память между процессором и основной памятью, служащую для частичной компенсации разницы в скорости процессора и основной памяти - в нее заносятся наиболее часто используемые данные. Когда процессор первый раз обращается к ячейке памяти, ее содержимое параллельно копируется в кэш, и в случае повторного обращения может быть с гораздо большей скоростью из нее извлечено. При записи в память информация попадает в кэш и одновременно копируется в память (схема Write Through - прямая или сквозная запись) или копируется через некоторое время (схема Write Back - обратная запись). При обратной записи, называемой также буферизованной сквозной записью, информация копируется в память в первом же свободном такте, а при отложенной (Delayed Write) - когда для помещения в кэш нового значения не оказывается свободной области; при этом в основное ОЗУ вытесняются сравнительно редко используемые данные. Вторая схема более эффективна, но и более сложна за счет необходимости поддержания соответствия содержимого кэша и основной памяти.

    Кэш-память состоит из области данных, разбитой на блоки (строки), которые являются элементарными единицами информации при работе кэша, и области признаков (tag), описывающей состояние строк (свободна, занята, помечена для дозаписи и т.п.). В основном используются две схемы организации кэша: с прямым отображением (direct mapped), когда каждый адрес памяти может кэшироваться только одной строкой (в этом случае номер строки определяется младшими разрядами адреса), и га-связный ассоциативный (ra-way associative), когда каждый адрес может кэшироваться несколькими строками. Ассоциативный кэш более сложен, однако позволяет более гибко кэшировать данные; наиболее распространены четырехсвязные системы кэширования.

    Микропроцессоры 486 и выше имеют также внутренний (Internal) кэш объемом 8...16 Кбайт. Он также обозначается как Primary (первичный) или LI (Level I - первый уровень) в отличие от внешнего (External), расположенного на плате и обозначаемого Secondary (вторичный) или L2. В большинстве процессоров внутренний кэш работает по схеме с прямой записью, а в 486 (процессор Intel P24D и последние DX4-100, AMD DX4-120, 5х86) и Pentium он может работать и с отложенной записью. Последнее требует специальной поддержки со стороны системной платы, чтобы при обмене по DMA (прямое обращение к памяти устройств ввода-вывода) можно было поддерживать согласованность данных в памяти и внутреннем кэше. Процессоры Pentium Pro имеют также встроенный кэш второго уровня объемом 256 или 512 Кбайт.

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

    В динамической памяти ячейки выполнены на основе областей с накоплением зарядов, занимающих гораздо меньшую площадь, нежели триггеры, и практически не потребляющих энергии при хранении информации. При записи бита в такую ячейку в ней формируется электрический заряд, который сохраняется в течение нескольких миллисекунд; для постоянного сохранения заряда ячейки необходимо регенерировать (перезаписывать) ее содержимое. Ячейки микросхем динамической памяти также организованы в виде прямоугольной матрицы; при обращении к микросхеме на ее входы вначале подается адрес строки матрицы, сопровождаемый сигналом RAS (Row Address Strobe - строб адреса строки), затем, через некоторое время - адрес столбца, сопровождаемый сигналом CAS (Column Address Strobe - строб адреса столбца). При каждом обращении к отдельной ячейке регенерируются все ячейки выбранной строки, поэтому для полной регенерации матрицы достаточно перебрать адреса строк. Ячейки динамической памяти имеют сравнительно малое быстродействие (десятки - сотни наносекунд), но большую удельную плотность (порядка нескольких мегабайт на корпус) и меньшее энергопотребление.

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

    FPM DRAM (Fast Page Mode DRAM - динамическая память с быстрым страничным доступом), активно используется в последнее время. Память со страничным доступом отличается от обычной динамической памяти тем, что после выбора строки матрицы и удержания сигнала RAS допускает многократную установку адреса столбца, стробируемого сигналом CAS, а также быструю регенерацию по схеме "CAS прежде RAS". Первое позволяет ускорить блочные передачи, когда весь блок данных или его часть находятся внутри одной строки матрицы, называемой в этой системе страницей, а второе - снизить затраты времени на регенерацию памяти.

    EDO (Extended Data Out - расширенное время удержания данных на выходе) фактически представляют собой обычные микросхемы FPM, на выходе которых установлены регистры-защелки данных. При страничном обмене такие микросхемы работают в режиме простого конвейера: удерживают на выходах данных содержимое последней выбранной ячейки, в то время как на их входы уже подается адрес следующей выбираемой ячейки. Это позволяет примерно на 15% по сравнению с FPM ускорить процесс считывания последовательных массивов данных. При случайной адресации такая память ничем не отличается от обычной.

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

    SDRAM (Synchronous DRAM - синхронная динамическая память) - память с синхронным доступом, работающая быстрее обычной асинхронной (FPM/EDO/BEDO). Кроме синхронного доступа, SDRAM использует внутреннее разделение массива памяти на два независимых банка, что позволяет совмещать выборку из одного банка с установкой адреса в другом. SDRAM также поддерживает блочный обмен. Основное преимущество SDRAM состоит в поддержке последовательного доступа в синхронном режиме, где не требуется дополнительных тактов ожидания. При случайном доступе SDRAM работает практически с той же скоростью, что и FPM/EDO.

    РВ SRAM (Pipelined Burst SRAM - статическая память с блочным конвейерным доступом) - разновидность синхронных SRAM с внутренней конвейеризацией, за счет которой примерно вдвое повышается скорость обмена блоками данных.

    Кроме основного ОЗУ, устройством памяти снабжается и устройство отображения информации - видеодисплейная система. Такая память называется видеопамятью и располагается на плате видеоадаптера.

    Видеопамять служит для хранения изображения. От ее объема зависит максимально возможное разрешение видеокарты - АхВхС, где А - количество точек по горизонтали, В - по вертикали, С- количество возможных цветов каждой точки. Например, для разрешения 640х480х16 достаточно иметь видеопамять 256 Кбайт, для 800х600х256 - 512 КБ, для 1024х768х65536 (другое обозначение - 1024x768x64k) - 2 Мбайт и т.д. Поскольку для хранения цветов отводится целое число разрядов, количество цветов всегда является целой степенью 2 (16 цветов - 4 разряда, 256 - 8 разрядов, 64k - 16 и т.д.).

    В видеоадаптерах используются следующие типы видеопамяти.

    FPM DRAM (Fast Page Mode Dynamic RAM - динамическое ОЗУ с быстрым страничным доступом) - основной тип видеопамяти, идентичный используемой в системных платах. Активно применялась до 1996 г. Наиболее распространенные микросхемы FPM DRAM - четырехразрядные DIP и SOJ, а также шестнадцатиразрядные SOJ.

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

    EDO DRAM (Extended Data Out DRAM - динамическое ОЗУ с расширенным временем удержания данных на выходе) - память с элементами конвейеризации, позволяющей несколько ускорить обмен блоками данных с видеопамятью.

    SGRAM (Synchronous Graphics RAM - синхронное графическое ОЗУ) - вариант DRAM с синхронным доступом, когда все управляющие сигналы изменяются одновременно с системным тактовым синхросигналом, что позволяет уменьшить временные задержки.

    WRAM (Window RAM - оконное ОЗУ) - EDO VRAM, в котором окно, через который обращается видеоконтроллер, сделано меньшим, чем окно для центрального процессора.

    MDRAM (Multibank DRAM - многобанковое ОЗУ) - вариант DRAM, организованный в виде множества независимых банков объемом по 32 Кбайт каждый, работающих в конвейерном режиме.

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

    Микросхемы памяти имеют четыре основные характеристики - тип, объем, структуру и время доступа. Тип обозначает статическую или динамическую память, объем показывает общую емкость памяти, а структура - количество ячеек памяти и разрядность каждой ячейки. Например, 28/32-выводные DIP-микросхемы SRAM имеют 8-разрядную структуру (8kx8, 16kx8, 32kx8, 64kx8, 128kx8), кэш объемом 256 Кбайт состоит из восьми микросхем 32kx8 или четырех микросхем 64kx8 (речь идет об области данных, дополнительные микросхемы для хранения признаков могут иметь другую структуру). Две микросхемы по 128kx8 поставить уже нельзя, так как нужна 32-разрядная шина данных, что могут обеспечить только четыре микросхемы. Распространенные РВ SRAM в 100-выводных корпусах PQFP имеют 32-разрядную структуру 32kx32 или 64kx32 и используются по две или по четыре в платах для Pentium.

    30-контактные SIMM имеют 8-разрядную структуру и используются с процессорами 286, 386SX и 486SLC по две, а с 386DX, 486DLC и обычными 486DX - по четыре. 72-контактные SIMM имеют 32-разрядную структуру и могут использоваться с 486DX по одной, а с Pentium и Pentium Pro - по две. 168-контактные DIMM имеют 64-разрядную структуры и используются в Pentium и Pentium Pro по одной. Установка модулей памяти или микросхем кэша в количестве больше минимального для данной системной (материнской) платы позволяет ускорить работу с ними, используя принцип чередования (Interleave).

    Время доступа характеризует скорость работы микросхемы и обычно указывается в наносекундах после тире в конце наименования. На более медленных микросхемах могут указываться только первые цифры (-7 вместо -70, -15 вместо -150), на более быстрых статических "-15" или "-20" обозначает реальное время доступа к ячейке. Часто на микросхемах указывается минимальное из всех возможных времен доступа, например, распространена маркировка 50 EDO DRAM вместо 70, или 45 - вместо 60, хотя такой цикл достижим только в блочном режиме, а в одиночном режиме микросхема по-прежнему имеет время доступа 70 или 60 нс. Аналогичная ситуация имеет место в маркировке РВ SRAM: 6 вместо 12, и 7 вместо 15. Микросхемы SDRAM обычно маркируются временем доступа в блочном режиме (10 или 12 нс).

    ИМС памяти реализуются в корпусах следующих типов.

    DIP (Dual In line Package - корпус с двумя рядами выводов) - классические микросхемы, применявшиеся в блоках основной памяти IBM PC/XT и ранних PC/AT, сейчас применяются в блоках кэш-памяти.

    SIP (Single In line Package - корпус с одним рядом выводов) - микросхема с одним рядом выводов, устанавливаемая вертикально.

    SIPP (Single In line Pinned Package - модуль с одним рядом игольчатых выводов) - модуль памяти, вставляемый в панель наподобие микросхем DIP/SIP; применялся в ранних IBM PC/AT.

    SIMM (Single In line Memory Module - модуль памяти с одним рядом контактов) - модуль памяти, вставляемый в зажимный разъем; применяется во всех современных платах, а также во многих адаптерах, принтерах и прочих устройствах. SIMM имеет контакты с двух сторон модуля, но все они соединены между собой, образуя как бы один ряд контактов. На SIMM в настоящее время устанавливаются преимущественно микросхемы FPM/EDO/BEDO.

    DIMM (Dual In line Memory Module - модуль памяти с двумя рядами контактов) - модуль памяти, похожий на SIMM, но с раздельными контактами (обычно 2х84), за счет чего увеличивается разрядность или число банков памяти в модуле. Применяется в основном в компьютерах Apple и новых платах Р5 и Р6. На DIMM устанавливаются микросхемы EDO/BEDO/SDRAM.

    CELP (Card Egde Low Profile - невысокая карта с ножевым разъемом на краю) - модуль внешней кэш-памяти, собранный на микросхемах SRAM (асинхронный) или РВ SRAM (синхронный). По внешнему виду похож на 72-контактный SIMM, имеет емкость 256 или 512 Кбайт. Другое название - COAST (Cache On A STick - буквально "кэш на палочке").

    Модули динамической памяти кроме основных ячеек памяти могут иметь дополнительные ячейки для хранения битов четности (Parity) для байтов данных; такие SIMM иногда называют 9- и 36-разрядными модулями (по одному биту четности на байт данных). Биты четности служат для контроля правильности считывания данных из модуля, позволяя обнаружить часть ошибок (см. разд. 9.7). Модули с битами четности имеет смысл применять лишь там, где нужна очень высокая надежность. Для обычных применений подходят и тщательно проверенные модули без битов четности, однако при условии, что системная плата поддерживает такие типы модулей.

    Проще всего определить тип модуля по маркировке и количеству микросхем памяти на нем: например, если на 30-контактном SIMM две микросхемы одного типа и еще одна - другого, то две первых являются основными (каждая - по четыре разряда), а третья предназначена для хранения битов четности (она одноразрядная).

    В 72-контактном SIMM с двенадцатью микросхемами восемь из них хранят данные, а четыре - биты четности. Модули с количеством микросхем 2, 4 или 8 не имеют памяти для хранения битов четности.

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

    72-контактные SIMM имеют четыре специальных линии PD (Presence Detect - обнаружение наличия), на которых при помощи перемычек может быть установлено до 16 комбинаций сигналов. Линии PD используются в некоторых материнских платах для определения наличия модулей памяти в разъемах и их параметров (объема и быстродействия). В большинстве универсальных плат производства "третьих фирм", как и выпускаемые ими SIMM, линии PD не используются.

    В модулях DIMM в соответствии со спецификацией JEDEC технология PD реализуется при помощи перезаписываемого ПЗУ с последовательным доступом (Serial EEPROM) и носит название Serial Presence Detect (SPD). ПЗУ представляет собой 8-выводную микросхему, размещенную в углу платы DIMM, а его содержимое описывает конфигурацию и параметры модуля. Системные платы с набором микросхем (чипсетами) 440LX/BX могут использовать SPD для настройки системы управления памятью. Некоторые системные платы могут обходиться без SPD, определяя конфигурацию модулей обычным путем.

    Контрольные вопросы и задания

    1. Какие типы памяти существуют?

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

    3. На базе схемы на рис. 9.45 разработайте схему четырехразрядного ОЗУ с применением генератора слова. При этом в схеме на рис. 9.45 используйте только 4 младших адреса (два по строкам и два по столбцам) и соответственно только две шины данных (две входные и две выходные). К выходным шинам подключите индикаторы.

    4. Где в современных компьютерах используется память статического типа?

    5. Чем отличается динамическая память от статической?

    6. Какие типы динамической памяти используются в современных компьютерах?

    7. Что такое видеопамять и как она связана с характеристиками отображаемой на дисплее информации?

    8. Какие типы памяти используются в качестве видеопамяти?

    9. Какое конструктивное оформление имеют микросхемы памяти?

    Типы ОЗУ.

    Оперативная память – это память для временного хранения команд и данных, используемых в процессе работы ЭВМ. Она обеспечивает оперативный доступ к требуемой информации процессору, видеокарте и другим элементам ЭВМ, и временное хранение результатов их работы.

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

    Однако на данный момент оперативную память можно разделить на три типа:

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

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

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

    Это деление будет верно, только если не учитывать устаревшие типы памяти, такие как память на ртутных линиях задержки, запоминающие электронно-лучевые трубки (ЭЛТ), память на магнитных сердечниках и так далее, описанных в статье “ЭВМ первого поколения”.

    И перспективные разработки, такие как:

    FRAM (Ferroelectric Random Access Memory) – сегнетоэлектрическая память, основывающаяся на сегнетоэле?ктриках – диэлектриках, способных менять дипольный момент под действием температуры и внешнего электрического поля;

    PCM (Phase Change Memory) – память, основанная на изменении фазового состояния вещества (Ха?лькогени?да) с кристаллического на аморфный и обратно;



    PMC (Programmable Metallization Cell) – память на базе программируемой металлизации ячейки, основанной на изменении положения атомов под действием электрического заряда;

    RRAM (Resistive Random-Access Memory) – резистивная память, построенная на основе элементов, способных изменять свое сопротивление, в зависимости от величины пропущенного через них тока;

    и множество других типов памяти, пока еще не вышедших на рынок в массовом порядке или вообще находящихся в стадии разработки или лабораторного тестирования.

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

    Динамическая оперативная память.

    Динамическая оперативная память (DRAM – Dynamic Random Access Memory) – энергозависимая полупроводниковая память с произвольным доступом. На данный момент – это основной тип оперативной памяти, используемый в современных персональных компьютерах и обеспечивающий наилучший показатель отношения цена-качество по сравнению с другими типами оперативной памяти. Однако, требования к быстродействию, энергопотреблению и надежности оперативной памяти постоянно растут, и динамическая оперативная память уже с трудом соответствует современным потребностям, так что в ближайшие годы стоит ожидать появления серийно выпускаемых конкурирующих типов оперативной памяти, таких как магниторезистивная оперативная память.

    1. Устройство динамической оперативной памяти.
    1.1. Работа динамической памяти в состоянии покоя.
    1.2. Работа динамической памяти при чтении данных и регенерации.
    1.3. Работа динамической памяти при записи данных.
    2. Этапы модернизации динамической оперативной памяти.
    2.1. PM DRAM.
    2.2. FPM DRAM.
    2.3. EDO-DRAM.
    2.4. SDRAM.
    2.5. DDR SDRAM.
    2.6. DDR2 SDRAM.
    2.7. DDR3 SDRAM.
    2.8. DDR4 SDRAM.
    3. Достоинства и недостатки динамической памяти.

    Устройство динамической оперативной памяти.

    Динамическая оперативная память (DRAM – Dynamic Random Access Memory) – энергозависимая память с произвольным доступом, каждая ячейка которой состоит из одного конденсатора и нескольких транзисторов. Конденсатор хранит один бит данных, а транзисторы играют роль ключей, удерживающих заряд в конденсаторе и разрешающих доступ к конденсатору при чтении и записи данных.

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

    На практике существуют разные способы реализации динамической памяти. Упрощенная структурная схема одного из способов реализации приведена на рисунке 1.

    Как видно из рисунка, основным блоком памяти является матрица памяти, состоящая из множества ячеек, каждая из которых хранит 1 бит информации.

    Каждая ячейка состоит из одного конденсатора (С) и трех транзисторов. Транзистор VT1 разрешает или запрещает запись новых данных или регенерацию ячейки. Транзистор VT3 выполняет роль ключа, удерживающего конденсатор от разряда и разрешающего или запрещающего чтение данных из ячейки памяти. Транзистор VT2 используется для считывания данных с конденсатора. Если на конденсаторе есть заряд, то транзистор VT2 открыт, и ток пойдет по линии AB, соответственно, на выходе Q1 тока не будет, что означает – ячейка хранит бит информации с нулевым значением. Если заряда на конденсаторе нет, то конденсатор VT2 закрыт, а ток пойдет по линии AE, соответственно, на выходе Q1 ток будет, что означает – ячейка хранит бит информации со значением “единица”.

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

    Для работы динамической памяти на матрицу должно всегда поступать напряжение, на схеме оно обозначено, как Uп. С помощью резисторов R напряжение питания Uп равномерно распределяется между всеми столбцами матрицы.

    Также в состав памяти входит контроллер шины памяти, который получает команды, адрес и данные от внешних устройств и ретранслирует их во внутренние блоки памяти.

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

    Адрес преобразуется в две составляющие – адрес строки и адрес столбца, и передается в соответствующие дешифраторы.

    Дешифратор адреса строки определяет, с какой строки надо провести чтение или запись, и выдает на эту строку напряжение.

    Дешифратор адреса столбца при чтении данных определяет, какие из считанных бит данных были запрошены и должны быть выданы в шину памяти. При записи данных дешифратор определяет, в какие столбцы надо подать команды записи.

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

    Блоки регенерации определяют:

    • когда происходит чтение данных и надо провести регенерацию ячейки, из которой данные были считаны;
    • когда происходит запись данных, а, следовательно, регенерацию ячейки производить не надо.

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

    Рассмотрим принцип работы динамической памяти на примере структурной схемы, приведенной на рисунке 1. Рассматривать будем работу с первой ячейкой (M11). Работа остальных ячеек памяти полностью идентична.