21173

Современная память

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-08-02

2.18 MB

0 чел.

Современная память

С появлением на массовом рынке новых платформ все большую популярность приобретает память DDR2, которая постепенно начинает вытеснять память DDR. Первоначально существовала только память DDR2-400, на смену которой довольно быстро пришла память DDR2-533. А сейчас уже можно встретить память DDR2-667, DDR2-675, DDR2-750, DDR2-800, DDR2-900, DDR2-1000 и даже DDR2-1066. При этом отметим, что стандартизированной памятью в настоящее время является DDR2-533 и DDR2-667. В скором будущем будет также стандартизирована память DDR2-800, в связи с чем многие материнские платы уже поддерживают этот тип памяти. Остальные же типы памяти не стандартизированы, и не факт, что материнская плата способна поддержать эту память на заявленной тактовой частоте. Возникает вопрос: почему же производители памяти, соревнуясь друг с другом, стараются выпускать все более скоростную память? Ответ довольно прост — это маркетинговый ход. Ведь, по мнению рядового покупателя, чем выше тактовая частота, тем лучше. Но так ли это на самом деле и действительно ли производительность памяти целиком и полностью определяется ее тактовой частотой? Действительно ли сегодня востребована скоростная память типа DDR2-1000 или же это не более чем соревнование между производителями памяти?

Оказывается, что тактовая частота — далеко не единственная и даже не самая главная характеристика памяти, определяющая ее производительность. Куда более важной характеристикой является латентность памяти (тайминги памяти), и в этом смысле память DDR2-800 с большой латентностью будет менее производительной, чем память DDR2-667 с низкой латентностью.

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

Что такое оперативная память

Оперативная память (или RAM-память — Random Access Memory) — это память с произвольным доступом.

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

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

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

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

На рис.1 показана упрощенная схема чипа памяти, в котором имеется четыре банка, каждый из которых содержит 8192 строки и 1024 столбца. Таким образом, емкость каждого банка — 8192х1024=8192 Кбайт = 8 Мбайт. Учитывая, что в чипе имеется четыре банка, получается, что полная емкость чипа составляет 32 Мбайт.

Рис. 1. Упрощенная схема чипа памяти

При обращении к той или иной ячейке памяти следует задать адрес нужной строки и столбца.

Для того чтобы получить доступ к ячейке памяти для записи или считывания информации, необходимо задать адрес этой ячейки. С учетом того, что в модуле памяти используется несколько чипов памяти, а в каждом чипе — несколько банков памяти, прежде всего необходимо указать, в каком чипе и банке находится ячейка. Для этого используют специальные сигналы CS, ВА0 и ВА1.

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

Сигналы ВА0 и ВА1 позволяют адресовать один из четырех банков памяти. Учитывая, что каждый сигнал может принимать одно из двух значений: 0 или 1, комбинации 00, 01, 10 и 11 позволяют задать адрес четырех банков памяти.

Когда выбраны чип и банк памяти, можно получить доступ к требуемой ячейке памяти, задав адрес столбца и строки. Адрес строки и столбца передается по специальной мультиплексированной шине адреса MA (Multiplexed Address).

Для считывания адреса строки на входы матрицы памяти подается специальный стробирующий импульс RAS (Row Address Strobe). Если точнее, то этот импульс представляет собой изменение уровня сигнала с высокого на низкий, то есть при переходе сигнала RAS с высокого уровня на низкий возможно считывание адреса строки.

Рис. 2. Диаграмма команд RAM-памяти

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

Аналогичным образом считывание адреса столбца происходит при изменении уровня сигнала (стробирующего импульса) CAS# (Column Address Strobe) с высокого значения на низкое и синхронизовано с положительным фронтом тактирующего импульса.

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

Импульсы RAS# и CAS# подаются последовательно друг за другом, причем импульс CAS# всегда следует за импульсом RAS#, то есть сначала происходит выбор строки, а затем — выбор столбца.

После считывания адреса строки и столбца ячейки памяти к ней возможен доступ для чтения или записи информации. Эти операции подобны друг другу, но для записи используется специальный разрешающий сигнал (стробирующий импульс) WE# (Write Enable). Если сигнал по напряжению меняется с высокого уровня на низкий, то в выбранную ячейку происходит запись информации. Если же сигнал WE# остается высоким, то происходит считывание информации с выбранной ячейки.

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

Таблица 1. Команды, используемые для записи или чтения ячеек памяти

Характеристики памяти

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

Для того чтобы определить пропускную способность памяти, нужно умножить частоту системной шины на количество байт, передаваемых за один такт. Память SDRAM имеет 64-битную (8-байтную) шину данных.

К примеру, память DDR400 имеет пропускную способность 400 МГц х 8 байт = 3,2 Гбайт/с. Если память работает в двухканальном режиме, то теоретическая пропускная способность памяти удваивается, то есть для памяти DDR400 в двухканальном режиме она составляет 6,4 Гбайт/с. Теоретическая пропускная способность для различных типов памяти отображена в табл. 2.

