Архитектура аппаратных средств · учебный модуль 2/3

Модули памяти. Логическое распределение памяти

Изучим устройство DIMM, каналы, ранги, совместимость и переход от виртуального адреса к физическому. Сначала изучите всю теорию, разберите интерактивные модели, затем пройдите тест в конце страницы. Ответы сохраняются в этом браузере автоматически.

Теория → тест → PDF16 проверяемых вопросов3 развёрнутых ответаРаботает без интернета
Изучить теориюПерейти к тестуИсточники
01

Что такое модуль оперативной памяти

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

Как выглядит модуль DIMM (схематично)
DRAMDRAMDRAMDRAMDRAMDRAMКонтактная группа и ключ разъёма (не в масштабе)
Форма и расположение компонентов зависят от поколения и модели. В DDR5 может присутствовать PMIC — компонент управления питанием на модуле.

Что находится внутри модуля

  • DRAM-чипы физически хранят биты. Каждый чип имеет свою организацию — банки, строки, столбцы.
  • Печатная плата соединяет чипы с контактами слота.
  • SPD (Serial Presence Detect) — служебная информация о параметрах модуля, считываемая прошивкой системы при инициализации.
  • Дополнительные компоненты могут включать управление питанием и буферизацию сигналов; это зависит от поколения и класса модуля.
Чип DRAM, модуль DIMM, канал памяти и установленная в системе ёмкость — разные понятия. Один канал может обслуживать один или несколько модулей в зависимости от платформы.
02

Форм-факторы и поколения DDR

DIMM — распространённый полноразмерный модуль для настольных ПК и серверов. SO-DIMM — уменьшенный съёмный модуль, часто применяемый в ноутбуках и компактных компьютерах. Некоторые современные ноутбуки используют распаянную память LPDDR, а не съёмный SO-DIMM.

DIMM — полноразмерная планка

Стандартное решение для многих настольных материнских плат. Параметры зависят от DDR-поколения.

SO-DIMM — компактная планка

Более короткий модуль. Используется там, где меньше места.

DDR3, DDR4, DDR5

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

DDR5-UDIMM организован в два независимых 32-битных субканала передачи данных вместо одного 64-битного интерфейса DDR4-UDIMM. Это не означает «два полноценных 64-битных канала» и не превращает систему с одним модулем в обычную двухканальную систему с двумя DIMM.

Перед покупкой ОЗУ нужно проверить поколение, форм-фактор, допустимый объём, скорость, тип (UDIMM/RDIMM и др.) и спецификацию CPU/платы. Не всякая «серверная ECC-память» подходит для любого ПК.
03

Каналы, слоты и ранги: в чём разница

Канал памяти — путь обмена данными между контроллером и памятью. В типичной двухканальной системе два независимых 64-битных канала могут работать параллельно и увеличивать доступную полосу пропускания. Слот — физическое гнездо для модуля. Ранг (rank) — группа DRAM-чипов на модуле, которая вместе образует логически выбираемый набор для передачи данных. Ранг не равен каналу.

Пример двух каналов с четырьмя слотами (A1, A2, B1, B2)
Контроллер памятив процессоре
↔
Канал AСлоты A1 и A2
модуль в A2
↔
Канал BСлоты B1 и B2
модуль в B2
Схема логическая, а не разводка сигналов. Реальное предпочтительное размещение модулей определяет руководство материнской платы.

Если установить один подходящий модуль, данные обычно доступны по одному задействованному каналу; при установке двух совместимых модулей в рекомендуемые слоты разных каналов может использоваться двухканальный режим. Два модуля в разных слотах не гарантируют два канала — всё зависит от платы и размещения. Четыре модуля на двухканальном CPU обычно остаются двухканальной системой, но с двумя модулями на канал (2DPC). Это может ограничить максимальную достижимую скорость памяти.

Single rank и dual rank

