Перайсці да зместу

Эмуляцыя

З Вікіпедыі, свабоднай энцыклапедыі
(Пасля перасылкі з Эмулятар)

Эмуля́цыя (англ.: emulation) — мадэляванне праграмнымі або апаратнымі сродкамі, альбо іх камбінацыяй, работы іншых праграм ці прылад.

  • Стварэнне новага мікрапрацэсара/мікракантролера. У гэтым выпадку з дапамогай эмулятара (праграмы або прылады) выконваюцца каманды гэтага працэсара.
  • Неабходнасць выканання праграмнага забеспячэння, напісанага для іншай прылады або аперацыйная сістэмы.
  • Тэсціраванне праграм, напісаных для разнастайных сістэм.

Апаратная і праграмна-апаратная эмуляцыя

[правіць | правіць зыходнік]

У выпадку праграмна-апаратнага комплексу эмулятарам з’яўляецца спецыяльная электронная прылада, выкананая ў выглядзе платы.[1]

Праграмная эмуляцыя

[правіць | правіць зыходнік]

Эмуляцыя дазваляе выконваць камп’ютарную праграму на платформе (камп’ютарнай архітэктуры і/або аперацыйнай сістэме), адрознай, ці ў некаторых выпадках ідэнтычнай той, для якой яна была напісана ў арыгінале. Эмуляцыяй таксама называюць сам працэс гэтага выканання. У адрозненні ад сімуляцыі, якая толькі паўтарае паводзіны праграмы, пры эмуляцыі ставіцца мэта дакладнага мадэлявання стану сістэмы, якую імітуюць, для выканання арыгінальная машыннага кода.

Пры ўжыванні моў высокага ўзроўню, часам у мэтах захоўвання хуткадзейнасці праграмы, замест эмуляцыі робяць партаванне праграм у новае асяроддзе. У гэтым выпадку ажыццяўляецца перапісванне нанова апаратна-залежных частак кода.

Адно з папулярных прымяненняў эмуляцыі — выкананне на персанальным камп’ютары гульняў, напісаных для гульнявых аўтаматаў ці гульнявых прыставак.

Тэарэтычна, згодна тэзісу Чорча—Цьюрынга, любое аперацыйнае асяроддзе можа быць эмулявана ў любым іншым асяроддзі. На практыцы, аднак, назіраецца шэраг цяжкасцяў; у прыватнасці, дакладныя паводзіны эмулюемай сістэмы часта не дакументаваны (ці ўтоены пад грыфам камерцыйнай тайны) і павінны быць даследаваны і вызначаны з дапамогай адваротнай распрацоўкі.

Досыць поўная эмуляцыя некаторых апаратных платформ патрабуе вялікай дакладнасці, да ўзроўню асобных тактавых цыклаў, недакументаваных асаблівасцяў і нават памылак рэалізацыі. Гэта асабліва важна для такіх мадэляў класічных хатніх машын, як Commodore 64, ZX Spectrum.

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

Звычайна, эмулятар складаецца з некалькіх модуляў, якія адказваюць за разнастайныя падсістэмы эмулюемага камп'ютара. Часцей усяго, эмулятар складаецца з:

Сістэмная шына звычайна не эмулюецца, па прычынах спрашчэння ці падвышэння хуткадзейнасці, і віртуальная перыферыя звяртаецца непасрэдна да модуля ЦП і модуля памяці.

Зноскі

  1. [http://www.chipnews.ru/html.cgi/arhiv/00_07/stat_13.htm Программно-аппаратный комплекс для отладки МП систем на основе микроконтроллеров семейства MC68HC11 фирмы MOTOROLA