Казалось бы, чем больше пропускная способность памяти, тем лучше. Отчасти это справедливо, но лишь отчасти. Дело в том, что пропускная способность памяти должна быть сбалансирована с пропускной способностью процессорной шины. И если пропускная способность памяти превосходит пропускную способность процессорной шины, то именно процессорная шина становится узким местом в системе, ограничивая возможности памяти. Если рассматривать процессор Intel Pentium 4 или новые двухъядерные процессоры Intel Pentium D, то тактовая частота процессорной шины составляет 800 или 1066 МГц. Учитывая, что ширина шины составляет 64 бит (или 8 байт), получаем, что пропускная способность процессорной шины составляет 6,4 или 8,5 Гбайт/с. Из этого следует, что если в системе используется процессор с частотой FSB 800 МГц, то в одноканальном режиме для сбалансированного решения достаточно использовать память DDR2-800, а в двухканальном — DDR2-400.

Таблица 2. Соответствие типа памяти и теоретической пропускной способности

Аналогичным образом, если в системе используется процессор с частотой FSB 1066 МГц, то в одноканальном режиме для сбалансированного решения потребуется использовать память DDR2-1066, а в двухканальном — достаточно памяти DDR2-533.

С учетом того, что типичной ситуацией является использование памяти в двухканальном режиме, память DDR2-533 вполне обеспечивает сбалансированное решение.

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

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

Латентность памяти, которая определяется ее таймингами, — это задержки, измеряемые в количествах тактов, между отдельными командами. Рассмотрим тайминги памяти более подробно. На рис. 3 показана последовательность команд при чтении или записи данных в память. Первоначально происходит активация нужной строки памяти (команда ACTIVE), для чего сигнал RAS переводится в низкий уровень и происходит считывание адреса строки. Далее следует команда записи (WRITE) или чтения (READ) данных, для чего сигнал CAS переводится в низкий уровень и в надлежащий уровень устанавливается сигнал WE. При установке CAS в низкий уровень после прихода положительного фронта тактирующего импульса происходит выборка адреса столбца, наличествующего в данный момент на шине адреса, и открывается доступ к нужному столбцу матрицы памяти. Однако команда чтения или записи не может следовать непосредственно за командой активации — требуется, чтобы между этими командами, то есть между импульсами RAS и CAS, существовал некий промежуток времени RAS to CAS Delay (задержка сигнала CAS относительно сигнала RAS). Эту задержку, измеряемую в тактах системной шины, принято обозначать tRCD.

Рис. 3. Блок-схема последовательности команд RAM-памяти

После команды чтения (записи) данных и до выдачи первого элемента данных на шину (записи данных в ячейку памяти) проходит промежуток времени, который называется CAS Latency. Эта задержка измеряется в тактах системной шины и обозначается tCL Каждый последующий элемент данных появляется на шине данных в очередном такте.

Завершение цикла обращения к банку памяти осуществляется подачей команды PRECHARGE, приводящей к закрытию строки памяти. После команды PRECHARGE и до поступления новой команды активации строки памяти должен пройти промежуток времени (tRP), называемый Row Precharge.

Еще один тип задержки, называемый ACTIVE to PRECHARGE delay, — это промежуток времени между командой активации строки памяти и командой PRECHARGE. Эта задержка обозначается tRAS и измеряется в тактах системной шины.

Ну и последний тип задержки, который необходимо упомянуть, — это скорость выполнения команд (Command Rate). Command Rate — это задержка в тактах системной шины между командой CS# выбора чипа и командой активации строки. Как правило, задержка Command Rate составляет один или два такта (1Т или 2Т).

Описанные задержки — RAS to CAS Delay (tRCD), CAS Latency (tCL) и Row Precharge (tRP) — определяют тайминги памяти, записываемые в виде последовательности tCLtRCDtRPtRASCommand Rate. К примеру, для модуля DDR400 (РС3200) тайминги могут быть следующими: 2-3-4-5-(1Т). Это означает, что для данного модуля CAS Latency (tCL) составляет 2 такта, RAS to CAS Delay (tRCD) — 3 такта, Row Precharge (tRP) — 4 такта, ACTIVE to PRECHARGE delay (tRAS) — 5 тактов и Command Rate — 1 такт.

Понятно, что чем меньше тайминги, тем более быстродействующей является память. Поэтому если сравнивать память с таймингом 3-3-3-5-(1Т) и память с таймингом 3-2-2-5-(1Т), то последняя оказывается более быстродействующей.

Память SDR

Разобравшись с такими важными характеристиками памяти, как ее тайминги, можно перейти непосредственно к принципам работы памяти. Начнем с синхронной SDRAM-памяти типа SDR (Single Data Rate).

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

Рис. 4. Временная диаграмма работы SDR SDRAM-памяти

Наиболее распространенными типами SDRAM-памяти до недавнего времени являлись РС100 и РС133. Цифры 100 и 133 определяют частоту системной шины в мегагерцах (МГц), которую поддерживает эта память. По внутренней архитектуре, способам управления и внешнему дизайну модули памяти РС100 и РС133 полностью идентичны.

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

В SDRAM-памяти ядро и буферы обмена работают в синхронном режиме на одной и той же частоте (100 или 133 МГц). Передача каждого бита из буфера происходит с каждым тактом работы ядра памяти.

