Из этой статьи вы узнаете, какими же преимуществами обладают «мозги» нового поколения, и как полученные изменения повлияют на производительность памяти. Однако для начала — небольшой экскурс в историю.
О стандарте SDRAM и модулях памяти
Первые модули SDRAM появились еще в 1993 году. Их выпустила компания Samsung. А уже к 2000 году память SDRAM за счет производственных мощностей корейского гиганта полностью вытеснила с рынка стандарт DRAM.
Аббревиатура SDRAM расшифровывается как Synchronous Dynamic Random Access Memory. Дословно это можно перевести как «синхронная динамическая память с произвольным доступом». Поясним значение каждой характеристики. Динамической память является потому, что в силу малой емкости конденсаторов она постоянно требует обновления. К слову, кроме динамической, также существует и статическая память, которая не требует постоянного обновления данных (SRAM). SRAM, например, лежит в основе кэш-памяти. Помимо динамической, память также является синхронной, в отличие от асинхронной DRAM. Синхронность заключается в том, что память выполняет каждую операцию известное число времени (или тактов). Например, при запросе каких-либо данных контроллер памяти точно знает, сколько времени они будут до него добираться. Свойство синхронности позволяет управлять потоком данных и выстраивать их в очередь. Ну и пару слов о «памяти с произвольным доступом» (RAM). Это означает, что единовременно можно получить доступ к любой ячейке по ее адресу на чтение или запись, причем всегда за одно и то же время вне зависимости от расположения.
Если говорить непосредственно о конструкции памяти, то ее ячейками являются конденсаторы. Если заряд в конденсаторе есть, то процессор расценивает его как логическую единицу. Если заряда нет — как логический ноль. Такие ячейки памяти имеют плоскую структуру, а адрес каждой из них определяется как номер строки и столбца таблицы.
В каждом чипе находится несколько независимых массивов памяти, которые представляют собой таблицы. Их называют банками. В единицу времени можно работать только с одной ячейкой в банке, однако существует возможность работы сразу с несколькими банками. Записываемая информация необязательно должна храниться в одном массиве. Зачастую она разбивается на несколько частей и записывается в разные банки, причем процессор продолжает считать эти данные единым целым. Такой способ записи называется interleaving. В теории, чем больше в памяти таких банков, тем лучше. На практике модули с плотностью до 64 Мбит имеют два банка. С плотностью от 64 Мбит до 1 Гбит — четыре, а с плотностью 1 Гбит и выше — уже восемь.
И несколько слов о строении модуля памяти. Сам по себе модуль памяти представляет собой печатную плату с распаянными на ней чипами. Как правило, в продаже можно встретить устройства, выполненные в форм-факторах DIMM (Dual In-line Memory Module) или SO-DIMM (Small Outline Dual In-line Memory Module). Первый предназначается для использования в полноценных настольных компьютерах, а второй — для установки в ноутбуки. Несмотря на один и тот же форм-фактор, модули памяти разных поколений отличаются количеством контактов. Например, решение SDRAM имеет 144 пина для подключения к материнской плате, DDR — 184, DDR2 — 214 пинов, DDR3 — 240, а DDR4 — уже 288 штук. Конечно, речь в данном случае идет о DIMM-модулях. Устройства, выполненные в форм-факторе SO-DIMM, само собой имеют меньшее число контактов в силу своих меньших размеров. Например, модуль памяти DDR4 SO-DIMM подключается к «материнке» за счет 256 пинов.
Вполне очевидно и то, что объем каждого модуля памяти высчитывается как сумма емкостей каждого распаянного чипа. Чипы памяти, конечно, могут отличаться своей плотностью (или, проще говоря, объемом). К примеру, прошедшей весной компания Samsung наладила серийное производство чипов с плотностью 4 Гбит. Причем в обозримом будущем планируется выпуск памяти с плотностью 8 Гбит. Также модули памяти имеют свою шину. Минимальная ширина шины составляет 64 бит. Это означает, что за такт передается 8 байт информации. При этом нужно отметить, что также существуют 72-битные модули памяти, в которых «лишние» 8 бит отведены для технологии коррекции ошибок ECC (Error Checking & Correction). Кстати, ширина шины модуля памяти также является суммой ширин шин каждого отдельно взятого чипа памяти. То есть, если шина модуля памяти является 64-битной и на планке распаяно восемь чипов, то ширина шины памяти каждого чипа равна 64/8=8 бит.
Чтобы рассчитать теоретическую пропускную способность модуля памяти, можно воспользоваться следующей формулой: A*64/8=ПС, где «А» — это скорость передачи данных, а «ПС» — искомая пропускная способность. В качестве примера можно взять модуль памяти типа DDR3 с частотой 2400 МГц. В таком случае пропускная способность будет равняться 2400*64/8=19200 Мбайт/с. Именно это число имеется в виду в маркировке модуля PC3-19200.
Как же происходит непосредственно чтение информации из памяти? Сначала подается адресный сигнал в соответствующую строку (Row), а уже затем считывается информация из нужного столбца (Column). Информация считывается в так называемый усилитель (Sense Amplifiers) — механизм подзарядки конденсаторов. В большинстве случаев контроллер памяти считывает сразу целый пакет данных (Burst) с каждого бита шины. Соответственно, при записи каждые 64 бита (8 байт) делятся на несколько частей. К слову, существует такое понятие как длина пакета данных (Burst Length). Если эта длина равна 8, то за один раз передается сразу 8*64=512 бит.
Модули и чипы памяти также имеют такую характеристику, как геометрия, или организация (Memory Organization). Геометрия модуля показывает его ширину и глубину. Например, чип с плотностью 512 Мбит и разрядностью (шириной) 4 имеет глубину чипа 512/4=128М. В свою очередь, 128М=32М*4 банка. 32М — это матрица, содержащая 16000 строк и 2000 столбцов. Она может хранить 32 Мбит данных. Что касается самого модуля памяти, то почти всегда его разрядность составляет 64 бита. Глубина же легко высчитывается по следующей формуле: объем модуля умножается на 8 для перевода из байтов в биты, а затем делится на разрядность.
Необходимо сказать несколько слов и о такой характеристике модулей памяти, как тайминги (задержки). В самом начале статьи мы говорили о том, что стандарт SDRAM предусматривает такой момент, что контроллер памяти всегда знает, сколько времени выполняется та или иная операция. Тайминги как раз и указывают время, требующееся на исполнение определенной команды. Это время измеряется в тактах шины памяти. Чем меньше это время, тем лучше. Самыми важными являются следующие задержки:
TRCD (RAS to CAS Delay) — время, которое необходимо для активации строки банка. Минимальное время между командой активации и командой чтения/записи;
CL (CAS Latency) — время между подачей команды чтения и началом передачи данных;
TRAS (Active to Precharge) — время активности строки. Минимальное время между активацией строки и командой закрытия строки;
TRP (Row Precharge) — время, необходимое для закрытия строки;
TRC (Row Cycle time, Activate to Activate/Refresh time) — время между активацией строк одного и того же банка;
TRPD (Active bank A to Active bank B) — время между командами активации для разных банков;
TWR (Write Recovery time) — время между окончанием записи и подачей команды закрытия строки банка;
TWTR (Internal Write to Read Command Delay) — время между окончанием записи и командой чтения.
Конечно, это далеко не все существующие в модулях памяти задержки. Можно перечислить еще добрый десяток всевозможных таймингов, но лишь указанные выше параметры существенно влияют на производительность памяти. Кстати, в маркировке модулей памяти и вовсе указываются только четыре задержки. Например, при параметрах 11-13-13-31 тайминг CL равен 11, TRCD и TRP — 13, а TRAS — 31 такту.
Со временем потенциал SDRAM достигла своего потолка, и производители столкнулись с проблемой повышения быстродействия оперативной памяти. Так на свет появился стандарт DDR.1........
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев