Что и как хранится в ячейках оперативной памяти

Как устроена оперативная память компьютера

Что и как хранится в ячейках оперативной памяти

З наете ли вы, что такое оперативная память? Конечно, знаете. Это такое устройство, от которого зависит скорость работы компьютера. В общем, так оно и есть, только выглядит такое определение немного дилетантски. Но что в действительности представляет собой оперативная память? Как она устроена, как работает и чем один вид памяти отличается от другого?

Компьютерная память

Оперативная память, ОЗУ она же RAM (англ.) — это энергозависимая часть компьютерной памяти, предназначенной для хранения временных данных, обрабатываемых процессором. Хранятся эти данные в виде бинарной последовательности, то есть набора нулей и единиц. Энергозависимой же она называется потому, что для её работы необходимо постоянное подключение к источнику электрического тока. Стоит только отключить её от питания, как вся хранящаяся в ней информация будет утеряна.

Что и как хранится в ячейках оперативной памяти

Но если ОЗУ это одна часть компьютерной памяти, тогда что представляет собой её другая часть? Носителем этой части памяти является жесткий диск. В отличие от ОЗУ, он может хранить информацию, не будучи подключён к источнику питания. Жесткие диски, флешки и CD-диски — все эти устройства именуются ПЗУ, что расшифровывается как постоянное запоминающее устройство. Как и ОЗУ, ПЗУ хранят данные в виде нулей и единиц.

Для чего нужна ОЗУ

Тут может возникнуть вопрос, а зачем вообще нужна оперативная память? Разве нельзя выделить на жестком диске буфер для временного помещения обрабатываемых процессором данных? В принципе можно, но это был бы очень неэффективный подход.

Что и как хранится в ячейках оперативной памяти

Физическое устройство ОЗУ

Физически ОЗУ представляет съёмную плату (модуль) с располагающимися на ней микросхемами памяти. В основе микросхемы лежит конденсатор — устройство, известное уже больше сотни лет.

Что и как хранится в ячейках оперативной памяти

Каждая микросхема содержит множество конденсаторов связанных в единую ячеистую структуру — матрицу или иначе ядро памяти. Также микросхема содержит выходной буфер — особый элемент, в который попадает информация перед тем, как быть переданной на шину памяти. Из уроков физики мы знаем, что конденсатор способен принимать только два устойчивых состояния: либо он заряжен, либо разряжен. Конденсаторы в ОЗУ играют ту же роль, что и магнитная поверхность жёсткого диска, то есть удержание в себе электрического заряда, соответствующего информационному биту. Наличие заряда в ячейке соответствует единице, а отсутствие — нулю.

Как в ОЗУ записывается и читается информация

Понять, как в ОЗУ происходит запись и считывание данных будет проще, если представить её в виде обычной таблицы. Чтобы считать данные из ячейки, на горизонтальную строку выдаётся сигнал выбора адреса строки (RAS). После того как он подготовит все конденсаторы выбранной строки к чтению, по вертикальной колонке подаётся сигнал выбора адреса столбца (CAS), что позволяет считать данные с конкретной ячейки матрицы.

Что и как хранится в ячейках оперативной памяти

Характеристика, определяющая количество информации, которое может быть записано или прочитано за одну операцию чтения/записи, именуется разрядностью микросхемы или по-другому шириной шины данных. Как нам уже известно, перед тем как быть переданной на шину микросхемы, а затем в центральный процессор, информация сначала попадает в выходной буфер. С ядром он связывается внутренним каналом с пропускной способностью равной ширине шины данных. Другой важной характеристикой ОЗУ является частота шины памяти. Что это такое? Это периодичность, с которой происходит считывание информации, а она совсем не обязательно должна совпадать с частотой подающегося на матрицу памяти сигнала, что мы и увидим на примере памяти DDR.

Что и как хранится в ячейках оперативной памяти

В современных компьютерах используется так называемая синхронная динамическая оперативная память — SDRAM. Для передачи данных в ней используется особый синхросигнал. При его подаче на микросхему происходит синхронное считывание информации и передача её в выходной буфер.

Представим, что у нас есть микросхема памяти с шириной шины данных 8 бит, на которую с частотой 100 МГц подаётся синхросигнал. В результате за одну транзакцию в выходной буфер по 8-битовому каналу попадает ровно 8 бит или 1 байт информации. Точно такой же синхросигнал приходит на выходной буфер, но на этот раз информация попадает на шину микросхемы памяти. Умножив частоту синхросигнала на ширину шины данных, мы получим ещё один важный параметр — пропускную способность памяти.

8 бит * 100 МГц = 100 Мб/с

Память DDR

