Динамічна пам'ять складається з ядра (масиву ЗЕ) та інтерфейсної логіки (буферних регістрів, підсилювачів читання даних, схеми регенерації та ін.). Хоча кількість видів DRAM вже перевищила два десятки, ядро в них організоване практично однаково. Головні відмінності зв'язані з інтерфейсною логікою, причому ці відмінності обумовлені також і областю використання мікросхем, наприклад, ІМС динамічної пам'яті входять і в склад відеоадаптерів.

29.1 Класифікація  динамічної  пам'яті

Основним критерієм, за яким можна класифікувати запам'ятовуючі пристрої основної пам'яті, є спосіб синхронізації. За цим принципом всі ОЗП поділяються на синхронні і асинхронні (рис. 29.1).

В мікросхемах, де реалізований синхронний принцип, процеси читання і запису виконуються одночасно за тактовими сигналами контролера пам'яті.

Робота ІМС асинхронної пам'яті не прив'язана жорстко до тактових імпульсів системної шини. Тому дані на цій шині з'являються в довільні моменти часу (асинхронно). Слід відзначити, що в асинхронних ЗП цикл читання починається тільки з приходом запиту від контролера пам'яті. Але оскільки контролер пам'яті (і системна шина) – пристрій синхронний, то відлік часу ведеться в тактах. І якщо дані з'являться на виходах ІМС навіть відразу після тактового імпульсу, вони будуть оброблені тільки з приходом наступного імпульсу. Це обмежує можливості асинхронних ІМС.

Більшість з використовуваних у даний час типів мікросхем оперативної пам'яті не в змозі зберігати дані без зовнішнього джерела енергії, тобто є енергозалежними (volatile memory). Широке розповсюдження таких пристроїв пов'язане з рядом їх переваг у порівнянні з енергонезалежними типами ОЗП (non-volatile memory): більшою ємністю, низьким енергоспоживанням, вищою швидкодією і невисокою собівартістю зберігання одиниці інформації. 

Енергозалежні ОЗП можна розділити на дві основні підгрупи: динамічну пам'ять (DRAM – Dynamic Random Access Memory) і статичну пам'ять (SRAM – Static Random Access Memory).

Рисунок 29.1 –  Класифікація динамічних ОЗП


У статичних ОЗП (SRAM) запам'ятовуючий елемент може зберігати записану інформацію необмежено довго (за наявності напруги живлення). Запам'ятовуючий елемент динамічного ОЗП здатний зберігати інформацію тільки протягом достатнього короткого проміжку часу, після якого інформацію потрібно відновлювати наново, інакше вона буде втрачена. Динамічні ЗП, як і статичні, энергозалежні. 

Роль запам'ятовуючого елемента в статичному ОЗП виконує тригер. Запам'ятовуючий елемент динамічної пам'яті значно простіший. Він складається з одного конденсатора і ключового транзистора.

Область застосування статичної і динамічної пам'яті визначається швидкістю і вартістю. Головною перевагою SRAM є вища швидкодія (приблизно на порядок вища, ніж у DRAM). Швидка синхронна SRAM може працювати з часом доступу до інформації, що дорівнює часу одного тактового імпульсу процесора. Проте через малу ємність мікросхем і високу вартість застосування статичної пам'яті, як правило, обмежене відносно невеликою за ємністю кеш-пам'яттю першого (L1), другого (L2) або третього (L3) рівнів. У той же час найшвидші мікросхеми динамічної пам'яті на читання першого байта пакета все ще вимагають від п'яти до десяти тактів процесора, що уповільнює роботу всієї ОМ. Однак завдяки високій щільності упаковки ЗЕ і низькій вартості саме DRAM використовується під час побудові основної пам'яті ОМ.

Розглянемо різні типи мікросхем динамічних ОЗП системних DRAM. На початковому етапі це були мікросхеми асинхронної пам’яті. З розвитком комп'ютерної техніки зростали вимоги до ОЗП. З'явились синхронні ОЗП. 

29.2 Асинхронні  динамічні  ОЗП

У перших мікросхемах динамічної пам'яті застосовувався найбільш простий спосіб обміну даними, який часто називають традиційним (Conventional) з робочою частотою від 4,77 до 40 МГц. Він дозволяв читати і записувати інформацію в ЗЕ тільки за п'ять тактів: адреса рядка; сигнал RAS; адреса стовпця; сигнал CAS; операція читання-запис, яка відповідає значенню лінії WE (Write Enable). 

