For faster navigation, this Iframe is preloading the Wikiwand page for Емуляція.

Емуляція

Матеріал з Вікіпедії — вільної енциклопедії.

Емуляція (англ. emulation) — відтворення програмними або апаратними засобами або їхньою комбінацією роботи інших програм або пристроїв.

Цілі комп'ютерної емуляції

[ред. | ред. код]
  • Створення нового мікропроцесора / мікроконтролера. У цьому випадку за допомогою емулятора, програма/пристрої виконуються команди цього процесора.
  • Необхідність виконання також програмного забезпечення, написаного для іншого пристрою або операційної системи.
  • Тестування програм написаних для різних систем.

Програмна емуляція

[ред. | ред. код]

Емуляція дозволяє виконувати комп'ютерну програму на платформі (комп'ютерній архітектурі та/або операційній системі), відмінній від тієї, для якої вона була написана в оригіналі. Емуляцією також називають сам процес цього виконання. На відміну від симуляції, яка лише відтворює поведінку програми, при емуляції ставиться мета точного моделювання стану імітованої системи, для виконання оригінального машинного коду.

При використанні мов високого рівня, іноді в цілях збереження швидкодії виконуваної програми, замість емуляції роблять портування програм в нове середовище. У цьому випадку проводиться переписування заново ділянки коду, які залежать від апаратного забезпечення.

Одне з популярних застосувань емуляції — виконання на персональному комп'ютері ігор, написаних для гральних автоматів або ігрових приставок.

Теоретично, згідно з тезою Черча-Тюрінга, будь-яке операційне середовище може бути емульоване в будь-якому іншому середовищі. На практиці, однак, зустрічається ряд труднощів; зокрема, точна поведінка емульованої системи часто не документована і має бути досліджена і визначена за допомогою зворотної розробки.

Достатньо повна емуляція деякої апаратної платформи вимагає граничної точності, до рівня окремих тактових циклів, недокументованих особливостей і навіть помилок реалізації. Це особливо важливо для таких моделей класичних домашніх машин, як Commodore 64, програмне забезпечення яких значною мірою залежить від програмістських рішень. Вибір конкретного рішення відбувається з метою оптимізації (за розміром або швидкістю виконання програми), застосовуваної, наприклад програмістами ігор. Такі програми досить часто бувають засновані на недокументовані можливості процесора або операційної системи.

На противагу цьому, на деяких інших платформах досить мало використовувався прямий доступ до апаратного забезпечення. У цьому випадку виявляється достатнім забезпечити певний рівень сумісності, що забезпечує трансляцію системних викликів системи, яка емулюється, у виклики системи, що працює.

Зазвичай, емулятор складається з декількох модулів, що відповідають за різні підсистеми емульованого комп'ютера. Частіше за все, емулятор складається з:

  • Емулятора центрального процесора
  • Модуля підсистеми пам'яті що емулює постійну і оперативну пам'ять
  • Модуля або модулів емуляції різних пристроїв вводу/виводу

Системна шина, як правило, не емулюється, з причин спрощення або підвищення продуктивності, та віртуальна периферія звертається безпосередньо до модуля ЦП та модуля пам'яті.

Посилання

[ред. | ред. код]


Цю статтю треба вікіфікувати для відповідності стандартам якості Вікіпедії. Будь ласка, допоможіть додаванням доречних внутрішніх посилань або вдосконаленням розмітки статті. (Грудень 2008)
{{bottomLinkPreText}} {{bottomLinkText}}
Емуляція
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?