Обзор возможностей AMD SimNow

31 Дек 2015

Обзор возможностей AMD SimNow

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

В описанном опыте, SimNow установлен на виртуальной машине Oracle Virtual Box, работающей на ноутбуке ASUS N750JK (процессор Intel Haswell). Таким образом, имеет место вложенная виртуализация, кроме того, хост-платформа и эмулируемая система авторства конкурирующих компаний, тем не менее, это работает.

Однопроцессорная платформа

Однопроцессорная платформа

Архитектуру виртуальной машины можно создавать, просматривать и редактировать на уровне блок-схемы. В этом примере платформа на основе системной логики ATI, содержащая один процессор, чипсет из двух микросхем, подсистему памяти, видеоадаптер, Super IO, и Firmware ROM (Memory Device #4). Подчеркнем степень подробности описания: подсистема памяти (DIMM Bank #3) имеет два подключения: к контроллеру памяти в составе процессора и к южному мосту ATI-SB600 для доступа к микросхемам SPD (Serial Presence Detect) модулей оперативной памяти по шине SMBus (System Management Bus).

Четырехпроцессорная NUMA-платформа

Четырехпроцессорная NUMA-платформа

Эта более сложная виртуальная машина является четырехпроцессорной NUMA-системой. Режим редактирования свойств компонентов и связей между ними, в сочетании с гибкостью шины Hyper-Transport, позволяет отключать процессоры и модули памяти, динамически изменяя NUMA-топологию и наблюдая реакцию программного обеспечения. Эмулятор проверяет физическую реализуемость спроектированной системы, но не защищает исследователя от самого себя: задавая некоторые нетипичные конфигурации можно вызвать сбой firmware платформы. Отметим, что наличие библиотеки из 15 готовых конфигураций поможет начать работу с продуктом не имея опыта проектирования мультипроцессорных систем. Диалоговое окно в правом нижнем углу скрин-шота, позволяет задать файл образа Firmware и тип микросхемы Flash ROM. В данном случае установлено значение Not Present для опции Flash Part, запрещающее обновление firmware виртуальной платформы.

Фотографируем экран Phoenix BIOS POST

Фотографируем экран Phoenix BIOS POST

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

Особенности Phoenix BIOS Setup

Особенности Phoenix BIOS Setup

Незаслуженно забытая опция Node Memory Interleave в Phoenix BIOS Setup в свое время помогала при необходимости сконфигурировать мультипроцессорную платформу для работы под управлением устаревшей операционной системы, не поддерживающей NUMA-топологию. При включении этой опции, страницы памяти, относящиеся к различным доменам (процессорам) будут равномерно перетасованы в адресном пространстве, при этом ACPI-таблица SRAT (System/Static Resource Affinity Table) не генерируется firmware. Комментарий из Item Specific Help подтверждает данный тезис.

Операционная система на виртуальной машине

На виртуальную машину можно установить операционную систему

На виртуальную машину можно установить операционную систему. В нашем варианте это Windows XP x64. Перечислим уровни вложенности в этом примере.

  • Уровень 1: Хостовая ОС Windows 8.1 работает на платформе: ноутбук ASUS N750JK (Intel Haswell).
  • Уровень 2: Виртуальная машина Oracle Virtual Box.
  • Уровень 3: Гостевая ОС Windows 7 под гипервизором Oracle Virtual Box
  • Уровень 4: Эмулятор AMD SimNow под гостевой ОС Windows 7
  • Уровень 5: Гостевая ОС Windows XP x64 под эмулятором AMD SimNow

Хост-платформа не имеет аппаратной поддержки вложенной виртуализации. Поэтому логично предположить, что в описываемой многоуровневой «пирамиде», возможностями технологий акселерации виртуальных машин Intel VT-x и Intel VT-d пользуется только Oracle Virtual Box. На производительности это, увы, отразилось.

Замеченные недостатки

К сожалению, дисциплина совместного использования клавиатуры и мыши в системе с таким количеством ОС и виртуализаторов, иногда «хромает», а установка более современных гостевых ОС, например Windows 7, приводит к аварийному завершению работы эмулятора, либо инсталлятора гостевой ОС (в зависимости от типа виртуальной машины). Кроме того, в эмуляторе отсутствует поддержка UEFI. Хотелось бы надеяться на выход обновленной версии столь функционального продукта.

Где скачать?

Эмулятор доступен для загрузки на сайте поддержки разработчиков AMD. В нашем эксперименте использовались ОС Microsoft. Поддерживается и Linux, причем как в качестве хостовой, так и гостевой ОС.