Эмуляцыя
Эмуля́цыя (англ.: emulation) — мадэляванне праграмнымі або апаратнымі сродкамі, альбо іх камбінацыяй, работы іншых праграм ці прылад.
Мэты
[правіць | правіць зыходнік]- Стварэнне новага мікрапрацэсара/мікракантролера. У гэтым выпадку з дапамогай эмулятара (праграмы або прылады) выконваюцца каманды гэтага працэсара.
- Неабходнасць выканання праграмнага забеспячэння, напісанага для іншай прылады або аперацыйная сістэмы.
- Тэсціраванне праграм, напісаных для разнастайных сістэм.
Апаратная і праграмна-апаратная эмуляцыя
[правіць | правіць зыходнік]У выпадку праграмна-апаратнага комплексу эмулятарам з’яўляецца спецыяльная электронная прылада, выкананая ў выглядзе платы.[1]
Праграмная эмуляцыя
[правіць | правіць зыходнік]Эмуляцыя дазваляе выконваць камп’ютарную праграму на платформе (камп’ютарнай архітэктуры і/або аперацыйнай сістэме), адрознай, ці ў некаторых выпадках ідэнтычнай той, для якой яна была напісана ў арыгінале. Эмуляцыяй таксама называюць сам працэс гэтага выканання. У адрозненні ад сімуляцыі, якая толькі паўтарае паводзіны праграмы, пры эмуляцыі ставіцца мэта дакладнага мадэлявання стану сістэмы, якую імітуюць, для выканання арыгінальная машыннага кода.
Пры ўжыванні моў высокага ўзроўню, часам у мэтах захоўвання хуткадзейнасці праграмы, замест эмуляцыі робяць партаванне праграм у новае асяроддзе. У гэтым выпадку ажыццяўляецца перапісванне нанова апаратна-залежных частак кода.
Адно з папулярных прымяненняў эмуляцыі — выкананне на персанальным камп’ютары гульняў, напісаных для гульнявых аўтаматаў ці гульнявых прыставак.
Тэарэтычна, згодна тэзісу Чорча—Цьюрынга, любое аперацыйнае асяроддзе можа быць эмулявана ў любым іншым асяроддзі. На практыцы, аднак, назіраецца шэраг цяжкасцяў; у прыватнасці, дакладныя паводзіны эмулюемай сістэмы часта не дакументаваны (ці ўтоены пад грыфам камерцыйнай тайны) і павінны быць даследаваны і вызначаны з дапамогай адваротнай распрацоўкі.
Досыць поўная эмуляцыя некаторых апаратных платформ патрабуе вялікай дакладнасці, да ўзроўню асобных тактавых цыклаў, недакументаваных асаблівасцяў і нават памылак рэалізацыі. Гэта асабліва важна для такіх мадэляў класічных хатніх машын, як Commodore 64, ZX Spectrum.
На некаторых іншых платформах даволі мала ўжываецца прамы доступ да абсталявання. У гэтым выпадку аказваецца дастатковым забяспечыць некаторы ўзровень сумяшчальнасці, які б выконваў трансляцыю сістэмных выклікаў эмулюемай сістэмы ў выклікі мэтавай сістэмы.
Звычайна, эмулятар складаецца з некалькіх модуляў, якія адказваюць за разнастайныя падсістэмы эмулюемага камп'ютара. Часцей усяго, эмулятар складаецца з:
- эмулятара або сімулятара цэнтральнага працэсара;
- модуля падсістэмы памяці, што эмулюе АЗП і ПЗП;
- модуля або модуляў эмуляцыі разнастайных прылад ўводу-вываду.
Сістэмная шына звычайна не эмулюецца, па прычынах спрашчэння ці падвышэння хуткадзейнасці, і віртуальная перыферыя звяртаецца непасрэдна да модуля ЦП і модуля памяці.
Гл. таксама
[правіць | правіць зыходнік]Зноскі
- ↑ [http://www.chipnews.ru/html.cgi/arhiv/00_07/stat_13.htm Программно-аппаратный комплекс для отладки МП систем на основе микроконтроллеров семейства MC68HC11 фирмы MOTOROLA