Dram memory mapping что это

Memory Remap Feature

Другие идентичные по назначению опции: Memory Hole Remapping, H/W DRAM Over 4GB Remapping, Hardware Memory Hole.

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

Опция Memory remap feature (Функция перераспределения памяти) предназначена для настройки параметров оперативной памяти в компьютерах, общий объем ОЗУ которых составляет более 4 ГБ. Опция имеет всего два варианта значений ­– Enabled (Включено) и Disabled (Выключено).

Принцип работы

Возможно, многие пользователи сталкивались с такой ситуацией, когда в компьютере установлено 4 или более гигабайт оперативной памяти, однако на самом деле пользователю доступен гораздо меньший объем памяти – чуть более 3 ГБ. Эта особенность имеет историческое происхождение и связана с принципом распределения адресов памяти в компьютерах архитектуры x86.

Все дело в том, что адресное пространство 4-го гигабайта ОЗУ традиционно было принято отводить под нужды плат расширения. Естественно, что в первые годы существования IBM-совместимых персональных компьютеров, когда объем оперативной памяти измерялся сотнями килобайт или считанными мегабайтами, мало кто задумывался о том, что оперативная память когда-нибудь достигнет объема в 4 ГБ и более. Особо значительный кусок адресного пространства ОЗУ съедается платами видеоадаптеров AGP и PCI-E. Таким образом, операционной системе компьютера, на котором установлено 4 и более гигабайта памяти, остается лишь использовать ОЗУ с адресами меньшими, чем адресное пространство, занимаемое всеми платами расширения. Как правило, этот объем составляет от 3 до 3,5 ГБ.

Для того, чтобы исправить данную неприятную особенность и дать персональному компьютеру возможность задействовать всю имеющуюся в его распоряжении оперативную память, и предназначена опция Memory remap feature. После ее включения операционная система будет в состоянии использовать всю оперативную память, установленную в компьютере. Данную опцию в BIOS можно обычно найти в разделах Chipset Settings или NorthBridge Settings.

Также эта опция на разных материнских платах может носить следующие названия:

Опция позволяет перенести блоки адресов, использующихся платами расширения в адресное пространство за пределами 4 ГБ. Это позволяет операционной системе компьютера, в котором установлено более 4 гигабайт ОЗУ, использовать для прикладных программ все доступное ОЗУ. В противном случае операционной системе будет доступно всего лишь чуть более 3 ГБ ОЗУ.

Для работы опции Memory remap feature необходима ее поддержка со стороны операционной системы. Опцию поддерживают далеко не все современные операционные системы, а лишь их 64-разрядные версии. Также есть возможность использовать описываемую функцию и в тех 32-разрядных версиях операционных систем, которые поддерживают встроенную в современные процессоры систему физической адресации памяти PAE (Physical Address Extension). В семействе ОС Windows систему адресации PAE поддерживают серверные ОС, а также клиентские версии ОС, начиная с Windows XP SP2. Однако стоит иметь в виду, что существует ограничение маркетингового характера, которое не позволяет XP работать с памятью более 4 ГБ. Также режим PAE поддерживают и многие ОС семейств Linux, Mac OS, Free BSD и Solaris.

Стоит ли включать?

Ответ на это вопрос зависит от того, какая операционная система установлена на вашем компьютере.

В том случае, если у вас стоит операционная система, поддерживающая опцию, например, 64-разрядная ОС семейства Windows, или 32-разрядная ОС, поддерживающая технологию PAE, то вам необходимо уточнить объем оперативной памяти вашего компьютера. Если у вас установлено 4 или более гигабайта ОЗУ, то опцию необходимо включить, иначе ваша операционная система не сможет получить доступ к ОЗУ за пределами 3 ГБ.

Если у вас есть требуемая ОС, но установлено менее 4 ГБ ОЗУ, то следует иметь в виду, что включение опции может привести к проблемам с работой карт расширения, прежде всего, графических ускорителей, а также к возможным зависаниям персонального компьютера. Поэтому в этом случае опцию лучше всего выключить.

Опцию необходимо выключить также в том случае, если ваш компьютер обладает 4 ГБ ОЗУ и на нем одновременно установлена 32-разрядная ОС Windows, не поддерживающая систему адресации PAE. В подобном случае операционная система будет видеть не более 2 ГБ ОЗУ.

Также имеются сведения о том, что включенная опция может приводить к ошибкам на компьютерах с некоторыми ранними версиями процессоров Athlon 64. Если вы являетесь обладателем компьютера, на котором установлен подобный процессор, то эту опцию тоже лучше всего выключить.