Одноранговый модуль (1R) имеет один выбираемый набор чипов, двухранговый (2R) — два. Не следует автоматически считать, что чипы «с одной стороны = один ранг, с двух = два»: физическое расположение и логическая организация не обязаны совпадать.

🧮 Калькулятор теоретической полосы пропускания

Упрощённый предел для 64-битных каналов; реальные результаты ниже из-за накладных расходов. Для DDR5 суммарная ширина двух 32-битных субканалов одного стандартного модуля без ECC — 64 бита.

04

Ёмкость, частоты, SPD, ECC и совместимость

На упаковке можно увидеть 16 GB DDR5-5600 CL46 SO-DIMM. Это означает объём 16 ГБ, поколение DDR5, скорость 5600 миллионов передач в секунду, CAS-задержку 46 циклов и компактный формат SO-DIMM. Совместимость нужно сверять со спецификацией платформы.

ТерминПростое объяснение
SPDПрофиль параметров модуля: так система узнаёт его характеристики
JEDECОрганизация стандартов полупроводниковой индустрии, включая базовые профили памяти
XMP / EXPOПрофили настройки некоторых модулей на совместимых платформах; повышенные значения могут требовать дополнительной стабильности и поддержки
ECCКонтроль ошибок: в соответствующей системе позволяет обнаруживать и исправлять определённые ошибки данных
UDIMM / RDIMMНебуферизованный модуль / регистровый модуль; они обычно не взаимозаменяемы
On-die ECC DDR5Внутреннее исправление ошибок внутри кристалла DRAM — не равно сквозной защите ECC всей подсистемы памяти

Пример расчёта: два модуля по 16 ГБ дают 32 ГБ установленной ёмкости. Если память работает в двухканальном режиме, ширина обмена увеличивается, но суммарный объём не становится 64 ГБ.

05

Физическая организация DRAM: банки, строки и столбцы

Внутри DRAM ячейки объединяются в массивы. Чаще всего говорят о банках (banks), строках (rows) и столбцах (columns). Чтобы получить данные, контроллер обычно активирует строку банка; затем читает нужные столбцы. Если нужная строка уже открыта (row hit), обращение может потребовать меньше операций. Если открыта другая строка, сначала потребуется закрыть её и активировать новую.

Матрица ячеек одного условного банка
Строка \ столбец0123
00101
1 — активна11 ◀01
20010
31110
Показана мини-матрица из 16 бит, а не реальная ширина строки DRAM. Подсвечено обращение к столбцу №1 в строке №1.

С этим связаны тайминги: tRCD — задержка после активации строки до команды чтения/записи; tRP — время подготовки банка к активации другой строки; tRAS — минимальное время активности строки. Значения зависят от технологии и режима.

06

Логическое распределение памяти: процессы и адресные пространства

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

Два процесса могут использовать одинаковые виртуальные адреса
Программа Aвирт. страница 1
→
Таблица страниц A1 → кадр 7
→
ОЗУФизический кадр 7
Программа Bвирт. страница 1
→
Таблица страниц B1 → кадр 12
→
ОЗУФизический кадр 12
Одинаковый виртуальный адрес не означает одно и то же физическое место. При этом ОС может намеренно организовывать разделяемые отображения.

Внутри виртуального адресного пространства процесса часто выделяют логические области: код (инструкции), данные (например, глобальные переменные), heap — куча (динамические выделения), stack — стек (кадры вызовов и локальные данные). Эти области описывают назначение данных в виртуальном адресном пространстве, а не обязательное непрерывное размещение на модуле DDR.

Учебная схема виртуальных областей одного процесса
Высокие виртуальные адреса
Стек (stack) Вызовы функций, временные данные; обычно растёт к меньшим адресам
Незанятая / резервированная область
Куча (heap) Динамические выделения; часто расширяется к большим адресам
Данные Глобальные и статические переменные
Код и отображённые файлы Инструкции и прочие области отображения
Низкие виртуальные адреса
Упрощённый типовой пример. Реальная структура зависит от ОС, архитектуры, ASLR, загрузчика и программы; библиотеки и отображённые файлы могут размещаться в разных местах.
07

