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.
Many early computers, such as the ENIAC, and the IBM NORC, provided for punched card input/output.[1] 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.[2] 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 because individual cards could easily be updated without having to access a computer. Also file drawers of punched cards served as a low-density offline storage medium for data.
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 150 to around 2,000 CPM.[3] [4] At 1200 CPM, i.e. 20 cards per second, this translates to 1,600 characters per second (CPS), assuming all 80 columns of each card encode information.
Early computer card readers were base on electromechanical unit record equipment and used mechanical brushes that make an electrical contact for a hole, and no contact if no punch. Later readers used photoelectric sensors to detect the presence or absence of a hole. Timing within each read cycle relates the resulting signals to the corresponding position on the card. Early readers read cards in parallel, row by row, following unit record practice (hence the orientation of the rectangular holes). Later, card readers that read cards serially, column by column became more common.
Card punches necessarily run more slowly to allow for the mechanical action of punching, up to around 300 CPM or 400 characters per second.[5]
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 would read the card just punched and compare its actual contents to the original data punched, to protect against punch errors. Some devices allowed 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 stacker bins to collect 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.
Documation Inc., of Melbourne, Florida, made card readers for minicomputers in the 1970s:
Their card readers have been used in elections,[11] including the 2000 "chads" election in Florida.[12]
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.[14] 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 keypunch keyboard.[15]
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.[16]