Punched card input/output
A computer punched card reader or just computer card reader is a computer input device used to read computer programs in either source or executable form and data from punched cards. A computer card punch is a computer output device that punches holes in cards. Sometimes computer punch card readers were combined with computer card punches and, later, other devices to form multifunction machines. It is a input device and also an output device. Most early computers, such as the ENIAC, and the IBM NORC, provided for punched card input/output. Card readers and punches, either connected to computers or in off-line card to/from magnetic tape configurations, were ubiquitous through the mid-1970s.
Punched cards had been in use since the 1890s; their technology was mature and reliable. Card readers and punches developed for punched card machines were readily adaptable for computer use. Businesses were familiar with storing data on punched cards and keypunch machines were widely employed. Punched cards were a better fit than other 1950s technologies, such as magnetic tape, for some computer applications as individual cards could easily be updated without having to access a computer.
The standard measure of speed is cards per minute, abbreviated CPM: The number of cards which can be read or punched in one minute. Card reader models vary from 300 to around 2,000 CPM. If all columns of an 80 column card encode information this translates to approximately 2,500 characters per second (CPS).
Cards may be read using mechanical brushes that make an electrical contact for a hole, and no contact if no punch, or photoelectric sensors that function similarly. Timing relates the signals to the position on the card. Cards may be read serially, column by column, or in parallel, row by row.
Card punches necessarily run more slowly to allow for the mechanical action of punching, up to around 300 CPM or 400 characters per second.
Some card devices offer the ability to interpret, or print a line on the card displaying the data that is punched. Typically this slows down the punch operation. Many punches read the card just punched and compare its actual contents to the original data punched, to protect against punch errors. Some devices allow data to be read from a card and additional information to be punched into the same card.
Readers and punches include a hopper for input cards and one or more stackers for cards read or punched. A function called stacker select allows the controlling computer to choose which stacker a card just read or punched will be placed into.
Control Data Corporation
- CDC 405 — CDC 6000 series card reader, 1200 or 1600 cards per minute (CPM): 2–1
- CDC 415 — CDC 6000 series card punch, 250 cards per minute: 4–1
- M-200 card reader, 300 cards/minute also sold by DEC as the CR-11 card reader for the PDP-11
- M-600 card reader, 600 cards/minute, also sold by HP as 2892A and 2893A 
- M-1000-L card reader 1,000 cards/minute
- IBM 711 card reader computer peripheral used in the vacuum tube era, 150 or 250 CPM
- IBM 2501 card reader, 600 or 1000 CPM
- IBM 1402 high speed reader/punch introduced with the IBM 1401, 800 CPM
- IBM 1442 reader/punch introduced with the lower-cost IBM 1440, read 80-400 CPM, punch 91-355 CPM
- IBM 2540 reader/punch derived from the 1402 that was introduced with System 360
- IBM 2560 Multi-Function Card Machine (MFCM), first introduced for the IBM System/360 Model 20, could also collate, sort and print/interpret.
- IBM 3505 reader and its companion 3525 reader/printer/punch that was introduced for the System/370 in 1971, read 1200 CPM, punch 300 CPM
For some computer applications, binary formats were used, where each hole represented a single binary digit (or "bit"), every column (or row) is treated as a simple bitfield, and every combination of holes is permitted. For example, the IBM 711 card reader used with the 704/709/7090/7094 series scientific computers treated every row as two 36-bit words, ignoring 8 columns. (The specific 72 columns used were selectable using a plugboard control panel, which is almost always wired to select columns 1–72.) Sometimes the ignored columns (usually 73–80) were used to contain a sequence number for each card, so the card deck could be sorted to the correct order in case it was dropped. An alternative format, used by the IBM 704's IBM 714 native card reader, is referred to as Column Binary or Chinese Binary, and used 3 columns for each 36-bit word. Later computers, such as the IBM 1130 or System/360, used every column. The IBM 1401's card reader could be used in Column Binary mode, which stored two characters in every column, or one 36-bit word in three columns when used as input device for other computers. However, most of the older card punches were not intended to punch more than 3 holes in a column. The multipunch key is used to produce binary cards, or other characters not on the keyboard.
As a prank, in binary mode, cards could be punched where every possible punch position had a hole. Such "lace cards" lacked structural strength, and would frequently buckle and jam inside the machine.
- Plugboard discusses how early card readers worked in some detail.
- Computer programming in the punched card era
- List of IBM products#Punched card and paper tape equipment
- Stern, Nancy (1981). From ENIAC to UNIVAC: An Appraisal of the Eckert-Mauchly Computers. Digital Press. p. 50. ISBN 0-932376-14-2.
- The IBM 711 Punched Card Reader's card-feeding mechanism was similar to the IBM 402's card-feeding mechanism
- Roy, Gautam (2007). Computer Studies for Engineering Students. Mumbai, IN: Allied Publishers Limited. p. 10. ISBN 9788184242119. Retrieved July 28, 2016.
- IBM Corporation (1971). IBM 3505 Card Reader and IBM 3525 Card Punch Subsystem. Retrieved July 28, 2016.
- Control Data Corporation (1967). PUNCHED CARD EQUIPMENT TRAINING MANUAL (PDF). Retrieved May 9, 2021.
- Documation M-200 Card Reader Manual, 1972
- Documation M-200 photo
- "2892A Card Reader". HP Museum. Retrieved 2017-09-11.
- Documation M1000L Card Reader Archived 2012-07-21 at archive.today
- (2006 elections, Arizona) "Certified Voting Equipment Before 2006 - Arizona Secretary of State" (PDF).
- "Dimpled and Pregnant Chad are not votes".
- C. E. Spurrier (1966). "The IBM 2560 multi-function card machine". Proceedings of the April 26-28, 1966, Spring joint computer conference on XX - AFIPS '66 (Spring). p. 315. doi:10.1145/1464182.1464221. S2CID 24960497.
- Thelen, Ed. "Chinese Binary". Retrieved 12 December 2013.
- IBM (1955). IBM Operator's Guide, 22-8484-3 1955 Type 24 Card Punch. IBM.
- Raymond, Eric S. (1991). The New Hacker's Dictionary. Cambridge, MA: MIT Press. p. 219.