СИНХРОННІ ДИНАМІЧНІ ОЗУ

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

Пам'ять типу SDRAM. Розглянемо основні особливості синхронної динамічної пам'яті SDRAM.

Склад і призначення сигналів. До складу сигналів синхронного пам'яті входять сигнали RAS #, CAS #, WE #, MA #, які виконують ті ж функції, що і в асинхронної динамічної пам'яті. Окрім наведених сигналів використовуються сигнали, властиві тільки динамічної пам'яті SDRAM. До них відносяться:

  • CLK (Clock) - тактові імпульси синхронізації, що діють по позитивному перепаду (0 → 1);
  • СКЕ (Clock Enable) - дозвіл / заборона синхронізації при СКЕ = 1/0. Відсутність синхроимпульсов зменшує енергоспоживання пам'яті. Перехід в режим зі зниженим енергоспоживанням здійснюється за допомогою спеціальних команд при СКЕ = 0. Слід виділити три режими :

■ режим зниженого споживання (Power Down Mode), що реалізується командами NOP або INHBT. У цих режимах мікросхема пам'яті не сприймає керуючих команд. Тривалість перебування в них обмежена періодом регенерації;

■ режим припинення синхронізації (Clock Suspend Mode), в якому відсутня передача даних і не сприймаються нові команди. В цей режим мікросхема переходить під час виконання команди читання або запису при установці сигналу СКЕ = 0;

