IBM 1401

IBM 1401

The IBM 1401, the first member of the IBM 1400 series, was a variable wordlength decimal computer that was announced by IBM on October 5, 1959. It was withdrawn on February 8, 1971.

From the [ IBM Archives] :

: "The following is the text of an IBM Data Processing Division press fact sheet distributed on October 5, 1959."

: "The all-transistorized IBM 1401 Data Processing System places the features found in electronic data processing systems at the disposal of smaller businesses, previously limited to the use of conventional punched card equipment. These features include: high speed card punching and reading, magnetic tape input and output, high speed printing, stored program, and arithmetic and logical ability."

: "The 1401 may be operated as an independent system, in conjunction with IBM punched card equipment, or as auxiliary equipment to IBM 700 or 7000 series systems."

The IBM 1401 was also commonly used as an off-line peripheral controller in many installations of both large Scientific Computers and large Business Computers. In these installations the big computer (e.g., an IBM 7090) did all of its input-output on magnetic tapes and the 1401 was used to format input data from other peripherals (e.g., the punch card reader in the IBM 1402 card reader/punch) on the tapes and transfer output data from the tapes to other peripherals (e.g., the punch card punch in the IBM 1402 card reader/punch or the IBM 1403 lineprinter).

During its lifetime about 20,000 total systems were manufactured ( [ photo] ), making the IBM 1401 one of IBM's most successful products. From the [ IBM Archives] :

The monthly rental for a 1401 was $2,500 and up, depending on the configuration. By the end of 1961, the number of 1401s installed in the United States alone had reached 2,000 -- representing about one out every four electronic stored-program computers installed by all manufacturers at that time. The number of installed 1401s peaked at more than 10,000 in the mid-1960s, and the system was withdrawn from marketing in February 1971.

Elements within IBM, notably John Haanstra, an executive in charge of 1401 deployment, supported its continuation in larger models for evolving needs (e.g., the IBM 1410) but the 1964 decision at the top to focus resources on the System/360 ended these efforts rather suddenly. To preserve customer investment in 1401 software, IBM pioneered the use of microcode emulation, in the form of ROM, so that some System/360 models could run 1401 programs. Such emulation continued well into the modern era... in some cases, perhaps, until Y2K efforts caused the still-running 1401 code to be rewritten.

During the 1970s, many installations in India and Pakistan used the 1401 and some of today's Indian and Pakistani software entrepreneurs started on this machine. An IBM 1401, the first computer in Pakistan, was installed in Pakistan International Airlines.

A 1401 Restoration Project is in process at the Computer History Museum in Mountain View, California, complete with the old "false floor" of the mainframe era, used to hide cabling. [cite web | title = 1401 Restoration Project | url = ]


The 1401 used IBM's binary-coded-decimal (BCD) character coding. Each byte (or alphameric character) in the 1401 was represented by six bits, called A, B, 8, 4, 2 and 1. The A and B bits were called "zone" bits and the 8, 4, 2 and 1 bits were called "numeric" bits. Associated with each six-bit byte were two other bits, called C for odd parity "check" and M for "word mark", [cite book | author = IBM |title =IBM 1401 Data Processing System: Reference Manual |date =April 1962|edition =A24-1403-5 |pages = pg 15 |url = | quote = The use of the variable-length instruction and data format requires a method of determining the instruction and data-word length. This identification is provided by a word mark.] in the following format:

C B A 8 4 2 1 M

The 1401 was available in five memory configurations: 1.4K ["K" is used in this article for 1000, not 1024.] , 2K, 4K, 8K, or 16K (a very small number of 1401s were expanded to 32K by special RPQ - "Request for Price Quotation"). An optional "Advanced Programming Option" allowed for additional flags for 3 bytes within the first|Computing

An IBM 1401 core memory address consisted of three six-bit bytes. The decimal address within 000 to 999 was specified by the 8-4-2-1 bits of these bytes. The zone bits of the high-order byte specified an increment, A 1000, B 2000, A and B 3000, giving an addressability of 4,000 bytes in all. The zone bits of the low-order byte specified increments of 4000, 8000, or 12000, to address 16,000 bytes (with an IBM 1406 memory expansion unit). The zone bits of the middle byte were used to specify index registers, one of many optional features.

Instructions were of six lengths (1, 2, 4, 5, 7, 8). One-byte instructions consisted of only an opcode. These were either defined as one-byte instructions or were "chained instructions", using the addresses left by the previous instruction when it completed. Two-byte instructions consisted of an opcode and a modifier byte. Four-byte instructions consisted of an opcode followed by an address, five byte instructions an opcode, address and modifier byte, seven byte instructions an opcode followed by two addresses, and eight byte instructions an opcode, two addresses and a modifier byte.

