Micro Programming
Micro Programming
NMI
IRQ
FIRQ
Control Unit Crystal
R/W
EN
Program Counter Incrementer
Function
Code Internal Signals
8
Microinstruction
MICRO
MEMORY
Address
PROGRAM
SEQUENCER
(CONTROL STORE)
Microinstruction
PIPELINE REGISTER
ADC I/O1
ALU
DAC I/O2
CONTROL UNIT
INSTRUCTION REGISTER
INTERRUPTS
DECODER
ALU FLAGS
SEQUENCING
LOGIC CONTROL ADDRESS REGISTER
CLOCK
NEXTADDRESSCONTROL
CONTROL MEMORY
Microinstruction
Address
Function
Codes Jump on Condition
Transfer complexity to Data Path Blocks
OPCODE INTERPRETATION
MAPPING CONTROL STORE
PROM 0000
INITIALISATION CODE
OPCODE FETCH
0010
INTEPRETATION CYCLE
CHECK INTERRUPTS
0020
$86 INTEPRETATION FOR LDAA(IMM)
$96 0028
INTEPRETATION FOR LDAA(DIR)
0032
$A6 INTEPRETATION FOR LDAA(INDEX)
0050
$B6 INTEPRETATION FOR LDAA(EXT)
0080
INTERRUPT HANDLING
OP CODES
OPCODE MAPPING PROM
INSTRUCTIION REGISTER
OPCODE FROM RAM
MAPPING PROM
mINSTRUCTION
START ADDRESS
TO MICROPROGRAM SEQUENCER
Am2910 Microprogram Sequencer
9 addresses on Carry_in
STACK
SP STACK mPC INC
OE
DIRECT INPUT
mI Address
REGISTER
COUNTER
12 12
INSTRUCTION CC
PLA
4 CCEN
INSTRUCTION MAP PL VEC
Am2910 Microprogram Sequencer
• 12 bit wide address outputs with output enable OE
• 4 bit instruction field for 16 different instructions
• 9 address stack for return address with built in SP
• Stack FULL output
• MicroProgram Counter with Carry_in enable
• Register/Counter for storing branch addresses and
• facilitating Loop Counting
• 4 input multiplexer to select microinstruction
• address output source
• CC and CCEN inputs for conditional program flow
• Clock input for incrementing PC & address selection
• Direct address input from three possible sources
16 INSTRUCTIONS
0 JZ 9 RFCT
1 CJS 10 RPCT
2 JMAP 11 CRTN
3 CJP 12 CJPP
4 PUSH 13 LDCT
5 JSRP 14 LOOP
6 CJV 15 CONT
7 JRP 16 TWB
Am2910 Instruction Set