Оперативна пам'ять комп'ютера

Рекламний блок


Отже, оперативна пам'ять комп'ютера, яка ще називається енергозалежною. Вона ж - DRAM (Dynamic Random Access Memory) - динамічна пам'ять з довільним доступом або оперативне запам'ятовуючий пристрій, скорочено - ОЗП.

Давайте розберемося-чому ж вона саме так називається? Під час роботи комп'ютера в оперативній пам'яті зберігаються всі дані і програми, запущені під час роботи користувачем. Слово "енергозалежна" щодо пам'яті означає лише те, що при вимиканні живлення системного блоку (завершення роботи) оперативна пам'ять комп'ютера обнуляється. Зникає весь її вміст.

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

"Динамічна пам'ять з довільним доступом": доступ (звернення) до різних клітинок відбувається в довільному порядку і в різні моменти часу, звідси і визначення. А от зі словом "динамічна" ситуація більш складна. Давайте розбиратися!

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

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


Схема строения оперативной памяти

Як ми вже говорили, найменшою одиницею на фізичному рівні є комірка. Комірка складається з одного мікро-конденсатора (на схемі вище позначений як З) і трьох транзисторів (VT). Конденсатор зберігає невеликий заряд, а транзистори виступають в ролі "ключів", які, з одного боку, не дають заряду конденсатора стекти, а з іншого, - дозволяють/забороняють доступ до конденсатору на читання або зміну.

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

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

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

Також потрібно враховувати те, що процес зчитування DRAM деструктивний: після звернення до будь-якій комірці її конденсатор розряджається і щоб не втратити містяться в ній дані конденсатор треба знову зарядити. Другий сюрприз полягає в тому, що, в силу конструктивних особливостей, дешифратор адреси рядка/стовпця віддає команду на зчитування однієї конкретної комірки, а відразу всієї рядка (або стовпця). Лічені дані повністю зберігаються в буфері даних і потім вже відбираються запитувані додатком. Після цього відразу ж потрібно перезарядити цілий ряд комірок!

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

Коли я прочитав хорошу фразу: "Динамічну пам'ять можна порівняти з дірявим відром. Якщо його постійно не поповнювати, то вся вода витече!" Щось умовно схоже і відбувається в ситуації з DRAM. Природно, всі ці додаткові команди і цикли зарядки-розрядки призводять до додаткових затримок в роботі і не є ознакою високого ККД кінцевого виробу. Так чому не можна придумати щось більш ефективне? Можна! І воно вже придумано - статична пам'ять з довільним доступом (SRAM - Static Random Access Memory).

Статична пам'ять працює набагато швидше динамічної допомогою перемикання тригерів і не потребує регенерації. Вона з успіхом застосовується при побудові кешей центрального процесора і у кадрових буферів дискретних відеокарт. Чи можна організувати на базі SRAM основну системну пам'ять комп'ютера? Можна, але із-за ускладнення конструкції вона буде коштувати набагато дорожче і виробникам це просто не вигідно :)

Думаю, логічно, якщо розглядати ми будемо оперативну пам'ять типу DIMM. Абревіатура розшифровується як «Dual In-Line Memory Module» (двосторонній модуль пам'яті), а саме такі плати до сьогоднішнього дня і використовуються в персональних комп'ютерах.

Пам'ять стандарту DIMM в кінці 90-х років минулого століття прийшла на зміну попередньому стандарту SIMM (Single In-Line Memory Module - односторонній модуль пам'яті). Фактично, модуль DIMM являє собою друковану плату з нанесеними на неї контактними майданчиками. Це - своєрідна основа: чіпи пам'яті та інша електрична "обв'язування" виробником додаються вже потім.

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

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

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

Давайте подивимося на те, як виглядають звичайні модулі DIMM:


Оперативная память компьютера


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

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

На схемі нижче представлено розташування "ключів" для різних типів модулів:


Расположение ключей на оперативной памяти

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

