SlideShare una empresa de Scribd logo
1 de 53
William Stallings
Computer Organization
and Architecture

Chapter 6
Input/Output




                        1
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




                                          2
Input/Output Module

 Interface to CPU and Memory
 Interface to one or more peripherals
 GENERIC MODEL OF I/O DIAGRAM 6.1




                                 3
External Devices

 Human readable
   Screen, printer, keyboard
 Machine readable
   Monitoring and control
 Communication
   Modem
   Network Interface Card (NIC)



                                  4
I/O Module Function

 Control & Timing
 CPU Communication
 Device Communication
 Data Buffering
 Error Detection




                        5
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.



                                    6
I/O Module Diagram
Systems Bus Interface                     External Device Interface
                                             External     Data
Data           Data Register                 Device
Lines                                                     Status
                                             Interface
           Status/Control Register
                                             Logic        Control


Address
Lines                            Input       External     Data
                                 Output      Device
 Data                            Logic                    Status
                                             Interface
 Lines
                                             Logic        Control
                                                7
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




                                                  8
Input Output Techniques

 Programmed
 Interrupt driven
 Direct Memory Access (DMA)




                              9
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




                                     10
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


                                     11
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


                                                    12
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)




                                           13
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


                                                     14
Interrupt Driven I/O

 Overcomes CPU waiting
 No repeated CPU checking of device
 I/O module interrupts when ready




                                      15
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




                                     16
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

                                       17
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




                                                 18
Identifying Interrupting Module
(1)
 Different line for each module
   PC
   Limits number of devices
 Software poll
   CPU asks each module in turn
   Slow




                                  19
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


                                            20
Multiple Interrupts

 Each interrupt line has a priority
 Higher priority lines can interrupt lower priority
 lines
 If bus mastering only current master can
 interrupt




                                         21
Example - PC Bus

 80x86 has one interrupt line
 8086 based systems use one 8259A interrupt
 controller
 8259A has 8 interrupt lines




                                   22
Sequence of Events

 8259A accepts interrupts
 8259A determines priority
 8259A signals 8086 (raises INTR line)
 CPU Acknowledges
 8259A puts correct vector on data bus
 CPU processes interrupt



                                     23
PC Interrupt Layout

        8259A            8086

      IRQ0
      IRQ1
      IRQ2
      IRQ3            INTR
      IRQ4
      IRQ5
      IRQ6
      IRQ7


                        24
ISA Bus Interrupt System

 ISA bus chains two 8259As together
 Link is via interrupt 2
 Gives 15 lines
   16 lines less one for link
 IRQ 9 is used to re-route anything trying to use
 IRQ 2
   Backwards compatibility
 Incorporated in chip set

                                       25
ISA Interrupt Layout

(IRQ 2)      8259A      8259A         80x86

          IRQ0 (8)    IRQ0
          IRQ1 (9)    IRQ1
          IRQ2 (10)   IRQ2
          IRQ3 (11)   IRQ3           INTR
          IRQ4 (12)   IRQ4
          IRQ5 (13)   IRQ5
          IRQ6 (14)   IRQ6
          IRQ7 (15)   IRQ7


                                26
Foreground Reading

 http://www.pcguide.com/ref/mbsys/res/irq/func.htm


 In fact look at http://www.pcguide.com/




                                                     27
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




                                     28
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
Aside

 What effect does caching memory have on
 DMA?
 Hint: how much are the system buses
 available?




                                   32
DMA Configurations (1)



         DMA                  I/O      I/O           Main
CPU
         Controller           Device   Device        Memory


 Single Bus, Detached DMA controller
 Each transfer uses bus twice
      I/O to DMA then DMA to memory
 CPU is suspended twice

                                                33
DMA Configurations (2)

         DMA              DMA               Main
CPU
         Controller       Controller        Memory
                          I/O
       I/O       I/O      Device
       Device    Device
 Single Bus, Integrated DMA controller
 Controller may support >1 device
 Each transfer uses bus once
      DMA to memory
 CPU is suspended once
                                       34
DMA Configurations (3)

CPU                            DMA               Main
                               Controller        Memory

                      I/O      I/O      I/O       I/O
                      Device   Device   Device    Device
 Separate I/O Bus
 Bus supports all DMA enabled devices
 Each transfer uses bus once
      DMA to memory
 CPU is suspended once
                                            35
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



                                        36
Interfacing

 Connecting devices together
 Bit of wire?
 Dedicated processor/memory/buses?
 E.g. SCSI, FireWire




                                     37
Small Computer Systems
Interface (SCSI)

 Parallel interface
 8, 16, 32 bit data lines
 Daisy chained
 Devices are independent
 Devices can communicate with each other as
 well as host




                                   38
SCSI - 1

 Early 1980s
 8 bit
 5MHz
 Data rate 5MBytes.s-1
 Seven devices
   Eight including host interface




                                    39
SCSI - 2

 1991
 16 and 32 bit
 10MHz
 Data rate 20 or 40 Mbytes.s-1

 (Check out Ultra/Wide SCSI)



                                 40
SCSI Signaling (1)
 Between initiator and target
   Usually host & device
 Bus free? (c.f. Ethernet)
 Arbitration - take control of bus (c.f. PCI)
 Select target
 Reselection
   Allows reconnection after suspension
   e.g. if request takes time to execute, bus can be
   released

                                            41
SCSI Signaling (2)

 Command - target requesting from initiator
 Data request
 Status request
 Message request (both ways)




                                      42
SCSI Bus Phases
   Reset

                                              Command,
Bus                                           Data,
free       Arbitration   (Re)Selection
                                              Status,
                                              Message




                                         43
SCSI Timing Diagram




                      44
Configuring SCSI

 Bus must be terminated at each end
   Usually one end is host adapter
   Plug in terminator or switch(es)
 SCSI Id must be set
   Jumpers or switches
   Unique on chain
   0 (zero) for boot device
   Higher number is higher priority in arbitration


                                              45
IEEE 1394 FireWire

 High performance serial bus
 Fast
 Low cost
 Easy to implement
 Also being used in digital cameras, VCRs and
 TV




                                     46
FireWire Configuration

 Daisy chain
 Up to 63 devices on single port
   Really 64 of which one is the interface itself
 Up to 1022 buses can be connected with
 bridges
 Automatic configuration
 No bus terminators
 May be tree structure

                                              47
FireWire v SCSI




                  48
FireWire 3 Layer Stack

 Physical
   Transmission medium, electrical and signaling
   characteristics
 Link
   Transmission of data in packets
 Transaction
   Request-response protocol




                                          49
FireWire - Physical Layer

 Data rates from 25 to 400Mbps
 Two forms of arbitration
   Based on tree structure
   Root acts as arbiter
   First come first served
   Natural priority controls simultaneous requests
      i.e. who is nearest to root
   Fair arbitration
   Urgent arbitration

                                            50
FireWire - Link Layer

 Two transmission types
   Asynchronous
     Variable amount of data and several bytes of transaction
     data transferred as a packet
     To explicit address
     Acknowledgement returned
   Isochronous
     Variable amount of data in sequence of fixed size packets at
     regular intervals
     Simplified addressing
     No acknowledgement


                                                  51
FireWire Subactions




                      52
Foreground Reading

 Check out Universal Serial Bus (USB)
 Compare with other communication standards
 e.g. Ethernet




                                   53

Más contenido relacionado

La actualidad más candente

Basic computer engineering
Basic computer engineeringBasic computer engineering
Basic computer engineeringsayruchi
 
Memory reference instruction
Memory reference instructionMemory reference instruction
Memory reference instructionSanjeev Patel
 
Computer architecture
Computer architectureComputer architecture
Computer architectureRishabha Garg
 
Multiprocessor
MultiprocessorMultiprocessor
MultiprocessorA B Shinde
 
Instruction cycle presentation
Instruction   cycle presentationInstruction   cycle presentation
Instruction cycle presentationMoniba Irfan
 
Fetch decode-execute presentation
Fetch decode-execute presentationFetch decode-execute presentation
Fetch decode-execute presentationchantellemallia
 
Computer architecture
Computer architectureComputer architecture
Computer architectureZuhaib Zaroon
 
Instruction Set Architecture
Instruction Set ArchitectureInstruction Set Architecture
Instruction Set ArchitectureDilum Bandara
 
CPU(central Processing Unit)
CPU(central Processing Unit)CPU(central Processing Unit)
CPU(central Processing Unit)ghazanfarsajjad
 
instruction cycle ppt
instruction cycle pptinstruction cycle ppt
instruction cycle pptsheetal singh
 
Chapitre 1 l'ordinateur
Chapitre 1 l'ordinateurChapitre 1 l'ordinateur
Chapitre 1 l'ordinateurMansour Dieng
 
BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE Himanshu Sharma
 
Instruction cycle
Instruction cycleInstruction cycle
Instruction cycleKumar
 
isa architecture
isa architectureisa architecture
isa architectureAJAL A J
 
Direct Memory Access(DMA)
Direct Memory Access(DMA)Direct Memory Access(DMA)
Direct Memory Access(DMA)Page Maker
 

La actualidad más candente (20)

Basic computer engineering
Basic computer engineeringBasic computer engineering
Basic computer engineering
 
Memory reference instruction
Memory reference instructionMemory reference instruction
Memory reference instruction
 
Computer architecture
Computer architectureComputer architecture
Computer architecture
 
Co notes3 sem
Co notes3 semCo notes3 sem
Co notes3 sem
 
16 control unit
16 control unit16 control unit
16 control unit
 
Multiprocessor
MultiprocessorMultiprocessor
Multiprocessor
 
Instruction cycle presentation
Instruction   cycle presentationInstruction   cycle presentation
Instruction cycle presentation
 
Fetch decode-execute presentation
Fetch decode-execute presentationFetch decode-execute presentation
Fetch decode-execute presentation
 
Computer architecture
Computer architectureComputer architecture
Computer architecture
 
Instruction Set Architecture
Instruction Set ArchitectureInstruction Set Architecture
Instruction Set Architecture
 
CPU(central Processing Unit)
CPU(central Processing Unit)CPU(central Processing Unit)
CPU(central Processing Unit)
 
Memory system
Memory systemMemory system
Memory system
 
Interrupts
InterruptsInterrupts
Interrupts
 
instruction cycle ppt
instruction cycle pptinstruction cycle ppt
instruction cycle ppt
 
Chapitre 1 l'ordinateur
Chapitre 1 l'ordinateurChapitre 1 l'ordinateur
Chapitre 1 l'ordinateur
 
BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE
 
Instruction cycle
Instruction cycleInstruction cycle
Instruction cycle
 
isa architecture
isa architectureisa architecture
isa architecture
 
Input & Output
Input & OutputInput & Output
Input & Output
 
Direct Memory Access(DMA)
Direct Memory Access(DMA)Direct Memory Access(DMA)
Direct Memory Access(DMA)
 

Destacado

Coal 14 input output devices in Assembly Programming
Coal 14 input output devices in Assembly ProgrammingCoal 14 input output devices in Assembly Programming
Coal 14 input output devices in Assembly ProgrammingMuhammad Taqi Hassan Bukhari
 
Input output organisation
Input output organisationInput output organisation
Input output organisationSanjeev Patel
 
Unit 5 I/O organization
Unit 5   I/O organizationUnit 5   I/O organization
Unit 5 I/O organizationchidabdu
 
Direct memory access
Direct memory accessDirect memory access
Direct memory accessshubham kuwar
 
Introduction to Interfacing Technique
Introduction to Interfacing TechniqueIntroduction to Interfacing Technique
Introduction to Interfacing TechniqueMabeth MaRiyah Ramos
 
OUTPUT DEVICE
OUTPUT DEVICEOUTPUT DEVICE
OUTPUT DEVICEKak Yong
 
Direct Memory Access
Direct Memory AccessDirect Memory Access
Direct Memory AccessSanjay Saluth
 
Embedded systems notes
Embedded systems notesEmbedded systems notes
Embedded systems notesShikha Sharma
 
Presentation on Input and Output Devices
Presentation on Input and Output DevicesPresentation on Input and Output Devices
Presentation on Input and Output DevicesZobia Aziz
 
Input output hardware
Input output hardwareInput output hardware
Input output hardwareAhmed Khan
 
INTERRUPTS OF 8086 MICROPROCESSOR
INTERRUPTS OF 8086 MICROPROCESSORINTERRUPTS OF 8086 MICROPROCESSOR
INTERRUPTS OF 8086 MICROPROCESSORGurudev joshi
 

Destacado (18)

Input output
Input outputInput output
Input output
 
Coal 14 input output devices in Assembly Programming
Coal 14 input output devices in Assembly ProgrammingCoal 14 input output devices in Assembly Programming
Coal 14 input output devices in Assembly Programming
 
Input output organisation
Input output organisationInput output organisation
Input output organisation
 
07 input output
07 input output07 input output
07 input output
 
Unit 5 I/O organization
Unit 5   I/O organizationUnit 5   I/O organization
Unit 5 I/O organization
 
Direct memory access
Direct memory accessDirect memory access
Direct memory access
 
Introduction to Interfacing Technique
Introduction to Interfacing TechniqueIntroduction to Interfacing Technique
Introduction to Interfacing Technique
 
Output devices..
Output devices..Output devices..
Output devices..
 
Interrupt
InterruptInterrupt
Interrupt
 
OUTPUT DEVICE
OUTPUT DEVICEOUTPUT DEVICE
OUTPUT DEVICE
 
Direct Memory Access
Direct Memory AccessDirect Memory Access
Direct Memory Access
 
Embedded systems notes
Embedded systems notesEmbedded systems notes
Embedded systems notes
 
Interrupts
InterruptsInterrupts
Interrupts
 
Presentation on output device
Presentation on output devicePresentation on output device
Presentation on output device
 
Presentation on Input and Output Devices
Presentation on Input and Output DevicesPresentation on Input and Output Devices
Presentation on Input and Output Devices
 
Input and output devices
Input and output devicesInput and output devices
Input and output devices
 
Input output hardware
Input output hardwareInput output hardware
Input output hardware
 
INTERRUPTS OF 8086 MICROPROCESSOR
INTERRUPTS OF 8086 MICROPROCESSORINTERRUPTS OF 8086 MICROPROCESSOR
INTERRUPTS OF 8086 MICROPROCESSOR
 

Similar a Chapter 6 input output

discuss the drawbacks of programmed and interrupt driven io and des.pdf
discuss the drawbacks of programmed and interrupt driven io and des.pdfdiscuss the drawbacks of programmed and interrupt driven io and des.pdf
discuss the drawbacks of programmed and interrupt driven io and des.pdfinfo998421
 
Input/Output System (Part 2)
Input/Output System (Part 2) Input/Output System (Part 2)
Input/Output System (Part 2) Ajeng Savitri
 
6.1_IO-Principles.ppt
6.1_IO-Principles.ppt6.1_IO-Principles.ppt
6.1_IO-Principles.pptdedanndege
 
Chapter 5 IO Unit.pptx we are electrical
Chapter 5 IO Unit.pptx we are electricalChapter 5 IO Unit.pptx we are electrical
Chapter 5 IO Unit.pptx we are electricalbayisabayecha51
 
IO Techniques in Computer Organization
IO Techniques in Computer OrganizationIO Techniques in Computer Organization
IO Techniques in Computer OrganizationOm Prakash
 
Module 3 special purpose programmable devices and their interfacing
Module 3 special purpose programmable devices and their interfacingModule 3 special purpose programmable devices and their interfacing
Module 3 special purpose programmable devices and their interfacingDeepak John
 
Microprocessor & microcontroller
Microprocessor & microcontroller Microprocessor & microcontroller
Microprocessor & microcontroller Nitesh Kumar
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 finalKhalid Elmeadawy
 
Computer function-and-interconnection 3
Computer function-and-interconnection 3Computer function-and-interconnection 3
Computer function-and-interconnection 3Mujaheed Sulantingan
 
Computer function-and-interconnection 3
Computer function-and-interconnection 3Computer function-and-interconnection 3
Computer function-and-interconnection 3Mujaheed Sulantingan
 

Similar a Chapter 6 input output (20)

Chapter 6
Chapter 6Chapter 6
Chapter 6
 
07 Input Output
07  Input  Output07  Input  Output
07 Input Output
 
I/O System
I/O SystemI/O System
I/O System
 
I/O Management
I/O ManagementI/O Management
I/O Management
 
discuss the drawbacks of programmed and interrupt driven io and des.pdf
discuss the drawbacks of programmed and interrupt driven io and des.pdfdiscuss the drawbacks of programmed and interrupt driven io and des.pdf
discuss the drawbacks of programmed and interrupt driven io and des.pdf
 
Input/Output System (Part 2)
Input/Output System (Part 2) Input/Output System (Part 2)
Input/Output System (Part 2)
 
6.1_IO-Principles.ppt
6.1_IO-Principles.ppt6.1_IO-Principles.ppt
6.1_IO-Principles.ppt
 
Chapter 5 IO Unit.pptx we are electrical
Chapter 5 IO Unit.pptx we are electricalChapter 5 IO Unit.pptx we are electrical
Chapter 5 IO Unit.pptx we are electrical
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
IO Techniques in Computer Organization
IO Techniques in Computer OrganizationIO Techniques in Computer Organization
IO Techniques in Computer Organization
 
PCT SLIDE3
PCT SLIDE3PCT SLIDE3
PCT SLIDE3
 
Chapter 1.pdf
Chapter 1.pdfChapter 1.pdf
Chapter 1.pdf
 
Module 3 special purpose programmable devices and their interfacing
Module 3 special purpose programmable devices and their interfacingModule 3 special purpose programmable devices and their interfacing
Module 3 special purpose programmable devices and their interfacing
 
Processor2
Processor2Processor2
Processor2
 
Io system
Io systemIo system
Io system
 
Io system
Io systemIo system
Io system
 
Microprocessor & microcontroller
Microprocessor & microcontroller Microprocessor & microcontroller
Microprocessor & microcontroller
 
Embedded systems 101 final
Embedded systems 101 finalEmbedded systems 101 final
Embedded systems 101 final
 
Computer function-and-interconnection 3
Computer function-and-interconnection 3Computer function-and-interconnection 3
Computer function-and-interconnection 3
 
Computer function-and-interconnection 3
Computer function-and-interconnection 3Computer function-and-interconnection 3
Computer function-and-interconnection 3
 

Más de risal07

Transistor
TransistorTransistor
Transistorrisal07
 
Thyristor
ThyristorThyristor
Thyristorrisal07
 
Semikonduktor
SemikonduktorSemikonduktor
Semikonduktorrisal07
 
Jenis kapasitor
Jenis kapasitorJenis kapasitor
Jenis kapasitorrisal07
 
Induktor
InduktorInduktor
Induktorrisal07
 
Hukum kirchhoff
Hukum kirchhoffHukum kirchhoff
Hukum kirchhoffrisal07
 
Chapter 7 cpu struktur dan fungsi
Chapter 7 cpu struktur dan fungsiChapter 7 cpu struktur dan fungsi
Chapter 7 cpu struktur dan fungsirisal07
 
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
 

Más de risal07 (20)

Transistor
TransistorTransistor
Transistor
 
Thyristor
ThyristorThyristor
Thyristor
 
Semikonduktor
SemikonduktorSemikonduktor
Semikonduktor
 
Jenis kapasitor
Jenis kapasitorJenis kapasitor
Jenis kapasitor
 
Induktor
InduktorInduktor
Induktor
 
Hukum kirchhoff
Hukum kirchhoffHukum kirchhoff
Hukum kirchhoff
 
Dioda
DiodaDioda
Dioda
 
Chapter 7 cpu struktur dan fungsi
Chapter 7 cpu struktur dan fungsiChapter 7 cpu struktur dan fungsi
Chapter 7 cpu struktur dan fungsi
 
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
 

Chapter 6 input output

  • 1. William Stallings Computer Organization and Architecture Chapter 6 Input/Output 1
  • 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 2
  • 3. Input/Output Module Interface to CPU and Memory Interface to one or more peripherals GENERIC MODEL OF I/O DIAGRAM 6.1 3
  • 4. External Devices Human readable Screen, printer, keyboard Machine readable Monitoring and control Communication Modem Network Interface Card (NIC) 4
  • 5. I/O Module Function Control & Timing CPU Communication Device Communication Data Buffering Error Detection 5
  • 6. 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. 6
  • 7. I/O Module Diagram Systems Bus Interface External Device Interface External Data Data Data Register Device Lines Status Interface Status/Control Register Logic Control Address Lines Input External Data Output Device Data Logic Status Interface Lines Logic Control 7
  • 8. 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 8
  • 9. Input Output Techniques Programmed Interrupt driven Direct Memory Access (DMA) 9
  • 10. 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 10
  • 11. 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 11
  • 12. 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 12
  • 13. 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) 13
  • 14. 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 14
  • 15. Interrupt Driven I/O Overcomes CPU waiting No repeated CPU checking of device I/O module interrupts when ready 15
  • 16. 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 16
  • 17. 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 17
  • 18. 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 18
  • 19. Identifying Interrupting Module (1) Different line for each module PC Limits number of devices Software poll CPU asks each module in turn Slow 19
  • 20. 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 20
  • 21. Multiple Interrupts Each interrupt line has a priority Higher priority lines can interrupt lower priority lines If bus mastering only current master can interrupt 21
  • 22. Example - PC Bus 80x86 has one interrupt line 8086 based systems use one 8259A interrupt controller 8259A has 8 interrupt lines 22
  • 23. Sequence of Events 8259A accepts interrupts 8259A determines priority 8259A signals 8086 (raises INTR line) CPU Acknowledges 8259A puts correct vector on data bus CPU processes interrupt 23
  • 24. PC Interrupt Layout 8259A 8086 IRQ0 IRQ1 IRQ2 IRQ3 INTR IRQ4 IRQ5 IRQ6 IRQ7 24
  • 25. ISA Bus Interrupt System ISA bus chains two 8259As together Link is via interrupt 2 Gives 15 lines 16 lines less one for link IRQ 9 is used to re-route anything trying to use IRQ 2 Backwards compatibility Incorporated in chip set 25
  • 26. ISA Interrupt Layout (IRQ 2) 8259A 8259A 80x86 IRQ0 (8) IRQ0 IRQ1 (9) IRQ1 IRQ2 (10) IRQ2 IRQ3 (11) IRQ3 INTR IRQ4 (12) IRQ4 IRQ5 (13) IRQ5 IRQ6 (14) IRQ6 IRQ7 (15) IRQ7 26
  • 27. Foreground Reading http://www.pcguide.com/ref/mbsys/res/irq/func.htm In fact look at http://www.pcguide.com/ 27
  • 28. 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 28
  • 29. DMA Function Additional Module (hardware) on bus DMA controller takes over from CPU for I/O 29
  • 30. 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
  • 31. 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
  • 32. Aside What effect does caching memory have on DMA? Hint: how much are the system buses available? 32
  • 33. DMA Configurations (1) DMA I/O I/O Main CPU Controller Device Device Memory Single Bus, Detached DMA controller Each transfer uses bus twice I/O to DMA then DMA to memory CPU is suspended twice 33
  • 34. DMA Configurations (2) DMA DMA Main CPU Controller Controller Memory I/O I/O I/O Device Device Device Single Bus, Integrated DMA controller Controller may support >1 device Each transfer uses bus once DMA to memory CPU is suspended once 34
  • 35. DMA Configurations (3) CPU DMA Main Controller Memory I/O I/O I/O I/O Device Device Device Device Separate I/O Bus Bus supports all DMA enabled devices Each transfer uses bus once DMA to memory CPU is suspended once 35
  • 36. 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 36
  • 37. Interfacing Connecting devices together Bit of wire? Dedicated processor/memory/buses? E.g. SCSI, FireWire 37
  • 38. Small Computer Systems Interface (SCSI) Parallel interface 8, 16, 32 bit data lines Daisy chained Devices are independent Devices can communicate with each other as well as host 38
  • 39. SCSI - 1 Early 1980s 8 bit 5MHz Data rate 5MBytes.s-1 Seven devices Eight including host interface 39
  • 40. SCSI - 2 1991 16 and 32 bit 10MHz Data rate 20 or 40 Mbytes.s-1 (Check out Ultra/Wide SCSI) 40
  • 41. SCSI Signaling (1) Between initiator and target Usually host & device Bus free? (c.f. Ethernet) Arbitration - take control of bus (c.f. PCI) Select target Reselection Allows reconnection after suspension e.g. if request takes time to execute, bus can be released 41
  • 42. SCSI Signaling (2) Command - target requesting from initiator Data request Status request Message request (both ways) 42
  • 43. SCSI Bus Phases Reset Command, Bus Data, free Arbitration (Re)Selection Status, Message 43
  • 45. Configuring SCSI Bus must be terminated at each end Usually one end is host adapter Plug in terminator or switch(es) SCSI Id must be set Jumpers or switches Unique on chain 0 (zero) for boot device Higher number is higher priority in arbitration 45
  • 46. IEEE 1394 FireWire High performance serial bus Fast Low cost Easy to implement Also being used in digital cameras, VCRs and TV 46
  • 47. FireWire Configuration Daisy chain Up to 63 devices on single port Really 64 of which one is the interface itself Up to 1022 buses can be connected with bridges Automatic configuration No bus terminators May be tree structure 47
  • 49. FireWire 3 Layer Stack Physical Transmission medium, electrical and signaling characteristics Link Transmission of data in packets Transaction Request-response protocol 49
  • 50. FireWire - Physical Layer Data rates from 25 to 400Mbps Two forms of arbitration Based on tree structure Root acts as arbiter First come first served Natural priority controls simultaneous requests i.e. who is nearest to root Fair arbitration Urgent arbitration 50
  • 51. FireWire - Link Layer Two transmission types Asynchronous Variable amount of data and several bytes of transaction data transferred as a packet To explicit address Acknowledgement returned Isochronous Variable amount of data in sequence of fixed size packets at regular intervals Simplified addressing No acknowledgement 51
  • 53. Foreground Reading Check out Universal Serial Bus (USB) Compare with other communication standards e.g. Ethernet 53