Memory mode bios что это sparing

Обновлено: 07.07.2024

Основные вопросы, на которые нужно ответить при выборе конфигурации памяти DDR3:

1. Нужно получить максимальный объём или максимальную производительность памяти?

2. Какие процессоры будут использоваться?

3. Какое соотношение цена/производительность для нас оптимальна?

Отличия в использовании DDR2 и DDR3

DDR2 и процессоры Intel Xeon 5400

- До 4 DIMM на канал

- Память Fully-buffered DDR2 533/667/800

- Максимальный объем 128Гб

DDR3 и процессоры Intel Xeon 5500

- До 3 DIMM на канал

- Память DDR3 800/1066/1333

- Максимальный объем 144Гб

Варианты конфигурирования

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

Максимальная производительность

Для обеспечения максимальной производительности необходимо использовать память DDR3 с частотой 1333MHz и процессоры серии X5550, т.к. только они способны обеспечить необходимую пропускную способность шины QPI (10,6 GB/s). Такая конфигурация накладывает ограничение на максимальный объем памяти в 48GB, т.к. возможно установить только 1 модуль памяти на 1 канал процессора.

image

Максимальная производительность

Максимальный объем

В этом случае необходима память с частотой 800MHz и любые процессоры серии X5500. Пропускная способность шины QPI при этом будет 6,4GB/s. При этом можно будет установить до 18 модулей памяти, то есть по 3 модуля на канал, и получить объем в 144GB.

image


Максимальный объем

Сбалансированный

Оптимальный вариант, межу производительностью и объемом. Необходимо использовать память DDR3 с частотой 1066 MHz, процессоры серии E5520 или старше. В такой конфигурации возможна установка по 2 модуля памяти на канал (всего 12 модулей) и получить общий объем памяти 96GB.

image


Сбалансированный вариант

Типы памяти

Но это не все. Кроме ранжирования по скорости MHz, есть 3 вида памяти DDR3: Registered DIMMs (RDIMM), Unbuffered ECC DIMMs (UDIMM ECC) и Unbuffered DIMMs (UDIMM). Сразу отмечу что Unbuffered DIMMs (UDIMM) не рекомендуется использовать в серверах. Так же модули памяти бывают разных рангов.

Сравнение UDIMM и RDIMM:

Регистр/Буфер

800, 1066, 1333 МГц

800, 1066, 1333 МГц

Количество рангов

Максимальное кол-во модулей на канал

Объем модулей

Четность адреса

Энергопотребление

RDIMMs:: Хотя они на несколько процентов медленнее чем UDIMM, они позволяют получить больший общий объем памяти. Поддерживают до 3 DIMMs/канал.

UDIMM ECC: поддерживает все RAS функции RDIMM кроме x4 Single Device Data Correction (SDDC).

Для систем начального уровня с объемом ОЗУ 12Гб или меньше, целесообразно использовать UDIMM ECC, т.к. у них меньше стоимость. Регистровую память имеет смысл использовать в материнских платах, где по 3 слота на канал (на будущее расширение без выбрасывания старой памяти) или модули по 4ГБ.

image

Относительная стоимость модулей

Ранги (Single, Dual, Quad)

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


Физическое устройство разноранговой памяти

Латентность QR модулей меньше, т.к. в них одновременно может быть открыто несколько страниц. Так же есть ограничение в 8 рангов на канал, т.е в один канал можно поставить только 2 QR модуля (у разных производителей, кол-во поддерживаемых рангов может отличаться в зависимости от модели материнской платы). На данный момент Quad Rank бывают только модули RDIMM.

Еще отмечу момент, что при установки памяти с разным количеством рангов, первыми устанавливаются QR модули, потом DR и SR.

Выбор модулей оптимального объема.

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

При использовании RDIMM-ов, возможны следующие конфигурации (при использовании 2х 4х ядерных процессоров Nehalem-EP)

В таблице представлены основные конфигурации памяти. Сначала в первой строке выбираем желаемый объем памяти на 1 ядро.
Во второй строчке указа общий объем памяти, который мы получим.
Далее ниже рассмотрены варианты с разным объемом каждого модуля. Красным выделены оптимальные конфигурации.

При использовании UDIMM-ов ECC (при использовании 2х 4х ядерных процессоров Nehalem-EP)

