SlideShare a Scribd company logo
Computer Architecture




      Input/Output




          Prepared By   RAJESH JAIN
Input/Output Problems
• Wide variety of peripherals
  —Delivering different amounts of data
  —At different speeds
  —In different formats
• All slower than CPU and RAM
• Need I/O modules
Input/Output Module
• Interface to CPU and Memory
• Interface to one or more peripherals
Generic Model of I/O Module
External Devices
• Human readable
  —Screen, printer, keyboard
• Machine readable
  —Monitoring and control
• Communication
  —Modem
  —Network Interface Card (NIC)
External Device Block Diagram
Typical I/O Data Rates
I/O Module Function
•   Control & Timing
•   CPU Communication
•   Device Communication
•   Data Buffering
•   Error Detection
I/O Steps
•   CPU checks I/O module device status
•   I/O module returns status
•   If ready, CPU requests data transfer
•   I/O module gets data from device
•   I/O module transfers data to CPU
•   Variations for output, DMA, etc.
I/O Module Diagram
I/O Module Decisions
•   Hide or reveal device properties to CPU
•   Support multiple or single device
•   Control device functions or leave for CPU
•   Also O/S decisions
    —e.g. Unix treats everything it can as a file
Input Output Techniques
• Programmed
• Interrupt driven
• Direct Memory Access (DMA)
Programmed I/O
• CPU has direct control over I/O
  —Sensing status
  —Read/write commands
  —Transferring data
• CPU waits for I/O module to complete operation
• Wastes CPU time
Programmed I/O - detail
•   CPU requests I/O operation
•   I/O module performs operation
•   I/O module sets status bits
•   CPU checks status bits periodically
•   I/O module does not inform CPU directly
•   I/O module does not interrupt CPU
•   CPU may wait or come back later
I/O Commands
• CPU issues address
  —Identifies module (& device if >1 per module)
• CPU issues command
  —Control - telling module what to do
     – e.g. spin up disk
  —Test - check status
     – e.g. power? Error?
  —Read/Write
     – Module transfers data via buffer from/to device
Addressing I/O Devices


• Under programmed I/O data transfer is very like memory
  access (CPU viewpoint)
• Each device given unique identifier
• CPU commands contain identifier (address)
I/O Mapping
• Memory mapped I/O
   — Devices and memory share an address space
   — I/O looks just like memory read/write
   — No special commands for I/O
      – Large selection of memory access commands available
• Isolated I/O
   — Separate address spaces
   — Need I/O or memory select lines
   — Special commands for I/O
      – Limited set
Interrupt Driven I/O
• Overcomes CPU waiting
• No repeated CPU checking of device
• I/O module interrupts when ready
Interrupt Driven I/O
Basic Operation
• CPU issues read command
• I/O module gets data from peripheral whilst CPU
  does other work
• I/O module interrupts CPU
• CPU requests data
• I/O module transfers data
CPU Viewpoint
• Issue read command
• Do other work
• Check for interrupt at end of each instruction
  cycle
• If interrupted:-
  —Save context (registers)
  —Process interrupt
     – Fetch data & store
• See Operating Systems notes
Design Issues
• How do you identify the module issuing the
  interrupt?
• How do you deal with multiple interrupts?
  —i.e. an interrupt handler being interrupted
Identifying Interrupting Module (1)
• Different line for each module
  —PC
  —Limits number of devices
• Software poll
  —CPU asks each module in turn
  —Slow
Identifying Interrupting Module (2)
• Daisy Chain or Hardware poll
  —Interrupt Acknowledge sent down a chain
  —Module responsible places vector on bus
  —CPU uses vector to identify handler routine
• Bus Master
  —Module must claim the bus before it can raise
   interrupt
  —e.g. PCI & SCSI
Multiple Interrupts
• Each interrupt line has a priority
• Higher priority lines can interrupt lower priority
  lines
• If bus mastering only current master can
  interrupt
Example - PC Bus
• 80x86 has one interrupt line
• 8086 based systems use one 8259A interrupt
  controller
• 8259A has 8 interrupt lines
Direct Memory Access
• Interrupt driven and programmed I/O require
  active CPU intervention
   —Transfer rate is limited
   —CPU is tied up
• DMA is the answer
DMA Function
• Additional Module (hardware) on bus
• DMA controller takes over from CPU for I/O
DMA Module Diagram
DMA Operation
• CPU tells DMA controller:-
  —Read/Write
  —Device address
  —Starting address of memory block for data
  —Amount of data to be transferred
• CPU carries on with other work
• DMA controller deals with transfer
• DMA controller sends interrupt when finished
DMA Transfer
Cycle Stealing
• DMA controller takes over bus for a cycle
• Transfer of one word of data
• Not an interrupt
  —CPU does not switch context
• CPU suspended just before it accesses bus
  —i.e. before an operand or data fetch or a data write
• Slows down CPU but not as much as CPU
  doing transfer
I/O Channels
•   I/O devices getting more sophisticated
•   e.g. 3D graphics cards
•   CPU instructs I/O controller to do transfer
•   I/O controller does entire transfer
•   Improves speed
    —Takes load off CPU
    —Dedicated processor is faster
I/O Channel Architecture

More Related Content

What's hot (20)

PPT
Computer function-and-interconnection 3
Mujaheed Sulantingan
 
PPTX
Computer programming1
A A
 
PPT
Chapter 3 - Top Level View of Computer / Function and Interconection
César de Souza
 
PPTX
Embedded networking
Arul Kumar
 
PPT
Chapter 01 - Introduction
César de Souza
 
PDF
Ch12 io systems
Welly Dian Astika
 
PPT
Introduction to Information Technology ch 01_b
Shahi Raz Akhtar
 
PPTX
DMA Controller Presentation
WaddaMalik
 
PPTX
BASIC COMPUTER ARCHITECTURE
Himanshu Sharma
 
PPTX
Basic computer architecture
Daffodil International University
 
PPT
Computer architecture
Rishabha Garg
 
PPT
Introduction to Computer Architecture
Ankush Srivastava
 
PPTX
Lec 4 oraganization
Protik Roy
 
PPT
In out system
Agnas Jasmine
 
PPT
01 introduction
Sher Shah Merkhel
 
PPT
IT209 Cpu Structure Report
Bis Aquino
 
PPT
Computer architecture
saurabh sen sky
 
PPTX
Direct memory access (dma)
Zubair Khalid
 
PPTX
Computer Organization : CPU, Memory and I/O organization
AmrutaMehata
 
PPT
hierarchical bus system
Elvis Jonyo
 
Computer function-and-interconnection 3
Mujaheed Sulantingan
 
Computer programming1
A A
 
Chapter 3 - Top Level View of Computer / Function and Interconection
César de Souza
 
Embedded networking
Arul Kumar
 
Chapter 01 - Introduction
César de Souza
 
Ch12 io systems
Welly Dian Astika
 
Introduction to Information Technology ch 01_b
Shahi Raz Akhtar
 
DMA Controller Presentation
WaddaMalik
 
BASIC COMPUTER ARCHITECTURE
Himanshu Sharma
 
Basic computer architecture
Daffodil International University
 
Computer architecture
Rishabha Garg
 
Introduction to Computer Architecture
Ankush Srivastava
 
Lec 4 oraganization
Protik Roy
 
In out system
Agnas Jasmine
 
01 introduction
Sher Shah Merkhel
 
IT209 Cpu Structure Report
Bis Aquino
 
Computer architecture
saurabh sen sky
 
Direct memory access (dma)
Zubair Khalid
 
Computer Organization : CPU, Memory and I/O organization
AmrutaMehata
 
hierarchical bus system
Elvis Jonyo
 

Viewers also liked (20)

PPTX
Input Output Organization
Kamal Acharya
 
PPTX
Input Output - Computer Architecture
Maruf Abdullah (Rion)
 
PPTX
Input - output organzation
daxesh chauhan
 
PDF
Computer oganization input-output
Deepak John
 
PPTX
Input output organisation
Sanjeev Patel
 
PPT
input output Organization
Acad
 
PPSX
P.jeet ppt
Prasunjeet Soni
 
PPT
Input And Output Devices
mrbennett2009
 
PPT
Interface
Siddique Ibrahim
 
PDF
Timing diag
Student
 
PPTX
Input output interface
Christ University
 
PPT
presentation on timing diagram
Alisha Korpal
 
PPT
Digital design chap 5
Mohammad Bappy
 
PPT
I/O System
Nagarajan
 
PPT
Unit 5 I/O organization
chidabdu
 
PPTX
Input output ports and connectors
bhardwaj1992
 
PPTX
Input output accessing
ankitraosingh
 
PPT
Input output organization
abdulugc
 
PPT
Op Sy 03 Ch 51
Google
 
PPS
Timing and-control-unit
Anuj Modi
 
Input Output Organization
Kamal Acharya
 
Input Output - Computer Architecture
Maruf Abdullah (Rion)
 
Input - output organzation
daxesh chauhan
 
Computer oganization input-output
Deepak John
 
Input output organisation
Sanjeev Patel
 
input output Organization
Acad
 
P.jeet ppt
Prasunjeet Soni
 
Input And Output Devices
mrbennett2009
 
Interface
Siddique Ibrahim
 
Timing diag
Student
 
Input output interface
Christ University
 
presentation on timing diagram
Alisha Korpal
 
Digital design chap 5
Mohammad Bappy
 
I/O System
Nagarajan
 
Unit 5 I/O organization
chidabdu
 
Input output ports and connectors
bhardwaj1992
 
Input output accessing
ankitraosingh
 
Input output organization
abdulugc
 
Op Sy 03 Ch 51
Google
 
Timing and-control-unit
Anuj Modi
 
Ad

Similar to Input output (20)

PPT
Input / Output organization of computer architecture
MangeshBhandare7
 
PPT
Chapter 6 input output
risal07
 
PPT
07_Input Output_Computer Architecture.ppt
fairuzahmed13579
 
PPT
07 input output
Sher Shah Merkhel
 
PPT
07 input output
dilip kumar
 
PDF
Organisasi dan Arsitektur Komputer MO-06
EriekOrlando
 
PPTX
Chapter 5 IO Unit.pptx we are electrical
bayisabayecha51
 
PDF
Unit 6
pm_ghate
 
PPTX
Lecture 9.pptx
JavedIqbal549896
 
PPT
07 Input Output
Jeanie Delos Arcos
 
PDF
IO_ORGANIZATION.pdf
GaganaPurshothama
 
PPTX
Computer architecture input output organization
Mazin Alwaaly
 
PPTX
Chapter 4
Er. Nawaraj Bhandari
 
PPTX
Computer architecture presentation
Muhammad Hamza
 
PPTX
ch-6 COAyjdhfzgsgfzjnfgbcxvbnfsxgcv.pptx
FiraolGadissa
 
PPTX
3 unit-DMA-1fjgigkhlhkbkbkvkvkvkvkvkgkvkvkvv.pptx
sdsoni2042
 
PPT
Chapter 6
Qiyo Jung
 
PPTX
Input & Output
Dilum Bandara
 
PPTX
Io techniques & its types
Nehal Naik
 
PPTX
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
ggg032019
 
Input / Output organization of computer architecture
MangeshBhandare7
 
Chapter 6 input output
risal07
 
07_Input Output_Computer Architecture.ppt
fairuzahmed13579
 
07 input output
Sher Shah Merkhel
 
07 input output
dilip kumar
 
Organisasi dan Arsitektur Komputer MO-06
EriekOrlando
 
Chapter 5 IO Unit.pptx we are electrical
bayisabayecha51
 
Unit 6
pm_ghate
 
Lecture 9.pptx
JavedIqbal549896
 
07 Input Output
Jeanie Delos Arcos
 
IO_ORGANIZATION.pdf
GaganaPurshothama
 
Computer architecture input output organization
Mazin Alwaaly
 
Computer architecture presentation
Muhammad Hamza
 
ch-6 COAyjdhfzgsgfzjnfgbcxvbnfsxgcv.pptx
FiraolGadissa
 
3 unit-DMA-1fjgigkhlhkbkbkvkvkvkvkvkgkvkvkvv.pptx
sdsoni2042
 
Chapter 6
Qiyo Jung
 
Input & Output
Dilum Bandara
 
Io techniques & its types
Nehal Naik
 
i_o updated.pptx 6=₹cnjxifj,lsbd ধ and vjcjcdbgjfu n smn u cut the lb, it ও o...
ggg032019
 
Ad

More from Er Girdhari Lal Kumawat (7)

PPTX
Secret of success
Er Girdhari Lal Kumawat
 
PPT
External memory
Er Girdhari Lal Kumawat
 
PPT
Frist slider share
Er Girdhari Lal Kumawat
 
PPT
Parallel processing extra
Er Girdhari Lal Kumawat
 
PDF
Jaipur rural
Er Girdhari Lal Kumawat
 
Secret of success
Er Girdhari Lal Kumawat
 
External memory
Er Girdhari Lal Kumawat
 
Frist slider share
Er Girdhari Lal Kumawat
 
Parallel processing extra
Er Girdhari Lal Kumawat
 

Input output

  • 1. Computer Architecture Input/Output Prepared By RAJESH JAIN
  • 2. Input/Output Problems • Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats • All slower than CPU and RAM • Need I/O modules
  • 3. Input/Output Module • Interface to CPU and Memory • Interface to one or more peripherals
  • 4. Generic Model of I/O Module
  • 5. External Devices • Human readable —Screen, printer, keyboard • Machine readable —Monitoring and control • Communication —Modem —Network Interface Card (NIC)
  • 8. I/O Module Function • Control & Timing • CPU Communication • Device Communication • Data Buffering • Error Detection
  • 9. I/O Steps • CPU checks I/O module device status • I/O module returns status • If ready, CPU requests data transfer • I/O module gets data from device • I/O module transfers data to CPU • Variations for output, DMA, etc.
  • 11. I/O Module Decisions • Hide or reveal device properties to CPU • Support multiple or single device • Control device functions or leave for CPU • Also O/S decisions —e.g. Unix treats everything it can as a file
  • 12. Input Output Techniques • Programmed • Interrupt driven • Direct Memory Access (DMA)
  • 13. Programmed I/O • CPU has direct control over I/O —Sensing status —Read/write commands —Transferring data • CPU waits for I/O module to complete operation • Wastes CPU time
  • 14. Programmed I/O - detail • CPU requests I/O operation • I/O module performs operation • I/O module sets status bits • CPU checks status bits periodically • I/O module does not inform CPU directly • I/O module does not interrupt CPU • CPU may wait or come back later
  • 15. I/O Commands • CPU issues address —Identifies module (& device if >1 per module) • CPU issues command —Control - telling module what to do – e.g. spin up disk —Test - check status – e.g. power? Error? —Read/Write – Module transfers data via buffer from/to device
  • 16. Addressing I/O Devices • Under programmed I/O data transfer is very like memory access (CPU viewpoint) • Each device given unique identifier • CPU commands contain identifier (address)
  • 17. I/O Mapping • Memory mapped I/O — Devices and memory share an address space — I/O looks just like memory read/write — No special commands for I/O – Large selection of memory access commands available • Isolated I/O — Separate address spaces — Need I/O or memory select lines — Special commands for I/O – Limited set
  • 18. Interrupt Driven I/O • Overcomes CPU waiting • No repeated CPU checking of device • I/O module interrupts when ready
  • 19. Interrupt Driven I/O Basic Operation • CPU issues read command • I/O module gets data from peripheral whilst CPU does other work • I/O module interrupts CPU • CPU requests data • I/O module transfers data
  • 20. CPU Viewpoint • Issue read command • Do other work • Check for interrupt at end of each instruction cycle • If interrupted:- —Save context (registers) —Process interrupt – Fetch data & store • See Operating Systems notes
  • 21. Design Issues • How do you identify the module issuing the interrupt? • How do you deal with multiple interrupts? —i.e. an interrupt handler being interrupted
  • 22. Identifying Interrupting Module (1) • Different line for each module —PC —Limits number of devices • Software poll —CPU asks each module in turn —Slow
  • 23. Identifying Interrupting Module (2) • Daisy Chain or Hardware poll —Interrupt Acknowledge sent down a chain —Module responsible places vector on bus —CPU uses vector to identify handler routine • Bus Master —Module must claim the bus before it can raise interrupt —e.g. PCI & SCSI
  • 24. Multiple Interrupts • Each interrupt line has a priority • Higher priority lines can interrupt lower priority lines • If bus mastering only current master can interrupt
  • 25. Example - PC Bus • 80x86 has one interrupt line • 8086 based systems use one 8259A interrupt controller • 8259A has 8 interrupt lines
  • 26. Direct Memory Access • Interrupt driven and programmed I/O require active CPU intervention —Transfer rate is limited —CPU is tied up • DMA is the answer
  • 27. DMA Function • Additional Module (hardware) on bus • DMA controller takes over from CPU for I/O
  • 29. DMA Operation • CPU tells DMA controller:- —Read/Write —Device address —Starting address of memory block for data —Amount of data to be transferred • CPU carries on with other work • DMA controller deals with transfer • DMA controller sends interrupt when finished
  • 30. DMA Transfer Cycle Stealing • DMA controller takes over bus for a cycle • Transfer of one word of data • Not an interrupt —CPU does not switch context • CPU suspended just before it accesses bus —i.e. before an operand or data fetch or a data write • Slows down CPU but not as much as CPU doing transfer
  • 31. I/O Channels • I/O devices getting more sophisticated • e.g. 3D graphics cards • CPU instructs I/O controller to do transfer • I/O controller does entire transfer • Improves speed —Takes load off CPU —Dedicated processor is faster