Симулятор компьютерной архитектуры - Computer architecture simulator

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

Симуляторы компьютерной архитектуры используются для следующих целей:

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

Категории

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

  • Область применения : Микроархитектура симуляторы моделируют микропроцессор и его компоненты. Полносистемные симуляторы также моделируют процессор, системы памяти и устройства ввода-вывода.
  • Подробно : функциональные симуляторы, такие как имитаторы набора команд , выполняют те же функции, что и моделируемые компоненты. Их можно смоделировать быстрее, если не учитывать время. Имитаторы времени - это функциональные имитаторы, которые также воспроизводят хронометраж. Имитаторы времени можно далее разделить на цифровые симуляторы с точностью до цикла и аналоговые имитаторы подциклов.
  • Рабочая нагрузка : симуляторы, управляемые трассировкой (также называемые симуляторами, управляемыми событиями), реагируют на предварительно записанные потоки инструкций с некоторым фиксированным вводом. Симуляторы, управляемые выполнением, позволяют выполнять динамическое изменение инструкций в зависимости от различных входных данных.

Полносистемные тренажеры

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

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

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

Симулятор с точностью до цикла

Потактовый Тренажер представляет собой компьютерную программу , которая моделирует микроархитектуру на основе цикла за циклом. Напротив, имитатор набора команд имитирует архитектуру набора команд, как правило, быстрее, но не с точностью до цикла для конкретной реализации этой архитектуры; они часто используются при эмуляции устаревшего оборудования, где точность времени важна по причинам устаревания. Часто симулятор с точным циклом используется при разработке новых микропроцессоров - они могут быть протестированы и протестированы точно (включая запуск полной операционной системы или компиляторов) без фактического создания физического чипа и легко изменить конструкцию много раз, чтобы соответствовать ожидаемому плану.

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

Смотрите также

Рекомендации

  1. ^ Отладка и полное моделирование системы
  2. ^ Ваня Джолобофф (2009). «Полное системное моделирование встроенных систем» (PDF) . Архивировано из оригинального (PDF) 09 февраля 2014 года . Проверено 6 марта 2013 .

внешние ссылки