Як дізнатися частоту оперативної пам'яті. Дивитись що таке "DRAM" в інших словниках Протокол доступу до читання

💖 Подобається?Поділися з друзями посиланням

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

Ми сконцентруємося на сучасної технології, ми обговорюватимемо асинхронну DRAM та її варіанти, оскільки вони неактуальны. Читачі, зацікавлені цією темою, надсилаються до і . Ми також не будемо говорити про Rambus DRAM (RDRAM), хоча ця технологія і не вийшла з вжитку. Просто вона не використовується широко в системної пам'яті. Ми сконцентруємося виключно на синхронній DRAM (SDRAM – Synchronous DRAM) та її послідовниці Double Data Rate DRAM (DDR).

Синхронна DRAM, як випливає з її назви, працює за джерелом часу. У контролері пам'яті є тактовий генератор, частота якого визначає частоту системної шини (FSB – Front Side Bus) – інтерфейс контролера пам'яті, що використовується чіпами DRAM. Під час написання цього тексту використовуються частоти 800МГц, 1066МГц і навіть 1333МГц, а частота 1600МГц анонсована для наступного покоління. Це не означає, що частота шини справді така висока. Натомість за один такт дані передаються два або чотири рази. Великі числакраще продаються, тому виробники рекламують шину 200МГц з швидкістю передачі даних як шину з "ефективною" частотою 800МГц.

Сьогодні для SDRAM одна порція передачі становить 64 біт - 8 байт. Отже, швидкість передачі для FSB це 8 байт помножити на ефективну частоту шини (6.4Гб/с для шини 200МГц з вчетверо швидкістю передачі). Здається, що це багато, але це пікова швидкість, максимум, який неможливо перевершити. Як ми побачимо, протокол обміну даними з модулем RAM передбачає наявність багатьох відрізків часу, коли жодні дані не передаються. Це саме такі відрізки часу, які ми повинні навчитися розуміти та мінімізувати, щоб досягти найкращої продуктивності.

2.2.1 Протокол доступу до читання

Рисунок 2.8: Тимчасові діаграми протоколу доступу до читання з SDRAM

Рисунок 2.8 показує активність на деяких виходах модуля DRAM, яку можна розділити на три фази, які на малюнку забарвлені у різні кольори. Як завжди, час тече зліва направо. Багато деталей опущено. Тут ми говоримо тільки про тактові імпульси шини, сигнали RAS і CAS і шини адреси та даних. Цикл читання починається з того, що контролер пам'яті посилає адресну шину адресу рядка і знижує рівень сигналу RAS . Всі сигнали читаються під час підвищення рівня сигналу тактового генератора (CLK), тому немає значення, що сигнали не зовсім прямокутної форми - аби вони були стабільні, коли їх почнуть читати. Встановлення адреси рядка спонукає чіп RAM фіксувати адресний рядок.

Сигнал CAS може бути надісланий через t RCD (RAS-to-CAS Delay) тактів. Потім адресною шиною передається адреса колонки і знижується рівень сигналу CAS . Тут ми бачимо як дві частини адреси (майже половинки) можуть бути передані по одній і тій же адресній шині.

Нарешті адресацію закінчено і можна надсилати дані. Чіпу RAM потрібно деякий час, щоб підготувати це. Ця затримка зазвичай називається CAS Latency (CL). На малюнку 2.8 вона дорівнює 2. Вона може бути вищою або нижчою, залежно від якості контролера пам'яті, материнської плати та модуля DRAM. Вона також може набувати половинних значень. При CL=2.5 перші дані почнуть передаватися на першому зниженні тактового сигналу генератора в синій області.

З усіма цими приготуваннями було б марнотратно передавати лише одне слово даних. Ось чому модулі DRAM дозволяють контролеру пам'яті задавати кількість даних, що передаються. Зазвичай вибір між 2, 4 або 8 словами. Це дозволяє заповнити цілі рядки кешів без нової послідовності RAS/CAS. Контролер пам'яті може також надіслати сигнал CAS без вибору рядка. Так можна зчитувати або записувати адреси пам'яті, що послідовно йдуть, значно швидше, через те, що не потрібно посилати сигнал RAS і деактивувати рядок (див. нижче). Контролер пам'яті повинен вирішувати, чи зберігати рядок "відкритим". Теоретично, якщо тримати її весь час відкритою, це може мати негативні наслідки в існуючих додатках(Див. ). Коли посилати новий сигнал CAS - визначається властивістю Command Rate модуля RAM (зазвичай позначається як T x, де xце значення таке як 1 або 2, воно дорівнюватиме 1 для високопродуктивних модулів DRAM, які приймають нові команди кожен цикл).

