ARMulátor - ARMulator
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
PAŽE Simulátor instrukční sady, ARMulátor, je jedním z nástrojů pro vývoj softwaru poskytovaných obchodní jednotkou vývojových systémů společnosti ARM Limited všem uživatelům čipů založených na ARM. Za své dědictví vděčí časnému rozvoji pokynů stanovených Sophie Wilsonová. Část tohoto dědictví je stále viditelná při poskytování a Tube BBC Micro model v ARMulatoru.
Funkce
ARMulator je napsán v C a poskytuje více než jen simulátor instrukční sady, poskytuje virtuální platformu pro emulaci systému. Je připraven emulovat procesor ARM a určité ARM koprocesory. Pokud je procesor součástí vestavěný systém, pak mohou držitelé licence rozšířit ARMulator o přidání vlastních implementací dalšího hardwaru do modelu ARMulator. ARMulator poskytuje řadu služeb, které vám pomohou s časovým chováním a plánováním událostí, a dodává se s příklady mapovaných pamětí a rozšíření procesorů. Tímto způsobem mohou používat ARMulator k emulaci celého svého vestavěný systém. Klíčovým omezením pro ARMulator je, že může simulovat pouze jeden procesor ARM najednou, i když téměř všechna jádra ARM až do ARM11 jsou dostupné.
Výkon ARMulatoru je dobrý pro použitou technologii, je to asi 1000 instrukcí hostitele (PC) na instrukci ARM. To znamená, že emulované rychlosti 1 MHz byly u počítačů od poloviny do konce 90. let normální. Přesnost je také dobrá, i když je klasifikována jako přesný počet cyklů spíše než přesný cyklus, je to proto, že potrubí ARM není plně modelováno (ačkoli blokování registrů je). Rozlišení je na instrukci, v důsledku toho, když jsou jednotlivé kroky blokování registrů ignorovány a jsou vráceny různé počty cyklů, než kdyby byl program jednoduše spuštěn, bylo to nevyhnutelné.
Testování ARMulatoru bylo vždy časově náročnou výzvou, protože se používaly plné sady pro ověřování architektury ARM. S více než 1 milionem řádků kódu C to byl docela statný produkt.
ARMulator umožňuje ladění za běhu pomocí buď zbraně (ARM Symbolic Debugger), nebo některého z grafických debuggerů, které byly dodány v SDT a novějších produktech ADS. ARMulator trpěl tím, že byl neviditelným nástrojem s konfigurací textového souboru (armul.conf), který byl pro mnoho konfigurovatelný.
ARMulator II tvořil základ pro vysoce přesné modely cyklovatelného spoluvěření procesorů ARM, tyto modely CoV (viz Cycle Accurate Simulator ) byly základem mnoha systémů CoVerification pro procesory ARM.
Dostupnost
ARMulator byl během své životnosti k dispozici na velmi široké škále platforem, včetně Mac, RISC OS platformy, DEC Alpha, HP-UX, Solaris, SunOS, Okna, Linux. V polovině 90. let se zdráhal podporovat platformy Windows; před Windows 95 to byla relativně náročná platforma. Na konci 90. let a na začátku 2000 byla podpora odstraněna pro všechny kromě Solaris, Windows a Linux - i když nepochybně zůstává kódová základna plná pragmat, jako je #ifdef RISCOS.
ARMulator II byl dodáván v raných sadách nástrojů ARM, stejně jako novější SDT 2.5, SDT 2.5.1, ADS 1.0, ADS 1.1, ADS 1.2, RCVT 1.0 a také samostatně jako RVISS. Během vývoje CPU byly vyrobeny speciální modely, zejména ARM9E, ARM10 a ARM11, tyto modely pomohly s architektonickými rozhodnutími, jako jsou Thumb-2 a TrustZone.
ARMulator byl postupně vyřazován a byl nahrazen Just-in-time kompilace - vysoce výkonné modely CPU a systému na bázi (viz odkaz FastSim níže).
ARMulator Byl jsem vytvořen jako open source a je základem pro GNU verzi ARMulatoru. Klíčové rozdíly jsou v paměťovém rozhraní a službách, také dekódování instrukcí se provádí odlišně. GNU ARMulator je k dispozici jako součást GDB debugger v ARM GNU Tools.
ARMulator II tvořil základ pro vysoce přesné modely cyklicky vyvolané společné verifikace procesorů ARM, tyto modely CoV (viz Cycle Accurate Simulator) byly základem mnoha systémů CoVerification pro procesory ARM. Mentor Graphic's Seamless mají přední systém CoV, který podporuje mnoho jader ARM a mnoho dalších procesorů.
ARMulator II se dodává v raných sadách nástrojů ARM, stejně jako pozdější SDT 2.5, SDT 2.5.1, ADS 1.0, ADS 1.1, ADS 1.2, RVCT 1.0 a také samostatně jako RVISS.
Klíčovými přispěvateli do ARMulator II byli Mike Williams, Louise Jameson, Charles Lavender, Donald Sinclair, Chris Lamb a Rebecca Bryan (na ARMulatoru pracoval jako inženýr a později jako produktový manažer). Významně přispěl také Allan Skillman, který v té době pracoval na modelech ARM CoVerification.
Byl jsem klíčovým přispěvatelem do ARMulatoru Dave Jaggar.
Během vývoje CPU byly vyrobeny speciální modely, zejména ARM9E, ARM10 a ARM11, tyto modely pomáhaly s architektonickými rozhodnutími, jako jsou Thumb-2 a TrustZone.
Viz také
externí odkazy
- Oficiální informace ARMulatoru
- Domovská stránka uClinux GDB ARMulator
- Uživatelská příručka RVISS (ARMulator)
- Mentorova bezproblémová domovská stránka
- Domovská stránka společnosti Imperas: vývojář sady vestavěných softwarových nástrojů využívajících modely virtuální platformy jader ARM
- Dokumentace rychlých modelů ARM (FastSim)
- Emulátor Red Squirrel Acorn Archimedes
- Seznam open source ARM emulátorů
- GNU Debugger