Дом Програмное обеспечение Что такое эмуляция процессора? - определение из техопедии

Что такое эмуляция процессора? - определение из техопедии

Оглавление:

Anonim

Определение - что означает эмуляция процессора?

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

Techopedia объясняет эмуляцию процессора

Эмуляция процессора позволяет выполнять программы, написанные для одного процессора, на другом процессоре с другой архитектурой и набором команд. Хорошим базовым примером является эмулятор игровой консоли, который позволяет пользователям играть в консольные игры, такие как Nintendo Entertainment System и PlayStation, на своих ПК. Процессор, используемый игровой консолью, сильно отличается от процессора ПК, поэтому, чтобы иметь возможность играть в консольные игры на ПК, процессор игровой консоли должен быть эмулированным.

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

Способы обработки эмуляции процессора:

  • Динамическая перекомпиляция - список операций создается путем выполнения кода, а когда достигается команда перехода, список компилируется в код инструкции платформы хоста. Затем он кешируется для будущего использования. Кроме того, каждый код может быть просто скомпилирован на лету, но этот подход трудно оптимизировать.
  • Статическая перекомпиляция - это также известно как статическая двоичная трансляция, когда код сначала преобразуется в код целевой машины или архитектуры без запуска кода, как это делается при динамической перекомпиляции. Однако могут возникнуть проблемы, поскольку не все целевые коды могут быть определены переводчиком во время компиляции, поскольку некоторые из них могут быть обнаружены только в косвенных ветвях, которые, в свою очередь, могут быть определены только во время выполнения.
  • Интерпретация - каждый код считывается из памяти с использованием указателя инструкций, а затем выполняется в соответствии с набором инструкций ЦП главного компьютера. Другими словами, инструкции переводятся один в один, а затем выполняются изначально. Самый большой недостаток здесь - производительность.
Что такое эмуляция процессора? - определение из техопедии