Источник

Что такое Memory remap feature в настройках bios?

Опцию Memory remap feature можно встретить в настройках BIOS большинства материнских плат. Практически всегда она переведена в состояние Enabled, то есть включена.

Также в зависимости от версии BIOS и материнской платы она может иметь и другие названия:

Но далеко не все знают назначение Memory remap feature, а также какое все таки значение она должна иметь в конкретном случае. Ответы на эти вопросы вы найдете в данной статье.

За что отвечает Memory remap feature?

Прежде всего давайте переведем название Memory remap feature на русский язык. А перевод таков: Функция переназначения памяти. Не совсем понятно что за переназначение и для чего оно нужно.

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

Memory remap feature в биосе

Теперь обо всем по порядку. Еще в давние времена, когда объемы оперативной памяти исчислялись не гигабайтами, а килобайтами или десятками мегабайт производители компьютерных комплектующих и не задумывались над тем, что кому – то когда – то понадобится в компьютере более трех гигабайт оперативной памяти.

Именно по этому они отвели адресное пространство на отрезке от 3 до 3.5 гигабайт под нужды памяти плат расширения, таких как видеокарты и другие платы для разъемов PCI.

Все это вылилось в то, что компьютеры попросту не видели более 3-3.2 ГБ оперативной памяти.

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

определение не всей ОЗУ

Для решения данной проблемы позже и была придумана опция Memory remap feature. Именно она перераспределяет адресное пространство в области 3-3.2 ГБ значительно дальше и благодаря этому компьютеры определяют всю ОЗУ.

Но для этого не достаточно включить Memory remap feature в настройках BIOS. Нужно чтобы это самое распределение поддерживала еще и операционная система. Такая поддержка имеется у всех 64 битных ОС, а также у 32 битных с поддержкой системы физической адресации памяти – PAE (Physical Address Extension).

Именно по этой причине при наличии более 4ГБ оперативной памяти мы рекомендуем устанавливать 64 битную ОС. При этом чтобы вся память определялась memory remap feature в настройках BIOS должна быть включена (Enabled).

Если на вашем компьютере установлено менее 4ГБ оперативной памяти, либо установлена операционная система x86, то Memory remap feature лучше перевести в состояние Disabled.

Где находится Memory remap feature?

Данная настройка обычно располагается в разделе Advanced, Chipset, North bridge chipset configuration.

Источник

Файлы, отображаемые в память

#include
void *mmap( void *addr, size_t len, int prot, int flag, int filedes, off_t off);

Она возвращает адрес начала участка отображаемой памяти или MAP_FAILED в случае неудачи.
Первый аргумент — желаемый адрес начала участка отбраженной памяти. Не знаю, когда это может пригодится. Передаём 0 — тогда ядро само выберет этот адрес.
len — количество байт, которое нужно отобразить в память.
prot — число, определяющее степень защищённости отображенного участка памяти(только чтение, только запись, исполнение, область недоступна). Обычные значения — PROT_READ, PROT_WRITE (можно кобминировать через ИЛИ). Не буду на этом останавливаться — подробнее читайте в манах. Отмечу лишь, что защищённость памяти не установится ниже, чем права, с которыми открыт файл.
flag — описывает атрибуты области. Обычное значение — MAP_SHARED. По поводу остальных — курите маны. Но замечу, что использование MAP_FIXED понижает переносимость приложения, т.к. его подержка является необязательной в POSIX-системах.
filedes — как вы уже догались — дескриптор файла, который нужно отобразить.
off — смещение отображенного участка от начала файла.

Важное замечание. Если вы планируете использовать MMF для записи в файл, перед маппингом необходимо установить конечный размер файла не меньше, чем размер отображенной памяти! Иначе нарвётесь на SIGBUS.

Ниже приведён пример(честно стырен из замечательной книжки «Unix. Профессиональное программирование») программы, которая копирует файл с использованием MMF.

Источник

Система видит не всю оперативную память

Описание

Система определяет меньший объем оперативной памяти, чем установлено в компьютере.

Или системе доступна не вся память:

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

Также в БИОС может определяться не весь ее объем (чаще, только половина).

Причина

Решение

1. Использование встроенной видеокарты

Для этой проблемы характерно незначительное выделение памяти под работу видеоадаптера. В данном случае мы будем наблюдать небольшое уменьшение доступной памяти, например:

Любая интегрированная в материнскую плату видеокарта потребляет системную память, так как у нее нет своих ресурсов.

