Технологія SDRAM від SDR до DDR4

  • 3 Лют 2015
  • Статті

Нам постійно надходить енна кількість листів з проханням розповісти про принципи роботи оперативної пам'яті. Питання стандартні: "Що таке таймінги?", "Чим відрізняється DDR2 від DDR3?", "Як утворюється частота оперативної пам'яті?". І нехай ця тема стара як світ, проте на прохання трудящих я підніму її ще раз.

"Стара як світ ...", - це ще слабо сказано. Оперативна пам'ять поряд із процесором та системною платою є старожилом будь-якої ЕОМ. Спочатку на задвірках комп'ютерного розвитку був такий термін, як платформа (він і зараз є, але має дещо інший зміст). Саме під платформою і мали на увазі ці три «залізниці». Час минав, комп'ютерні комплектуючі розвивалися. Але досі процесор, системна плата та ОЗУ залишаються непорушними частинами будь-якого ПК. Непорушними! І без оперативної пам'яті сьогодні, як і раніше, не обійтися.

Принцип роботи та «місія» ОЗУ проста до неподобства. Модуль пам'яті є сполучною ланкою між ПЗП (читай HDD/SSD) і центральним процесором. І потрібні «мозки» комп'ютеру через те, що сучасні накопичувачі (навіть твердотільні!) не мають тих швидкісних якостей, що й SDRAM. У свою чергу, оперативка має невеликі обсяги (щодо ПЗП) і високу пропускну здатність. Саме тому її і назвали «оперативною». Тобто тій, що швидко, майже миттєво постачає дані до центрального процесора. До того ж самі масиви матриць (математичні), текстури, сценарії ігор та інші дані простіше відразу підвантажити в оперативну пам'ять і там їх обробляти. Саме тому обсяг ОЗП має чи не першорядне значення. Але про це трохи згодом.

Для порівняння, швидкість читання жорсткого диска на сьогоднішній деньдосягає 100-150 Мбайт/с. Продуктивність твердотільного накопичувача – 500-600 Мбайт/с.

А швидкість модуля DDR3-1600 знаходиться на позначці 25.6 Гбайт/с. Відчуваєш різницю? Тим часом, рекорд належить SRAM-пам'яті. Наприклад, кеш першого рівня процесора Intel Core i7-3960X може похвалитися швидкістю близько 120 Гбайт/с.

Власне, ось я і дійшов до SDRAM. Ця абревіатура розшифровується як Synchronous Dynamic Random Access Memory – синхронна динамічна пам'ять із довільним доступом. Динамічна, тому що пам'ять постійно потребує оновлення через малу ємність конденсаторів (є і статична пам'ять, яка не потребує оновлення, але про неї я сьогодні замовчу). Синхронна, тому що пам'ять виконує кожну операцію певну кількість часу (читай - тактів). Чисто технічно це виглядає так: контролер пам'яті подає запит і чекає необхідні дані (причому знає, скільки часу ці дані до нього добиратися). Саме синхронність дозволяє керувати потоком даних, вибудовуючи їх у ряд, утворюючи конвеєр.

Модуль пам'яті

Під модулем пам'яті ми маємо на увазі друковану плату з розпаяними на ній чіпами. Для настільного сегмента, як правило, використовуються модулі пам'яті форм-фактора DIMM (Dual In-line Memory Modules) та SO-DIMM (Small Outline Dual In-line Memory Module). Перші – для повноцінних десктопів, другі – для ноутбуків. Крім того, на друкованій платі розміщено енергонезалежну пам'ять (для зберігання SPD). Модуль пам'яті SDR має 144 піни для підключення до системної плати; DDR має 172 контакти; DDR2 — 214 пінів, а DDR3 — усі 240. A SO-DIMM, у свою чергу, має у своєму розпорядженні 204 контакти.

Обсяг модуля пам'яті дорівнює сумі обсягів чіпів, що використовуються в ньому. Причому чіпи бувають різнимигустини. Усі модулі пам'яті мають щонайменше 64-бітну шину. Є ще 72-бітові модулі з корекцією помилок (ЕСС), в яких 8 біт призначено безпосередньо для цієї корекції. Отже, модулі пам'яті передають за такт 8 байт інформації. У результаті легко розрахувати теоретичну пропускну здатність модуля пам'яті за такою формулою: А * 64/8 = ПС, де "А" - швидкість передачі даних, а "ПС" - шукана пропускна здатність. Наприклад, модуль з ефективною частотою 800 МГц має продуктивність 800*64/8=6400 Мбайт/с. Саме це значення записують у технічних характеристиках пристрою під виглядом РС2-6400. Так, модуль пам'яті DDR3 з формулюванням РСЗ-20000 повинен працювати на частоті 20000*8/64=2500 МГц.

Ширина шини модуля пам'яті дорівнює сумі ширин шин чипів цього модуля. Тому, якщо на модулі розпаяно чотири чіпи, ширина кожного дорівнює 64/4=16 біт. Якщо 8 чіпів, то 64/8 = 4 біти. При тому, що багато материнських плат підтримують до 64 Гбайт ОЗУ, на сьогоднішній день у продажу є модулі об'ємом 8 Гбайт. Розпаяно на них 16 чіпів. Відповідно, на кожен чіп припадає 64/16 = 4 біт шини, тобто кожен чіп має щільність 4096 Мбіт.

Найчастіше контролер пам'яті зчитує одночасно цілий пакет даних (Burst) з кожного біта шини. Відповідно, при записі кожні 64 біти чи 8 байт діляться кілька частин. Існує таке поняття, як Burst length (довжина пакета). Якщо BL, наприклад, дорівнює восьми, то передається відразу 8*64=512 біт за один раз.

У результаті ми отримуємо архітектуру чіпа: з розрядністю (шириною) шини та глибиною чіпа. Чіп щільністю 512 Мбіт та розрядністю 4 має глибину чіпа 512/4=128М. Натомість, 128М=32М*4 банку. 32М - це матриця, що має 16 ТОВ рядків і 2000 стовпців, яка може зберігати 32 Мбітданих. Все взаємопов'язано.

Модуль пам'яті може бути представлений і в геометричній формі, де ширина завжди дорівнює 64 біт, а глибина обсягу модуля в бітах, поділеному на 64 біт.

Від SDR до DDR

Зрештою, що ми маємо? Модуль пам'яті SDR-100 МГц ємністю 256 Мбайт - це друкована плата з 144 контактами, 4 чіпами, що працюють на частоті 100 МГц. Тобто швидкість передачі дорівнює 100 МГц. Але згодом виробники пам'яті зіштовхнулися із прогнозованою проблемою: чіпи пам'яті не могли працювати на більшій частоті. Дилему можна було вирішити збільшенням розрядності модуля (тобто збільшенням

числа чипів), але цей вихід із ситуації не на краще позначився б на вартості виробництва ОЗУ. Тоді JEDEC вирішили піти іншим шляхом: збільшити ширину шини всередині самого чіпа пам'яті, але залишити його працювати на колишній частоті, а інформацію доставляти і забирати по шині з подвоєною частотою і колишньою шириною. Також дані стали передаватися не один раз за такт, а відразу два рази за такт - по обох фронтах тактового сигналу (спадаючий і наростаючий). Так і з'явилася оперативна пам'ять стандарту DDR ​​(Double Data Rate), що в перекладі з англійської означає подвоєну швидкість передачі даних.

