UNIT 6 Basic Processing Unit - faculty.pictinc.org

59
UNIT 6 Basic Processing Unit

Transcript of UNIT 6 Basic Processing Unit - faculty.pictinc.org

Page 1: UNIT 6 Basic Processing Unit - faculty.pictinc.org

UNIT 6Basic Processing Unit

Page 2: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Objectives

• How a processor execute an instruction?

• The internal functional units of processor and howthey are interconnected?

• H/w for generating internal control signal.

• The micro programming approach.

• Micro program organization.

R. V. Bidwe, PICT, Pune 2

Page 3: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Fundamental Concepts

• The processor fetches one instruction at atime and performs the operation specified.

• Instructions are fetched from successivememory locations until a branch or a jumpinstruction is encountered.

• The processor uses the Program Counter (PC),to keep track of the address of the nextinstruction to be fetched and executed.

3R. V. Bidwe, PICT, Pune

Page 4: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• After fetching an instruction, the contents of thePC are updated to point to the next instruction insequence.

• A branch instruction may cause a different valueto be loaded into the PC.

• When an instruction is fetched, it is placed in theInstruction Register (IR), from where it isinterpreted, or decoded, by the processor’scontrol circuitry.

• The IR holds the instruction until its execution iscompleted.

4R. V. Bidwe, PICT, Pune

Page 5: UNIT 6 Basic Processing Unit - faculty.pictinc.org

5R. V. Bidwe, PICT, Pune

Page 6: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• Fetching an instruction and loading it into the IR isusually referred to as the Instruction Fetch Phase.

• Performing the operation specified in the instructionconstitutes the Instruction Execution Phase.

• With few exceptions, the operation specified by aninstruction can be carried out by performing one ormore of the following actions:– Read the contents of a given memory location and load

them into a processor register.

– Read data from one or more processor registers.

– Perform an arithmetic or logic operation and place theresult into a processor register.

– Store data from a processor register into a given memorylocation. R. V. Bidwe, PICT, Pune 6

Page 7: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Main Hardware Components of a Processor

R. V. Bidwe, PICT, Pune 7

Page 8: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Single-Bus Organization of the Datapath

8R. V. Bidwe, PICT, Pune

Page 9: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• MAR: Memory Address Register

• MDR: Memory Data Register

• Y, Z, TEMP: Temporary Registers used by processor.

• R0 To R(n-1): General Purpose Registers

• PC: Program Counter

• IR: Instruction Register

R. V. Bidwe, PICT, Pune 9

Page 10: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Register Transfers

10R. V. Bidwe, PICT, Pune

Page 11: UNIT 6 Basic Processing Unit - faculty.pictinc.org

R. V. Bidwe, PICT, Pune 11

Page 12: UNIT 6 Basic Processing Unit - faculty.pictinc.org

R. V. Bidwe, PICT, Pune 12

Page 13: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Arithmetic Operation

13R. V. Bidwe, PICT, Pune

Page 14: UNIT 6 Basic Processing Unit - faculty.pictinc.org

R3=R1+R2

Set of control signals or microinstructions generated are

1. R1out, Yin

2. R2out, SelectY, Add, Zin

3. Zout, R3in

14R. V. Bidwe, PICT, Pune

Page 15: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Examples

1. Add R4,R2,R5

2. SUB R3,R2,R1

R. V. Bidwe, PICT, Pune 15

Page 16: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Read operation from Memory• MOVE [R1],R2

1. MAR<- [R1]

2. Start a Read operation on the memory bus

3. Wait for the MFC response from the memory

4. Load MDR from the memory bus

5. R2<- [MDR]

Memory Function Completed (MFC) Signal: Processor waits until it

receives an indication that requested read operation has been

completed. This signal will be 1, required data is read and

available on data line to access.16R. V. Bidwe, PICT, Pune

Page 17: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Fetching a Word from Memory

17R. V. Bidwe, PICT, Pune

Page 18: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Write Operation to Memory

• MOVE R2,(R1)

1. R1out, MARin

2. R2out, MDRinE, Write

3. MDRoutE , WMFC

18R. V. Bidwe, PICT, Pune

Page 19: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Execution of Complete Instruction

Consider instruction:

Add (R3) ,R1(Which adds the contents of a memory location pointed to by R3 to register R1)

Executing this instruction require following steps:

1. Fetch the instruction

2. Fetch the first operand (R3)

3. Perform the addition

4. Load the result into R1

19R. V. Bidwe, PICT, Pune

Page 20: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Execution of Complete Instruction

20R. V. Bidwe, PICT, Pune

Page 21: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Example

1. SUB (R3) ,R1

R. V. Bidwe, PICT, Pune 21

Page 22: UNIT 6 Basic Processing Unit - faculty.pictinc.org

BRANCH Instructions (Unconditional)

Steps Action

1 PCout , MARin, Read, Select4, Add, Zin

2 Zout, PCin, Yin, WMFC

3 MDRout, IRin

4 Offset-field-of-IRout, Add, Zin

5 Zout, PCin, End

The offset X used in the branch instruction is usually difference between the branchtarget address and the address immediately following the branch instruction

22R. V. Bidwe, PICT, Pune

Page 23: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Generating Control Signals

• To execute instructions, the processorrequires some unit to generate controlsignals in proper sequence.

• Proposed approach system is of two kinds:

– Hardwired Control

– Micro-programmed Control

R. V. Bidwe, PICT, Pune 23

Page 24: UNIT 6 Basic Processing Unit - faculty.pictinc.org

1. Hardwired Control: In hardwired control, controlsignals required inside processor can be generatedusing a dedicated hardware device.

2. Micro-programmed Control: In micro-programmedcontrol, control signals are generated by a specialprogram similar to machine language programs.

R. V. Bidwe, PICT, Pune 24

Page 25: UNIT 6 Basic Processing Unit - faculty.pictinc.org

1. Hardwired Control

• In hardwired control, control signals requiredinside processor can be generated usinggenerated using a dedicated hardware device.

• Hardware device Control Step Counter andDecoder/Encoder Circuit.

R. V. Bidwe, PICT, Pune 25

Page 26: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Example

26R. V. Bidwe, PICT, Pune

Page 27: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• Eg. Consider set of microinstructions on previousslide. Consider each step in a sequence iscompleted in one clock period. Processor usescounter to keep track of each clock period.

• Each step or count corresponds to one controlstep. The required control signals are determinedby following information:

– Content of Control Step Counter– Contents of Instruction Register– Contents of Conditional Flags– External Control Signals (eg. MFC, Interrupt requests)

R. V. Bidwe, PICT, Pune 27

Page 28: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Control Unit Organization

R. V. Bidwe, PICT, Pune 28

Page 29: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Detailed Control Design

R. V. Bidwe, PICT, Pune 29

Page 30: UNIT 6 Basic Processing Unit - faculty.pictinc.org

A Complete Processor

• It consists of

– Instruction Unit

– Integer Unit

– Floating-point Unit

– Instruction Cache

– Data Cache

– Bus Interface Unit

– Main Memory Module

– Input/Output Module.

R. V. Bidwe, PICT, Pune 30

Page 31: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Block Diagram of a Complete Processor

R. V. Bidwe, PICT, Pune 31

Page 32: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• Instruction Unit- It fetches instructions from aninstruction cache or from the main memory when thedesired 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 datafrom data cache.

• Instruction Cache- The integer and floating unit getsnext instruction from instruction cache.

R. V. Bidwe, PICT, Pune 32

Page 33: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• Every instruction in a processor is implemented by asequence of one or more sets of concurrent microoperations.

• Each micro operation is associated with a specific set ofcontrol lines which, when activated, causes that microoperation to take place.

• Since the number of instructions and control lines is oftenin the hundreds, the complexity of hardwired control unitis very high.

• Thus, it is costly and difficult to design.

• The hardwired control unit is relatively inflexible becauseit is difficult to change the design, if one wishes to correctdesign error or modify the instruction set.

R. V. Bidwe, PICT, Pune 33

Page 34: UNIT 6 Basic Processing Unit - faculty.pictinc.org

2. Micro-programmed Control

• In micro-programmed control, control signalsare generated by a Special Program similar tomachine language programs.

R. V. Bidwe, PICT, Pune 34

Page 35: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• Microprogramming is a method of control unit designwhich contains the Control Signal Memory CM.

• The control signals to be activated at any time arespecified by a microinstruction, which is fetched fromCM.

• A sequence of one or more micro operations designedto control specific operation, such as addition,multiplication is called a Micro Program.

R. V. Bidwe, PICT, Pune 35

Micro-programmed Control

Page 36: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Basic organization of a micro-programmed control unit

R. V. Bidwe, PICT, Pune 36

Page 37: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Micro-programmed Control Unit

R. V. Bidwe, PICT, Pune 37

Page 38: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• The address where these microinstructions arestored in CM is generated by MicroprogramSequencer/Microprogram Controller.

• The microprogram sequencer generates theaddress for microinstruction according to theinstruction stored in the IR.

• The microprogrammed control unit contains- Control Memory- Control Address Register- Micro Instruction Register- Microprogram Sequencer

R. V. Bidwe, PICT, Pune 38

Page 39: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• The components of control unit work together asfollows:– The Control Address Register holds the address of the

next microinstruction to be read.

– When address is available in control address register, thesequencer issues READ command to the Control Memory.

– After issue of READ command, the word from theaddressed location is read into the MicroinstructionRegister.

– Now the content of the Micro Instruction Registergenerates control signals and next address information forthe Sequencer.

– The sequencer loads a new address into the controladdress register based on the next address information.

R. V. Bidwe, PICT, Pune 39

Page 40: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• Advantages of Microprogrammed control

– It simplifies the design of control unit. Thus it isboth, cheaper and less error prone implement.

– Control functions are implemented in softwarerather than hardware.

– The design process is orderly and systematic.

– More flexible, can be changed to accommodatenew system specifications or to correct the designerrors quickly and cheaply.

– Complex function such as floating point arithmeticcan be realized efficiently.