Чтобы понять, какая видеокарта используется, можно зайти в диспетчер устройств (команда devmgmt.msc) и раскрыть раздел Видеоадаптеры:

. как правило, адаптеры NVIDIA и AMD являются дискретными (не встроенными), а Intel — интегрированными.

Если же мы захотим, чтобы встроенная видеокарта потребляла меньше памяти, заходим в БИОС/UEFI и находим один из параметров:

* в различных версиях БИОС они могут называться по-разному. Также не исключено, что может использоваться другие параметры — в таком случае нужно изучить документацию к материнской плате или воспользоваться поисковиком.

После меняем объем резервирования памяти под нужны видеосистемы:

2. Программное ограничение

В открывшемся окне переходим на вкладку Загрузка и кликаем по Дополнительные параметры:

Проверяем, что не поставлена галочка на Максимум памяти или не стоит значение, меньшее объему. В противном случае, просто снимаем галочку:

3. Лимиты операционной системы

Разные редакции системы Windows имеют ограничение по максимально используемому объему памяти.

а) Все 32-х битные версии могут использовать максимум 3.25 Гб оперативной памяти. Это архитектурное ограничение — предел, на который способна система на 32 бита. Картина будет, примерно, такой:

Чтобы задействовать более 3 Гб памяти, необходимо переустановить систему на 64-х битную версию.

б) Редакции Windows также имеют ограничения. Например, Windows 10 Home 64 бита позволит использовать 128 Гб, а Windows 10 Pro x64 — 512 Гб. С Windows 7 ситуация хуже — домашняя базовая редакция позволит использовать лишь 8 Гб, а начальная, всего, 2 Гб.

Подробнее в таблицах:

ОСОграничение, Гб
32-бит64-бит
Windows 10 Home4128
Windows 10 Pro4512
Windows 84128
Windows 8 Enterprise2512
Windows 8 Professional4512
Windows 7 Starter22
Windows 7 Home Basic48
Windows 7 Home Premium416
Windows 7 Professional4192
Windows 7 Enterprise4192
Windows 7 Ultimate4192

Если наша проблема связана с лимитом редакции, необходимо обновить систему или переустановить ее.

4. Настройка базовой системы ввода вывода

Для того, чтобы компьютер мог задействовать всю память, в некоторых случаях, может потребоваться настройка БИОС/UEFI:

НастройкаОписаниеУстановить
HPET ModeРежим счетчиков HPET (High Precision Event Timer)64 бита
Memory HoleРезервирование памяти для работы шины ISADisabled
Memory RemappingПеремещает адресное пространство, используемое картами расширения, за пределы первых 4 ГбайтEnabled
Hardware Memory Hole
Memory Remap Feature
Memory Hole Remapping
DRAM Over 4G Remapping
H/W Memory Hole Remapping
H/W DRAM Over 4GB Remapping

5. Проверка крепления модулей или перестановка планок памяти

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

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

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

Если в материнской плате более 2 слотов, варианты установки планок для поддержки режима dual channel могут быть разные — рядом или через одну. В некоторых случаях, это приводит к тому, что один из модулей не определяется. Пробуем вставить плашки в разные слоты в разных вариациях.

6. Проблема с БИОС / UEFI

Так как БИОС/UEFI отвечает за сбор сведений о компьютере, проблема может возникнуть на начальной стадии включения ПК.

Для начала, пробуем сбросить настройки. Для этого отключаем компьютер от источника питания и вытаскиваем батарейку минут на 20 (первый раз можно попробовать, секунд, на 10). Если это не поможет, обновляем БИОС.

7. Максимальный объем, который поддерживает материнская плата

Необходимо проверить, какой максимальный объем может увидеть сама материнская плата. Для этого стоит воспользоваться инструкций — она идет в комплекте, а также ее можно скачать на сайте производителя. Еще, подобную информацию можно найти на некоторых Интернет-магазинах:

Некоторое оборудование (как правило, уже устаревающее), в принципе, не поддерживает большие объемы памяти. Например, ноутбук ASUS K50 по спецификации поддерживает 4 Гб, однако, официальная техническая поддержка заявляет, что он будет видеть только 3 Гб.

8. Неисправность или несовместимость модуля памяти

