dbo:abstract
|
- Az ARMulator egy ARM , egy szoftverfejlesztĹ‘ eszköz, melyet az fejlesztĹ‘rendszerek szervezeti egysĂ©ge biztosĂtott az ARM-alapĂş csipek felhasználĂłi számára. TörtĂ©nete az ARM utasĂtáskĂ©szlet korai, általi fejlesztĂ©sĂ©nek idejĂ©ben kezdĹ‘dött. Ennek az öröksĂ©gnek a nyomait Ĺ‘rzi pl. a modell támogatása a programban. Az ARMulator C nyelven kĂ©szĂĽlt Ă©s több, mint egyszerű utasĂtáskĂ©szlet-szimulátor, gyakorlatilag egy teljes rendszereket emulálĂł virtuális platform. Alaphelyzetben kĂ©pes ARM processzorok Ă©s bizonyos ARM emulálására. Ha a processzor egy beágyazott rendszer rĂ©sze, akkor a licencelĹ‘k kiterjeszthetik az ARMulator-t, hozzáadva a kiegĂ©szĂtĹ‘ hardvereket emulálĂł saját megvalĂłsĂtásukat az ARMulator modellhez. Az ARMulator számos szolgáltatással rendelkezik az idĹ‘-alapĂş viselkedĂ©s Ă©s az esemĂ©nyek ĂĽtemezĂ©sĂ©nek pontos kezelĂ©se cĂ©ljára, Ă©s memĂłriába lekĂ©pzett Ă©s koprocesszoros bĹ‘vĂtĂ©sek mintáival szállĂtják (ezek a minták Ă©s pĂ©ldák az alapkĂ©szlet rĂ©szei). Ezáltal a felhasználĂłk a teljes beágyazott rendszerĂĽk emulálására használhatják. Az ARMulator egy alapvetĹ‘ korlátja, hogy egyszerre csak egyetlen ARM CPU-t kĂ©pes szimulálni, bár szinte az összes ARM mag az ARM11-ig bezárĂłlag rendelkezĂ©sre áll. Az ARMulator teljesĂtmĂ©nye jĂł a felhasznált technolĂłgiához kĂ©pest, kb. 1000 gazdagĂ©p- (PC) utasĂtás esik egy ARM utasĂtásra. Ez azt jelenti, hogy az 1 MHz-es emulált sebessĂ©g teljesen rendjĂ©n valĂł a 90-es Ă©vek vĂ©ge táján megjelent PC-k sebessĂ©gĂ©hez kĂ©pest. A program pontossága szintĂ©n igen jĂł, ez azonban inkább a ciklusszám-pontosságnak köszönhetĹ‘, mint a ciklusidĹ‘zĂtĂ©s pontosságának, mivel az ARM futĂłszalag(ok) nem lett(ek) tökĂ©letesen lemodellezve – bár a fokozatokat elválasztĂł kapcsolĂłregiszterek pĂ©ldául igen. Az emulátor felbontásának alsĂł határa egy utasĂtás szintje, ami annak a következmĂ©nye, hogy az egyutasĂtásos lĂ©ptetĂ©s során a program elhanyagolja az elválasztĂłregiszterek hatását Ă©s más ciklusszámokat használ, mint a folyamatos programfuttatásnál – ilyen feltĂ©telek mellett ez elkerĂĽlhetetlen. Az ARMulatorral valĂł tesztelĂ©s idĹ‘igĂ©nyes feladat, a teljes ARM architektĂşrát tekintve. Maga az program, több, mint egymilliĂł soros mĂ©retĂ©vel (C kĂłd) – nem a legkisebbek közĂ© tartozik. Az ARMulator lehetĹ‘vĂ© teszi a futásidejű hibakeresĂ©st, akár az armsd (ARM Symbolic Debugger), akár az SDT (ARM Software Development Toolkit, ARM szoftverfejlesztĹ‘ eszközkĂ©szlet), vagy a kĂ©sĹ‘bbi ADS (ARM Developer Suite, ARM fejlesztĹ‘kĂ©szlet) termĂ©kek grafikus hibakeresĹ‘ivel. Az ARMulator egyik gyengĂ©je az, hogy egy szöveges konfiguráciĂłs állománnyal (armul.conf) konfigurálhatĂł szinte láthatatlan eszköz, amelynek beállĂtása sokak számára tĂşl bonyolult, a használatot már nem is emlĂtve. Az ARMulator, Ă©letciklusa alatt, igen sok platformon elĂ©rhetĹ‘ volt, Ăgy Mac, kĂĽlönfĂ©le platformok, DEC Alpha, , Solaris, SunOS, Windows, Linux alatt is. A 90-es Ă©vek közepĂ©n bizonyos idegenkedĂ©s volt megfigyelhetĹ‘ a Windows platformok támogatásával szemben, Ă©s a Windows 95 elĹ‘tti rendszerek is viszonylag nagy kihĂvást jelentĹ‘ platformok voltak. A 90-es Ă©vek vĂ©ge Ă©s a 2000-es Ă©vek eleje között az operáciĂłs rendszerek többsĂ©gĂ©nek támogatását megszĂĽntettĂ©k, kivĂ©ve a Solaris, Windows Ă©s Linux rendszereket – bár a programkĂłd továbbra is teli volt szemetelve használaton kĂvĂĽli (C nyelvű) pragma utasĂtásokkal, mint pĂ©ldául #ifdef RISCOS Ă©s hasonlĂłk. Az ARMulator II kĂ©pezte az alapját az ARM processzorok nagy cikluspontossággal hĂvhatĂł co-verification modelljeinek, ezek a CoV modellek (ld. ) szolgáltak alapul több koverifikáciĂłs rendszernek az ARM processzorok számára. PĂ©ldásul a (az elektronikai tervezĂ©s automatizálásával foglalkozĂł cĂ©g) Seamless rendszere egy piacvezetĹ‘ CoVs (felĂĽlvizsgálati rendszer), amely több ARM magot Ă©s sok más processzort is támogat. Az ARMulator II-t a korai ARM eszközkĂ©szletekkel egyĂĽtt szállĂtották, valamint a kĂ©sĹ‘bbi SDT 2.5, SDT 2.5.1, ADS 1.0, ADS 1.1, ADS 1.2, RCVT 1.0 rendszerekkel Ă©s önmagában, RVISS nĂ©ven. Az ARMulator II szoftver jelentĹ‘sebb alkotĂłi Mike Williams, Louise Jameson, Charles Lavender, Donald Sinclair, Chris Lamb Ă©s Rebecca Bryan voltak, Bryan mĂ©rnökkĂ©nt Ă©s termĂ©kigazgatĂłkĂ©nt is dolgozott a szoftveren. Allan Skillman, aki abban az idĹ‘ben az ARM koverifikáciĂłs modelljein dolgozott, szintĂ©n jelentĹ‘sen hozzájárult a szoftverhez. Az ARMulator I szoftverben közreműködött Dave Jaggar. A processzorok fejlesztĂ©se során kĂĽlönleges modelleket is kĂ©szĂtettek, ezek között kĂĽlönösen Ă©rdekesek az , ARM10 Ă©s ARM11 modellek, ugyanis ezek jelentĹ‘s architekturális döntĂ©sekhez vezettek, mint amilyen a Thumb-2 Ă©s a TrustZone. Az ARMulatort fokozatosan megszĂĽntettĂ©k Ă©s felváltották a futásidejű fordĂtáson alapulĂł nagyteljesĂtmĂ©nyű CPU- Ă©s rendszermodellek (ld. pl.: FastSim, lent). Az ARMulator I kĂłdját nyĂlt forráskĂłd rendszerben közzĂ©tettĂ©k, Ă©s ez szolgált alapul az ARMulator GNU verziĂłjának. A jelentĹ‘sebb kĂĽlönbsĂ©gek a memĂłriainterfĂ©sz Ă©s a szolgáltatások terĂ©n találhatĂłk, Ă©s az utasĂtásdekĂłdolás is máskĂ©nt törtĂ©nik. A GNU ARMulator elĂ©rhetĹ‘ a debugger rĂ©szekĂ©nt, az ARM GNU Tools eszközkĂ©szletben. (hu)
- Az ARMulator egy ARM , egy szoftverfejlesztĹ‘ eszköz, melyet az fejlesztĹ‘rendszerek szervezeti egysĂ©ge biztosĂtott az ARM-alapĂş csipek felhasználĂłi számára. TörtĂ©nete az ARM utasĂtáskĂ©szlet korai, általi fejlesztĂ©sĂ©nek idejĂ©ben kezdĹ‘dött. Ennek az öröksĂ©gnek a nyomait Ĺ‘rzi pl. a modell támogatása a programban. Az ARMulator C nyelven kĂ©szĂĽlt Ă©s több, mint egyszerű utasĂtáskĂ©szlet-szimulátor, gyakorlatilag egy teljes rendszereket emulálĂł virtuális platform. Alaphelyzetben kĂ©pes ARM processzorok Ă©s bizonyos ARM emulálására. Ha a processzor egy beágyazott rendszer rĂ©sze, akkor a licencelĹ‘k kiterjeszthetik az ARMulator-t, hozzáadva a kiegĂ©szĂtĹ‘ hardvereket emulálĂł saját megvalĂłsĂtásukat az ARMulator modellhez. Az ARMulator számos szolgáltatással rendelkezik az idĹ‘-alapĂş viselkedĂ©s Ă©s az esemĂ©nyek ĂĽtemezĂ©sĂ©nek pontos kezelĂ©se cĂ©ljára, Ă©s memĂłriába lekĂ©pzett Ă©s koprocesszoros bĹ‘vĂtĂ©sek mintáival szállĂtják (ezek a minták Ă©s pĂ©ldák az alapkĂ©szlet rĂ©szei). Ezáltal a felhasználĂłk a teljes beágyazott rendszerĂĽk emulálására használhatják. Az ARMulator egy alapvetĹ‘ korlátja, hogy egyszerre csak egyetlen ARM CPU-t kĂ©pes szimulálni, bár szinte az összes ARM mag az ARM11-ig bezárĂłlag rendelkezĂ©sre áll. Az ARMulator teljesĂtmĂ©nye jĂł a felhasznált technolĂłgiához kĂ©pest, kb. 1000 gazdagĂ©p- (PC) utasĂtás esik egy ARM utasĂtásra. Ez azt jelenti, hogy az 1 MHz-es emulált sebessĂ©g teljesen rendjĂ©n valĂł a 90-es Ă©vek vĂ©ge táján megjelent PC-k sebessĂ©gĂ©hez kĂ©pest. A program pontossága szintĂ©n igen jĂł, ez azonban inkább a ciklusszám-pontosságnak köszönhetĹ‘, mint a ciklusidĹ‘zĂtĂ©s pontosságának, mivel az ARM futĂłszalag(ok) nem lett(ek) tökĂ©letesen lemodellezve – bár a fokozatokat elválasztĂł kapcsolĂłregiszterek pĂ©ldául igen. Az emulátor felbontásának alsĂł határa egy utasĂtás szintje, ami annak a következmĂ©nye, hogy az egyutasĂtásos lĂ©ptetĂ©s során a program elhanyagolja az elválasztĂłregiszterek hatását Ă©s más ciklusszámokat használ, mint a folyamatos programfuttatásnál – ilyen feltĂ©telek mellett ez elkerĂĽlhetetlen. Az ARMulatorral valĂł tesztelĂ©s idĹ‘igĂ©nyes feladat, a teljes ARM architektĂşrát tekintve. Maga az program, több, mint egymilliĂł soros mĂ©retĂ©vel (C kĂłd) – nem a legkisebbek közĂ© tartozik. Az ARMulator lehetĹ‘vĂ© teszi a futásidejű hibakeresĂ©st, akár az armsd (ARM Symbolic Debugger), akár az SDT (ARM Software Development Toolkit, ARM szoftverfejlesztĹ‘ eszközkĂ©szlet), vagy a kĂ©sĹ‘bbi ADS (ARM Developer Suite, ARM fejlesztĹ‘kĂ©szlet) termĂ©kek grafikus hibakeresĹ‘ivel. Az ARMulator egyik gyengĂ©je az, hogy egy szöveges konfiguráciĂłs állománnyal (armul.conf) konfigurálhatĂł szinte láthatatlan eszköz, amelynek beállĂtása sokak számára tĂşl bonyolult, a használatot már nem is emlĂtve. Az ARMulator, Ă©letciklusa alatt, igen sok platformon elĂ©rhetĹ‘ volt, Ăgy Mac, kĂĽlönfĂ©le platformok, DEC Alpha, , Solaris, SunOS, Windows, Linux alatt is. A 90-es Ă©vek közepĂ©n bizonyos idegenkedĂ©s volt megfigyelhetĹ‘ a Windows platformok támogatásával szemben, Ă©s a Windows 95 elĹ‘tti rendszerek is viszonylag nagy kihĂvást jelentĹ‘ platformok voltak. A 90-es Ă©vek vĂ©ge Ă©s a 2000-es Ă©vek eleje között az operáciĂłs rendszerek többsĂ©gĂ©nek támogatását megszĂĽntettĂ©k, kivĂ©ve a Solaris, Windows Ă©s Linux rendszereket – bár a programkĂłd továbbra is teli volt szemetelve használaton kĂvĂĽli (C nyelvű) pragma utasĂtásokkal, mint pĂ©ldául #ifdef RISCOS Ă©s hasonlĂłk. Az ARMulator II kĂ©pezte az alapját az ARM processzorok nagy cikluspontossággal hĂvhatĂł co-verification modelljeinek, ezek a CoV modellek (ld. ) szolgáltak alapul több koverifikáciĂłs rendszernek az ARM processzorok számára. PĂ©ldásul a (az elektronikai tervezĂ©s automatizálásával foglalkozĂł cĂ©g) Seamless rendszere egy piacvezetĹ‘ CoVs (felĂĽlvizsgálati rendszer), amely több ARM magot Ă©s sok más processzort is támogat. Az ARMulator II-t a korai ARM eszközkĂ©szletekkel egyĂĽtt szállĂtották, valamint a kĂ©sĹ‘bbi SDT 2.5, SDT 2.5.1, ADS 1.0, ADS 1.1, ADS 1.2, RCVT 1.0 rendszerekkel Ă©s önmagában, RVISS nĂ©ven. Az ARMulator II szoftver jelentĹ‘sebb alkotĂłi Mike Williams, Louise Jameson, Charles Lavender, Donald Sinclair, Chris Lamb Ă©s Rebecca Bryan voltak, Bryan mĂ©rnökkĂ©nt Ă©s termĂ©kigazgatĂłkĂ©nt is dolgozott a szoftveren. Allan Skillman, aki abban az idĹ‘ben az ARM koverifikáciĂłs modelljein dolgozott, szintĂ©n jelentĹ‘sen hozzájárult a szoftverhez. Az ARMulator I szoftverben közreműködött Dave Jaggar. A processzorok fejlesztĂ©se során kĂĽlönleges modelleket is kĂ©szĂtettek, ezek között kĂĽlönösen Ă©rdekesek az , ARM10 Ă©s ARM11 modellek, ugyanis ezek jelentĹ‘s architekturális döntĂ©sekhez vezettek, mint amilyen a Thumb-2 Ă©s a TrustZone. Az ARMulatort fokozatosan megszĂĽntettĂ©k Ă©s felváltották a futásidejű fordĂtáson alapulĂł nagyteljesĂtmĂ©nyű CPU- Ă©s rendszermodellek (ld. pl.: FastSim, lent). Az ARMulator I kĂłdját nyĂlt forráskĂłd rendszerben közzĂ©tettĂ©k, Ă©s ez szolgált alapul az ARMulator GNU verziĂłjának. A jelentĹ‘sebb kĂĽlönbsĂ©gek a memĂłriainterfĂ©sz Ă©s a szolgáltatások terĂ©n találhatĂłk, Ă©s az utasĂtásdekĂłdolás is máskĂ©nt törtĂ©nik. A GNU ARMulator elĂ©rhetĹ‘ a debugger rĂ©szekĂ©nt, az ARM GNU Tools eszközkĂ©szletben. (hu)
|