Що таке sdram

Не так давно в різних комп'ютерних таблицях з'явилися загадкові слова SDRAM і BEDO RAM. Легко здогадатися, що відносяться вони до оперативної пам'яті (RAM). Поява чогось нового в цій області цікаво вже саме по собі, але дивлячись на наведену поруч величину часу доступу (10ns замість 50 - 70 ns для EDO), задаєшся питанням: що ж за монстр виповз з підземних лабораторій розробників мікросхем. Ще більший розбрід і хитання в ряди користувачів вносять довгі 168-pin'овие роз'єми під пам'ять на нових системних платах. Спробую внести деяку ясність в це питання.

Отже, за абревіатурою SDRAM ховається синхронна динамічна оперативна пам'ять (synchronous dynamic RAM). З назви вже можна зробити деякі висновки про принцип її роботи. По-перше, це пам'ять динамічна, тобто вимагає періодичного оновлення даних і взагалі заснована на тій же технології, що і сучасна EDO- і FPM-пам'ять (див. "КВ" №38). По-друге, це пам'ять синхронна, значить, синхронізується якимось сигналом. Самий логічний кандидат на цю роль - тактова частота шини, саме по ній і відбувається синхронізація. Виникає законне питання: навіщо це потрібно?

Справа в тому, що при частоті шини 66 МГц доступ до тієї ж EDO пам'яті відбувається наступним чином: перший байт зчитується за 5 тактів (мінімум), наступні байти в тому ж рядку зчитуються за 2 такту (теж мінімум). Таким чином час на зчитування чотирьох байтів можна змалювати таку картину: 5-2-2-2 (щоб заповнити рядок кеша, необхідно вважати всі чотири байти). Очевидно, що процесору доводиться деякий час простоювати. Якщо ж синхронізувати процес зчитування з частотою шини, то вийде 5-1-1-1, значить, час простою буде менше. В цьому і полягає основна ідея роботи синхронної пам'яті. Розглянемо цей процес докладніше.

Далі, на звичайну пам'ять необхідно було подавати зовнішній сигнал при зчитуванні кожного байта (значить, операція зчитування може займати кілька тактів). Мікросхема SDRAM має спеціальний регістр (Mode Register), за допомогою якого задається режим читання (або записи). Після звернення до першого байту сигнали для зчитування наступних значень генеруються самою мікросхемою кожен такт. Таким чином можна запрограмувати зчитування одного, двох, чотирьох, восьми байт або зчитування всього рядка матриці. При такому пакетному режимі (burst mode) роботи затримка в кілька тактів буде тільки між зверненням до пам'яті і першим байтом даних, наступні ж байти будуть надходити на шину даних кожен такт (див. Рис. 1).

Ще одна особливість SDRAM полягає в тому, що на одному модулі (DIMM) може перебувати кілька (два або чотири) банків пам'яті. Це дозволяє одночасно тримати кілька активних рядків і здійснювати до них по черзі доступ. В результаті можна отримати безперервний потік даних, оскільки під час підготовки до роботи одного банку можна зчитувати дані з іншого (цей метод називається interleaving).

Якщо переказати все це простими словами, то вийде, що дана пам'ять працює синхронно з шиною, причому, частота шини не обов'язково повинна бути дорівнює 66 МГц. Насправді час доступу 10ns, що приводиться в якості параметра SDRAM, являє собою мінімальний час між циклами читання послідовних байтів (тобто характеризує максимальну частоту шини, з якої може синхронізуватися така пам'ять). 10 наносекунд відповідають частоті шини 100 МГц. З огляду на стрімке зростання швидкостей процесорів, такої частоти залишається чекати не так вже й довго (деякі материнські плати вже зараз підтримують тактові частоти 75 і 83 МГц).

Пам'ять SDRAM доцільно використовувати в багатозадачних, розрахованих на багато користувачів системах, оскільки її швидкодію порівняно з кешем другого рівня (відповідно 5-1-1-1 і 2-1-1-1 тактів для шини 66 МГц).

SDRAM випускається у вигляді 168 pin'ових модулів DIMM (dual in line memory module). Врахуйте, що якщо на системній платі є такий роз'єм під пам'ять, це ще не означає, що плата підтримує SDRAM - EDO теж випускається у вигляді 168 контактних DIMM'ов. SDRAM точно підтримують Intel'овской чіпсети VX і TX, щодо інших не знаю.

Версія для друку

Схожі статті