SlideShare uma empresa Scribd logo
1 de 40
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

Mais conteúdo relacionado

Mais procurados

Pipelining
PipeliningPipelining
PipeliningAJAL A J
 
Pipelining, processors, risc and cisc
Pipelining, processors, risc and ciscPipelining, processors, risc and cisc
Pipelining, processors, risc and ciscMark Gibbs
 
pipeline and pipeline hazards
pipeline and pipeline hazards pipeline and pipeline hazards
pipeline and pipeline hazards Bharti Khemani
 
Pipelining of Processors
Pipelining of ProcessorsPipelining of Processors
Pipelining of ProcessorsGaditek
 
Superscalar Architecture_AIUB
Superscalar Architecture_AIUBSuperscalar Architecture_AIUB
Superscalar Architecture_AIUBNusrat Mary
 
Windows process scheduling presentation
Windows process scheduling presentationWindows process scheduling presentation
Windows process scheduling presentationTalha Shaikh
 
RISC Vs CISC, Harvard v/s Van Neumann
RISC Vs CISC, Harvard v/s Van NeumannRISC Vs CISC, Harvard v/s Van Neumann
RISC Vs CISC, Harvard v/s Van NeumannRavikumar Tiwari
 
Ct213 processor design_pipelinehazard
Ct213 processor design_pipelinehazardCt213 processor design_pipelinehazard
Ct213 processor design_pipelinehazardrakeshrakesh2020
 
Concept of Pipelining
Concept of PipeliningConcept of Pipelining
Concept of PipeliningSHAKOOR AB
 
pipelining and hazards occure in assembly language.
pipelining and hazards occure in assembly language.pipelining and hazards occure in assembly language.
pipelining and hazards occure in assembly language.Zohaib Arshid
 
Pipeline hazard
Pipeline hazardPipeline hazard
Pipeline hazardAJAL A J
 
pipeline and vector processing
pipeline and vector processingpipeline and vector processing
pipeline and vector processingAcad
 
Windows process-scheduling
Windows process-schedulingWindows process-scheduling
Windows process-schedulingTalha Shaikh
 
Pipeline Mechanism
Pipeline MechanismPipeline Mechanism
Pipeline MechanismAshik Iqbal
 

Mais procurados (20)

Pipelining
PipeliningPipelining
Pipelining
 
Pipelining, processors, risc and cisc
Pipelining, processors, risc and ciscPipelining, processors, risc and cisc
Pipelining, processors, risc and cisc
 
pipeline and pipeline hazards
pipeline and pipeline hazards pipeline and pipeline hazards
pipeline and pipeline hazards
 
Conditional branches
Conditional branchesConditional branches
Conditional branches
 
Pipelining of Processors
Pipelining of ProcessorsPipelining of Processors
Pipelining of Processors
 
pipelining
pipeliningpipelining
pipelining
 
Pipelining
PipeliningPipelining
Pipelining
 
Superscalar Architecture_AIUB
Superscalar Architecture_AIUBSuperscalar Architecture_AIUB
Superscalar Architecture_AIUB
 
Windows process scheduling presentation
Windows process scheduling presentationWindows process scheduling presentation
Windows process scheduling presentation
 
RISC Vs CISC, Harvard v/s Van Neumann
RISC Vs CISC, Harvard v/s Van NeumannRISC Vs CISC, Harvard v/s Van Neumann
RISC Vs CISC, Harvard v/s Van Neumann
 
Ct213 processor design_pipelinehazard
Ct213 processor design_pipelinehazardCt213 processor design_pipelinehazard
Ct213 processor design_pipelinehazard
 
Concept of Pipelining
Concept of PipeliningConcept of Pipelining
Concept of Pipelining
 
pipelining and hazards occure in assembly language.
pipelining and hazards occure in assembly language.pipelining and hazards occure in assembly language.
pipelining and hazards occure in assembly language.
 