■ режим саморегенерації, в який мікросхема переходить по команді Self Refresh. В цьому режимі періодично виконуються цикли регенерації по внутрішньому таймеру при відключеною зовнішньої синхронізації;

  • CS # (Chip Select) - вибір мікросхеми. При CS # = 0 дозволяється декодування команд; при CS # = 1 декодування команд забороняється, однак виконання розпочатих команд триває;
  • BSO, BSl (Bank Select) або ВA 0, ВA 1 (Bank Address) - вибір банку, до якого адресується команда;
  • • Д [0: 12 | (Address) - сигнали мультиплексированной шини адреси. У циклах Bank / Activate задають адресу рядка. У циклах Read / Write сигнали ліній Л [0: 9] і А 1 задають адресу стовпця, сигнал А 10 = 1 включає режим автопредзаряда. У циклах Precharge сигнал A 10 = 1 включає режим предзаряда всіх банків незалежно від значень сигналів 550, 551;
  • DQ (Data Input / Output) - двонаправлені лінії вводу-виводу даних;
  • DQM (Data Mask) - маскування даних. У циклі читання при DQM = 1 шина даних через два такту перекладається в високоімпедансное стан (відключається). У циклі запису при DQM - 1 забороняється запис поточних даних, при DQM = 0 дозволяється запис без затримки.

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

У пам'яті SDRAM є можливість активізації рядків в декількох банках. Кожен рядок активізується своєю командою ACT під час виконання будь-якої операції з іншим банком. Після активізації рядки обраного банку під час запису і читанні рядок можна закривати не відразу, а після виконання серії звернень до її елементів. Для звернення до відкритої рядку необхідного банку використовуються команди читання RD і запису WR, в яких вказані адреса стовпця і номер банку. Можна так організувати процеси запису / читання, що шина даних в кожному такті нестиме чергову порцію даних для серії звернень до різних областей пам'яті. Так як дтя звернень не потрібні команди активізації, вони будуть виконуватися швидше. За допомогою сигналу вибірки мікросхеми CS # можна тримати відкритими рядки в банках різних мікросхем, об'єднаних загальною шиною пам'яті.

За допомогою лічильника досить просто реалізується пакетний режим роботи. При ініціалізації можуть бути запрограмовані довжина пакета (1, 2, 4, 8 елементів), порядок адрес в пакеті (чергується або лінійний) і операційний режим (пакетний режим для всіх операцій або тільки для читання). За допомогою сигналу DQM = 1 в режимі запису здійснюється блокування записи будь-якого елементу пакета, а в режимі читання - переклад в високоімпедансное стан буфера даних.

Завдяки виключенню циклів очікування, чергуванню адрес, пакетного режиму, триступеневої конвеєрної адресації вдалося скоротити час робочого циклу мікросхеми до 8 ... 10 нс (1: 10 нс = 100 МГц) і підвищити швидкість передачі даних до 800 Мбайт / с при тактовій частоті системної шини 100 МГц.

Пам'ять типу DDR SDRAM (Dual Data Rate - подвоєна швидкість даних). Основна особливість пам'яті DDR по відношенню до звичайної SDRAM полягає в тому, що перемикання даних проводиться по фронту і зрізу тактовихімпульсів системної шини. Це дає можливість виконати два звернення за тактовий інтервал і підвищити швидкодію в два рази. При передачі даних по фронту і зрізу імпульсів синхронізації до часових параметрів сигналів і даних пред'являються підвищені вимоги. Для їх задоволення прийняті наступні заходи: введений стробірующій сигнал DQS; використовуються два синхроимпульса CLK1 і CLK2, а також додаткові апаратні засоби. На відміну від звичайних мікросхем SDRAM, у яких дані для запису передаються одночасно з командою, в DDR SDRAM дані для запису подаються з затримкою на один такт (Write Latency). Значення CAS Latency може бути дробовим (CL = 2, 2,5, 3).

На частоті 100 МГц DDR SDRAM має пікову продуктивність 200 Мбіт на один висновок (пін), що в складі 8-байтних модулів DIMM відповідає продуктивності 1600 Мбайт / с. На частоті 133 МГц продуктивність складає 2100 Мбайт / с.

Пам'ять типу RDRAM. У 1992 р американська фірма Rambus приступила до розробки нового типу пам'яті, яка отримала назву RDRAM (Rambus DRAM). Оперативна пам'ять ядро цієї пам'яті побудовано на звичайних КМОП-осередках динамічної пам'яті. Однак інтерфейс пам'яті істотно відрізнявся від традиційного синхронного інтерфейсу. Високошвидкісний інтерфейс Rambus RDRAM забезпечує можливість передачі даних зі швидкістю до 600 Мбайт / с через шину даних розрядністю 1 байт. Ефективна пропускна здатність досягає величини 480 Мбайт / с, що в 10 разів перевищує аналогічний показник для пристроїв EDO DRAM. Час доступу до ряду осередків пам'яті становить менше 2 нс в розрахунку на байт, а час затримки (час доступу до першого байту масиву даних) - 23 нс. При обміні великими масивами даних пам'ять Rambus є оптимальним варіантом в сенсі відносини продуктивність / вартість [6]. Подальшим розвитком став інтерфейс Direct DRAM, або просто DDRAM, з 16-розрядної (18-розрядної для мікросхем з битами контролю) шиною даних. Пам'ять RDRAM використовується в високопродуктивних персональних комп'ютерах з 1999 р і підтримується в наборах мікросхем системної логіки.

Структура підсистеми пам'яті RDRAM складається з контролера пам'яті, капала і власне мікросхем пам'яті (рис. 10.9).

Пам'ять RDRAM по відношенню до інших типів пам'яті (FPM / EDO і SDRAM) має такі відмінні риси:

  • • є пристроєм з вузьким каналом передачі даних. Кількість даних, переданих за один такт, становить всього 16 біт, не рахуючи двох додаткових бітів контролю по парності;
  • • завдяки малій кількості (30) ліній каналу і спеціально вжитим заходам по їх розташуванню тактова частота каналу збільшена

Структура пам'яті Direct DRAM

Мал. 10.9. Структура пам'яті Direct DRAM

до 400 МГц, що забезпечує продуктивність, рівну 16x400x2 / 8 = 1600. Мбайт / с (з урахуванням передачі даних по фронту і зрізу синхроимпульсов). Для підвищення продуктивності можна використовувати двох- і чотирьохканальні RDRAM, які дозволяють збільшити швидкість передачі даних до 3,2 або 6,4 Мбайт / с відповідно. Двоканальна пам'ять РС800 RDRAM, використовувана в даний час, є найбільш швидким типом пам'яті (ненабагато випереджаючи РС2100 DDR SDRAM);

  • • передача адреси осередку відбувається по окремим шинам: одна - для адреси рядка, інша - для адреси стовпця. Передача адрес здійснюється послідовними пакетами. В процесі роботи RDRAM виконується конвеєрна вибірка з пам'яті, причому адреса може передаватися одночасно з даними;
  • • для підвищення продуктивності було запропоновано ще одне конструктивне рішення: передача керуючої інформації відокремлена від передачі даних по шині. Для цього передбачені незалежні схеми управління і виділені дві групи шин: адресні шини для команд вибору рядка і стовпця і інформаційна шина для передачі даних шириною 2 байта;
  • • споживає мало енергії. Напруга живлення модулів пам'яті R1MM, як і пристроїв RDRAM, досягає лише 2,5 В. Напруга низьковольтного сигналу змінюється від 1,0 до 1,8 В, тобто перепад напруги дорівнює 0,8 В. Крім того, RDRAM має чотири режими зберігання енергії і може автоматично переходити в режим очікування на завершальній стадії транзакції, що дозволяє ще більше економити споживану потужність.

Пам'ять з віртуальними каналами - VC SDRAM. Призначення пам'яті. У сучасному комп'ютері доступ до оперативної пам'яті здійснюється різними пристроями. Одні з пристроїв (програми, які виконуються паралельно в багатозадачному операційній системі) бронюють для себе певні області пам'яті. Такі пристрої, як процесор, IDE- і SCSI-контролери, звукові карти і відеокарти AGP і інші, звертаються до оперативної пам'яті безпосередньо. При одночасному зверненні до пам'яті декількох пристроїв відбувається затримка їх обслуговування. Для усунення цього недоліку була розроблена спеціальна архітектура модуля пам'яті, що включає в себе 16 незалежних каналів пам'яті. Кожному пристрою (програмі) для звернення до пам'яті виділений окремий канал.

Архітектура пам'яті. Особливість архітектури пам'яті з віртуальними каналами (Virtual Channel Memory Architecture) полягає в тому, що між масивом запам'ятовуючих осередків і зовнішнім інтерфейсом мікросхеми пам'яті розміщено 16 канальних буферів (рис. 10.10). В віртуальні канали можуть об'єднуватися кілька буферів. За складом і рівнями сигналів мікросхеми VC SDRAM (Virtual Channel SDRAM) аналогічні звичайним SDRAM (мають зовнішню організацію по 4, 8 або 16 біт даних), однак відрізняються структурою, системою команд і рядом інших показників. Мікросхема містить два банки (А і В), виконаних у вигляді квадратної матриці. Кожен рядок матриці розбивається на 4 сегменти. Для мікросхеми ємністю 128 Мбіт розмір матриці становить 8К х 8К, рядок має обсяг 8К біт, а сегмент - 2К біт. Ємність канального буфера також становить 2К біт. За одне звернення до матриці виконується паралельна передача 2К біт даних між одним з буферів і сегментом вибраного рядка. Мікросхеми встановлюються в 168-контактний модуль DIMM.

Організація обміну. Операції обміну даними розділяються на дві фази:

зовнішній обмін даними між джерелом інформації і канальним буфером. Ця фаза обміну здійснюється через контролер пам'яті (на рис. 10.10 не показаний) і виконується за командами читання і запису (READ і WRITE), в яких вказується номер каналу і адреса стовпця. Обмін відбувається в пакетному режимі. Довжина пакета програмується і може становити 1, 2, 4, 8 або 16 передач (елементів). Перші дані при читанні каналу з'являються з затримкою в 2 такту щодо команди читання, такі йдуть в кожному такті;

Структура пам'яті VCM

Мал. 10.10. Структура пам'яті VCM

внутрішній обмін даними між каналами і масивом запам'ятовуючих осередків. Обмін протікає в такій послідовності:

■ за допомогою команд передвибірки PRFA і збереження RSTA, що надходять відразу після звернення до масиву пам'яті, автоматично здійснюється деактивізація рядків (попередній заряд). Для деактивизации обраного банку і обох банків відразу можна використовувати спеціальні команди;

■ по команді ACT, яка задає банк (А або В) і адреса рядки, активізується необхідна рядок матриці;

■ командами PRF (Prefetch) і RST (Restore) реалізується читання масиву в буфер і збереження даних буфера в масиві. У командах вказується номер банку, номер сегмента і номер каналу.

Обидві фази обміну виконуються за командами з боку зовнішнього інтерфейсу майже незалежно один від одного. Список використаних команд наведено в табл. 10.1.

Регенерація VC DRAM виконується періодичною подачею команд REF (авторегенерація по внутрішньому лічильнику адреси регенеріруемих рядків) або в енергозберігаючому режимі саморегенерації, в який мікросхеми переходять по команді SELF.

Багато сучасних Chipset підтримують модулі DIMM VCM SDRAM.

Слід зазначити, що можливість використання того чи іншого типу пам'яті визначається чіпсетом системної плати.

Таблиця 10.1

команда

призначення

PRF - Prefetch

Читання масиву в буфер

RST - Restore

Збереження буфера в масиві

ACT

Активізація необхідної рядки матриці (задається банк і адреса рядки)

PRFA, RSTA

Предвибірки і збереження (деактивізація обраного банку або обох банків)

READ. WRITE

Читання, запис (вказується номер каналу і адреса колонки)

REF

Авторегенерація по внутрішньому лічильнику адреси регенеріруемих рядків

SELF

Саморегенерації в енергозберігаючому режимі

 
< Попер   ЗМІСТ   Наст >