У цьому вся прикладі SDRAM видає одне слово за цикл. Це те, що може робити перше покоління. DDR може передавати два слова за цикл. Це скорочує час передачі, але не змінює затримки. В принципі DDR2 працює так само, хоча на практиці це виглядає по-іншому. Тут немає потреби заглиблюватися в деталі. Досить відзначити, що DDR2 можна зробити швидше, дешевше, надійнішою і енергоефективнішою (див. для більш детальної інформації).

2.2.2 Попередня зарядка та активація

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

Рисунок 2.9: Попередня зарядка та активація SDRAM

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

Навіть на модулях DRAM з command rate рівним 1 команда на попередню зарядку може бути запущена відразу. Необхідно чекати поки що передаються дані. У нашому випадку це два цикли. Виходить те саме, що і CL, але це просто збіг. Сигнал на попередню зарядку немає спеціальної виділеної лінії. Натомість на деяких реалізаціях використовується одночасне зниження рівнів Write Enable (WE) і RAS. Ця комбінація немає сенсу як така (див. подробиці кодування в ).

Після того, як команда на попередню зарядку передана, потрібно чекати t RP (Row Precharge time) циклів, перш ніж рядок може бути обраний. На малюнку 2.9 більшість цього часу (позначена фіолетовим кольором) перетинається з передачею даних (світло-синій). Це добре! Але t RP більше, ніж час передачі, тому наступний сигнал RAS затримується однією цикл.

Якби ми продовжили вісь часу в діаграмі, виявили б, що наступна передача даних починається через 5 циклів після закінчення поточної. Це означає, що шина даних використовується лише у двох циклах із семи. Помножте це швидкість FSB, і теоретичні 6.4Гб/с для шини частотою 800МГц перетворяться на 1.8Гб/с. Це погано, і це слід уникати. Техніки, описані у розділі 6, допоможуть збільшити цю швидкість. Але програміст має для цього постаратися.

Існує ще одна тимчасова константа для модулів SDRAM, яку ми не обговорили. На малюнку 2.9 команда на попередню зарядку обмежена часом передачі даних. Інше обмеження полягає в тому, що модулю SDRAM потрібен час після сигналу RAS, перш ніж він зможе заряджати інший рядок (цей час позначається t RAS). Це число зазвичай досить високо, удвічі-тричі більше значення t RP . Це проблема, якщо після сигналу RAS слідує лише один сигнал CAS і передача даних закінчується через кілька циклів. Припустимо, що малюнку 2.9 першому сигналу CAS безпосередньо передує сигнал RAS і t RAS дорівнює 8 циклам. Тоді команду на попередню зарядку потрібно відкласти на один цикл, оскільки сума t RCD , CL і t RP (бо воно більше, ніж час передачі даних) становить всього 7 циклів.

Модулі DDR часто описуються, використовуючи спеціальну нотацію: w-x-y-z-T. Наприклад: 2-3-2-8-T1. Це означає:

w 2 CAS Latency (CL)
x 3 RAS-to-CAS delay (t RCD)
y 2 RAS Precharge (t RP)
z 8 Active to Precharge delay (t RAS )
TT1Command Rate

Є ще безліч тимчасових констант, які впливають на те, як повинні даватися та виконуватись команди. Але практично цих п'яти констант достатньо, щоб визначати продуктивність модуля.

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

Схильний до пригод читач може спробувати налаштувати систему. Іноді BIOS дозволяє змінювати деякі або всі ці значення. У модулів SDRAM є програмовані регістри, де можна встановити ці значення. Зазвичай BIOS вибирає найкраще значення за замовчуванням. Якщо модуль RAM високої якості, то можливо можливо зменшити одну з затримок, не впливаючи на стабільність комп'ютера. Численні оверклокерські сайти в Інтернеті пропонують безліч документації про це. Робіть це на свій страх та ризик, але не говоріть потім, що вас не попереджали.

