SlideShare a Scribd company logo
William Stallings
Computer Organization
and Architecture

Chapter 11
CPU Structure
and Function




                        1
CPU Structure

 CPU must:
   Fetch instructions
   Interpret instructions
   Fetch data
   Process data
   Write data




                            2
Registers

 CPU must have some working space
 (temporary storage)
 Called registers
 Number and function vary between processor
 designs
 One of the major design decisions
 Top level of memory hierarchy


                                   3
User Visible Registers

 General Purpose
 Data
 Address
 Condition Codes




                         4
General Purpose Registers (1)

 May be true general purpose
 May be restricted
 May be used for data or addressing
 Data
   Accumulator
 Addressing
   Segment



                                      5
General Purpose Registers (2)

 Make them general purpose
   Increase flexibility and programmer options
   Increase instruction size & complexity
 Make them specialized
   Smaller (faster) instructions
   Less flexibility




                                           6
How Many GP Registers?

 Between 8 - 32
 Fewer = more memory references
 More does not reduce memory references and
 takes up processor real estate
 See also RISC




                                   7
How big?

 Large enough to hold full address
 Large enough to hold full word
 Often possible to combine two data registers
   C programming
   double int a;
   long int a;




                                      8
Condition Code Registers

 Sets of individual bits
   e.g. result of last operation was zero
 Can be read (implicitly) by programs
   e.g. Jump if zero
 Can not (usually) be set by programs




                                            9
Control & Status Registers

 Program Counter
 Instruction Decoding Register
 Memory Address Register
 Memory Buffer Register

 Revision: what do these all do?



                                   10
Program Status Word
 A set of bits
 Includes Condition Codes
 Sign of last result
 Zero
 Carry
 Equal
 Overflow
 Interrupt enable/disable
 Supervisor
                            11
Supervisor Mode

 Intel ring zero
 Kernel mode
 Allows privileged instructions to execute
 Used by operating system
 Not available to user programs




                                       12
Other Registers

 May have registers pointing to:
   Process control blocks (see O/S)
   Interrupt Vectors (see O/S)


 N.B. CPU design and operating system design
 are closely linked




                                      13
Example Register Organizations




                       14
Foreground Reading

 Stallings Chapter 11
 Manufacturer web sites & specs




                                  15
Instruction Cycle

 Revision
 Stallings Chapter 3




                       16
Indirect Cycle

 May require memory access to fetch operands
 Indirect addressing requires more memory
 accesses
 Can be thought of as additional instruction
 subcycle




                                   17
Instruction Cycle with Indirect




                         18
Instruction Cycle State Diagram




                        19
Data Flow (Instruction Fetch)

 Depends on CPU design
 In general:

 Fetch
   PC contains address of next instruction
   Address moved to MAR
   Address placed on address bus
   Control unit requests memory read
   Result placed on data bus, copied to MBR, then to IR
   Meanwhile PC incremented by 1           20
Data Flow (Data Fetch)

 IR is examined
 If indirect addressing, indirect cycle is performed
   Right most N bits of MBR transferred to MAR
   Control unit requests memory read
   Result (address of operand) moved to MBR




                                          21
Data Flow (Fetch Diagram)




                       22
Data Flow (Indirect Diagram)




                        23
Data Flow (Execute)

 May take many forms
 Depends on instruction being executed
 May include
   Memory read/write
   Input/Output
   Register transfers
   ALU operations



                                    24
Data Flow (Interrupt)

 Simple
 Predictable
 Current PC saved to allow resumption after interrupt
 Contents of PC copied to MBR
 Special memory location (e.g. stack pointer) loaded to
 MAR
 MBR written to memory
 PC loaded with address of interrupt handling routine
 Next instruction (first of interrupt handler) can be fetched

                                               25
Data Flow (Interrupt Diagram)




                        26
Prefetch

 Fetch accessing main memory
 Execution usually does not access main
 memory
 Can fetch next instruction during execution of
 current instruction
 Called instruction prefetch




                                       27
Improved Performance

 But not doubled:
   Fetch usually shorter than execution
      Prefetch more than one instruction?
   Any jump or branch means that prefetched
   instructions are not the required instructions
 Add more stages to improve performance




                                              28
Pipelining

 Fetch instruction
 Decode instruction
 Calculate operands (i.e. EAs)
 Fetch operands
 Execute instructions
 Write result

 Overlap these operations
                                 29
