Симулятор компьютерной архитектуры
Эта статья нуждается в дополнительных цитатах для проверки . ( декабрь 2013 г. ) |
Симулятор компьютерной архитектуры — это программа , имитирующая выполнение компьютерной архитектуры .
Симуляторы компьютерной архитектуры используются для следующих целей:
- Снижение затрат за счет оценки конструкции оборудования без создания физических аппаратных систем.
- Разрешение доступа к недоступному оборудованию.
- Повышение точности и объема данных о производительности компьютера.
- Внедрение возможностей, которые обычно невозможны на реальном оборудовании, таких как запуск кода в обратном направлении при обнаружении ошибки или запуск в режиме быстрее реального времени .
Категории [ править ]
Симуляторы компьютерной архитектуры можно разделить на множество категорий в зависимости от контекста.
- Область применения : Симуляторы микроархитектуры моделируют микропроцессор и его компоненты. Полносистемные симуляторы также моделируют процессор, системы памяти и устройства ввода-вывода.
- Подробности : Функциональные симуляторы, такие как симуляторы набора команд , выполняют те же функции, что и моделируемые компоненты. Их можно смоделировать быстрее, если не учитывать время. Симуляторы хронометража — это функциональные симуляторы, которые также воспроизводят хронометраж. Симуляторы синхронизации можно разделить на цифровые симуляторы с точностью до цикла и аналоговые симуляторы субциклов.
- Рабочая нагрузка : симуляторы, управляемые трассировкой (также называемые симуляторами, управляемыми событиями), реагируют на заранее записанные потоки инструкций с некоторыми фиксированными входными данными. Симуляторы, управляемые выполнением, позволяют выполнять динамические изменения инструкций в зависимости от различных входных данных.
Полносистемные симуляторы [ править ]
Полносистемный симулятор — это моделирование архитектуры, управляемое выполнением, с таким уровнем детализации, что полные стеки программного обеспечения из реальных систем могут работать на симуляторе без каких-либо изменений. Полный симулятор системы предоставляет виртуальное оборудование, независимое от характера главного компьютера. Полносистемная модель обычно включает в себя ядра процессора , периферийные устройства , память , межсетевые шины и сетевые подключения. Эмуляторы — это полноценные системные симуляторы, которые имитируют устаревшее оборудование, а не оборудование, находящееся в стадии разработки.
Определяющим свойством полносистемного моделирования по сравнению с симулятором набора команд является то, что модель позволяет реальные драйверы устройств и операционные системы запускать , а не только отдельные программы. Таким образом, полносистемное моделирование позволяет моделировать отдельные компьютеры и сетевые компьютерные узлы со всем их программным обеспечением , от драйверов сетевых устройств до операционных систем, сетевых стеков , промежуточного программного обеспечения , серверов и прикладных программ .
Полное моделирование системы может ускорить процесс разработки системы, упрощая обнаружение, воссоздание и устранение недостатков. Использование многоядерных процессоров приводит к необходимости полного моделирования системы, поскольку воссоздание и отладка ошибок может быть чрезвычайно трудным и отнимать много времени без контролируемой среды, обеспечиваемой виртуальным оборудованием. [1] Это также позволяет начать разработку программного обеспечения до того, как будет готово оборудование. [2] тем самым помогая проверить проектные решения.
Симулятор с точностью до цикла [ править ]
Симулятор с точностью до цикла — это компьютерная программа, которая моделирует микроархитектуру поциклово. Напротив, симулятор набора команд имитирует архитектуру набора команд обычно быстрее, но не с точностью до цикла для конкретной реализации этой архитектуры; они часто используются при эмуляции старого оборудования, где точность времени важна по причинам, связанным с наследием. Часто при проектировании новых микропроцессоров используется симулятор с точностью до цикла — их можно протестировать и точно протестировать (включая запуск полной операционной системы или компиляторов) без фактического создания физического чипа, а также легко изменить конструкцию много раз, чтобы соответствовать ожидаемому плану.
Симуляторы с точностью до цикла должны гарантировать, что все операции выполняются в правильное виртуальное (или реальное, если это возможно) время — предсказание ветвей, промахи в кэше, выборки, остановки конвейера, переключение контекста потока и многие другие тонкие аспекты микропроцессоров.
См. также [ править ]
Ссылки [ править ]
- ^ Отладка и полное моделирование системы
- ^ Ваня Жолобов (2009). «Полное системное моделирование встраиваемых систем» (PDF) . Архивировано из оригинала (PDF) 9 февраля 2014 г. Проверено 06 марта 2013 г.
Внешние ссылки [ править ]
- Виртуальная инфраструктура Archer для моделирования компьютерной архитектуры
- «Микрокодесимулятор МикроСим 2010» . 0/1-SimWare . Проверено 6 декабря 2010 г.