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

А симулятор компьютерной архитектуры это программа который имитирует исполнение из компьютерная архитектура.

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

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

Категории

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

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

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

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

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

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

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

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

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

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

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

  1. ^ Отладка и полное моделирование системы
  2. ^ Ваня Жолобофф (2009). «Полное системное моделирование встроенных систем» (PDF). Архивировано из оригинал (PDF) на 2014-02-09. Получено 2013-03-06.

внешняя ссылка