Про тайминги популярно

Про тайминги популярно.
Статья рассказывает о таймингах и их применении, и призвана детально объяснить значение этого термина. 

В форумах, да и в статьях, посвященных обзорам компьютерных комплектующих с собственной оперативной памятью, нередко видишь упоминания про тайминги. Их огромное количество. Поначалу у новичка даже глаза разбегаются. А опытный человек часто просто оперирует понятиями, иногда совершенно не догадываясь, что они означают. В данной статье я постараюсь восполнить этот пробел. 

"Суха теория, но древо жизни вечно зеленеет". 
Для начала мы должны разобраться, как работает сама память. 
Оперативная память представляет собой матрицу, информация в которой распределена по страницам, а в страницах - по банкам и ячейкам в банках. Каждая ячейка имеет свои координаты по вертикали (column) и горизонтали (row). Для выбора строки используется сигнал RAS (Raw Address Strobe), а для считывания слова (данных) из выбранной строки - сигнал CAS (Column Address Strobe). 
Полный же цикл считывания начинается с открытия банка и заканчивается его закрытием и перезарядкой, т.к. иначе ячейки разрядятся и данные пропадут. 

Итак, алгоритм считывания данных из памяти таков: 

1)выбранный банк активируется подачей сигнала RAS; 
2)данные из выбранной строки передаются в усилитель, причем на передачу данных необходима задержка (она называется RAS-to-CAS); 
3)подается сигнал CAS для выбора слова из этой строки; 
4)данные передаются на шину (откуда идут в контроллер памяти), при этом также происходит задержка (CAS Latency); 
5)следующее слово идет уже без задержки, так как оно содержится в подготовленной строке; 
6)после завершения обращения к строке происходит закрытие банка, данные возвращаются в ячейки и банк перезаряжается (задержка называется RAS Precharge). 

Как видите, для совершения некоторых операций системе нужны задержки, иначе она не успеет считать выбранные данные или, например, перезарядить банк. Эти задержки и называются таймингами. 

Заглянув в BIOS 
Для оперативной памяти существует громадное количество задержек. Достаточно заглянуть в любое описание памяти. Но основные можно увидеть в диагностической утилите CPU-Z или в BIOS. Познакомимся поподробнее с каждым из них. Для разгона, конечно, нужно уменьшить время задержек, поэтому чем их значения меньше, тем быстрее работает система. Впрочем, о разгоне поговорим позже. В разных источниках названия могут меняться, поэтому надо смотреть на краткое обозначение. 
Возьмем, для примера, скриншот из программы CPU-Z. 
CAS# Latency (краткое обозначение - CL). 
Первый и самый важный параметр. Обозначает число тактов, необходимых для выдачи данных на шину. (см. п.4 алгоритма считывания). 
От этого параметра больше всего зависит производительность памяти, т.к. только он задерживает доступ к данным. Возможные значения - 2, 2.5, 3. 
На любом рисунке, характеризующем работу памяти вы можете видеть эту задержку. Рассмотрим ее на примере прерывания операции чтения: 
Здесь C0, C1, C2, ... - такты, по которым работает память, а BST - команда Burst Terminate, прерывающая процесс чтения. Здесь видно, что чем больше задержка CL, тем позже данные (Q1-Q3) поступают в память. 

RAS# to CAS# Delay (Trcd) 
Число тактов, необходимых для поступления данных в усилитель. (п.2 алгоритма) Другими словами, это временной интервал между командами RAS и CAS, поскольку архитектура SDRAM не позволяет подавать их одновременно. 

RAS# Precharge (TRP) 
Время, необходимое на перезарядку ячеек памяти после закрытия банка (п.6) 

Row Active Time (TRAS) 
Время, в течение которого банк остается открытым и не требует перезарядки. Изменяется вместе со следующим параметром. 

Bank Cycle Time (TRC, TRAS/TRC) 
Время полного такта доступа к банку, начиная с открытия и заканчивая закрытием. Изменяется вместе с TRAS. 
Параметр TRC высчитывается по формуле TRC = TRAS (Row Active Time) + TRP (RAS# Precharge). 
Чипсет i815 позволяет установить соотношения 5/7, 7/9, чипсеты VIA Apollo и KT - 5/7, 5/8, 6/8, 6/9, изменяя при этом время TRP. 

Это основные тайминги, которые позволяет выставить большинство материнских плат. Однако поясню и другие. 

DRAM Idle Timer 
Время простаивания открытой страницы для чтения из нее данных. 

Row to Column (Read/Write) (Trcd, TrcdWr, TrcdRd) 
Данный параметр связан с параметром RAS-to-CAS (Trcd) и является как бы его уточнением, поскольку вычисляется по формуле Trcd(Wr/Rd) = RAS-to-CAS delay + rd/wr command delay. Второе слагаемое определяет задержку на выполнение записи/чтения. Но эта величина нерегулируемая, и изменить её нельзя. Поэтому её часто именуют просто RAS-to-CAS Delay. 

Перечисленные параметры могут показаться нагромождением букв и цифр, но я уверяю, если вы заглянете хотя бы в один даташит (ближе к его концу), то быстро во всем разберетесь. 

Тайминги видеокарт 
В начале статьи я не зря упоминал про устройства с собственной оперативной памятью. Таковым явяется и видеокарта. И у этой памяти тоже есть тайминги достаточно заглянуть в раздел Timings популярной программы ATI Tray Tools. 


Здесь возможностей для их изменения гораздо больше. Однако при заглядывании в даташит мы можем серьёзно озадачиться: 
Здесь приведены ключевые, по мнению разработчиков памяти, параметры. 
Поначалу кажется, что разработчики программы так не думают. Например, в ней нет тайминга tDAL, и ни в одном даташите нет таймингов tW2R, tR2R. Здесь я постараюсь объяснить значения таймингов для твикера и для даташита. Тайминги могут повторяться с приведенными выше. Их обозначения могут дополняться. Итак, начнем... 

Write Latency (tWL) 
Количество тактов, необходимое для произведения операции записи в память. 

CAS Latency (tCL) 
Задержка данных перед выдачей на шину. Подробнее см. выше. на пункт CAS Latency оперативной памяти. 

CMD Latency 
Задержка между подачей команды на память и ее приемом. 

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

Activate to Read/Write, RAS to CAS Read/Write Delay, RAW Address to Column Address for Read/Write(tRCDRd/tRCDWr) 
Повторюсь здесь еще раз. Для видеокарт это объяснение справедливей. 
Данный параметр связан с параметром RAS-to-CAS (Trcd) и является как бы его уточнением, поскольку вычисляется по формуле Trcd(Wr/Rd) = RAS-to-CAS delay + rd/wr command delay. Второе слагаемое определяет задержку на выполнение записи/чтения. Но эта величина нерегулируемая, и изменить её нельзя. Поэтому её часто именуют просто RAS-to-CAS Delay. 

Row Precharge Time, Precharge to Activate, RAS# Precharge (tRP) 
Время перезарядки ячеек после закрытия банка. 

Activate to Precharge, Row Active Time (tRAS) 
Время, в течение которого банк остается открытым и не требует перезарядки. 

Activate to Activate, Row Active to Row Active (tRRD) 
Задержка между активациями различных рядов 

Auto Precharge Write Recovery + Precharge Time (tDAL) 
Загадочный даташитный тайминг tDAL вызывал в формуах много споров, что он обозначает, однако в одном из документов JEDEC черным по белому написано следующее: 
То есть это сумма таймингов tRP и tWR. А если точнее, то это время от последней команды записи до конца перезарядки. Первый тайминг описан выше. Второй - следующий по списку :). 

Write to Precharge, Auto Precharge Write Recovery (tWR) 
Количество тактов между последней командой записи и командой на перезарядку банка (Precharge). 
Write Recovery - время на то, чтобы должным образом сохранить полный 0 или 1 в память перед операцией перезарядки. 

Read to Write Turnaround Time (tR2W) (в даташитах - tRTW) 
Время между чтением и записью, при записи, прерываемой чтением. Ниже приведена наглядная схема этого процесса: 
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. Так вот, это - показатели основных характеристик памяти: 
  Здесь тайминги приведены по значимости.

Я же решил исследовать влияние таймингов на своей системе. 
Итак, вот она: 

ПроцессорIntel Celeron 1100A Tualatin 1100@1580
Материнская платаJetWay i815-EPDA
Память512Mb (2x256) PC133 NCP (FSB:DRAM=1:1)
ВидеокартаGeCube RadeOn 9550 Ultra (400/400)
Блок питанияPower Master 250W FA-5-2
Жесткий дискWD W800JB 80Gb 8Mb cache
Операционная системаWindows XP SP2
Система была оставлена "как есть". Видеокарта также не разгонялась. Испытания проводились в двух тестовых пакетах и в одной игре: 
"Оверклокерская" для своего времени память NCP и сей раз не дала промаху и позволила запуститься на частоте 143МГц с таймингами 2-2-2-7! Но поменять последний параметр (Tras) память не дает ни по какому поводу, только с уменьшением частоты. Впрочем, это не самый важный параметр. 



Как видите, понижение таймингов дает прирост производительности около 10%. И если на моей системе это не так заметно, то на более мощной различие уже становится очевидным. А если поменять еще тайминги на видеокарте, где разгон часто упирается не в память, а как раз в задержки, то труд будет более чем оправдан. А что именно меняете, теперь вы уже знаете. 

Источник: http://people.overclockers.ru


Обсудить на форуме

Комментарии

Добавить комментарий
    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent

    Список некоторых сокращений в электронной аппаратуре

      Ниже приведен список некоторых англоязычных сокращений, которые часто встречаются в технической литературе и в периодических изданиях.

    Считывание математического обеспечения c УЧПУ при помощи программы «Электроника МС1201. Терминал»

      Для подключения процессора «Электроника МС1201» к COM-порту персонального компьютера через интерфейс ИРПС необходимо собрать переходник.

    Uni-Telway Driver для последовательного порта

    Данная статья описывает конфигурацию драйвера Uni-Telway - способ подчиненного дублирующего последовательного порта с удаленным устройством.

    Световое табло, управляемое компьютером.

    Программное обеспечение написано на языке QBASIC версии 4.5. Это дает возможность управлять табло с помощью устаревших компьютеров даже без жестких дисков.

    Считывание математического обеспечения модернизируемого УЧПУ с использованием интерфейса ИРПС процессора «Электроника МС1201»

    Для считывания математического обеспечения модернизируемого УЧПУ с использованием интерфейса ИРПС процессора «Электроника МС1201» необходимо подключить процессор «Электроника МС1201» к последовательному порту RS-232 (СОМ-порту) персонального

    Сенсорные панели Delta Electronics

    Началось все это не так давно, устроился я на производство обслуживать станки, до этого работал компьютерщиком, ремонтировал принтеры, компьютеры.