Jump to content

Punched card

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 24.4.12.97 (talk) at 12:26, 25 July 2006 (added new link). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The punch card (or "Hollerith" card, or "IBM card") is an obsolescent recording medium for digital information for use by automated data processing machines, including early mainframe-based computers which used them as the primary medium for input of both computer programs and data. Punch cards were ubiquitous for much of the twentieth century. International Business Machines corporation (IBM) was largely founded on Hollerith-card technology, and it manufactured and marketed a variety of specialized machines for creating, sorting, and tabulating cards, even after it branched into computers in the late 1950s. Punch-card ballots were used until recently in many electoral districts in the United States. This became very well known during the United States presidential election of 2000, with its notorious hanging chads, 'chads' being the term referring to the little rectangular sections punched out in specific loci on the card's grid.

Made of thin cardboard, the punch card represents information by the presence or absence of holes in predefined positions. In the first generation of computing, from the 1900s into the 1950s, punch cards were the primary medium for data entry, storage, and processing in institutional computing. Eventually, during the late-1970s to middle-1980s, the punch card was gradually replaced by the combination of better, more capable computers, magnetic disk storage, and computer terminals on less expensive minicomputers.

Today, punch cards are all but obsolete outside of a few legacy systems and specialized applications such as ballot processing.

A typical blank punch card of the type used to store data.

Origins

Punch card system of a music machine. Also referred to as Book music, a one-stop European medium for organs
Punch card system of a 19th Century loom

As early as 1725 Basile Bouchon used a perforated paper loop in a loom to establish the pattern to be reproduced on cloth, and in 1726 his co-worker Jean-Baptiste Falcon improved on his design by using perforated paper cards attached to one another, which made it easier to change the program quickly. The Bouchon-Falcon loom was semi-automatic and required manual feed of the program. Joseph Jacquard used punched cards in 1801 as a control device for the more automatic Jacquard looms, which met with great success.

Charles Babbage, who originated the idea of a programmable computer, adopted Jacquard's system of punched cards to control the sequence of computations in the design for his Analytical Engine in 1837 [1]. Such cards were used as an input method for the primitive calculating machines of the late 19th century. The version by Herman Hollerith, patented on June 8, 1887 and used with mechanical tabulating machines in the 1890 U.S. Census, was a piece of cardboard about 90 mm by 215 mm, with round holes. To compensate for the cyclical nature of the Census Bureau's demand for his machines, Hollerith founded the Tabulating Machine Company (1896) which was one of three companies that merged to form IBM in 1911.

Card formats

The early applications of punched cards all used specifically-designed card layouts. It wasn't until around 1928 that punched cards and machines were made "general purpose". In that year, punched cards were made a standard size, exactly 7-3/8 inch by 3-1/4 inch (187.325 by 82.55 mm), dimensions almost identical to the large-sized notes used as U.S. currency until 1929. The cards were made of smooth stock, 0.007 inch (0.178 mm) thick. Typically one of the upper corners was cut at an angle. Later it became common to have the other corners slightly rounded. There are about 143 cards to the inch; a group of such cards is called a deck.

The IBM 80-column punching format, with rectangular holes, eventually won out over the competing UNIVAC 90-character format, which used 45 columns (2 characters in each) of 12 round holes. Punch cards were widely known as just IBM cards, even though other companies made cards and equipment to process them. The rectangular bits of paper punched out are called chad (recently, chads) or chips (in IBM usage).

IBM punch card format

The IBM card format held 80 columns with 12 punch locations each, representing 80 characters. The top two positions were called zone punches, 12 (top) and 11. These often encoded plus and minus signs. The remaining ten positions represented (from top to bottom) the digits 0 through 9.

Originally only numeric information was coded, with 1 or 2 punches per column: digits (digit [0-9]) and signs (zone [12,11] – sometimes overpunching the Least Significant Digit). Later, codes were introduced for upper-case letters and special characters. A column with 2 punches (zone [12,11,0] + digit [1-9]) was a letter; 3 punches (zone [12,11,0] + digit [2-4] + 8) was a special character. The introduction of EBCDIC in 1964 allowed columns with as many as 6 punches (zones [12,11,0,8,9] + digit [1-7]). For computer applications, binary formats were sometimes used, where each hole represented a single binary digit (or "bit").