2.2.3 Перезаряджання

Найчастіше упускаемая тема під час розгляду доступу до DRAM це перезарядка. Як було показано в розділі 2.1.2, комірки DRAM необхідно постійно освіжати. І це не відбувається непомітно для решти системи. Коли рядок перезаряджається (одиниця виміру тут рядок (див. ) хоча в іншій літературі затверджується інше), доступ до неї неможливий. Дослідження показує, що "дивно, але організація перезарядки DRAM може драматично впливати на продуктивність".

Згідно зі специфікацією JEDEC (Joint Electron Device Engineering Council), кожен осередок DRAM повинен перезаряджатися кожні 64мс. Якщо масив DRAM має 8192 рядків, це означає, що контролер пам'яті повинен надсилати команду на перезарядку в середньому кожні 7.8125 мікросекунд (ці команди можуть бути поставлені в чергу і тому на практиці максимальний інтервал між двома з них може бути більшим). Керувати розкладом команд на перезарядку є обов'язком контролера пам'яті. Модуль DRAM пам'ятає адресу останнього перезарядженого рядка та автоматично збільшує лічильник адреси для кожної нової команди.

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

2.2.4 Типи пам'яті

Варто витратити трохи часу на опис існуючих типів пам'яті та їх найближчих послідовників. Ми почнемо з SDR (Single Data Rate) SDRAM, оскільки є базисом для DDR (Double Data Rate) SDRAM. SDR були дуже простими. Швидкість осередків пам'яті та передачі даних була однаковою.

Рисунок 2.10: Операції SDR SDRAM

На малюнку 2.10 осередок пам'яті DRAM може видавати вміст пам'яті з тією ж швидкістю, якою воно транспортується по шині пам'яті. Якщо осередок DRAM може працювати на частоті 100МГц, швидкість передачі даних шиною буде 100Мб/с. Частота fвсім компонентів однакова. Підвищувати пропускну спроможністьчіпа DRAM дорого, оскільки споживання енергії зростає зі зростанням частоти. Враховуючи величезну кількість масивів осередків, це неможливо дорого. ( Енергоспоживання = Динамічна ємність × Напруга 2 × Частота). Насправді це ще більша проблема, оскільки збільшення частоти також вимагає збільшення напруги підтримки стабільності системи. У DDR SDRAM (згодом звана DDR1) пропускну здатність було підвищено без збільшення будь-якої із задіяних частот.

Рисунок 2.11: Операції DDR1 SDRAM

Відмінність між SDR та DDR1, як можна побачити на малюнку 2.11 та зрозуміти з імені, у тому, що за один цикл передається подвійний обсяг даних. Тобто чіп DDR1 може передавати дані на збільшенні та зменшенні рівня сигналу. Це іноді називають шиною з "подвійним прокачуванням". Щоб зробити це можливим без збільшення частоти масиву осередків пам'яті, застосовується буфер. Буфер зберігає по два біти на кожну лінію даних. Для цього, у свою чергу, потрібно, щоб масив осередків на малюнку 2.7 мав шину даних з двох ліній. Реалізація цього тривіальна: потрібно використовувати однакову адресу колонки для двох осередків DRAM та звертатися до них паралельно. Зміни масиву осередків будуть мінімальними.

SDR DRAM були відомі просто за частотою (наприклад, PC100 для 100МГц SDR). Щоб покращити звучання DDR1, DRAM маркетологи мали змінити цю схему, оскільки частота не змінилася. Вони взяли ім'я, яке містить швидкість передачі в байтах, яку підтримує модуль DDR (він має шину шириною 64 біт):

100МГц × 64біт × 2 = 1600Мб/с

Отже, модуль DDR із частотою 100МГц називається PC1600. З 1600 > 100 всі маркетингові вимоги дотримані – звучить набагато краще, хоча реальне покращення лише вдвічі. ( Я зрозумів би, якби збільшили вдвічі, а то виходять дуті числа.}

Рисунок 2.12: Операції DDR2 SDRAM