Для Conventional загальне число тактів, які витрачаються на пересилання 4-х рядків даних (стандартна кількість при обміні даними), дорівнює 20 (5 тактів для доступу за першою адресою; 5 - за другою; 5 за третьою; 5 - за четвертою, тобто схема читання: (5-5-5-5). Тому через свою повільність вони з часом були замінені на більш прогресивні.

Пам'ять типу FPM (Fast Page Mode) або “стандартна сторінкова пам'ять” – це найбільш ранній тип пам'яті, що застосовувався у всіх 286 – 386 комп'ютерах. У ньому реалізований режим посторінкової адресації (fast page mode). Цей режим оснований на тому, що після вибору рядка в ядрі матриці комірок передача даних на вихід і з виходу виконується просто під'єднанням до вхідних-вихідних формувачів даних потрібного «стовпця» (стовпців, якщо розуміти під стовпцем один розряд у матриці ядра). Отже, під час повторних звернень до одного і того ж рядка ядра не потрібно подавати адресу рядка, дешифрувати його, читати рядок. У FPM підвищення швидкості обміну даними досягається завдяки передачі повної адреси (рядка і стовпця) тільки під час першого звернення до пам'яті. Під час інших звернень у межах того ж рядка вказується лише скорочена адреса (тільки стовпці). В результаті втрати часу скорочуються на два такти. Схема читання FPM тепер інша: 5-3-3-3 (разом 14 тактів) навіть на частоті 66МГц. Порівняно з Conventional (20 тактів) це збільшує продуктивність на цілих 70 %.

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

Пам'ять типу EDO. Архітектура EDO (extended data output) або “пам'ять з розширеним часом присутності даних на виході” характеризується збільшеним порівняно з FPM часом збереження даних на виході мікросхеми.

Справа в тому, що в звичайних ІМС FPM вихідні дані залишаються дійсними у разі активного сигналу CAS. Через це під час другого і наступного доступів до сторінки потрібно три такти: такт переключення CAS в активний стан, такт читання даних і такт перемикання CAS у неактивний стан. У ІМС EDO дані запам'ятовуються у внутрішньому регістрі по активному (спадаючому) фронту сигналу CAS і зберігаються ще якийсь час після появи наступного активного фронту. Це дозволяє нормально використовувати дані, коли CAS переведений у неактивний стан. При цьому схема читання в EDO уже 5-2-2-2 (11), що на 20% швидше FPM (14). Час доступу складає 30 - 40 нс. Нормальна робота цієї пам'яті можлива навіть у випадку тактової частоти контролера пам'яті (і системної шини) 75 МГц.

Пам'ять EDO застосовувалася у всіх комп'ютерах з частотою процесора до 166 МГц (і системними платами на чипсетах до Intel 430 FX), а також у багатьох відеоприскорювачах тривимірної графіки. EDO також використовується в тих випадках, коли потужний контролер пам'яті сам оптимізує організацію банків пам'яті та їх чергування у випадку багатобанкової структури ОЗП, характерної для деяких серверів. 

Пам'ять типу BEDO. В архітектурі BEDO (burst EDO – EDO з пакетним пересиланням даних) поряд з технологіями FPM і EDO використовується пересилання даних пакетами (burst). Новизна такого методу в тому, що під час першого звернення дані автоматично читаються відразу ж для кількох послідовних слів (адже ядро влаштоване так, що завжди читається цілий рядок, тобто всі стовпці стають доступними). При цьому для пересилання burst-пакета задається адреса рядка і адреса тільки найпершого стовпця, а внутрішній лічильник автоматично стежить за тим, щоб був переданий весь пакет. Це виключає необхідність пересилати адреси для наступних ЗЕ.

Таким чином, завдяки burst-технології збільшується ефективність послідовного читання великих масивів даних.

Цей спосіб пересилання скорочує час читання кожного слова ще на такт, що дозволяє BEDO працювати за схемою 5-1-1-1 (разом 8 тактів). Однак для цього необхідна підтримка з боку набору системної логіки. В число таких наборів входять Intel 430 HX, VIA 580 VP, 590 VP. Максимальна паспортна робоча частота BEDO – 66 МГц, хоча ІМС добре функціонують на частоті аж до 83 МГц. 

Пам'ять типу EDRAM. Мікросхема EDRAM має більш швидке ядро і внутрішню кеш-пам'ять. В ролі кеш-пам'яті використовується статична пам'ять (SRAM) ємністю 2048 біт. Ядро EDRAM має 2048 стовпців, кожний з котрих з'єднаний з внутрішньою кеш-пам'яттю. Під час звернення до якої-небудь комірки одночасно зчитується весь рядок (2048 біт). Зчитаний рядок заноситься в SRAM, причому перенесення інформації в кеш-пам'ять практично не впливає на швидкодію, оскільки відбувається за один такт. Під час подальшого звернення до комірок того ж рядка дані беруться з більш швидкої кеш-пам'яті. Наступне звернення до ядра відбувається у разі доступу до комірки, що не розташована в рядку, який зберігається в кеш-пам'яті мікросхеми. Середній час доступу для мікросхеми наближається до значень, які є характерними для статичної пам'яті (близько 10 нс).

Завершуючи розгляд асинхронних типів ІМС, відзначимо, що їх швидкодію прийнято характеризувати часом циклу звертання, тобто мінімальним періодом, з яким можна виконати циклічне звертання за довільними адресами (всі п'ять операцій). Саме це мається на увазі, коли говорять про «60-нс модуль». Під час переходу до синхронної пам'яті (що використовує для роботи зовнішню тактову частоту) замість тривалості циклу доступу стали застосовувати мінімально припустимий період тактової частоти. Так з'явилися «10-нс модулі пам'яті», «8-нс» і навіть «7-нс».

29.3  Синхронні  динамічні  ОЗП

У мікросхемах, де реалізований синхронний принцип, процеси читання і запису виконуються одночасно з тактовими сигналами контролера пам'яті, а це дозволяє наблизитися до максимально можливої пропускної здатності шини «процесор-пам'ять» і уникнути циклів очікування. Адресна і управляюча інформація фіксується в ІМС пам'яті. Після цього відповідна реакція мікросхеми відбудеться через чітко визначене число тактових імпульсів, і цей час процесор може використовувати для інших дій, які не зв'язані зі зверненням до пам'яті.

SDRAM – пам'ять. Першим поширеним типом синхронного ОЗП стала SDRAM (Synch-ronous DRAM) – пам'ять. Вона з'явилася тому, що пам'ять типу EDO не могла задовольнити запити процесорів з частотою вище  200 МГц у плані ефективної системи «підкачування» даних. Крім того, завдяки переходу на прогресивну технологію виробництва ціни модулів пам'яті EDO і SDRAM зрівнялися, і остання завоювала весь ринок. Саме SDRAM стала «відправною точкою» для інших технологій, у яких використовуються переваги синхронного обміну.

Кардинальні відмінності SDRAM від попередніх типів пам'яті такі:

Оскільки SDRAM зараз стала домінуючим типом пам'яті, розглянемо всі ці відмінності детальніше.

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

Наступним за важливістю нововведенням можна вважати застосування конвеєрного механізму з пересилання пакету даних (Burst Pipelining). На відміну від простого механізму передачі пакетів, реалізованого в BEDO, конвеєр дозволяє передавати весь пакет потактно, забезпечуючи безперебійну роботу ОЗП навіть на багато більш високих частотах. Його переваги особливо виявляються у разі збільшення довжини пакета з 4 слів до розміру всього рядка банку.

Ще більшої продуктивності SDRAM досягається завдяки поділу масиву комірок на незалежні внутрішні банки пам'яті. Коли відбувається обмін даними із одним з банків, інші можуть готуватися до наступної операції. Коли ж перший банк завершить обмін, другий уже готовий передати наступний блок даних (це так званий почерговий доступ – interleaved). Таким чином, можна без затримок, зв'язаних з вибором рядка ядра, виконувати швидке послідовне читання даних з різних областей пам'яті.

Для того щоб синхронізувати пам'ять ззовні, в чип була вмонтована логіка керування. Таким чином, вузли пам'яті перебрали ряд функцій контролера ОЗП.

Синхронізм дозволяє мікросхемі SDRAM виконувати функції незалежно від затримок зовнішніх сигналів керування. Впровадження в чип механізму керування і спрощення схемотехніки скоротили накладні витрати часу доступу до ОЗП. 

Отже, чип SDRAM став деякою подобою мікроконтролера з вбудованими елементами динамічної пам'яті. Мікросхема містить швидкісну синхронну шину даних. Для доступу до даних використовується триступенева конвеєрна архітектура з інтерлівом.

Спрощена структура SDRAM подана на рис. 29.2.

Рисунок 29.2 –  Структура SDRAM


SDRAM містить запам'ятовуючий масив, регістри, дешифратори і лічильник адреси стовпців. На вибраному рядку лічильник послідовно перебирає адреси стовпців, і за кожен такт із регістрів даних каналу вводу/виводу у вихідний буфер переміщається по вісім байтів даних. Таким чином, за чотири звертання до пам'яті читається повний рядок (32 байти). Перше звертання до восьми байтів (у разі промаху кеш) займає 9–11 тактів. На кожне наступне витрачається по такту. 

Команди завантажуються в пам'ять SDRAM через програмований регістр режиму. Регістр дозволяє запрограмувати пам'ять для вибору режиму регенерації, автоматичної вибірки суміжно розташованих комірок пам’яті у межах банку, а також застосування інтерліву. Може бути запрограмована довжина пакета і змінений час затримки стробів CAS. Настроювання цієї затримки позначається на продуктивності системи. 

Конвеєрна обробка пакетів даних дозволяє виключити зі списку тимчасових втрат дуже істотні позиції. Внутрішнє виконання команд знімає із системних шин частину навантаження і прискорює процес доступу до даних.

Архітектура синхронної пам'яті має модифікації.

DDR SDRAM - пам'ять. Важливим етапом у подальшому розвитку технології SDRAM стала DDR SDRAM (Double Data Rate SDRAM – SDRAM з подвійною швидкістю передачі даних). Цей тип пам'яті «ріднить» з DR SDRAM (Single Data Rate SDRAM) загальний тракт обробки адрес і сигналів керування, однакова конструкція банків пам'яті і загальних методів регенерації. Інше позначення DDR SDRAM пам'яті – SDRAM II (тобто SDRAM другого покоління). В табл. 29.1 приводяться відмінні риси SDRAM архітектури SDR і DDR. Основні відмінності цих технологій – в організації інтерфейсу даних і системі синхронізації. DDR працює на подвоєній частоті.


Таблиця  29.1  – Особливості, що відрізняють SDRAM архітектури SDR та DDR

За принципами роботи DDR SDRAM пам'ять схожа на SDRAM, але, на відміну від неї, може приймати і передавати дані в пакетному режимі на обох фронтах тактових імпульсів. Це подвоює швидкість передачі даних. Крім того, в DDR SDRAM використовується протокол DLL (Delay Locked Loop), який дозволяє пересунути в часі інтервал дійсного значення вихідних даних. Таким способом скорочуються простої системної шини під час читання даних на ній з декількох модулів пам'яті. Є мікросхеми DDR SDRAM з можливістю відключення схем DLL. Для цього в них є додатковий регістр режиму. Відключення DLL необхідне під час зниження тактової частоти з метою енергозбереження.

Існує декілька специфікацій DDR SDRAM  залежно від тактової частоти системної шини: DDR 266, DDR 333, DDR 400, DDR 533. Так, пікова пропускна здатність мікросхеми пам'яті специфікації DDR 333 складає 2,7 Гбайт/с, а для DDR 400 – 3,2 Гбайт/с. 

Розвитком DDR SDRAM стала розроблена організацією JEDEC (Joint Electron Device Engineering Council - Об'єднана рада по електронних пристроях) специфікація DDR2.

В пам'яті DDR2 SDRAM обмін даними здійснюється також на подвійній частоті синхронізації. Однак в DDR2 тактові частоти вищі (200-300 МГц), що потребує особистих вимог до передачі сигналів. Для виключення відводів від шин печатних провідників, які є необхідними під час використання корпусів з дворядним розташуванням виводів, мікросхеми DDR2 випускаються тільки в корпусах BGA з матрицею виводів. Крім того, мікросхеми мають внутрішні резистори-термінатори, призначені для покращання якості сигналів, які передаються на високих частотах.

Пам'ять DDR2 SDRAM розроблялась з урахуванням зворотної логічної сумісності: контролер DDR2 може працювати як з пам'яттю DDR, так і з DDR2. Набір команд DDR2 є розширенням набору DDR.

Мікросхеми DDR2 з частотою 200, 266, 333 і 400 МГц позначаються як DDR2-400, DDR2-533, DDR2-667 і DDR2-800. 

Подальшим розвитком пам'яті DDR SDRAM стала DDR3 SDRAM, яка прийшла на зміну DDR2 SDRAM. В DDR3 зменшено на 40% споживання енергії порівняно з модулями DDR2 SDRAM, що обумовлено зменшеною (1,5 В, в порівнянні з 1,8 В для DDR2 SDRAM та 2,5 В для DDR SDRAM) напругою живлення гнізд пам'яті.

DDR4 SDRAM (англ. double-data-rate fourth generation synchronous dynamic random access memory) — новий тип оперативної пам'яті, що є еволюційним розвитком попередніх поколінь DDR (DDR, DDR2, DDR3). Відрізняється підвищеними частотними характеристиками і зниженою напругою. Основна відмінність DDR4 полягає у подвоєному до 16 числі банків, що дозволило вдвічі збільшити швидкість передачі — до 3,2 Гбіт/с. Пропускна здатність пам'яті DDR4 досягає 34,1 ГБ/c (у разі максимальної ефективної частоти 4266 МГц, визначеної специфікаціями). Крім того, підвищена надійність роботи за рахунок введення механізму контролю парності на шинах адреси і команд. Підтримує ефективні частоти від 1600 до 4266 МГц. Несумісна з попередніми типами пам'яті. Компанія Samsung вперше офіційно представила нові модулі у січні 2011 року, що працюють в режимі DDR4-2133 при напрузі 1,2 В. 

Для локальної пам'яті графічних адаптерів використовуються спеціальні типи SDRAM з більш високими тактовими частотами і деякими особливостями часових діаграм:

GDDR SDRAM (Graphics Double Data Rate - подвійна швидкість передачі графічних даних) з тактовими частотами 166-300 МГц, забезпечує пропускну здатність 333-600 Мбіт/с на вивід, напруга живлення – 2,5-2,8 В. Логічно ця пам'ять відповідає звичайній пам'яті DDR SDRAM з довжиною пакета – 2, 4 або 8.

GDDR2 SDRAM з тактовими частотами 266-333 МГц забезпечує пропускну здатність 533-667 Мбіт/с на вивід. Напруга живлення – 1,8В. Цей тип пам'яті приблизно відповідає пам'яті DDR2 SDRAM: є додаткова програмована латентність, довжина пакета – 4 або 8.

GDDR3 SDRAM значно відрізняється від DDR2. Вона має практично таке ж технологічне ядро, як і DDR2, але показники споживання енергії та тепло-виділення були незначно знижені, забезпечуючи вищу швидкодію модулів пам'яті та спрощуючи систему охолодження. На відміну від використання пам'яті DDR2 в графічних картах, пам'ять GDDR3 відмінна за внутрішніми особливостями від пам'яті DDR3 запровадженою JEDEC. Ця пам'ять використовує внутрішній термінатор, що дозволяє їй краще відповідати деяким вимогам роботи із графікою. Характеристики GDDR3 SDRAM: латентність запису програмована; програмована додаткова затримка. Довжина пакета – 4 або 8. Тактові частоти – 500-80 0 МГц, пропускна здатність – 1-2,6 Гбіт/с на контакт. Живлення – 1,8 або 2 В (для найбільш швидкодіючих). 

DDR3 SDRAM та DDR4 SDRAM на сьогодні є найбільш розповсюдженими типами динамічної пам'яті персональних ОМ. 

DR DRAM – пам'ять. Найбільш очевидні способи підвищення ефективності роботи процесора з пам'яттю – збільшення тактової частоти шини або ширини вибірки (кількості розрядів, що одночасно пересилаються). На жаль, спроби поєднання обох варіантів натрапляють на істотні технічні труднощі (з підвищенням частоти посилюються проблеми електромагнітної сумісності, важче стає забезпечити одночасність надходження споживачеві всіх бітів інформації, що паралельно пересилаються). В більшості синхронних DRAM (SDRAM, DDR) застосовується широка вибірка (64 біти) при обмеженій частоті шини. Принципово відмінний підхід до побудови DRAM був запропонований компанією Rambus в 1997 році. В ньому наголос зроблено на підвищення тактової частоти до 400 Мгц при одночасному зменшенні ширини вибірки до 16 біт. Нова пам'ять відома як RDRAM (Rambus Direct RAM). 

Існує декілька різновидів цієї технології: Base, Concurrent і Direct. В них тактування ведеться по обидва фронти синхросигналів (як в DDR), завдяки чому результуюча частота складає відповідно 500 - 600, 600 - 700 і 800 МГц. Два перші варіанти практично ідентичні, а ось зміни в технології Direct Rambus (DR DRAM) дуже значні. DR DRAM (Direct Rambus DRAM) – різновид швидкої динамічної пам'яті з довільним доступом (рис. 29.3).

Рисунок 29.3 – Принцип організації пам'яті DR DRAM


Основа архітектури Rambus – банки пам'яті, «пронизані» швидкісним каналом. Канал являє собою електричну шину, що під'єднує елементи пам'яті до контролера і роз'ємів та застосовує асинхронний блочно-орієнтований протокол. «Канал Rambus» входить в модуль на одному його кінці, проходить через усі чіпи і виходить на іншому кінці модуля.

Шина даних синхронізується від зовнішнього джерела 400 МГц, як і DDR SDRAM, фронтом і зрізом, завдяки чому тактова частота синхронізації пам'яті – 800 МГц.

На логічному рівні інформація між контролером і пам'яттю передається пакетами. Розрізняють три види пакетів: пакети даних, пакети рядків і пакети стовпців. Пакети рядків і стовпців служать для передачі від контролера пам'яті команд управління відповідно лініями рядків і стовпців масиву запам'ятовуючих елементів. Ці команди замінюють звичайну систему управління мікросхемою за допомогою сигналів RAS, CAS, WE і CS. 

Масив ЗЕ розбитий на банки. Їх число в кристалі ємкістю 64 Мбіт складає 8 незалежних або 16 здвоєних банків. У здвоєних банках пара банків використовує загальні підсилювачі читання/запису. Внутрішнє ядро мікросхеми має 128-розрядну шину даних, що дозволяє за кожною адресою стовпця передавати 16 байт. Під час запису можна використовувати маску, в якій кожен біт відповідає одному байту пакета. За допомогою маски можна вказати, скільки байтів пакета і які саме повинні бути записані в пам'ять. 

Чітка робота на високій швидкості досягається завдяки цілому комплексу заходів:

Застосування декількох тактових імпульсів, які розповсюджуються у протифазі, зводить до мінімуму вплив перешкод. Спеціальна схема тактування мікросхем дає можливість погодити напрямок поширення тактових імпульсів. Це дозволяє надійно читати інформацію з ІМС незалежно від того, наскільки вони віддалені від контролера.

Контролер Direct Rambus посилає керуючі сигнали по шині і подає команди для регенерації ядра. Складається він із двох окремих функціональних блоків: Rambus Application Specific Integrated Circuit Cell (RAC) і контролера Rambus. Роль RAC – забезпечити фізичний і електричний інтерфейс контролера з зовнішньою шиною, а 8-розрядний контролер Rambus служить ядром 16-розрядного контролера Direct Rambus.

Шина Direct Rambus Channel з'єднує чипи пам'яті один з одним і модулі RIMM з контролером. Вона складається з трьох незалежних шин: 16-розрядної шини даних і двох шин адреси (окремо для рядків і для стовпців) загальною «шириною» 8 біт. Передбачено і резервні розряди для адрес, що дозволяє нарощувати об'єм встановленої в комп'ютері пам'яті до максимуму – 1 Гб.

Сигнали керування внутрішньою логікою передаються пакетами по 8 слів. А мінімальний пакет даних складається з 16 байт, завдяки чому, як і у випадку з SDRAM, підвищується продуктивність при послідовному читанні великих масивів даних. Однак під час читання врозкид ефективність пам'яті падає. 

Завдяки конвеєру, потік даних малими порціями розподіляється між банками таким чином, що втрати часу під час звернення до пам'яті мінімальні. Розподіл даних залежить від швидкості заповнення кожного банку. Велике число банків дозволяє ефективно використовувати синхронну внутрішню високошвидкісну магістраль даних. Два канали даних (кожен шириною по одному байту) дозволяють одержати пікову пропускну здатність вихідної шини даних до 3,2 Гб/с. 

В публікаціях згадується робота Intel і Rambus над новою версією RDRAM, названою nDRAM, яка підтримуватиме передачу даних з частотами до 1600 Мгц. 

Дуже висока початкова вартість пам'яті RDRAM призвела до того, що виробники потужних комп'ютерів віддали перевагу менш потужній, але більш дешевшій пам'яті DDR SDRAM.

SLDRAM - пам'ять. Потенційним конкурентом RDRAM на роль стандарту архітектури пам'яті для персональних ОМ виступає інший вид динамічного ОЗП, розроблений консорціумом виробників ОМ SyncLink Consortium і відомий під абревіатурою SLDRAM. На відміну від RDRAM, технологія якої є власністю компаній Rambus та Intel, даний стандарт – відкритий. На системному рівні технології дуже схожі. Дані і команди від контролера до пам'яті та назад в SLDRAM передаються пакетами по 4 або 8 посилок. 

SLDRAM (Synchronous Link DRAM) – це також синхронна пам'ять. Як і DDR, вона синхронізує дані фронтом і зрізом тактового імпульсу. Керуюча інформація, як і дані, передається в пам'ять пакетами, що зменшує латентність. Пам'ять SLDRAM містить розширений файл програмованих регістрів і оперує великою кількістю команд.

Підвищення продуктивності досягається за рахунок поширення пакетного протоколу передачі даних на сигнали керування (від чого і пішла назва цього типу пам'яті Linked SDRAM). В SLDRAM адреси, команди, а також сигнали керування передаються в пакетному режимі по односпрямованій 10-розрядній шині Command Link. Дані передаються теж у пакетному режимі по двонаправленій 18-розрядній шині даних, причому передача відбувається на обох фронтах тактових імпульсів, як і у випадку з DDR SDRAM. Величина всього пакета даних може дорівнювати цілій сторінці (рядку ядра). Оскільки пропускна здатність обох шин (команд і даних) однакова, можна перемикатися на іншу сторінку пам'яті без втрати продуктивності.

Порівняно з SDRAM набір команд у SLDRAM значно збільшений, що дуже полегшує роботу контролера. Команда являє собою чотири 10-бітних пакети (це і є Link) і містить всю інформацію для проведення наступної операції. Таким чином, зростає ефективність керування пам'яттю – усього за 4 такти передається вся інформація, що описує цілий масив даних. Це викликає стрибок у продуктивності SLDRAM.

Максимальна досяжна для нинішніх поколінь SLDRAM швидкість передачі перевищує 1 Гб/с на кожен розряд при частоті 400 МГц (що забезпечує ефективну частоту більше 800 МГц). Треба відзначити, що при такій частоті дуже важливо, щоб усі сигнали точно синхронізувалися з тактовими імпульсами системної шини і щоб усі мікросхеми пам'яті в межах одного модуля мали близькі тимчасові затримки. Для цього контролер, до якого можна підключити до 8 мікросхем пам'яті, програмує всі ІМС модуля пам'яті так, щоб вони видавали дані на шину одночасно, незалежно від розкиду їх параметрів і ступеня віддалення мікросхем від контролера. В результаті найвіддаленіша мікросхема видає дані без затримки, а найближча – через проміжок часу, що потрібний для того, щоб сигнал розповсюдився від найвіддаленішої до найближчої. Ці значення визначаються в момент подачі живлення на ІМС і постійно коректуються під час роботи.

Пам'ять типу  ESDRAM. Цей тип пам'яті був розроблений компанією Enhanced Memory Systems, унаслідок чого одержав назву Enhanced DRAM. Спочатку з'явився EDRAM (з асинхронним інтерфейсом), а потім, з появою SDRAM, був розроблений ESDRAM (із синхронним).

Основні його відмінності від SDRAM – більш швидке ядро (час доступу – 27 нс замість стандартних 60); продуктивність, підвищена майже до рівня статичного ОЗП, за ціною динамічного; схована регенерація; гнучке використання кеш-пам'яті для забезпечення максимальної продуктивності під час різних типів звертань.

Найважливіша відмінність ESDRAM від інших ІМС у тому, що в ній сполучаються два типи пам'яті – динамічний (з нього складається ядро) і статичний (для кеш-пам'яті). 

Принцип роботи ESDRAM у тому, що з динамічної в кеш-пам'ять цілком переноситься весь рядок, у якому знаходиться ЗЕ, що читається. Після цього читання відбувається вже з кеш-пам'яті, а в ядрі в цей час можна вибирати потрібний рядок або проводити регенерацію. Перенесення майже не позначається на швидкодії, оскільки відбувається усього за один такт.

Завдяки вбудованій у ESDRAM кеш-пам'яті швидкість витягування даних порівняно зі звичайною динамічною пам'яттю збільшується уп'ятеро (12 нс проти 60). Що ж до операції запису, то вона, на відміну від читання, відбувається в обхід кеш-пам'яті, що збільшує продуктивність ESDRAM при поновленні читання з раніше вже завантаженого в кеш рядка.

Оскільки внутрішніх банків два, простої через їхню підготовку до операцій читання/запису зводяться до мінімуму. За сигналами і типорозмірами модулі ESDRAM цілком сумісні з DIMM SDRAM.

Недолік ESDRAM пам'яті – ускладнення контролера: він повинний враховувати можливість підготовки до читання в кеш-пам'ять нового рядка ядра. Крім того, при довільній послідовності адрес кеш-пам'ять використовується вкрай неефективно. Цього недоліку немає в іншому типі пам'яті – CDRAM.

Пам'ять типу  CDRAM. Цей тип ОЗП розроблений у корпорації Mitsubishi і являє собою перероблений варіант ESDRAM, звільнений від деяких її недоліків. Зміни торкнулися кеш-пам'яті – її об'єму, принципу розміщення даних, засобів доступу. 

В CDRAM об'єм одного блока даних, що поміщається в кеш, зменшений до 128 біт. Це дозволяє використовувати кеш-пам'ять набагато ефективніше, ніж в ESDRAM. Адже в цьому випадку в 16-кілобітному кеші можуть одночасно зберігатися копії з 128 різних ділянок пам'яті, що дозволяе ефективніше використовувати кеш-пам'ять. Заміна першої поміщеної в кеш ділянки пам'яті починається лише після заповнення останього (128-го) блоку.

Необхідність керувати різнорідними типами пам'яті ще більш ускладнює контролер, однак ефективність кеш-пам'яті, яка розміщена «всередині» ІМС, вища, ніж при традиційній архітектурі, тому що перенесення в кеш здійснюється блоками, у вісім разів більшими, ніж при видачі «назовні» з ІМС DRAM.

Крім того, потрібно відзначити, що в ІМС використовуються роздільні адресні лінії для статичного кеш і динамічного ядра. Оскільки перенесення з DRAM у SRAM пов'язане з видачею даних на шину, то часті, але короткі пересилання не знижують продуктивності всієї ІМС під час зчитування з пам'яті великих об'ємів інформації і вирівнюють CDRAM з ESDRAM, а при вибірковому читанні перевага залишається за CDRAM.

29.4 Модулі  пам'яті  типу  DRAM

Елементи пам'яті типу DRAM конструктивно виконуються або у вигляді окремих мікросхем у корпусі типу DIP, або у вигляді модулів пам'яті типу: SIP (Single In-line Package), SIMM (Single In-line Memory Module), DIMM (Dual In-line Memory Module), RIMM (Rambus In-line Memory Module). Мікросхеми в корпусах типу DIP випускалися до використання модулів пам'яті. Ці мікросхеми мають два ряди контактів, розташованих вздовж довгих сторін чипа, і загнуті донизу.

Модулі SIP. Модулі типу SIP являють собою прямокутні плати із контактами у вигляді невеликих штирків. Цей тип пам'яті був витіснений модулями пам'яті типу SIMM.

Рисунок 29.4 – Модуль SIP


Модулі SIMM. Модулі типу SIMM являють собою прямокутну плату із контактною полосою вздовж однієї із сторін, модулі фіксуються в роз'ємі поворотом за допомогою защібок. Найбільш поширені 30- і 72- контактні SIMM. Найчастіше вживаними були модулі на 4, 8, 16, 32 і навіть 64 Мбайт.

Рисунок 29.5Модулі  SIMM


Модулі DIMM 

У той час як контакти на SIMM з обох сторін є продубльовані, модулі DIMM мають окремі електричні контакти на кожній стороні модуля. Інша відмінність полягає в тому, що стандартні SIMMs мають канал передачі даних 32-розрядний, тоді як стандартні модулі DIMM мають канал передачі даних 64-розрядний. Оскільки Intel Pentium, та інші процесори мають 64-бітну ширину шини, потрібно було встановлювати модулі SIMM  парами для того, щоб заповнити шину даних. Тоді процесор отримуватиме доступ до двох модулів SIMM паралельно. Модулі DIMM були введені для усунення цієї практики.

Модулі DDR DIMM найбільш поширені у вигляді 168-контактних модулів, встановлюваних в роз'єми вертикально і зафіксовуються защібками. В портативних пристроях широко використовуються SO DIMM – різновид DIMM малого розміру (англ. SO – small outline), які в першу чергу призначалися для портативних комп'ютерів. Найчастіше зустрічаються 72- і 144- контактні модулі типу SO DIMM. Пам'ять типу DDR SDRAM випускається у вигляді 184-контактних DIMM-модулів.

Модулі DDR2 DIMM схожі на звичайні DDR DIMM, проте мають більшу кількість контактних виводів і по іншому розташовані установочні зазори, які запобігають неправильному використанню модулів DDR2. Модулі DDR2 мають 240 контактних виводів, тобто значно більше, ніж модулі DDR або SDRAM DIMM. 

Модулі DIMM із пам'яттю DDR3, що мають 240 контактів, не сумісні з модулями пам'яті DDR2 ні електрично, ні механічно. Ключ розташований в іншому місці, тому модулі DDR3 не можуть бути встановлені в слоти DDR2, зроблено це з метою запобігання помилковій установці одних модулів замість інших та їх можливого пошкодження внаслідок розбіжності електричних параметрів. У DDR3 зменшено споживання енергії в порівнянні з модулями DDR2, що обумовлено зниженою (1,5 В, порівняно з 1,8 В для DDR2 і 2,5 В для DDR) напругою живлення комірок пам'яті. Зниження напруги живлення досягається за рахунок використання більш тонкого техпроцесу (спочатку - 90 нм, надалі - 65, 50, 40 нм) при виробництві мікросхем та застосування транзисторів з подвійним затвором Dual-gate (що сприяє зниженню струмів витоку).

Основна відмінність DDR4 від попереднього стандарту DDR3 полягає у подвоєній до 16 кількості внутрішніх банків (у 2 групах банків), що дозволило збільшити швидкість передачі зовнішньої шини. Пропускна здатність пам'яті DDR4 у перспективі може сягати 25,6 ГБ/c (у разі підвищення максимальної ефективної частоти до 3200 МГц). Крім того, підвищена надійність роботи за рахунок введення механізму контролю парності на шинах адреси та команд. Стандарт DDR4 визначив частоти від 1600 до 2400 МГц із перспективою зростання до 3200 МГц.

Існують такі типи DIMM:

SPD EEPROM. Ємність модуля пам'яті DIMM та інші робочі параметри можуть бути ідентифіковані з Serial Presence Detect (SPD), додаткового чіпа памяті, який містить інформацію про тип модуля та часові параметри для контролера пам'яті, щоб бути правильно налаштованим. SPD EEPROM підключається до шини System Management, а також може містити термодатчики (TS-на-DIMM).

Модулі DIMM з ECC мають додаткові біти даних, які можуть бути використані контролером системної пам'яті, щоб виявити та виправити помилки. Є безліч схем ECC, але, мабуть, найбільш поширеними є схема контролю парності (виявляє одиночні помилк), схема виявлення подвійної помилки Detect (SECDED), які використовують додатковий байт на кожне 64-бітне слово. Модулі ECC зазвичай мають мікросхеми з шиною даних кратною 9 замість 8.

Рисунок 29.6Модулі DIMM

Модулі RIMM. У модулях RIMM випускаєтся пам'ять типу Direct RDRAM. Щоб забезпечити нормальне функціонування системи із сигналами, що вимірюються частками наносекунд (1,25 нс), була розроблена спеціальна топологія шини модуля пам’яті. Цей модуль назвали RIMM – Rambus In-line Memory Module (за аналогією з SIMM і DIMM). Сучасні RIMM можуть містити до 128 банків пам’яті. Особливість цього модуля – однакова довжина всіх сигнальних доріжок, завдяки цьому до всіх ІМС модуля сигнали приходять одночасно. Справа в тому, що під час роботи на частоті 800 МГц величина RIMM рівняється з довжиною хвилі (близько 37 см), що ставить певні вимоги до розташування елементів на модулі.

Модулі RIMM представлені 168/184-контактними прямокутними платами, які обов'язково повинні встановлюватися виключно парами, а порожні роз'єми обов'язково повинні бути зайняті спеціальними заглушками. Це пов'язано із особливостями конструкції таких модулів. Також існують модулі 232-pin PC1066 RDRAM RIMM 4200, які не сумісні із 184-контактним роз'ємом.

Рисунок 29.7 – Модуль RIMM