A card from a Fortran program.

Corner cut

A major reason for the corner cut was so the punch card would not be inserted backwards or upside down. Operators loading card decks would quickly recognize an inverted card. Many computer installations used cards with the opposite corner cut (sometimes no corner cut) as "job separators", so that an operator could stack several job decks in the card reader at the same time and be able to quickly separate the decks manually when he removed them from the stacker. These cards (e.g., a JCL command to start a new job) were prepunched in large quantities in advance. This was especially useful when the main computer did not read the cards directly, but instead read their images from magnetic tape that was prepared offline by smaller computers such as the IBM 1401.

Pre-printed cards

It was common to have cards for particular applications pre-printed, with fields marked by vertical lines. Each programming language of the era had a special card form. Punch cards were used as legal documents, such as U.S. Government checks and savings bonds. For much of the 20th century IBM cards had the warning "Do not fold, spindle or mutilate," printed at one end, and that became something of a motto for the post-World War II era, though many people had no idea what spindle meant.

Key punches and verifiers

IBM 029 keypunch for manual entry of data

Data was entered on a machine called a keypunch, which was like a large (desk-sized), very noisy typewriter. Often the text was also printed at the top of the card, allowing humans to read the text as well. This was done using a machine called an interpreter. Later model keypunches could do this as well. Multi-character data, such as words or large numbers, were stored in adjacent card columns known as fields. For applications in which accuracy was critical, the practice was to have two different operators key the same data, with the second using a card verifier instead of a card punch. Verified cards would be marked with a rounded notch on the right end. Failed cards would be replaced by a keypunch operator. There was a great demand for keypunch operators, usually women, who worked full-time on keypunch and verifier machines.

Data processing

A reproducing punch, like this one from IBM, could make exact copies of a deck of cards.

Electromechanical equipment (called unit record equipment) for punching, sorting, tabulating, and printing the cards was widely used in industry and government. These machines allowed sophisticated data-processing tasks to be accomplished long before modern (electronic) computers were invented. The card readers used an electrical (metal brush) or, later, optical sensor to detect which positions on the card contained a hole. They had high-speed mechanical feeders to process around one hundred cards per minute. All processing was done with electromechanical counters and relays. The machines were programmed using control panels that held numerous wire patch cords to route the various signals. Later card readers and punches used as computer peripherals employed electronics and optical sensors and ran at much higher speeds. One late-model reader from IBM, the 3505, could read one thousand cards per minute

Other formats

A System/3 punch card.

Other coding schemes, sizes of card, and hole shapes were tried at various times. Mark sense cards had printed ovals that humans would fill in with a pencil. Specialized card punches could detect these marks and punch the corresponding information into the card. There were also needle cards with all the punch positions perforated so that data could be punched out manually, one hole at a time, with a device like a blunt pin with its wire bent into a finger-ring on the other end. In the early 1970s IBM introduced a new, smaller, round-hole, 96-column card format along with the IBM System/3 computer.

Agway once issued debit cards that were punched instead of magnetically encoded.

Aperture cards are a specialized use of punch cards for storing "blueprints". A drawing is photographed onto 35 mm film and the image is mounted in a window on the right half of the punch card. Information about the drawing, e.g. the drawing number, is punched in the left half.

IBM punch cards could be used with early computers in a binary mode where every column (or row) was treated as a simple bitfield, and every combination of holes was permitted . In this binary mode, cards could be made in which every possible punch position had a hole: these were called "lace cards". For example, the IBM 700/7000 series scientific computers treated every row as two 36-bit words, usually in columns 1-72, ignoring the last 8 columns (but this was programmable using a plugboard in the card reader and punch to select the 72 columns used). Other computers, like the IBM 1130, used every possible hole.

Another class of punch cards had holes along the edges of the card that could be notched out. Decks of these cards could be manipulated manually by inserting metal wires through one or more of the holes. Cards that were notched out at those positions would not be lifted by the wires, while the others were. [2]

Advantages