Это был простейший пример работы SDR — памяти с однократной скоростью передачи данных. Этот тип памяти сейчас практически не используется, сегодня его место занимает DDR — память с удвоенной скоростью передачи данных. Разница между SDR и DDR заключается в том, что данные с выходного буфера такой ОЗУ читаются не только при поступлении синхросигнала, но и при его исчезновении. Также при подаче синхросигнала в выходной буфер с ядра памяти информация попадает не по одному каналу, а по двум, причём ширина шины данных и сама частота синхросигнала остаются прежними.

Что и как хранится в ячейках оперативной памяти

Для памяти DDR принято различать два типа частоты. Частота, с которой на модуль памяти подаётся синхросигнал, именуется базовой, а частота, с которой с выходного буфера считывается информация — эффективной. Рассчитывается она по следующей формуле:

эффективная частота = 2 * базовая частота

В нашем примере с микросхемой 8 бит и частотой 100 МГц это будет выглядеть следующим образом.

8 бит * (2 * 100 МГц) = 200 Мб/с

Чем отличаются DDR от DDR2, DDR3 и DDR4

Количеством связывающих ядро с выходным буфером каналов, эффективной частотой, а значит и пропускной способностью памяти. Что касается ширины шины данных (разрядности), то в большинстве современных модулей памяти она составляет 8 байт (64 бит). Допустим, что у нас есть модуль памяти стандарта DDR2-800. Как рассчитать его пропускную способность? Очень просто. Что такое 800? Это эффективная частота памяти в мегагерцах. Умножаем её на 8 байт и получаем 6400 Мб/с.

Что и как хранится в ячейках оперативной памяти

Что и как хранится в ячейках оперативной памяти

И последнее. Что такое пропускная способность мы уже знаем, а что такое объём оперативной памяти и зависит ли он от её пропускной способности? Прямой взаимосвязи между этим двумя характеристиками нет. Объём ОЗУ зависит от количества запоминающих элементов. И чем больше таких ячеек, тем больше данных может хранить память без их перезаписи и использования файла подкачки.

Источник

Как работает оперативная память вашего компьютера?

Любые данные в компьютере — это нули и единички. Текст, который вы читаете прямо сейчас, передался с нашего сервера прямо на ваш компьютер и записался в памяти — он представляет собой последовательность нулей и единичек. Прямо сейчас вы смотрите на ваш монитор, который состоит из пикселей и отображает наш сайт. Изображение — это тоже нули и единицы. Видео — это нули и единицы. Музыка — нули и единицы. Любой контент, доступный на вашем компьютере можно представить в виде нулей и единиц. Но как?

Что и как хранится в ячейках оперативной памяти

Оперативная память — это сложное устройство, и знать его работу будет полезно каждому

Стоит начать с того, что компьютер понимает только двоичную систему счисления. В жизни мы используем десятичную, так как у нас 10 пальцев и нам она попросту удобнее, но у компьютера нет 10 пальцев — он может работать только с логическими устройствами, которые работают только в двух состояниях — включен или выключен, есть подача тока или нет подачи тока. Если логическое устройство активно, значит подача тока есть и бит равен единице, если подачи тока нет, значит бит равен нулю. Бит — это самая маленькая единица измерения. 1 бит может иметь всего два состояния 1 и 0. 1 байт — это 8 бит. Таким образом, если перебрать все возможные комбинации нулей и единиц, получим, что в 1 байте может храниться 256 комбинаций битов или 2 в степени 8. Например, «0000001», «0000010» или «10110010» — любую букву английского алфавита можно представить в виде 8 битов (1 байта).

Что и как хранится в ячейках оперативной памяти

Двоичный код выглядит именно так!

Благодаря различным кодировкам мы можем представить любую информацию в двоичном виде. То же касается и наших программ, написанных на различных языках программирования. Чтобы запустить какую-либо программу, её необходимо скомпилировать в двоичный код. Таким образом, в двоичном виде можно представлять как данные, так и инструкции (код) для работы с этими данными. Существуют еще и интерпретируемые языки (JavaScript, Python), в этом случае интерпретатор по ходу выполнения программы анализирует код и компилирует его в язык, понятный нашему компьютеру, то есть в последовательность нулей и единиц, и в этом случае нет необходимости компилировать программу каждый раз при желании запустить её.

Как работает процессор?

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

Помимо оперативной памяти, в компьютере имеется кэш-память. Если вам интересна эта тема, можете изучить наш недавний материал.

Так как инструкции, поступающие на процессор, работают с данными из памяти, эти данные нужно где-то хранить. Брать их постоянно из оперативной памяти — слишком долго, поэтому в процессоре имеется своя память, представленная в виде нескольких регистров — она является самой быстрой памятью в компьютере.

Что такое регистр? Регистр в процессоре представлен в виде триггера, который может хранить 1 бит информации. Триггер — это один из множества логических элементов в микрочипах. Благодаря своей логике он способен хранить информацию. Вот так выглядит D-триггер:

Что и как хранится в ячейках оперативной памяти

Это D-триггер и он способен хранить информацию. Каждое простейшее логическое устройство, включая D-триггер, состоит из логических операций. На фото выше можно заметить знак «&» — это логическое И

Что и как хранится в ячейках оперативной памяти

Таблица истинности для логического «И»

Верхний переключатель «D» в D-триггере меняет значение бита, а нижний «C» включает или отключает его хранение. Вам наверняка интересно, как устроен этот «D-триггер». Подробнее работу триггеров вы можете изучить по видеоролику ниже:

Помимо D-триггера, существуют также RS-триггер, JK-триггер и другие. Этой теме посвящена не одна книга, можете изучить логические устройства микрочипов самостоятельно. Было бы неплохо углубиться еще и в тему квантовых процессоров, потому что очевидно, что будущее именно за ними.

Из чего состоит оперативная память?

Теперь вернемся к нашей памяти, она представляет собой большую группу регистров, которые хранят данные. Существует SRAM (статическая память) и DRAM (динамическая память). В статической памяти регистры представлены в виде триггеров, а в динамический в виде конденсаторов, которые со временем могут терять заряд. Сегодня в ОЗУ используется именно DRAM, где каждая ячейка — это транзистор и конденсатор, который при отсутствии питания теряет все данные. Именно поэтому, когда мы отключаем компьютер, оперативная память очищается. Все драйвера и другие важные программы компьютер в выключенном состоянии хранит на SSD, а уже при включении он заносит необходимые данные в оперативную память.

Вам наверняка будет интересно узнать виды оперативной памяти. На эту тему у нас есть отличный материал

Ячейка динамической оперативной памяти, как уже было сказано выше, состоит из конденсатора и транзистора, хранит она 1 бит информации. Точнее, саму информацию хранит конденсатор, а за переключения состояния отвечает транзистор. Конденсатор мы можем представить в виде небольшого ведерка, который наполняется электронами при подаче тока. Подробнее работу динамической оперативной памяти мы рассмотрели еще 7 лет назад. С тех пор мало что изменилось в принципах её работы. Если конденсатор заполнен электронами, его состояние равно единице, то есть на выходе имеем 1 бит информации. Если же нет, то нулю.

Как компьютер запоминает данные в ОЗУ?

Последовательность битов или 1 байт «01000001», записанный в ОЗУ, может означать что угодно — это может быть число «65», буква «А» или цвет картинки. Чтобы операционная система могла понимать, что означают эти биты, были придуманы различные кодировки для разных типов данных: MP3, WAV, MPEG4, ASCII, Unicode, BMP, Jpeg. Например, давайте попытаемся записать кириллическую букву «р» в нашу память. Для этого сначала необходимо перевести её в формат Unicode-символа (шестнадцатеричное число). «р» в Unicode-таблице это «0440». Далее мы должны выбрать, в какой кодировке будем сохранять число, пусть это будет UTF-16. Тогда в двоичной системе Unicode-символ примет вид «00000100 01000000». И уже это значение мы можем записывать в ОЗУ. Оно состоит из двух байт. А вот если бы мы взяли английскую «s», в двоичном виде она бы выглядела вот так «01110011».

Дело в том, что английский алфавит занимает лишь 1 байт, так как в UTF-кодировке он умещается в диапазон чисел от 0 до 255. В 256 комбинаций спокойно вмещаются числа от 0 до 9 и английский алфавит, а вот остальные символы уже нет, поэтому, например, для русских символов нужно 2 байта, а для японских или китайских символов нам понадобится уже 3 и даже 4 байта.

Вот мы и разобрались с тем, как работает оперативная память и как можно записать в неё данные. Понравился материал? Делитесь им с друзьями и давайте обсудим его в нашем чате.

Источник

# факты | Как работает оперативная память?

Оперативная память (ОЗУ, RAM), самая известная из всех рассмотренных ранее форм компьютерной памяти. Эту память называют памятью «произвольного доступа» («random access»), поскольку вы можете получить доступ к любой ее ячейке непосредственно. Для этого достаточно знать строку и столбец, на пересечении которых находится нужная ячейка. Известны два основных вида оперативной памяти: динамическая и статическая. Сегодня мы подробно рассмотрим принцип «дырявого ведра», на котором основана динамическая память. Некоторое внимание будет уделено и статической памяти, быстрой, но дорогой.

Что и как хранится в ячейках оперативной памяти

Ячейка памяти подобна дырявому ведру

Что и как хранится в ячейках оперативной памяти