Pipeline hazard
Pipeline hazardPipeline hazard
Pipeline hazard
 
1.prallelism
1.prallelism1.prallelism
1.prallelism
 
Risc
RiscRisc
Risc
 
pipeline and vector processing
pipeline and vector processingpipeline and vector processing
pipeline and vector processing
 
Windows process-scheduling
Windows process-schedulingWindows process-scheduling
Windows process-scheduling
 
Pipeline Mechanism
Pipeline MechanismPipeline Mechanism
Pipeline Mechanism
 
3 Pipelining
3 Pipelining3 Pipelining
3 Pipelining
 

Destaque (20)

ppt of EG
ppt of EGppt of EG
ppt of EG
 
Ppt of es(final)
Ppt of es(final)Ppt of es(final)
Ppt of es(final)
 
Ppt of aem some special function
Ppt of aem some special functionPpt of aem some special function
Ppt of aem some special function
 
Ppt of dbms e r features
Ppt of dbms e r featuresPpt of dbms e r features
Ppt of dbms e r features
 
ppt of CPU(GPS)
ppt of CPU(GPS)ppt of CPU(GPS)
ppt of CPU(GPS)
 
ppt of CS
ppt of CSppt of CS
ppt of CS
 
IT209 Cpu Structure Report
IT209 Cpu Structure ReportIT209 Cpu Structure Report
IT209 Cpu Structure Report
 
ppt of Calculus
ppt of Calculusppt of Calculus
ppt of Calculus
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and function
 
Semikonduktor
SemikonduktorSemikonduktor
Semikonduktor
 
ppt of Phy(Nano Material)
ppt of Phy(Nano Material)ppt of Phy(Nano Material)
ppt of Phy(Nano Material)
 
ppt of BE
ppt of BEppt of BE
ppt of BE
 
ppt of CPD(Embarking the Journey of Contributorship)
ppt of CPD(Embarking the Journey of Contributorship)ppt of CPD(Embarking the Journey of Contributorship)
ppt of CPD(Embarking the Journey of Contributorship)
 
ppt of CPD(Focus on Value)
ppt of CPD(Focus on Value)ppt of CPD(Focus on Value)
ppt of CPD(Focus on Value)
 
ppt of VCLA
ppt of VCLAppt of VCLA
ppt of VCLA
 
ppt of CPD
ppt of CPDppt of CPD
ppt of CPD
 
ppt of EME
ppt of EMEppt of EME
ppt of EME
 
ppt of EEE(MCB)
ppt of EEE(MCB)ppt of EEE(MCB)
ppt of EEE(MCB)
 
Interrupts of microprocessor 8085
Interrupts of microprocessor  8085Interrupts of microprocessor  8085
Interrupts of microprocessor 8085
 
Slideshare ppt
Slideshare pptSlideshare ppt
Slideshare ppt
 

Semelhante a Chapter 7 cpu struktur dan fungsi

CPU Structure and Function.pptx
CPU Structure and Function.pptxCPU Structure and Function.pptx
CPU Structure and Function.pptxnagargorv
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and functiondilip kumar
 
Ch2 embedded processors-i
Ch2 embedded processors-iCh2 embedded processors-i
Ch2 embedded processors-iAnkit Shah
 
Ecet330 1 b - basic computer concepts
Ecet330   1 b - basic computer conceptsEcet330   1 b - basic computer concepts
Ecet330 1 b - basic computer conceptsRalph Ambuehl
 
Machine language program execution 1.1.2.pptx
Machine language program execution 1.1.2.pptxMachine language program execution 1.1.2.pptx
Machine language program execution 1.1.2.pptxAmarRaj22
 
03. top level view of computer function & interconnection
03. top level view of computer function & interconnection03. top level view of computer function & interconnection
03. top level view of computer function & interconnectionnoman yasin
 
lecture_11.pptx
lecture_11.pptxlecture_11.pptx
lecture_11.pptxyewid98102
 
