All Topics  
Input/output

 

   Email Print
   Bookmark   Link






 

Input/output



 
 
In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, input/output, or I/O, refers to the communication between an information processing system (such as a computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
), and the outside world – possibly a human, or another information processing system. Input
Input

Input is the term denote either an entrance or changes which are inserted into a system and which activate/modify a process. It is an abstract concept, used in the model ing, system design and system exploitation....
s are the signals or data received by the system, and output
Output

Output is the term denote either an exit or changes which exit a system and which activate/modify a process. It is an abstract concept, used in the model ing, system design and system exploitation....
s are the signals or data sent from it. The term can also be used as part of an action; to "perform I/O" is to perform an input or output operation
I/O scheduling

I/O Scheduling is the term used to describe the method computer operating systems decide the order that block Input/output operations will be submitted to the disk subsystem....
. I/O devices are used by a person (or other system) to communicate with a computer.






Discussion
Ask a question about 'Input/output'
Start a new discussion about 'Input/output'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, input/output, or I/O, refers to the communication between an information processing system (such as a computer
Computer

A computer is a machine that manipulates Data according to a list of Code .The first devices that resemble modern computers date to the mid-20th century , although the computer concept and various machines similar to computers existed earlier....
), and the outside world – possibly a human, or another information processing system. Input
Input

Input is the term denote either an entrance or changes which are inserted into a system and which activate/modify a process. It is an abstract concept, used in the model ing, system design and system exploitation....
s are the signals or data received by the system, and output
Output

Output is the term denote either an exit or changes which exit a system and which activate/modify a process. It is an abstract concept, used in the model ing, system design and system exploitation....
s are the signals or data sent from it. The term can also be used as part of an action; to "perform I/O" is to perform an input or output operation
I/O scheduling

I/O Scheduling is the term used to describe the method computer operating systems decide the order that block Input/output operations will be submitted to the disk subsystem....
. I/O devices are used by a person (or other system) to communicate with a computer. For instance, keyboards and mouses are considered input devices of a computer, while monitors and printer
Computer printer

File:Lexmark X5100 Series.jpgIn computing, a printer is a peripheral which produces a hard copy of documents stored in computer file form, usually on physical print media such as paper or Transparency ....
s are considered output devices of a computer. Devices for communication between computers, such as modem
Modem

Modem is a peripheral device that modulation an analog carrier wave Signal to encode digital information, and also demodulation such a carrier signal to decode the transmitted information....
s and network card
Network card

A network card, network adapter, network interface controller , network interface card, or LAN adapter is a computer hardware component designed to allow computers to communicate over a computer network....
s, typically serve for both input and output.

Note that the designation of a device as either input or output depends on the perspective. Mouses and keyboards take as input physical movement that the human user outputs and convert it into signals that a computer can understand. The output from these devices is input for the computer. Similarly, printers and monitors take as input signals that a computer outputs. They then convert these signals into representations that human users can see or read. (For a human user the process of reading or seeing these representations is receiving input.)

In computer architecture, the combination of the CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 and main memory (i.e. memory that the CPU can read and write to directly, with individual instructions
Instruction (computer science)

In computer science, an instruction is a single operation of a central processing unit defined by an instruction set architecture. In a broader sense, an "instruction" may be any representation of an element of an executable program, such as a bytecode....
) is considered the brain of a computer, and from that point of view any transfer of information from or to that combination, for example to or from a disk drive, is considered I/O. The CPU and its supporting circuitry provide memory-mapped I/O
Memory-mapped I/O

Memory-mapped I/O and port I/O are two complementary methods of performing input/output between the Central processing unit and peripheral devices in a computer....
 that is used in low-level computer programming
Computer programming

Computer programming is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language....
 in the implementation of device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s.

Interface


I/O Interface is required whenever the I/O device is driven by the processor. The interface must have necessory logic to interpret the device address generated by the processor. Handshaking should be implemented by the interface using appropriate commands like (BUSY,READY,WAIT) the processor can communicate with I/O device through the interface. If incase different data formated being exchanged; interface must be able to convert serial data to parallel form and vice-versa. There must be provision for generating interrupt
Interrupt

In computing, an interrupt is an asynchronous communication signal from hardware indicating the need for attention or a synchronous event in software indicating the need for a change in execution....
s and the corresponding type numbers for further processing by the processor if required

A computer that uses memory-mapped I/O
Memory-mapped I/O

Memory-mapped I/O and port I/O are two complementary methods of performing input/output between the Central processing unit and peripheral devices in a computer....
 accesses hardware by reading and writing to specific memory locations, using the same assembler language instructions that computer would normally use to access memory.

Higher-level implementation

Higher-level operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 and programming facilities employ separate, more abstract I/O concepts and primitives. For example, most operating systems provide application programs with the concept of file
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
s. The C
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
 and C++
C++

C++ is a general-purpose programming language. It is regarded as a middle-level language, as it comprises a combination of both high-level programming language and low-level programming language language features....
 programming languages, and operating systems in the Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 family, traditionally abstract files and devices as streams, which can be read or written, or sometimes both. The C standard library
C standard library

The C standard library consists of a set of sections of the ISO C standard which describe a collection of header files and library routines used to implement common operations, such as input/output and character string handling, in the C ....
 provides functions for manipulating streams for input and output.

In the context of the ALGOL 68
ALGOL 68

ALGOL 68 is an imperative programming computer programming programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously defined syntax and semantics....
 programming language, the input and output facilities are collectively referred to as transput. The ALGOL 68 transput library recognizes the following standard files/devices: stand in, stand out, stand error and stand back.

An alternative to special primitive functions is the I/O monad, which permits programs to just describe I/O, and the actions are carried out outside the program. This is notable because the I/O functions would introduce side-effects to any programming language, but now purely functional
Purely functional

Purely functional is a term in computing used to describe algorithms, data structures or programming languages that exclude destructive modifications ....
 programming is practical.

Addressing mode


There are many ways through which data can be read or stored in the memory. Each method is an addressing mode, and has its own advantages and limitations.

There are many type of addressing modes such as direct addressing, indirect addressing, immediate addressing, index addressing, based addressing, based-index addressing, implied addressing, etc.

Direct address

In this type of address of the data is a part of the instructions itself. When the processor decodes the instruction, it gets the memory address from where it can be read/store the required information.

Mov Reg. [Addr]

Here the Addr operand points to a memory location which holds the data and copies it into the specified Reg.

Indirect address


Here the address can be stored in a register. The instructions will have the register which has the address. So to fetch the data, the instruction must be decoded appropriate register selected. The contents of the register will be treated as the address using this address appropriate memory location is selected and data is read/written.

Port-mapped I/O


Port-mapped I/O usually requires the use of instructions which are specifically designed to perform I/O operations.

See also

  • C file input/output