Подобно подробно рассмотренному ранее микропроцессору, чип памяти является интегральной микросхемой (ИС, IC), собранной из миллионов транзисторов и конденсаторов. Одним из наиболее распространенных видов памяти произвольного доступа является DRAM (динамическая память произвольного доступа, dynamic random access memory). В ней транзистор и конденсатор спарены и именно они образуют ячейку, содержащую один бит информации. Конденсатор содержит один бит информации, то есть «0» или «1». Транзистор же играет в этой паре роль переключателя (свитча), позволяющего управляющей схеме чипа памяти считывать или менять состояние конденсатора.

Конденсатор можно представить себе в виде небольшого дырявого «ведерка», которое при необходимости заполняется электронами. Если оно заполнено электронами, его состояние равно единице. Если опустошено, то нулю. Проблемой конденсатора является утечка. За считанные миллисекунды (тысячные доли секунды) полный конденсатор становится пустым. А это значит, что или центральный процессор, или контроллер памяти вынужден постоянно подзаряжать каждый из конденсаторов, поддерживая его в наполненном состоянии. Подзарядку следует осуществлять до того, как конденсатор разрядится. С этой целью контроллер памяти осуществляет чтение памяти, а затем вновь записывает в нее данные. Это действие обновления состояния памяти осуществляется автоматически тысячи раз за одну только секунду.

Конденсатор динамической оперативной памяти можно сравнить с протекающим ведром. Если его не заполнять электронами снова и снова, его состояние станет нулевым. Именно эта операция обновления и внесла в название данного вида памяти слово «динамическая». Такая память или обновляется динамически, или «забывает» все, что она «помнила». Есть у этой памяти существенный недостаток: необходимость постоянно обновлять ее требует времени и замедляет работу памяти.

Устройство ячейки динамической оперативной памяти (DRAM)

Что и как хранится в ячейках оперативной памяти

Итак, представим себе тетрадный лист. Некоторые клеточки закрашены красным фломастером, а некоторые остались белыми. Красные клеточки это ячейки, состояние которых «1», а белые — «0».

Только вместо листа из тетради в оперативной памяти используется кремниевая пластина, в которую «впечатаны» столбцы (разрядные линии, bitlines) и строки (словарные шины, wordlines). Пересечение столбца и строки является адресом ячейки оперативной памяти.

Динамическая оперативная память передает заряд по определенному столбцу. Этот заряд называют стробом адреса столбца (CAS, Column Adress Strobe) или просто сигналом CAS. Этот сигнал может активировать транзистор любого бита столбца. Управляющий сигнал строки именуется стробом адреса строки (RAS, Row Adress Strobe). Для указания адреса ячейки следует задать оба управляющих сигнала. В процессе записи конденсатор готов принять в себя заряд. В процессе чтения усилитель считывания (sense-amplifier) определяет уровень заряда конденсатора. Если он выше 50 %, бит читается, как «1»; в остальных случаях, как «0».

Осуществляется также обновление заряда ячеек. За порядком обновления следит счетчик. Время, которое требуется на все эти операции, измеряется в наносекундах (миллиардных долях секунды). Если чип памяти 70-наносекундный, это значит, полное чтение и перезарядка всех его ячеек займет 70 наносекунд.

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

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

Статическая оперативная память

Что и как хранится в ячейках оперативной памяти

Статическая оперативная память быстрее, но и стоит дороже. По этой причине статическая память используется в кэше центрального процессора, а динамическая в качестве системной оперативной памяти компьютера. Более подробно о статической памяти написано в разделе «Кэш-память и регистр процессора» материала, посвященного преодолению ограничений компьютерной памяти.

В современном мире чипы памяти комплектуются в компонент, именуемый модулем. Порой компьютерные специалисты называют его «планкой памяти». Один модуль или «планка» содержит несколько чипов памяти. Не исключено, что вам приходилось слышать такие определения, как «память 8×32» или «память 4×16». Разумеется, цифры могли быть иными. В этой простой формуле первым множителем является количество чипов в модуле, а вторым емкость каждого модуля. Только не в мегабайтах, а в мегабитах. Это значит, что результат действия умножения следует разделить на восемь, чтобы получить объем модуля в привычных нам мегабайтах.

К примеру: 4×32 означает, что модуль содержит четыре 32-мегабитных чипа. Умножив 4 на 32, получаем 128 мегабит. Поскольку нам известно, что в одном байте восемь бит, нам нужно разделить 128 на 8. В итоге узнаем, что «модуль 4×32» является 16-мегабайтным и устарел еще в конце минувшего века, что не мешает ему быть превосходным простым примером для тех вычислений, которые нам потребовались.

Тема оперативной памяти настолько обширна, что мы вернемся к ней еще. Нам предстоит узнать о том, какие бывают типы оперативной памяти и как устроен ее модуль. Продолжение следует…

Источник

Анатомия RAM

Что и как хранится в ячейках оперативной памяти

