Педагогический конспект занятия: Энергонезависимая память. Иерархия памяти

Сценарий проведения учебного занятия по дисциплине «Архитектура аппаратных средств» с прямой речью преподавателя, вопросно-ответными блоками и детальным регламентом для базового (80 минут) и сокращенного (60 минут) сценариев.

1. Регламент и хронометраж учебного занятия

Этап занятия Основной регламент (80 минут) Сокращенный регламент (60 минут)
1. Вводно-мотивационный этап 5 минут (актуализация, парадокс скоростей памяти) 5 минут (динамичный проблемный вопрос)
2. Изложение нового теоретического материала 25 минут (пирамида, локальность, кэши, NAND, NVMe) 18 минут (концентрированная физика и формулы)
3. Демонстрационный показ и кейс-разбор 15 минут (вывод T_eff, график SLC-кэша, очереди NVMe) 10 минут (расчет T_eff и кейс NVMe vs SATA)
4. Самостоятельная работа студентов (очно) 20 минут (заполнение бланка zanyatie.html по 4 вариантам) 15 минут (концентрированное заполнение бланка)
5. Обратная связь и разбор типичных ошибок 10 минут (детальный разбор T_eff, износа и вариантов) 7 минут (экспресс-анализ ключевых дефектов)
6. Подведение итогов и инструктаж по ДЗ 5 минут (фиксация 4-балльной оценки, статус ДЗ) 5 минут (фиксация оценок, разъяснение резерва)

*Примечание: в сокращенном сценарии на 60 минут второй расчетный кейс переносится на самостоятельное осмысление, при этом обязательный оцениваемый индивидуальный продукт (интерактивный протокол в zanyatie.html) выполняется очно в аудитории.

2. Поэтапный педагогический сценарий и прямая речь преподавателя

ЭТАП 1. ВВОДНО-МОТИВАЦИОННЫЙ ЭТАП (5 МИН / 5 МИН)

Преподаватель: «Здравствуйте, студенты! Присаживайтесь. Дежурные, кто отсутствует сегодня в группе?

На предыдущем занятии мы подробно изучили модули памяти, микросхемы DRAM и логическое распределение адресного пространства. Мы знаем, что тактовая частота современных процессоров достигает 5 ГГц. Это значит, что один такт длится всего 0.2 наносекунды! Процессор способен выполнять миллиарды операций в секунду. Но давайте задумаемся: если процессор такой быстрый, почему компьютеры иногда зависают при открытии тяжелой программы или копировании файлов? Где кроется главное узкое место современной вычислительной системы?»
Вопрос к аудитории: Как вы думаете, сколько тактов процессора уходит на то, чтобы просто прочитать одно число из обычной оперативной памяти DDR4 или DDR5?
Предполагаемые ответы студентов: «Один такт», «Десять тактов», «Может быть, сотню?».
Преподаватель: «Правильный ответ — от 150 до 250 тактов! Представьте: процессор мог бы выполнить 200 инструкций, а вместо этого он просто сидит и ждет ответа от модуля ОЗУ. А если данные лежат на диске, задержка вырастает до десятков миллионов тактов. Сегодня на занятии мы раскроем фундаментальный закон архитектуры компьютеров — иерархию памяти, поймем, почему память не может быть одновременно быстрой, бесконечной и энергонезависимой, и научимся рассчитывать среднее время доступа системы».

ЭТАП 2. ИЗЛОЖЕНИЕ НОВОГО МАТЕРИАЛА (25 МИН / 18 МИН)

Преподаватель: «Обратите внимание на слайд 2 нашей презентации. Перед нами знаменитая пирамида иерархии памяти.

Почему архитекторы ЭВМ были вынуждены построить эту пирамиду? Из-за непреодолимого физико-экономического противоречия. Самая быстрая память в мире — это статическая память SRAM на триггерах (D-триггеры, регистры, кэш L1). Она работает за доли наносекунды. Но одна ячейка SRAM требует 6 транзисторов! Если мы захотим сделать 64 гигабайта памяти целиком на кристалле процессора из SRAM, кристалл вырастет до размеров обеденного стола, будет потреблять киловатты электроэнергии и расплавится за секунду.

Поэтому память разделили на уровни: 1. На самой вершине — микроскопические, но мгновенные регистры процессора (1 такт, ~1 КБ). 2. Следом — многоуровневый кэш L1, L2, L3 (от 4 до 50 тактов, десятки килобайт до десятков мегабайт SRAM). 3. Ниже кристалла ЦП — динамическая оперативная память DRAM (DDR4/DDR5: 1 транзистор и 1 конденсатор на бит, емкость десятки гигабайт, но задержка ~60 нс). Все эти уровни являются энергозависимыми — при выключении питания заряд исчезает.
4. Основание пирамиды — энергонезависимая флеш-память NAND (NVMe SSD, задержка ~20 микросекунд), магнитные накопители HDD (~10 миллисекунд) и архивные ленты LTO».
Вопрос к аудитории: Но если ОЗУ в сотни раз медленнее кэша, почему процессор не тормозит постоянно? Благодаря какому феномену кэш-память вообще спасает ситуацию?
Предполагаемые ответы студентов: «Потому что данные заранее подгружаются», «Принцип локальности?».
Преподаватель: «Именно! Запишите в тетрадях: принцип локальности ссылок (Locality of Reference) (слайд 4). Он имеет две составляющие: 1. Временная локальность: если процессор обратился к переменной (например, счетчику цикла i), он обратится к ней снова через доли микросекунды. Кэш оставляет её у себя на верхнем уровне. 2. Пространственная локальность: если процессор читает один байт массива, он наверняка запросит следующий байт. Поэтому процессор никогда не читает из ОЗУ один байт — он всегда считывает неделимую кэш-линию размером 64 байта (слайд 5).

Теперь перейдем к физике энергонезависимой флеш-памяти (слайды 9–11). В отличие от DRAM, где заряд улетучивается за миллисекунды, в ячейках NAND Flash электроны загоняются квантовым туннелированием Фаулера-Нордгейма на изолированный плавающий затвор или в ловушку заряда (Charge Trap). Заряд удерживается там годами без электричества.

Но за энергонезависимость приходится платить физической асимметрией: — Запись и чтение в NAND производятся страницами (4–16 КБ). — А стирание возможно только целиком блоками (2–8 МБ, состоящими из сотен страниц) подачей высокого напряжения ~20 В! Из-за этого SSD не может просто перезаписать один байт. Он записывает данные на свободное место, а старый сектор помечает как недействительный. Это требует постоянной фоновой сборки мусора (Garbage Collection), поддержки команды TRIM и алгоритмов Wear Leveling (выравнивания износа)».

ЭТАП 3. ДЕМОНСТРАЦИОННЫЙ ПОКАЗ И КЕЙС-РАЗБОР (15 МИН / 10 МИН)

Преподаватель: «Перейдем к математическому расчету. Взгляните на слайд 8. Как нам оценить средневзвешенную задержку системы с кэшем и ОЗУ? По формуле эффективного времени доступа:
$$T_{eff} = H \cdot T_{cache} + (1 - H) \cdot T_{ram}$$
где $H$ — коэффициент попадания в кэш (Hit Rate), а $(1 - H)$ — промахи (Miss Rate).

Давайте посчитаем вместе на доске: пусть $T_{cache} = 2$ нс, а $T_{ram} = 60$ нс. Если оптимизированная программа дает $H = 0.99$ (99% попаданий):
$$T_{eff} = 0.99 \cdot 2 + 0.01 \cdot 60 = 1.98 + 0.60 = 2.58\text{ нс}.$$ А теперь представьте, что программист написал неоптимальный код с проходом по столбцам матрицы, и Hit Rate упал всего на 9% — до $H = 0.90$ (90%):
$$T_{eff} = 0.90 \cdot 2 + 0.10 \cdot 60 = 1.80 + 6.00 = 7.80\text{ нс}!$$
Посмотрите на результат: $2.58$ нс превратились в $7.80$ нс! Падение попаданий всего на 9% замедлило работу с памятью более чем в 3 раза! Именно поэтому промах кэша называют аппаратным штрафом (Miss Penalty).

А теперь взгляните на слайд 13: почему протокол NVMe вытеснил SATA? У старого SATA AHCI была всего одна очередь на 32 команды, и ядра процессора блокировали друг друга при параллельных запросах. В NVMe очередей до 64 000 по 64 000 команд в каждой, и каждому ядру ЦП выделяется собственный прямой канал без блокировок!»

ЭТАП 4. ОЧНАЯ ПРАКТИЧЕСКАЯ РАБОТА СТУДЕНТОВ (20 МИН / 15 МИН)

Преподаватель: «Теперь каждый из вас выполняет очный практикум. Включите компьютеры и откройте файл zanyatie.html.

Вам предстоит заполнить 4 блока: 1. Заполнить параметры ступеней пирамиды памяти (время доступа в тактах и наносекундах, энергозависимость, относительную стоимость) и объяснить невозможность однородной памяти. 2. Рассчитать эффективное время доступа по формуле для 4 сценариев ($H = 90\%, 95\%, 98\%, 99\%$) и объяснить катастрофический эффект промахов. 3. Заполнить таблицу типов ячеек NAND (SLC, MLC, TLC, QLC), объяснить поблочное стирание и протокол NVMe. 4. Выбрать свой вариант архитектурного профиля (In-Memory СУБД, архив, рабочая станция или IoT) и составить обоснованный инженерный протокол конфигурации памяти.

Напоминаю: форма работает с автосохранением в браузере. Время на выполнение — 20 минут (15 минут в сокращенном регламенте). Критерии открыты: 2 балла за корректность, 1 за физическое объяснение, 1 за верификацию профиля. Приступайте к работе!»

ЭТАП 5. ОБРАТНАЯ СВЯЗЬ И РАЗБОР ОШИБОК (10 МИН / 7 МИН)

Преподаватель: «Время выполнения вышло. Сохраните данные в форме. Давайте разберем типичные ошибки, которые я наблюдал во время обхода аудитории:
1. В расчете $T_{eff}$ для $H = 0.95$ двое студентов умножили $0.05 \times 60$ и получили $3.0$, но забыли прибавить составляющую кэша $1.90$ нс, записав итоговое время $3.0$ нс. Всегда помните, что процессор сначала тратит время на обращение к кэшу, и только затем обращается к ОЗУ!
2. В вопросе о типах ячеек NAND: некоторые перепутали SLC и QLC, написав, что у QLC максимальный ресурс. Напоминаю: SLC хранит 1 бит (2 уровня напряжения) и выдерживает 100 000 циклов, а QLC втискивает 4 бита (16 тончайших уровней напряжения), из-за чего его оксидный слой разрушается уже через 500–1000 циклов!
3. В 4 варианте по In-Memory СУБД: студент предложил хранить всю базу на QLC SSD "потому что он дешевле". Это грубейшая архитектурная ошибка! In-Memory СУБД требует миллисекундных и наносекундных откликов на чтение/запись, поэтому оперативные данные обязаны жить в DRAM ОЗУ, а SSD NVMe используется только для упреждающей записи транзакционного лога (WAL)!»

ЭТАП 6. ПОДВЕДЕНИЕ ИТОГОВ И ДОМАШНЕЕ ЗАДАНИЕ (5 МИН / 5 МИН)

Преподаватель: «Подведем итоги занятия. Сегодня мы доказали, что скорость работы современных компьютеров определяется не столько мегагерцами процессора, сколько совершенством подсистемы памяти. Мы освоили принципы локальности, формулу эффективного доступа и физику энергонезависимых накопителей.

Каждый из вас получает баллы по 4-балльной шкале за очный протокол в zanyatie.html. Нажмите кнопку печати и сохраните заполненный документ в формате PDF для отчета.

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

На следующем занятии (пара 14) мы проведем практическое занятие №5, где будем подбирать модули памяти и накопители под конкретные технические спецификации материнских плат. Всем спасибо за продуктивную работу, занятие окончено!»