Временная диаграмма работы памяти SDR SDRAM показана на рис. 4.

Память DDR

Память DDR SDRAM, которая пришла на смену памяти SDR, обеспечивает в два раза большую пропускную способность. Аббревиатура DDR (Double Data Rate) в названии памяти означает удвоенную скорость передачи данных. В DDR-памяти каждый буфер ввода-вывода передает два бита за один такт, то есть фактически работает на удвоенной тактовой частоте, оставаясь при этом полностью синхронизированным с ядром памяти. Такой режим работы возможен в случае, если эти два бита доступны буферу ввода-вывода на каждом такте работы памяти. Для этого требуется, чтобы каждая команда чтения приводила к передаче из ядра памяти в буфер сразу двух бит. С этой целью используются две независимые линии передачи от ядра памяти к буферам ввода-вывода, откуда биты поступают на шину данных в требуемом порядке.

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

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

Рис. 5. Временная диаграмма работы DDR SDRAM-памяти

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

Память DDR2

Если следовать терминологии SDR (Single Data Rate), DDR (Double Data Rate), то память DDR2 было бы логично назвать QDR (Quadra Data Rate), поскольку этот стандарт подразумевает в четыре раза большую скорость передачи, то есть в стандарте DDR2 при пакетном режиме доступа данные передаются четыре раза за один такт. Для организации данного режима работы памяти необходимо, чтобы буфер ввода-вывода работал на учетверенной частоте по сравнению с частотой ядра памяти. Достигается это следующим образом: ядро памяти, как и прежде, синхронизируется по положительному фронту тактирующих импульсов, а с приходом каждого положительного фронта по четырем независимым линиям в буфер ввода-вывода передаются четыре бита информации (выборка четырех битов за такт). Сам буфер ввода-вывода тактируется на удвоенной частоте ядра памяти и синхронизируется как по положительному, так и по отрицательному фронту этой частоты. Иными словами, с приходом положительного и отрицательного фронтов происходит передача битов в мультиплексном режиме на шину данных (рис. 6). Это позволяет за каждый такт работы ядра памяти передавать четыре бита на шину данных, то есть вчетверо повысить пропускную способность памяти.

Рис. 6. Временная диаграмма работы памяти DDR2 SDRAM

По сравнению с памятью DDR, память DDR2 позволяет обеспечить ту же пропускную способность, но при вдвое меньшей частоте ядра. К примеру, в памяти DDR400 ядро функционирует на частоте 200 МГц, а в памяти DDR2-400 — на частоте 100 МГц. В этом смысле память DDR2 имеет значительно большие потенциальные возможности для увеличения пропускной способности по сравнению с памятью DDR.


 

А также другие работы, которые могут Вас заинтересовать

71169. Создание модели эффективного электронного документооборота и его внедрение на предприятии 486.5 KB
  Как показывают современные исследования 85 рабочего времени сотрудников организаций тратится на подготовку сопровождение заполнение копирование и передачу документов. Рост объемов информации и соответственно документов потребовал внедрения техники для своевременной обработки документов...
71170. Деятельность Ивана IV в 60 – 70 годы. Сущность опричнины, содержание опричнины 265.5 KB
  В силу неблагоприятных исторических условий, среди которых немаловажную роль играло страшное татарское нашествие, Русское государство несколько отставало в своем развитии от европейских стран. Губительные последствия иноземного ига давали о себе знать в течении длительного времени.
71172. Формирование мотивации и стимулирование труда в системе управления персоналом на примере ФГБУП “Дмитровский экскаваторный завод при спецстрое россии” 403 KB
  Неэффективная система мотивации может вызвать у работников неудовлетворенность что всегда влечет снижение производительности труда. Путь к эффективному управлению человеком лежит через понимание его мотивации.
71174. Пути совершенствования системы управления персоналом в АО «Желаевское КХП» 604 KB
  Актуальность темы научных исследований по изучению системы управления персоналом возникает во многих организациях и обусловлена развитием инфраструктуры рынка, изменением характера выполняемых работ и содержанием труда.
71175. ЭФФЕКТИВНОСТЬ ПЕДАГОГИЧЕСКИХ ПРИЕМОВ ДЛЯ РАЗВИТИЯ МЕЛКОЙ МОТОРИКИ ДЕТЕЙ СРЕДНЕГО ДОШКОЛЬНОГО ВОЗРАСТА 84.75 KB
  Актуальность исследования. В настоящее время актуальной проблемой становится полноценное развитие детей уже с дошкольного возраста. Немаловажную роль в успешности психофизического и интеллектуального развития ребенка играет сформированная мелкая моторика.
71177. ПЕРСПЕКТИВИ ВИРІШЕННЯ ПРОБЛЕМ СТАЛОГО РОЗВИКУ КРАЇН ЗОНИ ЄВРО 482.9 KB
  У багатьох людей, саме словосполучення «сталий розвиток» викликає багато питань. Дійсно, не можна привести жодного прикладу сталого розвитку як якого-небудь об’єкта. Більш того, немає такого фізичного закону, на якому можна було б побудувати теорію сталого розвитку.