У каждого компьютера есть ОЗУ, встроенное в процессор или находящееся на отдельной подключенной к системе плате — вычислительные устройства просто не смогли бы работать без оперативной памяти. ОЗУ — потрясающий образец прецизионного проектирования, однако несмотря на тонкость процессов изготовления, память ежегодно производится в огромных объёмах. В ней миллиарды транзисторов, но она потребляет только считанные ватты мощности. Учитывая большую важность памяти, стоит написать толковый анализ её анатомии.

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

Зачем же ты, RAM-ео?

Процессорам требуется очень быстро получать доступ к данным и командам, чтобы программы выполнялись мгновенно. Кроме того, им нужно, чтобы при произвольных или неожиданных запросах не очень страдала скорость. Именно поэтому для компьютера так важно ОЗУ (RAM, сокращение от random-access memory — память с произвольным доступом).

Существует два основных типа RAM: статическая и динамическая, или сокращённо SRAM и DRAM.

Мы будем рассматривать только DRAM, потому что SRAM используется только внутри процессоров, таких как CPU или GPU. Так где же находится DRAM в наших компьютерах и как она работает?

Большинству людей знакома RAM, потому что несколько её планок находится рядом с CPU (центральным процессором, ЦП). Эту группу DRAM часто называют системной памятью, но лучше её называть памятью CPU, потому что она является основным накопителем рабочих данных и команд процессора.

Что и как хранится в ячейках оперативной памяти

Как видно на представленном изображении, DRAM находится на небольших платах, вставляемых в материнскую (системную) плату. Каждую плату обычно называют DIMM или UDIMM, что расшифровывается как dual inline memory module (двухсторонний модуль памяти) (U обозначает unbuffered (без буферизации)). Подробнее мы объясним это позже; пока только скажем, что это самая известная RAM любого компьютера.

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

Ещё одним местом, где можно найти набор чипов памяти, обычно является графическая карта. Ей требуется сверхбыстрая DRAM, потому что при 3D-рендеринге выполняется огромное количество операций чтения и записи данных. Этот тип DRAM предназначен для несколько иного использования по сравнению с типом, применяемым в системной памяти.

Ниже вы видите GPU, окружённый двенадцатью небольшими пластинами — это чипы DRAM. Конкретно этот тип памяти называется GDDR5X, о нём мы поговорим позже.

Что и как хранится в ячейках оперативной памяти

Графическим картам не нужно столько же памяти, как CPU, но их объём всё равно достигает тысяч мегабайт.

Не каждому устройству в компьютере нужно так много: например, жёстким дискам достаточно небольшого количества RAM, в среднем по 256 МБ; они используются для группировки данных перед записью на диск.

Что и как хранится в ячейках оперативной памяти

На этих фотографиях мы видим платы HDD (слева) и SSD (справа), на которых отмечены чипы DRAM. Заметили, что чип всего один? 256 МБ сегодня не такой уж большой объём, поэтому вполне достаточно одного куска кремния.

Узнав, что каждый компонент или периферийное устройство, выполняющее обработку, требует RAM, вы сможете найти память во внутренностях любого ПК. На контроллерах SATA и PCI Express установлены небольшие чипы DRAM; у сетевых интерфейсов и звуковых карт они тоже есть, как и у принтеров со сканнерами.

Если память можно встретить везде, она может показаться немного скучной, но стоит вам погрузиться в её внутреннюю работу, то вся скука исчезнет!

Скальпель. Зажим. Электронный микроскоп.

У нас нет всевозможных инструментов, которые инженеры-электронщики используют для изучения своих полупроводниковых творений, поэтому мы не можем просто разобрать чип DRAM и продемонстрировать вам его внутренности. Однако такое оборудование есть у ребят из TechInsights, которые сделали этот снимок поверхности чипа:

Что и как хранится в ячейках оперативной памяти

Если вы подумали, что это похоже на сельскохозяйственные поля, соединённые тропинками, то вы не так далеки от истины! Только вместо кукурузы или пшеницы поля DRAM в основном состоят из двух электронных компонентов:

Что и как хранится в ячейках оперативной памяти

Синими и зелёными линиями обозначены соединения, подающие напряжение на МОП-транзистор и конденсатор. Они используются для считывания и записи данных в ячейку, и первой всегда срабатывает вертикальная (разрядная) линия.

Канавочный конденсатор, по сути, используется в качестве сосуда для заполнения электрическим зарядом — его пустое/заполненное состояние даёт нам 1 бит данных: 0 — пустой, 1 — полный. Несмотря на предпринимаемые инженерами усилия, конденсаторы не способны хранить этот заряд вечно и со временем он утекает.

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

К каждой линии подключено несколько ячеек:

Что и как хранится в ячейках оперативной памяти

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

Полная строка ячеек памяти называется страницей, а длина её зависит от типа и конфигурации DRAM. Чем длиннее страница, тем больше в ней бит, но и тем большая электрическая мощность нужна для её работы; короткие страницы потребляют меньше мощности, но и содержат меньший объём данных.

Однако нужно учитывать и ещё один важный фактор. При считывании и записи на чип DRAM первым этапом процесса является активация всей страницы. Строка битов (состоящая из нулей и единиц) хранится в буфере строки, который по сути является набором усилителей считывания и защёлок, а не дополнительной памятью. Затем активируется соответствующий столбец для извлечения данных из этого буфера.

Если страница слишком мала, то чтобы успеть за запросами данных, строки нужно активировать чаще; и наоборот — большая страница предоставляет больше данных, поэтому активировать её можно реже. И даже несмотря на то, что длинная строка требует большей мощности и потенциально может быть менее стабильной, лучше стремиться к получению максимально длинных страниц.

Что и как хранится в ячейках оперативной памяти

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

Например, схема может состоять из 4 096 строк и 4 096 столбцов, при этом полный объём одного банка будет равен 16 777 216 битам или 2 мегабайтам. Но не у всех чипов DRAM банки имеют квадратную структуру, потому что длинные страницы лучше, чем короткие. Например, схема из 16 384 строк и 1 024 столбцов даст нам те же 2 мегабайта памяти, но каждая страница будет содержать в четыре раза больше памяти, чем в квадратной схеме.

Все страницы в банке соединены с системой адресации строк (то же относится и к столбцам) и они контролируются сигналами управления и адресами для каждой строки/столбца. Чем больше строк и столбцов в банке, тем больше битов должно использоваться в адресе.

Для банка размером 4 096 x 4 096 для каждой системы адресации требуется 12 бит, а для банка 16 384 x 1 024 потребуется 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 расшифровывается как dual (двойная), это не значит, что на ней два набора чипов. Под двойным подразумевается количество электрических контактов в нижней части платы; то есть для работы с модулями используются обе стороны платы.

Сами DIMM имеют разный размер и количество чипов:

Что и как хранится в ячейках оперативной памяти

На фотографии сверху показана стандартная DIMM для настольного ПК, а под ней находится так называемая SO-DIMM (small outline, «DIMM малого профиля»). Маленький модуль предназначен для ПК малого форм-фактора, например, ноутбуков и компактных настольных компьютеров. Из-за малого пространства уменьшается количество используемых чипов, изменяется скорость работы памяти, и так далее.

Существует три основных причины для использования нескольких чипов памяти на DIMM:

То есть каждому DIMM, который устанавливается в компьютер с Ryzen, потребуется восемь модулей DRAM (8 чипов x 8 бит = 64 бита). Можно подумать, что графическая карта 5700 XT будет иметь 32 чипа памяти, но у неё их только 8. Что же это нам даёт?

В чипы памяти, предназначенные для графических карт, устанавливают больше банков, обычно 16 или 32, потому что для 3D-рендеринга необходим одновременный доступ к большому объёму данных.

Что и как хранится в ячейках оперативной памяти

Один ранг и два ранга

Множество модулей памяти, «заполняющих» шину данных контроллера памяти, называется рангом, и хотя к контроллеру можно подключить больше одного ранга, за раз он может получать данные только от одного ранга (потому что ранги используют одну шину данных). Это не вызывает проблем, потому что пока один ранг занимается ответом на переданную ему команду, другому рангу можно передать новый набор команд.

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

Так называемые схемы с двумя (dual) или четырьмя (quad) рангами потенциально могут обеспечить большую производительность, чем одноранговые, но увеличение количества рангов быстро повышает нагрузку на электрическую систему. Большинство настольных ПК способно справиться только с одним-двумя рангами на один контроллер. Если системе нужно больше рангов, то лучше использовать DIMM с буферизацией: такие платы имеют дополнительный чип, облегчающий нагрузку на систему благодаря хранению команд и данных в течение нескольких циклов, прежде чем передать их дальше.

Что и как хранится в ячейках оперативной памяти

Множество модулей памяти Nanya и один буферный чип — классическая серверная RAM

Но не все ранги имеют размер 64 бита — используемые в серверах и рабочих станциях DIMM часто размером 72 бита, то есть на них есть дополнительный модуль DRAM. Этот дополнительный чип не обеспечивает повышение объёма или производительности; он используется для проверки и устранения ошибок (error checking and correcting, ECC).

Вы ведь помните, что всем процессорам для работы нужна память? В случае ECC RAM небольшому устройству, выполняющему работу, предоставлен собственный модуль.

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

Жажда скорости

У всех DRAM есть центральный тактовый сигнал ввода-вывода (I/O, input/output) — напряжение, постоянно переключающееся между двумя уровнями; он используется для упорядочивания всего, что выполняется в чипе и шинах памяти.

