Таймінги оперативної пам'яті. Латентність оперативної пам'яті – що це таке? Стандартні таймінги

Що це таке і навіщо ця характеристика потрібна в комп'ютерні технології? Де вона знайшла своє застосування? Як досягти найкращого значення цієї властивості?

Про оперативну пам'ять

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

Особливості латентності

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

Що являє собою латентність пам'яті

Ще трохи теорії. Так називають підсумовування, яке проводиться з використанням спеціального коефіцієнта некерованих зворотних струмів транзисторів, що входять у кожен чіп лінійки пам'яті, що використовується, а також час їх перемикання. Це може здатися складним, але це оманливе припущення. Так, латентність залежить від частоти, з якою працюють чіпи. Цікаво те, що вона не є пропорційною. Іншими словами: що менше латентність, то краще для користувача. Давайте розглянемо приклад. Ми хочемо, щоб у нашого гіпотетичного була розміром у два гігабайти. Ми можемо поставити одну лінійку, яка даватиме нам 2 Гб. Але це не найоптимальніший спосіб. В даному випадку найкраще встановити чотири лінійки, кожна по 512 Мб. При цьому також слід враховувати і вплив материнської плати, а також типи оперативної пам'яті, що використовується. Модуль, виконаний на основі однієї технології, не можна буде поставити на місце, яке призначене для іншої технології. Це реалізовано для того, щоб унеможливити пошкодження при експлуатації непризначеного для цих умов механізму.

Позначення

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

Типи пристроїв

Для поділу можливостей використовується double data rate (DDR), що можна перекласти як подвійну швидкістьпередачі даних. Найперші зразки цієї технології мали по 184 контакти. Їх стандартна напруга живлення була 2,5 В. Робить вибірку в 2 біти даних за один такт. Але в наш час вони вважаються застарілими і зараз практично ніде і в жодних умовах не використовуються. Найсучаснішим і найпоширенішим вважається DDR2. Вона дозволяє вибирати одразу 4 біти за один такт. Модуль виконується у вигляді яка має 240 контактів (по 120 на кожну сторону). Стандартне напруга живлення йому становить 1,8 У. Відносно новим вважається DDR3. Він за один такт може вибирати в 8 біт даних. Він також виконаний на друкованій платі, яка має 230 контактів. Але стандартна напруга живлення в даному випадку становить лише 1,5 В. Також існує ще і DDR4, але це нова технологія, яку зустріти ще дуже складно.

Пропускна здатність

Вже завершуватимемо статтю про латентність оперативної пам'яті. Того, що було представлено раніше, достатньо, щоб розуміти основну масу інформації про ОП. І як завершальний штрих – пропускна спроможність. Отже, в ідеалі величина цієї характеристики з боку оперативної пам'яті має відповідати розміру параметра процесора. Розглянемо це питання, вважаючи, що ми маємо згаданий раніше двоканальний режим. У нас є процесор, пропускна здатність якого – 10600 Мб/с. Тоді ми можемо встановити модуль оперативної якого складатимуть 5300 Мб/с. У парі вони забезпечать той самий розмір пропускної спроможності. Але не забувайте про те, що модулі мають бути однаковою частотою. А оптимальним буде, щоб вони ще й мали однаковий обсяг, їх виготовив один виробник, і вони випускалися в рамках однієї партії. Тоді латентність оперативної пам'яті прагнутиме мінімально можливого значення. Якщо говорити про те спеціально під ці випадки продають Kit. Так називають спеціальні набори, які вже оптимізовані для такої роботи. Слід зазначити, що можна використовувати і пам'ять, пропускна здатність якої вища, ніж процесор. Але на латентність це істотно не вплине, навіть якщо різниця буде кратною.

Висновок

Як бачите, латентність оперативної пам'яті – це дуже важлива характеристика. Особливо приємним є те, що на неї можна вплинути не лише з апаратного боку, а й підбираючи конфігурацію свого комп'ютера. Але при цьому все ж таки необхідно триматися в рамках розумного і в більш ніж чотириканальному режимі не працювати. Ні, звичайно, якщо є бажання, можна і на 512 Мб зібрати комп'ютер, який зможе похвалитися швидкістю обробки в 8 Гб. Але ефективність такого ходу буде досить сумнівною. Краще зупинитись у такому разі на 4 платах, кожна з яких матиме 2 Гб.