Timing of Pipeline




                     30
Branch in a Pipeline




                       31
Dealing with Branches

 Multiple Streams
 Prefetch Branch Target
 Loop buffer
 Branch prediction
 Delayed branching




                          32
Multiple Streams

 Have two pipelines
 Prefetch each branch into a separate pipeline
 Use appropriate pipeline

 Leads to bus & register contention
 Multiple branches lead to further pipelines being
 needed


                                       33
Prefetch Branch Target

 Target of branch is prefetched in addition to
 instructions following branch
 Keep target until branch is executed
 Used by IBM 360/91




                                       34
Loop Buffer

 Very fast memory
 Maintained by fetch stage of pipeline
 Check buffer before fetching from memory
 Very good for small loops or jumps
 c.f. cache
 Used by CRAY-1



                                    35
Branch Prediction (1)

 Predict never taken
   Assume that jump will not happen
   Always fetch next instruction
   68020 & VAX 11/780
   VAX will not prefetch after branch if a page fault
   would result (O/S v CPU design)
 Predict always taken
   Assume that jump will happen
   Always fetch target instruction

                                              36
Branch Prediction (2)

 Predict by Opcode
   Some instructions are more likely to result in a jump
   than thers
   Can get up to 75% success
 Taken/Not taken switch
   Based on previous history
   Good for loops




                                             37
Branch Prediction (3)

 Delayed Branch
   Do not take jump until you have to
   Rearrange instructions




                                        38
Branch Prediction State
Diagram




                          39
Foreground Reading

 Processor examples
 Stallings Chapter 11
 Web pages etc.




                        40

More Related Content

PPTX
Instruction Pipelining
PPTX
pipelining
PPT
Pipelinig hazardous
PPTX
Computer Architecture
PPT
Performance Enhancement with Pipelining
PPTX
Instruction pipelining
PPTX
Pipelining , structural hazards
PPTX
Run time, frequently, non-frequently reconfigurable system &
Instruction Pipelining
pipelining
Pipelinig hazardous
Computer Architecture
Performance Enhancement with Pipelining
Instruction pipelining
Pipelining , structural hazards
Run time, frequently, non-frequently reconfigurable system &

What's hot (20)

PPT
Pipelining
PPTX
Pipelining, processors, risc and cisc
PPT
pipeline and pipeline hazards
PPTX
Conditional branches
PPTX
Pipelining of Processors
PPT
pipelining
PDF
Pipelining
PPTX
Superscalar Architecture_AIUB
PPTX
Windows process scheduling presentation
PPTX
RISC Vs CISC, Harvard v/s Van Neumann
PPT
Ct213 processor design_pipelinehazard
PPSX
Concept of Pipelining
PPTX
pipelining and hazards occure in assembly language.
PPT
Pipeline hazard
PPT
1.prallelism
PPTX
PPT
pipeline and vector processing
PPTX
Windows process-scheduling
DOC
Pipeline Mechanism
PPTX
3 Pipelining
Pipelining
Pipelining, processors, risc and cisc
pipeline and pipeline hazards
Conditional branches
Pipelining of Processors
pipelining
Pipelining
Superscalar Architecture_AIUB
Windows process scheduling presentation
RISC Vs CISC, Harvard v/s Van Neumann
Ct213 processor design_pipelinehazard
Concept of Pipelining
pipelining and hazards occure in assembly language.
Pipeline hazard
1.prallelism
pipeline and vector processing
Windows process-scheduling
Pipeline Mechanism
3 Pipelining
Ad

Viewers also liked (20)

PPT
ppt of EG
PPTX
Ppt of es(final)
PPTX
Ppt of aem some special function
PPTX
Ppt of dbms e r features
PPT
ppt of CPU(GPS)
PPTX
ppt of CS
PPT
IT209 Cpu Structure Report
PPTX
ppt of Calculus
PPT
12 processor structure and function
PPTX
Semikonduktor
PPTX
ppt of Phy(Nano Material)
PPT
ppt of BE
PPTX
ppt of CPD(Embarking the Journey of Contributorship)
PPTX
ppt of CPD(Focus on Value)
PPTX
ppt of VCLA
PPTX
ppt of CPD
PPTX
ppt of EME
PPTX
ppt of EEE(MCB)
PPTX
Interrupts of microprocessor 8085
PPTX
Slideshare ppt
ppt of EG
Ppt of es(final)
Ppt of aem some special function
Ppt of dbms e r features
ppt of CPU(GPS)
ppt of CS
IT209 Cpu Structure Report
ppt of Calculus
12 processor structure and function
Semikonduktor
ppt of Phy(Nano Material)
ppt of BE
ppt of CPD(Embarking the Journey of Contributorship)
ppt of CPD(Focus on Value)
ppt of VCLA
ppt of CPD
ppt of EME
ppt of EEE(MCB)
Interrupts of microprocessor 8085
Slideshare ppt
Ad

