Das Mikroprogramm

LeitfrageWoher weiß die CPU, welche Mikrobefehle zu einem Befehl gehören?
0 Takte · 0 Befehle

Speicher RAM

1000 Zellen · 000–999
ab 000 01.010 TAKE 010
001 02.011 ADD 011
002 04.012 SAVE 012
003 10.000 HLT 000
004 00.000
005 00.000
006 00.000
007 00.000
008 00.000
009 00.000
010 00.007 = 7 a
011 00.003 = 3 b
012 00.000 Ergebnis
013 00.000
014 00.000
015 00.000
016 00.000
017 00.000
018 00.000
Adressbus ab
000

Welche Zelle?

Datenbus db
00000

Welcher Wert?

Rechenwerk ALU

Akkumulator acc
00000
=0?

Steuerwerk CU

als Nächstes: pc→ab
Befehlsregister ins
Opcode00 . Adresse000
kein Befehl
Mikroprogrammzähler mc
000 FETCH · Schritt 0
Mikrocode – die „Rezepte“ der Befehle
000 FETCH
0pc→ab1ram→db2db→ins3ins→mc
010 TAKE Opcode 01
0ins→ab1ram→db2db→acc3pc++4mc:=0
020 ADD Opcode 02
0ins→ab1ram→db2plus3pc++4mc:=0
030 SUB Opcode 03
0ins→ab1ram→db2minus3pc++4mc:=0
040 SAVE Opcode 04
0ins→ab1acc→db2db→ram3pc++4mc:=0
050 JMP Opcode 05
0ins→pc1mc:=0
060 TST Opcode 06
0ins→ab1ram→db2db→acc3=0:pc++4pc++5mc:=0
070 INC Opcode 07
0ins→ab1ram→db2db→acc3acc++4acc→db5db→ram6pc++7mc:=0
080 DEC Opcode 08
0ins→ab1ram→db2db→acc3acc--4acc→db5db→ram6pc++7mc:=0
090 NULL Opcode 09
0ins→ab1acc:=02acc→db3db→ram4pc++5mc:=0
100 HLT Opcode 10
0stopp1mc:=0
Protokoll – was ist gerade passiert? (0)
  1. Noch nichts passiert.