Input - OutPut Organization
Input - OutPut Organization
Mouse: A mouse is an input device that allows users to control the cursor on a
computer screen.
2. Output Devices:
An output device is generally the reverse of the input process and generally
translates the digitized signals into a form understandable to the user. The output
device is also performed for sending data from one computer system to another.
For some time punched card and paper tape readers were extensively used for
input, but these have now been supplanted by more efficient devices.
Example
Monitor: A monitor is an output device that displays visual information from a
computer system.
3. Storage Devices:
Storage devices are used to store data in the system which is required for
performing any operation in the system. The storage device is one of the most
required devices and also provides better compatibility.
Hard Drive: A hard drive is a storage device that stores data and files on a
computer system.
USB Drive: A USB drive is a small, portable storage device that connects to a
computer system to provide additional storage space.
External Hard Drive: An external hard drive is a storage device that connects to
a computer system to provide additional storage space.
4. Communication Devices:
Communication devices are used to connect a computer system to other devices
or networks. Examples of communication devices include:
Factors must you consider about a system when selecting I/O devices?
Input devices.
Features- To make sure you select one that fits your needs and lifestyle.
Compatibility- a device that fits your need but doesn’t work with your computer
is useless.
Cost-this is the most factor in selecting input devices. Meaning a certain device
might meet your needs and also works with your existing computer setup but not
if you cant afford it.
Output devices
1.Who will use (see) the output (requisite quality)?
2.How many people need the output?
3.Where is the output needed (distribution logistics)?
4.What is the purpose of the output? What user and organizational tasks are
supporting?
5.What is the speed with which output is needed?
6.How frequently will the output be accessed?
7.How long will (or must) the output be stored?
8.Under what special regulations is the output produced, stored, and distributed?
INPUT –OUTPUT PROCESSING
1. Input Acquisition: The computer system collects data from input devices.
This could be user input from a keyboard or mouse, or it could be data read
from a storage device, network, or sensor.
2. Data Processing: Once the data is received, the computer processes it
according to the instructions provided by the software running on the
system. This may involve calculations, manipulation of the data, or other
operations.
3. Output Generation: After processing, the computer generates output data.
This could be in the form of displaying information on a screen, printing it
on paper, storing it to a disk, or transmitting it over a network.
4. Control: Throughout this process, the computer system manages and
controls the flow of data between input and output devices and the internal
components. This control ensures that data is transferred correctly and that
operations are performed efficiently.
The bus interface plays a crucial role in input/output (I/O) operations within a
computer system. A bus is a communication system that allows various
components of a computer, such as the CPU, memory, and I/O devices, to
exchange data and control signals. Here's how the bus interface facilitates I/O
operations:
1. Data Transfer: The bus interface provides a pathway for transferring data
between the CPU, memory, and I/O devices. When the CPU needs to
communicate with an I/O device, it sends data and commands through the
bus interface to the appropriate device. Similarly, when an I/O device needs
to send data to the CPU or memory, it does so through the bus.
2. Addressing: The bus interface facilitates addressing of I/O devices. Each
I/O device connected to the system has a unique address assigned to it. The
CPU uses these addresses to identify and communicate with specific devices
on the bus.
3. Control Signals: In addition to data transfer, the bus interface manages
various control signals essential for coordinating I/O operations. These
control signals include read/write signals, interrupt signals, and signals for
bus arbitration (to resolve conflicts when multiple devices try to access the
bus simultaneously).
4. Bus Protocols: The bus interface implements protocols that govern how
data is transferred and how devices communicate with each other. These
protocols ensure that data is transferred reliably and efficiently between the
CPU, memory, and I/O devices.
5. DMA (Direct Memory Access): The bus interface may support DMA, a
feature that allows I/O devices to transfer data directly to and from memory
without CPU intervention. DMA can significantly improve the efficiency of
data transfer between I/O devices and memory, as it offloads the data
transfer task from the CPU.
Overall, the bus interface serves as the backbone of I/O operations in a computer
system, enabling efficient communication and data transfer between the CPU,
memory, and various I/O devices. Its design and implementation significantly
impact the performance and functionality of the overall system.
Disadvantages:
The processor has to wait for a long time for the I/O module to be ready for
either transmission or reception of data.
The performance of the entire system is severely degraded.
2. Interrupt-initiated I/O
In the above section, we saw that the CPU is kept busy unnecessarily. We can
avoid this situation by using an interrupt-driven method for data transfer. The
interrupt facilities and special commands inform the interface for issuing an
interrupt request signal as soon as the data is available from any device. In the
meantime, the CPU can execute other programs, and the interface will keep
monitoring the i/O device. Whenever it determines that the device is ready for
transferring data interface initiates an interrupt request signal to the CPU. As soon
as the CPU detects an external interrupt signal, it stops the program it was already
executing, branches to the service program to process the I/O transfer, and returns
to the program it was initially running.
Working of CPU in terms of interrupts:
CPU issues read command.
It starts executing other programs.
Check for interruptions at the end of each instruction cycle.
On interruptions:-
o Process interrupt by fetching data and storing it.
o See operation system notes.
Starts working on the program it was executing.
Advantages:
It is faster and more efficient than Programmed I/O.
It requires very little hardware support.
CPU does not check status bits periodically.
Disadvantages:
It can be tricky to implement if using a low-level language.
It can be tough to get various pieces of work well together.
The hardware manufacturer / OS maker usually implements it, e.g., Microsoft.
3. Direct Memory Access (DMA)
The data transfer between any fast storage media like a memory unit and a
magnetic disk gets limited with the speed of the CPU. Thus it will be best to allow
the peripherals to directly communicate with the storage using the memory buses
by removing the intervention of the CPU. This mode of transfer of data technique
is known as Direct Memory Access (DMA). During Direct Memory Access, the
CPU is idle and has no control over the memory buses. The DMA controller takes
over the buses and directly manages data transfer between the memory unit and I/O
devices.
Bus Request - We use bus requests in the DMA controller to ask the CPU to
relinquish the control buses.
Bus Grant - CPU activates bus grant to inform the DMA controller that DMA can
take control of the control buses. Once the control is taken, it can transfer data in
many ways.
Types of DMA transfer using DMA controller:
Burst Transfer: In this transfer, DMA will return the bus control after the
complete data transfer. A register is used as a byte count, which decrements
for every byte transfer, and once it becomes zero, the DMA Controller will
release the control bus. When the DMA Controller operates in burst mode, the
CPU is halted for the duration of the data transfer.
Cyclic Stealing: It is an alternative method for data transfer in which the
DMA controller will transfer one word at a time. After that, it will return the
control of the buses to the CPU. The CPU operation is only delayed for one
memory cycle to allow the data transfer to “steal” one memory cycle.
Advantages
It is faster in data transfer without the involvement of the CPU.
It improves overall system performance and reduces CPU workload.
It deals with large data transfers, such as multimedia and files.
Disadvantages
It is costly and complex hardware.
It has limited control over the data transfer process.
Risk of data conflicts between CPU and DMA.