Similar to Chapter 7 cpu struktur dan fungsi (20)

PPT
12 processor structure and function
PPT
cs-procstruc.ppt
PPT
12 processor structure and function
PPTX
CPU Structure and Function.pptx
PPT
coa Chapter 2 final edited*Minimum 40 characters required.ppt
PPT
Chapt12Processor Structure and Function.ppt
PPT
14 superscalar
PPT
Instruction Level Parallelism and Superscalar Processors
PPTX
2024_lecture12_come321.pptx..................
DOCX
Operating system
PPTX
PPTX
Processor Organization and Architecture
PPT
PDF
Arm11
PPT
RISC.ppt
PPT
13 risc
PDF
Ch2 embedded processors-i
PDF
Central processing unit i
PPTX
lecture2.pptx
PPT
CAO_lecutre4 Processor basics (1) (1)smmsnsm
12 processor structure and function
cs-procstruc.ppt
12 processor structure and function
CPU Structure and Function.pptx
coa Chapter 2 final edited*Minimum 40 characters required.ppt
Chapt12Processor Structure and Function.ppt
14 superscalar
Instruction Level Parallelism and Superscalar Processors
2024_lecture12_come321.pptx..................
Operating system
Processor Organization and Architecture
Arm11
RISC.ppt
13 risc
Ch2 embedded processors-i
Central processing unit i
lecture2.pptx
CAO_lecutre4 Processor basics (1) (1)smmsnsm

More from risal07 (20)

PPTX
Transistor
PPTX
Thyristor
PPTX
Jenis kapasitor
PPTX
Induktor
PPTX
Hukum kirchhoff
PPTX
Dioda
PPT
Chapter 6 input output
PPTX
Bab 7 struktur looping
PPTX
Bab 12 metode greedy
PPT
Bab 11 interface metaphorsdanmodelkonseptual
PPTX
Bab 9 penjadwalan cpu
PPTX
Bab 8 struktur rekursif
PPTX
Bab 7 struktur looping
PPTX
Bab 6 konsep dasar pemrograman (2)
PPTX
Bab 5 diagram alur (flowchart)
PPTX
Bab 4 konsep algoritma
PPTX
Bab 3 notasi algoritma
PPTX
Bab 5
PPTX
Bab 4
PPT
Bab 2
Transistor
Thyristor
Jenis kapasitor
Induktor
Hukum kirchhoff
Dioda
Chapter 6 input output
Bab 7 struktur looping
Bab 12 metode greedy
Bab 11 interface metaphorsdanmodelkonseptual
Bab 9 penjadwalan cpu
Bab 8 struktur rekursif
Bab 7 struktur looping
Bab 6 konsep dasar pemrograman (2)
Bab 5 diagram alur (flowchart)
Bab 4 konsep algoritma
Bab 3 notasi algoritma
Bab 5
Bab 4
Bab 2

Chapter 7 cpu struktur dan fungsi

  • 1. William Stallings Computer Organization and Architecture Chapter 11 CPU Structure and Function 1
  • 2. CPU Structure CPU must: Fetch instructions Interpret instructions Fetch data Process data Write data 2
  • 3. Registers CPU must have some working space (temporary storage) Called registers Number and function vary between processor designs One of the major design decisions Top level of memory hierarchy 3
  • 4. User Visible Registers General Purpose Data Address Condition Codes 4
  • 5. General Purpose Registers (1) May be true general purpose May be restricted May be used for data or addressing Data Accumulator Addressing Segment 5
  • 6. General Purpose Registers (2) Make them general purpose Increase flexibility and programmer options Increase instruction size & complexity Make them specialized Smaller (faster) instructions Less flexibility 6
  • 7. How Many GP Registers? Between 8 - 32 Fewer = more memory references More does not reduce memory references and takes up processor real estate See also RISC 7
  • 8. How big? Large enough to hold full address Large enough to hold full word Often possible to combine two data registers C programming double int a; long int a; 8
  • 9. Condition Code Registers Sets of individual bits e.g. result of last operation was zero Can be read (implicitly) by programs e.g. Jump if zero Can not (usually) be set by programs 9
  • 10. Control & Status Registers Program Counter Instruction Decoding Register Memory Address Register Memory Buffer Register Revision: what do these all do? 10
  • 11. Program Status Word A set of bits Includes Condition Codes Sign of last result Zero Carry Equal Overflow Interrupt enable/disable Supervisor 11
  • 12. Supervisor Mode Intel ring zero Kernel mode Allows privileged instructions to execute Used by operating system Not available to user programs 12
  • 13. Other Registers May have registers pointing to: Process control blocks (see O/S) Interrupt Vectors (see O/S) N.B. CPU design and operating system design are closely linked 13
  • 15. Foreground Reading Stallings Chapter 11 Manufacturer web sites & specs 15
  • 16. Instruction Cycle Revision Stallings Chapter 3 16
  • 17. Indirect Cycle May require memory access to fetch operands Indirect addressing requires more memory accesses Can be thought of as additional instruction subcycle 17
  • 18. Instruction Cycle with Indirect 18
  • 20. Data Flow (Instruction Fetch) Depends on CPU design In general: Fetch PC contains address of next instruction Address moved to MAR Address placed on address bus Control unit requests memory read Result placed on data bus, copied to MBR, then to IR Meanwhile PC incremented by 1 20
  • 21. Data Flow (Data Fetch) IR is examined If indirect addressing, indirect cycle is performed Right most N bits of MBR transferred to MAR Control unit requests memory read Result (address of operand) moved to MBR 21
  • 22. Data Flow (Fetch Diagram) 22
  • 23. Data Flow (Indirect Diagram) 23
  • 24. Data Flow (Execute) May take many forms Depends on instruction being executed May include Memory read/write Input/Output Register transfers ALU operations 24
  • 25. Data Flow (Interrupt) Simple Predictable Current PC saved to allow resumption after interrupt Contents of PC copied to MBR Special memory location (e.g. stack pointer) loaded to MAR MBR written to memory PC loaded with address of interrupt handling routine Next instruction (first of interrupt handler) can be fetched 25
  • 26. Data Flow (Interrupt Diagram) 26
  • 27. Prefetch Fetch accessing main memory Execution usually does not access main memory Can fetch next instruction during execution of current instruction Called instruction prefetch 27
  • 28. Improved Performance But not doubled: Fetch usually shorter than execution Prefetch more than one instruction? Any jump or branch means that prefetched instructions are not the required instructions Add more stages to improve performance 28
  • 29. Pipelining Fetch instruction Decode instruction Calculate operands (i.e. EAs) Fetch operands Execute instructions Write result Overlap these operations 29
  • 31. Branch in a Pipeline 31
  • 32. Dealing with Branches Multiple Streams Prefetch Branch Target Loop buffer Branch prediction Delayed branching 32
  • 33. Multiple Streams Have two pipelines Prefetch each branch into a separate pipeline Use appropriate pipeline Leads to bus & register contention Multiple branches lead to further pipelines being needed 33
  • 34. Prefetch Branch Target Target of branch is prefetched in addition to instructions following branch Keep target until branch is executed Used by IBM 360/91 34
  • 35. Loop Buffer Very fast memory Maintained by fetch stage of pipeline Check buffer before fetching from memory Very good for small loops or jumps c.f. cache Used by CRAY-1 35
  • 36. Branch Prediction (1) Predict never taken Assume that jump will not happen Always fetch next instruction 68020 & VAX 11/780 VAX will not prefetch after branch if a page fault would result (O/S v CPU design) Predict always taken Assume that jump will happen Always fetch target instruction 36
  • 37. Branch Prediction (2) Predict by Opcode Some instructions are more likely to result in a jump than thers Can get up to 75% success Taken/Not taken switch Based on previous history Good for loops 37
  • 38. Branch Prediction (3) Delayed Branch Do not take jump until you have to Rearrange instructions 38
  • 40. Foreground Reading Processor examples Stallings Chapter 11 Web pages etc. 40

Editor's Notes