Control Unit (CU) – Part 2
Control Unit (CU) – Part 2Control Unit (CU) – Part 2
Control Unit (CU) – Part 2Ajeng Savitri
 
Advanced Pipelining in ARM Processors.pptx
Advanced Pipelining  in ARM Processors.pptxAdvanced Pipelining  in ARM Processors.pptx
Advanced Pipelining in ARM Processors.pptxJoyChowdhury30
 
Computer_Organization and architecture _unit 1.pptx
Computer_Organization and architecture _unit 1.pptxComputer_Organization and architecture _unit 1.pptx
Computer_Organization and architecture _unit 1.pptxManimegalaM3
 

Semelhante a Chapter 7 cpu struktur dan fungsi (20)

CPU Structure and Function.pptx
CPU Structure and Function.pptxCPU Structure and Function.pptx
CPU Structure and Function.pptx
 
cs-procstruc.ppt
cs-procstruc.pptcs-procstruc.ppt
cs-procstruc.ppt
 
Bc0040
Bc0040Bc0040
Bc0040
 
Unit 5-lecture 5
Unit 5-lecture 5Unit 5-lecture 5
Unit 5-lecture 5
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
Chapter 8
Chapter 8Chapter 8
Chapter 8
 
Arm11
Arm11Arm11
Arm11
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and function
 
Ch2 embedded processors-i
Ch2 embedded processors-iCh2 embedded processors-i
Ch2 embedded processors-i
 
Ecet330 1 b - basic computer concepts
Ecet330   1 b - basic computer conceptsEcet330   1 b - basic computer concepts
Ecet330 1 b - basic computer concepts
 
Machine language program execution 1.1.2.pptx
Machine language program execution 1.1.2.pptxMachine language program execution 1.1.2.pptx
Machine language program execution 1.1.2.pptx
 
03. top level view of computer function & interconnection
03. top level view of computer function & interconnection03. top level view of computer function & interconnection
03. top level view of computer function & interconnection
 
lecture_11.pptx
lecture_11.pptxlecture_11.pptx
lecture_11.pptx
 
Processor Basics
Processor BasicsProcessor Basics
Processor Basics
 
Control Unit (CU) – Part 2
Control Unit (CU) – Part 2Control Unit (CU) – Part 2
Control Unit (CU) – Part 2
 
CISC & RISC Architecture
CISC & RISC Architecture CISC & RISC Architecture
CISC & RISC Architecture
 
Advanced Pipelining in ARM Processors.pptx
Advanced Pipelining  in ARM Processors.pptxAdvanced Pipelining  in ARM Processors.pptx
Advanced Pipelining in ARM Processors.pptx
 
Chapter01 (1).ppt
Chapter01 (1).pptChapter01 (1).ppt
Chapter01 (1).ppt
 
CPU Architecture
CPU ArchitectureCPU Architecture
CPU Architecture
 
Computer_Organization and architecture _unit 1.pptx
Computer_Organization and architecture _unit 1.pptxComputer_Organization and architecture _unit 1.pptx
Computer_Organization and architecture _unit 1.pptx
 

Mais de risal07

Transistor
TransistorTransistor
Transistorrisal07
 
Thyristor
ThyristorThyristor
Thyristorrisal07
 
Jenis kapasitor
Jenis kapasitorJenis kapasitor
Jenis kapasitorrisal07
 
Induktor
InduktorInduktor
Induktorrisal07
 
Hukum kirchhoff
Hukum kirchhoffHukum kirchhoff
Hukum kirchhoffrisal07
 
Chapter 6 input output
Chapter 6 input outputChapter 6 input output
Chapter 6 input outputrisal07
 
Bab 7 struktur looping
Bab 7 struktur loopingBab 7 struktur looping
Bab 7 struktur loopingrisal07
 
Bab 12 metode greedy
Bab 12 metode greedyBab 12 metode greedy
Bab 12 metode greedyrisal07
 
