Комментарии 38
Последняя итерация стандарта DDR4 была основой развития ПК и серверов с конца 90-х.
DDR4? С конца 90-х? JEDEC представила 4-ю версию только в 2010 году, а в массовое производство она пошла с 2014-го.
Но конечно, DDR5 нельзя будет использовать в старых сокетах, даже если он вставится туда.
Вот, кстати, на последней картинке на модулях DDR4 и DDR5 ключ в одном и том же месте. Если реально впервые не сдвинут ключ — это будет очень… хм… странное решение, учитывая сильные отличи в распиновке.
Были уже такие матери, куда можно было память наоборот втыкать. Хватало обычно одного раза.
Плюс будет только для производителей гнезд планок памяти. Производителям материнок в любом случае переделывать разводку под новый стандарт
Другой коллега в те же времена неудачно подключил питание к винчестеру с нестандартным раъёмом (как у флоповода) ввер ногами, итог — дырка в плате электроники винчестера на месте силового транзистора, успешно залеченная, и кропотливое восстановление файловой системы диска со всеми проектами.
Лично доконал китайский автомобильный жк-телевизор неправильным подключением сорокапинового двухрядного разъёма матрицы без ключей и маркировки.
Ещё пример — ключи на адрогинных разъёмах батарей бесперебойников APC — там всё в порядке и с самими разъёмами, и с ключами, и с цветовой маркировкой разъёмов для сборок батарей различного напряжения. Но есть один тип разъёма (правильно, коричневого цвета), универсальный формат ключа которого позволяет воткнуть его в разъём любого другого цвета.
Ещё доставляют ключи на оригинальных и совместимых картриджах для лазерных и струйных принтеров, нарочно не позволяющие впихнуть в общем то совместимый картридж (а ещё есть твердочернильные, где краска это кусок мыла определённого цвета и формы).
Вспоминается кмк объясняющий истоки любознательности и настойчивости в достижении цели
Учитель:
— Основное правило техники безопасности — пальцы в розетку не совать!
Ученик:
— Так они туда не влазят.
— А ты гвоздики возьми, придурок!
Макс. плотность одного ядраMax Die Density это значит «плотность на кристалл».
укладывать до 8 ядер (dies) в виде одного чипаdie — кристалл. (в данном контексте)
Ох уж эти не профильные переводчики…
Так и не понял что будет с latency. А то этот показатель не только не улучшается, он даже слегка деградирует начиная с DDR2.
ассоциация JEDEC выпустила окончательную спецификацию следующего основного стандарта памяти DDR5 SDRAM? А то что DDR5 использовалась в видеокартах, она не имела спецификации что ли? И по чему новая память сначала появляется в видеокартах, а потом кочует в слоты материнки? Маркетинг чистой воды?
Не? Не оно?
GDDR5 — это уже аналог DDR3. То есть при 0.8 нс GDDR3 у Geforce GTX 295 мог быть разгон до 2400 МГц, а у видяхи с GDDR5 — HD 7870 — могло быть 4800 МГц.
Это мне пора уже уходить с ddr3 или ещё подождать?)
Какое время на закрытие строки и открытие другой строки?
Вики пока молчит. DDR4 время ~37 нс не радует, оно почти не сокращается.
А при чём тут вообще такт какого-то 100 МГц?
Смотрим раз:
Row Precharge Time: The minimum number of clock cycles required between issuing the precharge command and opening the next row. The time to read the first bit of memory from a DRAM with the wrong row open is TRP + TRCD + CL.
Это именно сколько нужно на то, чтобы открыть другую строку, чем сейчас, и стартовать I/O с ней — задача, которая возникает в >99% случаев, если требуется обращение к чему-то некэшированному (шансы на то, что это будет та же строка… ну вот например стандартный 16GB модуль имеет 65536 или 131072 строк… картина, надеюсь, понятна?)
Смотрим два: у всех вариантов модулей CL, TRP и TRCD одинаковы — значит, можно CL умножить на 3. Лениво переводить из тактов во время, но в самой правой колонке таблицы CL уже во временах, лучший вариант — 12.5 нс. Умножаем на 3 — получаем 37.5 нс. Если я где-то неправ — поправьте, но уже из твёрдого знания механизмов именно современных изделий.
А откуда вы взяли 100 МГц — я в упор не понял, у DDR4 согласно этой таблице I/O bus clock, от которого считаются тайминги, ходит от 800 до 1600 МГц. Или вы вообще DDR1 вспомнили? :xz:
А DDR-333 я в первом компе имел.
То есть, это всё не правильно?
В описанном вами виде это категорически неправильно, потому что CL считается в тактах I/O bus clock, которая в пределах одной архитектуры модулей (считаем DDR4 для определённости) меняется минимум в 2 раза (от 800 до 1600 МГц). И если посмотрите на колонку "CAS latency (ns)" в таблице, увидите, что при разнице частоты I/O bus clock в 2 раза — они держат это абсолютное значение CAS latency в пределах от 12.5 до 5 нс. Вот это как раз чёткая характеристика той скорости работы собственно электроники, которую частотой не победить.
Второй важный момент, который тут обычно очень вскользь описывается, это что время исполнения смены открытой строки DDR4 модуля равно 3*CL (раньше это была отдельная характеристика: полные тайминги DDR3 ещё описывались в стиле 9-9-9-28, вот это последнее число как раз тот минимум тактов, который должен был ждать контроллер на смену строки). Смена открытой строки это значит закрыть строку (переписать из SRAM-кэша модуля все биты строки в собственно однотранзисторные ячейки DRAM), и открыть другую (считать из строки и сохранить в кэше). Дальше всё чтение/запись идёт на огромной скорости, но только в пределах текущей строки.
Вот и смотрим. На модуль, обычно, 8-9 чипов (один байт одновременно без ECC или с ECC). Для примера посмотрим на однобанковый 8GB DDR4 модуль. У него будет 32768 строк по 32768 бит (делают с соотношением размеров 1:1 или 2:1). И тогда получается три варианта задержки на чтение:
- С той же позиции, где остановились (например, прочли 64 байта строки кэша процессора, и тут же пошли читать следующую строку): считаем, 0 (ну тут ещё разгон процесса передачи и и т.п. — добавлять ко всем временам).
- В том же 32KB блоке => та же строка чипа => задержка 12.5-15нс (CAS для смены позиции доступа внутри строки).
- В другом 32KB блоке => другая строка чипа => задержка 37.5-45нс (на полную смену строки).
Ну а теперь добавьте к этому всему время на поиске в кэшах процессоров и поймёте, откуда рассказы про 200-300 тактов процессора на чтение в случае промаха кэша ;(
А то, что при этом без смены позиции доступа скорость достигла фантастических значений в десятки гигабит в секунду — ну да, достигла. И при оптимальном построении алгоритма можно таки обрабатывать данные на этой скорости (только нужно обеспечить, если несколько потоков, чтобы они работали как минимум с разными банками).
Мне тут на самом деле до чёрта деталей непонятно. Например, почему не может быть одновременно открыто более одной строки в банке? Почему такая огромная задержка на CAS (сам по себе)? Но ответ тут требует серьёзного понимания электроники именно этих модулей. Вряд ли JEDEC состоит из рептилоидов, поэтому можно предположить, что они таки делают максимум возможного при всех ограничениях ;(
Например: CL9 1600MHz = 9000/1600 = 5.625 нс
или (1 сек / 1 600 000 000 Гц) * 9 тактов * 1 000 000 000 нано = 5.625 нс
Ну да, если правильно применить и частоту, и длительность в тактах, то всё получится.
Я честно не думал, что вы такую простую вещь решили переспросить :) потому что сказали про "рандомную задержку" не уточняя, какую именно. А тут именно разные задержки критически важны, больше, чем скорость после установления потока.
Про тайминги (измеряются в тактах), есть скажем такое:
RAS Precharge — время, которое проходит между завершением обработки одной строки и переходом к другой.
Если следующая необходимая для чтения/записи ячейка памяти находится в той же строке — не нужно будет трать время на «закрытие» этой строки и «открытие» следующей.
Опубликованы спецификации памяти DDR5