Память DDR3 постепенно становится массовой. Уже сегодня все новые материнские платы, поддерживающие новейшие высокопроизводительные процессоры и ориентированные на создание высокопроизводительных ПК, рассчитаны именно на память DDR3.
«Как же так? — спросите вы. — Ведь материнские платы, поддерживающие новейшие процессоры AMD, совместимы только с памятью DDR2». Да, действительно, сегодня процессоры AMD совместимы только с памятью DDR2, однако никакого противоречия в данном случае нет, поскольку мы говорим только о материнских платах, поддерживающих высокопроизводительные процессоры, то есть процессоры Intel.
В скором будущем память DDR3 придет в сегмент массовых, а затем и бюджетных ПК и о памяти DDR2 постепенно забудут точно так же, как в свое время забыли о DDR.
Сегодня память DDR3 пока еще стоит дорого. Причем если сравнивать стоимость модулей равного объема памяти DDR2 и DDR3, то можно сказать, что цена памяти DDR3 неоправданно высока.
Понятно, что стоимость памяти зависит и от производителя, и от частоты, и от таймингов. И естественно, что более скоростная память, то есть память, поддерживающая более высокие тактовые частоты и имеющая меньшее значение таймингов, будет стоить гораздо дороже низкоскоростной памяти. Но настолько ли критичны для памяти DDR3 тактовая частота и значения таймингов? Возможно, высокие тактовые частоты — это не что иное, как очередная рекламная «утка» производителей.
В данной статье мы постараемся выяснить, как влияют тактовая частота, тайминги и режим работы памяти (двухканальный, одноканальный) на реальную производительность компьютера. Кроме того, мы попытаемся понять, стоит ли переплачивать за высокоскоростную память и адекватен ли прирост производительности от использования высокоскоростной памяти заплаченным за это деньгам.
Но прежде, чем переходить к обсуждению методики и результатов тестирования, нам придется сделать небольшое отступление от темы, дабы разговаривать в дальнейшем на одном языке. Итак, давайте вкратце напомним основе аспекты, связанные с оперативной памятью.
Принципы функционирования SDRAM-памяти
Подробный рассказ о принципах функционирования оперативной памяти (SDRAM-памяти) потребовал бы от нас написания отдельной книги. Собственно, в этой статье мы не ставим целью во всех деталях изложить принципы функционирования SDRAM-памяти, но в то же время без базовых знаний, касающихся принципов функционирования SDRAM-памяти, дальнейшее изложение материала может показаться слишком мудреным. А потому попробуем освежить в памяти основные теоретические аспекты.
Строение ядра памяти
Итак, напомним, что вся современная оперативная память относится к синхронной динамической памяти с произвольным доступом (Synchronous Dynamic Random Access Memory, SDRAM). Под синхронностью в данном случае понимают тот факт, что все управляющие сигналы и сами данные на шине памяти синхронизированы с некоторой опорной частотой (тактирующими импульсами). Динамической память является в том смысле, что информация в ней сохраняется только при включенном питании, а кроме того, содержимое этой памяти (в отличие от статической памяти) необходимо периодически обновлять (производить регенерацию памяти).
Ядро микросхемы SDRAM-памяти принято рассматривать как некий двумерный массив (матрицу) ячеек памяти, находящихся на пересечении строк (Row) и столбцов (Column) (столбцы матрицы памяти также иногда называют страницами (Page)). По сути, ячейки памяти подсоединены к линиям строк и линиям столбцов (рис. 1).
Рис. 1. Структура матрицы памяти
На элементарном уровне запоминающая ячейка SDRAM-памяти, способная запомнить 1 бит информации, представляет собой конденсатор, который выполняет функцию хранителя заряда. Наличие заряда на конденсаторе можно ассоциировать с единичным битом информации, а его отсутствие — с нулевым битом.
Однако одного лишь конденсатора недостаточно для формирования ячейки памяти. Дело в том, что если конденсатор соединить с линией строк и линией столбцов, то он мгновенно разрядится, то есть не сможет сохранять информацию. Поэтому в паре с конденсатором в элементарной ячейке памяти применяется транзистор, выполняющий функцию электронного ключа (рис. 2). Затвор транзистора (управляющий электрод) подключается к линии строк, а остальные два электрода (сток и исток) подключены к одной из обкладок конденсатора и линии столбцов. Если на затвор транзистора не подается напряжение, то транзистор находится в запертом состоянии и конденсатор физически отсоединен от линии столбцов.
Рис. 2. Структура элементарной ячейки динамической памяти
При подаче напряжения на затвор транзистора он переходит в открытое состояние и конденсатор подключается к линии столбцов. В результате происходит разряд конденсатора и заряд, хранящийся на конденсаторе данной ячейки, поступает в особый статический буфер, называемый усилителем уровня (Sense Amplifier), который установлен на выходе линии столбца. Отсутствие заряда на обкладках соответствует логическому нулю на выходе, а его наличие — логической единице.
Поскольку считывание содержимого ячейки памяти происходит при подаче напряжения на линию строк, что эквивалентно открытию транзистора (линии строк также называют адресными линиями). Линии столбцов, по которым считывается информация, называют линиями данных.
Сама по себе операция чтения данных из ячейки памяти деструктивна в том смысле, что если на конденсаторе содержался заряд (ячейка памяти хранила логическую единицу), то в ходе считывания конденсатор разрядится и значение ячейки памяти будет соответствовать уже логическому нулю.
Более того, в силу организации памяти как двумерного массива элементов подача напряжения на линию строк (открытие строки) приводит к тому, что открывается не один, а все транзисторы, соединенные с этой линией строк, и данные окажутся на выходе усилителей по всем столбцам сразу. То есть при открытии строки считывается вся страница памяти целиком, а для чтения значения конкретной ячейки памяти необходимо просто считать значения усилителя нужной линии данных (линии столбца).
Итак, после краткого знакомства с устройством ячейки памяти и организацией памяти давайте рассмотрим, каким образом происходит считывание информации, то есть доступ к ячейке памяти.
Для доступа к ячейке памяти прежде всего необходимо знать ее адрес, то есть знать, на пересечении какой строки и какого столбца расположена нужная ячейка памяти. Адреса строки и столбца передаются по одним и тем же адресным линиям, что позволяет вдвое уменьшить количество адресных линий, а следовательно, уменьшить количество выводов микросхемы памяти. Правда, в этом случае для задания адреса ячейки памяти требуется в два раза больше времени, поскольку адреса столбца и строки приходится передавать последовательно. Кроме того, микросхеме памяти необходимо каким-то образом указать, чей именно адрес передается по адресной шине. Для этого используются два специальных управляющих сигнала: RAS# и CAS#. RAS# — это сигнал выбора строки (Row Access Strobe), а CAS# — сигнал выбора столбца (Column Access Strobe). В случае если доступ к ячейке памяти не осуществляется, поддерживается высокий уровень сигналов RAS# и CAS#, что говорит об отсутствии информации на адресной шине.
Если требуется осуществить доступ к ячейке памяти, первоначально на адресные линии микросхемы памяти подается адрес строки и одновременно с этим уровень сигнала RAS# переводится в низкое состояние (подача сигнала RAS#). При этом микросхема памяти помещает адрес с шины адреса в буфер адреса строки. Далее производится выбор нужной строки (за это отвечает декодер адреса строки), то есть на нужную строку матрицы памяти подается напряжение и все транзисторы, соединенные с данной строкой, переходят в открытое состояние, а содержимое всей строки помещается в усилитель уровня. Такая операция называется активацией строки.
Далее по адресной шине передается адрес столбца и одновременно с этим уровень сигнала CAS# переводится в низкое состояние (подача сигнала CAS#). При этом микросхема памяти помещает адрес с шины адреса в буфер адреса столбца. После этого усилитель уровня передает данные, соответствующие адресу столбца в буфер вывода.
Отметим, что в SDRAM-памяти реализована пакетная обработка данных, что позволяет производить обращение по новому адресу столбца ячейки памяти на каждом тактовом цикле. Смысл пакетной обработки заключается в том, при активированной строке задание адреса одного столбца позволяет получить доступ сразу к последовательности нескольких столбцов (пакету столбцов) без дополнительного указания их адресов. В микросхеме SDRAM имеется счетчик для наращивания адресов столбцов ячеек памяти, чтобы обеспечить к ним быстрый доступ. Количество адресуемых таким образом столбцов называется длиной пакета (Burst Length, BL).
Поскольку активация строки является деструктивной операцией, то после считывания данных строки их необходимо восстановить в строке. Эта операция называется перезарядкой строки (PRACHARGE). Поэтому на заключительном этапе сигналы RAS# и CAS# устанавливаются в высокое состояние, а микросхема памяти производит восстановление содержимого строки.
Как видим, доступ к ячейке памяти происходит в строго определенной последовательности и требует некоторого времени. Задержки между подачей сигналов измеряются в тактах системной шины и называются таймингами. К примеру, задержка между сигналами RAS# и CAS#, то есть между сигналами выбора строки и выбора столбца, называется RAS-to-CAS Delay (tRCD). Впрочем, более подробно о таймингах памяти мы расскажем далее, а пока рассмотрим логическую организацию микросхемы памяти.
Логическая организация микросхем динамической памяти
Итак, теперь попытаемся представить себе, как может выглядеть микросхема памяти объемом, к примеру, 512 Мбит. В такой микросхеме должно быть 536 870 912 ячеек памяти, и если предположить, что все ячейки памяти представляют собой прямоугольную матрицу, то в ней должно быть 16 384 строки и 32 768 столбцов (или наоборот). Для задания адреса строки/столбца в микросхемах памяти применяется 14-разрядная адресная шина (A0-A13), что позволяет адресовать 16 384 строки или столбца, но не более. Как видите, в нашем случае ограничения по разрядности адресной шины не позволяют нам организовать микросхему памяти емкостью 512 Мбит в виде одной матрицы памяти.
Для того чтобы иметь возможность создавать емкие микросхемы памяти с использованием ограниченной разрядности адресной шины, в одной микросхеме реализуют несколько отдельных параллельных матриц запоминающих ячеек, имеющих один адрес. В этом случае размерность шины данных микросхемы памяти не будет равна единице, как в случае с одной матрицей памяти, когда данные считываются или записываются в матрицу последовательно по одному биту, — она будет соответствовать количеству матриц памяти в микросхеме.
Кроме того, что такой подход позволяет увеличивать емкость отдельной микросхемы памяти без увеличения разрядности адресной шины, он дает возможность уменьшить количество микросхем памяти в модуле памяти и упростить их электрические соединения друг с другом. Действительно, разрядность шины данных модулей памяти составляет 64 бита. Если модуль памяти составлять из отдельных микросхем с разрядностью шины данных, равной 1 биту, то потребовалось бы 64 отдельных микросхем!
Наиболее популярными оказались варианты, когда микросхема памяти имеет разрядность, равную 4, 8 или 16 бит (иногда встречаются микросхемы памяти с разрядностью 32 бит). К примеру, микросхему памяти емкостью 512 Мбит можно организовать как четыре матрицы по 128 Мбит. В этом случае структура микросхемы памяти обозначается как 128Мx4. Первая из этих цифр называется глубиной микросхемы памяти (безразмерная величина), а вторая — шириной (выраженная в битах).
Отметим, что в данном случае 4 бита — это разрядность шины данных микросхемы памяти, причем все четыре информационных бита будут считываться или записывать в микросхему памяти одновременно (рис. 3).
Рис. 3. Логическая организация микросхемы памяти
Кроме физической организации микросхемы памяти в виде нескольких параллельных матриц памяти, применяется еще логическое разделение микросхемы памяти на отдельные логические банки. Как правило, используется деление на две или четыре логических банка. Для выбора того или иного логического банка памяти используются специальные адресные линии. К примеру, если в микросхеме памяти имеются четыре логических банка, то для выбора отдельного банка памяти применяются две адресные линии: BA0 и BA1 (рис. 4).
Рис. 4. Упрощенная схема чипа памяти с шириной шины данных 8 бит
Разбиение микросхемы памяти на логические банки применяется для повышения производительности. Дело в том, что после реализации любой операции со строкой памяти требуется определенное время для ее обновления. Если используется логическое разбиение микросхемы памяти на несколько банков, то можно обращаться к строке одного логического банка, пока строка другого банка обновляется. Такая схема доступа к памяти называется доступом с чередованием банков (Bank Interleave).
Комментарии (0)