Bab 11 interface metaphorsdanmodelkonseptual
Bab 11 interface metaphorsdanmodelkonseptualBab 11 interface metaphorsdanmodelkonseptual
Bab 11 interface metaphorsdanmodelkonseptualrisal07
 
Bab 9 penjadwalan cpu
Bab 9 penjadwalan cpuBab 9 penjadwalan cpu
Bab 9 penjadwalan cpurisal07
 
Bab 8 struktur rekursif
Bab 8 struktur rekursifBab 8 struktur rekursif
Bab 8 struktur rekursifrisal07
 
Bab 7 struktur looping
Bab 7 struktur loopingBab 7 struktur looping
Bab 7 struktur loopingrisal07
 
Bab 6 konsep dasar pemrograman (2)
Bab 6 konsep dasar pemrograman (2)Bab 6 konsep dasar pemrograman (2)
Bab 6 konsep dasar pemrograman (2)risal07
 
Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)risal07
 
Bab 4 konsep algoritma
Bab 4 konsep algoritmaBab 4 konsep algoritma
Bab 4 konsep algoritmarisal07
 
Bab 3 notasi algoritma
Bab 3 notasi algoritmaBab 3 notasi algoritma
Bab 3 notasi algoritmarisal07
 

Mais de risal07 (20)

Transistor
TransistorTransistor
Transistor
 
Thyristor
ThyristorThyristor
Thyristor
 
Jenis kapasitor
Jenis kapasitorJenis kapasitor
Jenis kapasitor
 
Induktor
InduktorInduktor
Induktor
 
Hukum kirchhoff
Hukum kirchhoffHukum kirchhoff
Hukum kirchhoff
 
Dioda
DiodaDioda
Dioda
 
Chapter 6 input output
Chapter 6 input outputChapter 6 input output
Chapter 6 input output
 
Bab 7 struktur looping
Bab 7 struktur loopingBab 7 struktur looping
Bab 7 struktur looping
 
Bab 12 metode greedy
Bab 12 metode greedyBab 12 metode greedy
Bab 12 metode greedy
 
Bab 11 interface metaphorsdanmodelkonseptual
Bab 11 interface metaphorsdanmodelkonseptualBab 11 interface metaphorsdanmodelkonseptual
Bab 11 interface metaphorsdanmodelkonseptual
 
Bab 9 penjadwalan cpu
Bab 9 penjadwalan cpuBab 9 penjadwalan cpu
Bab 9 penjadwalan cpu
 
Bab 8 struktur rekursif
Bab 8 struktur rekursifBab 8 struktur rekursif
Bab 8 struktur rekursif
 
Bab 7 struktur looping
Bab 7 struktur loopingBab 7 struktur looping
Bab 7 struktur looping
 
Bab 6 konsep dasar pemrograman (2)
Bab 6 konsep dasar pemrograman (2)Bab 6 konsep dasar pemrograman (2)
Bab 6 konsep dasar pemrograman (2)
 
Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)Bab 5 diagram alur (flowchart)
Bab 5 diagram alur (flowchart)
 
Bab 4 konsep algoritma
Bab 4 konsep algoritmaBab 4 konsep algoritma
Bab 4 konsep algoritma
 
Bab 3 notasi algoritma
Bab 3 notasi algoritmaBab 3 notasi algoritma
Bab 3 notasi algoritma
 
Bab 5
Bab 5Bab 5
Bab 5
 
Bab 4
Bab 4Bab 4
Bab 4
 
Bab 2
Bab 2Bab 2
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

Notas do Editor

  1. 22
  2. 23
  3. 24
  4. 25
  5. 26
  6. 27
  7. 28
  8. 29
  9. 30
  10. 31
  11. 32
  12. 33
  13. 34
  14. 35
  15. 36
  16. 37
  17. 38
  18. 39
  19. 40
  20. 41
  21. 42
  22. 43
  23. 44
  24. 45
  25. 46
  26. 47
  27. 48