SlideShare a Scribd company logo
1 of 48
Er. Nawaraj Bhandari
Topic 4
Input/ Output
Computer
Architecture
Input/Output Problems
 Wide variety of peripherals
 Delivering different amounts of data
 At different speeds
 In different formats
 There are a wide variety of peripherals with various methods of operation. It would
be impractical to incorporate the necessary logic within the processor to control a
range of devices
 The data transfer rate of peripherals is often much slower than that of the memory
or processor. Thus, it is impractical to use the high-speed system bus to
communicate directly with a peripheral
Input/Output Problems
 the data transfer rate of some peripherals is faster than that of the memory or
processor. Again, the mismatch would lead to inefficiencies if not managed
properly
 Peripherals often use different data formats and word lengths than the computer
to which they are attached
Input/Output Module
 Interface to CPU and Memory
 Interface to one or more peripherals
 Interface to the processor and memory via the system bus or central
switch
 Interface to one or more peripheral devices by tailored data links
Generic Model of I/O Module
External Devices
 Human readable (human interface)
 Monitor, printer, keyboard, mouse
 Machine readable
 Disk, tape, sensors
 Communication
 Modem
 Network Interface Card (NIC)
External Device Block Diagram
External Device
 Control signals determine the function that the device will perform, such as
send data to the I/O module (INPUT or READ), accept data from the I/O module
(OUTPUT or WRITE), report status, or perform some control function particular
to the device (e.g., position a disk head).
• Status signals indicate the state of the
device. Examples are READY/NOT-READY to show whether the device is ready
for data transfer
External Device
• Control logic associated with the device controls the device’s operation in
response to direction from the I/O module.
• The transducer converts data from electrical
to other forms of energy during output and from other forms to electrical during
input. Typically, a buffer is associated with the transducer to temporarily hold data being
transferred between the I/O module and the external environment; a
buffer size of 8 to 16 bits is common.
I/O Module Function
The major functions or requirements for an I/O module fall into the
following categories:
 Control & Timing
 CPU (Processor) Communication
 Device Communication
 Data Buffering
 Error Detection (e.g., extra parity bit)
I/O Module Function
 During any period of time, the processor may communicate with one or
more external devices in unpredictable patterns, depending on the
program’s need for I/O.
 The internal resources, such as main memory and the system bus, must be
shared among a number of activities, including data I/O.
 Thus, the I/O function includes a control and timing requirement, to
coordinate the flow of traffic between internal resources and external
devices.
 For example, the control of the transfer of data from an external device to
the processor might involve the following sequence of steps:
I/O Module Function
 The processor interrogates the I/O module to check the status of the
attached device.
 The I/O module returns the device status.
 If the device is operational and ready to transmit, the processor requests
the
 transfer of data, by means of a command to the I/O module.
 The I/O module obtains a unit of data (e.g., 8 or 16 bits) from the external
device.
 The data are transferred from the I/O module to the processor.
Processor/device Communications
 Command decoding:
The I/O module accepts commands from the processor, typically sent
as signals on the control bus. For example, an I/O module for a disk
drive might accept the following commands: READ SECTOR, WRITE
SECTOR, SEEK track number, and SCAN record ID
 Data: Data are exchanged between the processor and the I/O module
over the data bus.
Processor/device Communications
 Status reporting: Because peripherals are so slow, it is important to
know the status of the I/O module. For example, if an I/O module is asked
to send data to the processor (read), it may not be ready to do so because it
is still working on the previous I/O command. This fact can be reported
with a status signal Common status signals are BUSY and READY.
There may also be signals to report various error conditions
 Address recognition: Just as each word of memory has an
address, so does each I/O device. Thus, an I/O module must
recognize one unique address for each peripheral it controls.
Data Buffering:
 An essential task of an I/O module is data buffering.
 Whereas the transfer rate into and out of main
memory or the processor is quite high, the rate is orders of magnitude lower for
many peripheral devices and covers a wide range.
 Data coming from main memory
are sent to an I/O module in a rapid burst. The data are buffered in the I/O
module and then sent to the peripheral device at its data rate.
 In the opposite direction, data
are buffered so as not to tie up the memory in a slow transfer operation. Thus,
the I/O module must be able to operate at both device and memory speeds.
 Similarly, if the I/O device operates at a rate higher than the memory access
rate, then the I/O module performs the needed buffering operation.
Need for Data Buffering: Typical I/O Data Rates
Error detection:
• Finally, an I/O module is often responsible for error detection and for
subsequently reporting errors to the processor.
• One class of errors includes mechanical and electrical malfunctions reported
by the device (e.g., paper jam, bad disk track).
• Another class consists of unintentional changes to the bit pattern as it is
transmitted from device to I/O module.
• Some form of error-detecting code is often used to detect transmission errors
I/O Module Diagram
I/O Module Diagram
The module connects to the rest of the computer through a set of signal lines (e.g., system bus
lines).
Data transferred to and from the module are buffered in one or more data registers. There may
also be one or more status registers that provide current status information.
A status register may also function as a control register, to accept detailed control information
from the processor.
The logic within the module interacts with the processor via a set of control lines. The processor
uses the control lines to issue commands to the I/O module. Some of the control lines may be
used by the I/O module (e.g., for arbitration and status signals).
The module must also be able to recognize and generate addresses associated with the devices
it controls. Each I/O module has a unique address or, if it controls more than one external device,
a unique set of addresses.
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)
Input Output Techniques
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
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
I/O Mapping
Interrupt Driven I/O
 Overcomes CPU waiting
 No repeated CPU checking of device
 I/O module interrupts when ready
Interrupt Driven I/O
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
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 Configurations (1)
 Single Bus, Detached DMA controller
 Each transfer uses bus twice
 I/O to DMA then DMA to memory
 CPU is suspended twice
I/O Channels
 The I/O module is enhanced to become a processor in its own right, with a
specialized instruction set tailored for I/O.
 The CPU directs the I/O processor to execute an I/O program in memory.
 The I/O processor fetches and executes these instructions without CPU
intervention.
 This allows the CPU to specify a sequence of I/O activities and to be
interrupted only when the entire sequence has been performed.
 The I/O module has a local memory of its own and is, in fact, a computer in
its own right.
 With this architecture, a large set of I/O devices can be controlled, with
minimal CPU involvement.
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
Interfacing
 Connecting devices together
 Bit of wire?
 Dedicated processor/memory/buses?
 E.g. FireWire, InfiniBand
IEEE 1394 FireWire
 High performance serial bus
 Fast
 Low cost
 Easy to implement
 Also being used in digital cameras, VCRs and TV
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
Simple FireWire Configuration
InfiniBand
 I/O specification aimed at high end servers
 Merger of Future I/O (Cisco, HP, Compaq, IBM) and Next Generation I/O (Intel)
 Version 1 released early 2001
 Architecture and spec. for data flow between processor and intelligent
I/O devices
 Intended to replace PCI in servers
 Increased capacity, expandability, flexibility
InfiniBand Architecture
 Remote storage, networking and connection between servers
 Attach servers, remote storage, network devices to central fabric of switches
and links
 Greater server density
 Scalable data centre
 Independent nodes added as required
 I/O distance from server up to
 17m using copper
 300m multimode fibre optic
 10km single mode fibre
 Up to 30Gbps
ANY QUESTIONS?

More Related Content

What's hot

What's hot (20)

Major Function of i/o module
Major Function of i/o moduleMajor Function of i/o module
Major Function of i/o module
 
Computer Network - Types & Definition
Computer Network - Types & DefinitionComputer Network - Types & Definition
Computer Network - Types & Definition
 
operating system structure
operating system structureoperating system structure
operating system structure
 
Processor types
Processor typesProcessor types
Processor types
 
01. Basics of Computer Hardware
01. Basics of Computer Hardware01. Basics of Computer Hardware
01. Basics of Computer Hardware
 
Peripherals and interfacing
Peripherals  and interfacingPeripherals  and interfacing
Peripherals and interfacing
 
Computer network
Computer networkComputer network
Computer network
 
Instruction Execution Cycle
Instruction Execution CycleInstruction Execution Cycle
Instruction Execution Cycle
 
Operating System Introduction
Operating System IntroductionOperating System Introduction
Operating System Introduction
 
CPU Architecture - Basic
CPU Architecture - BasicCPU Architecture - Basic
CPU Architecture - Basic
 
Linux operating system ppt
Linux operating system pptLinux operating system ppt
Linux operating system ppt
 
Direct memory access
Direct memory accessDirect memory access
Direct memory access
 
Cd Rom
Cd RomCd Rom
Cd Rom
 
Input output accessing
Input output accessingInput output accessing
Input output accessing
 
Operating system and its types
Operating system and its types Operating system and its types
Operating system and its types
 
memory hierarchy
memory hierarchymemory hierarchy
memory hierarchy
 
Chapter 2 operating systems
Chapter 2 operating systemsChapter 2 operating systems
Chapter 2 operating systems
 
Functions Of Operating System
Functions Of Operating SystemFunctions Of Operating System
Functions Of Operating System
 
Computer network ppt communication
Computer network ppt communicationComputer network ppt communication
Computer network ppt communication
 
Microcontroller
MicrocontrollerMicrocontroller
Microcontroller
 

Similar to Chapter 4

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
bayisabayecha51
 
Hardware I/O organization
Hardware  I/O organization Hardware  I/O organization
Hardware I/O organization
faria_khan
 
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
info998421
 
Io techniques & its types
Io techniques & its typesIo techniques & its types
Io techniques & its types
Nehal Naik
 

Similar to Chapter 4 (20)

Computer architecture input output organization
Computer architecture input output organizationComputer architecture input output organization
Computer architecture input output organization
 
IO_ORGANIZATION.pdf
IO_ORGANIZATION.pdfIO_ORGANIZATION.pdf
IO_ORGANIZATION.pdf
 
Input output module
Input output moduleInput output module
Input output module
 
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
 
Chapter 6
Chapter 6Chapter 6
Chapter 6
 
comporgppt.pptx
comporgppt.pptxcomporgppt.pptx
comporgppt.pptx
 
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
 
chapter7-input-output-COMPUTER organization.pdf
chapter7-input-output-COMPUTER organization.pdfchapter7-input-output-COMPUTER organization.pdf
chapter7-input-output-COMPUTER organization.pdf
 
Lecture 9.pptx
Lecture 9.pptxLecture 9.pptx
Lecture 9.pptx
 
Input Output - Computer Architecture
Input Output - Computer ArchitectureInput Output - Computer Architecture
Input Output - Computer Architecture
 
Counit2 2
Counit2 2Counit2 2
Counit2 2
 
Hardware I/O organization
Hardware  I/O organization Hardware  I/O organization
Hardware I/O organization
 
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_Organization.pptx
Input_Output_Organization.pptxInput_Output_Organization.pptx
Input_Output_Organization.pptx
 
Unit 6
Unit 6Unit 6
Unit 6
 
input output ports
input output portsinput output ports
input output ports
 
Io techniques & its types
Io techniques & its typesIo techniques & its types
Io techniques & its types
 
07 Input Output
07  Input  Output07  Input  Output
07 Input Output
 
03 Buses
03 Buses03 Buses
03 Buses
 

More from Er. Nawaraj Bhandari

More from Er. Nawaraj Bhandari (20)

Data mining approaches and methods
Data mining approaches and methodsData mining approaches and methods
Data mining approaches and methods
 
Research trends in data warehousing and data mining
Research trends in data warehousing and data miningResearch trends in data warehousing and data mining
Research trends in data warehousing and data mining
 
Mining Association Rules in Large Database
Mining Association Rules in Large DatabaseMining Association Rules in Large Database
Mining Association Rules in Large Database
 
Introduction to data mining and data warehousing
Introduction to data mining and data warehousingIntroduction to data mining and data warehousing
Introduction to data mining and data warehousing
 
Data warehouse testing
Data warehouse testingData warehouse testing
Data warehouse testing
 
Data warehouse physical design
Data warehouse physical designData warehouse physical design
Data warehouse physical design
 
Data warehouse logical design
Data warehouse logical designData warehouse logical design
Data warehouse logical design
 
Classification and prediction in data mining
Classification and prediction in data miningClassification and prediction in data mining
Classification and prediction in data mining
 
Chapter 3: Simplification of Boolean Function
Chapter 3: Simplification of Boolean FunctionChapter 3: Simplification of Boolean Function
Chapter 3: Simplification of Boolean Function
 
Chapter 6: Sequential Logic
Chapter 6: Sequential LogicChapter 6: Sequential Logic
Chapter 6: Sequential Logic
 
Chapter 5: Cominational Logic with MSI and LSI
Chapter 5: Cominational Logic with MSI and LSIChapter 5: Cominational Logic with MSI and LSI
Chapter 5: Cominational Logic with MSI and LSI
 
Chapter 4: Combinational Logic
Chapter 4: Combinational LogicChapter 4: Combinational Logic
Chapter 4: Combinational Logic
 
Chapter 2: Boolean Algebra and Logic Gates
Chapter 2: Boolean Algebra and Logic GatesChapter 2: Boolean Algebra and Logic Gates
Chapter 2: Boolean Algebra and Logic Gates
 
Chapter 1: Binary System
 Chapter 1: Binary System Chapter 1: Binary System
Chapter 1: Binary System
 
Introduction to Electronic Commerce
Introduction to Electronic CommerceIntroduction to Electronic Commerce
Introduction to Electronic Commerce
 
Evaluating software development
Evaluating software developmentEvaluating software development
Evaluating software development
 
Using macros in microsoft excel part 2
Using macros in microsoft excel   part 2Using macros in microsoft excel   part 2
Using macros in microsoft excel part 2
 
Using macros in microsoft excel part 1
Using macros in microsoft excel   part 1Using macros in microsoft excel   part 1
Using macros in microsoft excel part 1
 
Using macros in microsoft access
Using macros in microsoft accessUsing macros in microsoft access
Using macros in microsoft access
 
Testing software development
Testing software developmentTesting software development
Testing software development
 

Recently uploaded

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
 
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
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 

Recently uploaded (20)

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
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
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...
 
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
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
(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
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
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, ...
 
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
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
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
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 

Chapter 4

  • 1. Er. Nawaraj Bhandari Topic 4 Input/ Output Computer Architecture
  • 2. Input/Output Problems  Wide variety of peripherals  Delivering different amounts of data  At different speeds  In different formats  There are a wide variety of peripherals with various methods of operation. It would be impractical to incorporate the necessary logic within the processor to control a range of devices  The data transfer rate of peripherals is often much slower than that of the memory or processor. Thus, it is impractical to use the high-speed system bus to communicate directly with a peripheral
  • 3. Input/Output Problems  the data transfer rate of some peripherals is faster than that of the memory or processor. Again, the mismatch would lead to inefficiencies if not managed properly  Peripherals often use different data formats and word lengths than the computer to which they are attached
  • 4. Input/Output Module  Interface to CPU and Memory  Interface to one or more peripherals  Interface to the processor and memory via the system bus or central switch  Interface to one or more peripheral devices by tailored data links
  • 5. Generic Model of I/O Module
  • 6. External Devices  Human readable (human interface)  Monitor, printer, keyboard, mouse  Machine readable  Disk, tape, sensors  Communication  Modem  Network Interface Card (NIC)
  • 8. External Device  Control signals determine the function that the device will perform, such as send data to the I/O module (INPUT or READ), accept data from the I/O module (OUTPUT or WRITE), report status, or perform some control function particular to the device (e.g., position a disk head). • Status signals indicate the state of the device. Examples are READY/NOT-READY to show whether the device is ready for data transfer
  • 9. External Device • Control logic associated with the device controls the device’s operation in response to direction from the I/O module. • The transducer converts data from electrical to other forms of energy during output and from other forms to electrical during input. Typically, a buffer is associated with the transducer to temporarily hold data being transferred between the I/O module and the external environment; a buffer size of 8 to 16 bits is common.
  • 10. I/O Module Function The major functions or requirements for an I/O module fall into the following categories:  Control & Timing  CPU (Processor) Communication  Device Communication  Data Buffering  Error Detection (e.g., extra parity bit)
  • 11. I/O Module Function  During any period of time, the processor may communicate with one or more external devices in unpredictable patterns, depending on the program’s need for I/O.  The internal resources, such as main memory and the system bus, must be shared among a number of activities, including data I/O.  Thus, the I/O function includes a control and timing requirement, to coordinate the flow of traffic between internal resources and external devices.  For example, the control of the transfer of data from an external device to the processor might involve the following sequence of steps:
  • 12. I/O Module Function  The processor interrogates the I/O module to check the status of the attached device.  The I/O module returns the device status.  If the device is operational and ready to transmit, the processor requests the  transfer of data, by means of a command to the I/O module.  The I/O module obtains a unit of data (e.g., 8 or 16 bits) from the external device.  The data are transferred from the I/O module to the processor.
  • 13. Processor/device Communications  Command decoding: The I/O module accepts commands from the processor, typically sent as signals on the control bus. For example, an I/O module for a disk drive might accept the following commands: READ SECTOR, WRITE SECTOR, SEEK track number, and SCAN record ID  Data: Data are exchanged between the processor and the I/O module over the data bus.
  • 14. Processor/device Communications  Status reporting: Because peripherals are so slow, it is important to know the status of the I/O module. For example, if an I/O module is asked to send data to the processor (read), it may not be ready to do so because it is still working on the previous I/O command. This fact can be reported with a status signal Common status signals are BUSY and READY. There may also be signals to report various error conditions  Address recognition: Just as each word of memory has an address, so does each I/O device. Thus, an I/O module must recognize one unique address for each peripheral it controls.
  • 15. Data Buffering:  An essential task of an I/O module is data buffering.  Whereas the transfer rate into and out of main memory or the processor is quite high, the rate is orders of magnitude lower for many peripheral devices and covers a wide range.  Data coming from main memory are sent to an I/O module in a rapid burst. The data are buffered in the I/O module and then sent to the peripheral device at its data rate.  In the opposite direction, data are buffered so as not to tie up the memory in a slow transfer operation. Thus, the I/O module must be able to operate at both device and memory speeds.  Similarly, if the I/O device operates at a rate higher than the memory access rate, then the I/O module performs the needed buffering operation.
  • 16. Need for Data Buffering: Typical I/O Data Rates
  • 17. Error detection: • Finally, an I/O module is often responsible for error detection and for subsequently reporting errors to the processor. • One class of errors includes mechanical and electrical malfunctions reported by the device (e.g., paper jam, bad disk track). • Another class consists of unintentional changes to the bit pattern as it is transmitted from device to I/O module. • Some form of error-detecting code is often used to detect transmission errors
  • 19. I/O Module Diagram The module connects to the rest of the computer through a set of signal lines (e.g., system bus lines). Data transferred to and from the module are buffered in one or more data registers. There may also be one or more status registers that provide current status information. A status register may also function as a control register, to accept detailed control information from the processor. The logic within the module interacts with the processor via a set of control lines. The processor uses the control lines to issue commands to the I/O module. Some of the control lines may be used by the I/O module (e.g., for arbitration and status signals). The module must also be able to recognize and generate addresses associated with the devices it controls. Each I/O module has a unique address or, if it controls more than one external device, a unique set of addresses.
  • 20. 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
  • 21. Input Output Techniques  Programmed  Interrupt driven  Direct Memory Access (DMA)
  • 23. 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
  • 25. 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
  • 26. 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
  • 27. 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)
  • 28. 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
  • 30. Interrupt Driven I/O  Overcomes CPU waiting  No repeated CPU checking of device  I/O module interrupts when ready
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. DMA Function  Additional Module (hardware) on bus  DMA controller takes over from CPU for I/O
  • 37. 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
  • 38. DMA Configurations (1)  Single Bus, Detached DMA controller  Each transfer uses bus twice  I/O to DMA then DMA to memory  CPU is suspended twice
  • 39. I/O Channels  The I/O module is enhanced to become a processor in its own right, with a specialized instruction set tailored for I/O.  The CPU directs the I/O processor to execute an I/O program in memory.  The I/O processor fetches and executes these instructions without CPU intervention.  This allows the CPU to specify a sequence of I/O activities and to be interrupted only when the entire sequence has been performed.  The I/O module has a local memory of its own and is, in fact, a computer in its own right.  With this architecture, a large set of I/O devices can be controlled, with minimal CPU involvement.
  • 40. 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
  • 42. Interfacing  Connecting devices together  Bit of wire?  Dedicated processor/memory/buses?  E.g. FireWire, InfiniBand
  • 43. IEEE 1394 FireWire  High performance serial bus  Fast  Low cost  Easy to implement  Also being used in digital cameras, VCRs and TV
  • 44. 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
  • 46. InfiniBand  I/O specification aimed at high end servers  Merger of Future I/O (Cisco, HP, Compaq, IBM) and Next Generation I/O (Intel)  Version 1 released early 2001  Architecture and spec. for data flow between processor and intelligent I/O devices  Intended to replace PCI in servers  Increased capacity, expandability, flexibility
  • 47. InfiniBand Architecture  Remote storage, networking and connection between servers  Attach servers, remote storage, network devices to central fabric of switches and links  Greater server density  Scalable data centre  Independent nodes added as required  I/O distance from server up to  17m using copper  300m multimode fibre optic  10km single mode fibre  Up to 30Gbps