У результаті у випадку з технологією DDR ми бачимо, що ми не можемо вважати менш ніж два пакети даних, оскільки всередині чіп буде бачити його як єдине ціле, один пакет. Така архітектура отримала назву 2″ prefect, де п – цифра (ступінь), що означає покоління DDR (DDR1, DDR2, DDR3, DDR4). Вона показує, скільки даних (читай - пакетів) за раз вибирається під час читання.

Від DDR до DDR4

Якщо у модулів SDR показники зчитувалися в мегагерцах, то у DDR ​​– у мільйонах передач за секунду через один вихід даних! Тому запис "DDR 400 МГц" невідповідає дійсності і позбавлена ​​здорового глузду. Хоча б тому, що шина модуля пам'яті DDR-400 працює на реальній частоті 200 МГц і передає дані двічі за такт. Тим не менш, у виробників пам'яті склалося стійке відчуття, що треба використовувати термін "мегагерц". Так коротше та апетитніше для покупців. Адже як звучить та зачаровує: модуль пам'яті з частотою 2800 МГц! Саме тому з'явилися такі поняття, як реальна та ефективна частота модуля пам'яті. Реальна частота – частота шини модуля: ефективна – подвоєна частота шини модуля.

Згідно з архітектурою 2Л prefect, оперативна пам'ять DDR2 має внутрішню шину вчетверо більшу за розрядність. Плюс зростання продуктивності чіпа стали передавати по зовнішній шині з подвоєною частотою. У результаті, якщо у DDR-400 чіп працював на швидкості 200 МГц, то у DDR2-400 - на швидкості 100 МГц, але з удвічі більшою внутрішньою шиною. Відповідно, у DDR2-800 чіп працюватиме на частоті 200 МГц, у DDR2-1066 - на частоті 266.6 МГц. У DDR3-800 частота чіпа стане вже 100 МГц, внутрішня шина буде вже у вісім разів більшою, а зовнішня частота не зміниться і залишиться рівною 400 МГц.

Легко здогадатися, що оперативна пам'ять DDR4 згідно з архітектурою 2n prefect матиме внутрішню шину в 16 разів більше за розрядність, а зовнішня частота залишиться колишньою. І якщо чіп DDR4-1600 працюватиме із частотою 100 МГц, то зовнішня реальна частота становитиме 800 МГц.

У результаті який висновок ми можемо зробити? Виходить, що продуктивність DDR пам'яті залежить від пропускної здатності, але не від технології. З кожним новим поколінням збільшуватиметься довжина мінімального пакету даних Burst length. Якщо DDR вона становила не менше 128 біт, то з DDR2 ми не могли рахувати з одного модуля менше 256біт (BL=4), і з DDR3 — щонайменше 512 біт (BL=8). Для DDR4 вибірка становитиме 16 пакетів чи 1024 біт даних. Звичайно, зміна поколінь DDR супроводжується не лише збільшенням Burst length

та збільшенням зовнішньої частоти. Корпорації із виробництва оперативної пам'яті освоюють нові техпроцеси. Щільність чіпів невпинно зростає, як і частоти. У цьому зменшується енергоспоживання. Якщо модуль DDR свого часу споживав 2.5 В, DDR2 - 2 В, то модуль пам'яті DDR3 споживає всього 1.35 В. А перехід на DDR4 означатиме, що модуль пам'яті споживатиме в районі одного вольта.