#Таймінги #CL

Вступ

Модулі пам'яті DDR та DDR2 класифікуються за максимальною частотою, на якій вони можуть працювати. Але, крім частоти, є інші параметри, що визначають продуктивність пам'яті – це таймінги. Таймінги - це числа, такі як 2-3-2-6-T1, 3-4-4-8 або 2-2-2-5, чим менше числа, тим краще. Давайте розберемося, що означає кожна цифра цих чисел.

Модулі пам'яті DDR та DDR2 маркуються за класифікацією DDRxxx/PCyyyy.

Перше число – xxx – вказує максимальну тактову частоту, де можуть працювати чіпи пам'яті. Наприклад, максимальна частота, де можуть працювати модулі DDR400 – 400 МГц, а модулі DDR2-667 можуть працювати на частотах до 667 МГц. Потрібно уточнити, що це реальна тактова частота осередків пам'яті – їх робоча частота у разі з DDR дорівнює половині, а DDR2 - чверті частоти, що вказується у маркуванні модулів. Тобто, модулі пам'яті DDR400 працюють на частоті 200 МГц, а модулі DDR2-667 на частоті 166 МГц, але з контролером пам'яті і DDR, і DDR-II повідомляються на половині частоти, зазначеної в маркуванні (тобто 200 і 333МГц, відповідно), тому надалі саме така частота матиме на увазі під реальною робочою.

Друге число – yyyy – вказує максимальну швидкість передачі в МБ/с.

Максимальна швидкість передачі даних у модулів DDR400 дорівнює 3200 МБ/с, отже їх маркують PC3200. Модулі DDR2-667 передають дані зі швидкістю 5336 МБ/с і їх маркують як PC2-5400. Як бачите, після "DDR" або "PC" ми ставимо цифру "2", щоб вказати, що йдеться про пам'ять DDR2, а не DDR.

Перша класифікація – DDRxxx – є стандартною класифікації чіпів пам'яті, друга – PCyyyy – для модулів пам'яті. На малюнку 1 представлений модуль пам'яті PC2-4200 Corsair, який зроблений на чіпах DDR2-533.


Модуль пам'яті DDR2-533/PC2-4200

Максимальну робочу частоту модуля пам'яті можна розрахувати за такою формулою:

максимальна теоретична швидкість передачі = тактова частота x число бітів / 8

Так як DIMM модулі передають одночасно 64 біти, то число бітів буде 64. Так як 64 / 8 дорівнює 8, то цю формулу можна спростити:

максимальна теоретична швидкість передачі = тактова частота x 8

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

Наприклад, Ви купили 2 модулі пам'яті DDR500/PC4000. Навіть якщо вони марковані як DDR500, у вашій системі вони не будуть автоматично працювати на частоті 500 МГц. Це максимальна тактова частота, яку вони підтримують, але вона не завжди збігається з тактовою частотою, на якій вони працюватимуть. Якщо Ви встановите їх у звичайний персональний комп'ютер, що підтримує модулі DDR, ці модулі пам'яті працюватимуть на частоті 400 МГц (DDR400) – максимальної частоті стандарту DDR. При цьому максимальна швидкість передачі даних дорівнюватиме 3200 МБ/с (або 6400 МБ/с, якщо модулі пам'яті працюють у двоканальному режимі). Таким чином, модулі не автоматично працюватимуть на частоті 500 МГц, і не досягнуть швидкості передачі даних в 4000 МБ/с.

Навіщо ж у такому разі такі модулі купують? Для розгону. Так як виробник гарантує, що ці модулі можуть працювати на частотах до 500 МГц, Ви знаєте, що можна підняти частоту шини пам'яті до 250 МГц, і таким чином збільшити швидкість комп'ютера. Але це можна буде зробити за умови, що материнська платакомп'ютер підтримує такий розгін. Тому, якщо Ви не хочете «розганяти» свій комп'ютер, то марно купувати модулі пам'яті з маркуванням тактовою частотою вище, ніж звичайна частота шини пам'яті материнської плати.

