Оперативная память является одним из важнейших элементов компьютера. Именно из нее процессор берет программы и исходные данные для обработки, в нее он записывает полученные результаты. Название «оперативная» эта память получила потому, что она работает очень быстро, так что процессору практически не приходится ждать при чтении данных из памяти или записи в память. Оперативная память - это энергозависимая среда, в которую загружаются и в которой находятся прикладные программы и данные в момент, пока с ними работают. Когда работа закончена, информация удаляется из оперативной памяти. Если необходимо обновление соответствующих дисковых данных, они перезаписываются. Это может происходить автоматически, но часто требует команды от пользователя. При выключении компьютера вся информация из оперативной памяти теряется.
Часто для оперативной памяти используют обозначение RAM (Random Access Memory), то есть память с произвольным доступом. Это означает, что обращение к данным, хранящимся в оперативной памяти, не зависит от порядка их расположения в памяти. Когда говорят о памяти компьютера, обычно подразумевают оперативную память, прежде всего микросхемы памяти или модули, в которых хранятся активные программы и данные, используемые процессором. Полупроводниковая оперативная память в настоящее время делится на статическое ОЗУ (SRAM) и динамическое ОЗУ (DRAM).
Быстродействие и производительность памяти
Быстродействие памяти определяется временем выполнения операций записи и считывания данных. Основными параметрами любых элементов памяти является минимальное время доступа и длительность цикла обращения. Время доступа (access time) определяется как задержка появления действительных данных на выходе памяти относительно начала цикла чтения. Длительность цикла определяется как минимальный период следующих друг за другом обращений к памяти, причем циклы чтения и записи могут требовать различных затрат времени. В цикл обращения кроме активной фазы самого доступа входит и фаза восстановления (возврата памяти к исходному состоянию.
Производительность памяти можно характеризовать как скорость потока записываемых или считываемых данных и измерять в мегабайтах в секунду. Производительность подсистемы памяти наравне с производительностью процессора существенным образом определяет производительность компьютера. Выполняя определенный фрагмент программы, процессору придется, во-первых, загрузить из памяти соответствующий программный код, а во-вторых, произвести требуемые обмены данными, и чем меньше времени потребуется подсистеме памяти на обеспечение этих операций, тем лучше.
Производительность памяти, как основной, так и кэша второго уровня, обычно характеризуют длительностью пакетных циклов чтения (Memory Burst Read Cycle). Пакетный режим обращения является основным для процессоров, использующих кэш (486 и выше); циклы чтения выполняются гораздо чаще, чем циклы записи (хотя бы потому, что процессору приходится все время считывать инструкции из памяти). Эта длительность выражается в числе тактов системной шины, требуемых для передачи очередной порции данных в пакете. Обозначение вида 5-3-3-3 для диаграммы пакетного цикла чтения соответствует пяти тактам на считывание первого элемента в цикле и трем тактам на считывание каждого из трех последующих элементов. Первое число характеризует латентность (latency) памяти — время ожидания данных, последующие — скорость передачи. При этом, конечно же, оговаривается и частота системной шины. По нынешним меркам хорошим результатом является цикл 5-1-1-1 для частоты шины 100 или 133 МГц. Однако для процессоров Pentium 4, у которых за каждый такт синхронизации системной шины передается по четыре 64-битных слова данных, возможно, будет иной способ выражения производительности памяти.
Производительность подсистемы памяти зависит от типа и быстродействия применяемых запоминающих элементов, разрядности шины памяти и некоторых «хитростей» архитектуры. Разрядность шины памяти — это количество байт (или бит), с которыми операция чтения или записи может быть выполнена одновременно. Разрядность основной памяти обычно согласуется с разрядностью внешней шины процессора (1 байт - для 8088; 2 байта - для 8086, 80286, 3865Х; 4 байта - для 386DХ, 486; 8 байт — для Pentium и выше. Банком памяти называют комплект микросхем или модулей (а также их посадочных мест — «кроваток» для микросхем, слотов для SIММ или DIMM), обеспечивающий требуемую для данной системы разрядность хранимых данных. Работоспособным может быть только полностью заполненный банк. Внутри одного банка практически всегда должны применяться одинаковые (по типу и объему) элементы памяти.
Память типа DRAM.jpg)
Динамическая оперативная память (Dynamic RAM – DRAM) используется в большинстве систем оперативной памяти персональных компьютеров. Основное преимущество этого типа памяти состоит в том, что ее ячейки упакованы очень плотно, т.е. в небольшую микросхему можно упаковать много битов, а значит, на их основе можно построить память большей емкости.
Ячейки памяти в микросхеме DRAM – это крошечные конденсаторы, которые удерживают заряды.
В устройствах DRAM для хранения одного бита используется только транзистор и конденсатор, поэтому они более вместительны, чем микросхемы других типов памяти. Транзистор для каждого однозарядного регистра DRAM использует для чтения состояния смежного конденсатора. Если конденсатор заряжен, в ячейке записана 1; если заряда нет – записан 0. Заряды в крошечных конденсаторах все время стекают, вот почему память должна постоянно регенерироваться. Даже мгновенное прерывание подачи питания или какой-нибудь сбой в циклах регенерации приведет к потере заряда в ячейке DRAM, а следовательно, к потере данных.
Каждая ячейка способна хранить только один бит. Если конденсатор ячейки заряжен, то это означает, что бит включен, если разряжен – выключен. Если необходимо запомнить один байт данных, то понадобится 8 ячеек (1 байт = 8 битам). Ячейки расположены в матрицах и каждая из них имеет свой адрес, состоящий из номера строки и номера столбца. Теперь рассмотрим, как происходит чтение. Сначала на все входы подается сигнал RAS (Row Address Strobe) – это адрес строки. После этого, все данные из этой строки записываются в буфер. Затем на регистр подается сигнал CAS (Column Address Strobe) – это сигнал столбца и происходит выбор бита с соответствующим адресом. Этот бит и подается на выход. Но во время считывания данные в ячейках считанной строки разрушаются и их необходимо перезаписать, взяв из буфера.
Теперь запись. Подается сигнал WR (Write) и информация поступает на шину столбца не из регистра, а с информационного входа памяти через коммутатор, определенный адресом столбца. Таким образом, прохождение данных при записи определяется комбинацией сигналов адреса столбца и строки и разрешения записи данных в память. При записи данные из регистра строки на выход не поступают. Это означает, что за один раз будет считан не один бит, а несколько. Если параллельно расположено 8 матриц, то сразу считан будет один байт. Это называется разрядностью. Количество линий, по которым будут передаваться данные от (или на) параллельных матриц, определяется разрядностью шины ввода/вывода микросхемы.
FPM (Fast Page Mode) DRAM — Динамическое ОЗУ, работающее в режиме ускоренного страничного обмена
Тип динамической памяти с произвольным доступом, которая обеспечивает более высокую производительность, чем обычное динамическое ОЗУ.
Двоичные разряды хранятся в ячейках памяти, организованных в виде матрицы, состоящей из строк и столбцов. Подобно всем остальным видам динамического ОЗУ, у ИС памяти данного типа имеется лишь половина всех выводов, необходимых для указания адреса чтения или записи данных. При этом цикл памяти начинается с указания в первую очередь адреса строки, для чего требуется половина разрядов адреса, а затем и адреса столбца данных, который составляет другую половину адреса. Затем выполняется чтение или запись данных.
Режим ускоренного страничного обмена позволяет адресовать следующий столбец, который соответствует следующему по порядку адресу памяти, без повторного указания строки. Это дает возможность сократить время доступа к нескольким следующим по порядку ячейкам памяти при условии, что при этом еще не достигнут конец строки, увеличивая тем самым производительность.
Время цикла памяти FPM DRAM составляет 50нс, что позволяет поддерживать доступ к памяти с частотой 30 миллионов раз в секунду или 30 МГц. Этого вполне достаточно для шины памяти с тактовой частотой 60 или 66 МГц, типичной для процессора Pentium. Следовательно, для доступа к памяти требуется не один цикл памяти, причем это делается в пакетном режиме, поэтому адреса памяти отнюдь не обязательно указывать при каждом доступе. Это возможно потому, что доступ к памяти обычно осуществляется в виде обращения к расположенным по порядку ячейкам памяти, а если это не так, то дополнительный доступ к памяти не используется либо данные игнорируются. Доступ к памяти в пакетном режиме обычно обозначается формулой 6-3-3-3, которая означает, что для первого обращения к памяти требуется 6 тактовых циклов, поскольку при этом необходимо полностью указать адрес, а для каждого из трех последующих обращений требуется лишь 3 тактовых цикла. Как правило, тактовые циклы выполняются с быстродействием шины памяти процессора. Зачастую это соответствует тактовой частоте 60 или 66 МГц при внутренней тактовой частоте процессора соответственно 120 или 133 МГц.
Сигнал CAS снимается и выставляется каждый раз после установки очередного адреса столбца С2, С3, С4, при этом после очередной установки сигнала CAS данные появляются на выходе, в этом сокращение времени достигается за счёт того, что сигнал RAS выставляется один раз в начале страницы, а столбцы выбираются сигналом RAS. Этот режим даёт выигрыш лишь при страничной организации. Память FPM была распространена в ПК в 1995 году.
Начиная с 1995 года, в компьютерах на основе Pentium используется новый тип оперативной памяти – EDO ( Extended Data Out). Это усовершенствованный тип памяти FPM; его иногда называют Hyper Page Mode. Память типа EDO была разработана и запатентована фирмой Micron Tehnology. Память EDO собирается из специально изготовленных микросхем, которые учитывают перекрытие синхронизации между очередными операциями доступа.
Не смотря на небольшие конструктивные различия, и FPM, и EDO RAM делаются по одной и той же технологии, поэтому скорость работы должна быть одна и та же. Действительно, и FPM, и EDO RAM имеют одинаковое время считывания первой ячейки — 60 —70 нс. Однако в EDO RAM применен метод считывания последовательных ячеек. При обращении к EDO RAM активизируется не только первая, но и последующие ячейки в цепочке. Поэтому, имея то же время при обращении к одной ячейке, EDO RAM обращается к следующим ячейкам в цепочке значительно быстрее. Поскольку обращение к последовательно следующим друг за другом областям памяти происходит чаще, чем к ее различным участкам (если отсутствует фрагментация памяти), то выигрыш в суммарной скорости обращения к памяти значителен.
Стандартное Z-состояние обеспечивается либо снятием сигнала OE (CS), либо одновременным снятием сигналов RAS и CAS, либо сигналом WE, при наличии RAS и CAS. Наличие выходного буфера позволяет укорачивать цикл CAS и уменьшать время доступа в пределах страницы.
BEDO
Все же, несмотря на свои скоростные показатели, BEDO оказалась не конкурентоспособной и не получила практически никакого распространения. Просчет состоял в том, что BEDO, как и все ее предшественники, оставалась асинхронной памятью. Это накладывало жесткие ограничения на максимально достижимую тактовую частоту, ограниченную 60 - 66 (75) мегагерцами. Действительно, пусть время рабочего цикла составляет 15 нс. (1 такт в 66 MHz системе). Однако, поскольку "часы" контроллера памяти и самой микросхемы памяти не синхронизованы, нет никаких гарантий, что начало рабочего цикла микросхемы памяти совпадет с началом такового импульса контроллера, вследствие чего минимальное время ожидания составляет два такта. Вернее, если быть совсем точным, рабочий цикл микросхемы памяти никогда не совпадает с началом тактового импульса. Несколько наносекунд уходит на формирование контроллером управляющего сигнала RAS или CAS, за счет чего он уже не совпадет с началом тактирующего импульса. Еще несколько наносекунд требуется для стабилизации сигнала и "осмысления" его микросхемой, причем, сколько именно времени потребуется заранее определить невозможно, т.к. на результат влияет и температура, и длина проводников, и помехи на линии, и т.д.
SDRAM
SDRAM (Synchronous Dynamic Random Access Memory) – это синхронизированная динамическая память с произвольным порядком выборки. Одним словом, синхронная динамическая оперативная память. SDRAM состоит из физических ячеек, которые собраны в страницы. Размер страницы может быть от 512 байт до нескольких килобайт. Каждая страница разбита на два банка: в одном банке ячейки с нечетными адресами строк, а в другом – с четными. Каждая ячейка имеет свой адрес, состоящий из номера (адреса) строки и номера (адреса) столбца. Сначала передается номер строки, затем номер столбца. По сути дела, номер – это набор электрических сигналов, которые надо сгенерировать, передать и обработать. На все это необходимо затратить время. В страничном режиме, передав номер строки можно получить доступ к нескольким ячейкам с разными номерами столбцов, то есть, не надо для каждой из них передавать номер строки, достаточно только номера столбца. Экономия времени налицо. Двигаемся дальше, строки можно разделить на четные и нечетные. Получается два банка: один – с четными строками, а другой – с нечетными. В то время, когда происходит обращение к одному банку, в другом происходит выборка адреса или еще что. Опять же экономия времени. Такой режим иногда называют расслоением. Для того чтобы увеличить скорость доступа к памяти, разработали пакетный режим (burst) доступа. Принцип состоит в том, что после установки строки и столбца ячейки, происходит обращение к следующим трем смежным адресам без дополнительных состояний ожидания. Схема пакетного режима будет выглядеть так: x-y-y-y, где х – время выполнения первой операции доступа состоящей из продолжительности цикла и времени ожидания, а y – это число циклов, необходимое для выполнения каждой последующей операции. Например, для SDRAM схема будет выглядеть так: 5-1-1-1.
По отдельной линии передается синхронизирующий сигнал, по шине управления передается команда, скажем на считывание. После этого формируется адрес и по шине адреса передается в память. Затем начинается передача информации по шине данных. В этот момент может быть сформирован и передан новый адрес. И так постоянно.
.jpg)
Рис. Стандартный модуль памяти SDRAM PC100
Выпустив чипсет 440BX с официальной поддержкой тактовой частоты системной шины до 100 МГц, Intel сделала оговорку, что модули памяти SDRAM неустойчиво работают на такой скорости. После заявления Intel представила новую спецификацию, описывающую все тонкости, SDRAM PC100.
Данной спецификации отвечают только 8-нс чипы, а 10-нс чипы, по мнению Intel, неспособны устойчиво работать на частоте 100 МГц.
Введение стандарта PC100 в некоторой степени можно считать рекламной уловкой, но все известные производители памяти и системных плат поддержали эту спецификацию, а с появлением следующего поколения памяти переходят на его производство.
Спецификация PC100 является очень критичной, одно описание с дополнениями занимает больше 70 страниц. Для комфортной работы с приложениями, требующими высокого быстродействия, разработано следующее поколение синхронной динамической памяти - SDRAM PC133. Продвижением данного стандарта на рынок занимается уже не Intel, а их главный конкурент на рынке процессоров AMD. Intel же решила поддерживать память от Rambus, мотивируя это тем, что она лучше сочетается с шиной AGP 4x. 133-МГц чипы направлены на использование с новым семейством микропроцессоров, работающих на частоте системной шины 133 МГц, и полностью совместимы со всеми PC100 продуктами. Такими производителями, как VIA Technologies, Inc., Acer Laboratories Inc. (ALi), OPTi Inc., Silicon Integrated Systems (SiS) и Standard Microsystems Corporation (SMC), разработаны чипсеты, поддерживающие спецификацию PC133.
Enhanced SDRAM (ESDRAM)
Enhanced SDRAM (ESDRAM - улучшенная SDRAM) - более быстрая версия SDRAM, сделанная в соответствии со стандартом JEDEC компанией Enhanced Memory Systems. С точки зрения времени доступа производительность ESDRAM в два раза выше по сравнению со стандартной SDRAM. В большинстве приложений ESDRAM, благодаря более быстрому времени доступа к массиву SDRAM и наличию кэша, обеспечивает даже большую производительность, чем DDR SDRAM.
Более высокая скорость работы ESDRAM достигается за счет дополнительных функций, которые используются в архитектуре этой памяти. ESDRAM имеет строку кэш-регистров (SRAM), в которых хранятся данные, к которым уже было обращение. Доступ к данным в строке кэша осуществляется быстрее, чем к ячейкам SDRAM, со скоростью 12 ns, т.к. не требуется обращаться к данным в строке через адрес в колонке. При этом скорость работы ячеек ESDRAM составляет 22 ns в отличие от стандартной скорости работы ячеек SDRAM, имеющей значения 50 - 60 ns.
При этом стоит заметить, что память ESDRAM полностью совместима со стандартной памятью JEDEC SDRAM на уровне компонентов и модулей, по количеству контактов и функциональности. Однако чтобы использовать все преимущества этого типа памяти, необходимо использовать специальный контроллер (чипсет).
Увеличение производительности при использовании ESDRAM достигается за счет применения двухбанковой архитектуры, которая состоит из массива SDRAM и SRAM строчных регистров (кэш). Строчные регистры вместе с быстрым массивом SDRAM обеспечивают более быстрый доступ для чтения и записи данных по сравнению со стандартной SDRAM. ESDRAM может работать в режиме "упреждающего обращения" к массиву SDRAM, в результате следующий цикл записи или чтения может начаться в момент, когда выполнение текущего цикла не завершено. Возможность использовать такой режим напрямую зависит от центрального процессора, управляющего работой конвейера адресации.
DDR SDRAM (SDRAM II)
DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) – динамическая синхронизированная память с произвольным порядком выборки и удвоенной передачей данных. Появился этот тип памяти где-то в 1998 году и был сразу взят на вооружение производителями видеокарт. Затем DDR широко распространилась и на материнские платы. На сегодняшний день, этот тип памяти, пожалуй, наиболее применяемый в персональных компьютерах. Ведь DDR сочетает в себе приемлемую скорость и при этом относительную дешевизну.
.jpg)
Рис.2.1.8.1 Стандартный модуль DDR SDRAM
Принцип работы DDR SDRAM очень схож с обычной SDRAM (отсюда и второе название DDR SDRAM – SDRAM 2). Память разбита на страницы, каждая страница разбита на банки. Работа памяти синхронизирована с тактовым генератором системной платы. Основное отличие заключается в том, что за один цикл происходит два обращения к данным: по фронту и срезу импульса тактового сигнала системной шины. Говоря простым языком, чтение/запись происходит два раза за один такт. Кроме того, частота работы повышается за счет применения интерфейсных логических схем с еще более пониженным уровнем питания. Если для SDRAM обычно используются схемотехнические решения на базе LVTTL (Low Volt Transistor-to-Transistor Logic) с напряжением питания 3,3 В, то в DDR SDRAM - на базе SSTL (Stub Series Terminated Logic) с напряжением 2,5 В (а в перспективе и SSTL-2 с напряжением 1,25 В).
DDR SDRAM управляется инверсными тактовыми сигналами. Управляющие и адресные сигналы регистрируются по положительному фронту тактового сигнала, точнее при переходе сигнала с низкого уровня напряжения на более высокий, а вот данные передаются по обоим фронтам сигнала. Такая схема работы требует более четкой синхронизации. Для этого введен дополнительный стробовый сигнал DQS. Говоря просто, этот сигнал необходим для согласования передачи данных при чтении из памяти и контроллером при записи в память. До кучи, следует отметить, что при передаче данных по фронту и срезу сигнала синхронизации критичным будет лишь время задержки распространения сигнала. Вот и пришлось использовать этот строб-сигнал.
При тактовой частоте системной шины 100 МГц скорость передачи данных будет равна 1600 Мбайт/сек, а при 133 МГц – 2100 Мбайт/сек. Отсюда следуют названия памяти DDR – РС1600 и РС2100. Максимальная же пропускная способность при результирующей частоте в 400 Мгц может достигать 3,2 Гбайт/сек.Следует упомянуть тот факт, что микросхемы SDRAM и DDR физически не совместимы: в первом случае микросхемы имеют 168 контактов, во втором – 184. Отсюда несколько разное расположение ключа. Кроме этого, не все чипсеты поддерживают тот или иной тип памяти.
В ближайшее время на рынке должна появится DDR 2. В этом типе памяти данные будут передаваться не 2 раза, а 4, что позволит повысить максимальную пропускную способность до 6,4 Гбайт/сек, и это позволит продлить жизнь DDR в мире инфотехнологий.
RDRAM (Rambus DRAM)
Direct Rambus DRAM - это высокоскоростная динамическая память с произвольным доступом, разработанная Rambus, Inc. Она обеспечивает высокую пропускную способность по сравнению с большинством других DRAM. Direct Rambus DRAMs представляет интегрированную на системном уровне технологию.
Основных отличий от памяти предыдущих поколений всего три:
а) увеличение тактовой частоты за счет сокращения разрядности шины,
б) одновременная передача номеров строки и столба ячейки,
в) увеличение количества банков для усиления параллелизма.
Повышение тактовой частоты вызывает резкое усиление всевозможных помех и в первую очередь электромагнитной интерференции, интенсивность которой в общем случае пропорциональна квадрату частоты, а на частотах свыше 350 мегагерц вообще приближается к кубической. Это обстоятельство налагает чрезвычайно жесткие ограничения на топологию и качество изготовления печатных плат модулей микросхемы, что значительно усложняет технологию производства и себестоимость памяти. С другой стороны, уровень помех можно значительно понизить, если сократить количество проводников, т.е. уменьшить разрядность микросхемы. Именно по такому пути компания Rambus и пошла, компенсировав увеличение частоты до 400 MHz (с учетом технологии DDR эффективная частота составляет 800 MHz) уменьшением разрядности шины данных до 16 бит (плюс два бита на ECC).
Второе (по списку) преимущество RDRAM - одновременная передача номеров строки и столбца ячейки при ближайшем рассмотрении оказывается вовсе не преимуществом, конструктивной особенностью. Это не уменьшает латентности доступа к произвольной ячейке (т.е. интервалом времени между подачей адреса и получения данных), т.к. она, латентность, в большей степени определяется скоростью ядра, а RDRAM функционирует на старом ядре. Недостатком можно посчитать придуманные производителем режимы управления питанием модулей. Если напряжение питания 2,5 В стало практически стандартом для всех новых технологий памяти DRAM, то режимы работы Асtive (активный), Standby (ожидания), NAP ("спящий") и PowerDown (отключение питания) - собственное изобретение Rambus. Самое интересное, что микросхема, не обменивающаяся в текущий момент данными с контроллером, автоматически переводится в режим ожидания, иначе возможен перегрев системы, так как тактовые частоты весьма высоки. На переключение же из режима Standby в активное состояние требуется 100 нс.
Вопросы:
1.Что такое оперативная память?
2.От Чего зависит Быстродействие памяти?
3.Что такое SRAM?
4.Что такое DRAM?
5.Каковы отличия и сходства SRAM и DRAM?
6.Оновные модули памяти.
7.Кэш память.
8.Режимы работыпамяти.
9.Классификация оперативной памяти.
10.Основны характеристики.
EDO
|