Эмуляцыя

З пляцоўкі Вікіпедыя.
Перайсці да: рух, знайсці
Файл:DOSBox Screenshot.png
DOSBox эмулюе работу DOS
Файл:Emulation MSX on MESS.png
Эмуляцыя камп'ютара стандарту MSX на эмулятары MESS

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

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

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

Апаратная і праграмна-апаратная эмуляцыя[правіць | правіць зыходнік]

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

Праграмная эмуляцыя[правіць | правіць зыходнік]

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

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

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

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

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

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

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

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

Гл. таксама[правіць | правіць зыходнік]

Зноскі

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

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