Щоб отримати від технології ще більше, DDR2 включає ще трохи інновацій. Найбільш очевидна зміна, як можна бачити з малюнка 2.1, це подвоєння частоти шини. Подвоєння частоти означає подвоєння пропускної спроможності. Так як подвоєння частоти економічно невиправдано для масиву осередків, тепер потрібно, щоб буфер введення/виводу отримував по чотири біти за один цикл, які потім передає по шині. Це означає, що зміни у модулі DDR2 полягають у збільшенні швидкості буфера вводу/виводу DIMM. Це безперечно можливо і не вимагає значно більше енергії - це лише один невеликий компонент, а не весь модуль. Ім'я, яке маркетологи вигадали для DDR2, аналогічно імені для DDR1, тільки у обчисленні значення множник два замінюється на чотири (тепер у нас шина з "четверною прокачкою"). Малюнок 2.13 показує імена модулів, що використовуються сьогодні.

Частота
масиву
Частота
шини
Швидкість
даних
Ім'я
(швидкість)
Ім'я
(FSB)
133МГц266МГц4256Мб/сPC2-4200DDR2-533
166МГц333МГц5312Мб/сPC2-5300DDR2-667
200МГц400МГц6400Мб/сPC2-6400DDR2-800
250МГц500МГц8000Мб/сPC2-8000DDR2-1000
266МГц533МГц8512Мб/сPC2-8500DDR2-1066

Рисунок 2.13: Імена модулів DDR2

У назві є ще один трюк. Швидкість FSB, що використовується ЦПУ, материнською платоюта модулем DRAM виражена через "ефективну" частоту. Тобто вона множиться на 2 через те, що передача даних йде при підвищенні та зниженні рівня тактового сигналу генератора і число збільшується. Отже, модуль 133МГц із шиною 266МГц має "частоту" FSB 533МГц.

Специфікація DDR3 (справжньої, а не GDDR3, яка використовується в графічні карти) має на увазі подальші зміни, що продовжують логіку переходу до DDR2. Напруга буде знижена з 1.8В для DDR2 до 1.5В для DDR3. Оскільки енергоспоживання пропорційно квадрату напруги це дає 30% поліпшення. Додайте до цього зменшення мікросхеми та інші електричні покращення, і DDR3 може на тій самій частоті споживати половину енергії. А на більшій частоті обходиться такою ж кількістю. Або можна вдвічі збільшити ємність для такої кількості виділення тепла.

Масив осередків модуля DDR3 буде працювати на чверті швидкості зовнішньої шини, що вимагатиме восьмибітного буфера вводу/виводу, більше в порівнянні з чотирибітним DDR2. На малюнку 2.14 зображено схему.

Рисунок 2.14: Операції DDR3 SDRAM

Швидше за все, спочатку модулі DDR3 матимуть трохи більшу затримку CAS ніж DDR2, тому що DDR2 зріліша технологія. Тому використовувати DDR3 буде сенс тільки на більш високих частотах, ніж ті, які можна досягти для DDR2, або коли пропускна здатність важливіше, ніж затримка. Вже ходять розмови про модулі з напругою 1.3В, у яких буде та ж затримка CAS, як і DDR2. У будь-якому випадку, можливість досягти більш високих швидкостейчерез швидші шини переважить збільшення затримки.

Одна можлива проблемаз DDR3 полягає в тому, що на швидкості 1600Мб/с і вище число модулів на канал може бути скорочено до одного. У ранніх версіяхце обмеження було присутнє всім частот, так що можна сподіватися, що з часом воно буде знято для всіх частот. Інакше ємність систем буде жорстко обмежена.

Малюнок 2.15 показує очікувані імена модулів DDR3. JEDEC на той час схвалило перші чотири типи. Зважаючи на те, що 45-нанометрові процесори Intel мають швидкість FSB 1600Мб/с, необхідно мати 1866Мб/с для ринку оверклокерів. Швидше за все, побачимо це ближче до кінця життєвого циклу DDR3.

Частота
масиву
Частота
шини
Швидкість
даних
Ім'я
(швидкість)
Ім'я
(FSB)
100МГц400МГц6400Мб/сPC3-6400DDR3-800
133МГц533МГц8512Мб/сPC3-8500DDR3-1066
166МГц667МГц10667Мб/сPC3-10667DDR3-1333
200МГц800МГц12800Мб/сPC3-12800DDR3-1600
233МГц933МГц14933Мб/сPC3-14900DDR3-1866