В случае неисправности памяти система и БИОС будут отображать не весь ее объем (как правило, только половину). Например, если в компьютер вставлено 16 Гб (2 планки по 8 Гб) мы будем видеть только 8. В этом случае можно попробовать вытащить и обратно вставить планки памяти (можно немного продуть их от пыли). Еще, планки можно поменять местами. Также можно попробовать почистить контакты (подойдет обычная стирательная резинка). В некоторых ноутбуках или моноблоках есть отдельная заглушка, открыв которую можно добраться до модулей памяти, иначе — необходимо разобрать компьютер полностью. Если это не помогло, выполняем тест памяти. В случае, когда тест также показывает часть памяти, пробуем вытащить обе планки и вставить их по одной — если компьютер не включится с одной из них, данную неисправную планку нужно заменить, если компьютер будет запускаться со всеми планками, возможно, мы имеем дело с проблемой БИОС (шаг ниже).

Также второй модуль памяти может быть несовместим с первым. При таком раскладе, мы также будем видеть половину объема, от необходимого. Подробнее про правильный выбор памяти читайте в инструкции Как выбирать комплектующие для компьютера. Стоит иметь ввиду, что память может быть неправильно промаркирована, из-за чего в магазине можно купить не ту планку. Проверить настоящие технические характеристики памяти можно с помощью различных программ, например AIDA64.

9. Дискретная видеокарта

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

Для решения проблемы, пробуем следующее:

Также, в некоторых ноутбуках может использоваться две видеокарты — встроенная и дискретная. Если приложение не требовательно к графическому адаптеру, то ноутбук будет работать от встроенной видеокарты, отнимая ресурсы памяти. Как вариант, в настройках БИОС можно включить приоритет использования дискретной видеокарты.

10. Ослабление кулера

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

Для решения необходимо разобрать компьютер и аккуратно ослабить крепление кулера — он должен прилегать к плате плотно, но не перегибать ее.

11. Отключение виртуализации

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

Сохраняем настройки и проверяем объем памяти.

12. Поддержка модуля со стороны материнской платы

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

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

13. Ограничения процессора

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

Если наш процессор не способен поддерживать нужный объем, его придется заменить на более мощный.

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

14. Установка драйвера для чипсета

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

Также, драйвер можно установить в полуавтоматическом режиме с помощью программы DriverHub.

15. Чистка модулей ластиком

Если проблема появилась сама собой, можно попробовать вытащить модули памяти из материнской платы и чистим их контакты стирательной резинкой. После продуваем разъемы на материнской плате и вставляем память на место.

16. Подгон таймингов

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

Для настройки таймингов заходим в БИОС/UEFI и находим опцию настройки памяти. В зависимости от наличия типа микропрограммы, ее версии и производителя, данные настройки могут сильно отличаться. Необходимо найти инструкцию к используемой версии БИОС/UEFI для изменения параметров таймингов и выставить те, которые соответствуют самому медленному модулю памяти.

17. Ограничение лицензии Windows

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

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

В чем была проблема?

Если вам удалось решить проблему, поделитесь своим опытом для других:

Источник

Анатомия RAM

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

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

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

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

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

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

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

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

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

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

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

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

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

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

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

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

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

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

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

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

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

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

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

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

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

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

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

Если собрать вместе набор страниц, то мы получим один банк памяти 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 memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

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

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

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

На фотографии выше показан чип DRAM (иногда называемый модулем), изготовленный компанией Samsung. Другими ведущими производителями являются Toshiba, Micron, SK Hynix и Nanya. Samsung — крупнейший производитель, он имеет приблизительно 40% мирового рынка памяти.

Каждый изготовитель DRAM использует собственную систему кодирования характеристик памяти; на фотографии показан чип на 1 гигабит, содержащий 8 банков по 128 мегабита, выстроенных в 16 384 строки и 8 192 столбца.

Выше по рангу

Компании-изготовители памяти берут несколько чипов DRAM и устанавливают их на одну плату, называемую DIMM. Хотя D расшифровывается как dual (двойная), это не значит, что на ней два набора чипов. Под двойным подразумевается количество электрических контактов в нижней части платы; то есть для работы с модулями используются обе стороны платы.

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

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

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

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

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

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

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

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

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

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

Множество модулей памяти 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.

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

Память 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.

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

Сверху вниз: 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 memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

На первом этапе активируется страница 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. Затем тайминги сохраняются в небольшой чип, располагаемый на плате.

Dram memory mapping что это. Смотреть фото Dram memory mapping что это. Смотреть картинку Dram memory mapping что это. Картинка про Dram memory mapping что это. Фото Dram memory mapping что это

Даже памяти нужна память. Красным указано ПЗУ (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 не будет опубликован. Обязательные поля помечены *