Návrh procesoru: Porovnání verzí

Z ZděchovNET
Skočit na navigaci Skočit na vyhledávání
Bez shrnutí editace
Bez shrnutí editace
 
(Není zobrazeno 5 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
** Přičtení (ADD, ADC)
** Součet (ADD, ADC)
** Odečtení (SUB, SBC)
** Rozdíl (SUB, SBC)
** Násobení (MUL)
** Násobení (MUL)
** Dělení (DIV, MOD)
** Dělení (DIV, MOD)
Řádek 37: Řá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 44: Řá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)

Existující návrhy