Рисунок 2.15: Імена модулів DDR3

Вся пам'ять DDR має одну проблему - збільшення частоти шини утруднює створення паралельних шин даних. Модуль DDR2 має 240 контактів. Усі з'єднання до контактів даних та адреси мають бути зроблені так, щоб вони мали приблизно однакову довжину. Ще більш проблематично те, що коли на одній шині кілька модулів DDR, сигнали стають все більш спотвореними для кожного додаткового модуля. Специфікація DDR2 дозволяє використовувати лише два модулі на одній шині (каналі), DDR3 - лише один модуль на високих частотах. З 240 контактами на канал, один Північний міст не може добре управляти більш ніж двома каналами. В якості альтернативи можна використовувати зовнішні контролери пам'яті (див. рис. 2.2), але це дуже дорого.

Все це означає, що материнські плати масових комп'ютерівможуть мати не більше чотирьох модулів DDR2 чи DDR3. Це жорстко обмежує кількість пам'яті, що може мати система. Навіть старі 32-бітові процесори IA-32 підтримували до 64Гб RAM, і потреба у великій кількості пам'яті зростає навіть для домашніх систем, тому треба щось робити.

Одне рішення - це додавати контролери пам'яті кожен процесор, як показано на початку цього розділу. AMD робить це на лінійці процесорів Opteron, і Intel робитиме у технології CSI. Це може допомогти, доки кількість пам'яті, яка здатна використовувати процесор, може бути приєднана до кожного процесора. У деяких ситуаціях це не так, і цей підхід призводить до архітектури NUMA з її негативними ефектами. Для деяких ситуацій потрібне взагалі інше рішення.

Рішення Intel для великих серверних машин принаймні на найближчі роки називається Fully Buffered DRAM (FB-DRAM). Модулі FB-DRAM використовують ті ж компоненти, що й сьогоднішні модулі DDR2, що робить їх відносно дешевими у виробництві. Різниця у поєднанні з контролером пам'яті. Замість паралельної шини даних FB-DRAM використовує послідовну шину (те саме було у Rambus DRAM і SATA, послідовнику PATA, і PCI Express після PCI/AGP). Послідовною шиною можна керувати значно більш високої частоті, долаючи негативний ефект серіалізації, і навіть збільшуючи пропускну здатність. Основні ефекти від використання послідовної шини:

  1. можна використовувати більше модулів на одному каналі,
  2. можна використовувати більше каналів на одному Північному мосту/контролері пам'яті,
  3. Послідовна шина є повнодуплексною (дві лінії).

Модуль FB-DRAM має лише 69 контактів, замість 240 у DDR2. Використовувати разом кілька модулів FB-DRAM набагато легше, оскільки електричними ефектами такої шини легше керувати. Специфікація FB-DRAM дає змогу використовувати до 8 модулів на один канал.

Враховуючи вимоги до з'єднань, що пред'являються двоканальним Північним мостом, тепер можна керувати шістьма каналами FB-DRAM з меншою кількістю контактів: 2×240 проти 6×69. Шлях на платі до кожного каналу також набагато простіше, що допоможе знизити ціну материнських плат.

Паралельні шини з повним дуплексом дуже дорогі для традиційних модулів DRAM – дуже витратно подвоювати кількість ліній. З послідовними лініями (навіть якщо вони різницеві, як вимагає FB-DRAM) це не так, тому послідовна шина зроблена повністю дуплексною, що означає в деяких ситуаціях, що пропускна здатність подвоюється тільки через це. Але це єдиний випадок, коли паралелізм використовується збільшення пропускну здатність. Так як контролер FB-DRAM може обслуговувати до шести каналів одночасно, пропускна здатність при використанні FB-DRAM може бути збільшена навіть для невеликих систем RAM. Там де система на DDR2 з чотирма модулями має два канали, та сама ємність може обслуговуватися через чотири канали звичайним контролером FB-DRAM. Реальна пропускна здатність послідовної шини залежить від того, які DDR2 чіпи (або DDR3) використовуються в модулях FB-DRAM.

Ми можемо підсумовувати переваги таким чином:

Існують негативні сторони FB-DRAM при використанні кількох DIMM на одному каналі. Сигнал затримується, хоч і мінімально для кожної DIMM у ланцюзі, що означає збільшення затримки. Але для тієї ж кількості пам'яті на тій же частоті FB-DRAM завжди буде швидше, ніж DDR2 та DDR3, оскільки на канал потрібна лише одна DIMM. Для систем з великим обсягом пам'яті DDR просто не має рішення на масових компонентах.

2.2.5 Висновки

Цей розділ повинен був показати, що доступ до DRAM не може бути як завгодно швидким процесом. Принаймні в порівнянні зі швидкістю процесора та швидкістю доступу процесора до регістрів та кешу. Важливо пам'ятати відмінності між частотами ЦПУ і пам'яті. Процесор Intel Core 2 має частоту 2.933ГГц, і системна шина з частотою 1.066ГГц матимуть відношення тактових частот 11:1 (зауважте, що дані на шину подаються вчетверо швидше за її частоту). Простий один цикл пам'яті означає простий 11 циклів процесора. У більшості машин реально використовуються повільніші DRAM, що ще більше збільшує затримку. Тримайте ці цифри в умі, коли ми говоритимемо про простої в наступних розділах.

Графіки для команд читання показують, що модулі DRAM здатні передавати дані з великою та стійкою швидкістю. Цілі рядки DRAM можуть передаватися без жодної затримки. Шина даних може залишатися на 100% завантаженою. Для модулів DDR це означає, що в кожному циклі передається два 64-бітові слова. Для модулів DDR2-800 на двох каналах це 12.8 Гб/с.

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

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

– Швидше, ще швидше, ну прискорись, будь ласка, хоч трохи, бо мене зараз…

- Не можу, дорогий Геймер, адже я досягла своєї граничної тактової частоти.

Приблизно так міг би виглядати діалог і Геймера, який має на рахунку кожна частка секунди.

Тактова частота оперативної пам'яті(ОЗУ, RAM) – другий за значимістю параметр після обсягу. Чим вона вища, тим швидше відбувається обмін даними між процесором і ОЗУ, тим швидше працює комп'ютер. Оперативка з низькими тактами може стати «пляшковим горлом» у ресурсомістких іграх та програмах. І якщо ви не хочете щоразу просити примхливу залозку трохи додати швидкість, при покупці завжди звертайте увагу на цю характеристику. Сьогодні поговоримо, як дізнатися про частоту оперативної пам'яті за описом у каталогах магазинів, а також про те, що встановлена ​​на вашому ПК.

Як зрозуміти, що за «звіра» пропонує магазин

В описі модулів оперативної пам'яті на сайтах інтернет-магазинів іноді вказують не всі, лише окремі швидкісні характеристики. Наприклад:
  • DDR3, 12800 Мб/с.
  • DDR3, PC12800.
  • DDR3, 800 МГц (1600 МГц).
  • DDR3, 1600 МГц.

Хтось подумає, що в цьому прикладі йдеться про чотири різні планки. Насправді так можна описати той самий модуль RAM з ефективною частотою 1600 МГц! І всі ці числа опосередковано чи прямо вказують на неї.

Щоб більше не плутатися, розберемося, що вони означають:

  • 12800 Мб/с– це пропускна спроможність пам'яті, показник, який отримується шляхом множення ефективної частоти (1600 МГц) на розрядність шини одного каналу (64 біт або 8 байт). Пропускна здатність визначає максимальну кількість інформації, яку модуль RAM здатний передавати за один такт. Як визначити по ній ефективну частоту, гадаю, зрозуміло: потрібно 12800 розділити на 8.
  • PC12800 або PC3-12800- Інше позначення пропускної спроможності модуля RAM. До речі, у комплекту з двох планок, призначеного для використання у двоканальному режимі, пропускна здатність у 2 рази вища, тому на його етикетці може стояти значення PC25600 або PC3-25600.
  • 800 МГц (1600 МГц)– два значення, перше у тому числі вказує на частотність шини самої пам'яті, а друге – вдвічі більше – її ефективну частоту. Чим відрізняються показники? У комп'ютерах, як ви знаєте, використовується ОЗУ типу DDR ​​– з подвоєною швидкістю передачі без збільшення кількості тактів шини, тобто за 1 такт через неї передається не одна, а дві умовні порції інформації. Тому основним показником прийнято вважати ефективну тактову частоту(У цьому прикладі – 1600 МГц).

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