Для середнього користувача цієї інформації про модулі пам'яті DDR/DDR2 достатньо. Просунутому користувачу потрібно знати ще про одну характеристику: темповості роботи пам'яті, або, як ще називають сукупність часових параметрів роботи пам'яті - таймінги, затримки або латентність. Розглянемо ці параметри модулів пам'яті докладніше.

Таймінги

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

Для виконання кожної операції чіпу пам'яті потрібен певний час – таймінги якраз і визначають цей час, виражений у кількості циклів тактової частоти шини пам'яті. Наведемо приклад. Розглянемо найвідоміший параметр, який називають CAS Latency (або CL, або час доступу), який вказує, через скільки тактових циклів модуль пам'яті видає запитані центральним процесором дані. Модуль пам'яті з CL 4 запізнюється з відповіддю на 4 тактові цикли, тоді як модуль пам'яті з CL 3 запізнюється на 3 тактові цикли. Хоча обидва модулі можуть працювати на одній і тій же тактовій частоті, другий модуль працюватиме швидше, оскільки він видаватиме дані швидше, ніж перший. Ця проблема відома під назвою "час очікування".

Таймінги пам'яті позначаються рядом чисел, наприклад, так: 2-3-2-6-T1, 3-4-4-8 або 2-2-2-5. Кожне з цих чисел вказують, скільки тактових циклів пам'ять виконує певну операцію. Що менше ці числа, то швидше пам'ять.


DDR2 модуль пам'яті із таймінгами 5-5-5-15

Числа таймінгів вказують такі параметри: CL-tRCD-tRP-tRAS-CMD. Щоб було зрозуміліше, уявіть собі, що пам'ять організована як двомірної матриці, де дані зберігаються на перетині рядків і стовпців.

CL: CAS Latency – час, що минає з моменту надсилання команди на згадку до початку відповіді на цей запит. Тобто це час, що проходить між запитом процесора деяких даних із пам'яті та моментом видачі цих даних пам'яттю.

tRCD: затримка від RAS до CAS - час, який має пройти з моменту звернення до рядка матриці (RAS), до моменту звернення до стовпця матриці (CAS), у яких зберігаються потрібні дані.

tRP: RAS Precharge – інтервал часу з моменту закриття доступу до одного рядка матриці та початком доступу до іншого рядка даних.

tRAS– пауза, яка потрібна пам'яті, щоб повернутися до стану очікування наступного запиту.

CMD: Швидкість надходження команди (Command Rate) – час з моменту активації чіпа пам'яті до того моменту, коли можна буде звернутися до пам'яті з першою командою. Іноді цей параметр не вказується. Зазвичай це T1 (1 тактовий цикл) або T2 (2 тактові цикли).

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

Конфігурація таймінгів пам'яті в налаштуваннях материнської плати

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

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

Повертаючись наприклад з модулем пам'яті DDR500/PC4000 – навіть при тому, що з модулями DDR400/PC3200 Ви зможете досягти частоти 500 МГц (250 МГц x2), для них, можливо, доведеться збільшити таймінги, у той час як для модулів DDR500 PC4000 виробник гарантує, що Ви зможете досягти 500 МГц, зберігши вказані в маркуванні таймінги.

CAS Latency (CL)

Як згадувалося вище, CAS Latency (CL) є дуже важливим параметромпам'яті. Він показує, скільки тактових циклів необхідно пам'яті для видачі даних, що запитуються. Пам'ять з CL = 3 затримається з відповіддю на 3 тактові цикли, а пам'ять з CL = 5 зробить те саме тільки через 5 тактових циклів. Таким чином, з двох модулів пам'яті, що працюють на одній і тій же тактовій частоті, модуль, у якого CL менше, буде швидше.

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

На малюнку 4 показано приклад роботи CL. На ньому наведено 2 приклади: для модуля пам'яті з CL = 3 та модуля пам'яті з CL = 5. Синім кольором позначена команда "читати".

CAS Latency (CL)

Пам'ять з CL = 3 забезпечує 40% перевагу за часом очікування порівняно з пам'яттю з CL = 5, вважаючи, що вони працюють на одній тактовій частоті.

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