In its earliest uses, the punch card was not just a data-recording medium but a controlling element of the data-processing operation. Punch cards that held processing instructions were called control cards. Electrical pulses produced when the read brushes passed through holes punched in the cards directly triggered electro-mechanical counters, relays, and solenoids. Cards were inexpensive and provided a permanent record of each transaction. Large organizations had warehouses filled with punch-card records.

One reason punch cards persisted into the early computer age was that an expensive computer was not required to encode information onto the cards. When the time came to transfer punch-card information into the computer, the process could occur at very high speed, either by the computer itself or by a separate, smaller computer (e.g. an IBM 1401) that read the cards and wrote the data onto magnetic tapes or, later, on removable hard disks, that could then be mounted on the larger computer, thus making best use of expensive mainframe computer time.

Computer programming in the punch card era

From the invention of computer programming languages until, roughly the mid-1970s, most computer programmers created, edited and stored their programs on punch cards. The practice was nearly universal with IBM computers in the era. In many organizations, programmers carefully wrote out their programs on special forms called coding sheets, taking care to distinguish the digit zero from the letter O, the digit one from the letter I, 8's from Bs and so on. Completed forms were sent to the keypunch department where operators typed them in, one line to a card. In other shops, programmers did their own keypunching.

A box of punch cards with several program decks.

Program editing was generally done at the keypunch. It was easy to reorder program statements. A single character typo could be corrected by duplicating the card up to the error column, typing the correct character and then duplicating the rest of the card. More complex edits were harder and might require retyping the line after the point of error.

Many early programming languages, including Fortran, Cobol and the various IBM assembler languages, reserved the columns 73-80 for adding a sequence number, so that if the card deck was dropped, it could be restored to its proper order using a card sorter. Programmers often didn't bother doing this during development or for student projects and, instead, frequently drew a diagonal stripe across the top of the deck using a marking pen. Programs were backed up by duplicating the entire deck or by having it written onto a magnetic tape.

A pad of Fortran coding forms.

In many mainframe operations, known as closed shops, programmers submitted the program decks, often followed by data cards to be read by the program, to a counter in the computer room. A computer operator would load the program and run it, returning the card deck and any output, typically to one of a set alphabetically-labled cubby holes, based on the programmers last initial. Depending on workloads and project priority the process could take hours; overnight and 24 hour turnaround times were not uncommon. Other operations, such as those using smaller computers like the IBM 650, 1620 and 1130, were run as an open shop, where programmers had use of the computer for a block of time. A keypunch was usually located nearby for quick corrections.

Obsolescence

Punched-card systems fell out of favor in the mid to late 1970s, as disk storage became cost-effective, and affordable interactive terminals meant that users could edit their work with the computer directly rather than requiring the intermediate step of the punched cards.

However, their influence lives on through many standard conventions and file formats. The terminals that replaced the punched cards displayed 80 columns of text, for compatibility with existing software. Many programs still operate on the convention of 80 text columns, although strict adherence to that is fading as newer systems employ graphical user interfaces with variable-width type fonts.

Dimpled and hanging chads

One term for the punch-card area which is removed during a punch is chad, although in IBM product nomenclature the term chip was invariably used.

Punch-card-based voting systems, the Votomatic system in particular, use special cards where each possible hole is pre-scored, allowing perforations to be made by the voter pressing a stylus through a guide in the voting machine. These pre-perforated cards are called Port-A-Punch cards, a type introduced by IBM in 1958. One notorious problem with this system is the incomplete punch; this can lead to a smaller hole than expected, or to a mere slit in the card, or to a mere dimple in the card. An incompletely detached chad is a hanging chad. This technical problem was claimed by the Democratic Party to have influenced the 2000 U.S. presidential election in the state of Florida; critics claimed that punch-card voting machines were primarily used in Democratic areas and that hundreds of ballots were not read properly or were disqualified due to incomplete punches, which allegedly tipped the vote in favor of George W. Bush over Al Gore.

Other punch-card voting systems use a metal hole-punch mechanism that does not suffer nearly as much from this fault, although most states have eliminated punch-card voting systems of all types after the 2000 Florida experience.

See also

In part, This article is based on material taken from  the Free On-line Dictionary of Computing  prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.