У каждого компьютера есть оперативная память, вне зависимости от того, встроена ли она в процессор или установлена на специальной печатной плате, подключенной к системе, вычислительные устройства просто не могут работать без нее. RAM - это удивительный подвиг точного машиностроения, и тем не менее, он производится в огромных количествах каждый год. Вы можете насчитать в нем миллиарды транзисторов, но оперативная память потребляет всего несколько ватт. Учитывая, насколько важна оперативная память, требуется правильное вскрытие.
RAM - это удивительный подвиг точного машиностроения, и тем не менее, он производится в огромных количествах каждый год.
Итак, давайте подготовимся к операции, вытащим стол для родов и отправимся в театр. Пора разобраться в самих ячейках, составляющих сегодняшнюю память, и посмотреть, как все это работает.
Для чего ты, RAM-eo?
Процессоры должны иметь возможность очень быстро получать доступ к данным и инструкциям, чтобы они могли поддерживать программное обеспечение в кратчайшие сроки. Им также необходимо сделать это таким образом, чтобы случайный или неожиданный запрос не оказывал слишком большого влияния на производительность. Вот почему оперативная память - сокращение от оперативной памяти - действительно важна для компьютера.
Существует два основных типа оперативной памяти: статическая и динамическая , сокращенно SRAM и DRAM.
Мы сосредоточимся на DRAM, поскольку SRAM используется только внутри процессоров, таких как CPU или GPU. Итак, где мы можем найти DRAM в наших компьютерах и как это работает?
Большинство людей знают об оперативной памяти, потому что ее много рядом с процессором . Эта группа DRAM часто называется системной памятью , но лучше было бы называть память ЦП , поскольку это основное хранилище рабочих данных и инструкций для процессора.
Как вы можете видеть на изображении выше, DRAM находится на небольших платах, которые подключаются к материнской плате . Каждая плата обычно называется DIMM или UDIMM, что означает двойной встроенный модуль памяти (U не буферизуется ). Мы объясним, что это означает позже, но пока это наиболее очевидная оперативная память на любом ПК.
Это не обязательно должно быть сверхбыстрым, но современным ПК требуется много места в памяти, чтобы справляться с большими приложениями и обрабатывать сотни процессов, выполняемых в фоновом режиме.
Следующей областью, в которой размещается набор микросхем памяти, обычно является видеокарта . Ему нужна собственная сверхбыстрая DRAM, потому что 3D-рендеринг приводит к огромному количеству операций доступа к данным и их записи. Этот тип DRAM разработан для работы немного иначе, чем тип, используемый в системной памяти.
Здесь мы видим графический процессор, окруженный 12 небольшими пластинами - это микросхемы DRAM. В частности, это тип памяти под названием GDDR5X, о котором мы поговорим позже.
Видеокартам не нужно столько памяти, сколько ЦП, но их размер по-прежнему составляет тысячи МБ.
Не каждому устройству в компьютере требуется это: жестким дискам требуется небольшой объем оперативной памяти, в среднем 256 МБ, чтобы сгруппировать данные перед их записью на диск.
На этих изображениях мы видим печатную плату от жесткого диска (слева) и SSD (справа), где микросхема DRAM была выделена в обоих примерах. Обратите внимание, что это всего лишь одна микросхема? В наши дни 256 МБ ОЗУ - это не так уж и много, поэтому достаточно одного блока кремния.
Как только вы поймете, что любому компоненту или периферийному устройству, которое выполняет обработку, требуется оперативная память, вы скоро заметите, что это разбросано внутри любого ПК. Контроллеры SATA и PCI Express оснащены небольшими микросхемами DRAM; сетевой интерфейс и звуковые карты тоже есть, как и принтеры и сканеры.
Это кажется немного скучным, когда вы видите это повсюду, но если вы углубитесь во внутреннюю работу оперативной памяти, это определенно не зевота!
Скальпель. Тампон. Электронный микроскоп.
У нас нет доступа к инструментам, которые используют инженеры-электронщики, чтобы углубиться в свои полупроводниковые творения, поэтому мы не можем разобрать реальный чип DRAM и показать вам все изнутри. Однако у сотрудников TechInsights действительно есть такое оборудование, и они создали вот такое изображение поверхности чипа:
Если вы думаете, что это просто похоже на посевные поля, соединенные проложенными дорогами, то вы не ошиблись в том, что там на самом деле! Вместо кукурузы или пшеницы поля в DRAM в основном состоят из двух электронных компонентов:
- Переключатель в виде полевого МОП-транзистора ( металлооксидного полупроводникового полевого транзистора ).
- Некоторое хранилище, обрабатываемое траншейным конденсатором
Вместе они образуют так называемую ячейку памяти, в каждой из которых хранится 1 бит данных. Примерная принципиальная схема элемента показана ниже (извинения всем электронщикам!):
Синие и зеленые линии представляют соединения, которые подают напряжение на полевой МОП-транзистор и конденсатор. Они используются для чтения и записи данных в ячейку, а вертикальная (битовая линия) всегда запускается первой.
Конденсатор траншеи в основном действует как бак, наполняясь электрическим зарядом - его пустое / полное состояние дает вам 1 бит данных: 0 для пустого, 1 для полного. Несмотря на все усилия инженеров, конденсаторы не могут удерживать этот заряд вечно, и со временем он утекает.
Это означает, что каждую отдельную ячейку памяти необходимо регулярно обновлять, от 15 до 30 раз в секунду , хотя сам процесс довольно быстрый: для сбора ячеек требуется всего несколько наносекунд. К сожалению, в микросхеме DRAM много ячеек, и память не может быть прочитана или записана, пока она заряжается.
К каждой линии подключено несколько ячеек, как показано ниже.
Строго говоря, эта диаграмма не идеальна, потому что для каждого столбца ячеек используются две битовые линии - это было бы слишком сложно и беспорядочно, если бы мы включили все, поэтому думайте об изображениях как об обзоре.
Полный ряд ячеек памяти называется страницей, и ее длина зависит от типа и конфигурации DRAM. На более длинной странице будет больше битов, но для работы с ней потребуется больше электроэнергии; более короткие страницы потребляют меньше энергии, но меньше места для хранения.
Однако есть еще один важный фактор, который необходимо учитывать. При чтении или записи с / на микросхему DRAM первым шагом в процессе является активация всей страницы. Строка битов (строка нулей и единиц) хранится в буфере строк , который на самом деле представляет собой набор усилителей и защелок, а не дополнительную память. Затем активируется требуемый столбец, чтобы извлечь соответствующие данные из этого буфера.
Если страница слишком мала, то строки необходимо активировать чаще, чтобы удовлетворить запросы данных; с другой стороны, большая страница будет охватывать больше баз, поэтому их не нужно будет активировать так часто. Несмотря на то, что длинная строка требует большей мощности и потенциально может быть менее стабильной, лучше иметь самые большие страницы, которые вы можете получить.
Объединение коллекции страниц дает нам один банк DRAM. Как и в случае со страницами, размер и расположение строк и столбцов ячеек играет большую роль в том, сколько данных может быть сохранено, насколько быстро они могут работать, потребляемой мощностью и т. Д.
Одна такая структура может состоять из 4096 строк и 4096 столбцов, что дает одному банку общую емкость хранения 16 777 216 бит или 2 МБ. Но не все чипы DRAM имеют свои банки в «квадратной» организации, поскольку лучше иметь более длинные страницы, чем более короткие. Например, организация из 16 384 строк и 1024 столбцов все равно приведет к 2 МБ хранилища, но каждая страница содержит в 4 раза больше данных, чем квадратный пример.
Все страницы в банке подключены к системе адресации строк (аналогично для столбцов), и они управляются командными сигналами и адресами для каждой строки / столбца. Чем больше строк и столбцов в банке, тем больше битов необходимо использовать в адресе.
Для банка 4096 x 4096 каждая система адресации требует 12 бит, тогда как для банка 16 384 x 1024 потребуется 14 бит для адреса строки и 10 бит для столбцов. Обратите внимание, что обе системы имеют общий размер 24 бита.
Если бы микросхема DRAM предлагала только одну страницу за раз, от этого было бы мало пользы, поэтому в них было упаковано несколько банков ячеек памяти. В зависимости от общего размера чип может иметь 4, 8 или даже 16 банков - наиболее распространенный формат - их 8.
Все банки используют одни и те же шины команд, адресов и данных, что упрощает общую структуру системы памяти. Пока один банк обрабатывает одну инструкцию, разные банки могут выполнять другие операции.
Весь чип, содержащий блоки и шины, упакован в защитную оболочку, а затем припаян к печатной плате. Он содержит электрические трассы, обеспечивающие питание DRAM и сигналы для команд, адресов и данных.
На изображении выше мы видим микросхему DRAM (иногда называемую модулем ) производства Samsung - среди других ведущих производителей - Toshiba, Micron, SK Hynix и Nanya. Samsung - крупнейший производитель, на долю которого приходится около 40% мирового рынка .
Каждый производитель DRAM использует свою собственную систему кодирования для идентификации спецификаций памяти, но приведенный выше пример представляет собой микросхему 1 Гбит, которая содержит 8 банков по 128 Мбит, расположенных в 16 384 строках и 8 192 столбцах.
Имя и звание, солдат!
Производители памяти берут несколько микросхем DRAM и собирают их на одной печатной плате, называемой DIMM. Хотя D означает двойной , это не означает, что есть два набора микросхем - скорее, это относится к электрическим контактам в нижней части платы, причем обе стороны используются для работы с модулями.
Сами модули DIMM различаются по размеру и количеству микросхем на них:
На приведенном выше изображении мы видим стандартный модуль DIMM для настольного ПК, тогда как тот, что находится под ним, называется SO-DIMM ( DIMM с небольшим контуром). Небольшой модуль разработан для использования в ПК с меньшим форм-фактором, таких как ноутбук или моноблок. Упаковка всего в меньшее пространство ограничивает количество используемых микросхем, скорость, с которой все работает, и так далее.
Есть три основных причины использования нескольких микросхем памяти в модуле DIMM:
- Увеличивает объем доступного хранилища
- Одновременно можно получить доступ только к одному банку, поэтому работа других в фоновом режиме повышает производительность.
- Адресная шина в процессоре, обрабатывающем память, шире, чем шина DRAM.
Последнее действительно важно, потому что большинство микросхем DRAM имеют только 8-битную шину данных. Однако процессоры и графические процессоры немного отличаются: процессор AMD Ryzen 7 3800X имеет два встроенных 64-битных контроллера, тогда как их Radeon RX 5700 XT включает в себя восемь 32-битных контроллеров.
Таким образом, каждый модуль DIMM, устанавливаемый в компьютер Ryzen, должен иметь восемь модулей DRAM (8 микросхем x 8 бит = 64 бита). Вы можете подумать, что у видеокарты 5700 XT будет 32 микросхемы памяти, а у нее всего 8. Что же дает?
Микросхемы памяти, предназначенные для использования в графических сценариях, включают в себя больше банков, обычно 16 или 32, поскольку при 3D-рендеринге требуется одновременный доступ к большому количеству данных.
Одноранговое против двойного ранга
Набор модулей памяти, которые «заполняют» шину данных контроллера памяти, называется рангом, и хотя возможно иметь более одного ранга, подключенного к контроллеру, он может одновременно извлекать данные только из одного ранга (поскольку они все используют одну и ту же шину данных). Это не проблема, потому что, пока один ранг занят, отвечая на данную инструкцию, новый набор команд может быть запущен на другой ранг.
Модули DIMM на самом деле могут иметь более одного ранга, и это особенно полезно, если вам нужен большой объем памяти, но у вас только относительно небольшое количество слотов ОЗУ на материнской плате.
Так называемые двух- или четырехуровневые установки потенциально могут предложить более высокую общую производительность, чем одноранговые, но нагромождение рядов приводит к быстрому нарастанию нагрузки на электрическую систему. Большинство настольных ПК могут обрабатывать только один или два уровня для каждого контроллера. Если в системе должно быть намного больше, чем это, лучше всего использовать буферизованные модули DIMM: у них есть дополнительный чип на DIMM, который снижает нагрузку на систему, сохраняя инструкции и данные в течение нескольких циклов, прежде чем отправлять их дальше.
Множество модулей памяти Nanya и 1 буферная микросхема - классическая серверная RAM
Не все ранги имеют размер 64 бита - модули DIMM, используемые в серверах и рабочих станциях, часто имеют размер 72 бита, что означает, что на них установлен дополнительный модуль DRAM. Дополнительный чип не дает больше памяти или производительности; вместо этого он используется для проверки и исправления ошибок (ECC).
Помните, что всем процессорам для работы нужна память? Что ж, в случае ECC RAM маленькому устройству, которое выполняет эту работу, предоставляется собственный модуль.
Ширина шины данных в такой памяти по-прежнему составляет всего 64 бита, но надежность данных значительно повышается. Использование буферов и ECC лишь немного снижает общую производительность, но немного увеличивает стоимость.
Я чувствую потребность - потребность в скорости!
Вся DRAM имеет центральную тактовую частоту ввода / вывода (ввод / вывод), напряжение, которое постоянно меняется между двумя уровнями, и оно используется для организации всего, что занимает места в микросхеме памяти и шинах.
Если мы вернемся в 1993 год, вы могли бы купить память в форме SDRAM (синхронная DRAM), которая упорядочивала все процессы, используя период времени, когда часы меняются с низкого состояния на высокое. Поскольку это происходит очень быстро, это дает очень точный способ указать, когда должны произойти события. В то время у SDRAM были тактовые частоты ввода-вывода, которые обычно работали от 66 до 133 МГц, и для каждого такта тактовой частоты в DRAM могла быть отправлена одна инструкция. В свою очередь, чип мог передавать 8 бит данных за то же время.
В результате быстрого развития SDRAM под руководством Samsung в 1998 году появилась новая форма SDRAM. Она рассчитывала передачу данных по времени при повышении и понижении тактового напряжения, поэтому для каждого тика этих часов данные могли отправляться в и из DRAM дважды.
Как называется эта захватывающая новая технология? Синхронная динамическая оперативная память с двойной скоростью передачи данных . Вы можете понять, почему все называли это просто DDR-SDRAM или для краткости DDR.
Память DDR быстро стала нормой (в результате чего исходная SDRAM была переименована в SDRAM с одинарной скоростью передачи данных , SDR-DRAM) и была основой для всех компьютерных систем в течение 20 лет.
Достижения в области технологий помогли улучшить технологию, предоставив нам DDR2 в 2003 году, DDR3 в 2007 году и DDR4 к 2012 году. Каждое обновление обеспечивало лучшую производительность благодаря более высокой тактовой частоте ввода-вывода, улучшенным системам сигнализации и более низким требованиям к энергопотреблению.
В DDR2 началось изменение, которое используется до сих пор: часы ввода-вывода стали отдельной системой, которая синхронизируется с другим набором часов таким образом, что теперь они работают в 2 раза быстрее. Это аналогично тому, как процессоры используют тактовую частоту 100 МГц для последовательного выполнения всего, но внутренние часы процессора работают в 30 или 40 раз быстрее.
DDR3 и 4 улучшили игру, заставив тактовую частоту ввода-вывода работать 4 раза, но во всех случаях шина данных по-прежнему использует только подъем и спад тактовой частоты ввода-вывода (т. Е. Удвоенную скорость передачи данных) для отправки / получения информации.
Сами микросхемы памяти не работают на глупо высоких скоростях - на самом деле, они работают относительно медленно. Скорость передачи данных (измеряемая в миллионах передач в секунду, MT / s) в современной DRAM настолько высока из-за использования нескольких банков в каждом чипе; если бы на модуль был только один банк, все было бы очень медленно.
Тип DRAMТипичные часы на микросхемеЧасы ввода / выводаСкорость передачи данныхSDR100 МГц100 МГц100 МТ / сDDR100 МГц100 МГц200 МТ / сDDR2200 МГц400 МГц800 МТ / сDDR3200 МГц800 МГц1600 МТ / сDDR4400 МГц1600 МГц3200 МТ / с
Каждая версия DRAM не сохраняет обратной совместимости, поэтому модули DIMM, используемые для каждого типа, имеют разное количество электрических контактов, слотов и выемок, чтобы никто не попытался вставить память DDR4 в слот DDR-SDRAM.
Сверху вниз: DDR-SDRAM, DDR2, DDR3, DDR4
DRAM для графических приложений изначально назывался SGRAM или синхронная графическая RAM. Этот тип оперативной памяти также прошел те же разработки, и сегодня он имеет маркировку GDDR, чтобы сделать его предполагаемое использование более понятным. Сейчас мы работаем с версией 6, и для передачи данных используется система с четырехкратной скоростью передачи данных, то есть 4 передачи за такт.
Тип DRAM / Типичные часы на микросхеме / Часы ввода или вывода /Скорость передачи данных
GDDR, 250 МГц, 250 МГц, 500 МТ / с
GDDR2, 500 МГц, 500 МГц, 1000 МТ / с
GDDR3, 800 МГц, 1600 МГц, 3200 МТ / с
GDDR, 41000 МГц, 2000 МГц, 4000 МТ / с
GDDR5, 1500 МГц, 3000 МГц, 6000 МТ / с
GDDR5X, 1250 МГц, 2500 МГц, 10000 МТ / с
GDDR6, 1750 МГц, 3500 МГц, 14000 МТ / с
Помимо более высоких скоростей, графическая DRAM предлагает дополнительные функции, помогающие потоку скоростей, такие как возможность одновременно открывать две страницы в банке, командные и адресные шины, работающие на DDR, или микросхемы памяти, работающие на гораздо более высоких тактовых частотах. .
Оборотная сторона всей этой передовой технологии? Стоимость и тепло.
Один модуль GDDR6 примерно в два раза дороже эквивалентного чипа DDR4 и становится довольно жарким при работе на полной скорости - вот почему видеокарты с большим объемом сверхбыстрой оперативной памяти нуждаются в активном охлаждении, чтобы не допустить перегрева чипов.
Гикори Дикори Док
Производительность DRAM обычно оценивается количеством бит данных, которые она может передавать в секунду. Ранее в этой статье мы видели, что DDR4, используемая в качестве системной памяти, имеет чипы шириной 8 бит - это означает, что каждый модуль может передавать до 8 бит за такт.
Таким образом, если скорость передачи данных составляет 3200 МТ / с, это приведет к пиковому значению 3200 x 8 = 25600 Мбит / с или чуть более 3 ГБ / с. Поскольку большинство модулей DIMM имеют 8 микросхем, это дает потенциальную скорость 25 ГБ / с. Для подобных GDDR6 8 модулей будут почти 440 ГБ / сек!
Большинство людей называют это значение пропускной способностью памяти, и это важный фактор, влияющий на производительность оперативной памяти. Однако это теоретическая цифра, потому что все внутри микросхемы DRAM не происходит одновременно.
Чтобы понять это, взгляните на изображение ниже. Это очень упрощенный (и нереалистичный) обзор того, что происходит, когда данные запрашиваются из памяти.
Первый этап включает в себя активацию страницы в DRAM, содержащей необходимые данные. Для этого сначала в памяти указывается, какой ранг необходим, затем - о соответствующем модуле, а затем - о конкретном банке.
Местоположение страницы во всем этом ( адрес строки ) выдается чипу, и он отвечает, запуская всю страницу. Чтобы сделать все это, требуется время и, что более важно, необходимо дать достаточно времени для полной активации строки - это необходимо для того, чтобы вся строка битов была заблокирована, прежде чем к ней можно будет получить доступ.
Затем идентифицируется соответствующий столбец, извлекая единственный бит информации. Вся DRAM отправляет данные пакетами , упаковывая информацию в один блок, а размер пакета в современной памяти почти всегда составляет 8 бит. Таким образом, даже если один бит из одного столбца извлекается за один такт, эти данные не могут быть отправлены, пока остальные 7 бит не будут извлечены из других банков.
И если следующий требуемый бит данных находится на другой странице, необходимо закрыть текущую открытую (процесс называется предварительной зарядкой ), прежде чем можно будет активировать следующую. Все это, конечно, требует больше времени.
Все эти различные периоды между отправкой инструкции и выполнением требуемого действия называются таймингами памяти или задержками . Чем ниже значение, тем выше общая производительность просто потому, что вы тратите меньше времени на ожидание чего-то.
Некоторые из этих задержек будут известны энтузиастам ПК:
Название времениОписаниеТипичное значение в DDR4tRCDЗадержка от строки к столбцу: количество циклов между активируемой строкой и затем выбираемым столбцом.17 цикловCLЗадержка CAS: сколько циклов между адресом столбца и началом пакета данных15 цикловtRASВремя цикла строки: самое короткое количество циклов, которое строка должна оставаться активной, прежде чем она может быть предварительно заряжена35 цикловtRPВремя предварительной зарядки ряда: минимум циклов, необходимых между активациями разных рядов17 циклов
Есть много других таймингов, и все они должны быть тщательно настроены, чтобы DRAM работала стабильно, без искажения данных, с наилучшей возможной производительностью. Как видно из таблицы, диаграмма, показывающая действующие циклы, должна быть намного шире!
Несмотря на длительное ожидание, инструкции могут быть поставлены в очередь и выполнены, даже если память чем-то занята. Вот почему мы видим множество модулей оперативной памяти, где нам нужна производительность (системная память для ЦП и видеокарт), а затем только тот, где она гораздо менее важна (на жестких дисках).
Тайминги памяти регулируются - они не встроены в саму DRAM, потому что все инструкции поступают от контроллера памяти в процессоре, использующем ОЗУ. Производители тестируют каждый чип, который они делают, и те, которые соответствуют определенным номинальным скоростям, в течение заданного времени, группируются и устанавливаются на модули DIMM. Тайминги затем сохраняются на маленькой микросхеме, которая устанавливается на печатной плате.
Даже памяти нужна память. Постоянное запоминающее устройство (ПЗУ), в котором хранится информация SPD, выделено красным.
Процесс доступа и использования этой информации называется последовательным обнаружением присутствия (SPD). Это промышленный стандарт, позволяющий BIOS материнской платы знать, какие тайминги должны быть установлены.
Многие материнские платы позволяют вам изменять эти тайминги самостоятельно, чтобы улучшить производительность или повысить стабильность платформы, но многие модули DRAM также поддерживают стандарт Intel Extreme Memory Profile (XMP). Это не что иное, как дополнительная информация, хранящаяся в памяти SPD, которая говорит BIOS: « Я могу работать с такими нестандартными таймингами» . Так что вместо того, чтобы самому возиться с настройками, простой щелчок - и работа сделана за вас.
Бац, бац, спасибо, RAM!
В отличие от других наших уроков анатомии, этот не был таким уж беспорядочным - с модулями DIMM очень мало разбираться, а для модулей нужны специальные инструменты. Но за этим недостатком мужества и гиббета скрываются некоторые удивительные детали.
Возьмите карту памяти DDR4-SDRAM на 8 ГБ с любого нового ПК, и вы получите что-то, что содержит почти 70 миллиардов конденсаторов и столько же для транзисторов. Каждый из них хранит скудный электрический заряд и доступен всего за несколько наносекунд.
Он будет выполнять бесчисленное количество инструкций даже при обычном повседневном использовании, и большинство из них может делать это годами, прежде чем возникнут какие-либо проблемы. И все это менее чем за 30 долларов ? Это просто потрясающе!
DRAM продолжает совершенствоваться - DDR5 не за горами и обещает уровень пропускной способности на модуль , которого два полных модуля DIMM DDR4 будут бороться за достижение. Когда он появится, это будет очень дорого, но для серверов и профессиональных рабочих станций скачок в производительности будет очень кстати.
Как всегда, если у вас есть какие-либо вопросы об оперативной памяти в целом или у вас есть несколько интересных советов по настройке таймингов памяти, отправьте их нам в разделе комментариев ниже. Следите за обновлениями, чтобы узнать о других функциях серии анатомии.
Всем любителям Шекспира да, мы знаем, что «зачем ты?» На самом деле означает «кто ты?», А не «где ты», но эй - фраза вроде как подходит!
Переведено с сайта Techspot, автор Nick Evanson.
На правах рекламы:
Cyber-Servise. IT-аутсорсинг на грани фантастики!
Город - Новокузнецк