Різні модулі ОЗУ у межах одного покоління – DDR, DDR2, DDR3 чи DDR4, мають різні частотні характеристики. Так, найпоширеніша на 2017 рік RAM DDR3 випускається з частотністю 800, 1066, 1333, 1600, 1866, 2133 та 2400 МГц. Іноді її так і позначають: DDR3-1333, DDR3-1866 і т.д. І це зручно.

Власну ефективну частоту має не лише оперативка, а й пристрій, який нею керує – контролер пам'яті. У сучасних комп'ютерні системи, починаючи з покоління Sandy Bridgeвін входить до складу процесора. У старіших – до складу компонентів північного мостуматеринської плати.

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

Якщо на комп'ютері встановлено кілька планок ОЗП з різними частотними характеристиками, підсистема пам'яті вестиме обмін даними зі швидкістю найповільнішої ланки (виключення – пристрою). Так, якщо частота контролера становить 1333 МГц, одній із планок – 1066 МГц, а інший – 1600 МГц, передача йтиме на швидкості 1066 МГц.

Як дізнатися частоту оперативної пам'яті на комп'ютері

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

Дані SPD вміють читати і програми, наприклад, широко відома утиліта, один з розділів якої так і називається - SPD». На скріншоті далі ми бачимо вже знайомі характеристики швидкості планки оперативної пам'яті. MaxBandwidth») - PC3-12800 (800 MHz). Щоб дізнатися про її ефективну частоту, достатньо розділити 12800 на 8 або 800 помножити на 2. У моєму прикладі цей показник дорівнює 1600 MHz.

Однак у CPU-Zє ще один розділ – « Memory», а в ньому – параметр « DRAMFrequency», рівний 665,1 MHz. Це, як ви, напевно, здогадалися фактичні дані, тобто частотний режим, в якому насправді функціонує ОЗУ. Якщо ми помножимо 665,1 на 2, отримаємо 1330,2 MHz – значення, близьке до 1333 – частоті, де працює контролер пам'яті цього ноутбука.

Крім CPU-Z, аналогічні дані показує й інші додатки, що служать для розпізнавання та моніторингу заліза ПК. Нижче наведені скріншоти безкоштовної утиліти:

Інші ідентичні за призначенням опції: Memory Frequency, DRAM Clock By, MEM Clock Setting, Memory Clock (Mhz), New MEM Speed ​​(DDR), System Memory Frequency.

До категорії опцій BIOS, що найчастіше використовуються, пов'язаних з налаштуванням роботи оперативної пам'яті комп'ютера, відноситься опція DRAM Frequency (Частота динамічного ОЗУ). Вона дозволяє користувачеві встановити один із найважливіших параметрів ОЗП – частоту роботи мікросхем пам'яті.

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

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

В даний час для оперативної пам'яті використовуються модулі, виготовлені за технологією DDR (Double Data Rate) Synchronous DRAM. Модулі DDR використовують синхронний, тобто, що визначається тактовим генератором, режим роботи, і мають удвічі більшу пропускну здатність у порівнянні зі звичайними модулями синхронної пам'яті (SDRAM).

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

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

Модулі оперативної пам'яті типу DDR, як правило, працюють на частоті 200, 266, 333, 400 МГц. Модулі DDR2 зазвичай мають вдвічі більші характеристики ефективної частоти порівняно з DDR2 – 400, 533, 667, 800, 1066 МГц, а отже, і вдвічі більшу продуктивність. Пам'ять типу DDR3, своєю чергою, має вдвічі більші показники ефективної частоти проти DDR2 – 800, 1066, 1333, 1600, 1800, 2000, 2133, 2200, 2400 МГц.

Для встановлення частоти роботи модулів оперативної пам'яті у багатьох BIOS існує функція DRAM Frequency, а також подібні до неї опції.

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

