SlideShare una empresa de Scribd logo
1 de 46
Chapter 12,
William Stallings
Computer Organization and Architecture
7th
Edition
CPU Structure and
Function
CPU Function
• CPU must:
– Fetch instructions
– Interpret/decode instructions
– Fetch data
– Process data
– Write data
CPU With Systems Bus
Registers
• CPU must have some working space
(temporary storage) - registers
• Number and function vary between
processor designs - one of the major
design decisions
• Top level of memory hierarchy
User Visible Registers
• General Purpose
• Data
• Address
• Condition Codes
General Purpose Registers (1)
• May be true general purpose
• May be restricted
• May be used for data or addressing
• Data: accumulator (AC)
• Addressing: segment (cf. virtual memory),
stack (points to top of stack, cf. implicit
addressing)
General Purpose Registers (2)
• Make them general purpose
– Increased flexibility and programmer options
– Increased instruction size & complexity,
addressing
• Make them specialized
– Smaller (faster) but more instructions
– Less flexibility, addresses implicit in opcode
How Many GP Registers?
• Between 8 - 32
• Less = more memory references
• More takes up processor real estate
• See also RISC
How big?
• Large enough to hold full address
• Large enough to hold full data types
• But often possible to combine two data
registers or two address registers by using
more complex addressing (e.g., page and
offset)
Condition Code Registers – Flags
• Sets of individual bits, flags
– e.g., result of last operation was zero
• Can be read by programs
– e.g., Jump if zero – simplifies branch taking
• Can not (usually) be set by programs
Control & Status Registers
• Program Counter (PC)
• Instruction Register (IR)
• Memory Address Register (MAR) –
connects to address bus
• Memory Buffer Register (MBR) – connects
to data bus, feeds other registers
Program Status Word
• A set of bits
• Condition Codes:
– Sign (of last result)
– Zero (last result)
– Carry (multiword arithmetic)
– Equal (two latest results)
– Overflow
• Interrupts enabled/disabled
• Supervisor/user mode
Supervisor Mode
• Intel ring zero
• Kernel mode
• Allows privileged instructions to execute
• Used by operating system
• Not available to user programs
Other Registers
• May have registers pointing to:
– Process control blocks (see OS)
– Interrupt Vectors (see OS)
• N.B. CPU design and operating system
design are closely linked
MC68000 and Intel registers
• Motorola:
– Largely general purpose registers – explicit
addressing
– Data registers also for indexing
– A7 and A7’ for user and kernel stacks
• Intel
– Largely specific purpose registers – implicit
addressing
– Segment, Pointer & Index, Data/General
purpose
– Pentium II – backward compatibility
Indirect Cycle
• Same address can refer to different
arguments (by changing the content of the
location the address is pointing to)
• Indirect addressing requires more memory
accesses to fetch operands
• Can be thought of as additional instruction
subcycle
Instruction Cycle with Indirect
Instruction Cycle State Diagram
Data Flow (Instruction 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
Data Flow (Fetch Diagram)
Data Flow (Data Fetch)
• IR is examined
• If indirect addressing, indirect cycle is
performed
– Rightmost n bits of MBR (address part of
instruction) transferred to MAR
– Control unit requests memory read
– Result (address of operand) moved to MBR
Data Flow (Indirect Diagram)
Data Flow (Execute)
• May take many forms, depends on
instruction being executed
• May include
– Memory read/write
– Input/Output
– Register transfers
– ALU operations
Data Flow (Interrupt)
• 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 according to
content of MAR
• PC loaded with address of interrupt
handling routine
• Next instruction (first of interrupt handler)
can be fetched
Data Flow (Interrupt Diagram)
Prefetch
• Fetch involves accessing main memory
• Execution of ALU operations do not
access main memory
• Can fetch next instruction during execution
of current instruction, cf. assembly line
• Called instruction prefetch
Improved Performance
• But not doubled:
– Fetch usually shorter than execution (cf.
reading and storing operands)
• Prefetch more than one instruction?
– Any jump or branch means that prefetched
instructions are not the required instructions
• Add more stages to improve performance
Two Stage Instruction Pipeline
Pipelining (six stages)
1. Fetch instruction
2. Decode instruction
3. Calculate operands (i.e., EAs)
4. Fetch operands
5. Execute instructions
6. Write result
• Overlap these operations
Timing Diagram for Instruction Pipeline
Operation (assuming independence)
The Effect of a Conditional Branch/Interrupt
on Instruction Pipeline Operation
Six Stage
Instruction
Pipeline
Speedup
Factors
with
Instruction
Pipelining:
nk/(n+k-1)
(ideally)
Dealing with Branches
1.Prefetch Branch Target
2.Loop buffer
3.Branch prediction
4.Delayed branching (see RISC)
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
Loop Buffer
• Very fast memory
• Maintained by fetch stage of pipeline
• Check buffer before fetching from memory
• Very good for small loops or jumps
• cf. cache
Branch Prediction (1)
• Predict never taken
– Assume that jump will not happen
– Always (almost) fetch next instruction
– VAX will not prefetch after branch if a page
fault would result (OS v CPU design)
• Predict always taken
– Assume that jump will happen (at least 50%)
– Always fetch target instruction
Branch Prediction (2)
• Predict by Opcode
– Some instructions are more likely to result in a
jump than others
– Can get up to 75% success
• Taken/Not taken switch
– Based on previous history
– Good for loops
• Delayed branch – rearrange instructions
(see RISC)
Branch Prediction State Diagram (two bits)
Branch Prediction Flowchart
Intel 80486 Pipelining
1. Fetch
– Put in one of two 16-byte prefetch buffers
– Fill buffer with new data as soon as old data consumed
– Average 5 instructions fetched per load (variable size)
– Independent of other stages to keep buffers full
1. Decode stage 1
– Opcode & address-mode info
– At most first 3 bytes of instruction needed for this
– Can direct D2 stage to get rest of instruction
1. Decode stage 2
– Expand opcode into control signals
– Computation of complex addressing modes
1. Execute
– ALU operations, cache access, register update
1. Writeback
– Update registers & flags
– Results sent to cache
Pentium 4 Registers
EFLAGS Register
Control Registers
Pentium Interrupt Processing
• Interrupts (hardware): (non-)maskable
• Exceptions (software): processor detected
(error) or programmed (exception)
• Interrupt vector table
– Each interrupt type assigned a number
– Index to vector table
– 256 * 32 bit interrupt vectors (address of ISR)
• 5 priority classes: 1. exception by previous
instruction 2. external interrupt, 3.-5. faults
from fetching, decoding or executing
instruction

Más contenido relacionado

La actualidad más candente

Pipelining
PipeliningPipelining
PipeliningAJAL A J
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipeliningTech_MX
 
Pipelining , structural hazards
Pipelining , structural hazardsPipelining , structural hazards
Pipelining , structural hazardsMunaam Munawar
 
Concept of Pipelining
Concept of PipeliningConcept of Pipelining
Concept of PipeliningSHAKOOR AB
 
Pipeline hazards in computer Architecture ppt
Pipeline hazards in computer Architecture pptPipeline hazards in computer Architecture ppt
Pipeline hazards in computer Architecture pptmali yogesh kumar
 
Pipelining powerpoint presentation
Pipelining powerpoint presentationPipelining powerpoint presentation
Pipelining powerpoint presentationbhavanadonthi
 
Computer architecture pipelining
Computer architecture pipeliningComputer architecture pipelining
Computer architecture pipeliningMazin Alwaaly
 
Pipelining of Processors
Pipelining of ProcessorsPipelining of Processors
Pipelining of ProcessorsGaditek
 
Performance Enhancement with Pipelining
Performance Enhancement with PipeliningPerformance Enhancement with Pipelining
Performance Enhancement with PipeliningAneesh Raveendran
 
Pipeline processing - Computer Architecture
Pipeline processing - Computer Architecture Pipeline processing - Computer Architecture
Pipeline processing - Computer Architecture S. Hasnain Raza
 
Pipeline Mechanism
Pipeline MechanismPipeline Mechanism
Pipeline MechanismAshik Iqbal
 

La actualidad más candente (20)

Pipelining
PipeliningPipelining
Pipelining
 
pipelining
pipeliningpipelining
pipelining
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipelining
 
pipelining
pipeliningpipelining
pipelining
 
Pipelining , structural hazards
Pipelining , structural hazardsPipelining , structural hazards
Pipelining , structural hazards
 
Concept of Pipelining
Concept of PipeliningConcept of Pipelining
Concept of Pipelining
 
Pipeline hazards in computer Architecture ppt
Pipeline hazards in computer Architecture pptPipeline hazards in computer Architecture ppt
Pipeline hazards in computer Architecture ppt
 
Pipelining
PipeliningPipelining
Pipelining
 
Pipelining in computer architecture
Pipelining in computer architecturePipelining in computer architecture
Pipelining in computer architecture
 
Pipelining powerpoint presentation
Pipelining powerpoint presentationPipelining powerpoint presentation
Pipelining powerpoint presentation
 
Chapter6 pipelining
Chapter6  pipeliningChapter6  pipelining
Chapter6 pipelining
 
Computer architecture pipelining
Computer architecture pipeliningComputer architecture pipelining
Computer architecture pipelining
 
Pipelining of Processors
Pipelining of ProcessorsPipelining of Processors
Pipelining of Processors
 
Performance Enhancement with Pipelining
Performance Enhancement with PipeliningPerformance Enhancement with Pipelining
Performance Enhancement with Pipelining
 
Pipelining & All Hazards Solution
Pipelining  & All Hazards SolutionPipelining  & All Hazards Solution
Pipelining & All Hazards Solution
 
Presentation on risc pipeline
Presentation on risc pipelinePresentation on risc pipeline
Presentation on risc pipeline
 
Pipeline hazard
Pipeline hazardPipeline hazard
Pipeline hazard
 
Pipelining1
Pipelining1Pipelining1
Pipelining1
 
Pipeline processing - Computer Architecture
Pipeline processing - Computer Architecture Pipeline processing - Computer Architecture
Pipeline processing - Computer Architecture
 
Pipeline Mechanism
Pipeline MechanismPipeline Mechanism
Pipeline Mechanism
 

Similar a pipeline and pipeline hazards

IT209 Cpu Structure Report
IT209 Cpu Structure ReportIT209 Cpu Structure Report
IT209 Cpu Structure ReportBis Aquino
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and functiondilip kumar
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and functionSher Shah Merkhel
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and functionAnwal Mirza
 
CPU Structure and Function.pptx
CPU Structure and Function.pptxCPU Structure and Function.pptx
CPU Structure and Function.pptxnagargorv
 
Computer Organization: Introduction to Microprocessor and Microcontroller
Computer Organization: Introduction to Microprocessor and MicrocontrollerComputer Organization: Introduction to Microprocessor and Microcontroller
Computer Organization: Introduction to Microprocessor and MicrocontrollerAmrutaMehata
 
Motivation for multithreaded architectures
Motivation for multithreaded architecturesMotivation for multithreaded architectures
Motivation for multithreaded architecturesYoung Alista
 
Computer organization & architecture chapter-1
Computer organization & architecture chapter-1Computer organization & architecture chapter-1
Computer organization & architecture chapter-1Shah Rukh Rayaz
 
03 top level view of computer function and interconnection
03 top level view of computer function and interconnection03 top level view of computer function and interconnection
03 top level view of computer function and interconnectionSher Shah Merkhel
 
Advanced Pipelining in ARM Processors.pptx
Advanced Pipelining  in ARM Processors.pptxAdvanced Pipelining  in ARM Processors.pptx
Advanced Pipelining in ARM Processors.pptxJoyChowdhury30
 
03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.ppt03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.pptAmirZaman21
 
Basic Computer Architecture
Basic Computer ArchitectureBasic Computer Architecture
Basic Computer ArchitectureYong Heui Cho
 
UNIT 3 - General Purpose Processors
UNIT 3 - General Purpose ProcessorsUNIT 3 - General Purpose Processors
UNIT 3 - General Purpose ProcessorsButtaRajasekhar2
 
10 instruction sets characteristics
10 instruction sets characteristics10 instruction sets characteristics
10 instruction sets characteristicsdilip kumar
 
For students wk4_computer_function_and_interconnection
For students wk4_computer_function_and_interconnectionFor students wk4_computer_function_and_interconnection
For students wk4_computer_function_and_interconnectionlimyamahgoub
 

Similar a pipeline and pipeline hazards (20)

IT209 Cpu Structure Report
IT209 Cpu Structure ReportIT209 Cpu Structure Report
IT209 Cpu Structure Report
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and function
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and function
 
Cs intro-ca
Cs intro-caCs intro-ca
Cs intro-ca
 
12 processor structure and function
12 processor structure and function12 processor structure and function
12 processor structure and function
 
CPU Structure and Function.pptx
CPU Structure and Function.pptxCPU Structure and Function.pptx
CPU Structure and Function.pptx
 
Computer Organization: Introduction to Microprocessor and Microcontroller
Computer Organization: Introduction to Microprocessor and MicrocontrollerComputer Organization: Introduction to Microprocessor and Microcontroller
Computer Organization: Introduction to Microprocessor and Microcontroller
 
03_Buses (1).ppt
03_Buses (1).ppt03_Buses (1).ppt
03_Buses (1).ppt
 
Motivation for multithreaded architectures
Motivation for multithreaded architecturesMotivation for multithreaded architectures
Motivation for multithreaded architectures
 
9781111306366 ppt ch3
9781111306366 ppt ch39781111306366 ppt ch3
9781111306366 ppt ch3
 
Ch8 main memory
Ch8   main memoryCh8   main memory
Ch8 main memory
 
Computer organization & architecture chapter-1
Computer organization & architecture chapter-1Computer organization & architecture chapter-1
Computer organization & architecture chapter-1
 
03 top level view of computer function and interconnection
03 top level view of computer function and interconnection03 top level view of computer function and interconnection
03 top level view of computer function and interconnection
 
07 input output
07 input output07 input output
07 input output
 
Advanced Pipelining in ARM Processors.pptx
Advanced Pipelining  in ARM Processors.pptxAdvanced Pipelining  in ARM Processors.pptx
Advanced Pipelining in ARM Processors.pptx
 
03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.ppt03_top-level-view-of-computer-function-and-interconnection.ppt
03_top-level-view-of-computer-function-and-interconnection.ppt
 
Basic Computer Architecture
Basic Computer ArchitectureBasic Computer Architecture
Basic Computer Architecture
 
UNIT 3 - General Purpose Processors
UNIT 3 - General Purpose ProcessorsUNIT 3 - General Purpose Processors
UNIT 3 - General Purpose Processors
 
10 instruction sets characteristics
10 instruction sets characteristics10 instruction sets characteristics
10 instruction sets characteristics
 
For students wk4_computer_function_and_interconnection
For students wk4_computer_function_and_interconnectionFor students wk4_computer_function_and_interconnection
For students wk4_computer_function_and_interconnection
 

Último

Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 

Último (20)

Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 

pipeline and pipeline hazards

  • 1. Chapter 12, William Stallings Computer Organization and Architecture 7th Edition CPU Structure and Function
  • 2. CPU Function • CPU must: – Fetch instructions – Interpret/decode instructions – Fetch data – Process data – Write data
  • 4. Registers • CPU must have some working space (temporary storage) - registers • Number and function vary between processor designs - one of the major design decisions • Top level of memory hierarchy
  • 5. User Visible Registers • General Purpose • Data • Address • Condition Codes
  • 6. General Purpose Registers (1) • May be true general purpose • May be restricted • May be used for data or addressing • Data: accumulator (AC) • Addressing: segment (cf. virtual memory), stack (points to top of stack, cf. implicit addressing)
  • 7. General Purpose Registers (2) • Make them general purpose – Increased flexibility and programmer options – Increased instruction size & complexity, addressing • Make them specialized – Smaller (faster) but more instructions – Less flexibility, addresses implicit in opcode
  • 8. How Many GP Registers? • Between 8 - 32 • Less = more memory references • More takes up processor real estate • See also RISC
  • 9. How big? • Large enough to hold full address • Large enough to hold full data types • But often possible to combine two data registers or two address registers by using more complex addressing (e.g., page and offset)
  • 10. Condition Code Registers – Flags • Sets of individual bits, flags – e.g., result of last operation was zero • Can be read by programs – e.g., Jump if zero – simplifies branch taking • Can not (usually) be set by programs
  • 11. Control & Status Registers • Program Counter (PC) • Instruction Register (IR) • Memory Address Register (MAR) – connects to address bus • Memory Buffer Register (MBR) – connects to data bus, feeds other registers
  • 12. Program Status Word • A set of bits • Condition Codes: – Sign (of last result) – Zero (last result) – Carry (multiword arithmetic) – Equal (two latest results) – Overflow • Interrupts enabled/disabled • Supervisor/user mode
  • 13. Supervisor Mode • Intel ring zero • Kernel mode • Allows privileged instructions to execute • Used by operating system • Not available to user programs
  • 14. Other Registers • May have registers pointing to: – Process control blocks (see OS) – Interrupt Vectors (see OS) • N.B. CPU design and operating system design are closely linked
  • 15.
  • 16. MC68000 and Intel registers • Motorola: – Largely general purpose registers – explicit addressing – Data registers also for indexing – A7 and A7’ for user and kernel stacks • Intel – Largely specific purpose registers – implicit addressing – Segment, Pointer & Index, Data/General purpose – Pentium II – backward compatibility
  • 17. Indirect Cycle • Same address can refer to different arguments (by changing the content of the location the address is pointing to) • Indirect addressing requires more memory accesses to fetch operands • Can be thought of as additional instruction subcycle
  • 20. Data Flow (Instruction 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
  • 21. Data Flow (Fetch Diagram)
  • 22. Data Flow (Data Fetch) • IR is examined • If indirect addressing, indirect cycle is performed – Rightmost n bits of MBR (address part of instruction) transferred to MAR – Control unit requests memory read – Result (address of operand) moved to MBR
  • 24. Data Flow (Execute) • May take many forms, depends on instruction being executed • May include – Memory read/write – Input/Output – Register transfers – ALU operations
  • 25. Data Flow (Interrupt) • 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 according to content of MAR • PC loaded with address of interrupt handling routine • Next instruction (first of interrupt handler) can be fetched
  • 27. Prefetch • Fetch involves accessing main memory • Execution of ALU operations do not access main memory • Can fetch next instruction during execution of current instruction, cf. assembly line • Called instruction prefetch
  • 28. Improved Performance • But not doubled: – Fetch usually shorter than execution (cf. reading and storing operands) • Prefetch more than one instruction? – Any jump or branch means that prefetched instructions are not the required instructions • Add more stages to improve performance
  • 30. Pipelining (six stages) 1. Fetch instruction 2. Decode instruction 3. Calculate operands (i.e., EAs) 4. Fetch operands 5. Execute instructions 6. Write result • Overlap these operations
  • 31. Timing Diagram for Instruction Pipeline Operation (assuming independence)
  • 32. The Effect of a Conditional Branch/Interrupt on Instruction Pipeline Operation
  • 35. Dealing with Branches 1.Prefetch Branch Target 2.Loop buffer 3.Branch prediction 4.Delayed branching (see RISC)
  • 36. 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
  • 37. Loop Buffer • Very fast memory • Maintained by fetch stage of pipeline • Check buffer before fetching from memory • Very good for small loops or jumps • cf. cache
  • 38. Branch Prediction (1) • Predict never taken – Assume that jump will not happen – Always (almost) fetch next instruction – VAX will not prefetch after branch if a page fault would result (OS v CPU design) • Predict always taken – Assume that jump will happen (at least 50%) – Always fetch target instruction
  • 39. Branch Prediction (2) • Predict by Opcode – Some instructions are more likely to result in a jump than others – Can get up to 75% success • Taken/Not taken switch – Based on previous history – Good for loops • Delayed branch – rearrange instructions (see RISC)
  • 40. Branch Prediction State Diagram (two bits)
  • 42. Intel 80486 Pipelining 1. Fetch – Put in one of two 16-byte prefetch buffers – Fill buffer with new data as soon as old data consumed – Average 5 instructions fetched per load (variable size) – Independent of other stages to keep buffers full 1. Decode stage 1 – Opcode & address-mode info – At most first 3 bytes of instruction needed for this – Can direct D2 stage to get rest of instruction 1. Decode stage 2 – Expand opcode into control signals – Computation of complex addressing modes 1. Execute – ALU operations, cache access, register update 1. Writeback – Update registers & flags – Results sent to cache
  • 46. Pentium Interrupt Processing • Interrupts (hardware): (non-)maskable • Exceptions (software): processor detected (error) or programmed (exception) • Interrupt vector table – Each interrupt type assigned a number – Index to vector table – 256 * 32 bit interrupt vectors (address of ISR) • 5 priority classes: 1. exception by previous instruction 2. external interrupt, 3.-5. faults from fetching, decoding or executing instruction