Instructions were only valid if the wordmark was set on the low-order (opcode) byte and nowhere else in the instruction. Instruction fetching stopped and execution began when another byte with the wordmark set was encountered (the valid opcode byte of the next instruction); there were two exceptions to this rule:

# The dyadic SET WORDMARK instruction, which set two wordmarks, is seven bytes even without a following valid opcode.
# The unconditional BRANCH INDICATOR instruction, is five bytes even without a following valid opcode.: Note: Other than these two exceptions, if no valid opcode was found by the 9th byte, the instruction was treated as an 8 byte instruction, but the computer continued scanning for a valid opcode (ignoring the bytes) until one was found before beginning execution or an error was detected (e.g., the end of memory). This was usually considered sloppy programming but not necessarily an error.

When the LOAD button on the IBM 1402 reader/punch was pressed, a card was read into the card read buffer (core locations 1-80), a wordmark was set in location 1 (validating the first instruction on the card), and clearing the wordmarks in locations 2-80. Thus, the first instruction of any bootstrap program was a dyadic set wordmark, which validated two other instructions. In practice, the first few cards of a card-deck bootstrap program would consist entirely of dyadic set wordmark instructions, no-op instructions, and a "read card and branch" instruction, which would set up a pattern of wordmarks in the card read buffer. The "read card" instruction did not change any wordmarks in the card read buffer. By use of no-op instructions of various lengths, the next few cards would conform to this pattern of wordmarks.


Software on the 1401 included:

* Autocoder a more advanced assembler, required at least 4K memory locations.
* FARGO (Fourteen-o-one Automatic Report Generation Operation), a predecessor of RPG, required 4K.
* FORTRAN II was available for systems containing at least 8K memory locations; the 1401 Fortran compiler is described in Haines, L.H. (1965), below. The Fortran compiler, to generate code for small memories, used a pioneering form of interpreted "p-code" although, of course, its programmers had no name for what it is that they did.
* FORTRAN IV was available for systems containing at least 8K memory locations and either 4 tape drives or 1 IBM 1311 disk drive.
* RPG (Report Program Generator) The only high-level language in common use, RPG was a declarative language primarily for specifying accounting reports and is still in use on IBM's midrange System i. Basic RPG required at least 4K memory locations.
* Symbolic Programming System, SPS-1 and SPS-2, assemblers. [ The [ History of Programming Languages: SPS] web page has, at the bottom, the assertion, attributed to Ray Saunders, that SPS was "was field-written by IBM CEs and SEs".] SPS-1 could run on a low end machine with 1.4K memory locations, SPS-2 required at least 4K memory locations.

For the IBM Catalog of 1401 software, see IBM 1400 series.

Character and Op codes

The table below is listed in Character Collating Sequence.

: Note: If Wordmark bit is set, then the C bit will be opposite of shown. Of course, the C bit was determined and checked automatically by the machine - normally it was of no concern to the programmers. The only way the C bit could be entered was by manually using the switches on the maintenance panel. Although this panel was mainly for use by CEs, a programmer might use these switches to make quick patches while debugging.

Hardware implementation

Most of the logic circuitry of the 1401 was a type of diode-transistor logic (DTL), that IBM referred to as "CTDL". Other IBM circuit types used were referred to as: "Alloy" (some logic, but mostly various non-logic functions, named for the kind of transistors used), "CTRL" (a type of resistor-transistor logic (RTL)). Later upgrades (e.g., the TAU-9 tape interface) used a faster type of DTL using "drift" transistors (a type of transistor invented by Herbert Kroemer in 1953) for their speed, that IBM referred to as "SDTDL". Typical logic levels of these circuits were (S & U Level): high – 0V to -0.5V, low – -6V to -12V; (T Level): high – 6V to 1V, low – -5.5V to -6V.

These circuits were constructed of individual discrete components mounted on single sided paper-epoxy printed circuit boards either 2.5 by 4.5 inches (38 by 114 mm) with a 16 pin gold plated edge connector (single wide) or 5.375 by 4.5 inches (82 by 114 mm) with two 16 pin gold plated edge connectors (double wide), that IBM referred to as "SMS" cards ("Standard Modular System"). The amount of logic on one card was similar to that in one 7400 series SSI or simpler MSI package (e.g., 3 to 5 logic gates or a couple of flip-flops on a single wide card up to about 20 logic gates or 4 flip-flops on a double wide card).

These boards were inserted in sockets on hinged swing out racks, that IBM referred to as "gates".

Art inspired by IBM 1401

