29.3.2.3. Mikrokódové instrukce

29.3.2.3.1. Processor Control and MMU

Pokud mají bity operačního kódu instrukce hodnotu 111, jedná se o tzv mikrokódovou instrukci. Je to obdoba instrukce OPR monipočítače PDP-8.

Obrázek 29.4. Formát instrukce μcode SOC-8

 11  10   9   8   7   6   5   4   3   2   1   0
+---+---+---+---+---+---+---+---+---+---+---+---+
| 1   1   1 |   GROUP   |         μcode         |
+---+---+---+---+---+---+---+---+---+---+---+---+
| 1   1   1 | 0   0   0 |CLC|CPC|CLA|CPA|IAC|DAC|  Clear and Complement (IAC∨DAC)
+---+---+---+---+---+---+---+---+---+---+---+---+
| 1   1   1 | 0   0   1 |CLC|CPC|CLA|R/L|A/L|DBL|  Rotate
+---+---+---+---+---+---+---+---+---+---+-+-+---+
| 1   1   1 | 0   1   0 |   Condition   !?|?!DBL|  Skip Condition[,Dbl]
+---+---+---+---+---+---+---+---+---+---+-+-+---+
| 1   1   1 | 0   1   1 |  Source   |Destination|  Move Rs→Rd R one of A, B, P, L, PSW, S, T, …
+---+---+---+---+---+---+---+---+---+---+---+---+
Move L→PC ≡ Return

              Zatím nevyužité kódy
+---+---+---+---+---+---+---+---+---+---+---+---+
| 1   1   1 | 1   0   0 |        unused         |
+---+---+---+---+---+---+---+---+---+---+---+---+
| 1   1   1 | 1   0   1 |        unused         |
+---+---+---+---+---+---+---+---+---+---+---+---+

              Privilegované operace
+---+---+---+---+---+---+---+---+---+---+---+---+
| 1   1   1 | 1   1   0 |   DEVICE  | FUNCTION  |  IOT
+---+---+---+---+---+---+---+---+---+---+---+---+
| 1   1   1 | 1   1   1 | 0 |R/W|S/U| PAGE REG. |  MMU  (max 8 reg na režim)
+---+---+---+---+---+---+---+---+---+---+---+---+  Processor Control
| 1   1   1 | 1   1   1 | 1 |                   |  CPU - Enable/Disable part of the CPU
+---+---+---+---+---+---+---+---+---+---+---+---+

              Stack operations
+---+---+---+---+---+---+---+---+---+---+---+---+
|                       |           :P/P:A/L:S/T|
+---+---+---+---+---+---+---+---+---+---+---+---+

Obrázek 29.5. Volání podprogramu

        BAL PProg
        ...

PProg:  PUSH L,S
        ...
        POP  L,S
        Move L,PC ; Return

Přesně v intencích dělení instrukčního slova po trojcích bitů přiřadím první další skupině bitů význam skupiny (GROUP) tyto bity určují o jaký mikrokód se jedná. Máme následující skupiny:

skupinanázevvýznam
000Clear and ComplementMazání a nastavování bitů C a registru A. CLA, CLC, CMA, CMC, IAC, …
001ROTRotace a posuvy. LEFT/RIGHT, ARIT/LOGIC, DOUBLE, …. Instrukce: ROR, ROL, ASL, ASR, ….
010SkipSkupina podmíněných přeskoků. Bity mikrokódu specifikují podmíku přeskoku následující instrukce.
011MovePřesuny mezi registry. Je možno provést přesun mezi libovolnými dvěma registry. (A, B, P, PSW, L, S, T, U, …)
100  
101  
110  
111CPU+MMUŘízení procesoru a MMU

Tabulka 29.11. Některé instrukce SOC-8

codemnemopopis
7000NOPno operation
7001DACdecrement AC
7002IACincrement AC
7003 unused/prohibited
   
Licence Creative Commons
Elektronika a počítače, jejímž autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .