SlideShare a Scribd company logo
1 of 44
20IT204 – Computer Organization and
Architecture
Dr. P. Perumal
Professor/CSE
Sri Ramakrishna Engineering College
Coimbatore – 641022
Academic Year 2021 - 2022
Lecture 17
Hardwired Control
Overview
 To execute instructions, the processor must have
some means of generating the control signals
needed in the proper sequence.
 Two categories: hardwired control and
microprogrammed control
 Hardwired system can operate at high speed; but
with little flexibility.
 To execute instructions, the processor must have
some means of generating the control signals needed
in the proper sequence.
 Computer designers use a wide variety of
techniques to solve this problem.
 The approaches used fall into one of two categories:
hardwired control and micro programmed control.
 We discuss each of these techniques in detail,
starting with hardwired control in this section.
 Consider the sequence of control signals given in Figure 7 (single
bus).
 Each step in this sequence is completed in one clock period.
 A counter may be used to keep track of the control steps, as shown
in Figure 11.
 Each state, or count, of this counter corresponds to one control
step.
 The required control signals are determined by the
following information:
1. Contents of the control step counter
2. Contents of the instruction register
3. Contents of the condition code flags
4. External input signals, such as MFC and interrupt requests
Control Unit Organization
Figure 11. Control unit organization.
CLK
Clock
Control step
IR
encoder
Decoder/
Control signals
codes
counter
inputs
Condition
External
 To gain insight into the structure of the control unit, we start with a
simplified view of the hardware involved.
 The decoder/encoder block in Figure 11 is a combinational
circuit that generates the required control outputs, depending on the
state of all its inputs.
 By separating the decoding and encoding functions, we obtain the more
detailed block diagram in Figure 12.
 The step decoder provides a separate signal line for each step, or time
slot, in the control sequence.
 Similarly, the output of the instruction decoder consists of a separate
line for each machine instruction.
 For any instruction loaded in the IR, one of the output lines INS1
through INSm is set to 1, and all other lines are set to 0.
 The input signals to the encoder block in Figure 12 are combined to
generate the individual control signals Yin, PCout, Add, End, and so on.
 An example of how the encoder generates the Zin control signal for
the processor organization in Figure 12 is given in Figure 13.
Detailed Block Description
External
inputs
Figure 7.11. Separation of the decoding and encoding functions.
Encoder
Reset
CLK
Clock
Control signals
counter
Run End
Condition
codes
decoder
Instruction
Step decoder
Control step
IR
T1 T2 Tn
INS1
INS2
INS
m
Fig 12
 The control-signals are generated by using logic circuits
such as gates, flip-flops, decoders etc.
Decoder/Encoder Block is a combinational-circuit that
generates required control-outputs depending on state
of all its inputs.
Instruction Decoder
 It decodes the instruction loaded in the IR.
 If IR is an 8 bit register, then instruction decoder
generates 28(256 lines); one for each instruction.
 It consists of a separate output-lines INS1 through INSm
for each machine instruction.
 According to code in the IR, one of the output-lines INS1
through INSm is set to 1, and all other lines are set to 0.
 Step-Decoder provides a separate signal line for
each step in the control sequence.
 Encoder
 It gets the input from instruction decoder, step
decoder, external inputs and condition codes.
 It uses all these inputs to generate individual control-
signals: Yin, PCout, Add, End and so on.
 For example (Figure), Zin=T1+T6.ADD+T4.BR ;
 This signal is asserted during time-slot T1 for all
instructions.
 during T6 for an Add instruction.
 during T4 for unconditional branch instruction
This circuit implements the logic function
Zin=T1+T6 * ADD + T4*BR+ ∙ ∙
This signal is asserted during time slot Ti for all instructions, during T6 for
an Add instruction, during T4 for an unconditional branch instruction, and so
on. The logic function for Zin is derived from the control sequences in
Figures 7 and 8. As another example, Figure 14 gives a circuit that generates the
End control signal from the logic function
End = T7 • ADD + T5 • BR + (T5 • N + T4 • N’) • BRN + • • •
The End signal starts a new instruction fetch cycle by resetting the control step
counter to its starting value. Figure 12 contains another control signal called RUN.
When set 1, RUN causes the counter to be incremented by one at the end of every
clock cycle. When RUN is equal to 0, the counter stops counting. This is needed
whenever the WMFC signal is issued, to cause the processor to wait for the reply
from the memory.
Generating Zin
 Zin = T1 + T6 • ADD + T4 • BR + …
Figure 13. Generation of the Zin control signal for the processor in Figure 1.
T1
Add
Branch
T4 T6
Generating End
 End = T7 • ADD + T5 • BR + (T5 • N + T4 • N) • BRN +…
Figure 7.13.Generation of the End control signal.
T7
Add Branch
Branch<0
T5
End
N
N
T4
T5
 The control hardware shown can be viewed as a state
machine that changes from one state to another in every
clock cycle, depending on the contents of the instruction
register, the condition codes, and the external inputs.
 The outputs of the state machine are the control signals.
 The sequence of operations carried out by this machine
is determined by the wiring of the logic elements, hence
the name "hardwired.“
 A controller that uses this approach can operate at
high speed.
 However, it has little flexibility, and the complexity of
the instruction set it can implement is limited
Advantage: Can operate at high speed.
Disadvantages:
 Since no. of instructions/control-lines is often in
hundreds, the complexity of control unit is very
high.
 It is costly and difficult to design.
 The control unit is inflexible because it is difficult
to change the design.
A Complete Processor
Instruction
unit
Inte
ger
unit
Floating-point
unit
Instruction
cache
Data
cache
Bus interf
ace
Main
memory
Input/
Output
Sy stem b
us
Processor
Figure 7.14. Block diagram of a complete processor
.
 A complete processor can be designed using the
structure shown in the above fig.
 It consists of
 Instruction unit
 Integer unit
 Floating-point unit
 Instruction cache
 Data cache
 Bus interface unit
 Main memory module
 Input/Output module.
 Instruction unit- It fetches instructions from an instruction
cache or from the main memory when the desired
instructions are not available in the cache.
 Integer unit – To process integer data
 Floating unit – To process floating –point data
 Data cache – The integer and floating unit gets data from
data cache
 The 80486 processor has 8k bytes single cache for both
instruction and data whereas the Pentium processor has two
separate 8k bytes caches for instruction and data.
 The processor provides bus interface unit to control the
interface of processor to system bus, main memory module
and input/output module.
Problem 1:For the single bus organization, write the complete
control sequence for the instruction: Move (R1), R1
Solution:
1) PCout, MARin, Read, Select4, Add, Zin
2) Zout, PCin, Yin, WMFC
3) MDRout, IRin
4) R1out, MARin, Read
5) MDRinE, WMFC
6) MDRout, R2in, End
Problem 2:Write the sequence of control steps required for
the single bus organization in each of the following
instructions:
a) Add the immediate number NUM to register R1.
b) Add the contents of memory-location NUM to register R1.
c) Add the contents of the memory-location whose address
is at memory-location NUM to register R1.
Assume that each instruction consists of two words. The first
word specifies the operation and N the addressing mode,
and the second word contains the number NUM
Problem 3:Show the control steps for the Branch on Negative
instruction for a processor with three-bus organization of the data
path
Microprogrammed Control
MICROPROGRAMMED CONTROL
 ALU is the heart of any computing system, while
Control unit is its brain.
 The design of a control unit is not unique; it varies
from designer to designer. Some of the commonly
used control logic design methods are;
 Sequence Reg & Decoder method
 Hard-wired control method
 PLA control method
 Micro-program control method
The control signals required inside the processor can be generated
using a control step counter and a decoder/ encoder circuit.
Now we discuss an alternative scheme, called micro programmed
control, in which control signals are generated by a program similar to
machine language programs.
 The principle of microprogramming is an elegant and systematic method
for controlling the micro-operation sequences in a digital computer.
 First, we introduce some common terms.
 A control word (CW) is a word whose individual bits represent the various
control signals in Figure 12.
 Each of the control steps in the control sequence of an instruction defines
a unique combination of 1s and 0s in the CW.
 The CWs corresponding to the 7 steps of Figure are shown in Figure 15.
 We have assumed that Select Y is represented by Select = 0 and Select4
by Select = 1.
 A sequence of CWs corresponding to the control sequence of a machine
instruction constitutes the micro routine for that instruction, and the
individual control words in this micro routine are referred to as
microinstructions.
Fig : 15 An example of microinstructions for above fig
 The micro routines for all instructions in the instruction set of a
computer are stored in a special memory called the control store.
 The control unit can generate the control signals for any
instruction by sequentially reading the CWs of the corresponding
micro routine from the control store.
 This suggests organizing the control unit as shown in Figure 16.
 To read the control words sequentially from the control store, a
micro program counter (μPC) is used.
 Every time a new instruction is loaded into the IR, the output of
the block labeled "starting address generator" is loaded into the
μPC.
 The μPC is then automatically incremented by the clock, causing
successive microinstructions to be read from the control store.
 Hence, the control signals are delivered to various parts of the
processor in the correct sequence.
Overview
Figure 7.16. Basic organization of a microprogrammed control unit.
store
Control
generator
Starting
address
CW
Clock PC
IR
One function
cannot be carried
out by this simple
organization.
 One important function of the control unit cannot be
implemented by the simple organization in Figure 16 .
 This is the situation that arises when the control unit is
required to check the status of the condition codes or
external inputs to choose between alternative courses of
action.
 In the case of hardwired control, this situation is handled by
including an appropriate logic function, in the encoder
circuitry.
 In micro programmed control, an alternative approach is to
use conditional branch microinstructions.
 In addition to the branch address, these microinstructions
specify which of the external inputs, condition codes, or,
possibly, bits of the instruction register should be checked
as a condition for branching to take place.
 The instruction Branch < 0 may now be implemented by a micro
routine such as that shown in Figure 17.
 After loading this instruction into IR, a branch microinstruction
transfers control to the corresponding micro routine, which is
assumed to start at location 25 in the control store.
 The microinstruction at location 25 tests the N bit of the
condition codes.
 This address is the output of staring address generator block
codes.
 If this bit is equal to 0, a branch takes place to location 0 to
fetch a new machine instruction.
 Otherwise, the microinstruction at location 26 is executed to put
the branch target address into register Z, as step 4 in figure 7
 The microinstruction at location 27 loads this address into the
PC
Fig. 17
 To support micro program branching, the organization of the control unit
should be modified as shown in Figure 18.
 The starting address generator block of Figure 16 becomes the starting
and branch address generator.
 This block loads a new address into the μPC when a microinstruction
instructs it to do so.
 To allow implementation of a conditional branch, inputs to this block
consist of the external inputs and condition codes as well as the
contents of the instruction register.
 In this control unit, the μPC is incremented every time a new
microinstruction is fetched from the micro program memory, except in
the following situations:
1. When a new instruction is loaded into the IR, the μPC is loaded with
the starting address of the micro routine for that instruction.
2. When a Branch microinstruction is encountered and the branch
condition is satisfied, the μPC is loaded with the branch address.
3. When an End microinstruction is encountered, the μPC is loaded with
the address of the first CW in the micro routine for the instruction fetch
cycle
Overview
Figure 7.18. Organization of the control unit to allow conditional
branching in the microprogram. (fig – 8)
Control
store
Clock
generator
Starting and
branch address Condition
codes
inputs
External
CW
IR
PC
Microprogrammed Control Unit
Advantages
 It simplifies the design of control unit. Thus it is both, cheaper and less
error prone implement.
 Control functions are implemented in software rather than hardware.
 The design process is orderly and systematic.
 More flexible, can be changed to accommodate new system
specifications or to correct the design errors quickly and cheaply.
 Complex function such as floating point arithmetic can be realized
efficiently.
Disadvantages
 A microprogrammed control unit is somewhat slower than the
hardwired control unit, because time is required to access the
microinstructions from CM.
 The flexibility is achieved at some extra hardware cost due to the
control memory and its access circuitry.
Microinstructions
 Having described a scheme for sequencing microinstructions, we
now take a closer look at the format of individual microinstructions.
 A straightforward way to structure Microinstruction is to assign one
bit position to each control signal, as in Figure 15.
 This scheme has one serious drawback — assigning individual bits
to each control signal results in long microinstructions because the
number of required signals is usually large.
 Moreover, only a few bits are set to 1 (to be used for active gating)
in any given microinstruction, which means the available bit space
is poorly used.
 Consider again the simple processor of Figure 1, and assume that
it contains only four general purpose registers, R0, R1, R2, and R3.
 Some of the connections in this processor are permanently enabled,
such as the output of the IR to the decoding circuits and both inputs to
the ALU.
 The remaining connections to various registers require a total of 20
gating signals.
 Additional control signals not shown in the figure are also needed,
including the Read, Write, Select, WMFC, and End signals.
 Finally, we must specify the function to be performed by the ALU.
 Let us assume that 16 functions are provided, including Add, Subtract,
AND, and XOR.
 These functions depend on the particular ALU used and do not
necessarily have a one-to-one correspondence with the machine
instruction OP codes.
 In total, 42 control signals are needed.
 If we use the simple encoding scheme described earlier, 42 bits would
be needed in each microinstruction.
 Fortunately, the length of the microinstructions can be reduced easily.
 Most signals are not needed simultaneously, and many signals are
mutually exclusive.
 For example, only one function of the ALU can be activated at a time.
 The source for a data transfer must be unique because it is not possible
to get the contents of two different registers onto the bus at the same
time.
 Read and Write signals to the memory cannot be active simultaneously.
 This suggests that signals can be grouped so that all mutually exclusive
signals are placed in the same group.
 Thus, at most one micro operation per group is specified in any
microinstruction.
 Then it is possible to use a binary coding scheme to represent the
signals within a group.
 For example, four bits suffice to represent the 16 available functions in
the ALU.
 Register output control signals can be placed in a group consisting of
PCout, MDRout, Zout, Offsetout, R0out Rlout, R2out, R3out, and TEMPout.
 Any one of these can be selected by a unique 4-bit code.
 Further natural groupings can be made for the remaining signals.
 Figure 19 shows an example of a partial format for the microinstructions,
in which each group occupies a field large enough to contain the required
codes.
 Most fields must include one inactive code for the case in which no
action is required.
 For example, the all-zero pattern in F1 indicates that none of the
registers that may be specified in this field should have its contents
placed on the bus.
 An inactive code is not needed in all fields.
 For example, F4 contains 4 bits that specify one of the 16 operations
performed in the ALU.
 Since no spare code is included, the ALU is active during the execution
of every microinstruction.
 However, its activity is monitored by the rest of the machine through
register Z, which is loaded only when the Zin signal is activated.
 Grouping control signals into fields requires a little more hardware
because decoding circuits must be used to decode the bit patterns of
each field into individual control signals.
 The cost of this additional hardware is more than offset by the reduced
number of bits in each microinstruction, which results in a smaller control
store.
 In Figure 19, only 20 bits are needed to store the patterns for the 42
signals.
 So far we have considered grouping and encoding only mutually
exclusive control signals.
 We can extend this idea by enumerating the patterns of required signals
in all possible microinstructions.
 Each meaningful combination of active control signals can then be
assigned a distinct code that represents the microinstruction.
 Such full encoding is likely to further reduce the length of micro words but
also to increase the complexity of the required decoder circuits.
Partial Format for the Microinstructions
111: R3
in
0111: R3
out
1010: TEMP
out
1011: Of f set
out
F6 F7 F8
F6 (1 bit) F7 (1 bit) F8 (1 bit)
0: SelectY
1: Select4
0: No action
1: WMFC
0: Continue
1: End
Figure 7.19. An example of a partial format for field-encoded microinstructions.
 Highly encoded schemes that use compact codes to specify only a small
number of control functions in each microinstruction are referred to as a
vertical organization.
 On the other hand, the minimally encoded scheme of Figure 15, in which
many resources can be controlled with a single microinstruction, is
called a horizontal organization.
 The horizontal approach is useful when a higher operating speed is
desired and when the machine structure allows parallel use of
resources.
 The vertical approach results in considerably slower operating speeds
because more microinstructions are needed to perform the desired
control functions.
 Although fewer bits are required for each microinstruction, this does not
imply that the total number of bits in the control store is smaller.
 The significant factor is that less hardware is needed to handle the
execution of microinstructions.
 Horizontal and vertical organizations represent the two
organizational extremes in micro programmed control.
 Many intermediate schemes are also possible, in which the
degree of encoding is a design parameter.
 The layout in Figure 19 is a horizontal organization
because it groups only mutually exclusive micro operations
in the same fields.
 As a result, it does not limit in any way the processor's
ability to perform various micro operations in parallel.
 Although we have considered only a subset of all the
possible control signals, this subset is representative of
actual requirements.
 We have omitted some details that are not essential for
understanding the principles of operation.
Diff between Horizontal and Vertical
S.N
o.
Horizontal Vertical
1 Long format Short format
2 Ability to express a high
degree of parallelism
Limited ability to express
parallel microoperations
3 Little encoding of the control
information
Considerable encoding of the
control information
4 Useful when higher operating
speed is desired
Slower operating speeds
The advantages and disadvantages of horizontal and vertical organizations
can be summarized as follows:
1. The horizontal organization approach is suitable when operating speed
of computer is a critical factor and where the machine structure allows
parallel usage of a number of resources
2. Vertical approach results in slower operations speed but less bits are
required in the microinstruction
3. In vertical approach the significant factor is the reduced requirement for
the parallel hardware required to handle the execution of
microinstructions.

More Related Content

Similar to 20IT204-COA- Lecture 17.pptx

Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and DesignKamal Acharya
 
Control Unit Design
Control Unit DesignControl Unit Design
Control Unit DesignVinit Raut
 
Direct Digital Control
Direct Digital ControlDirect Digital Control
Direct Digital ControlIOSR Journals
 
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...IOSR Journals
 
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...IOSR Journals
 
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...IOSR Journals
 
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...IOSR Journals
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Designmekind
 
Coa module2
Coa module2Coa module2
Coa module2cs19club
 
Design, Construction and Operation of a 4-Bit Counting Circuit
Design, Construction and Operation of a 4-Bit Counting CircuitDesign, Construction and Operation of a 4-Bit Counting Circuit
Design, Construction and Operation of a 4-Bit Counting CircuitIOSR Journals
 
CO Unit 3.pdf (Important chapter of coa)
CO Unit 3.pdf (Important chapter of coa)CO Unit 3.pdf (Important chapter of coa)
CO Unit 3.pdf (Important chapter of coa)guptakrishns23
 
Lecture Notes: EEEC4340318 Instrumentation and Control Systems - Introductio...
Lecture Notes:  EEEC4340318 Instrumentation and Control Systems - Introductio...Lecture Notes:  EEEC4340318 Instrumentation and Control Systems - Introductio...
Lecture Notes: EEEC4340318 Instrumentation and Control Systems - Introductio...AIMST University
 

Similar to 20IT204-COA- Lecture 17.pptx (20)

Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
 
Control Unit Design
Control Unit DesignControl Unit Design
Control Unit Design
 
Direct Digital Control
Direct Digital ControlDirect Digital Control
Direct Digital Control
 
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
 
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
 
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
 
E010132736
E010132736E010132736
E010132736
 
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...Implementation of an Improved Microcontroller Based Moving Message Display Sy...
Implementation of an Improved Microcontroller Based Moving Message Display Sy...
 
Unit II.pptx
Unit II.pptxUnit II.pptx
Unit II.pptx
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
 
Analog to Digital Converter
Analog to Digital ConverterAnalog to Digital Converter
Analog to Digital Converter
 
Control Memory
Control MemoryControl Memory
Control Memory
 
Timers and Endge-aligned PWM
Timers and Endge-aligned PWMTimers and Endge-aligned PWM
Timers and Endge-aligned PWM
 
Coa module2
Coa module2Coa module2
Coa module2
 
Design, Construction and Operation of a 4-Bit Counting Circuit
Design, Construction and Operation of a 4-Bit Counting CircuitDesign, Construction and Operation of a 4-Bit Counting Circuit
Design, Construction and Operation of a 4-Bit Counting Circuit
 
K010137378
K010137378K010137378
K010137378
 
CO Unit 3.pdf (Important chapter of coa)
CO Unit 3.pdf (Important chapter of coa)CO Unit 3.pdf (Important chapter of coa)
CO Unit 3.pdf (Important chapter of coa)
 
Plc notes
Plc notesPlc notes
Plc notes
 
Timing and control
Timing and controlTiming and control
Timing and control
 
Lecture Notes: EEEC4340318 Instrumentation and Control Systems - Introductio...
Lecture Notes:  EEEC4340318 Instrumentation and Control Systems - Introductio...Lecture Notes:  EEEC4340318 Instrumentation and Control Systems - Introductio...
Lecture Notes: EEEC4340318 Instrumentation and Control Systems - Introductio...
 

More from PerumalPitchandi

Lecture Notes on Recommender System Introduction
Lecture Notes on Recommender System IntroductionLecture Notes on Recommender System Introduction
Lecture Notes on Recommender System IntroductionPerumalPitchandi
 
22ADE002 – Business Analytics- Module 1.pptx
22ADE002 – Business Analytics- Module 1.pptx22ADE002 – Business Analytics- Module 1.pptx
22ADE002 – Business Analytics- Module 1.pptxPerumalPitchandi
 
Descriptive_Statistics_PPT.ppt
Descriptive_Statistics_PPT.pptDescriptive_Statistics_PPT.ppt
Descriptive_Statistics_PPT.pptPerumalPitchandi
 
20IT204-COA-Lecture 18.ppt
20IT204-COA-Lecture 18.ppt20IT204-COA-Lecture 18.ppt
20IT204-COA-Lecture 18.pptPerumalPitchandi
 
Capability Maturity Model (CMM).pptx
Capability Maturity Model (CMM).pptxCapability Maturity Model (CMM).pptx
Capability Maturity Model (CMM).pptxPerumalPitchandi
 
Comparison_between_Waterfall_and_Agile_m (1).pptx
Comparison_between_Waterfall_and_Agile_m (1).pptxComparison_between_Waterfall_and_Agile_m (1).pptx
Comparison_between_Waterfall_and_Agile_m (1).pptxPerumalPitchandi
 
Introduction to Data Science.pptx
Introduction to Data Science.pptxIntroduction to Data Science.pptx
Introduction to Data Science.pptxPerumalPitchandi
 
FDS Module I 24.1.2022.ppt
FDS Module I 24.1.2022.pptFDS Module I 24.1.2022.ppt
FDS Module I 24.1.2022.pptPerumalPitchandi
 
FDS Module I 20.1.2022.ppt
FDS Module I 20.1.2022.pptFDS Module I 20.1.2022.ppt
FDS Module I 20.1.2022.pptPerumalPitchandi
 
AgileSoftwareDevelopment.ppt
AgileSoftwareDevelopment.pptAgileSoftwareDevelopment.ppt
AgileSoftwareDevelopment.pptPerumalPitchandi
 
Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxPerumalPitchandi
 

More from PerumalPitchandi (20)

Lecture Notes on Recommender System Introduction
Lecture Notes on Recommender System IntroductionLecture Notes on Recommender System Introduction
Lecture Notes on Recommender System Introduction
 
22ADE002 – Business Analytics- Module 1.pptx
22ADE002 – Business Analytics- Module 1.pptx22ADE002 – Business Analytics- Module 1.pptx
22ADE002 – Business Analytics- Module 1.pptx
 
biv_mult.ppt
biv_mult.pptbiv_mult.ppt
biv_mult.ppt
 
ppt_ids-data science.pdf
ppt_ids-data science.pdfppt_ids-data science.pdf
ppt_ids-data science.pdf
 
ANOVA Presentation.ppt
ANOVA Presentation.pptANOVA Presentation.ppt
ANOVA Presentation.ppt
 
Data Science Intro.pptx
Data Science Intro.pptxData Science Intro.pptx
Data Science Intro.pptx
 
Descriptive_Statistics_PPT.ppt
Descriptive_Statistics_PPT.pptDescriptive_Statistics_PPT.ppt
Descriptive_Statistics_PPT.ppt
 
SW_Cost_Estimation.ppt
SW_Cost_Estimation.pptSW_Cost_Estimation.ppt
SW_Cost_Estimation.ppt
 
CostEstimation-1.ppt
CostEstimation-1.pptCostEstimation-1.ppt
CostEstimation-1.ppt
 
20IT204-COA-Lecture 18.ppt
20IT204-COA-Lecture 18.ppt20IT204-COA-Lecture 18.ppt
20IT204-COA-Lecture 18.ppt
 
Capability Maturity Model (CMM).pptx
Capability Maturity Model (CMM).pptxCapability Maturity Model (CMM).pptx
Capability Maturity Model (CMM).pptx
 
Comparison_between_Waterfall_and_Agile_m (1).pptx
Comparison_between_Waterfall_and_Agile_m (1).pptxComparison_between_Waterfall_and_Agile_m (1).pptx
Comparison_between_Waterfall_and_Agile_m (1).pptx
 
Introduction to Data Science.pptx
Introduction to Data Science.pptxIntroduction to Data Science.pptx
Introduction to Data Science.pptx
 
FDS Module I 24.1.2022.ppt
FDS Module I 24.1.2022.pptFDS Module I 24.1.2022.ppt
FDS Module I 24.1.2022.ppt
 
FDS Module I 20.1.2022.ppt
FDS Module I 20.1.2022.pptFDS Module I 20.1.2022.ppt
FDS Module I 20.1.2022.ppt
 
AgileSoftwareDevelopment.ppt
AgileSoftwareDevelopment.pptAgileSoftwareDevelopment.ppt
AgileSoftwareDevelopment.ppt
 
Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptx
 
Data_exploration.ppt
Data_exploration.pptData_exploration.ppt
Data_exploration.ppt
 
state-spaces29Sep06.ppt
state-spaces29Sep06.pptstate-spaces29Sep06.ppt
state-spaces29Sep06.ppt
 
BIIntro.ppt
BIIntro.pptBIIntro.ppt
BIIntro.ppt
 

Recently uploaded

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 

Recently uploaded (20)

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 

20IT204-COA- Lecture 17.pptx

  • 1. 20IT204 – Computer Organization and Architecture Dr. P. Perumal Professor/CSE Sri Ramakrishna Engineering College Coimbatore – 641022 Academic Year 2021 - 2022 Lecture 17
  • 3. Overview  To execute instructions, the processor must have some means of generating the control signals needed in the proper sequence.  Two categories: hardwired control and microprogrammed control  Hardwired system can operate at high speed; but with little flexibility.
  • 4.  To execute instructions, the processor must have some means of generating the control signals needed in the proper sequence.  Computer designers use a wide variety of techniques to solve this problem.  The approaches used fall into one of two categories: hardwired control and micro programmed control.  We discuss each of these techniques in detail, starting with hardwired control in this section.
  • 5.  Consider the sequence of control signals given in Figure 7 (single bus).  Each step in this sequence is completed in one clock period.  A counter may be used to keep track of the control steps, as shown in Figure 11.  Each state, or count, of this counter corresponds to one control step.  The required control signals are determined by the following information: 1. Contents of the control step counter 2. Contents of the instruction register 3. Contents of the condition code flags 4. External input signals, such as MFC and interrupt requests
  • 6. Control Unit Organization Figure 11. Control unit organization. CLK Clock Control step IR encoder Decoder/ Control signals codes counter inputs Condition External
  • 7.  To gain insight into the structure of the control unit, we start with a simplified view of the hardware involved.  The decoder/encoder block in Figure 11 is a combinational circuit that generates the required control outputs, depending on the state of all its inputs.  By separating the decoding and encoding functions, we obtain the more detailed block diagram in Figure 12.  The step decoder provides a separate signal line for each step, or time slot, in the control sequence.  Similarly, the output of the instruction decoder consists of a separate line for each machine instruction.  For any instruction loaded in the IR, one of the output lines INS1 through INSm is set to 1, and all other lines are set to 0.  The input signals to the encoder block in Figure 12 are combined to generate the individual control signals Yin, PCout, Add, End, and so on.  An example of how the encoder generates the Zin control signal for the processor organization in Figure 12 is given in Figure 13.
  • 8. Detailed Block Description External inputs Figure 7.11. Separation of the decoding and encoding functions. Encoder Reset CLK Clock Control signals counter Run End Condition codes decoder Instruction Step decoder Control step IR T1 T2 Tn INS1 INS2 INS m Fig 12
  • 9.  The control-signals are generated by using logic circuits such as gates, flip-flops, decoders etc. Decoder/Encoder Block is a combinational-circuit that generates required control-outputs depending on state of all its inputs. Instruction Decoder  It decodes the instruction loaded in the IR.  If IR is an 8 bit register, then instruction decoder generates 28(256 lines); one for each instruction.  It consists of a separate output-lines INS1 through INSm for each machine instruction.  According to code in the IR, one of the output-lines INS1 through INSm is set to 1, and all other lines are set to 0.
  • 10.  Step-Decoder provides a separate signal line for each step in the control sequence.  Encoder  It gets the input from instruction decoder, step decoder, external inputs and condition codes.  It uses all these inputs to generate individual control- signals: Yin, PCout, Add, End and so on.  For example (Figure), Zin=T1+T6.ADD+T4.BR ;  This signal is asserted during time-slot T1 for all instructions.  during T6 for an Add instruction.  during T4 for unconditional branch instruction
  • 11. This circuit implements the logic function Zin=T1+T6 * ADD + T4*BR+ ∙ ∙ This signal is asserted during time slot Ti for all instructions, during T6 for an Add instruction, during T4 for an unconditional branch instruction, and so on. The logic function for Zin is derived from the control sequences in Figures 7 and 8. As another example, Figure 14 gives a circuit that generates the End control signal from the logic function End = T7 • ADD + T5 • BR + (T5 • N + T4 • N’) • BRN + • • • The End signal starts a new instruction fetch cycle by resetting the control step counter to its starting value. Figure 12 contains another control signal called RUN. When set 1, RUN causes the counter to be incremented by one at the end of every clock cycle. When RUN is equal to 0, the counter stops counting. This is needed whenever the WMFC signal is issued, to cause the processor to wait for the reply from the memory.
  • 12. Generating Zin  Zin = T1 + T6 • ADD + T4 • BR + … Figure 13. Generation of the Zin control signal for the processor in Figure 1. T1 Add Branch T4 T6
  • 13. Generating End  End = T7 • ADD + T5 • BR + (T5 • N + T4 • N) • BRN +… Figure 7.13.Generation of the End control signal. T7 Add Branch Branch<0 T5 End N N T4 T5
  • 14.  The control hardware shown can be viewed as a state machine that changes from one state to another in every clock cycle, depending on the contents of the instruction register, the condition codes, and the external inputs.  The outputs of the state machine are the control signals.  The sequence of operations carried out by this machine is determined by the wiring of the logic elements, hence the name "hardwired.“  A controller that uses this approach can operate at high speed.  However, it has little flexibility, and the complexity of the instruction set it can implement is limited
  • 15. Advantage: Can operate at high speed. Disadvantages:  Since no. of instructions/control-lines is often in hundreds, the complexity of control unit is very high.  It is costly and difficult to design.  The control unit is inflexible because it is difficult to change the design.
  • 16. A Complete Processor Instruction unit Inte ger unit Floating-point unit Instruction cache Data cache Bus interf ace Main memory Input/ Output Sy stem b us Processor Figure 7.14. Block diagram of a complete processor .
  • 17.  A complete processor can be designed using the structure shown in the above fig.  It consists of  Instruction unit  Integer unit  Floating-point unit  Instruction cache  Data cache  Bus interface unit  Main memory module  Input/Output module.
  • 18.  Instruction unit- It fetches instructions from an instruction cache or from the main memory when the desired instructions are not available in the cache.  Integer unit – To process integer data  Floating unit – To process floating –point data  Data cache – The integer and floating unit gets data from data cache  The 80486 processor has 8k bytes single cache for both instruction and data whereas the Pentium processor has two separate 8k bytes caches for instruction and data.  The processor provides bus interface unit to control the interface of processor to system bus, main memory module and input/output module.
  • 19. Problem 1:For the single bus organization, write the complete control sequence for the instruction: Move (R1), R1 Solution: 1) PCout, MARin, Read, Select4, Add, Zin 2) Zout, PCin, Yin, WMFC 3) MDRout, IRin 4) R1out, MARin, Read 5) MDRinE, WMFC 6) MDRout, R2in, End
  • 20. Problem 2:Write the sequence of control steps required for the single bus organization in each of the following instructions: a) Add the immediate number NUM to register R1. b) Add the contents of memory-location NUM to register R1. c) Add the contents of the memory-location whose address is at memory-location NUM to register R1. Assume that each instruction consists of two words. The first word specifies the operation and N the addressing mode, and the second word contains the number NUM
  • 21.
  • 22. Problem 3:Show the control steps for the Branch on Negative instruction for a processor with three-bus organization of the data path
  • 24. MICROPROGRAMMED CONTROL  ALU is the heart of any computing system, while Control unit is its brain.  The design of a control unit is not unique; it varies from designer to designer. Some of the commonly used control logic design methods are;  Sequence Reg & Decoder method  Hard-wired control method  PLA control method  Micro-program control method
  • 25. The control signals required inside the processor can be generated using a control step counter and a decoder/ encoder circuit. Now we discuss an alternative scheme, called micro programmed control, in which control signals are generated by a program similar to machine language programs.
  • 26.  The principle of microprogramming is an elegant and systematic method for controlling the micro-operation sequences in a digital computer.  First, we introduce some common terms.  A control word (CW) is a word whose individual bits represent the various control signals in Figure 12.  Each of the control steps in the control sequence of an instruction defines a unique combination of 1s and 0s in the CW.  The CWs corresponding to the 7 steps of Figure are shown in Figure 15.  We have assumed that Select Y is represented by Select = 0 and Select4 by Select = 1.  A sequence of CWs corresponding to the control sequence of a machine instruction constitutes the micro routine for that instruction, and the individual control words in this micro routine are referred to as microinstructions.
  • 27. Fig : 15 An example of microinstructions for above fig
  • 28.  The micro routines for all instructions in the instruction set of a computer are stored in a special memory called the control store.  The control unit can generate the control signals for any instruction by sequentially reading the CWs of the corresponding micro routine from the control store.  This suggests organizing the control unit as shown in Figure 16.  To read the control words sequentially from the control store, a micro program counter (μPC) is used.  Every time a new instruction is loaded into the IR, the output of the block labeled "starting address generator" is loaded into the μPC.  The μPC is then automatically incremented by the clock, causing successive microinstructions to be read from the control store.  Hence, the control signals are delivered to various parts of the processor in the correct sequence.
  • 29. Overview Figure 7.16. Basic organization of a microprogrammed control unit. store Control generator Starting address CW Clock PC IR One function cannot be carried out by this simple organization.
  • 30.  One important function of the control unit cannot be implemented by the simple organization in Figure 16 .  This is the situation that arises when the control unit is required to check the status of the condition codes or external inputs to choose between alternative courses of action.  In the case of hardwired control, this situation is handled by including an appropriate logic function, in the encoder circuitry.  In micro programmed control, an alternative approach is to use conditional branch microinstructions.  In addition to the branch address, these microinstructions specify which of the external inputs, condition codes, or, possibly, bits of the instruction register should be checked as a condition for branching to take place.
  • 31.  The instruction Branch < 0 may now be implemented by a micro routine such as that shown in Figure 17.  After loading this instruction into IR, a branch microinstruction transfers control to the corresponding micro routine, which is assumed to start at location 25 in the control store.  The microinstruction at location 25 tests the N bit of the condition codes.  This address is the output of staring address generator block codes.  If this bit is equal to 0, a branch takes place to location 0 to fetch a new machine instruction.  Otherwise, the microinstruction at location 26 is executed to put the branch target address into register Z, as step 4 in figure 7  The microinstruction at location 27 loads this address into the PC
  • 33.  To support micro program branching, the organization of the control unit should be modified as shown in Figure 18.  The starting address generator block of Figure 16 becomes the starting and branch address generator.  This block loads a new address into the μPC when a microinstruction instructs it to do so.  To allow implementation of a conditional branch, inputs to this block consist of the external inputs and condition codes as well as the contents of the instruction register.  In this control unit, the μPC is incremented every time a new microinstruction is fetched from the micro program memory, except in the following situations: 1. When a new instruction is loaded into the IR, the μPC is loaded with the starting address of the micro routine for that instruction. 2. When a Branch microinstruction is encountered and the branch condition is satisfied, the μPC is loaded with the branch address. 3. When an End microinstruction is encountered, the μPC is loaded with the address of the first CW in the micro routine for the instruction fetch cycle
  • 34. Overview Figure 7.18. Organization of the control unit to allow conditional branching in the microprogram. (fig – 8) Control store Clock generator Starting and branch address Condition codes inputs External CW IR PC
  • 35. Microprogrammed Control Unit Advantages  It simplifies the design of control unit. Thus it is both, cheaper and less error prone implement.  Control functions are implemented in software rather than hardware.  The design process is orderly and systematic.  More flexible, can be changed to accommodate new system specifications or to correct the design errors quickly and cheaply.  Complex function such as floating point arithmetic can be realized efficiently. Disadvantages  A microprogrammed control unit is somewhat slower than the hardwired control unit, because time is required to access the microinstructions from CM.  The flexibility is achieved at some extra hardware cost due to the control memory and its access circuitry.
  • 36. Microinstructions  Having described a scheme for sequencing microinstructions, we now take a closer look at the format of individual microinstructions.  A straightforward way to structure Microinstruction is to assign one bit position to each control signal, as in Figure 15.  This scheme has one serious drawback — assigning individual bits to each control signal results in long microinstructions because the number of required signals is usually large.  Moreover, only a few bits are set to 1 (to be used for active gating) in any given microinstruction, which means the available bit space is poorly used.  Consider again the simple processor of Figure 1, and assume that it contains only four general purpose registers, R0, R1, R2, and R3.
  • 37.  Some of the connections in this processor are permanently enabled, such as the output of the IR to the decoding circuits and both inputs to the ALU.  The remaining connections to various registers require a total of 20 gating signals.  Additional control signals not shown in the figure are also needed, including the Read, Write, Select, WMFC, and End signals.  Finally, we must specify the function to be performed by the ALU.  Let us assume that 16 functions are provided, including Add, Subtract, AND, and XOR.  These functions depend on the particular ALU used and do not necessarily have a one-to-one correspondence with the machine instruction OP codes.  In total, 42 control signals are needed.  If we use the simple encoding scheme described earlier, 42 bits would be needed in each microinstruction.  Fortunately, the length of the microinstructions can be reduced easily.  Most signals are not needed simultaneously, and many signals are mutually exclusive.
  • 38.  For example, only one function of the ALU can be activated at a time.  The source for a data transfer must be unique because it is not possible to get the contents of two different registers onto the bus at the same time.  Read and Write signals to the memory cannot be active simultaneously.  This suggests that signals can be grouped so that all mutually exclusive signals are placed in the same group.  Thus, at most one micro operation per group is specified in any microinstruction.  Then it is possible to use a binary coding scheme to represent the signals within a group.  For example, four bits suffice to represent the 16 available functions in the ALU.  Register output control signals can be placed in a group consisting of PCout, MDRout, Zout, Offsetout, R0out Rlout, R2out, R3out, and TEMPout.  Any one of these can be selected by a unique 4-bit code.
  • 39.  Further natural groupings can be made for the remaining signals.  Figure 19 shows an example of a partial format for the microinstructions, in which each group occupies a field large enough to contain the required codes.  Most fields must include one inactive code for the case in which no action is required.  For example, the all-zero pattern in F1 indicates that none of the registers that may be specified in this field should have its contents placed on the bus.  An inactive code is not needed in all fields.  For example, F4 contains 4 bits that specify one of the 16 operations performed in the ALU.  Since no spare code is included, the ALU is active during the execution of every microinstruction.  However, its activity is monitored by the rest of the machine through register Z, which is loaded only when the Zin signal is activated.
  • 40.  Grouping control signals into fields requires a little more hardware because decoding circuits must be used to decode the bit patterns of each field into individual control signals.  The cost of this additional hardware is more than offset by the reduced number of bits in each microinstruction, which results in a smaller control store.  In Figure 19, only 20 bits are needed to store the patterns for the 42 signals.  So far we have considered grouping and encoding only mutually exclusive control signals.  We can extend this idea by enumerating the patterns of required signals in all possible microinstructions.  Each meaningful combination of active control signals can then be assigned a distinct code that represents the microinstruction.  Such full encoding is likely to further reduce the length of micro words but also to increase the complexity of the required decoder circuits.
  • 41. Partial Format for the Microinstructions 111: R3 in 0111: R3 out 1010: TEMP out 1011: Of f set out F6 F7 F8 F6 (1 bit) F7 (1 bit) F8 (1 bit) 0: SelectY 1: Select4 0: No action 1: WMFC 0: Continue 1: End Figure 7.19. An example of a partial format for field-encoded microinstructions.
  • 42.  Highly encoded schemes that use compact codes to specify only a small number of control functions in each microinstruction are referred to as a vertical organization.  On the other hand, the minimally encoded scheme of Figure 15, in which many resources can be controlled with a single microinstruction, is called a horizontal organization.  The horizontal approach is useful when a higher operating speed is desired and when the machine structure allows parallel use of resources.  The vertical approach results in considerably slower operating speeds because more microinstructions are needed to perform the desired control functions.  Although fewer bits are required for each microinstruction, this does not imply that the total number of bits in the control store is smaller.  The significant factor is that less hardware is needed to handle the execution of microinstructions.
  • 43.  Horizontal and vertical organizations represent the two organizational extremes in micro programmed control.  Many intermediate schemes are also possible, in which the degree of encoding is a design parameter.  The layout in Figure 19 is a horizontal organization because it groups only mutually exclusive micro operations in the same fields.  As a result, it does not limit in any way the processor's ability to perform various micro operations in parallel.  Although we have considered only a subset of all the possible control signals, this subset is representative of actual requirements.  We have omitted some details that are not essential for understanding the principles of operation.
  • 44. Diff between Horizontal and Vertical S.N o. Horizontal Vertical 1 Long format Short format 2 Ability to express a high degree of parallelism Limited ability to express parallel microoperations 3 Little encoding of the control information Considerable encoding of the control information 4 Useful when higher operating speed is desired Slower operating speeds The advantages and disadvantages of horizontal and vertical organizations can be summarized as follows: 1. The horizontal organization approach is suitable when operating speed of computer is a critical factor and where the machine structure allows parallel usage of a number of resources 2. Vertical approach results in slower operations speed but less bits are required in the microinstruction 3. In vertical approach the significant factor is the reduced requirement for the parallel hardware required to handle the execution of microinstructions.