R. V. Bidwe, PICT, Pune 40

Page 41: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• Disadvantages of Microprogrammed control

– A microprogrammed control unit is somewhatSlower than the hardwired control unit, becausetime is required to access the microinstructionsfrom CM.

– The flexibility is achieved at some extra hardwarecost due to the control memory and its accesscircuitry.

R. V. Bidwe, PICT, Pune 41

Page 42: UNIT 6 Basic Processing Unit - faculty.pictinc.org

R. V. Bidwe, PICT, Pune 42

Page 43: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Microinstructions

• A simple way to structure microinstructions isto assign one bit position to each controlsignal required in the CPU.

R. V. Bidwe, PICT, Pune 43

Page 44: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Example

44R. V. Bidwe, PICT, Pune

Page 45: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Micro-programmed control

R. V. Bidwe, PICT, Pune 45

Page 46: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Micro-instruction Types

• Vertical Micro-programming: Each micro-instruction specifies single (or few) micro-operations to be performed.

• Horizontal Micro-programming: Each micro-instruction specifies many different micro-operations to be performed in parallel.

R. V. Bidwe, PICT, Pune 46

Page 47: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Vertical Micro-programming

• Width is narrow.

• ‘n’ control signals encoded into ‘log to base 2 ofn’ bits.

• Limited ability to express parallelism.

• Considerable encoding of control informationrequires external memory word decoder toidentify the exact control line being manipulated.

R. V. Bidwe, PICT, Pune 47

Page 48: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Horizontal Micro-programming

• Wide memory word.

• High degree of parallel operations possible.

• Little encoding of control information.

R. V. Bidwe, PICT, Pune 48

Page 49: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Typical Microinstruction Formats

R. V. Bidwe, PICT, Pune 49

Page 50: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Horizontal Microcode

• In the horizontal format, each control signal isrepresented by a single bit in the control word. Thus,if the design has 500 control signals, this will require500 bits in each control word to store the control bits.

• In this format, the control store looks horizontal inshape since the control words are wide.

• The disadvantage of the horizontal format is that thesize of the control store is large. However, it has theadvantage of speed of operation as the control signalswill be ready as soon as the control word is fetchedfrom the control store.

R. V. Bidwe, PICT, Pune 50

Page 51: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Vertical Microcode• In the vertical microcode organization, the following

steps are performed:

– Identify the number of distinct control words in the design.

– Encode each distinct control word by assigning a unique n-bit code to it, where n is log2 (number of distinct controlwords).

– Instead of storing the actual control signals that need to begenerated, only the n-bit code is stored for each CW.

– Use a nx2n decoder to generate a decoded signal for eachdistinct control word.

– To generate the control signals, use an OR gate based onthe decoded control word signals, for each control signal inthe design.

R. V. Bidwe, PICT, Pune 51

Page 52: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Differences of horizontal and vertical micro code

R. V. Bidwe, PICT, Pune 52

Page 53: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Microprogram Sequencing• The task of microprogram sequencing is done by

Microprogram Sequencer.

• 2 important factors must be considered while designing themicroprogram sequencer:– The Size of the Microinstruction– The Address Generation Time

• The size of the microinstruction should be minimum sothat the size of control memory required to storemicroinstructions is also less. This reduces the cost ofcontrol memory.

• The address generation time should be less,microinstruction can be executed in less time resultingbetter throughout.

R. V. Bidwe, PICT, Pune 53

Page 54: UNIT 6 Basic Processing Unit - faculty.pictinc.org

• During execution of a microprogram the addressof the next microinstruction can be obtainedfrom 3 sources:

i. Determined by Instruction Register

ii. Next sequential address

iii. Branch

• Microinstructions can be shared usingmicroinstruction branching.

R. V. Bidwe, PICT, Pune 54

Page 55: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Micro Instruction Sequencing

R. V. Bidwe, PICT, Pune 55

Page 56: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Wide-Branch Addressing• Generating branch addresses becomes more difficult as

the number of branches increases.• In such situations Programmable Logic Array (PLA) can

be used to generate the required branch addresses.• The simple and inexpensive way of generating branch

addresses is known as Wide-branch Addressing.• The opcode of a machine instruction is translated into

the starting address of the corresponding micro-routine.

• This is achieved by connecting the opcode bits of theinstruction register as inputs to the PLA, which acts as adecoder.

• The output of the PLA is the address of the desiredmicroroutine.

R. V. Bidwe, PICT, Pune 56

Page 57: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Microinstruction with next address field

R. V. Bidwe, PICT, Pune 57

Page 58: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Pre-fetching Microinstructions

R. V. Bidwe, PICT, Pune 58

Page 59: UNIT 6 Basic Processing Unit - faculty.pictinc.org

Emulation

• Emulation allow us to replace obsoleteequipment with more up to date machines.

• If replacement computer fully emulates theoriginal one, then no software changes have tobe made to run existing programs.

• Thus, emulation facilitates transition to newcomputer systems with minimal disruption.

• Emulation will be easy if machine involves arehaving same architecture.

R. V. Bidwe, PICT, Pune 59