Опція DRAM Frequency може мати різні варіантизначень. Значення Auto означає, що швидкість роботи ОЗУ визначається BIOS автоматично. Значення by SPD означає, що частота роботи визначається спеціальними мікросхемами, вбудованими в модулі пам'яті - мікросхем SPD (Serial Presence Detect, схема послідовного детектування).

Також ця опція часто дозволяє вибрати точні величини частоти ОЗП з певного набору значень, що підтримуються материнською платою. Ці величини завжди вказуються у мегагерцях.

У деяких BIOS можуть зустрітися варіанти типу 1:1, Linked, Host Clk. Ці варіанти передбачають встановлення частоти роботи модулів пам'яті, що дорівнює частоті роботи системної шини.

Який варіант вибрати?

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

Також ручне встановленняЧастота пам'яті часто використовується при розгоні комп'ютера. Як відомо, збільшення частоти роботи оперативної пам'яті в більшості випадків дозволяє підвищити продуктивність комп'ютера, хоч і не настільки великою мірою, як підвищення швидкості роботи процесора. Зазвичай приріст продуктивності при розгоні ОЗП може становити від 4 до 12%. Крім точкового розгону певного компонента ПК є варіанти опцій, такі як які можуть регулювати комплексний розгін.

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

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

Принцип дії

Принцип дії читання DRAM для простого масиву 4×4

Принцип дії запису DRAM для простого масиву 4×4

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

Спочатку мікросхеми пам'яті випускалися в корпусах типу DIP (наприклад, серія К565РУхх), далі вони стали вироблятися більш технологічних для застосування в модулях корпусах.

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

Модулі SIPP

Модулі типу SIPP (Single In-line Pin Package) є прямокутними платами з контактами у вигляді ряду маленьких штирьків. Цей тип конструктивного виконання вже практично не використовується, оскільки він був витіснений модулями типу SIMM.

Модулі SIMM

Модулі типу SIMM (Single In-line Memory Module) є довгими прямокутними платами з рядом контактних майданчиків уздовж однієї з її сторін. Модулі фіксуються в роз'ємі (сокеті) підключення за допомогою клямок, шляхом встановлення плати під деяким кутом і натискання на неї до приведення у вертикальне положення. Випускалися модулі на 4, 8, 16, 32, 64, 128 Мбайт.

Найбільш поширені 30- та 72-контактні модулі SIMM.

Модулі DIMM

Модулі типу DIMM (Dual In-line Memory Module) являють собою довгі прямокутні плати з рядами контактних майданчиків вздовж обох її сторін, які встановлюються в роз'єм підключення вертикально і фіксуються по обох торцях засувками. Мікросхеми пам'яті на них можуть бути розміщені як з одного, так і з обох боків плати.

Модулі пам'яті типу SDRAM найбільш поширені у вигляді 168-контактних DIMM-модулів, пам'яті типу DDR ​​SDRAM – у вигляді 184-контактних, а модулі типу DDR2, DDR3 та FB-DIMM SDRAM – 240-контактних модулів.

Модулі SO-DIMM

Для портативних і компактних пристроїв (материнських плат форм-фактора Mini-ITX, лептопів, ноутбуків, таблеток тощо), а також принтерів, мережної та телекомунікаційної техніки тощо широко застосовуються конструктивно зменшені модулі DRAM (як SDRAM, так і DDR SDRAM) – SO-DIMM (Small outline DIMM) – аналоги модулів DIMM у компактному виконанні для економії місця.

Модулі SO-DIMM існують у 72-, 100-, 144-, 200- та 204-контактному виконанні.

Модулі RIMM

Модулі типу RIMM (Rambus In-line Memory Module) менш поширені, у яких випускається пам'ять типу RDRAM. Вони представлені 168- і 184-контактними різновидами, причому на материнській платі такі модулі обов'язково повинні встановлюватися тільки в парах, інакше в порожні роз'єми встановлюються спеціальні модулі-заглушки (це пов'язано з особливостями конструкції таких модулів). Також існують 242-контактні PC1066 RDRAM модулі RIMM 4200, не сумісні зі 184-контактними роз'ємами, та зменшена версія RIMM – SO-RIMM, які застосовуються в портативних пристроях.

Виробники мікросхем та збирачі модулів

У п'ятірку найбільших виробників DRAM за підсумками першого кварталу 2008 року увійшли



Розповісти друзям