0% found this document useful (0 votes)
24 views15 pages

Micro Programming

The document discusses microprogramming and its implementation in generic processors, highlighting the use of microprogram memory to store control signals and the flexibility it offers in adding new instructions. It details the structure of a microprogram, the operation of a microprogram sequencer, and the differences between horizontal and vertical microinstructions. Additionally, it introduces the Am2910 microprogram sequencer and the Am29116 ALU, emphasizing their features and capabilities.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views15 pages

Micro Programming

The document discusses microprogramming and its implementation in generic processors, highlighting the use of microprogram memory to store control signals and the flexibility it offers in adding new instructions. It details the structure of a microprogram, the operation of a microprogram sequencer, and the differences between horizontal and vertical microinstructions. Additionally, it introduces the Am2910 microprogram sequencer and the Am29116 ALU, emphasizing their features and capabilities.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 15

MICROPROGRAMMING

GENERIC PROCESSOR BLOCK DIAGRAM


A Generic Processing Unit

Operation Code (OPCODE)


Instruction Register
RESET

NMI
IRQ
FIRQ
Control Unit Crystal
R/W
EN
Program Counter Incrementer
Function
Code Internal Signals
8

ACCA Data Bus


U
Temporary
W ALU
CCR
MAR 16
ACCB V Address
SP Bus
2 IX IY
CONTROL UNIT
• Two approaches for implementation
• Complex Giant Finite State Machine (FSM)
with random Logic (Several ASMs)
• More structured approach uses
Microprogramming with more hardwareA
Microprogrammable Controller with an ALU
can become a stand alone Computer
• Microprogrammable Chip Sets available
• Developed by Maurice Wilkes in 1951
OPERATION
• Control Signals (Control Operations) stored in a
Microprogram Memory (Control Store)
• Microinstruction a collection of all control signals
• Control Store stores sequence of Microinstructions
called a microprogram.
• Major advantage is flexibilty - easily add new
instructions to the instruction set.
• Microinstructions fetched in a flexible manner
through a Microprogram Sequencer which produces
microinstruction address sequences.
• Active Microinstruction stored in a pipeline register
• Microinstruction divided into fields
inputs
STRUCTURE
MICROPROGRAM

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

CONTROL BUFFER REGISTER


CLOCK
HORIZONTAL vs VERTICAL mIs
Very wide Microinstruction (HORIZONTAL)

Internal CPU Control Signals System Bus Microinstruction


Control Signals Address
Jump on Condition

(VERTICAL) Narrower Microinstruction (uses Functions Codes)

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

AMD has a microprogramming


AMD Assembler for AM2910
Am29116 ALU
• 60 pin DIP
• Three Operand ALU
• 12 bit Instruction Inputs
• Built in Condition Code Multiplexer (4 bit
Select)
• 32 word by 16 bit RAM registers
• Powerful Rotate and Merge/Rotate and
Compare
• Supports High Speed add and shift
Multiplication
END

You might also like