DDR3 UDIMMs ограничены 2 DIMMs на канал, или в общей сложности 12 DIMMs.
Принцип выбора тот же что и при RDIMM.

Баланс памяти по каналам в конфигурации

В таблицах есть не сбалансированные конфигурации. Не сбалансированной конфигурация считается, если не используются все 3 канала памяти на процессор или число модулей не кратно 3 модулям на процессор. Конфигурация, когда используется два канала из трех, можно считать сбалансированной, т.к. interleave работает, но только на 2 канала.

Так же возможна конфигурация, когда вся память находиться у одного процессора. Она возможна при использовании Non-Uniform Memory Access (NUMA).

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

Несбалансированная конфигурация: уменьшенная пропускная способность (до 17%)

Пропускная способность памяти. Сравнение сбалансированной и не сбалансированной конфигурации (DDR3 1066).

image

Разница в скорости на разных конфигурациях

Очень хорошо видна разница в пропускной способности памяти в разных режимах:

Вместо столь привычного многим BIOS’а на Sabertooth 990FX применяется новомодный UEFI. Изначально, при заходе в него пользователю открывается простенькое чуть ли не однокнопочное меню под названием EZ Mode:

450x338 42 KB. Big one: 1024x768 127 KB

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

Что касается функциональности, можно выбрать один из трёх режимов «System Performance» и/или устройство, с которого будет происходить загрузка системы. Для первого меню доступно три различных режима:

  • Power Saving: Технологии энергосбережения активны, Turbo Core для процессоров PhenomX6 отключен;
  • Normal: Технологии энергосбережения выключены, Turbo Core активен;
  • Asus Optimal: В этом режиме материнская плата начинает заниматься «самодеятельностью»: выставляет частоту работы шины в значение 233 МГц, снижает на одну ступень множители HT и CPU_NB, поднимает напряжение питания CPU на 0.05 В к штатному, устанавливает напряжение питания памяти 1.65 В в режиме DDR3-1240 9-9-9-24, выставляет режим Load Line Calibration для процессора и контроллера памяти в значение «Extreme», и выкручивает лимиты CPU Current Capability и CPU/NB Current Capability до максимально доступных значений.
    При этом, если просто пройтись по всем указанным настройкам в «Advanced Mode», то везде будет выставлено скромное значение «Auto». В общем, первые два режима работы - для тех, кому не нужен разгон процессора, у них есть право на жизнь, а вот при желании заняться разгоном лучше делать это вручную, а не доверять процесс материнской плате.

реклама

В общем, ничего интересного режим EZ Mode собой не представляет, поэтому перейдём к рассмотрению Advanced Mode. Переход к нему осуществляется через меню в верхнем правом углу экрана.

450x338 26 KB. Big one: 1024x768 91 KB

Как видно из скриншота выше, Advanced Mode - всего лишь основное меню UEFI, при этом отличаясь от старых BIOS’ов материнских плат Asus только внешним оформлением и возможностью использования мыши. К слову, последняя работает быстро, навигация по меню с её помощью явно упрощается, хотя без клавиатуры при задании настроек не обойтись.

Перед тем, как переходить в посвящённое настройкам разгона под названием «Ai Tweaker» меню, рекомендую сначала зайти в раздел Boot и переключить «Setup Mode» в значение «Advanced Mode»:

450x338 28 KB. Big one: 1024x768 94 KB

MSI RTX 3070 сливают дешевле любой другой, это за копейки Дешевая 3070 Gigabyte Gaming - успей пока не началось

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

Пора взглянуть, какие возможности предоставляются для разгона, переходим к рассмотрению меню «Ai Tweaker»:

450x338 28 KB. Big one: 1024x768 94 KB

В самом начале предоставляется возможность выбрать режим Ai Overclock Tuner из значений «Auto», «Manual» и «D.O.C.P.».

Значение «Auto», как и нижерасположенный пункт меню «OC Tuner», отвечает за авторазгон, что (как уже было рассмотрено на примере профилей EZ Mode) непригодно для работы на практике.

реклама

Режим «D.O.C.P.» предоставляет возможность выбрать один из профилей разгона памяти:

450x338 32 KB. Big one: 1024x768 97 KB

Нечто подобное можно было наблюдать на Gigabyte 990FXA-UD7. Так же, как и на ней, Sabertooth 990FX при выборе того или иного профиля подбирает настройки частоты шины и множителя процессора, к примеру, для профиля DDR3-2400 плата выставляет частоту работы шины 300 и множитель CPU 12.5:

450x338 29 KB. Big one: 1024x768 94 KB

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

В режиме «Manual» для разгона предоставляется следующее:

  • Возможность выставить значение частоты работы шины в диапазоне от 100 до 600 с шагом 1. Да, диапазон именно от 100, а не от 200, как на большинстве материнских плат. Можно не только разгонять, но и снижать частоты ниже штатных.
  • Возможность выставить значение коэффициента умножения CPU в диапазоне от 4 до 35 с шагом 0.5; активации технологии Turbo Core (для процессоров на ядре Thuban) и выбора «турбомножителя» в том же диапазоне.
  • Возможность выставить частоту работы PCI-E шины в диапазоне от 100 до 150 с шагом 1.
  • Возможность выбрать одно из четырёх значений частоты работы памяти: DDR3-800/ DDR3-1066/ DDR3-1333/ DDR3-1600 (множители X4/ X5.33/ X6.66/ x8).
  • Возможность выбора частоты контроллера памяти в диапазоне от 800 МГц до 3200 МГц с шагом 100 Мгц, что соответствует выбору множителей в диапазоне от X4 до X16 с шагом 1. Их доступные значения зависят от множителя работы памяти, который не может быть выше множителя частоты работы контроллера памяти.
  • Возможность задания частоты работы HT в диапазоне от 800 МГц до 2600 МГц с шагом 100 МГц, что соответствует выбору множителей в диапазоне от X4 до X13 с шагом 1. Частота работы HT не может превышать частоту работы контроллера памяти, и материнская плата в случае установления таких настроек адекватно показывает для частоты работы HT значение «Unsupported».

Помимо всего прочего, позволяется включить/выключить CPU Spread Spectrum/PCIe Spread Spectrum и технологию энергосбережения EPU. Отмечу, что отсутствует возможность выбора между режимами 8/16 бит для шины HT.

Для подбора таймингов памяти есть отдельное меню под названием «DRAM Timing Control»:

450x338 30 KB. Big one: 1024x768 95 KB

Список доступных для изменения таймингов памяти, в порядке их расположения в меню BIOS’а:

Есть все необходимые для нормального разгона тайминги, и даже немного больше, чем надо. Их диапазоны в большинстве случаев совпадают с оными у 990FXA-UD7. Слева от выставляемого значения выводятся текущие таймигни, при этом они указываются в две колонки, для каждого из каналов памяти. Смысл такой реализации непонятен, ибо раздельного управления каналами нет.

Помимо меню «DRAM Timing Control» присутствует меню «DRAM Driving Control»:

450x338 29 KB. Big one: 1024x768 96 KB

Доступны следующие настройки:

реклама

Настройки продублированы для каждого из каналов памяти в отдельности, как и в случае с 990FXA-UD7. В целом, их изменение зачастую приводит лишь к потере стабильности. Автонастройки на Sabertooth 990FX и 990FXA-UD7 совпадают для всех пунктов меню кроме CS/ODT drive strength, материнская плата Gigabyte ставит это значение в положение 1.5x, продукт Asus - 1.25x.

Часть настроек памяти собрана в меню «Advanced/North Bridge/Memory Configuration»:

450x338 26 KB. Big one: 1024x768 90 KB

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

реклама

Ладно, вернёмся в меню «Ai Tweaker» и начнем с рассмотрения настроек управления DIGI+ VRM:

450x338 32 KB. Big one: 1024x768 99 KB

Для CPU Load Line Calibration подразумевается выбор одного из пяти режимов:

  • Regular: 0%;
  • Medium: 25%;
  • High: 50%;
  • Ultra High: 75%;
  • Extreme: 100%.

Никаких пояснений на счёт того, что означают эти проценты нет, впрочем, как и подсказок, какой из режимов приводит к снижению напряжения питания под нагрузкой, а какой - к повышению. Что ж, перед тем, как приступить к разгону – проверим работу Load Line Calibration в деле.

Для «CPU/NB Load Line Calibration» доступны только три варианта настроек: Regular, High и Extreme.

реклама

Ниже расположены меню «CPU Current Capability» и «CPU/NB Current Capability», отвечающие за установку предела потребления процессора. В общем, некое подобие Power Limit-ов на материнских платах для линейки Sandy Brigde. Доступные значения – от 100% до 140% с шагом 10% в случае процессора, и от 100% до 130% с шагом 10% в случае встроенного в процессор контроллера памяти.

К этим двум меню относится пункт «CPU Power Duty Control», в котором можно выбрать два варианта работы:

  • T.Probe Thermal – параметры максимально доступного потребления зависят от температурного режима.
  • C.Probe Current – параметры задаются от тока потребления.

Неясно, относительно каких значений задаются все эти «130%» и «140%», точка отсчёта не указана.

Помимо всего прочего, можно управлять режимами активности фаз питания и частотой работы цепей MOSFET. Хотя, как показала практика, на стабильность в разгоне они влияния практически не оказывают. Отмечу, что при ручных установках этих настроек производителем рекомендуется не выключать так называемый «thermal module», вероятно, под данным советом подразумевается использование режима T.Probe Thermal.

Спустившись по меню «Ai Tweaker» ниже, можно увидеть список доступных к изменению напряжений:

реклама

450x338 28 KB. Big one: 1024x768 94 KB

Таблица со списком данных напряжений, в порядке их расположения в меню BIOS’а:

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

Отмечу, что для напряжений CPU и CPU/NB есть два варианта установки параметров. Первый, «Manual Mode» - позволяет задать любое требуемое напряжение питания в доступном диапазоне, а режим «Offset Mode» - коррекцию относительно штатного значения, в диапазоне от -0.7 В до +0.7 В с шагом 0.00625 В. Совместно с последним можно использовать технологии энергосбережения.

реклама

С меню разгона вроде бы разобрались, рассмотрим теперь то, что ещё может представлять интерес. В первую очередь, это раздел «Tool»:

450x338 23 KB. Big one: 1024x768 87 KB

Здесь собраны три утилиты, и если «ASUS SPD Information» содержит лишь информацию об SPD модулей памяти, то подменю «ASUS EZ Flash Utility» и «ASUS O.C. Profile» могут представлять интерес. Для начала зайдём в «ASUS EZ Flash Utility»:

450x338 22 KB. Big one: 1024x768 60 KB

Она отвечает за возможности резервного сохранения UEFI BIOS’а и за его перепрошивку. Поддерживается NTFS, хотя и не без оговорок. При попытке зайти в раздел большого объёма система стабильно зависает.

реклама

«ASUS O.C. Profile»:

450x338 27 KB. Big one: 1024x768 91 KB

Данная утилита позволяет сохранить до восьми различных профилей настроек. Каждому из них можно задать имя длиной до четырнадцати символов.

Перечислять остальные меню – пустая трата времени, ибо для оверклокера они практически не представляют интереса.

Видеозапись * «похода» по меню UEFI:

* Ролик взят из материала wildchaser’а.

В целом, особых претензий к UEFI материнской платы нет, разве что можно придраться к тому, что настройки памяти разбросаны по разным разделам, заодно отметив неспособность «EZ Flash Utility» работать с разделами большого объёма.

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

Как ни тривиально это звучит, но — большие данные и критически важные для бизнеса приложения. Ведь серверы на базе E7-4800 v2 — это не только полтора терабайта оперативной памяти на сокет, но и средства повышения надежности в пределах одной системы.



Мы тоже не забыли поддержать продукт

И подробней расскажем как о полезных возможностях платформы E7 v2 с ядром Ivy Bridge- EX, так и о сервере Hyperion RS530 G4.

Сам Intel позиционирует новые процессоры как альтернативу RISC системам, в первую очередь на основе IBM POWER. Основания для этого у них есть!



Слайд взят у Intel

Разберем каждый пункт подробней.

Производительность

Увеличение оной в 2 раза приведено не просто так — это ускорение сервера по сравнению с предыдущим поколением E7, на основе Westmere-EX.

