Návrh procesoru: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
(Založena nová stránka: =Obecné skupiny instrukcí= * Aritmetické instrukce: ADD, SUB, MUL, DIV, MOD * Bitové: SET, CLR, NEG, TEST * Posuny: SHL, SHR, RR, RL * Řízení běhu: JMP, CALL, R…) |
Bez shrnutí editace |
||
(Není zobrazeno 7 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) |
|||
* Bitové: SET, CLR, NEG, TEST |
|||
** Rozdíl (SUB, SBC) |
|||
* Posuny: SHL, SHR, RR, RL |
|||
** Násobení (MUL) |
|||
⚫ | |||
** Dělení (DIV, MOD) |
|||
⚫ | |||
* Bitové |
|||
* Bajtové: COPY, XCHG, TEST |
|||
** 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) |
|||
⚫ | |||
** 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) |
|||
⚫ | |||
** 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) |
|||
=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)