Що таке sram пам'ять

Що таке sram пам'ять



Анатомія RAM

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

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

Навіщо ж ти, RAM-ео?

Процесорам потрібно дуже швидко отримувати доступ до даних та команд, щоб програми виконували миттєво. Крім того, їм потрібно, щоб при довільних чи несподіваних запитах не дуже страждала швидкість. Саме тому для комп'ютера так важливо ОЗУ (RAM, скорочення від random-access memory - Пам'ять з довільним доступом).

Існує два основних типи RAM: статична і динамічна, або скорочено SRAM та DRAM.

Ми будемо розглядати лише DRAM, тому що SRAM використовується тільки всередині процесорів, таких як CPU чи GPU. То де ж знаходиться DRAM у наших комп'ютерах і як вона працює?

Більшості людей знайома RAM, оскільки кілька її планок перебуває поруч із CPU (центральним процесором, ЦП). Цю групу DRAM часто називають системною пам'яттю, але краще її називати пам'яттю CPU, тому що вона є основним накопичувачем робочих даних та команд процесора.

Як видно на наведеному зображенні, DRAM знаходиться на невеликих платах, що вставляються в материнську (системну) плату. Кожну плату зазвичай називають DIMM або UDIMM, що розшифровується як dual inline memory module (двосторонній модуль пам'яті) (U означає unbuffered (без буферизації)).Докладніше ми пояснимо це пізніше; поки тільки скажемо, що це найвідоміша RAM будь-якого комп'ютера.

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

Ще одним місцем, де можна знайти набір чіпів пам'яті, зазвичай є графічна картка. у системній пам'яті.

Нижче ви бачите GPU, оточений дванадцятьма невеликими пластинами - це чіпи DRAM. Саме цей тип пам'яті називається GDDR5X, про нього ми поговоримо пізніше.

Графічним картам не потрібно стільки ж пам'яті, як CPU, але їх обсяг все одно сягає тисяч мегабайт.

Не кожному устрою в комп'ютері потрібно так багато: наприклад, жорстким дискам досить невеликої кількості RAM, в середньому по 256 МБ; вони використовуються для групування даних перед записом на диск.

На цих фотографіях ми бачимо плати HDD (ліворуч) і SSD (праворуч), на яких відзначені чіпи DRAM.

Дізнавшись, що кожен компонент або периферійний пристрій, що виконує обробку, вимагає RAM, ви зможете знайти пам'ять у нутрощі будь-якого ПК.На контролерах SATA та PCI Express встановлені невеликі чіпи DRAM; у мережевих інтерфейсів і звукових карток вони теж є, як і у принтерів зі сканнерами.

Якщо пам'ять можна зустріти скрізь, вона може здатися трохи нудною, але варто вам поринути в її внутрішню роботу, то вся нудьга зникне!

Скальпеля. Затискач. Електронний мікроскоп.

У нас немає різноманітних інструментів, які інженери-електронники використовують для вивчення своїх напівпровідникових творів, тому ми не можемо просто розібрати чіп DRAM та продемонструвати вам його нутрощі. Однак таке обладнання є у хлопців із TechInsights, які зробили цей знімок поверхні чіпа:

Якщо ви подумали, що це схоже на сільськогосподарські поля, з'єднані стежками, то ви не такі далекі від істини! Тільки замість кукурудзи або пшениці поля DRAM переважно складаються з двох електронних компонентів:

  • Перемикач, представлений MOSFET (МОП-транзистором)
  • Накопичувача, що являє собою канавковий конденсатор.

Синіми та зеленими лініями позначені з'єднання, що подають напругу на МОП-транзистор та конденсатор. Вони використовуються для зчитування та запису даних у комірку, і першою завжди спрацьовує вертикальна (розрядна) лінія.

Канавковий конденсатор, по суті, використовується як посуд для заповнення електричним зарядом - його порожній/заповнений стан дає нам 1 біт даних: 0 - порожній, 1 - повний. Незважаючи на зусилля, що робляться інженерами, конденсатори не здатні зберігати цей заряд вічно і з часом він витікає.

Це означає, що кожен осередок пам'яті потрібно постійно оновлювати по 15-30 разів на секундуХоча сам цей процес досить швидкий: для оновлення набору осередків потрібно лише кілька наносекунд.На жаль, у чіпі DRAM безліч осередків, і під час їх оновлення зчитування та запис у них неможливе.

До кожної лінії підключено кілька осередків:

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

Повна рядок осередків пам'яті називається сторінкою, А довжина її залежить від типу та конфігурації DRAM. Чим довша сторінка, тим більше в ній біт, але і тим більша електрична потужність потрібна для її роботи; короткі сторінки споживають менше потужності, але містять менший обсяг даних.

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

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

Якщо зібрати разом набір сторінок, ми отримаємо один банк пам'яті DRAM. Як і у випадку сторінок, розмір і розташування рядків і стовпців осередків відіграють важливу роль у кількості даних, що зберігаються, швидкості роботи пам'яті, енергоспоживання і так далі.

Наприклад, схема може складатися з 4096 рядків і 4096 стовпців, при цьому повний обсяг одного банку дорівнюватиме 16777216 біт або 2 мегабайтам. Але не всі чіпи DRAM банки мають квадратну структуру, тому що довгі сторінки краще, ніж короткі. Наприклад, схема з 16384 рядків і 1024 стовпців дасть нам ті ж 2 мегабайти пам'яті, але кожна сторінка міститиме в чотири рази більше пам'яті, ніж у квадратній схемі.

Всі сторінки в банку з'єднані з системою адресації рядків (те саме стосується і стовпців) і вони контролюються сигналами управління та адресами для кожного рядка/стовпця. Чим більше рядків та стовпців у банку, тим більше бітів має використовуватись на адресі.

Для банку розміром 4096 x 4096 для кожної системи адресації потрібно 12 біт, а для банку 16384 x 1024 потрібно 14 біт на адреси рядків і 10 біт на адреси стовпців. Варто зауважити, що обидві системи мають сумарний розмір 24 ​​біти.

Якби чіп DRAM міг надавати доступ до однієї сторінки за раз, це було б не особливо зручно, тому в них упаковано кілька банків осередків пам'яті. Залежно від загального розміру, чіп може мати 4, 8 або 16 банків — найчастіше використовується 8 банків.

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

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

На фотографії вище показаний чіп DRAM (іноді званий модулем), виготовлений компанією Samsung. Іншими провідними виробниками є Toshiba, Micron, SK Hynix та Nanya.Samsung є найбільшим виробником, він має приблизно 40% світового ринку пам'яті.

Кожен виробник DRAM використовує власну систему кодування параметрів пам'яті; на фотографії показаний чіп на 1 гігабіт, що містить 8 банків по 128 мегабіту, збудованих у 16 ​​384 рядки та 8 192 стовпці.

Вище за рангом

Компанії-виробники пам'яті беруть кілька чіпів DRAM і встановлюють їх на одну плату, яку називають DIMM. Хоча D розшифровується як dual (подвійна)це не означає, що на ній два набори чіпів. Під подвійним мається на увазі кількість електричних контактів у нижній частині плати; тобто для роботи з модулями використовуються обидві сторони плати.

Самі DIMM мають різний розмір та кількість чіпів:

На фотографії зверху показано стандартну DIMM для настільного ПК, а під нею знаходиться так звану SO-DIMM (small outline, "DIMM малого профілю"). Маленький модуль призначений для ПК малого форм-фактора, наприклад, ноутбуків та компактних настільних комп'ютерів. Через малий простір зменшується кількість використовуваних чіпів, змінюється швидкість роботи пам'яті, і так далі.

Існує три основні причини використання кількох чіпів пам'яті на DIMM:

  • Це збільшує обсяг доступного сховища
  • У будь-який момент часу можливий доступ тільки до одного банку, тому завдяки роботі решти у фоновому режимі підвищується продуктивність.
  • Шина адреси в процесорі, що обробляє пам'ять, ширша за шину DRAM.

Тобто кожному DIMM, який встановлюється в комп'ютер із Ryzen, знадобиться вісім модулів DRAM (8 чіпів x 8 біт = 64 біти). Можна подумати, що графічна карта 5700 XT матиме 32 чіпи пам'яті, але в неї їх лише 8. Що це нам дає?

У чіпи пам'яті, призначені для графічних карт, встановлюють більше банків, зазвичай 16 чи 32, оскільки 3D-рендерингу необхідний одночасний доступом до великого обсягу даних.

Один ранг та два ранги

Безліч модулів пам'яті, що «заповнюють» шину даних контролера пам'яті, називається рангомі хоча до контролера можна підключити більше одного рангу, за раз він може отримувати дані тільки від одного рангу (бо ранги використовують одну шину даних). Це не викликає проблем, тому що доки один ранг займається відповіддю на передану йому команду, іншому рангу можна передати новий набір команд.

Плати DIMM можуть мати кілька рангів і це особливо корисно, коли вам потрібна величезна кількість пам'яті, але на материнській платі мало роз'ємів під RAM.

Так звані схеми з двома (dual) або чотирма (quad) рангами потенційно можуть забезпечити більшу продуктивність ніж однорангові, але збільшення кількості рангів швидко підвищує навантаження на електричну систему. Більшість настільних ПК здатні впоратися лише з одним-двома рангами на один контролер. Якщо системі потрібно більше рангів, то краще використовувати DIMM з буферизацією: такі плати мають додатковий чіп, що полегшує навантаження на систему завдяки зберіганню команд та даних протягом кількох циклів, перш ніж передати їх далі.

Безліч модулів пам'яті Nanya та один буферний чіп – класична серверна RAM

Але не всі ранги мають розмір 64 біти - використовувані в серверах і робочих станціях DIMM часто розміром 72 біти, тобто на них є додатковий модуль DRAM. Цей додатковий чіп не забезпечує підвищення обсягу чи продуктивності; він використовується для перевірки та усунення помилок (Error checking and correcting, ECC).

Адже ви пам'ятаєте, що всім процесорам для роботи потрібна пам'ять? У випадку ECC RAM невеликого пристрою, що виконує роботу, надано власний модуль.

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

Жага швидкості

У всіх DRAM є центральний тактовий сигнал введення-виведення (I/O, input/output) - напруга, що постійно перемикається між двома рівнями; він використовується для впорядкування всього, що виконується у чіпі та шинах пам'яті.

Якби ми повернулися назад у 1993 рік, то змогли б придбати пам'ять типу SDRAM (Synchronous, синхронна DRAM), яка впорядковувала всі процеси за допомогою періоду перемикання тактового сигналу з низького у високий стан. Так як це відбувається дуже швидко, така система забезпечує дуже точний спосіб визначення часу виконання подій. У ті часи SDRAM мала тактові сигнали введення-виводу, які зазвичай працювали з частотою від 66 до 133 МГц, і за кожен такт сигналу в DRAM можна було передати одну команду. У свою чергу, чіп за той самий проміжок часу міг передати 8 біт даних.

Швидкий розвиток SDRAM, провідною силою якого був Samsung, призвело до створення в 1998 її нового типу. У ньому передача даних синхронізувалася за підвищенням і падінням напруги тактового сигналу, тобто за кожен такт дані можна було двічі передати в DRAM і назад.

Як же називалася ця чудова нова технологія? Double data rate synchronous dynamic random access memory (синхронна динамічна пам'ять із довільним доступом та подвоєною швидкістю передачі даних). Зазвичай її просто називають DDR-SDRAM або для стислості DDR.

Пам'ять DDR швидко стала стандартом (через що початкову версію SDRAM перейменували на single data rate SDRAM, SDR-DRAM) і протягом наступних 20 років залишалася невід'ємною частиною всіх комп'ютерних систем.

Прогрес технологій дозволив удосконалити цю пам'ять, завдяки чому 2003 року з'явилася DDR2, 2007 року — DDR3, а 2012 року — DDR4. Кожна нова версія забезпечувала підвищення продуктивності завдяки прискоренню тактового сигналу введення-виведення, поліпшення систем сигналів та зниження енергоспоживання.

DDR2 внесла зміну, яку ми використовуємо і сьогодні: генератор тактових сигналів вводу-виводу перетворився на окрему систему, час роботи якої ставився окремим набором синхронізуючих сигналів, завдяки чому вона стала вдвічі швидше. Це аналогічно тому, як CPU використовують для упорядкування роботи тактовий сигнал 100 МГц, хоча внутрішні синхронізуючі сигнали працюють у 30-40 разів швидше.

DDR3 і DDR4 зробили крок вперед, збільшивши швидкість тактових сигналів введення-виведення в чотири рази, але у всіх цих типах пам'яті шина даних для передачі/отримання інформації, як і раніше, використовувала тільки підвищення та падіння рівня сигналу введення-виводу (тобто подвоєну) частоту передачі).

Самі чіпи пам'яті не працюють на величезних швидкостях - насправді вони рухаються досить повільно. Частота передачі даних (вимірювана в мільйонах передач за секунду — millions of transfers per second, MT/s) у сучасних DRAM настільки висока завдяки використанню у кожному чіпі кількох банків; якби на кожен модуль припадав лише один банк, все працювало б надзвичайно повільно.

Тип DRAM Звичайна частота чіпа Тактовий сигнал введення-виводу Частота передачі
SDR 100 МГц 100 МГц 100 MT/s
DDR 100 МГц 100 МГц 200 MT/s
DDR2 200 МГц 400 МГц 800 MT/s
DDR3 200 МГц 800 МГц 1600 MT/s
DDR4 400 МГц 1600 МГц 3200 MT/s

Кожна нова версія DRAM не має зворотної сумісності, тобто використовувані для кожного типу DIMM мають різні кількості електричних контактів, роз'єми та вирізи, щоб користувач не міг вставити пам'ять DDR4 у роз'єм DDR-SDRAM.

Зверху донизу: DDR-SDRAM, DDR2, DDR3, DDR4

DRAM для графічних плат спочатку називалася SGRAM (synchronous graphics, синхронна графічна RAM). .за тактовий цикл відбувається 4 передачі.

Тип DRAM Звичайна частота пам'яті Тактовий сигнал введення-виводу Частота передачі
GDDR 250 МГц 250 МГц 500 MT/s
GDDR2 500 МГц 500 МГц 1000 MT/s
GDDR3 800 МГц 1600 МГц 3200 MT/s
GDDR4 1000 МГц 2000 МГц 4000 MT/s
GDDR5 1500 МГц 3000 МГц 6000 MT/s
GDDR5X 1250 МГц 2500 МГц 10000 MT/s
GDDR6 1750 МГц 3500 МГц 14000 MT/s

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

Який же мінус у всіх цих сучасних технологій?

Один модуль GDDR6 приблизно вдвічі дорожчий за аналогічний чіп DDR4, до того ж при повній швидкості він стає досить гарячим - саме тому графічним картам з великою кількістю надшвидкої RAM потрібно активне охолодження для захисту від перегріву чіпів.

Швидкість бітів

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

Тобто якщо частота передачі даних дорівнює 3200 MT/s, то піковий результат дорівнює 3200 x 8 = 25600 Мбіт в секунду або трохи більше 3 ГБ/с. Оскільки більшість DIMM мають 8 чіпів, потенційно можна отримати 25 ГБ/с. Для GDDR6 з 8 модулями цей результат дорівнював би 440 ГБ/с!

Зазвичай це значення називають смугою пропускання (bandwidth) пам'яті; воно є важливим фактором, що впливає на продуктивність RAM. Однак це теоретична величина, тому що всі операції усередині чіпа DRAM не відбуваються одночасно.

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

На першому етапі активується сторінка DRAM, у якій містяться необхідні дані. Для цього пам'яті спочатку повідомляється, який потрібен ранг, потім відповідний модуль, потім конкретний банк.

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

Потім визначається відповідний стовпець та витягується єдиний біт інформації. Всі типи DRAM передають дані пакетами, упаковуючи інформацію в єдиний блок, і пакет у сучасній пам'яті майже завжди дорівнює 8 бітам. Тобто навіть якщо за один тактовий цикл витягується один біт, ці дані не можна передати, доки з інших банків не буде отримано ще 7 бітів.

А якщо наступний біт даних знаходиться на іншій сторінці, то перед активацією наступної необхідно закрити поточну відкриту сторінку (це процес називається pre-charging). Все це, зрозуміло, потребує більше часу.

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

Деякі з цих затримок мають знайомі фанатам комп'ютерів назви:

Назва таймінгу Опис Звичайне значення в DDR4
tRCD Row-to-Column Delay: кількість циклів між активацією рядка та можливістю вибору стовпця 17 циклів
CL CAS Latency: кількість циклів між адресацією стовпця та початком передачі пакет даних 15 циклів
tRAS Row Cycle Time: найменша кількість циклів, протягом якої рядок повинен залишатися активним перед тим, як можна буде виконати його pre-charging 35 циклів
tRP Row Precharge time: мінімальна кількість циклів, необхідна між активаціями різних рядків 17 циклів

Існує ще багато інших таймінгів і всі їх потрібно ретельно налаштовувати, щоб DRAM працювала стабільно та не спотворювала дані, маючи при цьому оптимальну продуктивність. Як можна побачити з таблиці, схема, що демонструє цикли в дії, має бути набагато ширше!

Хоча при виконанні процесів часто доводиться чекати, команди можна поміщати у черзі та передавати, навіть якщо пам'ять зайнята чимось іншим. Саме тому можна побачити багато модулів RAM там, де нам потрібна продуктивність (системна пам'ять CPU та чіпи на графічних картах), і набагато менше модулів там, де вони не такі важливі (у жорстких дисках).

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

Навіть пам'яті потрібна пам'ять. Червоним зазначено ПЗП (read-only memory, ROM), в якому міститься інформація SPD.

Процес доступу до цієї інформації та її використання називається serial presence detect (SPD). Це галузевий стандарт, що дозволяє BIOS материнської плати дізнатися, на які таймінги мають бути налаштовані всі процеси.

Багато материнських плат дозволяють користувачам змінювати ці таймінги самостійно або для покращення продуктивності, або для підвищення стабільності платформи, але багато модулів DRAM також підтримують стандарт Extreme Memory Profile (XMP) компанії Intel.Це просто додаткова інформація, що зберігається в пам'яті SPD, яка повідомляє BIOS: «Я можу працювати з такими нестандартними таймінгами». Тому замість самостійної метушні з параметрами користувач може налаштувати їх одним натисканням миші.

Дякую за службу, RAM!

На відміну від інших уроків анатомії, цей виявився не таким брудним — DIMM складно розібрати і для вивчення модулів потрібні спеціалізовані інструменти. Але всередині них таяться чудові подробиці.

Візьміть до рук планку пам'яті DDR4-SDRAM на 8 ГБ з будь-якого нового ПК: в ній упаковано майже 70 мільярдів конденсаторів і така сама кількість транзисторів. Кожен із них зберігає крихітну частку електричного заряду, а доступом до них можна отримати за лічені наносекунди.

Навіть при повсякденному використанні вона може виконувати незліченну кількість команд, і більшість із плат здатні без жодних проблем працювати багато років. І все це менше, ніж за 30 доларів? Це просто заворожує.

DRAM продовжує вдосконалюватися - вже скоро з'явиться DDR5, кожен модуль який обіцяє досягти рівня смуги пропускання, важко досягнутий для двох повних DIMM типу DDR4. Відразу після появи вона буде дуже дорогою, але для серверів та професійних робочих станцій такий стрибок швидкості виявиться дуже корисним.

Подібні статті

  • Чому у Дорі погана пам'ять
  • Скільки тримається пам'ять у золотої рибки
  • Яка пам'ять у акваріумних рибок
  • Чим відрізняється кеш пам'ять від оперативної пам'яті
  • Що таке DIMM в оперативній пам'яті
  • Скільки має займати оперативну пам'ять Windows 10
  • Що таке режим регенерації пам'яті
  • Як встановити оперативну пам'ять у двоканальному режимі
  • Останні статті

  • Який найвищий водоспад у Південній Америці
  • водоемульсійний лак
  • Який раціон має бути у вівчарки
  • Паливний насос високого тиску будова
  • скільки часу линяють качки
  • У чому плюс німецької вівчарки
  • гриби рядовки як приготувати
  • кімнатні рослини які не люблять світла
  • Категорії