Емуляція (англ. emulation) — відтворення програмними або апаратними засобами або їхньою комбінацією роботи інших програм або пристроїв.
Цілі комп'ютерної емуляції
- Створення нового мікропроцесора / мікроконтролера. У цьому випадку за допомогою емулятора, програма/пристрої виконуються команди цього процесора.
- Необхідність виконання також програмного забезпечення, написаного для іншого пристрою або операційної системи.
- Тестування програм написаних для різних систем.
Програмна емуляція
Емуляція дозволяє виконувати комп'ютерну програму на платформі (комп'ютерній архітектурі та/або операційній системі), відмінній від тієї, для якої вона була написана в оригіналі. Емуляцією також називають сам процес цього виконання. На відміну від симуляції, яка лише відтворює поведінку програми, при емуляції ставиться мета точного моделювання стану імітованої системи, для виконання оригінального машинного коду.
При використанні мов високого рівня, іноді в цілях збереження швидкодії виконуваної програми, замість емуляції роблять портування програм в нове середовище. У цьому випадку проводиться переписування заново ділянки коду, які залежать від апаратного забезпечення.
Одне з популярних застосувань емуляції — виконання на персональному комп'ютері ігор, написаних для гральних автоматів або ігрових приставок.
Теоретично, згідно з тезою Черча-Тюрінга, будь-яке операційне середовище може бути емульоване в будь-якому іншому середовищі. На практиці, однак, зустрічається ряд труднощів; зокрема, точна поведінка емульованої системи часто не документована і має бути досліджена і визначена за допомогою зворотної розробки.
Достатньо повна емуляція деякої апаратної платформи вимагає граничної точності, до рівня окремих тактових циклів, недокументованих особливостей і навіть помилок реалізації. Це особливо важливо для таких моделей класичних домашніх машин, як Commodore 64, програмне забезпечення яких значною мірою залежить від програмістських рішень. Вибір конкретного рішення відбувається з метою оптимізації (за розміром або швидкістю виконання програми), застосовуваної, наприклад програмістами ігор. Такі програми досить часто бувають засновані на недокументовані можливості процесора або операційної системи.
На противагу цьому, на деяких інших платформах досить мало використовувався прямий доступ до апаратного забезпечення. У цьому випадку виявляється достатнім забезпечити певний рівень сумісності, що забезпечує трансляцію системних викликів системи, яка емулюється, у виклики системи, що працює.
Зазвичай, емулятор складається з декількох модулів, що відповідають за різні підсистеми емульованого комп'ютера. Частіше за все, емулятор складається з:
- Емулятора центрального процесора
- Модуля підсистеми пам'яті що емулює постійну і оперативну пам'ять
- Модуля або модулів емуляції різних пристроїв вводу/виводу
Системна шина, як правило, не емулюється, з причин спрощення або підвищення продуктивності, та віртуальна периферія звертається безпосередньо до модуля ЦП та модуля пам'яті.
Посилання
- How to write a computer Emulator [ 18 грудня 2008 у Wayback Machine.](англ.)
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Цю статтю треба для відповідності Вікіпедії. (Грудень 2008) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Emulyaciya angl emulation vidtvorennya programnimi abo aparatnimi zasobami abo yihnoyu kombinaciyeyu roboti inshih program abo pristroyiv Cili komp yuternoyi emulyaciyiStvorennya novogo mikroprocesora mikrokontrolera U comu vipadku za dopomogoyu emulyatora programa pristroyi vikonuyutsya komandi cogo procesora Neobhidnist vikonannya takozh programnogo zabezpechennya napisanogo dlya inshogo pristroyu abo operacijnoyi sistemi Testuvannya program napisanih dlya riznih sistem Programna emulyaciyaEmulyaciya dozvolyaye vikonuvati komp yuternu programu na platformi komp yuternij arhitekturi ta abo operacijnij sistemi vidminnij vid tiyeyi dlya yakoyi vona bula napisana v originali Emulyaciyeyu takozh nazivayut sam proces cogo vikonannya Na vidminu vid simulyaciyi yaka lishe vidtvoryuye povedinku programi pri emulyaciyi stavitsya meta tochnogo modelyuvannya stanu imitovanoyi sistemi dlya vikonannya originalnogo mashinnogo kodu Pri vikoristanni mov visokogo rivnya inodi v cilyah zberezhennya shvidkodiyi vikonuvanoyi programi zamist emulyaciyi roblyat portuvannya program v nove seredovishe U comu vipadku provoditsya perepisuvannya zanovo dilyanki kodu yaki zalezhat vid aparatnogo zabezpechennya Odne z populyarnih zastosuvan emulyaciyi vikonannya na personalnomu komp yuteri igor napisanih dlya gralnih avtomativ abo igrovih pristavok Teoretichno zgidno z tezoyu Chercha Tyuringa bud yake operacijne seredovishe mozhe buti emulovane v bud yakomu inshomu seredovishi Na praktici odnak zustrichayetsya ryad trudnoshiv zokrema tochna povedinka emulovanoyi sistemi chasto ne dokumentovana i maye buti doslidzhena i viznachena za dopomogoyu zvorotnoyi rozrobki Dostatno povna emulyaciya deyakoyi aparatnoyi platformi vimagaye granichnoyi tochnosti do rivnya okremih taktovih cikliv nedokumentovanih osoblivostej i navit pomilok realizaciyi Ce osoblivo vazhlivo dlya takih modelej klasichnih domashnih mashin yak Commodore 64 programne zabezpechennya yakih znachnoyu miroyu zalezhit vid programistskih rishen Vibir konkretnogo rishennya vidbuvayetsya z metoyu optimizaciyi za rozmirom abo shvidkistyu vikonannya programi zastosovuvanoyi napriklad programistami igor Taki programi dosit chasto buvayut zasnovani na nedokumentovani mozhlivosti procesora abo operacijnoyi sistemi Na protivagu comu na deyakih inshih platformah dosit malo vikoristovuvavsya pryamij dostup do aparatnogo zabezpechennya U comu vipadku viyavlyayetsya dostatnim zabezpechiti pevnij riven sumisnosti sho zabezpechuye translyaciyu sistemnih viklikiv sistemi yaka emulyuyetsya u vikliki sistemi sho pracyuye Zazvichaj emulyator skladayetsya z dekilkoh moduliv sho vidpovidayut za rizni pidsistemi emulovanogo komp yutera Chastishe za vse emulyator skladayetsya z Emulyatora centralnogo procesora Modulya pidsistemi pam yati sho emulyuye postijnu i operativnu pam yat Modulya abo moduliv emulyaciyi riznih pristroyiv vvodu vivodu Sistemna shina yak pravilo ne emulyuyetsya z prichin sproshennya abo pidvishennya produktivnosti ta virtualna periferiya zvertayetsya bezposeredno do modulya CP ta modulya pam yati PosilannyaHow to write a computer Emulator 18 grudnya 2008 u Wayback Machine angl Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cyu stattyu treba vikifikuvati dlya vidpovidnosti standartam yakosti Vikipediyi Bud laska dopomozhit dodavannyam dorechnih vnutrishnih posilan abo vdoskonalennyam rozmitki statti Gruden 2008