Тепер коротко розглянемо найпоширеніші типи оперативної пам'яті. Різні покоління:

  • SDRAM - (Synchronous Dynamic Random Access Memory - синхронна динамічна пам'ять з довільним доступом). Модуль з 168-мю пінами (контактами), що живиться від напруги 3,3 В (V).
  • DDR - (Double Data Rate - подвоєна швидкість передачі даних). Дозволяє (на відміну від SDRAM) робити вибірку (або передавати дані) двічі за один такт шини пам'яті. Модуль має 184 контакту, його живляча напруга - 2,6 V. З появою пам'яті стандарту DDR попереднє покоління пам'яті стали називати SDR SDRAM (Single Data Rate DRAM).
  • DDR2 - наступне покоління чіпів. Вона дозволяє за один такт передавати вже 4 біти інформації (два набори даних) з комірок мікросхем пам'яті в буфер вводу-виводу. Друкована плата з 240-ка контактами (по 120 з кожної сторони). Її напруга живлення - 1,8 В.
  • DDR3 - наступне покоління, здатне за один такт робити вибірку 8-ми біт даних, 240 контактів і живляча напруга в 1,5 Вольта. При цьому енергоспоживання пам'яті DDR3 на 40% менше, ніж у DDR2, що досить важливо при її використанні з мобільних пристроях (ноутбуках). Зниження енергоспоживання досягається за рахунок переходу на більш "тонкий" техпроцес (90-65-50-40 нанометрів).
  • DDR4 - з'явилася на ринку в 2014-му році. Еволюція DDR3 (знижена напруга (V 1.2), трохи більше контактів - 288, трохи вище модуль, швидкість передачі подвоєна за рахунок подвійного кількості самих чіпів пам'яті). Швидкість передачі даних до 3.2 Гігабіта в секунду. Максимальна частота роботи пам'яті цього типу - 4 266 МГц
  • Отже, ознаками, які характеризують оперативну пам'ять комп'ютера можна вважати наступні:

  • Тип ОЗП (SDRam, DDR і т. д.)
  • Обсяг модулів
  • Тактова частота їх роботи
  • Таймінги (затримки при доступі і вибіркою даних з чіпів - латентність)

  • Пункт перший ми розглядали вище, а ось з іншим давайте пройдемося. Обсяг мікросхем пам'яті зараз постійно збільшується і зараз модулем 1 Гб (гігабайт) вже нікого не здивуєш. А раніше я добре пам'ятаю, який побожний трепет викликала в мені фраза: "У мене на роботі на комп'ютері встановлено 128 мегабайт RAM!" Причому знайомий на той момент працював з тривимірною графікою в програмі моделювання «3DMax» :) Зараз є модулі по 16 гігабайт кожен і я впевнений, що це не межа.

    Йдемо далі: тактова частота. Вимірюється в мегагерцах (МГц - MHz) та загальним правилом є те, що чим вона більша, тим пам'ять працює швидше. Наприклад, пам'ять DDR4 працює на частоті 4266 Мегагерц. При більш високій частоті зростає і пропускна здатність оперативної пам'яті (те, скільки даних вона може "прокачати" через себе за одиницю часу).

    Ось невелика зведена таблиця наочно показує цей момент:


    Частоты работы памяти

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

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

    Замість істотного збільшення тактової частоти самої пам'яті, вони збільшили розрядність внутрішньої шини даних (від осередків матриць пам'яті до буферів вводу-виводу) і зробили її в два рази більшою, ніж розрядність зовнішньої шини (від контролера до мікросхем пам'яті). Вийшло, що за один такт зчитується стільки даних, скільки раніше чувалося по зовнішній шині тільки за два такти. При цьому, ширина зовнішньої шини даних становить, як і раніше, 64 біта, а внутрішньої - 128/256/512 і т. д. біт.

    Ще однією "прийомом", що дозволяє підняти швидкодію без збільшення частоти є паралельна установка модулів для включення двох і трьохканального режимів роботи (double triple-channel відповідно). Це ще трохи збільшує продуктивність підсистеми пам'яті (5-10 відсотків). Для роботи в такому режимі переважно використовувати Kit-и. «KIT - це набір модулів, що складається з кількох "планок", які вже протестовані для кооперативної роботи один з одним.

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


    Трехканальная память

    А ось так можуть виглядати на платі чотири канали оперативної пам'яті (quad-channel) :


    Плата с четырехканальной памятью

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

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

    Зараз кілька слів про мікросхеми оперативної пам'яті (чіпах). Як і будь-який елемент комп'ютера на який подається напруга, пам'ять гріється. Як ми пам'ятаємо, комплектуючі всередині системного блоку підживлюються певною кількістю постійного струму, яке їм віддає блок живлення - 12V, 5V або 3 Вольта.

    Гріються безпосередньо самі мікросхеми. І деякі виробники плат ставлять на свої вироби невеликі радіатори для відводу тепла. Радіатори, як правило, просто приклеюються за допомогою спеціального складу або тримаються на термопасті.


    Оперативная память с радиатором

    Радіатор також може замикатися зверху:


    Медный радиатор на ОЗУ

    Ось, наприклад, якийсь зразок оперативної пам'яті комп'ютера від брендової компанії «OCZ» знаходиться в моїй домашній колекції:


    Качественный радиатор на чипах памяти

    Річ! Подвійний радіатор, плата приємно обважнює долоню і взагалі справляє враження предмета, зробленої на совість. Плюс - знижені таймінги роботи :)

    Пам'ятаю в 2008-му році я деякий час працював на одній великій фірмі. Комп'ютеризовано там було все досить серйозно. В IT відділі там працювали, в хорошому сенсі цього слова, справжні "маніяки" своєї справи :) Коли я вперше подивився на вкладку властивостей тамтешнього термінального сервера, який працював під керуванням 64-х розрядної ОС Windows Server 2003, я м'яко кажучи, дуже здивувався. Я побачив цифру в 128 (сто двадцять вісім) гігабайт оперативної пам'яті! Розуміючи, що виглядаю нерозумно, я все таки вирішив перепитати, чи це так? Виявилося, що так воно і є насправді (128 гігабайт DRAM). Шкода, що мені тоді не вдалося поглянути на ту материнську плату :)

    Продовжуємо! Чіпи пам'яті можуть бути розташовані як з одного боку друкованої плати текстоліту, так і з обох і бути різної форми (прямокутні або квадратні), встановлені як планарні SMD або ж BGA компоненти. Висота самого модуля також може бути різною. Кожен з чіпів оперативної пам'яті має певну ємність, яка вимірюється в мегабайтах (зараз - в гігабайтах).

    Наприклад, якщо у нас планка має об'єм 256 мегабайт і складається з 8-ми чіпів (ділимо на 256 8) і отримуємо, що в кожній мікросхемі міститься по 32 мегабайта.

    Не можу обійти увагою особливий клас пам'яті - серверну DRAM. На фото нижче представлені кілька модулів: перший і третій - серверні варіанти (натисніть на фото для збільшення).


    Серверная ECC память

    Чим же серверна пам'ять відрізняється від звичайної? Навіть візуально на фото вище видно, що рішення для серверів мають додаткові чіпи на платі, які забезпечують їй додатковий функціонал. Який? Давайте подивимося! Насамперед, з'ясуємо, які додаткові компоненти на друкованій платі оперативної пам'яті (окрім самих чіпів ОЗУ) є стандартними? Це ряд твердотільних танталових SMD конденсаторів, розташованих безпосередньо над контактними площадками модуля. Це - компоненти "обв'язки" плати пам'яті.

    Другим обов'язковим елементом (на фото вище відзначений зеленим) можна назвати мікросхему SPD. Абревіатура розшифровується як «Serial Presence Detect» - інтерфейс послідовного детектування або послідовне визначення наявності. Якось так :) По суті, - це програмований ПЗУ, в якому "зашиті" налаштування кожного модуля пам'яті: усі параметри, частоти, таймінги, режими роботи і т. д. Саме звідти при старті комп'ютера вони зчитуються мікросхемою біоса.

    Додатковим мікросхеми на серверних платах (обведено червоним) забезпечують можливість виявлення та виправлення помилок читання/запису (технологія ECC) і часткової буферизації (регистровость пам'яті).

    Примітка: ECC - (error-correcting code - код корекції помилок) Алгоритм виявлення та виправлення випадкових помилок при передачі даних (не більше одного-двох бітів у байті).

    Для реалізації цих можливостей на модуль встановлюється додаткова мікросхема пам'яті і він стає не 64-х розрядним, як звичайні DIMM, а 72-ти двох. Тому далеко не всі материнські плати можуть працювати з такою пам'яттю. Деякі, треба віддати їм належне, - працюють! :)

    Натисніть на фото вище і Ви зможете побачити додаткові позначення на стікері (виділені червоним), яких немає для звичайної пам'яті. Я маю на увазі такі скорочення, як: «SYNCH», «CL3 (2.5)», «ECC» і «REG». Зупинимося на них окремо. Оскільки перший з наведених на фото модулів відноситься до періоду поширення персональних комп'ютерів під загальним брендом «Pentium», то на ньому окремо присутній позначення «SYNCH».

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

    Саме про величину латентності модуля серверної пам'яті говорить нам другий показник на стікері «CL3». Розшифровується як «Cas Latency» - мінімальний час, що вимірюється в тактах системної шини, між командою на читання (CAS, за фактом - передачею в пам'ять потрібної адреси рядка або стовпця) і початком передачі даних.

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

    Для прикладу, деякі (далеко не всі) затримки представлені в таблиці нижче:

    Таблица таймингов оперативной памяти

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

    Позначення ECC ми вже розглядали вище, не будемо повторюватися. А ось з покажчиком «REG» давайте розберемося! Як правило, так позначаються регістрові (Registered) модулі оперативної пам'яті. Що це означає? Між чіпами ПАМ'ЯТІ і шиною встановлюється додаткова мікросхема, що виконує роль своєрідного буфера. Тому подібний тип регістрової пам'яті часто називають буферизованной (Buffered) або з частковою буферизацією.

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

    Оперативна пам'ять для ноутбуків називається SO-Dimm і має, в силу зрозумілих причин, укорочений дизайн. Виглядає вона наступним чином:


    Память для ноутбука

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

    І зовсім наостанок: купуйте оперативну пам'ять зарекомендували себе виробників: «Samsung», «Corsair», «Kingston», «Patriot», «Hynix», «OCZ» і тоді проблеми оперативної пам'яті будуть обходити Вас стороною.

    Нижче можете зробити невелику прогулянку по заводу одного з великих виробників мікросхем DRAM - «Kingston».





    Рекламний блок