Таким чином, період одного тактового циклу пам'яті DDR2-533, що працює на частоті 533 МГц (частота шини – 266,66 МГц), дорівнює 3,75 нс (нс = наносекунда; 1 нс = 0,000000001 с). Майте на увазі, що при розрахунках потрібно використовувати реальну тактову частоту, яка дорівнює половині номінальної частоти. Таким чином, пам'ять DDR2-533 затримає видачу даних на 18,75 нс, якщо CL =5 і на 11,25 нс, якщо CL =3.

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

Затримка від RAS до CAS (RAS to CAS Delay)

Кожен чіп пам'яті внутрішньо організований як двовимірна матриця. У кожному перетині рядків і стовпців є невеликий конденсатор, який відповідає за збереження “0” чи “1” – одиниць інформації, чи даних. Процедура доступу до даних, що зберігаються в пам'яті, полягає в наступному: спочатку активується рядок з потрібними даними, потім стовпець. Ця активація відбувається за двома контрольними сигналами – RAS (Row Address Strobe) та CAS (Column Address Strobe). Чим менший часовий інтервал між цими двома сигналами, тим краще, оскільки дані будуть зчитуватися швидше. Цей час називається затримкою від RAS до CAS (RAS to CAS Delay). Це ілюструє малюнок 5 – у разі для пам'яті з tRCD = 3.

RAS to CAS Delay (tRCD)

Як бачите, затримка від RAS до CAS також є числом тактових циклів, що проходять з моменту приходу команди “Active” (активувати) до команди “читання” або “запис”.

Як і у випадку з CAS Latency, RAS to CAS Delay має справу з реальною тактовою частотою (яка дорівнює половині маркувальної частоти), і чим менший цей параметр, тим швидше працює пам'ять, тому що в цьому випадку читання або запис даних починається швидше.

RAS Precharge (tRP)

Після отримання даних із пам'яті потрібно надіслати в пам'ять команду Precharge, щоб закрити рядок пам'яті, з якого зчитувалися дані, і дозволити активацію іншого рядка. RAS Precharge time (tRP) – часовий інтервал між командою Precharge та моментом, коли пам'ять зможе прийняти наступну команду активації – Active. Як ми дізнались у попередньому розділі, команда “active” запускає цикл читання чи запису.

RAS Precharge (tRP)

На малюнку 6 наведено приклад пам'яті з tRCD = 3.

Як і у випадку з іншими параметрами, RAS Precharge має справу з реальною тактовою частотою (яка дорівнює половині маркувальної частоти), і чим менший цей параметр, тим швидше працює пам'ять, тому що в цьому випадку команда "active" надходить швидше.

Підсумовуючи розглянуте вище, отримуємо, що час, який минає з моменту видачі команди Precharge (закрити рядок та …) до фактичного отримання даних процесором дорівнює tRP + tRCD + CL.

Інші параметри

Розглянемо 2 інші параметри – Active to Precharge Delay (tRAS) та Command Rate (CMD). Як і у випадку з іншими параметрами, ці 2 параметри мають справу з реальною тактовою частотою (яка дорівнює половині маркувальної частоти), і чим менші ці параметри, тим швидше пам'ять.

Active to Precharge Delay (tRAS): якщо в пам'ять надійшла команда “Active”, то наступна команда “Precharge” не сприйматиметься пам'яттю, доки пройде час tRAS. Таким чином, цей параметр визначає часову межу, після якої пам'ять може почати зчитувати (або записувати) дані з іншого рядка.

Command Rate (CMD) – час з моменту активації чіпа пам'яті (приходу сигналу виведення CS – Chip Select [вибір чіпа]) доти, як чіп зможе прийняти якусь команду. Цей параметр позначається буквою “T” і може приймати значення 1Т або 2T – 1 тактовий цикл або 2 тактові цикли відповідно.

Вступ

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

Якщо вже в іграх різниця між швидкостями одного і того ж комп'ютера з 512 і 1024 Мб пам'яті на борту мізерна, можливо варто поставити 512 Мб дорогої пам'яті, ніж 1024 Мб дешевої? Взагалі-то, на продуктивність однієї й тієї ж модуля пам'яті впливають затримки, звані тайминги. Зазвичай виробник вказує їх через дефіс: 4-2-2-8, 8-10-10-12 і таке інше. Оверклокерська пам'ять для ентузіастів має низькі таймінги, але коштує дуже дорого. Звичайна пам'ять, яка просто працює стабільно і не обіцяє рекордів швидкості, має вищі таймінги. На цей раз ми з'ясуємо, що ж це за таймінги такі, затримки між чим і чим і як вони впливають на продуктивність комп'ютера!

