SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
mukeshtekwani@hotmail.com [Mobile: 9869 488 356]
Mukesh N. Tekwani I/O MODULES Page 1 of 6
INPUT-OUTPUT MODULES
The computer will be of no use if it is not communicating with the external world. A
computer must have a system to receive information from outside world and must be able
to communicate results to external world. Thus, a computer consists of an I/O (input-
output) system. This system includes two basic components: (i) the I/O devices and (ii)
I/O module, which not only connects an I/O device with the system bus, but plays a very
crucial role in between. A device which is connected to an I/O module of computer is
called a peripheral device.
The input/output module (I/O module) is normally connected to the computer system on
one end and one or more input/output devices on the other. An I/O module is needed
because of :
(a) Diversity of I/O devices makes it difficult to include all the peripheral device logic
(i.e. its control commands, data format etc.) into CPU.
(b) The I/O devices are usually slower than the memory and CPU. Therefore, it is not
advisable to use them on high speed system bus directly for communication purpose.
(c) The data format and word length used by the peripheral may be quite different than
that of a CPU.
Thus, we can say that :
(i) An I/O module is a mediator between the processor and an I/O device/devices.
(ii) It controls the data exchange between the external devices and main memory; or
external devices and CPU registers.
(iii) An I/O module provide an interface internal to the computer which connects it to
CPU and main memory and an interface external to the computer connecting it to
external device or peripheral.
(iv) The I/O module should not only communicate the information from CPU to I/O
device, but it should also coordinate these two.
(v) In addition since there are speed differences between CPU and I/O devices, the
I/O module should have facilities like buffer (storage area) and error detection
mechanism.
Functions of I/O Module:
The major functions of an I/O module are:
1. Processor communication -- this involves the following tasks:
a. exchange of data between processor and I/O module,
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
mukeshtekwani@hotmail.com [Mobile: 9869 488 356]
Mukesh N. Tekwani I/O MODULES Page 2 of 6
b. command decoding - I/O module accepts commands sent from the processor.
E.g., the I/O module for a disk drive may accept the following commands
from the processor: READ SECTOR, WRITE SECTOR, SEEK track, etc.
c. status reporting – The device must be able to report its status to the processor,
e.g., disk drive busy, ready etc. Status reporting may also involve reporting
various errors.
d. Address recognition – Each I/O device has a unique address and the I/O
module must recognize this address.
2. Device communication – The I/O module must be able to perform device
communication such as status reporting.
3. Control & timing – The I/O module must be able to co-ordinate the flow of data
between the internal resources (such as processor, memory) and external devices.
4. Data buffering – This is necessary as there is a speed mismatch between speed of
data transfer between processor and memory and external devices. Data coming from
the main memory are sent to an I/O module in a rapid burst. The data is buffered in
the I/O module and then sent to the peripheral device at its rate.
5. Error detection – The I/O module must also be able to detect errors and report them
to the processor. These errors may be mechanical errors (such as paper jam in a
printer), or changes in the bit pattern of transmitted data. A common way of detecting
such errors is by using parity bits.
I/O Module Diagram
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
mukeshtekwani@hotmail.com [Mobile: 9869 488 356]
Mukesh N. Tekwani I/O MODULES Page 3 of 6
PROGRAMMED I/O:
Using this technique, data transfer takes place under the direct control of the processor.
The processor must continuously check an I/O device and hence it cannot do another
task. This method is hence inefficient (slow).
DB -- Data Bus, DAB – Device Address Bus, DC – Device Control signals
MAB – Memory Address Bus, CB – Control Bus
Characteristics of Programmed I/O:
1. In programmed I/O, the I/O operations are completely controlled by the CPU
2. Used in real-time and embedded systems.
3. Used in CPUs which have a single input and a single output instruction. Each of these
instructions selects one device.
4. The disadvantage of this technique is that the CPU spends most of its time waiting for
the device to become ready.
INTERRUPT DRIVEN INPUT/OUTPUT
The basic drawback of programmed I/O is that the speed of I/O devices is much slower in
comparison to that of CPU, and because the CPU has to repeatedly check whether a
device is free; or wait till the completion of I/O, therefore, the performance of CPU in
programmed I/O goes down tremendously. What is the solution? What about CPU going
back to do other useful work without waiting for the I/O device to complete or get freed
up. On completion of I/O, the I/O device interrupts the CPU to tell it has finished the
work.
Interrupt: The term interrupt is used for any event that causes temporary transfer of
control of CPU from one program to the other which is causing the interrupt. Interrupts
are primarily issued on:
Device and
Controller
DB/
DC
Registers
Status FF
DAB
Memory
Processor
MAB CB DB
CB
DB
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
mukeshtekwani@hotmail.com [Mobile: 9869 488 356]
Mukesh N. Tekwani I/O MODULES Page 4 of 6
· initiation of Input/Output operation (interrupt issued by I/O devices)
· completion of an Input/Output operation
· occurrence of hardware or software errors.
Interrupts can be generated by various sources internal or external to the CPU.
In the interrupt driven I/O the processor issues a READ/WRITE instruction to the device
and then continues doing its task. When the interface buffer is full, and it is ready to send
data to the processor, the interface sends a signal to the processor informing it that data is
ready. This signal is called as the interrupt signal. When the processor receives the
interrupt signal, it knows that the data is ready; it suspends its current job and transfers
data from buffer to its own registers.
Disadvantages of Interrupt–driven I/O technique:
The processor must suspend its work and later resume it. If there are many devices, each
can issue an interrupt and the processor must be able to attend each of these, based on
some priority.
The role of the processor in interrupt-driven I/O:
When an I/O device is ready to send data, the following events occur:
1. The device issues an interrupt signal to the processor.
2. The processor finishes execution of the current instruction. It then responds to the
interrupt signal.
3. The processor sends an acknowledgement signal to the device that sent the
interrupt. The device then removes its interrupt signal.
4. The processor must save the state of the current task(i.e., the values of registers,
the address of the next instruction to be executed, etc). These are saved onto a
stack.
5. The processor then attends to the device that issued to the interrupt signal.
6. When interrupt processing is over the saved registers are retrieved from the stack
and the processor continues its previous task from the point where it was last
stopped.
When the processor detects an interrupt, it executes an interrupt-service routine. This
routine polls each I/O device to determine which device caused the interrupt. This
technique is called software poll.
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
mukeshtekwani@hotmail.com [Mobile: 9869 488 356]
Mukesh N. Tekwani I/O MODULES Page 5 of 6
DIRECT MEMORY ACCESS:
This method eliminates the need for the continuous involvement of the processor in the
I/O operations. The data transfer now takes place as follows:
1. When a read instruction is encountered, the processor sends the device address via
the Device Address Bus (DAB). This is decoded by the I/O controller and the
DMA interface of the appropriate device is selected. The processor also sends the
address (in RAM) where the data is to be stored. The READ command is issued.
2. The processor continues with the next instruction in the program. It has no further
role to play in data transfer.
3. The DMA status register is set to 1 to indicate the BUSY status. Data is read from
the device and stored in the DMA’s data register (buffer).
4. When data has been entered in the data register, the data ready flip-flop is set to 1
and an interrupt is sent to the processor.
5. The processor completes the current instruction. It then gives control of MAB and
DB to the DMA interface. The DMA transfers data from its data registers to the
memory address specified.
Cycle Stealing:
The process of taking control of memory cycle to transfer data is known as cycle
stealing. The DMA transfers one data word at a time after which it must return control of
the buses to the CPU. The CPU delays its operations for 1 cycle to allow the DMA to
“steal” one memory cycle.
DMA is faster as the processor’s valuable time is not wasted in DMA transfer.
DA and CB
MAB
DB
MAB
DBMAB
Memory
Processor
DMA Interface
Status
Data Register
MAR
Device
and
Controller
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
mukeshtekwani@hotmail.com [Mobile: 9869 488 356]
Mukesh N. Tekwani I/O MODULES Page 6 of 6
IMPORTANT QUESTIONS
1. What is an I/O module? Illustrate with a neat diagram.
2. Justify the need for an I/O module in a computer system.
3. What are the major functions of an I/O module?
4. List and briefly define the three techniques of performing I/O.
5. What is an interrupt? Explain how a processor can take advantage of
an interrupt signal to reduce its waiting period to read input data.
6. State the advantages of direct memory access.
7. Elaborate the role of the processor in interrupt-driven I/O.
8. What is cycle stealing? Which I/O technique uses this method?
9. What is software polling?
10.Explain the following I/O techniques:
a. Programmed I/O
b. Interrupt-driven I/O
c. Direct memory access
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.

Weitere ähnliche Inhalte

Was ist angesagt?

Memory organisation
Memory organisationMemory organisation
Memory organisation
ankush_kumar
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
mekind
 

Was ist angesagt? (20)

Direct memory access (dma)
Direct memory access (dma)Direct memory access (dma)
Direct memory access (dma)
 
Major Function of i/o module
Major Function of i/o moduleMajor Function of i/o module
Major Function of i/o module
 
Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1) Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1)
 
Register transfer language
Register transfer languageRegister transfer language
Register transfer language
 
Functional units
Functional unitsFunctional units
Functional units
 
Memory organisation
Memory organisationMemory organisation
Memory organisation
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
 
Computer Organization and Architecture.
Computer Organization and Architecture.Computer Organization and Architecture.
Computer Organization and Architecture.
 
Cpu organisation
Cpu organisationCpu organisation
Cpu organisation
 
Computer architecture input output organization
Computer architecture input output organizationComputer architecture input output organization
Computer architecture input output organization
 
Microprogrammed Control Unit
Microprogrammed Control UnitMicroprogrammed Control Unit
Microprogrammed Control Unit
 
Register Reference Instructions | Computer Science
Register Reference Instructions | Computer ScienceRegister Reference Instructions | Computer Science
Register Reference Instructions | Computer Science
 
