Будинки Програмне забезпечення Що таке емуляція процесора? - визначення з техопедії

Що таке емуляція процесора? - визначення з техопедії

Зміст:

Anonim

Визначення - Що означає емуляція процесора?

Емуляція процесора - це процес віртуалізації та технології, що дозволяє програмному забезпеченню, складеному для певного процесора або операційної системи (ОС), працювати в іншій системі, що має інший процесор і ОС. Це робиться шляхом динамічного перекладу інструкцій процесора та всіх пов'язаних з ним викликів операційної системи в інструкції процесора та ОС, де вона працює.

Техопедія пояснює емуляцію процесора

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

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

Способи обробки емуляції процесора:

  • Динамічна рекомпіляція - Список операцій створюється за допомогою запуску коду, і коли досягається інструкція гілки, список складається до коду інструкцій платформи хосту. Потім це кешування для подальшого використання. Як варіант, кожен код можна було просто скласти на ходу, але цей підхід важко оптимізувати.
  • Статична рекомпіляція - це також відоме як статичний бінарний переклад, де код спочатку перетворюється в код цільової машини або архітектури без запуску коду, як це робиться при динамічній рекомпіляції. Однак можуть виникнути проблеми, оскільки не всі цільові коди можуть бути визначені перекладачем протягом часу компіляції, оскільки деякі з них можуть бути знайдені лише в непрямих гілках, які, в свою чергу, можуть бути визначені лише під час виконання.
  • Інтерпретація - кожен код зчитується з пам'яті за допомогою вказівника інструкцій, а потім виконується згідно з набором інструкцій CPU хост-комп'ютера. Іншими словами, вказівки перекладаються одна на одну, а потім виконуються назовні. Найбільший недолік тут - продуктивність.
Що таке емуляція процесора? - визначення з техопедії