Návrh procesoru: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
Bez shrnutí editace |
Bez shrnutí editace |
||
(Není zobrazeno 6 mezilehlých verzí od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
=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í= |
=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 17: | Řádek 44: | ||
** Rotace vpravo (RR) |
** Rotace vpravo (RR) |
||
* Řízení běhu |
* Řízení běhu |
||
** Skok (JP, JMP) |
** Skok (JP, JMP, JR, DJNZ) |
||
** Volání ruitny (CALL) |
** Volání ruitny (CALL) |
||
** Návrat z rutiny (RET) |
** Návrat z rutiny (RET, RETI) |
||
** Přerušení (INT) |
** Přerušení (INT, RST) |
||
** Zastavení běhu (HLT, HALT, STOP) |
|||
* Bitové logické |
* Bitové logické |
||
** Logický součin (AND) |
** Logický součin (AND, ANL) |
||
** Logická součet (OR) |
** Logická součet (OR, ORL) |
||
** Logická nonekvivalence (XOR) |
** Logická nonekvivalence (XOR, XRL) |
||
** Převrácení (NOT) |
** Převrácení (NOT) |
||
* Zásobníkové |
* Zásobníkové |
||
** Vložení na vrchol (PUSH) |
** Vložení na vrchol (PUSH) |
||
** Vytažení z vrcholu (POP) |
** Vytažení z vrcholu (POP) |
||
* Vstupně výstupní |
|||
** Zápis na výstup (OUT) |
|||
** Čtení ze vstupu (IN, INP) |
|||
* Bajtové |
* Bajtové |
||
** Kopie (LD, MOV, COPY) |
** Kopie (LD, MOV, COPY) |
||
** 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é |
|||
* 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) |
|||
=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] |
|||
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)