Memory organization (Computer architecture)
Memory organization (Computer architecture)Memory organization (Computer architecture)
Memory organization (Computer architecture)
 
Memory Management in OS
Memory Management in OSMemory Management in OS
Memory Management in OS
 
Memory management
Memory managementMemory management
Memory management
 
Basic computer organization
Basic computer organizationBasic computer organization
Basic computer organization
 
instruction format and addressing modes
instruction format and addressing modesinstruction format and addressing modes
instruction format and addressing modes
 
Register organization, stack
Register organization, stackRegister organization, stack
Register organization, stack
 
Multiprocessor
MultiprocessorMultiprocessor
Multiprocessor
 
Micro Programmed Control Unit
Micro Programmed Control UnitMicro Programmed Control Unit
Micro Programmed Control Unit
 

Ähnlich wie Input-Output Modules

Input output concepts in operating systems
Input output concepts in operating systemsInput output concepts in operating systems
Input output concepts in operating systems
isitneededwhy
 
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
 
Hardware I/O organization
Hardware  I/O organization Hardware  I/O organization
Hardware I/O organization
faria_khan
 
Building Cultural Awareness through EmotionPresented By Team .docx
Building Cultural Awareness through EmotionPresented By Team .docxBuilding Cultural Awareness through EmotionPresented By Team .docx
Building Cultural Awareness through EmotionPresented By Team .docx
hartrobert670
 

Ähnlich wie Input-Output Modules (20)

IO_ORGANIZATION.pdf
IO_ORGANIZATION.pdfIO_ORGANIZATION.pdf
IO_ORGANIZATION.pdf
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Input output concepts in operating systems
Input output concepts in operating systemsInput output concepts in operating systems
Input output concepts in operating systems
 
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 - Computer Architecture
Input Output - Computer ArchitectureInput Output - Computer Architecture
Input Output - Computer Architecture
 
I/o management and disk scheduling .pptx
I/o management and disk scheduling .pptxI/o management and disk scheduling .pptx
I/o management and disk scheduling .pptx
 
I/O Organization
I/O OrganizationI/O Organization
I/O Organization
 
Bilgisayar Mimarisi 03, Feza BUZLUCA
Bilgisayar Mimarisi 03, Feza BUZLUCABilgisayar Mimarisi 03, Feza BUZLUCA
Bilgisayar Mimarisi 03, Feza BUZLUCA
 
Hardware I/O organization
Hardware  I/O organization Hardware  I/O organization
Hardware I/O organization
 
Computer Operations & Packages
Computer Operations & PackagesComputer Operations & Packages
Computer Operations & Packages
 
Building Cultural Awareness through EmotionPresented By Team .docx
Building Cultural Awareness through EmotionPresented By Team .docxBuilding Cultural Awareness through EmotionPresented By Team .docx
Building Cultural Awareness through EmotionPresented By Team .docx
 
COMPUTER ORGANIZATION NOTES Unit 3 4
COMPUTER ORGANIZATION NOTES  Unit 3 4COMPUTER ORGANIZATION NOTES  Unit 3 4
COMPUTER ORGANIZATION NOTES Unit 3 4
 
input output ports
input output portsinput output ports
input output ports
 
Computer architecture presentation
Computer architecture presentationComputer architecture presentation
Computer architecture presentation
 
comporgppt.pptx
comporgppt.pptxcomporgppt.pptx
comporgppt.pptx
 
unit-i.pdf
unit-i.pdfunit-i.pdf
unit-i.pdf
 
Msc chemistry previous
Msc chemistry previousMsc chemistry previous
Msc chemistry previous
 
Modes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output OrganizationModes Of Transfer in Input/Output Organization
Modes Of Transfer in Input/Output Organization
 
CO--MODULE-1 (b) - Input-Output-Organization.pptx
CO--MODULE-1 (b) - Input-Output-Organization.pptxCO--MODULE-1 (b) - Input-Output-Organization.pptx
CO--MODULE-1 (b) - Input-Output-Organization.pptx
 
IO hardware
IO hardwareIO hardware
IO hardware
 

Mehr von Mukesh Tekwani

Mehr von Mukesh Tekwani (20)

Computer Science Made Easy - Youtube Channel
Computer Science Made Easy - Youtube ChannelComputer Science Made Easy - Youtube Channel
Computer Science Made Easy - Youtube Channel
 
The Elphinstonian 1988-College Building Centenary Number (2).pdf
The Elphinstonian 1988-College Building Centenary Number (2).pdfThe Elphinstonian 1988-College Building Centenary Number (2).pdf
The Elphinstonian 1988-College Building Centenary Number (2).pdf
 
Circular motion
Circular motionCircular motion
Circular motion
 
Gravitation
GravitationGravitation
Gravitation
 
ISCE-Class 12-Question Bank - Electrostatics - Physics
ISCE-Class 12-Question Bank - Electrostatics  -  PhysicsISCE-Class 12-Question Bank - Electrostatics  -  Physics
ISCE-Class 12-Question Bank - Electrostatics - Physics
 
Hexadecimal to binary conversion
Hexadecimal to binary conversion Hexadecimal to binary conversion
Hexadecimal to binary conversion
 
Hexadecimal to decimal conversion
Hexadecimal to decimal conversion Hexadecimal to decimal conversion
Hexadecimal to decimal conversion
 
Hexadecimal to octal conversion
Hexadecimal to octal conversionHexadecimal to octal conversion
Hexadecimal to octal conversion
 
Gray code to binary conversion
Gray code to binary conversion Gray code to binary conversion
Gray code to binary conversion
 
What is Gray Code?
What is Gray Code? What is Gray Code?
What is Gray Code?
 
Decimal to Binary conversion
Decimal to Binary conversionDecimal to Binary conversion
Decimal to Binary conversion
 
Video Lectures for IGCSE Physics 2020-21
Video Lectures for IGCSE Physics 2020-21Video Lectures for IGCSE Physics 2020-21
Video Lectures for IGCSE Physics 2020-21
 
Refraction and dispersion of light through a prism
Refraction and dispersion of light through a prismRefraction and dispersion of light through a prism
Refraction and dispersion of light through a prism
 
Refraction of light at a plane surface
Refraction of light at a plane surfaceRefraction of light at a plane surface
Refraction of light at a plane surface
 
Spherical mirrors
Spherical mirrorsSpherical mirrors
Spherical mirrors
 
Atom, origin of spectra Bohr's theory of hydrogen atom
Atom, origin of spectra Bohr's theory of hydrogen atomAtom, origin of spectra Bohr's theory of hydrogen atom
Atom, origin of spectra Bohr's theory of hydrogen atom
 
Refraction of light at spherical surfaces of lenses
Refraction of light at spherical surfaces of lensesRefraction of light at spherical surfaces of lenses
Refraction of light at spherical surfaces of lenses
 
ISCE (XII) - PHYSICS BOARD EXAM FEB 2020 - WEIGHTAGE
ISCE (XII) - PHYSICS BOARD EXAM FEB 2020 - WEIGHTAGEISCE (XII) - PHYSICS BOARD EXAM FEB 2020 - WEIGHTAGE
ISCE (XII) - PHYSICS BOARD EXAM FEB 2020 - WEIGHTAGE
 
Cyber Laws
Cyber LawsCyber Laws
Cyber Laws
 
XML
XMLXML
XML
 

Kürzlich hochgeladen

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
MateoGardella
 

Kürzlich hochgeladen (20)

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 

Input-Output Modules

  • 1. mukeshtekwani@hotmail.com [Mobile: 9869 488 356] Mukesh N. Tekwani I/O MODULES Page 1 of 6 INPUT-OUTPUT MODULES The computer will be of no use if it is not communicating with the external world. A computer must have a system to receive information from outside world and must be able to communicate results to external world. Thus, a computer consists of an I/O (input- output) system. This system includes two basic components: (i) the I/O devices and (ii) I/O module, which not only connects an I/O device with the system bus, but plays a very crucial role in between. A device which is connected to an I/O module of computer is called a peripheral device. The input/output module (I/O module) is normally connected to the computer system on one end and one or more input/output devices on the other. An I/O module is needed because of : (a) Diversity of I/O devices makes it difficult to include all the peripheral device logic (i.e. its control commands, data format etc.) into CPU. (b) The I/O devices are usually slower than the memory and CPU. Therefore, it is not advisable to use them on high speed system bus directly for communication purpose. (c) The data format and word length used by the peripheral may be quite different than that of a CPU. Thus, we can say that : (i) An I/O module is a mediator between the processor and an I/O device/devices. (ii) It controls the data exchange between the external devices and main memory; or external devices and CPU registers. (iii) An I/O module provide an interface internal to the computer which connects it to CPU and main memory and an interface external to the computer connecting it to external device or peripheral. (iv) The I/O module should not only communicate the information from CPU to I/O device, but it should also coordinate these two. (v) In addition since there are speed differences between CPU and I/O devices, the I/O module should have facilities like buffer (storage area) and error detection mechanism. Functions of I/O Module: The major functions of an I/O module are: 1. Processor communication -- this involves the following tasks: a. exchange of data between processor and I/O module, Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.
  • 2. mukeshtekwani@hotmail.com [Mobile: 9869 488 356] Mukesh N. Tekwani I/O MODULES Page 2 of 6 b. command decoding - I/O module accepts commands sent from the processor. E.g., the I/O module for a disk drive may accept the following commands from the processor: READ SECTOR, WRITE SECTOR, SEEK track, etc. c. status reporting – The device must be able to report its status to the processor, e.g., disk drive busy, ready etc. Status reporting may also involve reporting various errors. d. Address recognition – Each I/O device has a unique address and the I/O module must recognize this address. 2. Device communication – The I/O module must be able to perform device communication such as status reporting. 3. Control & timing – The I/O module must be able to co-ordinate the flow of data between the internal resources (such as processor, memory) and external devices. 4. Data buffering – This is necessary as there is a speed mismatch between speed of data transfer between processor and memory and external devices. Data coming from the main memory are sent to an I/O module in a rapid burst. The data is buffered in the I/O module and then sent to the peripheral device at its rate. 5. Error detection – The I/O module must also be able to detect errors and report them to the processor. These errors may be mechanical errors (such as paper jam in a printer), or changes in the bit pattern of transmitted data. A common way of detecting such errors is by using parity bits. I/O Module Diagram Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.
  • 3. mukeshtekwani@hotmail.com [Mobile: 9869 488 356] Mukesh N. Tekwani I/O MODULES Page 3 of 6 PROGRAMMED I/O: Using this technique, data transfer takes place under the direct control of the processor. The processor must continuously check an I/O device and hence it cannot do another task. This method is hence inefficient (slow). DB -- Data Bus, DAB – Device Address Bus, DC – Device Control signals MAB – Memory Address Bus, CB – Control Bus Characteristics of Programmed I/O: 1. In programmed I/O, the I/O operations are completely controlled by the CPU 2. Used in real-time and embedded systems. 3. Used in CPUs which have a single input and a single output instruction. Each of these instructions selects one device. 4. The disadvantage of this technique is that the CPU spends most of its time waiting for the device to become ready. INTERRUPT DRIVEN INPUT/OUTPUT The basic drawback of programmed I/O is that the speed of I/O devices is much slower in comparison to that of CPU, and because the CPU has to repeatedly check whether a device is free; or wait till the completion of I/O, therefore, the performance of CPU in programmed I/O goes down tremendously. What is the solution? What about CPU going back to do other useful work without waiting for the I/O device to complete or get freed up. On completion of I/O, the I/O device interrupts the CPU to tell it has finished the work. Interrupt: The term interrupt is used for any event that causes temporary transfer of control of CPU from one program to the other which is causing the interrupt. Interrupts are primarily issued on: Device and Controller DB/ DC Registers Status FF DAB Memory Processor MAB CB DB CB DB Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.
  • 4. mukeshtekwani@hotmail.com [Mobile: 9869 488 356] Mukesh N. Tekwani I/O MODULES Page 4 of 6 · initiation of Input/Output operation (interrupt issued by I/O devices) · completion of an Input/Output operation · occurrence of hardware or software errors. Interrupts can be generated by various sources internal or external to the CPU. In the interrupt driven I/O the processor issues a READ/WRITE instruction to the device and then continues doing its task. When the interface buffer is full, and it is ready to send data to the processor, the interface sends a signal to the processor informing it that data is ready. This signal is called as the interrupt signal. When the processor receives the interrupt signal, it knows that the data is ready; it suspends its current job and transfers data from buffer to its own registers. Disadvantages of Interrupt–driven I/O technique: The processor must suspend its work and later resume it. If there are many devices, each can issue an interrupt and the processor must be able to attend each of these, based on some priority. The role of the processor in interrupt-driven I/O: When an I/O device is ready to send data, the following events occur: 1. The device issues an interrupt signal to the processor. 2. The processor finishes execution of the current instruction. It then responds to the interrupt signal. 3. The processor sends an acknowledgement signal to the device that sent the interrupt. The device then removes its interrupt signal. 4. The processor must save the state of the current task(i.e., the values of registers, the address of the next instruction to be executed, etc). These are saved onto a stack. 5. The processor then attends to the device that issued to the interrupt signal. 6. When interrupt processing is over the saved registers are retrieved from the stack and the processor continues its previous task from the point where it was last stopped. When the processor detects an interrupt, it executes an interrupt-service routine. This routine polls each I/O device to determine which device caused the interrupt. This technique is called software poll. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.
  • 5. mukeshtekwani@hotmail.com [Mobile: 9869 488 356] Mukesh N. Tekwani I/O MODULES Page 5 of 6 DIRECT MEMORY ACCESS: This method eliminates the need for the continuous involvement of the processor in the I/O operations. The data transfer now takes place as follows: 1. When a read instruction is encountered, the processor sends the device address via the Device Address Bus (DAB). This is decoded by the I/O controller and the DMA interface of the appropriate device is selected. The processor also sends the address (in RAM) where the data is to be stored. The READ command is issued. 2. The processor continues with the next instruction in the program. It has no further role to play in data transfer. 3. The DMA status register is set to 1 to indicate the BUSY status. Data is read from the device and stored in the DMA’s data register (buffer). 4. When data has been entered in the data register, the data ready flip-flop is set to 1 and an interrupt is sent to the processor. 5. The processor completes the current instruction. It then gives control of MAB and DB to the DMA interface. The DMA transfers data from its data registers to the memory address specified. Cycle Stealing: The process of taking control of memory cycle to transfer data is known as cycle stealing. The DMA transfers one data word at a time after which it must return control of the buses to the CPU. The CPU delays its operations for 1 cycle to allow the DMA to “steal” one memory cycle. DMA is faster as the processor’s valuable time is not wasted in DMA transfer. DA and CB MAB DB MAB DBMAB Memory Processor DMA Interface Status Data Register MAR Device and Controller Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.
  • 6. mukeshtekwani@hotmail.com [Mobile: 9869 488 356] Mukesh N. Tekwani I/O MODULES Page 6 of 6 IMPORTANT QUESTIONS 1. What is an I/O module? Illustrate with a neat diagram. 2. Justify the need for an I/O module in a computer system. 3. What are the major functions of an I/O module? 4. List and briefly define the three techniques of performing I/O. 5. What is an interrupt? Explain how a processor can take advantage of an interrupt signal to reduce its waiting period to read input data. 6. State the advantages of direct memory access. 7. Elaborate the role of the processor in interrupt-driven I/O. 8. What is cycle stealing? Which I/O technique uses this method? 9. What is software polling? 10.Explain the following I/O techniques: a. Programmed I/O b. Interrupt-driven I/O c. Direct memory access Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.