CPU Sim - CPU Sim - Wikipedia
Původní autoři | Dale Skrien[1] |
---|---|
Stabilní uvolnění | 4.0.11 / srpen 2017 |
Napsáno | Jáva |
Operační systém | MS-Windows, Linux, Mac (Cross-platform ) |
Typ | IDE |
Licence | GPLv3 + |
webová stránka | www |
CPU Sim je vývojové prostředí softwaru pro simulaci jednoduchých počítačů. Byl vyvinut Dale Skrienem, aby studentům pomohl porozumět počítačové architektury. S tím aplikace uživatel je schopen simulovat nové nebo stávající jednoduché CPU. Uživatelé mohou vytvářet nové virtuální CPU s vlastními jazyk stroje instrukce, které jsou implementovány posloupností mikro instrukcí. CPU Sim umožňuje uživateli upravovat a spouštět programy v assembleru pro simulovaný CPU.
CPU Sim byl naprogramován pomocí Jáva Houpačka balík. To znamená, že je nezávislý na platformě (běží na každé platformě, která má Virtuální stroj Java nainstalován).
Ukázkový procesor Wombat 1
Ukázkový počítačový systém, Wombat 1, je dodáván s CPU Sim. Má následující registry:
- ks (počítadlo programů );
- acc (akumulátor );
- ir (registr instrukcí );
- mar (registr adresy paměti );
- mdr (paměťový datový registr );
- postavení.
The montážní jazyk počítače Wombat 1 se skládá z 12 pokynů. Každá instrukce je uložena na 16 bitech, první 4 jsou Operační kód a dalších 12 je pole adresy.
Mnemotechnická pomůcka | Provozní kód | Délka pole | Význam |
---|---|---|---|
stop | 0 | 16 | zastaví provádění programu |
zatížení | 1 | 4 12 | přenáší data z paměti do akumulátoru |
ukládat | 2 | 4 12 | přenáší data z akumulátoru do paměti |
číst | 3 | 4 (12) | vloží data z IO konzoly do akumulátoru |
psát si | 4 | 4 (12) | odešle do IO konzoly data z akumulátoru |
přidat | 5 | 4 12 | přidat data z paměti do akumulátoru a výsledek se poté uloží do akumulátoru |
odčítat | 6 | 4 12 | odečte data z paměti z akumulátoru a výsledek se poté uloží do akumulátoru |
násobit | 7 | 4 12 | vynásobí data z paměti akumulátorem a výsledek se poté uloží do akumulátoru |
rozdělit | 8 | 4 12 | rozdělí data z paměti do akumulátoru a výsledek se poté uloží do akumulátoru |
jmpz | 9 | 4 12 | přeskočit na adresu, pokud je akumulátor 0 |
jmpn | A | 4 12 | přeskočit na adresu, pokud je akumulátor záporný |
skok | B | 4 12 | nepodmíněný skok na adresu |
Funkce
CPU Sim má následující funkce:
- umožňuje vytvoření CPU (virtuálního), včetně registrů, RAM, mikroinstrukcí a strojových instrukcí;
- umožňuje vytváření, úpravy a provádění programů montážního jazyka pro simulovaný CPU;
- umožňuje krok vpřed a vzad prostřednictvím provádění programů v jazycích sestavení.
Ukázkový program pro procesor Wombat 1
Tento program čte celá čísla, dokud není načteno záporné celé číslo. Poté vydá součet všech kladných celých čísel.
Start: read // read n -> acc jmpn Done // jump to Done if acc <0. add sum // add sum to the acc store sum // store the new sum jump Start // go back & read in next numberDone : načítat součet // načíst konečný součet zapsat // zapsat konečný součet zastavit // stops: .data 2 0 // 2bajtové umístění, kde je součet uložen
Někdy se také používá následující úprava programu:
Start: read // read n -> acc jmpz Done // jump to Done if nacc is 0. add sum // add sum to the acc store sum // store the new sum jump Start // go back & read in next numberDone : načítat součet // načíst konečný součet zapsat // zapsat konečný součet zastavit // stops: .data 2 0 // 2bajtové umístění, kde je součet uložen
tento může použít záporný vstup k odečtení nebo 0 k přerušení smyčky.
Viz také
- Porovnání softwaru EDA
- Seznam bezplatných simulátorů obvodů elektroniky
- Simulátor počítačové architektury