In October 2006, respected indie label 4AD (Pixies, Dead Can Dance, Scott Walker) put out an album by Icelandic avante-garde musician, Jóhann Jóhannsson. The album is called 'IBM 1401, A User's Manual'. The concept is based upon work done back in 1964 by his father, Jóhann Gunnarsson, chief maintenance engineer of one of the country’s first computers, and Elias Davidsson, one of the first programmers in the country. The album was originally written for a string quartet, organ and electronics and to accompany a dance piece by long-standing collaborator friend, Erna Ómarsdóttir. For the album recording, Johann has rewritten it for a sixty-piece string orchestra, adding a new final movement and incorporating electronics and vintage reel-to-reel recordings of a singing IBM 1401 mainframe computer found in his father’s attic. [ Link to mp3 samples from the album] .

An early Jim Henson Muppet sketch appears to parody a technical training manual. A prototype of Cookie Monster, with sharper teeth, consumes a complex machine while it reads its own instruction manual aloud. Youtube Video [] .


* cite book

last = IBM
title = IBM 1401 System Summary
id = A24-1401-1
date = April, 1966
url =
"Brief descriptions of the machine features, components, configurations, and special features"

* cite book

last = IBM
title =IBM 1401 Data Processing System: Reference Manual
id = A24-1403-5
date = April, 1962
url =

External links

* [ IBM 1401 documents on]
* [ IBM Archives, 1401 Data Processing System]
* [ IBM 1401 videos and sounds]
* [ 1401s I have Known] , Tom Van Vleck
* cite journal

first = L. H.
last = Haines
title = Serial compilation and the 1401 FORTRAN compiler
journal = IBM Systems Journal
volume = 4
issue = 1
date = 1965
pages = 73–80
url =
. This article was reprinted, edited, in both editions of cite book | first = John A. N. | last = Lee | title = Anatomy of a Compiler | publisher = Van Nostrand Reinhold | date = 1967(1st), 1974(2nd)

* [ Official 4AD page for Johann Johannsson's concept album "IBM 1401: A User's Manual"]
* [ "The Real Computer Monster" (video)]
* [ Music inspired by IBM 1401]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • IBM 1401 — Unité centrale de l IBM 1401 au centre, entourée à gauche de son lecteur de carte perforée IBM 1402 et de son imprimante IBM 1403 à droite Fabricant IBM Famille …   Wikipédia en Français

  • IBM 1401 — Un Sistema IBM 1401. Desde la izquierda: lector/perforador 1402, procesador 1401, impresora 1403. La computadora IBM 1401, primer miembro de la serie IBM 1400, era un ordenador decimal de longitud de palabra variable que fue sacado al mercado por …   Wikipedia Español

  • IBM 1401 — Die IBM 1401 war ein transistorbasierter mit Kernspeicher ausgestatteter Rechner von IBM. Jede Kernspeicherstelle war direkt adressierbar; der Rechner arbeitete dadurch mit variabler Wortlänge, womit eine sehr effiziente Ausnutzung der… …   Deutsch Wikipedia

  • IBM 1403 — en el Computer History Museum en California. La impresora de líneas IBM 1403 fue introducida como parte de la computadora IBM 1401 en octubre de 1959 y tuvo una vida especialmente larga en la línea de productos de IBM …   Wikipedia Español

  • IBM 305 RAMAC — IBM 305 en el Army Red River Arsenal de los EEUU Primer plano: Dos unidades de disco 350. Segundo plano: Consola 380 y unidad de proceso 305. El IBM 305 RAMAC fue el primer ordenador comercial que utilizaba disco duro de cabeza móvil (unidad de… …   Wikipedia Español

  • IBM 1400 — La Serie IBM 1400 fue una serie de computadoras transistorizadas de segunda generación de rango medio orientadas a tareas administrativas que IBM comercializó a principios de 1960. Podían ser operadas como sistemas independientes, junto con un… …   Wikipedia Español

  • IBM 1400 series — The IBM 1400 series were second generation (transistorized) mid range business computers that IBM sold in the early 1960s. They could be operated as an independent systems, in conjunction with IBM punched card equipment, or as auxiliary equipment …   Wikipedia

  • IBM RPG — Infobox programming language name = RPG Report Program Generator paradigm = Multi paradigm year = 1959 designer = developer = IBM latest release version = RPG IV version 6 release 1 latest release date = release date|2008|1|29 latest test version …   Wikipedia

  • IBM 7090 — The IBM 7090 was a second generation transistorized version of the earlier IBM 709 vacuum tube mainframe computers and was designed for large scale scientific and technological applications . The 7090 was the third member of the IBM 700/7000… …   Wikipedia

  • IBM 1410 — The IBM 1410, a member of the IBM 1400 series, was a variable wordlength decimal computer that was announced by IBM on September 12 1960 and marketed as a midrange Business Computer . It was withdrawn on March 30 1970. The 1410 was similar in… …   Wikipedia

Share the article and excerpts

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