Производительность процессоров в мире принято измерять с помощью тестов SPEC (Standard Performance Evaluation Corporation) CPU, актуальная версия CPU2006. Тесты делятся на целочисленные CINT и с плавающей точкой CFP, но это однопоточный результат. Для сравнения многоядерных процессоров используется rate версия.

Процессор SPECint_rate_base2006 SPECfp_rate_base2006
4x E7-4890 v2 2340 1730
4x E7-4870 1080 698
8x E7-8870 1930 1280
IBM Power 750 Express (4.0 GHz, 32 core, SLES)
1230 1050

Новый четырехпроцессорный сервер полностью заменяет старый восьмипроцессорный,
например, ETegro Hyperion RS830 G3. Потребляет меньше энергии, производительность выше, стоимость ниже. На его фоне и Power смотрится довольно бледно.

Объем памяти

Необходимо отметить, что контроллер E7 работает с памятью не напрямую, а через SMI (scalable memory interconnect) и специальный буфер. Зачем?

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

В модели предыдущего поколения Hyperion RS530 G3 было доступно 64 слота для оперативной памяти и поддерживалось 2 терабайта в сервере.


Новый процессор принес переработанный контроллер памяти с поддержкой 24 планок памяти на процессор (96 в сервере) и частоты модуля 1600 МГц (раньше было ограничение в 1066МГц).


Помимо большего объема памяти, поддерживается переключение режимов работы — Performance и
Lockstep.


По умолчанию стоит режим Performance, который устанавливает производительность SMI на 2667MT/s и работу с восемью каналами DDR на процессор. В сумме получается 340 гигабайт в секунду пропускной способности памяти на четыре процессора. Колоссальный результат! В тесте STREAM Triad получилось достичь 244GB/s, что в 2.4 раза больше 101GB/ s у системы с E7 v1.

  1. Доступно максимальное количество возможностей RAS.
  2. Модули необходимо устанавливать идентичным парами (два в каждом из двух каналов).
  3. Для системы доступен полный объем памяти.

Зеркалирование снижает доступный для системы объем памяти в два раза. Memory rank sparing резервирует один rank на канал, памяти доступно больше, но и надежность не так высока, как у зеркала.

Предыдущее поколение E7 v1 полагалось на возможности чипсета 7500, который имел 32 линии PCIe 2.0. В Hyperion RS530 G3 таких чипов стояло два, что позволяло снять 64 линии на сервер.

E7 v2 получили встроенный контроллер PCIe 3.0 с 32 двумя линиями. Несколько меньше, чем у Е5-2600 (40 линий на процессор), но их же четыре. 128 линий, каждая из которых примерно в два раза быстрее PCIe 2.0 — вот четыре раза на слайде и набежало.

Проще всего сводной таблицей описать, где Romley — E5-4600; Boxboro EX — E7 v1, Brickland — E7 v2.



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

Теперь про нас и актуальный сервер


Расписывать долго и упорно спецификации не будем, они есть на сайте. Лучше показать самые приятные фишки на живом изделии :)

Горячее добавление памяти

Если заполнены не все райзеры памяти — то можно спокойно добавлять еще без остановки сервера:

Intel грозится доделать код для горячей замены памяти (работать будет только в режиме зеркалирования, в RS530 G3 работало), тогда можно будет менять сбойные планки на ходу.

Горячая замена PCIe

Слетел сетевой контроллер? FC карточка уехала крышей? Хочется добавить еще PCIe флеша? Сервер выключать не надо:

NVMe на практике

В нашей предыдущей статье, посвященной накопителям, мы упомянули о NVMe SSD и поддержке в этой модели, вот как это реализовано:


Как мы уже упоминали, разъем NVMe сделан совместимым с SAS, поэтому бэкплейн имеет контакты для подключения обычного SAS контроллера.



Бэкплейн дисков

Живая тестовая машина с E7-4880 v2 есть у нас в лаборатории и доступна для тестирования.

PS Вместе с анонсом нового поколения мы предлагаем 2 системы Hyperion RS530 G3 с четырьмя процессорами Xeon E7-8837, контроллером LSI 9260-8i и 8 райзерами для памяти со скидкой в скромные 50%.

В первой части этой статьи мы познакомились с форматом UEFI Capsule и Intel Flash Image. Осталось рассмотреть структуру и содержимое EFI Firmware Volume, но для понимания различий между модулями PEI и драйверами DXE начнем с процесса загрузки UEFI, а структуру EFI Firmware Volume отставим на вторую часть.

