In computing, input/output, or I/O, refers to the communication between an information processing system (such as a computer), and the outside world – possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs 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 devices are used by a person (or other system) to communicate with a computer. For instance, keyboards and mice are considered input devices of a computer, while monitors and printers are considered output devices of a computer. Devices for communication between computers, such as modems and network cards, 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 and main memory (i.e. memory that the CPU can read and write to directly, with individual instructions) 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 that is used in low-level computer programming in the implementation of device drivers.

Higher-level operating system and programming facilities employ separate, more abstract I/O concepts and primitives. For example, most operating systems provide application programs with the concept of files. The C and C++ programming languages, and operating systems in the Unix family, traditionally abstract files and devices as streams, which can be read or written, or sometimes both. The C standard library provides functions for manipulating streams for input and output.

* Transput - In the context of the ALGOL 68 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 programming is practical.

I/O 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 ablt to convert serial data to parallel form and vice-versa.

There must be provision for generating interrupts and the corresponding type numbers for further processing by the processor if required

Memory-mapped I/O

A computer that uses memory-mapped I/O accesses hardware by reading and writing to specific memory locations, using the same assembler language instructions that computer would normally use to access memory.

Addressing modes

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 addressing

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 addressing

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.

ee also

*C file input/output


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • input/output — UK US adjective (ABBREVIATION I/O) ► IT relating to the process of receiving and sending information to and from a computer or the pieces of equipment involved in the process: » Some input/output controllers also offer Ethernet connectivity… …   Financial and business terms

  • input-output — input output, tabla …   Enciclopedia Universal

  • Input/Output — I Input/Output   [englisch, ɪnput/ aʊtput], Eingang/Ausgang bei Verstärkern, elektronischen Effektgeräten, Mischpulten, Tonbandgeräten u. a.; spezielle Angaben:   ∙ output/power output (englisch, paʊə(r)): Ausgangsleistung (in Watt),   ∙… …   Universal-Lexikon

  • input/output — /in poot owt poot /, Computers. n. 1. the process of input or output, encompassing the devices, techniques, media, and data used: A good first step in designing a program is to define the input/output. adj. 2. pertaining to input or output: Early …   Universalium

  • input/output — /in poot owt poot /, Computers. n. 1. the process of input or output, encompassing the devices, techniques, media, and data used: A good first step in designing a program is to define the input/output. adj. 2. pertaining to input or output: Early …   Useful english dictionary

  • Input/Output — Die Ein /Ausgabe (abgekürzt E/A; engl. Input/Output; kurz I/O) ist ein Bereich der EDV. Als Bestandteil des Eingabe Verarbeitung Ausgabe Prinzips und der Von Neumann Architektur ist er ein zentraler Bestandteil der Informatik. Inhaltsverzeichnis… …   Deutsch Wikipedia

  • input-output — įėjimas išėjimas statusas T sritis radioelektronika atitikmenys: angl. input output vok. Ein Ausgang, m; Ein Herausführung, f rus. вход выход, m pranc. entrée sortie, f …   Radioelektronikos terminų žodynas

  • Input-Output Analysis — is an economics term that refers to the study of the effects that different sectors have on the economy as a whole, for a particular nation or region. This type of economic analysis was originally developed by Wassily Leontief (1905 – 1999) …   Investment dictionary

  • input-output analysis — noun (economics) A method of studying an economy as a whole by analysing the relationship between the input and output of each industry • • • Main Entry: ↑input …   Useful english dictionary

  • Input Output Controller Hub — ICH : en informatique : I/O Controller Hub, le chipset Southbridge d une carte mère d après la nomenclature Intel. Ce document provient de « Input output Controller Hub ». Catégorie : Composant électronique …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”