Більшість користувачів комп’ютерів не особливо піклуються про продуктивність, коли вони купують комп’ютер. Якщо це досить швидко та дешево, це достатньо добре. Вони купуватимуть комп’ютер із процесором поточного або попереднього покоління та шукатимуть потрібний обсяг пам’яті з точністю до півтерабайта.
Деякі можуть шукати швидкість процесора, кількість ядер або ємність оперативної пам’яті, але, як правило, це все. Якщо ви ентузіаст технологій, ви можете приділяти більше уваги цим речам, щоб знати, що ви отримуєте та чи справді це вигідна угода.
Один із способів вичавити з комп’ютера максимальну продуктивність – отримати високопродуктивну оперативну пам’ять. Значним показником продажів є тактова частота оперативної пам’яті, наприклад DDR4-3200 або DDR5-6400. Технічно це друге число не є тактовою частотою. Це швидкість передачі. Це подвоєна тактова частота, оскільки DDR RAM має подвійну швидкість передачі даних. Проте більша цифра краще звучить у маркетингових матеріалах.
Ця швидкість передачі є показником пропускної здатності оперативної пам’яті, тому вищі цифри кращі. Однак пропускна здатність — не єдиний фактор продуктивності оперативної пам’яті. Затримка настільки ж важлива, якщо не більше.
Що таке латентність?
Затримка — це міра затримки між ініціюванням процесу та фактичним його виконанням. Простим прикладом є «ping» вашого інтернет-з’єднання. Якщо ви коли-небудь проводили тест швидкості, ви бачили свою швидкість завантаження та пінг. Швидкість завантаження — це ваша пропускна здатність Інтернету, а пінг — це затримка між тим, як ви надсилаєте запит, і сервером, який його отримує. Як знають багато гравців, неважливо, наскільки швидкий ваш Інтернет. Ви не матимете хорошого досвіду, якщо у вас висока затримка.
Високопродуктивна оперативна пам'ять завжди буде рекламувати свою швидкість. Він часто рекламує принаймні один конкретний показник затримки. Найбільш поширеним і важливим показником затримки є затримка CAS, іноді скорочена до CL. Заглянувши трохи глибше в специфікації продукту, як правило, можна знайти основні чотири основні таймінги. Це tCL/tCAS (затримка CAS), tRCD, tRP і tRAS. Час від часу може супроводжуватися п’ятим числом, командною швидкістю, але це дещо інше і загалом неважливе.
Основи роботи ОЗП
Перш ніж ми визначимо ці первинні таймінги, важливо зрозуміти основи того, як насправді функціонує оперативна пам’ять. Дані в оперативній пам’яті зберігаються в стовпцях, і лише з одним можна взаємодіяти в будь-який час. Щоб мати можливість читати зі стовпця або записувати в нього, спочатку потрібно відкрити рядок, у якому розташований цей стовпець. Одночасно може бути відкритий лише один рядок. Оперативна пам'ять може мати кілька банків. У цьому випадку для кожного банку може бути доступний лише один рядок. Хоча одночасно можна взаємодіяти лише з одним стовпцем, наявність другого рядка, відкритого в другому банку, дозволяє ефективно поставити в чергу наступну операцію читання або запису.
Важливо розуміти, що час не є абсолютним значенням. Насправді вони кратні тактовій частоті вводу-виводу RAM, оскільки є одиницями тактових циклів. Знову ж таки, оперативна пам’ять вдвічі перевищує швидкість передачі даних, що становить половину рекламованої швидкості. Щоб визначити фактичну затримку певного часу, вам потрібно трохи підрахувати. Ви можете зробити 1/(рекламована швидкість передачі в Ts/2), щоб отримати тривалість одного тактового циклу в секундах, а потім помножити це на коефіцієнт часу, значення якого ви хочете знати. Крім того, припустімо, що вам потрібен легший час. У цьому випадку ви можете зробити 2000/оголошену швидкість передачі в MT, щоб отримати тривалість одного тактового циклу в наносекундах і помножити це на коефіцієнт синхронізації.
Наприклад, якщо у нас є два комплекти оперативної пам’яті, DDR4-3000 CL15 і DDR4-3200 CL16, ми можемо зробити (2000/3000)*15 і (2000/3200)*16, щоб виявити, що абсолютна затримка CAS обох типів оперативної пам'яті становить 10 наносекунд.
Первинні таймінги
Основні таймінги оперативної пам'яті зазвичай представлені у вигляді набору з чотирьох чисел, розділених тире. Іноді вони супроводжуються «1T» або «2T» на кінці. Для наведених нижче прикладів ми використаємо основні таймінги з двох записів у нашій недавній статті про найкраща ігрова оперативна пам'ять у 2022 році: G.Skill Trident Z Royal DDR4 3200 CL16-18-18-38 і G.Skill Trident Z5 RGB DDR5 6400 CL32-39-39-102. Для цих прикладів основними таймінгами є 16-18-18-38 і 32-39-39-102 відповідно. Час для одного такту становить 0,625 наносекунд і 0,3125 наносекунд відповідно.
Примітка: усі ці таймінги впливають на будь-яку операцію, читання чи запису, хоча в наведених нижче прикладах ми будемо посилатися на операції читання, щоб спростити речі.
Затримка CAS
Перше число в первинних таймінгах – це затримка CAS. Зазвичай це основний час для покращення, якщо ви намагаєтеся розігнати оперативну пам’ять. Затримку CAS також можна позначити як CL, tCAS або tCL, причому останні два, швидше за все, можна знайти в BIOS та інших утилітах налаштування. CAS є скороченням від Column Address Strobe. Технічно це вже не стробоскоп. Але ця команда зчитує дані зі стовпця відкритого рядка у так званому «поверненні сторінки».
tCL є мірою того, через скільки циклів після надсилання інструкції CAS відповідь почне повертатися по шині введення/виведення. Отже, для нашого прикладу DDR4 затримка CAS становить 10 наносекунд; для нашого прикладу DDR5 затримка CAS також становить 10 наносекунд.
Затримка з RAS до CAS
Другим записом у первинних таймінгах є затримка RAS до CAS. Зазвичай це позначатиметься як tRCD і є мінімальним, а не точним значенням. Якщо під час надходження інструкції читання немає відкритих рядків, це називається «пропуском сторінки». Рядок потрібно спочатку відкрити, щоб отримати доступ до стовпця та прочитати його дані. RAS означає Row Access Strobe. Подібно до CAS, це вже не стробоскоп із назвою «похмілля», а назва команди, виданої для відкриття рядка.
Затримка від RAS до CAS — це мінімальна кількість тактів, необхідних для відкриття рядка, припускаючи, що жодного рядка не відкрито. Час для зчитування даних у цьому сценарії становить tRCD + tCL. Наш приклад DDR4 має tRCD 18, що становить 11,25 наносекунд, а наш приклад DDR5 має tRCD 39, що дає 12,1875 наносекунд.
Час попередньої зарядки рядків
Третім основним часом є час попередньої зарядки рядка, який зазвичай скорочується до tRP. Це значення має важливе значення, коли є інший тип пропуску сторінки. У цьому випадку правий ряд не відкритий, але інший ряд відкритий. Щоб відкрити правий ряд, необхідно спочатку закрити другий ряд. Процес завершення ряду називається попередньою зарядкою. Це передбачає запис значень до рядка, зчитованого під час його відкриття.
Час попереднього заряджання рядка — це мінімальна кількість тактів, необхідних для завершення процесу попереднього заряджання відкритого рядка. Загальний час, необхідний для зчитування даних із клітинки, у цьому сценарії буде tRP + tRCD + tCL. Оскільки значення tRP такі ж, як tRCD в обох наших прикладах, легко побачити, що вони закінчаться з однаковими значеннями: 11,25 наносекунд для DDR4 tRP і 12,1875 наносекунд для DDR5 tRP.
Час активації рядка
Четвертий основний час – це час активації рядка, який зазвичай скорочується до tRAS. Це мінімальна кількість тактів між командою відкриття рядка та командою precharge для його повторного закриття. Це час, необхідний для внутрішнього оновлення рядка. Це єдиний основний час, який збігається з іншим, зокрема tRCD. Значення різняться, але зазвичай становлять приблизно tRCD + tCL, хоча вони можуть коливатися приблизно до tRCD + (2* tCL).
Наш приклад DDR4 має tRAS 38 циклів, що дає загальний час 23,75 наносекунди. У нашому прикладі DDR5 значення rRAS становить 102 цикли, що дає загальний час 31,875 наносекунди.
Історично для синхронізованої DRAM значення були дуже близькими до tRCD + tCL, як видно з нашого прикладу таймінгів DDR4. Сценарій tRCD + (2* tCL) традиційно використовувався для асинхронної DRAM, оскільки контролер пам’яті потребував більш ніж достатньо часу для завершення операції. Цікаво, що наразі DDR5 також використовує суму tRCD + (2* tCL). Незрозуміло, чи це викликано зміною стандарту, чи це проблема ранніх продуктів DDR5, які будуть суворішими в міру розвитку платформи.
Цікаво, що є деякі докази того, що можна завантажитися з tRAS, нижчим за tRCD + tCL. Теоретично це не повинно працювати. Незрозуміло, чи це тому, що це значення, як і більшість інших таймінгів, є мінімальним, і контролер пам’яті на практиці вирішує використовувати менші таймінги. Або якщо налаштування були лише частково стабільними. З основних таймінгів це, ймовірно, має найменший вплив на фактичну продуктивність, але, можливо, варто скоригувати, якщо ви прагнете до максимальної продуктивності, особливо з високими значеннями, які спостерігаються в поточній DDR5.
Командна швидкість
Частота команд — це кількість циклів між вибраним чіпом DRAM і виконанням команди на цьому чіпі. Існує багато абревіатур для цього значення, наприклад CR, CMD, CPC і tCPD. Найпростіший спосіб визначити це те, що числове значення зазвичай супроводжується «T». Незважаючи на позначення Т, це все ще міра в тактах.
Більшість оперативної пам’яті, яку ви знайдете, працюватиме на 2T, хоча деякі можуть працювати на 1T. Різниця буде мінімальною, оскільки це різниця в один такт, менше наносекунди.
Вторинний і третинний таймінг
Є багато інших вторинних і третинних часових поясів, які можна змінити. Однак зробити це дуже складно. Навіть досвідченим оверклокерам пам'яті може знадобитися день або більше, щоб налаштувати стабільні налаштування. Деякі легше налаштувати, ніж інші, і вони мають більш значний вплив. Наприклад, tREFI і tRFC. Вони контролюють, як часто оновлюються комірки пам’яті та скільки часу займає процес оновлення. Під час процесу оновлення банк повинен простоювати. Таким чином, маючи якомога більший інтервал між оновленнями та якомога коротший період оновлення, ваша оперативна пам’ять може працювати довше.
Налаштування цих значень показує конкретне значення, коли конфігурація оперативної пам’яті має недостатню кількість банків. Важливо розуміти, що неправильне отримання цих значень спричинить масштабні помилки пошкодження пам’яті, оскільки комірки не оновлюватимуться досить часто. Ці параметри також залежать від температури оперативної пам’яті, оскільки це безпосередньо впливає на те, як швидко спадає заряд у комірці, а отже, як часто її потрібно оновлювати.
Коефіцієнт контролера пам'яті
Останні покоління процесорів дозволяють налаштувати співвідношення контролера пам'яті. Це зазвичай відомо як Gear 1, 2 і 4. Gear 1 дозволяє контролеру пам’яті працювати у співвідношенні 1:1 з пам’яттю. Однак це призводить до надмірного споживання енергії понад 3600 МТс, що впливає на стабільність системи. Для деякого збільшення затримки перемикання на Gear 2 запускає контролер пам’яті у співвідношенні 1:2 із удвічі меншою швидкістю пам’яті. Зрештою, це лише дає будь-які переваги приблизно від 4400 МТ і вище. Передача 1 краща, але передача 2 може забезпечити стабільність на вищих швидкостях.
Хоча це важливо для оперативної пам’яті DDR4, оперативна пам’ять DDR5 наразі завжди працює в Gear 2, оскільки вона запускається швидше. Хоча наразі це непотрібно, оскільки технологія недостатньо зріла для використання, Gear 4 керуватиме контролером пам’яті у співвідношенні 1: з пам’яттю на одній чверті швидкості. Знову ж таки, це необхідно лише на високих швидкостях. Однак незрозуміло, де саме відбуватиметься це перемикання, оскільки апаратного забезпечення ще немає.
Висновки
Таймінг оперативної пам'яті забезпечує неймовірні можливості налаштування оперативної пам'яті вашої системи. Однак вони також є глибокою кролячою норою, якщо ви потрапите в повний розгін оперативної пам’яті. Щоб спростити отримання більшості переваг, стандарт XMP дозволяє виробникам пам’яті вказувати рекомендовані таймінги поза стандартами JEDEC. Це може запропонувати додаткову продуктивність у реалізації майже підключи та працюй.
У деяких випадках профіль XMP буде ввімкнено за замовчуванням. Все-таки часто доведеться вибирати його вручну в BIOS. Це автоматично застосовує вищі швидкості, рекомендовані постачальником, і зводить час до налаштувань, перевірених постачальником. Якщо ви вирішите налаштувати таймінги оперативної пам’яті, важливо знати, що це таке та що вони роблять.