UEFI Platform Initialization


С высоты птичьего полета процесс загрузки UEFI выглядит так:

Вообще говоря, нас интересует не весь это процесс, а его часть — Platform Initialization (PI), которая делится на 3 фазы: SEC , PEI и DXE .
Всю документацию по PI можно свободно загрузить с сайта UEFI Forum. Фазы SEC и PEI описаны в Volume 1, фаза DXE — в Volume 2, общие архитектурные элементы, в том числе интересующие нас форматы файлов и заголовков EFI FFS — в Volume 3, субфаза SMM (стартует в середине DXE и идет параллельно) — в Volume 4, стандарты на совместимое с PI оборудование и ПО — в Volume 5. Про оборудование и ПО здесь я писать не стану, а вот остальные фазы нужно упомянуть, т.к. не зная их, сложно понять, зачем в файле BIOS'а столько всего и чем это всё отличается друг от друга.

Фаза SEC
  1. Обработать все виды platform restart'ов: включение питания после неактивного состояния, перезагрузка из активного состояния, выход из режима глубокого сна, различного рода исключительные ситуации
  2. Подготовить временную память
  3. Стать Root of Trust системы: или доверять остальным частям PI, или проверить их валидность каким-либо способом
  4. Подготовить необходимые структуры данных и передать их и управление в фазу PEI. Как минимум, передаются состояние платформы, адрес и размер BFV , адрес и размер временной RAM, адрес и размер стека
  1. Reset Vector: сброс кэша и переход на главную процедуру иницилизации в ROM
  2. Switch to protected mode: переключение в защищенный режим процессора с плоской памятью без подкачки
  3. Initialize MTRRs for BSP: запись в кэш известных значений для различных областей памяти
  4. Microcode Patch Update: обновление микрокода всех доступных процессоров
  5. Initialize NEM : свободный кэш помечается как несбрасываемый, после чего его можно использовать как временную RAM до инициализации основной, а также позволяет написать эту самую инициализацию на обычных ЯП со стеком, в данном случае на C
  6. Early BSP /AP interactions: отправка всем AP прерывания INIT IPI , затем Start-up IPI, получение данных BIST со всех AP
  7. Hand-off to PEI entry point: передача управления и данных в фазу PEI
Фаза PEI
  1. Establish use of «memory»: перенос данных из ROM в раннюю RAM (т.е. в кэш)
  2. PEI Dispatcher: запуск модулей PEIM в порядке от не имеющих зависимостей до имеющих сложные зависимости. Это цикл, который заканчивается в момент, когда не запущенных модулей не остается
  3. CPI PEIM: инициализация CPU, настройка MSR и т.п. (Мы вернемся к этому модулю при обсуждении патча CPU PM)
  4. Platform PEIM: ранняя инициализация MCH , ICH , встроенных интерфейсов платформы (SMBus , Reset, и т.п.). Определение режима загрузки (обычный, Recovery, S3 Resume), используя данные, полученные в фазе SEC.
  5. Memory Initialization PEIM: инициализация основной RAM и перенос в нее данных из кэша, которым теперь можно пользоваться нормально. процесс зависит от определенного на предыдущем шаге состояния системы, например, при S3 Resume тестирование памяти не выполняется, что сокращает время загрузки
  6. Если система не находится в S3 Resume, то происходит передача HOB'ов и управления в фазу DXE, а фаза PEI на этом завершается
  7. Если все же находится — выполняется CPU PEIM for S3 Boot Script, выполняющий возврат всех процессоров в их сохраненное состояние
  8. S3 Boot Script Executor: восстановление состояния других устройств
  9. OS Resume Vector: переход к ОС
Фаза DXE
Cубфаза SMM

Заключение

Теперь вы знаете, как происходит загрузка UEFI и какие модули необходимы для нее.
Я принял решение разделить планируемую вторую часть еще на две, чтобы уменьшить размер поста и снизить когнитивную нагрузку на читателя.
Во второй части статьи мы наконец рассмотрим структуру файла EFI FV, и сведения из этой вам там очень пригодятся.
Спасибо за внимание.

Читайте также: