Knowledge

Input/output

Source đź“ť

151: 43: 649: 349:. A further complication is that a device traditionally considered an input device, e.g., card reader, keyboard, may accept control commands to, e.g., select stacker, display keyboard lights, while a device traditionally considered as an output device may provide status data (e.g., low toner, out of paper, paper jam). 404:
should be implemented by the interface using appropriate commands (like BUSY, READY, and WAIT), and the processor can communicate with an I/O device through the interface. If different data formats are being exchanged, the interface must be able to convert serial data to parallel form and vice versa.
416:
accesses hardware by reading and writing to specific memory locations, using the same assembly language instructions that computer would normally use to access memory. An alternative method is via instruction-based I/O which requires that a CPU have specialized instructions for I/O. Both input and
340:
The designation of a device as either input or output depends on perspective. Mice and keyboards take physical movements that the human user outputs and convert them into input signals that a computer can understand; the output from these devices is the computer's input. Similarly, printers and
490:
requires the use of instructions that are specifically designed to perform I/O operations. The I/O instructions address the channel or the channel and device; the channel asynchronously accesses all other required addressing and control information. This is similar to DMA, but more flexible.
502:
also requires the use of special I/O instructions. Typically one or more ports are assigned to the device, each with a special purpose. The port numbers are in a separate address space from that used by normal instructions.
345:'s perspective, the process of reading or seeing these representations is receiving output; this type of interaction between computers and humans is studied in the field of 341:
monitors take signals that computers output as input, and they convert these signals into a representation that human users can understand. From the human
405:
Because it would be a waste for a processor to be idle while it waits for data from an input device there must be provision for generating
622: 364:, is considered the brain of a computer. Any transfer of information to or from the CPU/memory combo, for example by reading data from a 388:
is one designed to exploit locality and perform efficiently when exchanging data with a secondary storage device, such as a disk drive.
456:, which permits programs to just describe I/O, and the actions are carried out outside the program. This is notable because the 578: 396:
An I/O interface is required whenever the I/O device is driven by a processor. Typically a CPU communicates with devices via a
156: 107: 79: 155: 86: 616: 126: 446: 93: 572: 461: 361: 346: 173: 157: 64: 653: 465: 333:, typically perform both input and output operations. Any interaction with the system by an interactor is an 60: 514:(DMA) is a means for devices to transfer large chunks of data to and from memory independently of the CPU. 438: 234: 75: 400:. The interface must have the necessary logic to interpret the device address generated by the processor. 472: 17: 385: 334: 154: 353: 53: 283:
sent from it. The term can also be used as part of an action; to "perform I/O" is to perform an
445:. Most programming languages provide I/O facilities either as statements in the language or as 606: 669: 401: 275:, and the outside world, such as another computer system, peripherals, or a human operator. 100: 511: 422: 373: 298: 31: 8: 421:
rate that can vary greatly. With some devices able to exchange data at very high speeds
409:
and the corresponding type numbers for further processing by the processor if required.
441:. For example, most operating systems provide application programs with the concept of 612: 568: 499: 413: 369: 302: 203: 183: 523: 434: 342: 318: 314: 280: 227: 198: 142: 301:
used by a human (or other system) to communicate with a computer. For instance, a
562: 418: 397: 476: 306: 284: 279:
are the signals or data received by the system and outputs are the signals or
663: 538: 442: 377: 322: 193: 27:
Communication between an information processing system and the outside world
533: 437:
and programming facilities employ separate, more abstract I/O concepts and
330: 310: 271:) is the communication between an information processing system, such as a 487: 381: 357: 276: 220: 188: 365: 368:, is considered I/O. The CPU and its supporting circuitry may provide 528: 453: 406: 248: 178: 42: 272: 479:, or stream-oriented, with the file containing a stream of bytes. 425:
to memory (DMA) without the continuous aid of a CPU is required.
648: 360:, to which the CPU can read or write directly using individual 326: 604: 337:
and the reaction the system responds is called the output.
564:
The Essentials of Computer Organization and Architecture
471:
The I/O facilities provided by operating systems may be
325:. Devices for communication between computers, such as 608:
Fundamentals of Computer Organization and Architecture
452:
An alternative to special primitive functions is the
67:. Unsourced material may be challenged and removed. 352:In computer architecture, the combination of the 661: 605:Abd-El-Barr, Mostafa; Hesham El-Rewini (2005). 560: 153: 567:. Jones & Bartlett Learning. p. 185. 428: 464:to any programming language, but this allows 228: 611:. John Wiley & Sons. pp. 161–162. 235: 221: 30:"I/O" redirects here. For other uses, see 127:Learn how and when to remove this message 449:in a standard library for the language. 506: 14: 662: 600: 598: 596: 556: 554: 625:from the original on 21 December 2016 581:from the original on 20 December 2016 65:adding citations to reliable sources 36: 593: 551: 376:, such as in the implementation of 24: 494: 149: 25: 681: 641: 561:Null, Linda; Julia Lobur (2006). 647: 41: 52:needs additional citations for 482: 13: 1: 544: 466:purely functional programming 391: 7: 517: 429:Higher-level implementation 380:, or may provide access to 10: 686: 460:functions would introduce 372:that is used in low-level 347:human–computer interaction 29: 285:input or output operation 475:, with files containing 417:output devices have a 313:for a computer, while 160: 412:A computer that uses 159: 656:at Wikimedia Commons 512:Direct memory access 507:Direct memory access 374:computer programming 61:improve this article 32:I/O (disambiguation) 297:are the pieces of 174:Process management 161: 652:Media related to 468:to be practical. 414:memory-mapped I/O 370:memory-mapped I/O 245: 244: 184:Memory management 143:Operating systems 137: 136: 129: 111: 16:(Redirected from 677: 651: 635: 634: 632: 630: 602: 591: 590: 588: 586: 558: 524:Asynchronous I/O 459: 435:operating system 295: 294: 263:, or informally 237: 230: 223: 152: 139: 138: 132: 125: 121: 118: 112: 110: 69: 45: 37: 21: 685: 684: 680: 679: 678: 676: 675: 674: 660: 659: 644: 639: 638: 628: 626: 619: 603: 594: 584: 582: 575: 559: 552: 547: 520: 509: 500:Port-mapped I/O 497: 495:Port-mapped I/O 485: 473:record-oriented 457: 431: 419:data processing 394: 292: 291: 241: 166:Common features 158: 150: 133: 122: 116: 113: 70: 68: 58: 46: 35: 28: 23: 22: 15: 12: 11: 5: 683: 673: 672: 658: 657: 643: 642:External links 640: 637: 636: 617: 592: 573: 549: 548: 546: 543: 542: 541: 536: 531: 526: 519: 516: 508: 505: 496: 493: 484: 481: 430: 427: 393: 390: 378:device drivers 323:output devices 307:computer mouse 243: 242: 240: 239: 232: 225: 217: 214: 213: 212: 211: 206: 201: 196: 194:Device drivers 191: 186: 181: 176: 168: 167: 163: 162: 146: 145: 135: 134: 76:"Input/output" 49: 47: 40: 26: 9: 6: 4: 3: 2: 682: 671: 668: 667: 665: 655: 650: 646: 645: 624: 620: 618:9780471478331 614: 610: 609: 601: 599: 597: 580: 576: 570: 566: 565: 557: 555: 550: 540: 539:Output device 537: 535: 532: 530: 527: 525: 522: 521: 515: 513: 504: 501: 492: 489: 480: 478: 474: 469: 467: 463: 455: 450: 448: 444: 440: 436: 433:Higher-level 426: 424: 423:direct access 420: 415: 410: 408: 403: 399: 389: 387: 386:I/O algorithm 383: 379: 375: 371: 367: 363: 359: 355: 350: 348: 344: 338: 336: 332: 331:network cards 328: 324: 320: 316: 312: 308: 304: 300: 296: 288: 286: 282: 278: 274: 270: 266: 262: 258: 254: 250: 238: 233: 231: 226: 224: 219: 218: 216: 215: 210: 207: 205: 202: 200: 197: 195: 192: 190: 187: 185: 182: 180: 177: 175: 172: 171: 170: 169: 165: 164: 148: 147: 144: 141: 140: 131: 128: 120: 117:November 2019 109: 106: 102: 99: 95: 92: 88: 85: 81: 78: â€“  77: 73: 72:Find sources: 66: 62: 56: 55: 50:This article 48: 44: 39: 38: 33: 19: 670:Input/output 654:Input/output 627:. Retrieved 607: 583:. Retrieved 563: 534:Input device 510: 498: 486: 470: 462:side-effects 451: 432: 411: 395: 382:I/O channels 362:instructions 351: 339: 311:input device 290: 289: 268: 264: 260: 256: 253:input/output 252: 246: 209:Input/output 208: 123: 114: 104: 97: 90: 83: 71: 59:Please help 54:verification 51: 629:11 December 585:11 December 488:Channel I/O 483:Channel I/O 402:Handshaking 358:main memory 293:I/O devices 189:File system 574:0763737690 545:References 439:primitives 407:interrupts 366:disk drive 199:Networking 179:Interrupts 87:newspapers 18:I/O device 529:I/O bound 454:I/O monad 447:functions 392:Interface 249:computing 664:Category 623:Archived 579:Archived 518:See also 319:printers 315:monitors 303:keyboard 299:hardware 273:computer 204:Security 477:records 101:scholar 615:  571:  327:modems 309:is an 277:Inputs 103:  96:  89:  82:  74:  443:files 384:. An 335:input 108:JSTOR 94:books 631:2016 613:ISBN 587:2016 569:ISBN 356:and 343:user 329:and 321:are 317:and 281:data 80:news 458:I/O 398:bus 354:CPU 305:or 267:or 261:i/o 257:I/O 247:In 63:by 666:: 621:. 595:^ 577:. 553:^ 287:. 269:IO 265:io 259:, 251:, 633:. 589:. 255:( 236:e 229:t 222:v 130:) 124:( 119:) 115:( 105:· 98:· 91:· 84:· 57:. 34:. 20:)

Index

I/O device
I/O (disambiguation)

verification
improve this article
adding citations to reliable sources
"Input/output"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Operating systems
Process management
Interrupts
Memory management
File system
Device drivers
Networking
Security
Input/output
v
t
e
computing
computer
Inputs
data
input or output operation

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