MPC-1 (MicroProCessor -1) PC (Program Counter) x Telt van 0000

advertisement
MPC-1 (MicroProCessor -1)
PC
(Program Counter)
x Telt van 0000 tot 1111, dus hexadecimaal van 0 tot F.
x Wordt vóór iedere computerrun op 0000 gereset.
x Bevat bij het begin van iedere ophaalcyclus het adres van de huidige instructie
MAR (Memory Address Register)
x Ontvangt binaire adressen van Program Counter
x Leest instructies (ROM woorden) van die adressen
PROM (Programmable Read-Only Memory)
x Bevat ROM woorden van 8 bytes
IR
(Instruction Register)
x Splitst de ROM woorden:
- Most Significant Bits: opcode van 4 bytes
- Least Significant Bits: adres van 4 bytes
CON (Control Unit) (!!!)
x Reset IR en PC aan het begin van een computerrun met CLR-signaal
x Stuurt klokimpulsen naar alle registers zodat alles synchroon loopt
x Bepaalt uit de opcode hoe alle apparaten zich moeten gedragen
x Het CON uitgangssignaal is een 12 bit stuurwoord met instructies voor alle
registers: CON = CPEPLMER LIEILAEA SUEULBLO
x Dit bepaalt hoe de registers op de volgende positieve klokflank zullen reageren
Zo betekent bijvoorbeeld CP hoog dat de programmateller met één wordt vermeerderd,
EP en LM hoog wil zeggen dat de inhoud van de PC in het MAR wordt geladen, enz.
CON dirigeert al de diverse onderdelen van de MPC-1 computer
A
x
(Accumulator)
Slaat tussenliggende waarde op gedurende de computerrun
ALU
x
(Arithmetic-Logic unit)
Bevat een 2-complement opteller/ aftrekker:
- Als het signaal op de aftrekingang (Su) laag is, maakt de ALU de som met B
- Wanneer Su hoog is, krijgt u het algebraïsch verschil met B.
B
(B-register)
Tijdelijke opslagplaats voor het getal dat bij A moet opgeteld of afgetrokken
worden
O
D
x
x
(Output register)
Uitvoer van de uitkomstwaarde naar de buitenwereld (D)
x
(Binary display)
Toont de uitkomstwaarde in 8 LEDs, dus binair
Instructieset:
Mnemonics
(assembly)
LDA
ADD
SUB
OUT
HLT
Voorbeeld:
op-code
(binair)
0000
0001
0010
1110
1111
Functie
Laad accumulator met inhoud van RX (= ROM adres #X)
Tel inhoud van RX bij inhoud van de accumulator op
Trek inhoud van RX van inhoud van de accumulator af
Laad accumulatorinhoud in het uitvoerregister
Zet de dataverwerking stop (einde programma)
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
RA
RB
RC
RD
RE
RF
0000 1111
0001 1110
0010 1101
1110 xxxx
1111 xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
xxxx xxxx
0010 0101
0011 1101
0001 0100
LDA RF
ADD RE
SUB RD
OUT
HLT
37
61
20
Download