Návrh procesoru: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
Bez shrnutí editace |
Bez shrnutí editace |
||
(Nejsou zobrazeny 3 mezilehlé verze od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
=Paradigma= |
=Paradigma= |
||
* absolutní ~ relativní |
* Adresování: absolutní ~ relativní |
||
* statické ~ dynamické |
* statické ~ dynamické |
||
* omezené ~ neomezené |
* Datové rozsahy: omezené ~ neomezené |
||
* jednoúrovňové ~ víceúrovňové |
* jednoúrovňové ~ víceúrovňové |
||
* Operace: atomické ~ neatomické |
|||
* Délka instrukce: jedna pevná ~ různá |
|||
* Operace: skalární ~ vektorové |
|||
* Typy parametrů instrukcí |
* Typy parametrů instrukcí |
||
** Registry |
** Registry |
||
Řádek 16: | Řádek 19: | ||
** Registry |
** Registry |
||
** Zásobník |
** Zásobník |
||
=Datové typy= |
|||
* Bit |
|||
* Přirozené číslo (UINT) |
|||
* Celé číslo (INT) |
|||
* Desetinné číslo (FLOAT) |
|||
=Obecné skupiny instrukcí= |
=Obecné skupiny instrukcí= |
||
* Aritmetické instrukce |
* Aritmetické instrukce |
||
** |
** Součet (ADD, ADC) |
||
** |
** Rozdíl (SUB, SBC) |
||
** Násobení (MUL) |
** Násobení (MUL) |
||
** Dělení (DIV, MOD) |
** Dělení (DIV, MOD) |
||
Řádek 55: | Řádek 64: | ||
** Prohození (XCH, XCHG) |
** Prohození (XCH, XCHG) |
||
** Porovnání (CP, CMP, TST, TEST) |
** Porovnání (CP, CMP, TST, TEST) |
||
** Převrácení pořadí bajtů (SWAP) |
|||
* Obecné |
* Obecné |
||
** Žádná operace (NOP) |
** Žádná operace (NOP) |
||
** Konec programu (HALT) |
|||
** Prefixové |
** Prefixové |
||
* Speciální |
* Speciální |
||
Řádek 62: | Řádek 73: | ||
** Zakázání globálního přerušení (DI) |
** Zakázání globálního přerušení (DI) |
||
** Výměna registrových bank (EXX) |
** Výměna registrových bank (EXX) |
||
=Existující návrhy= |
|||
* [https://pdfs.semanticscholar.org/5d36/cef65e012211005fef8dec22c5f60c8295e8.pdf Introduction to the CRISP Instruction Set Architecture] |
|||
* [https://github.com/jbush001/NyuziProcessor/wiki/Instruction-Set Nyuzi Processor Instruction Set] |
|||
* [https://en.wikipedia.org/wiki/CHIP-8 CHIP-8] |
|||
[[Kategorie:Programování]] |
[[Kategorie:Programování]] |
Aktuální verze z 29. 8. 2018, 09:18
Paradigma
- Adresování: absolutní ~ relativní
- statické ~ dynamické
- Datové rozsahy: omezené ~ neomezené
- jednoúrovňové ~ víceúrovňové
- Operace: atomické ~ neatomické
- Délka instrukce: jedna pevná ~ různá
- Operace: skalární ~ vektorové
- Typy parametrů instrukcí
- Registry
- Akumulátor
- Zásobník
- Parametry
- Paměťové oblasti
- Operační paměť RAM
- Paměť programu
- Periferie I/O
- Registry
- Zásobník
Datové typy
- Bit
- Přirozené číslo (UINT)
- Celé číslo (INT)
- Desetinné číslo (FLOAT)
Obecné skupiny instrukcí
- Aritmetické instrukce
- Součet (ADD, ADC)
- Rozdíl (SUB, SBC)
- Násobení (MUL)
- Dělení (DIV, MOD)
- Bitové
- Nastavení (SET)
- Nulování (CLR, RES)
- Převrácení (NEG, INV)
- Testování (TEST)
- Posuny
- Posun vlevo (SHL)
- Posun vpravo (SHR)
- Rotace vlevo (RL)
- Rotace vpravo (RR)
- Řízení běhu
- Skok (JP, JMP, JR, DJNZ)
- Volání ruitny (CALL)
- Návrat z rutiny (RET, RETI)
- Přerušení (INT, RST)
- Zastavení běhu (HLT, HALT, STOP)
- Bitové logické
- Logický součin (AND, ANL)
- Logická součet (OR, ORL)
- Logická nonekvivalence (XOR, XRL)
- Převrácení (NOT)
- Zásobníkové
- Vložení na vrchol (PUSH)
- Vytažení z vrcholu (POP)
- Vstupně výstupní
- Zápis na výstup (OUT)
- Čtení ze vstupu (IN, INP)
- Bajtové
- Kopie (LD, MOV, COPY)
- Prohození (XCH, XCHG)
- Porovnání (CP, CMP, TST, TEST)
- Převrácení pořadí bajtů (SWAP)
- Obecné
- Žádná operace (NOP)
- Konec programu (HALT)
- Prefixové
- Speciální
- Povolení globálního přerušení (EI)
- Zakázání globálního přerušení (DI)
- Výměna registrových bank (EXX)