Затримки пам'яті

З переходом індустрії на стандарт DDR-II багато користувачів повідомляли, що пам'ять DDR-II працювала не так швидко, як хотілося б. Деколи навіть повільніше, ніж пам'ять попереднього покоління, DDR-I. Зв'язувалося це з великими затримками перших модулів DDR-II. Що це за затримки? Зазвичай вони маркуються 4-4-4-12, чотири числа записаних через дефіс. Позначають вони таке:

CAS Latency - RAS to CAS Delay - Row Precharge - Activate to Precharge

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

RAS(Row Adress Strobe) – сигнал, що визначає адресу рядка.

CAS(Column Adress Strobe) – сигнал, що визначає адресу стовпця.

CAS Latency(CAS)- це кількість тактів від моменту запиту даних до зчитування з модуля пам'яті. Одна з найважливіших характеристикмодуль пам'яті.

RAS to CAS Delay(TRCD) – затримка між сигналами RAS та CAS. Як ми вже сказали, звернення до рядків та стовпців відбуваються окремо один від одного. Цей параметр визначає відставання одного сигналу іншого.

Row Precharge Delay(TRP) - затримка, необхідна підзарядку ємностей осередків пам'яті. Здійснюється або закриття цілого рядка.

Activate to Precharge(TRAS) – час активності строба. Мінімальна кількість циклів між командою активації (RAS) та командою підзарядки (Precharge) або закриття одного і того ж банку.

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

Пам'ять для швидкості

BIOS сучасних материнських плат дозволяє вручну змінювати значення таймінгів. Головне – щоб модулі пам'яті підтримували ці значення. За промовчанням значення таймінгів "прошити" в SPD чіпах модулів і материнська плата автоматично виставляє рекомендовані виробником значення. Але ентузіастам ніщо не заважає зменшити затримки вручну, трохи розігнавши пам'ять. Часто це призводить до нестабільній роботі. Тому, щоб порівняти вплив таймінгів на швидкість, ми візьмемо дуже швидку пам'ять і будемо безпечно загальмовувати її, змінюючи ті чи інші затримки.

Це сучасна платформа, яка розрахована на використання в комп'ютерах з високою продуктивністю. Вона побудована на чіпсеті Intel i925X, який має підтримку пам'яті тільки DDR-2, і використовує технології оптимізації PAT. У цьому комп'ютері дуже добре прорахована вентиляція, тому за перегрів нам не довелося боятися.

Тестова система

  • Intel Pentium 4 2.8 GHz (800 MHz FSB, 1024 Kb L2, LGA 775)
  • 80 Gb Maxtor DiamondMax 9 (7200 RPM, 8 Mb) S-ATA
  • SAPPHIRE RX600 PRO 128 Mb PCI Express
  • Windows XP Professional (Eng.) SP2
  • CATALYST 5.3

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

    Синтетика

    • RightMark Memory Analyzer

      SiSoft Sandra 2005

    Емуляція реальних завдань

    • PCMark 2004 patch 120

  • Тест RealWorld

Ну що ж, планів громаддя! Почнемо із синтетики.


Write to Read Turnaround Time(tW2R)
Час між записом та читанням, при читанні, що переривається записом.
Особливість проміжку полягає в тому, що для переривання читання потрібно подати команду Burst Terminate, а мінімальний проміжок від цієї команди до процедури запису називається RU(CL) (де CL – CAS Latency та RU – Round Up to the nearest integer, BST – Burst Terminate ). Схема процедури нижче:

Write to Read Turnaround Time for Same Bank(tW2RSame Bank)
Аналогічна попередньою процедура, що відрізняється від неї лише тим, що дія відбувається у тому самому банку. Особливість затримки в тому, що процедура запису, природно, не може бути більшою за проміжок до перезарядки банку (tWR), тобто закінчуватися під час перезарядки.

Read to Read Turnaround Time(tR2R)
Затримка під час переривання операції читання операцією читання з іншого банку.

Row Cycle Time, Activate to Activate/Refresh Time, Active to Active/Auto Refresh Time(tRC)
Час для автоматичного заряджання. Зустрічається у даташитах.

Auto Refresh Row Cycle Time, Refresh to Activate/Refresh Command Period, Refresh Cycle Time, Refresh to Active/Refresh Comand Period(tRFC)
Мінімальний проміжок між командою на підзарядку (Refresh) і наступною командою на підзарядку, або командою на активацію.

Memory Refresh Rate
Частота оновлення пам'яті.

Практика
Отже, ми розглянули основні таймінги, які можуть найчастіше зустрітися у програмах чи даташитах. Тепер, для повної картини, я розповім, чим корисні таймінги у розгоні.

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

Що краще – висока частота чи мінімальні таймінги? На нашій відповідь на це запитання звучить так:
"Є думка, що для Intel" важливіше таймінги, тоді як для AMD - частота. Зокрема, ALT-F13 (гуру з www.ModLabs.net) стверджує: "Кращий варіант для Intel - найагресивніші таймінги. Настільки, що асинхрон з 2-5-2-2 керує синхрон з 2.5-7-3-3 при будь-якому FSB (тобто – 280 3-7-3-3 за 1:1 гірше, ніж 230 2-5-2-2 за 5:4)".
При цьому не варто забувати, що для AMD найчастіше частота пам'яті важлива не аби яка, а досягається в синхронному режимі.

Хоча на кожній системі результат буде різним. Загалом, експериментуйте.

Для відеопам'яті є свої аспекти розгону. Так, для досягнення більших частот можна навіть підняти таймінги, оскільки падіння продуктивності буде мінімальне. Докладніше про такий розгін відеопам'яті розказано у цій статті, а обговорення цього методу – у гілці конференції.
І останнє: у форумах часто зустрічаються позначення типу 2-3-3-7. Так ось, це – показники основних характеристик пам'яті:


(Малюнок із сайту www.thg.ru). Тут таймінги наведено за значимістю.

Я вирішив дослідити вплив таймінгів на своїй системі.
Отже, ось вона:

Система була залишена "як є". Відеокарта також не розганялася. Випробування проводилися у двох тестових пакетах та в одній грі:

    3DMark 2001 patch 360, оскільки оцінює розгін кожного елемента системи, а не лише відеокарти

    SiSoft Sandra 2001 SP1 - Memory Bandwidth Benchmark, оцінює пропускну здатність пам'яті

    FarCry v.1.3 - Research Demo, використовувався як реальний ігровий додаток.

"Оверклокерська" для свого часу пам'ять NCP і на цей раз не дала промаху і дозволила запуститися на частоті 143МГц з таймінгами 2-2-2-7! Але змінити останній параметр (Tras) пам'ять не дає ні з якого приводу, тільки із зменшенням частоти. Втім, це не найважливіший параметр.





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


Зауваження щодо статті, як завжди, приймаю у

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

Структура пам'яті нагадує таблицю, де спочатку вибирають рядок, а потім стовпець. Ця таблиця розбита на банки, для пам'яті щільністю менше 64Мбіт (SDRAM) кількістю 2 штуки, вище – 4 (стандартно). Специфікація пам'яті DDR2 SDRAM з чіпами щільністю 1Гбіт передбачає вже 8 банків. На відкриття рядка у банку витрачається більше часу, ніж у іншому (т.к. рядок потрібно спочатку закрити). Очевидно, що краще новий рядоквідкривати в новому банку (на цьому ґрунтується принцип чергування рядків).

Зазвичай на пам'яті (або специфікації до неї) є напис виду 3-4-4-8 або 5-5-5-15. Це скорочений запис (так звана схема таймінгів) основних таймінг пам'яті. Що таке таймінги? Очевидно, що жоден пристрій не може працювати з нескінченною швидкістю. Значить, на виконання будь-якої операції йде якийсь час. Таймінги - це затримка, яка встановлює час, необхідне виконання будь-якої команди, тобто час від відправки команди до виконання. А кожна цифра означає, який саме час необхідний.

Тепер розберемо кожен по черзі. Схема таймінгів включає затримки CL-Trcd-Trp-Tras відповідно. Для роботи з пам'яттю необхідно спочатку вибрати чіп, з яким ми будемо працювати. Робиться це командою CS # (Chip Select). Потім вибирається банк та рядок. Перед початком роботи з будь-яким рядком необхідно його активувати. Це робиться командою вибору рядка RAS# (при виборі рядка вона активується). Потім (при операції лінійного читання) потрібно вибрати стовпець командою CAS # (ця команда ініціює читання). Потім рахувати дані та закрити рядок, здійснивши попередній заряд (precharge) банку.

Таймінги розташовані по порядку проходження в найпростішому запиті (для простоти розуміння). Спочатку йдуть таймінги, потім підтаймінги.

Trcd, RAS to CAS delay- час, необхідний для активізації рядка банку, або мінімальний час між подачею сигналу на вибір рядка (RAS#) та сигналу на вибір стовпця (CAS#).

CL, Cas Latency- Мінімальний час між подачею команди на читання (CAS) та початком передачі даних (затримка читання).

Tras, Active to Precharge- Мінімальний час активності рядка, тобто мінімальний час між активацією рядка (її відкриттям) та подачею команди на передзаряд (початок закриття рядка). Рядок не може бути закритий раніше цього часу.

Trp, Row Precharge- час, необхідний попереднього заряду банку (precharge). Іншими словами, мінімальний час закриття рядка, після чого можна активувати новий рядок банку.

CR, Command Rate 1/2T- Час, необхідний для декодування контролером команд та адрес. Інакше мінімальний час між подачею двох команд. При значенні 1T команда розпізнається 1 такт, при 2T - 2 такти, 3T - 3 такти (поки що тільки на RD600).

Це все основні таймінги. Інші таймінги мають менший вплив на продуктивність, а тому їх називають підтаймінг.

Trc, Row Cycle Time, Activate to Activate/Refresh Time, Active to Active/Auto Refresh Time - мінімальний час між активацією рядків одного банку. Є комбінацією таймінгів Tras+Trp - мінімального часу активності рядка та часу його закриття (після чого можна відкривати новий).

Trfc, Row Refresh Cycle Time, Auto Refresh Row Cycle Time, Refresh to Activate/Refresh Command Period - мінімальний час між командою оновлення рядка і командою активізації, або іншою командою оновлення.

Trrd, ACTIVE Bank A до ACTIVE Bank B Command, RAS до RAS Delay, Правий Active до Правий Active - мінімальний час між активацією рядків різних банків. Архітектурно відкривати рядок в іншому банку можна відразу після відкриття рядка в першому банку. Обмеження ж чисто електричне - на активацію йде багато енергії, тому при частих активаціях рядків дуже висока електричне навантаження ланцюга. Щоб її знизити, було введено цю затримку. Використовується реалізації функції чергування доступу до пам'яті (interleaving).

Tccd, CAS to CAS Delay – мінімальний час між двома командами CAS#.

Twr, Write Recovery, Write to Precharge – мінімальний час між закінченням операції запису та подачею команди на передзаряд (Precharge) рядка для одного банку.

Twtr, Trd_wr, Write To Read - мінімальний час між закінченням запису та поданням команди на читання (CAS#) в одному ранку.

RTW, Read To Write, (Same) Rank Read To Write - мінімальний час між закінченням операції читання та поданням команди на запис, в одному ранку.

Same Rank Write To Write Delayed- Мінімальний час між двома командами на запис в одному ранку.

Different Rank Write to Write Delay- Мінімальний час між двома командами на запис у різних ранках.

Twr_rd, Different Ranks Write To READ Delayed – мінімальний час між закінченням запису та подачею команди на читання (CAS#) у різних ранках.

Same Rank Read To Read Delayed- Мінімальна затримка між двома командами на читання в одному ранку.

Trd_rd, Different Ranks Read To Read Delayed – мінімальна затримка між двома командами на читання у різних ранках.

Trtp, Read to Precharge – мінімальний інтервал між подачею команди на читання до команди на попередній заряд.

Precharge to Precharge- Мінімальний час між двома командами попереднього заряду.

Tpall_rp, Precharge All to Active Delay – затримка між командою Precharge All та командою на активацію рядка.

Same Rank PALL to REF Delayed- встановлює мінімальний час між командою Precharge All та Refresh в одному ранку.

Different Rank REF to REF Delayed- Встановлює мінімальну затримку між двома командами на оновлення (refresh) у різних ранках.

Twcl, Write Latency – затримка між подачею команди на запис та сигналом DQS. Аналог CL але для запису.

Tdal, цитата з JEDEC 79-2C, p.74: auto precharge write recovery + precharge time (Twr+Trp).

Trcd_rd/Trcd_wr, Activate to Read/Write, RAS to CAS Read/Write Delay, RAW Address to Column Address for Read/Write - поєднання двох таймінгів - Trcd (RAS to CAS) і rd/wr command delay. Саме останнім і пояснюється існування різних Trcd – для запису та читання (Nf2) та встановлення BIOS – Fast Ras to Cas.

Tck, Clock Cycle Time – період одного такту. Саме він визначає частоту пам'яті. Вважається вона так: 1000/Tck=X Mhz (реальна частота).

CS, Chip Select - час, необхідне виконання команди, подається сигналом CS# вибору потрібного чіпа пам'яті.

Tac, DQ output access time from CK - час від фронту такту до видачі даних модулем.

Address and Command Setup Time Before Clock- час, на який передача установок адрес команд передуватиме висхідному фронту такту.

Address and Command Hold Time After Clock- час, на який будуть "замкнені" установки адреси та команд після низхідного фронту такту.

Data Input Setup Time Before Clock, Data Input Hold Time After Clock- те саме, що й вищевказані, але для даних.

Tck max, SDRAM Device Maximum Cycle Time – максимальний період циклу пристрою.

Tdqsq max, DDR SDRAM Device DQS-DQ Skew for DQS and associated DQ signals - максимальне зрушення між стробом DQS і пов'язаними з ним сигналами даних.

Tqhs, DDR SDRAM Device Read Data Hold Skew Factor - максимальне зсув "замикання" лічених даних.

Tch, Tcl, CK high/low pulse width – тривалість високого/низького рівня тактової частоти CK.

Thp CK half pulse width - тривалість напівперіоду тактової частоти CK.

Max Async Latency- Максимальний час асинхронної затримки. Параметр управляє тривалістю асинхронної затримки, що залежить від часу, необхідного передачі сигналу від контролера пам'яті до найдальшого модуля пам'яті і назад. Опція існує у процесорах компанії AMD (Athlon/Opteron).

DRAM Read Latch Delay- затримка, яка встановлює час, необхідний для "замикання" (однозначного розпізнавання) конкретного пристрою. Актуально у разі підвищення навантаження (числа пристроїв) на контролер пам'яті.

Trpre, Read preamble - час, протягом якого контролер пам'яті відкладає активацію прийому даних перед читанням, щоб уникнути пошкодження даних.

Trpst, Twpre, Twpst, Write preamble, read postamble, write postamble - те для запису і після прийому даних.

Read/write Queue Bypass- визначає число разів, яке ранній запит у черзі може бути обійдений контролером пам'яті, перш ніж бути виконаним.

Bypass Max- визначає, скільки разів найраніший запис у DCQ може бути обійдено, перш ніж вибір арбітра буде анульований. При установці 0 вибір арбітра завжди враховується.

SDRAM MA Wait State, Read Wait State - встановлення 0-2-тактного випередження адресної інформації перед подачею сигналу CS #.

Turn-Around Insertion- Затримка між циклами. Додає затримку у такт між двома послідовними операціями читання/запису.

DRAM R/W Leadoff Timing, rd/wr command delay - затримка перед виконанням команди читання/запису. Зазвичай становить 8/7 чи 7/5 тактів відповідно. Час від подання команди до активації банку.

Speculative Leadoff, SDRAM Speculative Read - Зазвичай на згадку надходить спочатку адресу, потім команда на читання. Оскільки на розшифровку адреси йде досить багато часу, можна застосувати попереджувальний старт, подавши адресу і команду поспіль, без затримки, що підвищить ефективність використання шини і знизить простої.

Twtr Same Bank, Write to Read Turnaround Time for Same Bank - час між припиненням операції запису та поданням команди на читання в одному банку.

Tfaw, Four Active Windows – мінімальний час активності чотирьох вікон (активних рядків). Застосовується у восьмибанківських пристроях.

Strobe Latency. Затримка під час посилки строб-імпульсу (селекторного імпульсу).

Memory Refresh Rate. Частота оновлення пам'яті.

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