что такое адрес озу пзу
Что такое адрес озу пзу
В зависимости от типа ЗУ элементом памяти (ЭП) может быть: триггер, миниатюрный конденсатор, транзистор с «плавающим затвором», плавкая перемычка (или ее отсутствие). Упорядоченный набор ЭП образует ячейку памяти (ЯП). Количество элементов памяти в ячейке (длина слова) обычно кратно 2 n (1,4,8,16, 32,64..), причем величины свыше 8-ми достигаются, обычно, группировкой микросхем с меньшим количеством ЭП. Количество ЭП в ЯП иногда называется длиной слова. Основными характеристиками микрсхем памяти являются: информационная емкость, быстродействие и энергопотребление. Емкость ЗУ чаще всего выражается в единицах кратных числу 2 10 = 1024 = 1K. Для длины слова равной биту (одному двоичному разряду) или байту (набору из восьми бит) эта единица называется килобит или килобайт и обозначается Kb или KB.
5.1 ОЗУ СТАТИЧЕСКОГО ТИПА
В качестве элемента памяти используется простейший D-триггер защелка. В микросхеме 537РУ10 каждая ЯП состоит из восьми триггеров и располагаются ячейки на кристалле в виде прямоугольной матрицы.
На рисунке внизу показан фрагмент внутренней структуры микросхемы, по которому можно проследить основные режимы ее работы. Здесь же дано условное обозначение микросхемы.
CS, во всех микросхемах, где он встречается, служит для приведения схемы в рабочее состояние низким уровнем сигнала на этом входе.
CS = 0, схемы ИЛИ-НЕ разблокируются и дальше все зависит от значений сигналов
В режиме записи сигнал
WE = 0. Поэтому независимо от значения сигнала
OE=0 и при Yr=Yc=1, выходной сигнал
Q после инверсии элементом Иij с открытым коллектором проходит на выход DIOi.
Для увеличения информационной емкости,отдельные микросхемы группируются в банки и их одноименные выходы должны объединяться. По этой причине выходы всех микросхем памяти также выполняются с открытым коллектором либо с третьим состоянием.
В ЭВМ статическое ОЗУ используется в быстродействующей Cash-памяти.
5.2 ОЗУ ДИНАМИЧЕСКОГО ТИПА
В качестве элемента памяти используется микроконденсатор в интегральном исполнении, размеры которого значительно меньше D-триггера статической памяти. По этой причине, при одинаковых размерах кристалла, информационная емкость DRAM выше, чем у SRAM. Количество адресных входов и габариты должны увеличиться.Чтобы не допустить этого, адресные линии внутри микросхемы разбиваются на две группы, например старшая и младшая половина. Две одноименные k-линии каждой группы подключаются к двум выходам внутреннего k-го демультиплексора «1 в 2», а его вход соединяется с k-ым адресным входом микросхемы. Количество адресных входов, при этом уменьшается в два раза, но зато передача адреса в микросхему должна производиться, во-первых в два приема, что несколько уменьшает быстродействие, и во-вторых потребуется дополнительный внешний мультиплексор адреса.В процессе хранения бита конденсатор разряжается. Чтобы этого не допустить заряд необходимо поддерживать.
Суммируя, можно перечислить чем отличается динамическое ОЗУ от статического: 1)мультиплексированием адресных входов, 2)необходимостью регенерации хранимой информации, 3)повышенной емкостью (до нескольких Мбит), 4)более сложной схемой управления. На рисунке внизу приведено условное обозначение м/с 565РУ7 емкостью 256K*1 (2 18 K) и способ подключения 18-ти линий адреса к девяти адресным входам с помощью 9-ти мультиплексоров «2 в 1», например трех счетверенных селекторов-мультиплексоров типа 1533КП16.
R/C на входе выбора S мультиплексора, равен нулю, то A(0..8) = Y(0..8) и в микросхему передается адрес строки. Этот адрес фиксируется отрицательным фронтом строба адреса строк
R/C = 1 на выходы мультиплексора передается адрес столбцов A(9..17), который защелкивается отрицательным перепадом строба адреса столбцов
5.3 РЕПРОГРАММИРУЕМОЕ ПЗУ
Микросхемы РПЗУ допускают многократное, до сотен тысяч, циклов перепрограммирования на рабочем месте пользователя. Это свойство обеспечивается применением ЭП на МОП транзисторах с «плавающим затвором». Толщина изоляции «плавающего затвора» порядка 200 ангстрем. Информация считается стертой, если на выходах всех ЭП высокий уровень сигнала. В режиме программирования, на выбранный по адресной шине ЭП, куда необходимо записать ноль, подается импульс. Стирание осуществляется УФ-излучением (EPROM), либо электрически (EEPROM). При этом все ячейки переводятся в состояние «1». Записанная информация сохраняется в течение нескольких лет. Одной из м/с этого типа является EPROM 573РФ2 с организацией (2К * 8) и тристабильными выходами.
В Flash-памяти толщина изоляции «плавающего затвора» менее 100 ангстрем, поэтому при перепрограммировании используется туннельный эффект.
5.4 ОДНОКРАТНО ПРОГРАММИРУЕМЫЕ ПЗУ ППЗУ (PROM,OTP)
в качестве элементов памяти имеют набор плавких перемычек, которые в процессе программирования пережигаются импульсами тока. На рис.75 приведена схема ППЗУ.
Для любого значения адресных сигналов найдется единственный выход дешифратора «i» на котором сигнал Yi = 1, на остальных выходах будут нули. Потенциал базы j-транзистора будет зависеть в этом случае только от наличия или отсутствия перемычки fi. Если перемычка есть (fi=1), то на базе высокий уровень сигнала, транзистор открыт и выходной сигнал DOj = 0. Если перемычки нет (fi=0),то DOj=1.Пережиганием перемычек в соответствующих j-битах всех адресов, в микросхему записывается программа и/или данные. Выходной сигнал дешифратора Yi = mi, где mi-минтерм входных переменных A0..An-1.Транзистор с перемычками выполняет роль ИЛИ-НЕ, поэтому сигнал
Ak, если Ak во входном наборе равна 0 и /Ak = Ak, если Ak = 1. Эти формулы соответствуют формулам СДНФ (12), поэтому с помощью ПЗУ с n-адресными входами и m-выходами можно реализовать любые m-логических функций с n-переменными (учитывая инверсию сигнала выходным каскадом).
5.5 ЭНЕРГОНЕЗАВИСИМАЯ ПАМЯТЬ (NVSRAM)
с дополнительной EEPROM на том же кристалле, причем обмен данными между SRAM и EEPROM производится либо программно либо автоматически при падении/восстановлении напряжения
5.6 УВЕЛИЧЕНИЕ РАЗРЯДНОСТИ ЯЧЕЙКИ ПАМЯТИ (СЛОВА)
5.7 УВЕЛИЧЕНИЕ КОЛИЧЕСТВА ЯЧЕЕК ПАМЯТИ
Одноименные j- е выходы микросхем с открытым коллектором соединены с общим нагрузочным резистором Rj. Три старших дополнительных бита адреса A10,A9,A8 выбирают одну из восьми микросхем, а восемь младших бит адреса выводят содержимое одной из 256-ти ячеек памяти на шину данных (ШД).Пусть на шину адреса (ША) поступил код A10..A0 = 11000011010 = 61A. На всех выходах дешифратора, кроме шестого (A10..A8 = 110 =6) будет высокий уровень. Нулевой сигнал
OE1 шестой микросхемы разрешит прохождение записанной информации на выходы, а код 1 1010 = 1A(HEX) = 26(DEC) на адресных входах A7..A0 извлечет содержимое 26-ой ЯП и поместит его на четыре линии шины данных (ШД).
5.8 ПРОГРАММИРУЕМЫЕ ЦИФРОВЫЕ ИНТЕГРАЛЬНЫЕ СХЕМЫ
Проектирование современных цифровых устройств невозможно без использования программируемых цифровых ИС (ПЦИС). Они обладают следующими преимуществами перед дискретными элементами: 1)Уменьшение габаритов устройства, 2)Увеличение быстродействия, 3)Повышение надежности, 4)Защита от копирования результатов разработки, 5)Беспрецедентная скорость разработки и модификации проекта, 6)Разработку и модификацию устройства может вести потребитель на своем рабочем столе.
СТРУКТУРА ПЦИС
Схемные характеристики большинства ПЦИС основаны на реализации диз’юнктивной нормальной формы (ДНФ) с помощью элементов И,ИЛИ,ИСКЛЮЧАЮЩЕЕ ИЛИ и инверторов. В состав ПЦИС входят также триггеры, мультиплексоры конфигурации буферы (прямые, инверсные, тристабильные) и программируемые перемычки. Потребительские свойства разрабатываемой потребителем схемы складываются, т.о. из жесткой топологии, закладываемой на заводе и из схемных особенностей проекта программируемых разработчиком (потребителем). Основой ПЦИС является набор матриц И и ИЛИ и макроячеек, включающих триггеры, буферы входов/выходов, элементы управления и обратные связи. Укрупненная структурная схема ПЦИС показана на рис.1.
Входы элементов И матрицы И принято обозначать на схемах (не по ГОСТ’у между прочим) как на рис.2 слева. В середине то же по ГОСТ.
В незапрограммированном виде пермычки находятся на месте. Удаляя (значок X) с помощью программатора перемычки можно получить любое логическое произведение (терм) входных переменных. На рис.2 перемычка от линии x1 до соответствующего входа И удалена. Обычно на входы матриц И заводятся не только прямые, но и инверсные значения переменных. Выходы матриц И, как и положено в ДНФ подключаются к элементам ИЛИ. Внимательно изучите рис.3 и особенно обозначение пересечений без соединения и с соединением проводников.
Выход элемента ИЛИ подключен через управляемый инвертор/повторитель, выполненный на ИСКЛ.ИЛИ (=1), во-первых к входу триггера, во-вторых через мультиплексор MUX1 и управляемый тристабильный буфер к выходу.
Если буфер переведен в третье состояние сигналом E, внешний вывод микросхемы «выход/вход» может служить входом. Через MUX2, также может заводиться сигнал обратной связи с выхода триггера. Cигналы от перемычек F(use)1 и F(use)2 поступают на управляющие входы мультиплексоров «2->1» обеспечивая подключение одного из двух входов к единственному выходу, каждого MUX. Программирование ПЦИС под конкретную задачу может многократно производиться конфигурированием перемычек с помощью специальных программаторов под управлением САПР.
5.9 ЗАДАЧИ И УПРАЖНЕНИЯ
Пояснения : 1)Микросхема имеет три управляющих входа: выбор микросхемы
CS, разрешение выходов
OE и разрешение записи
WR, последний вход и определяет принадлежность микросхемы к ОЗУ (ram). 2)Наличие двух адресных входов свидетельствует о 2^2 ячейках памяти. 3)Две линии данных соответствуют длине слова = 2
Найдите логическую функцию на выходе Y матрицы И,ИЛИ ПЦИС.
Найдите логическую функцию на выходе Y.
Пояснения: На рисунке показаны только задействованные элементы И в каждой макроячейке. Выходной буфер у каждой макроячейки инвертирующий. Поэтому верхняя матрица И,ИЛИ реализует функцию Yi =
h). Сигнал Yi является входным для нижней схемы И, но не поступает на вход верхней, так как сответствующая перемычка разомкнута. Далее продолжите решение самостоятельно. Не забывайте про соотношение двойственности (Де Моргана)!
Глава 1. Компьютер. Программное и аппаратное обеспечение
Системный блок компьютера. Оперативная память: тип, частота, и информационная емкость
Внутренняя память
Постоянная память (ПЗУ, ROM ) — неизменяемая память, поставляемая вместе с компьютером, в которой хранятся программы, тестирующие компьютер сразу после его включения и загружающие операционную систему.
Кэш-память — (англ. cache), или сверхоперативная память. Кэш-память реализуется на микросхемах статической памяти SRAM.
Специальная память — к устройствам специальной памяти относятся перепрограммируемая постоянная память (Flash Memory), память CMOS RAM, питаемая от батарейки, видеопамять и некоторые другие виды памяти.
Внешняя память
Предназначена для переноса и хранения информации. Это могут быть дискеты, лазерные диски, магнитооптические диски, винчестеры и другие устройства, выполняющие данные функции.
Внутренняя (основная) память
В состав внутренней памяти входят оперативная память, постоянная память, кэш-память и специальная память.
Оперативная память
Оперативная память (ОЗУ, англ. RAM, Random Access Memory — память с произвольным доступом) — это оперативное (быстрое) запоминающее устройство не очень большого объёма, непосредственно связанное с процессором и предназначенное для записи, считывания и хранения выполняемых программ и данных, обрабатываемых этими программами.
Оперативная память используется только для временного хранения данных и программ, так как, когда машина выключается, все, что находилось в ОЗУ, пропадает. Доступ к элементам оперативной памяти прямой — это означает, что каждый байт памяти имеет свой индивидуальный адрес.
Как работает ОЗУ?
Когда компьютер отправляет данные на хранение в оперативную память, он запоминает адреса, в которые эти данные помещены. Обращаясь к информационной ячейке, компьютер находит в ней байт данных.
Адресная ячейка оперативной памяти хранит один байт, а поскольку байт состоит из 8 битов, то в ней есть 8 битовых ячеек. Каждая такая ячейка микросхемы оперативной памяти хранит электрический заряд.
Заряды в ячейках не могут храниться долго — они «стекают». За несколько десятых долей секунды заряд в ячейки уменьшается до утраты данных. Чтобы такого не случилось, компьютер «повторяет» информацию в каждой ячейке (подзаряжает). Это называется регенерацией оперативной памяти. Это происходит так быстро, что мы не замечаем этого, но стоит на мгновенье отключить питание, стирается вся оперативная память и происходит «сброс» компьютера.
Объем ОЗУ обычно составляет от 32 до 1024 Мбайт. В настоящее время появились ОЗУ до 2 Гбайт. Для несложных административных задач бывает достаточно и 32 Мбайт ОЗУ, но сложные задачи компьютерного дизайна могут потребовать от 512 Мбайт до 2 Гбайт ОЗУ.
Обычно ОЗУ исполняется на интегральных микросхемах памяти SDRAM (синхронное динамическое ОЗУ). Каждый информационный бит в SDRAM запоминается в виде электрического заряда крохотного конденсатора, образованного в структуре полупроводникового кристалла. Из-за токов утечки такие конденсаторы быстро разряжаются, и их периодически (примерно каждые 2 миллисекунды) подзаряжают специальные устройства. Этот процесс, как уже было сказано, называется регенерацией памяти (Refresh Memory). Микросхемы SDRAM имеют ёмкость 16 — 256 Мбит и более. Они устанавливаются в корпуса и собираются в модули памяти.
Большинство современных компьютеров комплектуются модулями типа DIMM (Dual-In-line Memory Module — модуль памяти с двухрядным расположением микросхем). В компьютерных системах на самых современных процессорах используются высокоскоростные модули Rambus DRAM (RIMM) и DDR DRAM.
DIMM
RIMM
В персональных компьютерах объем адресуемой памяти и величина фактически установленной оперативной памяти практически всегда различаются. Хотя объем адресуемой памяти может достигать 64 Гбайт, величина фактически установленной оперативной памяти может быть значительно меньше, например, «всего» 64 Мбайт.
Оперативная память — временная, т. е. данные в ней хранятся только до выключения ПК. Для долговременного хранения информации служат дискеты, винчестеры, компакт-диски и т. п. Конструктивно элементы памяти выполнены в виде модулей, так что при желании можно сравнительно просто заменить их или установить дополнительные и тем самым изменить объем общей оперативной памяти компьютера.
Кэш-память
Кэш (англ. cache), или сверхоперативная память — очень быстрое ЗУ небольшого объёма, которое используется при обмене данными между микропроцессором и оперативной памятью для компенсации разницы в скорости обработки информации процессором и несколько менее быстродействующей оперативной памятью.
Кэш-памятью управляет специальное устройство — контроллер, который, анализируя выполняемую программу, пытается предвидеть, какие данные и команды вероятнее всего понадобятся в ближайшее время процессору, и подкачивает их в кэш-память. При этом возможны как «попадания», так и «промахи». В случае попадания, то есть, если в кэш подкачаны нужные данные, извлечение их из памяти происходит без задержки. Если же требуемая информация в кэше отсутствует, то процессор считывает её непосредственно из оперативной памяти. Соотношение числа попаданий и промахов определяет эффективность кэширования.
Кэш-память реализуется на микросхемах статической памяти SRAM (Static RAM), более быстродействующих, дорогих и малоёмких, чем DRAM (SDRAM). Современные микропроцессоры имеют встроенную кэш-память, так называемый кэш первого уровня размером 8, 16, 32 или 64 Кбайт. Кроме того, на системной плате компьютера может быть установлен кэш второго уровня ёмкостью 256, 512, 1024 Кбайт и выше.
Постоянная память (ПЗУ)
Существует два типа памяти — память с произвольным доступом (RAM или random access memory). Это оперативная память. Ее мы только что рассмотрели, но помимо нее существует другой вид внутренней памяти — память, доступная только на чтение (ROM или read only memory). Это и есть постоянная память, или как по-другому ее называют постоянное запоминающее устройство (ПЗУ).
Память, доступная только на чтение используется для постоянного размещения определенных программ (например, программы начальной загрузки ЭВМ). В процессе работы компьютера содержимое этой памяти не может быть изменено.
Постоянная память (ПЗУ, англ. ROM, Read Only Memory — память только для чтения) — энергонезависимая память, используется для хранения данных, которые никогда не потребуют изменения. Содержание памяти специальным образом «зашивается» в устройстве при его изготовлении для постоянного хранения. Из ПЗУ можно только читать.
ПЗУ является энергонезависимым.
В ПЗУ находятся:
Отличия ОЗУ и ПЗУ :
Специальная постоянная память
Перепрограммируемая постоянная память (Flash Memory) — энергонезависимая память, допускающая многократную перезапись своего содержимого с дискеты.
К устройствам специальной памяти относятся перепрограммируемая постоянная память (Flash Memory), память CMOS RAM, питаемая от батарейки, видеопамять и некоторые другие виды памяти.
Перепрограммируемая постоянная память (Flash Memory) — энергонезависимая память, допускающая многократную перезапись своего содержимого с дискеты
Важнейшая микросхема постоянной или Flash-памяти — модуль BIOS. Роль BIOS двоякая: с одной стороны это неотъемлемый элемент аппаратуры, а с другой стороны — важный модуль любой операционной системы.
BIOS (Basic Input/Output System — базовая система ввода-вывода) — совокупность программ, предназначенных для автоматического тестирования устройств после включения питания компьютера и загрузки операционной системы в оперативную память
Разновидность постоянного ЗУ — CMOS RAM.
CMOS RAM — это память с невысоким быстродействием и минимальным энергопотреблением от батарейки. Используется для хранения информации о конфигурации и составе оборудования компьютера, а также о режимах его работы.
Рис 2. Микросхемы BIOS и CMOS
Содержимое CMOS изменяется специальной программой Setup, находящейся в BIOS (англ. Set-up — устанавливать, читается «сетап»).
К устройствам специальной памяти относят видеопамять. Видеопамять используется для хранения графической информации. Видеопамять содержит данные, соответствующие текущему изображению на экране.
Видеопамять (VRAM) — разновидность оперативного ЗУ, в котором хранятся закодированные изображения. Это ЗУ организовано так, что его содержимое доступно сразу двум устройствам — процессору и дисплею. Поэтому изображение на экране меняется одновременно с обновлением видеоданных в памяти.
Объем VRAM обычно составляет от 16 до 512 Мбайт.
Анатомия 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 | Обычная частота чипа | Тактовый сигнал ввода-вывода | Частота передачи данных |
SDR | 100 МГц | 100 МГц | 100 MT/s |
DDR | 100 МГц | 100 МГц | 200 MT/s |
DDR2 | 200 МГц | 400 МГц | 800 MT/s |
DDR3 | 200 МГц | 800 МГц | 1600 MT/s |
DDR4 | 400 МГц | 1600 МГц | 3200 MT/s |
Каждая новая версия DRAM не обладает обратной совместимостью, то есть используемые для каждого типа DIMM имеют разные количества электрических контактов, разъёмы и вырезы, чтобы пользователь не мог вставить память DDR4 в разъём DDR-SDRAM.
Сверху вниз: DDR-SDRAM, DDR2, DDR3, DDR4
DRAM для графических плат изначально называлась SGRAM (synchronous graphics, синхронная графическая RAM). Этот тип RAM тоже подвергался усовершенствованиям, и сегодня его для понятности называют GDDR. Сейчас мы достигли версии 6, а для передачи данных используется система с учетверённой частотой, т.е. за тактовый цикл происходит 4 передачи.
Тип DRAM | Обычная частота памяти | Тактовый сигнал ввода-вывода | Частота передачи данных |
GDDR | 250 МГц | 250 МГц | 500 MT/s |
GDDR2 | 500 МГц | 500 МГц | 1000 MT/s |
GDDR3 | 800 МГц | 1600 МГц | 3200 MT/s |
GDDR4 | 1000 МГц | 2000 МГц | 4000 MT/s |
GDDR5 | 1500 МГц | 3000 МГц | 6000 MT/s |
GDDR5X | 1250 МГц | 2500 МГц | 10000 MT/s |
GDDR6 | 1750 МГц | 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 |
tRCD | Row-to-Column Delay: количество циклов между активацией строки и возможностью выбора столбца | 17 циклов |
CL | CAS Latency: количество циклов между адресацией столбца и началом передачи пакет данных | 15 циклов |
tRAS | Row Cycle Time: наименьшее количество циклов, в течение которого строка должна оставаться активной перед тем, как можно будет выполнить её pre-charging | 35 циклов |
tRP | Row 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. Сразу после появления она будет очень дорогой, но для серверов и профессиональных рабочих станций такой скачок скорости окажется очень полезным.