Страничная организация: виртуальная страница и физический кадр

Страница (page) — блок виртуального адресного пространства фиксированного размера. Физический кадр (frame) — участок физической памяти такого же размера, куда можно сопоставить страницу. Частый размер обычной страницы на x86 — 4 КиБ (4096 байт), но архитектуры поддерживают и другие размеры, включая большие страницы.

  1. Виртуальный адрес делится на номер страницы и смещение внутри неё.
  2. MMU (блок управления памятью) с помощью таблиц страниц определяет физический кадр.
  3. Номер кадра соединяется с тем же смещением: получается физический адрес.
  4. Если отображение недействительно или запрещено, возникает исключение page fault; ОС решает, можно ли разрешить обращение.
Учебный пример со страницами по 1024 байта: Виртуальный адрес 2130 → страница = 2, смещение = 82 Таблица: страница 2 → кадр 9 Физический адрес = 9 × 1024 + 82 = 9298

🧪 Интерактив: трансляция адреса

В этой учебной таблице страница = 1024 байта. Сопоставления: 0 → 7, 1 → 2, 2 → 9, 3 → отсутствует.

TLB, подкачка и ошибки страниц

TLB — быстрый кэш недавних трансляций виртуальных адресов в физические. Промах TLB не означает, что данных нет в RAM: процессору может понадобиться пройти таблицы страниц. Page fault не всегда означает чтение с диска: ОС может выделить новую страницу, разрешить защиту или обработать другие ситуации. Только некоторые ошибки требуют реального чтения с накопителя (hard page fault).

Swap / файл подкачки позволяет ОС временно хранить на накопителе часть страниц, которые сейчас не находятся в RAM. Это не равнозначная замена физической памяти: чтение и запись SSD существенно медленнее рабочих обращений к DRAM. Также приложения могут отображать файлы напрямую в адресное пространство (memory-mapped files).

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

Стек, куча, доступ и защита памяти

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

Стек

Удобен для дисциплины «последним пришёл — первым ушёл». Его размер ограничен; глубокая рекурсия может привести к переполнению стека.

Куча

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

На уровне страниц ОС устанавливает права, например чтение, запись, исполнение. Программа не должна произвольно читать память другого процесса. Недопустимое обращение может завершиться ошибкой защиты (например, segmentation fault в Unix-подобных системах).

Логическое против физического — закрепление

Физическое: реально установленные чипы DRAM, каналы, банки, кадры RAM. Логическое: виртуальные страницы и адреса, стек, куча, код, области защиты процесса. ОС и аппаратная MMU связывают эти уровни, но они не обязаны совпадать один к одному.

Часть II · проверка знаний

Тест по изученному материалу

Теоретическая часть завершена. Выберите один ответ в каждом вопросе, затем нажмите «Проверить тест». Результат покажет число правильных ответов и объяснит ошибки. В конце ответьте на развёрнутые вопросы — их проверяет преподаватель.

0 ответовПроверка без штрафа за повторную попытку
✓

Часть A. Выберите правильный ответ

✎

Часть Б. Объясните своими словами

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

Источники для дополнительного изучения

Материал адаптирован для обучения. Схемы и модели — упрощённые учебные примеры; значения производительности зависят от конкретного устройства.

  1. Kingston · расшифровка маркировок модулей
  2. Kingston · правила установки DIMM
  3. Microsoft Learn · виртуальные адресные пространства
  4. Microsoft Learn · виртуальные и физические страницы

Перед сдачей

✓ Указаны ФИО, группа и дата.
✓ Отмечены ответы на вопросы с вариантами и нажата кнопка проверки.
✓ Написаны объяснения в открытых вопросах.

Нажмите «Отправить работу — сохранить PDF». Откроется окно печати: в качестве принтера выберите «Сохранить как PDF». В отчёте будут ФИО, выбранные варианты, балл и ваши развёрнутые ответы. Отправка на сервер не выполняется.