Если бы мы вернулись назад в 1993 год, то смогли бы приобрести память типа SDRAM (synchronous, синхронная DRAM), которая упорядочивала все процессы с помощью периода переключения тактового сигнала из низкого в высокое состояние. Так как это происходит очень быстро, такая система обеспечивает очень точный способ определения времени выполнения событий. В те времена SDRAM имела тактовые сигналы ввода-вывода, обычно работавшие с частотой от 66 до 133 МГц, и за каждый такт сигнала в DRAM можно было передать одну команду. В свою очередь, чип за тот же промежуток времени мог передать 8 бит данных.

Быстрое развитие SDRAM, ведущей силой которого был Samsung, привело к созданию в 1998 году её нового типа. В нём передача данных синхронизировалась по повышению и падению напряжения тактового сигнала, то есть за каждый такт данные можно было дважды передать в DRAM и обратно.

Как же называлась эта восхитительная новая технология? Double data rate synchronous dynamic random access memory (синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных). Обычно её просто называют DDR-SDRAM или для краткости DDR.

Что и как хранится в ячейках оперативной памяти

Память DDR быстро стала стандартом (из-за чего первоначальную версию SDRAM переименовали в single data rate SDRAM, SDR-DRAM) и в течение последующих 20 лет оставалась неотъемлемой частью всех компьютерных систем.

Прогресс технологий позволил усовершенствовать эту память, благодаря чему в 2003 году появилась DDR2, в 2007 году — DDR3, а в 2012 году — DDR4. Каждая новая версия обеспечивала повышение производительности благодаря ускорению тактового сигнала ввода-вывода, улучшению систем сигналов и снижению энергопотребления.

DDR2 внесла изменение, которое мы используем и сегодня: генератор тактовых сигналов ввода-вывода превратился в отдельную систему, время работы которой задавалось отдельным набором синхронизирующих сигналов, благодаря чему она стала в два раза быстрее. Это аналогично тому, как CPU используют для упорядочивания работы тактовый сигнал 100 МГц, хотя внутренние синхронизирующие сигналы работают в 30-40 раз быстрее.

DDR3 и DDR4 сделали шаг вперёд, увеличив скорость тактовых сигналов ввода-вывода в четыре раза, но во всех этих типах памяти шина данных для передачи/получения информации по-прежнему использовала только повышение и падение уровня сигнала ввода-вывода (т.е. удвоенную частоту передачи данных).

Сами чипы памяти не работают на огромных скоростях — на самом деле, они шевелятся довольно медленно. Частота передачи данных (измеряемая в миллионах передач в секунду — millions of transfers per second, MT/s) в современных DRAM настолько высока благодаря использованию в каждом чипе нескольких банков; если бы на каждый модуль приходился только один банк, всё работало бы чрезвычайно медленно.

Тип DRAMОбычная частота чипаТактовый сигнал ввода-выводаЧастота передачи данных
SDR100 МГц100 МГц100 MT/s
DDR100 МГц100 МГц200 MT/s
DDR2200 МГц400 МГц800 MT/s
DDR3200 МГц800 МГц1600 MT/s
DDR4400 МГц1600 МГц3200 MT/s

Каждая новая версия DRAM не обладает обратной совместимостью, то есть используемые для каждого типа DIMM имеют разные количества электрических контактов, разъёмы и вырезы, чтобы пользователь не мог вставить память DDR4 в разъём DDR-SDRAM.

Что и как хранится в ячейках оперативной памяти

Сверху вниз: DDR-SDRAM, DDR2, DDR3, DDR4

DRAM для графических плат изначально называлась SGRAM (synchronous graphics, синхронная графическая RAM). Этот тип RAM тоже подвергался усовершенствованиям, и сегодня его для понятности называют GDDR. Сейчас мы достигли версии 6, а для передачи данных используется система с учетверённой частотой, т.е. за тактовый цикл происходит 4 передачи.

Тип DRAMОбычная частота памятиТактовый сигнал ввода-выводаЧастота передачи данных
GDDR250 МГц250 МГц500 MT/s
GDDR2500 МГц500 МГц1000 MT/s
GDDR3800 МГц1600 МГц3200 MT/s
GDDR41000 МГц2000 МГц4000 MT/s
GDDR51500 МГц3000 МГц6000 MT/s
GDDR5X1250 МГц2500 МГц10000 MT/s
GDDR61750 МГц3500 МГц14000 MT/s

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

Какой же минус у всех этих продвинутых технологий? Стоимость и тепловыделение.

Один модуль GDDR6 примерно вдвое дороже аналогичного чипа DDR4, к тому же при полной скорости он становится довольно горячим — именно поэтому графическим картам с большим количеством сверхбыстрой RAM требуется активное охлаждение для защиты от перегрева чипов.

Скорость битов

Производительность DRAM обычно измеряется в количестве битов данных, передаваемых за секунду. Ранее в этой статье мы говорили, что используемая в качестве системной памяти DDR4 имеет чипы с 8-битной шириной шины, то есть каждый модуль может передавать до 8 бит за тактовый цикл.

То есть если частота передачи данных равна 3200 MT/s, то пиковый результат равен 3200 x 8 = 25 600 Мбит в секунду или чуть больше 3 ГБ/с. Так как большинство DIMM имеет 8 чипов, потенциально можно получить 25 ГБ/с. Для GDDR6 с 8 модулями этот результат был бы равен 440 ГБ/с!

Обычно это значение называют полосой пропускания (bandwidth) памяти; оно является важным фактором, влияющим на производительность RAM. Однако это теоретическая величина, потому что все операции внутри чипа DRAM не происходят одновременно.

Чтобы разобраться в этом, давайте взглянем на показанное ниже изображение. Это очень упрощённое (и нереалистичное) представление того, что происходит, когда данные запрашиваются из памяти.

Что и как хранится в ячейках оперативной памяти

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

Чипу передаётся местоположение страницы данных (адрес строки), и он отвечает на это передачей целой страницы. На всё это требуется время и, что более важно, время нужно и для полной активации строки, чтобы гарантировать полную блокировку строки битов перед выполнением доступа к ней.

Затем определяется соответствующий столбец и извлекается единственный бит информации. Все типы DRAM передают данные пакетами, упаковывая информацию в единый блок, и пакет в современной памяти почти всегда равен 8 битам. То есть даже если за один тактовый цикл извлекается один бит, эти данные нельзя передать, пока из других банков не будет получено ещё 7 битов.

А если следующий требуемый бит данных находится на другой странице, то перед активацией следующей необходимо закрыть текущую открытую страницу (это процесс называется pre-charging). Всё это, разумеется, требует больше времени.

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

Некоторые из этих задержек имеют знакомые фанатам компьютеров названия:

Название таймингаОписаниеОбычное значение в DDR4
tRCDRow-to-Column Delay: количество циклов между активацией строки и возможностью выбора столбца17 циклов
CLCAS Latency: количество циклов между адресацией столбца и началом передачи пакет данных15 циклов
tRASRow Cycle Time: наименьшее количество циклов, в течение которого строка должна оставаться активной перед тем, как можно будет выполнить её pre-charging35 циклов
tRPRow Precharge time: минимальное количество циклов, необходимое между активациями разных строк17 циклов

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

Хотя при выполнении процессов часто приходится ждать, команды можно помещать в очереди и передавать, даже если память занята чем-то другим. Именно поэтому можно увидеть много модулей RAM там, где нам нужна производительность (системная память CPU и чипы на графических картах), и гораздо меньше модулей там, где они не так важны (в жёстких дисках).

Тайминги памяти можно настраивать — они не заданы жёстко в самой DRAM, потому что все команды поступают из контроллера памяти в процессоре, который использует эту память. Производители тестируют каждый изготавливаемый чип и те из них, которые соответствуют определённым скоростям при заданном наборе таймингов, группируются вместе и устанавливаются в DIMM. Затем тайминги сохраняются в небольшой чип, располагаемый на плате.

Что и как хранится в ячейках оперативной памяти

Даже памяти нужна память. Красным указано ПЗУ (read-only memory, ROM), в котором содержится информация SPD.

Процесс доступа к этой информации и её использования называется serial presence detect (SPD). Это отраслевой стандарт, позволяющий BIOS материнской платы узнать, на какие тайминги должны быть настроены все процессы.

Многие материнские платы позволяют пользователям изменять эти тайминги самостоятельно или для улучшения производительности, или для повышения стабильности платформы, но многие модули DRAM также поддерживают стандарт Extreme Memory Profile (XMP) компании Intel. Это просто дополнительная информация, хранящаяся в памяти SPD, которая сообщает BIOS: «Я могу работать с вот с такими нестандартными таймингами». Поэтому вместо самостоятельной возни с параметрами пользователь может настроить их одним нажатием мыши.

Спасибо за службу, RAM!

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

Возьмите в руку планку памяти DDR4-SDRAM на 8 ГБ из любого нового ПК: в ней упаковано почти 70 миллиардов конденсаторов и такое же количество транзисторов. Каждый из них хранит крошечную долю электрического заряда, а доступ к ним можно получить за считанные наносекунды.

Даже при повседневном использовании она может выполнять бесчисленное количество команд, и большинство из плат способны без малейших проблем работать многие годы. И всё это меньше чем за 30 долларов? Это просто завораживает.

DRAM продолжает совершенствоваться — уже скоро появится DDR5, каждый модуль которой обещает достичь уровня полосы пропускания, с трудом достижимый для двух полных DIMM типа DDR4. Сразу после появления она будет очень дорогой, но для серверов и профессиональных рабочих станций такой скачок скорости окажется очень полезным.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *