SlideShare a Scribd company logo
Basic Computer Programming and
Micro Programmed Control
Course: MCA-I
Subject: Computer Organization
And Architecture
Unit-3
1
Control Unit Implementation
2
• Hardwired
• Microprogrammed
Instruction code
Combinational
Logic Circuits
Memory
Sequence Counter
.
.
Control
signals
Control
signals
Next Address
Generator
(sequencer)
CAR Control
Memory
CDR Decoding
Circuit
Memory
.
.
CAR: Control Address Register
CDR: Control Data RegisterInstruction code
Microprogrammed Control Unit
• Control signals
– Group of bits used to select paths in multiplexers, decoders,
arithmetic logic units
• Control variables
– Binary variables specify microoperations
• Certain microoperations initiated while others idle
• Control word
– String of 1’s and 0’s represent control variables
3
Microprogrammed Control Unit
• Control memory
– Memory contains control words
• Microinstructions
– Control words stored in control memory
– Specify control signals for execution of
microoperations
• Microprogram
– Sequence of microinstructions
4
Control Memory
• Read-only memory (ROM)
• Content of word in ROM at given address specifies
microinstruction
• Each computer instruction initiates series of microinstructions
(microprogram) in control memory
• These microinstructions generate microoperations to
– Fetch instruction from main memory
– Evaluate effective address
– Execute operation specified by instruction
– Return control to fetch phase for next instruction
5
Control
memory
(ROM)
Control word
(microinstruction)
Address
Microprogrammed Control Organization
• Control memory
– Contains microprograms (set of microinstructions)
– Microinstruction contains
• Bits initiate microoperations
• Bits determine address of next microinstruction
• Control address register (CAR)
– Specifies address of next microinstruction
6
Control
word
Next Address
Generator
(sequencer)
CAR
Control
Memory
(ROM)
CDR
External
input
Microprogrammed Control Organization
• Next address generator (microprogram sequencer)
– Determines address sequence for control memory
• Microprogram sequencer functions
– Increment CAR by one
– Transfer external address into CAR
– Load initial address into CAR to start control operations
7
Microprogrammed Control Organization
• Control data register (CDR)- or pipeline register
– Holds microinstruction read from control memory
– Allows execution of microoperations specified by control
word simultaneously with generation of next microinstruction
• Control unit can operate without CDR
8
Control
word
Next Address
Generator
(sequencer)
CAR
Control
Memory
(ROM)
External
input
Microprogram Routines
• Routine
– Group of microinstructions stored in control
memory
• Each computer instruction has its own
microprogram routine to generate
microoperations that execute the instruction
9
Microprogram Routines
• Subroutine
– Sequence of microinstructions used by other routines to
accomplish particular task
• Example
– Subroutine to generate effective address of operand for
memory reference instruction
• Subroutine register (SBR)
– Stores return address during subroutine call
10
Conditional Branching
• Branching from one routine to another depends
on status bit conditions
• Status bits provide parameter info such as
– Carry-out of adder
– Sign bit of number
– Mode bits of instruction
• Info in status bits can be tested and actions
initiated based on their conditions: 1 or 0
• Unconditional branch
– Fix value of status bit to 1
11
Mapping of Instruction
• Each computer instruction has its own
microprogram routine stored in a given
location of the control memory
• Mapping
– Transformation from instruction code bits to
address in control memory where routine is located
12
Mapping of Instruction
• Example
– Mapping 4-bit operation code to 7-bit address
13
OP-codes of Instructions
ADD
AND
LDA
0000
0001
0010
Address
0 0000 00
0 0001 00
0 0010 00
Mapping bits 0 xxxx 00
ADD Routine
AND Routine
LDA Routine
Control
memory
Address Sequencing
• Address sequencing capabilities required in
control unit
– Incrementing CAR
– Unconditional or conditional branch, depending on
status bit conditions
– Mapping from bits of instruction to address for
control memory
– Facility for subroutine call and return
14
Address Sequencing
15
Instruction code
Mapping
logic
Multiplexers
Control memory (ROM)
Subroutine
Register
(SBR)
Branch
logic
Status
bits
Microoperations
Control Address Register
(CAR)
Incrementer
MUX
select
select a status
bit
Branch address
Microprogram Example
16
Computer
Configuration
MUX
AR
10 0
PC
10 0
Address Memory
2048 x 16
MUX
DR
15 0
Arithmetic
logic and
shift unit
AC
15 0
SBR
6 0
CAR
6 0
Control memory
128 x 20
Control unit
Microprogram Example
17
Microinstruction Format
EA is the effective address
Symbol OP-code Description
ADD 0000 AC ← AC + M[EA]
BRANCH 0001 if (AC < 0) then (PC ← EA)
STORE 0010 M[EA] ← AC
EXCHANGE 0011 AC ← M[EA], M[EA] ← AC
Computer instruction format
I Opcode
15 14 11 10
Address
0
Four computer instructions
F1 F2 F3 CD BR AD
3 3 3 2 2 7
F1, F2, F3: Microoperation fields
CD: Condition for branching
BR: Branch field
AD: Address field
Microinstruction Fields
18
F1 Microoperation Symbol
000 None NOP
001 AC ← AC + DR ADD
010 AC ← 0 CLRAC
011 AC ← AC + 1 INCAC
100 AC ← DR DRTAC
101 AR ← DR(0-10) DRTAR
110 AR ← PC PCTAR
111 M[AR] ← DR WRITE
F2 Microoperation Symbol
000 None NOP
001 AC ← AC - DR SUB
010 AC ← AC ∨ DR OR
011 AC ← AC ∧ DR AND
100 DR ← M[AR] READ
101 DR ← AC ACTDR
110 DR ← DR + 1 INCDR
111 DR(0-10) ← PC PCTDR
F3 Microoperation Symbol
000 None NOP
001 AC ← AC ⊕ DR XOR
010 AC ← AC’ COM
011 AC ← shl AC SHL
100 AC ← shr AC SHR
101 PC ← PC + 1 INCPC
110 PC ← AR ARTPC
111 Reserved
Microinstruction Fields
19
CD Condition Symbol Comments
00 Always = 1 U Unconditional branch
01 DR(15) I Indirect address bit
10 AC(15) S Sign bit of AC
11 AC = 0 Z Zero value in AC
BR Symbol Function
00 JMP CAR ← AD if condition = 1
CAR ← CAR + 1 if condition = 0
01 CALL CAR ← AD, SBR ← CAR + 1 if condition = 1
CAR ← CAR + 1 if condition = 0
10 RET CAR ← SBR (Return from subroutine)
11 MAP CAR(2-5) ← DR(11-14), CAR(0,1,6) ← 0
Symbolic Microinstruction
20
 Sample Format Label: Micro-ops CD BR AD
 Label may be empty or may specify symbolic address
terminated with colon
 Micro-ops consists of 1, 2, or 3 symbols separated by commas
 CD one of {U, I, S, Z}
U: Unconditional Branch
I: Indirect address bit
S: Sign of AC
Z: Zero value in AC
 BR one of {JMP, CALL, RET, MAP}
 AD one of {Symbolic address, NEXT, empty}
Fetch Routine
21
 Fetch routine
- Read instruction from memory
- Decode instruction and update PC
AR ← PC
DR ← M[AR], PC ← PC + 1
AR ← DR(0-10), CAR(2-5) ← DR(11-14), CAR(0,1,6) ← 0
Symbolic microprogram for fetch routine:
ORG 64
PCTAR U JMP NEXT
READ, INCPC U JMP NEXT
DRTAR U MAP
FETCH:
Binary microporgram for fetch routine:
1000000 110 000 000 00 00 1000001
1000001 000 100 101 00 00 1000010
1000010 101 000 000 00 11 0000000
Binary
address F1 F2 F3 CD BR AD
Microinstructions for fetch routine:
Symbolic Microprogram
22
• Control memory: 128 20-bit words
• First 64 words: Routines for 16 machine instructions
• Last 64 words: Used for other purpose (e.g., fetch routine and other subroutines)
• Mapping: OP-code XXXX into 0XXXX00, first address for 16 routines are
0(0 0000 00), 4(0 0001 00), 8, 12, 16, 20, ..., 60
ORG 0
NOP
READ
ADD
ORG 4
NOP
NOP
NOP
ARTPC
ORG 8
NOP
ACTDR
WRITE
ORG 12
NOP
READ
ACTDR, DRTAC
WRITE
ORG 64
PCTAR
READ, INCPC
DRTAR
READ
DRTAR
I
U
U
S
U
I
U
I
U
U
I
U
U
U
U
U
U
U
U
CALL
JMP
JMP
JMP
JMP
CALL
JMP
CALL
JMP
JMP
CALL
JMP
JMP
JMP
JMP
JMP
MAP
JMP
RET
INDRCT
NEXT
FETCH
OVER
FETCH
INDRCT
FETCH
INDRCT
NEXT
FETCH
INDRCT
NEXT
NEXT
FETCH
NEXT
NEXT
NEXT
ADD:
BRANCH:
OVER:
STORE:
EXCHANGE:
FETCH:
INDRCT:
Label Microops CD BR AD
Partial Symbolic Microprogram
Binary Microprogram
23
Address Binary Microinstruction
Micro Routine Decimal Binary F1 F2 F3 CD BR AD
ADD 0 0000000 000 000 000 01 01 1000011
1 0000001 000 100 000 00 00 0000010
2 0000010 001 000 000 00 00 1000000
3 0000011 000 000 000 00 00 1000000
BRANCH 4 0000100 000 000 000 10 00 0000110
5 0000101 000 000 000 00 00 1000000
6 0000110 000 000 000 01 01 1000011
7 0000111 000 000 110 00 00 1000000
STORE 8 0001000 000 000 000 01 01 1000011
9 0001001 000 101 000 00 00 0001010
10 0001010 111 000 000 00 00 1000000
11 0001011 000 000 000 00 00 1000000
EXCHANGE 12 0001100 000 000 000 01 01 1000011
13 0001101 001 000 000 00 00 0001110
14 0001110 100 101 000 00 00 0001111
15 0001111 111 000 000 00 00 1000000
FETCH 64 1000000 110 000 000 00 00 1000001
65 1000001 000 100 101 00 00 1000010
66 1000010 101 000 000 00 11 0000000
INDRCT 67 1000011 000 100 000 00 00 1000100
68 1000100 101 000 000 00 10 0000000
Design of Control Unit
24
microoperation fields
3 x 8 decoder
7 6 5 4 3 2 1 0
F1
3 x 8 decoder
7 6 5 4 3 2 1 0
F2
3 x 8 decoder
7 6 5 4 3 2 1 0
F3
Arithmetic
logic and
shift unit
AND
ADD
DRTAC
AC
Load
From
PC
From
DR(0-10)
Select 0 1
Multiplexers
AR
Load Clock
AC
DR
DRTAR
PCTAR
Microprogram Sequencer
25
3 2 1 0
S1 MUX1
External
(MAP)
SBR
Load
Incrementer
CAR
Input
logic
I0
T
MUX2
Select
1
I
S
Z
Test
Clock
Control memory
Microops CD BR AD
L
I1
S0
. . .. . .
Input Logic for Microprogram Sequencer
26
Input
logicI0
I
1
T
MUX2
Select
1
I
S
Z
Test
CD Field of CS
From
CPU BR field
of CS
L(load SBR with PC)
for subroutine Call
S0
S1
for next address
selection
I1I0T Meaning Source of Address S1S0 L
000 In-Line CAR+1 00 0
001 JMP CS(AD) 01 0
010 In-Line CAR+1 00 0
011 CALL CS(AD) and SBR <- CAR+1 01 1
10x RET SBR 10 0
11x MAP DR(11-14) 11 0
L
S1 = I1
S0 = I0I1 + I1’T
L = I1’I0T
Input Logic
27

More Related Content

What's hot (20)

PPTX
Time delay programs and assembler directives 8086
Dheeraj Suri
 
PPTX
Micro program example
rajshreemuthiah
 
PPTX
Interfacing memory with 8086 microprocessor
Vikas Gupta
 
PPT
Unit 4 memory system
chidabdu
 
PPTX
full subtractor
Amodh Pandey
 
PPTX
Timing and control circuit
Rajan Shah
 
PPTX
Addressing modes of 8086
saurav kumar
 
PPTX
Direct memory access (dma)
Zubair Khalid
 
PPT
ARM Fundamentals
guest56d1b781
 
PPTX
ATmega32-AVR microcontrollers-Part I
VineethMP2
 
PPTX
Computer architecture input output organization
Mazin Alwaaly
 
PDF
Unipolar Encoding Techniques: NRZ & RZ
Arunabha Saha
 
PPTX
Register organization, stack
Asif Iqbal
 
PPTX
Digital to Analog Converter by LDCE students
Mitul Lakhani
 
PPTX
System bus timing 8086
mpsrekha83
 
PPTX
ARM Exception and interrupts
NishmaNJ
 
PPTX
Asynchronous data transfer
priya Nithya
 
PPTX
Microprogrammed Control Unit
PreethiSureshkumar1
 
PPT
Arbitration in computer organization
Amit kashyap
 
PDF
ARM CORTEX M3 PPT
Gaurav Verma
 
Time delay programs and assembler directives 8086
Dheeraj Suri
 
Micro program example
rajshreemuthiah
 
Interfacing memory with 8086 microprocessor
Vikas Gupta
 
Unit 4 memory system
chidabdu
 
full subtractor
Amodh Pandey
 
Timing and control circuit
Rajan Shah
 
Addressing modes of 8086
saurav kumar
 
Direct memory access (dma)
Zubair Khalid
 
ARM Fundamentals
guest56d1b781
 
ATmega32-AVR microcontrollers-Part I
VineethMP2
 
Computer architecture input output organization
Mazin Alwaaly
 
Unipolar Encoding Techniques: NRZ & RZ
Arunabha Saha
 
Register organization, stack
Asif Iqbal
 
Digital to Analog Converter by LDCE students
Mitul Lakhani
 
System bus timing 8086
mpsrekha83
 
ARM Exception and interrupts
NishmaNJ
 
Asynchronous data transfer
priya Nithya
 
Microprogrammed Control Unit
PreethiSureshkumar1
 
Arbitration in computer organization
Amit kashyap
 
ARM CORTEX M3 PPT
Gaurav Verma
 

Viewers also liked (9)

PPTX
MicroProgrammed Explained .
Muhammad Umar
 
PDF
Computer architecture
neclinux
 
PPT
15 control-computer organization and archietecture-CO-COA
Jay Patel
 
PPTX
Micro Programmed Control Unit
Kamal Acharya
 
PPTX
Micro programmed control
Shashank Singh
 
PPT
Origin of Microprocessor and Classification of Microprocessor
Vijay Kumar
 
PPT
Types of instructions
ihsanjamil
 
PPT
Microprogram Control
Anuj Modi
 
PPTX
Instruction Set Architecture
Dilum Bandara
 
MicroProgrammed Explained .
Muhammad Umar
 
Computer architecture
neclinux
 
15 control-computer organization and archietecture-CO-COA
Jay Patel
 
Micro Programmed Control Unit
Kamal Acharya
 
Micro programmed control
Shashank Singh
 
Origin of Microprocessor and Classification of Microprocessor
Vijay Kumar
 
Types of instructions
ihsanjamil
 
Microprogram Control
Anuj Modi
 
Instruction Set Architecture
Dilum Bandara
 
Ad

Similar to basic computer programming and micro programmed control (20)

PPT
B.sc cs-ii-u-3.2-basic computer programming and micro programmed control
Rai University
 
PPT
Bca 2nd sem-u-3.2-basic computer programming and micro programmed control
Rai University
 
PPT
COMPUTER ORGANIZATION - Design of control unit
KAVITHA N S
 
PPT
COMPUTER ORGANIZATION - Design of control unit final
KAVITHA N S
 
PPTX
2024_lecture10__come321..................................
ghada507476
 
PPT
Chapter 7 of Computer system and architecture
mayank7067038682
 
PPTX
MICROPROGRAMMEDCONTROL-3.pptx
PhoenixEagles
 
PPTX
COA 2.1 Microprogrammed control systems of btech 2nd year students.pptx
SahithBeats
 
PPTX
Microprogrammed of organisation and architecture of computer.pptx
SahithBeats
 
PPT
Computer_Architecture_3rd_Edition_by_Moris_Mano_Ch_07.ppt
RafiyaKouser2
 
PPTX
Chapter7.pptx
radhushri
 
PPTX
Whitepaper proposal presentation _pre.pptx
AshutoshPrajapati30
 
PPTX
Microprogrammed_control presentation.pptx
AshutoshPrajapati30
 
PPTX
CS304PC:Computer Organization and Architecture session 9 microprogram exampl...
Guru Nanak Technical Institutions
 
PPTX
Computer Organization & Architecture (COA)Unit 4
parthivrathodlits
 
PPTX
Unit 3 CO.pptx
NeerajaBhukya
 
PDF
Unit 3. control unit
Kiran Bagale
 
PPTX
CS304PC:Computer Organization and Architecture Session 8 Address Sequencing.pptx
Guru Nanak Technical Institutions
 
PPTX
Lecture 21
RahulRathi94
 
PPTX
Unit 2
vishal choudhary
 
B.sc cs-ii-u-3.2-basic computer programming and micro programmed control
Rai University
 
Bca 2nd sem-u-3.2-basic computer programming and micro programmed control
Rai University
 
COMPUTER ORGANIZATION - Design of control unit
KAVITHA N S
 
COMPUTER ORGANIZATION - Design of control unit final
KAVITHA N S
 
2024_lecture10__come321..................................
ghada507476
 
Chapter 7 of Computer system and architecture
mayank7067038682
 
MICROPROGRAMMEDCONTROL-3.pptx
PhoenixEagles
 
COA 2.1 Microprogrammed control systems of btech 2nd year students.pptx
SahithBeats
 
Microprogrammed of organisation and architecture of computer.pptx
SahithBeats
 
Computer_Architecture_3rd_Edition_by_Moris_Mano_Ch_07.ppt
RafiyaKouser2
 
Chapter7.pptx
radhushri
 
Whitepaper proposal presentation _pre.pptx
AshutoshPrajapati30
 
Microprogrammed_control presentation.pptx
AshutoshPrajapati30
 
CS304PC:Computer Organization and Architecture session 9 microprogram exampl...
Guru Nanak Technical Institutions
 
Computer Organization & Architecture (COA)Unit 4
parthivrathodlits
 
Unit 3 CO.pptx
NeerajaBhukya
 
Unit 3. control unit
Kiran Bagale
 
CS304PC:Computer Organization and Architecture Session 8 Address Sequencing.pptx
Guru Nanak Technical Institutions
 
Lecture 21
RahulRathi94
 
Ad

More from Rai University (20)

PDF
Brochure Rai University
Rai University
 
PPT
Mm unit 4point2
Rai University
 
PPT
Mm unit 4point1
Rai University
 
PPT
Mm unit 4point3
Rai University
 
PPT
Mm unit 3point2
Rai University
 
PPTX
Mm unit 3point1
Rai University
 
PPTX
Mm unit 2point2
Rai University
 
PPT
Mm unit 2 point 1
Rai University
 
PPT
Mm unit 1point3
Rai University
 
PPT
Mm unit 1point2
Rai University
 
PPTX
Mm unit 1point1
Rai University
 
DOCX
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
Rai University
 
PPTX
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
Rai University
 
PPTX
Bsc agri 2 pae u-4.3 public expenditure
Rai University
 
PPTX
Bsc agri 2 pae u-4.2 public finance
Rai University
 
PPS
Bsc agri 2 pae u-4.1 introduction
Rai University
 
PPT
Bsc agri 2 pae u-3.3 inflation
Rai University
 
PPTX
Bsc agri 2 pae u-3.2 introduction to macro economics
Rai University
 
PPTX
Bsc agri 2 pae u-3.1 marketstructure
Rai University
 
PPTX
Bsc agri 2 pae u-3 perfect-competition
Rai University
 
Brochure Rai University
Rai University
 
Mm unit 4point2
Rai University
 
Mm unit 4point1
Rai University
 
Mm unit 4point3
Rai University
 
Mm unit 3point2
Rai University
 
Mm unit 3point1
Rai University
 
Mm unit 2point2
Rai University
 
Mm unit 2 point 1
Rai University
 
Mm unit 1point3
Rai University
 
Mm unit 1point2
Rai University
 
Mm unit 1point1
Rai University
 
Bdft ii, tmt, unit-iii, dyeing & types of dyeing,
Rai University
 
Bsc agri 2 pae u-4.4 publicrevenue-presentation-130208082149-phpapp02
Rai University
 
Bsc agri 2 pae u-4.3 public expenditure
Rai University
 
Bsc agri 2 pae u-4.2 public finance
Rai University
 
Bsc agri 2 pae u-4.1 introduction
Rai University
 
Bsc agri 2 pae u-3.3 inflation
Rai University
 
Bsc agri 2 pae u-3.2 introduction to macro economics
Rai University
 
Bsc agri 2 pae u-3.1 marketstructure
Rai University
 
Bsc agri 2 pae u-3 perfect-competition
Rai University
 

Recently uploaded (20)

PDF
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
PPTX
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
PPTX
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PPTX
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
PDF
Characteristics, Strengths and Weaknesses of Quantitative Research.pdf
Thelma Villaflores
 
PDF
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PPTX
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
PDF
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PDF
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
PPTX
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
PPTX
QUARTER 1 WEEK 2 PLOT, POV AND CONFLICTS
KynaParas
 
PDF
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
PDF
Geographical Diversity of India 100 Mcq.pdf/ 7th class new ncert /Social/Samy...
Sandeep Swamy
 
PDF
The Different Types of Non-Experimental Research
Thelma Villaflores
 
PDF
Geographical diversity of India short notes by sandeep swamy
Sandeep Swamy
 
PDF
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
PPTX
Quarter 1_PPT_PE & HEALTH 8_WEEK 3-4.pptx
ronajadolpnhs
 
PDF
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 
Biological Bilingual Glossary Hindi and English Medium
World of Wisdom
 
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
Neurodivergent Friendly Schools - Slides from training session
Pooky Knightsmith
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
CATEGORIES OF NURSING PERSONNEL: HOSPITAL & COLLEGE
PRADEEP ABOTHU
 
Characteristics, Strengths and Weaknesses of Quantitative Research.pdf
Thelma Villaflores
 
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
Universal immunization Programme (UIP).pptx
Vishal Chanalia
 
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
The History of Phone Numbers in Stoke Newington by Billy Thomas
History of Stoke Newington
 
care of patient with elimination needs.pptx
Rekhanjali Gupta
 
QUARTER 1 WEEK 2 PLOT, POV AND CONFLICTS
KynaParas
 
Chapter-V-DED-Entrepreneurship: Institutions Facilitating Entrepreneurship
Dayanand Huded
 
Geographical Diversity of India 100 Mcq.pdf/ 7th class new ncert /Social/Samy...
Sandeep Swamy
 
The Different Types of Non-Experimental Research
Thelma Villaflores
 
Geographical diversity of India short notes by sandeep swamy
Sandeep Swamy
 
Exploring the Different Types of Experimental Research
Thelma Villaflores
 
Quarter 1_PPT_PE & HEALTH 8_WEEK 3-4.pptx
ronajadolpnhs
 
Stokey: A Jewish Village by Rachel Kolsky
History of Stoke Newington
 

basic computer programming and micro programmed control

  • 1. Basic Computer Programming and Micro Programmed Control Course: MCA-I Subject: Computer Organization And Architecture Unit-3 1
  • 2. Control Unit Implementation 2 • Hardwired • Microprogrammed Instruction code Combinational Logic Circuits Memory Sequence Counter . . Control signals Control signals Next Address Generator (sequencer) CAR Control Memory CDR Decoding Circuit Memory . . CAR: Control Address Register CDR: Control Data RegisterInstruction code
  • 3. Microprogrammed Control Unit • Control signals – Group of bits used to select paths in multiplexers, decoders, arithmetic logic units • Control variables – Binary variables specify microoperations • Certain microoperations initiated while others idle • Control word – String of 1’s and 0’s represent control variables 3
  • 4. Microprogrammed Control Unit • Control memory – Memory contains control words • Microinstructions – Control words stored in control memory – Specify control signals for execution of microoperations • Microprogram – Sequence of microinstructions 4
  • 5. Control Memory • Read-only memory (ROM) • Content of word in ROM at given address specifies microinstruction • Each computer instruction initiates series of microinstructions (microprogram) in control memory • These microinstructions generate microoperations to – Fetch instruction from main memory – Evaluate effective address – Execute operation specified by instruction – Return control to fetch phase for next instruction 5 Control memory (ROM) Control word (microinstruction) Address
  • 6. Microprogrammed Control Organization • Control memory – Contains microprograms (set of microinstructions) – Microinstruction contains • Bits initiate microoperations • Bits determine address of next microinstruction • Control address register (CAR) – Specifies address of next microinstruction 6 Control word Next Address Generator (sequencer) CAR Control Memory (ROM) CDR External input
  • 7. Microprogrammed Control Organization • Next address generator (microprogram sequencer) – Determines address sequence for control memory • Microprogram sequencer functions – Increment CAR by one – Transfer external address into CAR – Load initial address into CAR to start control operations 7
  • 8. Microprogrammed Control Organization • Control data register (CDR)- or pipeline register – Holds microinstruction read from control memory – Allows execution of microoperations specified by control word simultaneously with generation of next microinstruction • Control unit can operate without CDR 8 Control word Next Address Generator (sequencer) CAR Control Memory (ROM) External input
  • 9. Microprogram Routines • Routine – Group of microinstructions stored in control memory • Each computer instruction has its own microprogram routine to generate microoperations that execute the instruction 9
  • 10. Microprogram Routines • Subroutine – Sequence of microinstructions used by other routines to accomplish particular task • Example – Subroutine to generate effective address of operand for memory reference instruction • Subroutine register (SBR) – Stores return address during subroutine call 10
  • 11. Conditional Branching • Branching from one routine to another depends on status bit conditions • Status bits provide parameter info such as – Carry-out of adder – Sign bit of number – Mode bits of instruction • Info in status bits can be tested and actions initiated based on their conditions: 1 or 0 • Unconditional branch – Fix value of status bit to 1 11
  • 12. Mapping of Instruction • Each computer instruction has its own microprogram routine stored in a given location of the control memory • Mapping – Transformation from instruction code bits to address in control memory where routine is located 12
  • 13. Mapping of Instruction • Example – Mapping 4-bit operation code to 7-bit address 13 OP-codes of Instructions ADD AND LDA 0000 0001 0010 Address 0 0000 00 0 0001 00 0 0010 00 Mapping bits 0 xxxx 00 ADD Routine AND Routine LDA Routine Control memory
  • 14. Address Sequencing • Address sequencing capabilities required in control unit – Incrementing CAR – Unconditional or conditional branch, depending on status bit conditions – Mapping from bits of instruction to address for control memory – Facility for subroutine call and return 14
  • 15. Address Sequencing 15 Instruction code Mapping logic Multiplexers Control memory (ROM) Subroutine Register (SBR) Branch logic Status bits Microoperations Control Address Register (CAR) Incrementer MUX select select a status bit Branch address
  • 16. Microprogram Example 16 Computer Configuration MUX AR 10 0 PC 10 0 Address Memory 2048 x 16 MUX DR 15 0 Arithmetic logic and shift unit AC 15 0 SBR 6 0 CAR 6 0 Control memory 128 x 20 Control unit
  • 17. Microprogram Example 17 Microinstruction Format EA is the effective address Symbol OP-code Description ADD 0000 AC ← AC + M[EA] BRANCH 0001 if (AC < 0) then (PC ← EA) STORE 0010 M[EA] ← AC EXCHANGE 0011 AC ← M[EA], M[EA] ← AC Computer instruction format I Opcode 15 14 11 10 Address 0 Four computer instructions F1 F2 F3 CD BR AD 3 3 3 2 2 7 F1, F2, F3: Microoperation fields CD: Condition for branching BR: Branch field AD: Address field
  • 18. Microinstruction Fields 18 F1 Microoperation Symbol 000 None NOP 001 AC ← AC + DR ADD 010 AC ← 0 CLRAC 011 AC ← AC + 1 INCAC 100 AC ← DR DRTAC 101 AR ← DR(0-10) DRTAR 110 AR ← PC PCTAR 111 M[AR] ← DR WRITE F2 Microoperation Symbol 000 None NOP 001 AC ← AC - DR SUB 010 AC ← AC ∨ DR OR 011 AC ← AC ∧ DR AND 100 DR ← M[AR] READ 101 DR ← AC ACTDR 110 DR ← DR + 1 INCDR 111 DR(0-10) ← PC PCTDR F3 Microoperation Symbol 000 None NOP 001 AC ← AC ⊕ DR XOR 010 AC ← AC’ COM 011 AC ← shl AC SHL 100 AC ← shr AC SHR 101 PC ← PC + 1 INCPC 110 PC ← AR ARTPC 111 Reserved
  • 19. Microinstruction Fields 19 CD Condition Symbol Comments 00 Always = 1 U Unconditional branch 01 DR(15) I Indirect address bit 10 AC(15) S Sign bit of AC 11 AC = 0 Z Zero value in AC BR Symbol Function 00 JMP CAR ← AD if condition = 1 CAR ← CAR + 1 if condition = 0 01 CALL CAR ← AD, SBR ← CAR + 1 if condition = 1 CAR ← CAR + 1 if condition = 0 10 RET CAR ← SBR (Return from subroutine) 11 MAP CAR(2-5) ← DR(11-14), CAR(0,1,6) ← 0
  • 20. Symbolic Microinstruction 20  Sample Format Label: Micro-ops CD BR AD  Label may be empty or may specify symbolic address terminated with colon  Micro-ops consists of 1, 2, or 3 symbols separated by commas  CD one of {U, I, S, Z} U: Unconditional Branch I: Indirect address bit S: Sign of AC Z: Zero value in AC  BR one of {JMP, CALL, RET, MAP}  AD one of {Symbolic address, NEXT, empty}
  • 21. Fetch Routine 21  Fetch routine - Read instruction from memory - Decode instruction and update PC AR ← PC DR ← M[AR], PC ← PC + 1 AR ← DR(0-10), CAR(2-5) ← DR(11-14), CAR(0,1,6) ← 0 Symbolic microprogram for fetch routine: ORG 64 PCTAR U JMP NEXT READ, INCPC U JMP NEXT DRTAR U MAP FETCH: Binary microporgram for fetch routine: 1000000 110 000 000 00 00 1000001 1000001 000 100 101 00 00 1000010 1000010 101 000 000 00 11 0000000 Binary address F1 F2 F3 CD BR AD Microinstructions for fetch routine:
  • 22. Symbolic Microprogram 22 • Control memory: 128 20-bit words • First 64 words: Routines for 16 machine instructions • Last 64 words: Used for other purpose (e.g., fetch routine and other subroutines) • Mapping: OP-code XXXX into 0XXXX00, first address for 16 routines are 0(0 0000 00), 4(0 0001 00), 8, 12, 16, 20, ..., 60 ORG 0 NOP READ ADD ORG 4 NOP NOP NOP ARTPC ORG 8 NOP ACTDR WRITE ORG 12 NOP READ ACTDR, DRTAC WRITE ORG 64 PCTAR READ, INCPC DRTAR READ DRTAR I U U S U I U I U U I U U U U U U U U CALL JMP JMP JMP JMP CALL JMP CALL JMP JMP CALL JMP JMP JMP JMP JMP MAP JMP RET INDRCT NEXT FETCH OVER FETCH INDRCT FETCH INDRCT NEXT FETCH INDRCT NEXT NEXT FETCH NEXT NEXT NEXT ADD: BRANCH: OVER: STORE: EXCHANGE: FETCH: INDRCT: Label Microops CD BR AD Partial Symbolic Microprogram
  • 23. Binary Microprogram 23 Address Binary Microinstruction Micro Routine Decimal Binary F1 F2 F3 CD BR AD ADD 0 0000000 000 000 000 01 01 1000011 1 0000001 000 100 000 00 00 0000010 2 0000010 001 000 000 00 00 1000000 3 0000011 000 000 000 00 00 1000000 BRANCH 4 0000100 000 000 000 10 00 0000110 5 0000101 000 000 000 00 00 1000000 6 0000110 000 000 000 01 01 1000011 7 0000111 000 000 110 00 00 1000000 STORE 8 0001000 000 000 000 01 01 1000011 9 0001001 000 101 000 00 00 0001010 10 0001010 111 000 000 00 00 1000000 11 0001011 000 000 000 00 00 1000000 EXCHANGE 12 0001100 000 000 000 01 01 1000011 13 0001101 001 000 000 00 00 0001110 14 0001110 100 101 000 00 00 0001111 15 0001111 111 000 000 00 00 1000000 FETCH 64 1000000 110 000 000 00 00 1000001 65 1000001 000 100 101 00 00 1000010 66 1000010 101 000 000 00 11 0000000 INDRCT 67 1000011 000 100 000 00 00 1000100 68 1000100 101 000 000 00 10 0000000
  • 24. Design of Control Unit 24 microoperation fields 3 x 8 decoder 7 6 5 4 3 2 1 0 F1 3 x 8 decoder 7 6 5 4 3 2 1 0 F2 3 x 8 decoder 7 6 5 4 3 2 1 0 F3 Arithmetic logic and shift unit AND ADD DRTAC AC Load From PC From DR(0-10) Select 0 1 Multiplexers AR Load Clock AC DR DRTAR PCTAR
  • 25. Microprogram Sequencer 25 3 2 1 0 S1 MUX1 External (MAP) SBR Load Incrementer CAR Input logic I0 T MUX2 Select 1 I S Z Test Clock Control memory Microops CD BR AD L I1 S0 . . .. . .
  • 26. Input Logic for Microprogram Sequencer 26 Input logicI0 I 1 T MUX2 Select 1 I S Z Test CD Field of CS From CPU BR field of CS L(load SBR with PC) for subroutine Call S0 S1 for next address selection I1I0T Meaning Source of Address S1S0 L 000 In-Line CAR+1 00 0 001 JMP CS(AD) 01 0 010 In-Line CAR+1 00 0 011 CALL CS(AD) and SBR <- CAR+1 01 1 10x RET SBR 10 0 11x MAP DR(11-14) 11 0 L S1 = I1 S0 = I0I1 + I1’T L = I1’I0T Input Logic
  • 27. 27