Большинство пользователей компьютеров не особенно заботятся о производительности, когда покупают компьютер. Пока это быстро и достаточно дешево, это достаточно хорошо. Они покупают компьютер с процессором текущего или предыдущего поколения и ищут нужный объем памяти с точностью до полтерабайта.
Некоторые могут искать скорость процессора, количество ядер или объем оперативной памяти, но это, как правило, все. Если вы технический энтузиаст, вы можете уделять больше внимания этим вещам, чтобы знать, что вы получаете и действительно ли это выгодная сделка.
Один из способов выжать из вашего компьютера максимальную производительность — получить высокопроизводительную оперативную память. Важным кричащим показателем продаж является тактовая частота оперативной памяти, такой как DDR4-3200 или DDR5-6400. Технически это второе число не является тактовой частотой. Это скорость передачи. Это вдвое больше тактовой частоты, потому что DDR RAM имеет двойную скорость передачи данных. Тем не менее, большее число звучит лучше в маркетинговых материалах.
Эта скорость передачи является мерой пропускной способности оперативной памяти, поэтому чем выше значение, тем лучше. Однако пропускная способность — не единственный фактор производительности оперативной памяти. Задержка так же важна, если не больше.
Что такое задержка?
Задержка — это мера задержки между запуском процесса и его фактическим выполнением. Простой пример — «пинг» вашего интернет-соединения. Если вы когда-либо запускали тест скорости, вы видели скорость загрузки и пинг. Скорость загрузки — это пропускная способность вашего интернета, а пинг — это задержка между тем, как вы отправляете запрос, и сервером, который его получает. Как известно многим геймерам, не имеет значения, насколько быстр ваш интернет. У вас не будет хорошего опыта, если у вас высокая задержка.
Высокопроизводительная оперативная память всегда будет рекламировать свою скорость. Он часто рекламирует по крайней мере одну конкретную меру задержки. Наиболее распространенной и важной мерой задержки является задержка 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 to 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. тРП.
Время активации строки
Четвертый основной тайминг — это время активации строки, обычно сокращенное до tRAS. Это минимальное количество тактов между командой открытия строки и командой предварительной зарядки, чтобы закрыть ее снова. Это время, необходимое для внутреннего обновления строки. Это единственная первичная синхронизация, которая перекрывается с другой, в частности с 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 с памятью. Однако это приводит к чрезмерному потреблению энергии выше 3600MT, что влияет на стабильность системы. Для некоторого увеличения задержки при переключении на Gear 2 контроллер памяти работает с соотношением 1:2, на половине скорости памяти. В конечном итоге это дает какую-либо выгоду только от 4400MT и выше. Шестерня 1 лучше, но шестерня 2 может обеспечить стабильность на более высоких скоростях.
Хотя это важно для оперативной памяти DDR4, оперативная память DDR5 в настоящее время всегда работает в Gear 2, поскольку она запускается быстрее. Хотя в настоящее время в этом нет необходимости, поскольку технология недостаточно развита для использования, Gear 4 будет управлять контроллером памяти в соотношении 1: с памятью на одной четвертой скорости. Опять же, это необходимо только на высоких скоростях. Однако неясно, где именно будет это переключение, поскольку аппаратного обеспечения еще нет.
Выводы
Тайминги оперативной памяти предлагают невероятную возможность настройки оперативной памяти вашей системы. Тем не менее, они также представляют собой глубокую кроличью нору, если вы полностью разгоняете оперативную память. Чтобы упростить получение большинства преимуществ, стандарт XMP позволяет производителям памяти указывать рекомендуемые тайминги вне стандартов JEDEC. Это может обеспечить дополнительную производительность в почти plug-and-play реализации.
В некоторых случаях профиль XMP включается по умолчанию. Тем не менее, часто будет необходимо выбрать его вручную в BIOS. Это автоматически применяет более высокие скорости, рекомендованные поставщиком, и подгоняет тайминги к параметрам, проверенным поставщиком. Если вы решите настроить тайминги ОЗУ, важно знать, что они из себя представляют и что они делают.