Bull Gamma 3

Last updated
Bull Gamma 3
Gamma-3-open.jpg
Interior view of the Gamma 3, showing power supplies on the left, and electronic circuit drawers on the right.
DeveloperCompagnie des Machines Bull
Product familyComputer
TypeProgrammable electronic computer (Gamma 3, 1952), then stored-program computer (Gamma 3 AET and ET, 1955)
Generation1st
Release date1952
Discontinued1962
Units soldMore than 1200
CPU Drawers of vacuum tubes and germanium diodes plugged into a backplane. 48 bits, bit-serial processor @ 281 kHz
Memory7 registers (48 bits or 12 BCD characters each) using delay line technology. Drum memory (8192 or 16,384 words, 49 to 98 kB) and intermediate memory of 64 or 128 words.
Power3kW, fed through 3x 220V inputs
Dimensions155 cm x 150 cm x 68 cm
Mass900 kg
SuccessorGamma 10 (low end), Gamma 30 (mid-end), Gamma 60 (high end)

The Gamma 3 was an early electronic vacuum-tube computer. It was designed by Compagnie des Machines Bull in Paris, France and released in 1952.

Contents

Originally designed as an electronic accelerator for electromechanical tabulating machines, similar to the IBM 604, it was gradually enhanced with new features and evolved into a first-generation stored program computer (Gamma AET, 1955, then ET, 1957). [1] [2] In its stored-program configurations, the Gamma 3 mostly competed with the IBM 650.

Over the course of its ten-year availability, this machine facilitated the transition from electromechanical unit records equipment to computers. The Gamma 3 was a commercial success, eventually selling more than 1200 units and prompting IBM to release the 1401 as a competitor. [3] [4]

The Gamma 3 was succeeded by the lower-end Gamma 10, the mid-range Gamma 30, and the large, high-end Gamma 60 mainframe.

History

Until the 1950s, Compagnie des Machines Bull, like its rival IBM, primarily marketed punched card tabulators for inventory management, payroll, and accounting.

These tabulators performed arithmetic operations through a series of digit wheels driven by an electro-mechanical device. Only incrementation, and thus addition, was supported, making subtractions and multiplications particularly slow. [5]

In order to increase the calculation speed and avoid delaying the reading of punched cards during more complex operations, an accelerator capable of overcoming electro-mechanical limitations became a necessity. [5]

Starting in 1949, the Bull Company became interested in vacuum tubes for their switching speed compared to adding wheels and electromechanical relays. The computer was designed using logical circuits comprising around 400 vacuum tubes, 8000 germanium diodes and 48-bit registers made of electric delay lines to further reduce the dependency on vacuum tubes. [6] [7]

The machine has a clock speed of 281 kHz, [8] higher than the 50 kHz of the IBM 604, and more importantly, several orders of magnitude faster than electromechanical devices. The execution time for adding two numbers was 680 μs, while multiplications took 5.7ms. The duration of instructions execution varied from 0.6 ms to 10 ms, with a mean time 2 ms. [8] [9] The Gamma 3 was connected to the tabulator through a cable plugged in place of its connection panel (where the program instructions were coded); thus, the program would now reside and run on the Gamma 3 computer rather than the tabulator. [2]

Nevertheless, while the Gamma 3 was programmable through a removable connection panel similar to those of tabulators, it remained a peripheral device of the tabulator rather than the other way around. Furthermore, despite being electronic, binary, and having a Turing-complete instructions set, the Gamma 3 still lacked the ability to store programs in memory. [6]

Gamma 3 units being produced at Bull's Angers plant in France during the 1950s. Bull Gamma 3 in production.jpg
Gamma 3 units being produced at Bull's Angers plant in France during the 1950s.

A first step towards a stored program configuration occurred with the Card Program (Programme Par Carte, PPC), introducing the capability to execute a program loaded from punched cards rather than hard wired onto a connection panel. [6] IBM also experimented with a similar concept with the CPC (Card Programmed Calculator) extension added to the 604. [10] However, while this would lift the limititation of 64 programming steps and allow arbitrary-sized programs to run, the programs were still not executed in main memory, so their execution speed depended on the reading speed of the punched cards containing the program.

The computer underwent a new upgrade in 1955 with the inclusion of a magnetic drum, adding 8192 words of memory, equivalent to 49 kB (64 tracks of 8 blocks of 16 words of 48 bits), [11] [12] a fairly generous amount for that time. Up to three instructions could be stored per word on the drum, allowing up to 25,000 instructions to fit. [7] This new version was called Gamma 3 A.E.T (Armoire Extension Tambour, or Drum Extension Cabinet).

The programs were stored in the A.E.T.'s memory in groups of 48 instructions, referred to as "series". When needed, a series was moved from the drum to an intermediate memory group acting as an instruction cache, which allowed the computer to fetch each instruction one by one and transfer them into its instruction register. Interestingly, the instructions, particularly the addresses, could be altered within the computer's arithmetic unit, just like any other data. This capability paved the way for indirect or indexed addressing. [7] The instruction cache also alleviated the issue found with the IBM 650, which required optimizing the arrangement of instructions on the drum to prevent its latency from slowing the program down. [13]

As a last upgrade, the magnetic drum was doubled in height in 1957, reaching 16,384 words (98 kB) or 50,000 instructions, and a standalone operator console was included, featuring an oscilloscope CRT display and push buttons to examine memory and single step the code. [14] This new configuration was called Gamma 3 ET, for Extension Tambour.

Complete Gamma ET system at the SICOB exposition in Paris, late 1950s. The operator console is visible in the foreground, along with two tabulating machines. The CPU and memory cabinets are in the background. Bull-Gamma-ET-SICOB.jpg
Complete Gamma ET system at the SICOB exposition in Paris, late 1950s. The operator console is visible in the foreground, along with two tabulating machines. The CPU and memory cabinets are in the background.

With its capability to load and execute programs in memory, the Gamma 3 in its AET and ET configurations became the first French commercial stored program computer (although SEA had built stored program computers earlier). [1] The tabulator now served as an input/output device, while the Gamma 3 became a central processing unit with a Von-Neumann architecture. [15] Gradually, the electromechanical unit record equipment gave way to electronic computers. [16] The Gamma 3 ET positioned itself as a competitor to the IBM 650 computer, which had a very similar design. [1] [3]

The first client to receive a Gamma 3 was Crédit Lyonnais in Saint-Étienne in March 1953. [8] The Gamma 3 and 3 ET were subsequently used both in business data processing within large companies and for scientific calculations, notably at the then-emerging CERN and CNRS [1] [17] or Air Liquide. [18]

Bull never sold the Gamma 3 in America despite its partnership with Remington Rand - Univac and having a custom version with a 60 Hz power supply. [7]

The Gamma 3 was a commercial success in Europe, with approximately 1200 units sold, outselling the IBM 650. [3] The expanded Gamma 3 compared very favorably to its competitor: the memory space was four times larger and could store twelve times more instructions in memory, while the processing speed was generally higher. [7] This success prompted IBM to design the 1401 in response. [3] [19]

Memory organization

The Gamma 3 implements three kind of memories, which all are based on 48-bit words or 12 BCD characters.

The first kind are a group of seven registers at the heart of the CPU. M1, also called Operator Memory is the accumulator and has the adder-subtractor wired to it, with M2 the auxiliary accumulator for double-precision, 96 bits arithmetic. M3 to M7 are general purpose registers called Common Memories (Mémoires Banales). Transfers between them pass through M1. M0 is a special register linked to M1 and not available to the programmer. [20]

Structure of the Gamma 3 computer from a 1950s programming course. Blocks of code and data from the drum feed memory groups (bottom half). The first three groups (0,1,2) are executable and called Series. Series 3 is mapped to the plug board, while Group 3 serves as an I/O buffer. Machine code from a Series is then fetched from memory, decoded and executed (top half). Gamma 3 computer organization.jpg
Structure of the Gamma 3 computer from a 1950s programming course. Blocks of code and data from the drum feed memory groups (bottom half). The first three groups (0,1,2) are executable and called Series. Series 3 is mapped to the plug board, while Group 3 serves as an I/O buffer. Machine code from a Series is then fetched from memory, decoded and executed (top half).

Besides those generic registers, the Gamma 3 also uses six internal registers:

In order to reduce the number of electronic tubes, a common source of failures, the registers (common memories) use electric delay lines instead of flip-flops. [21]

A second type of memory is known as Circulating Memories, which act as buffers, as their content is meant to be swapped from and to the drum memory. The circulating memories, denoted from M8 to M15, are implemented using magnetorestrictive delay lines in a separate, dedicated cabinet (ET). These eight memories are grouped in pairs to form four "groups". Groups 0, 1, and 2 are executable and referred to as "series", with each series serving as an instruction cache holding 48 instructions. The plugboard, when used, constitutes series 3. This would later be used for specific extensions shipped as wired subroutines.

Group 3 acts as an I/O buffer. An "Ordonnateur" (ORD) memory cabinet can also be added, providing an extra four groups (4 to 7), each one holding data, none of them executable.

Finally, the drum memory serves as a large swapping device hosting both code and data, and fed from punch cards. On the Gamma 3, code isn't executed from the drum but from the first three groups of the circulating memories. While this increases the execution speed, it also makes far jumps more costly, as a page must first be swapped from the drum to the MC memories with a dedicated instruction ("TB").

The drum consists of a Duralumin cylinder, 15 or 30 cm long, rotating at about 2,750 rpm. It hosts 64 or 128 tracks of 8 blocks, with each block containing a group, therefore the drum can store up to 1024 series, or 49,152 instructions. [21] The recording density approached 300 bits per inch, using phase modulation, which was a record at that time. [22]

Instruction set

Original code table from 1959. This helps convert mnemonics to machine code. For instance, instruction CB translates to TO=1,AD=15 Gamma-3-tableau-de-code.jpg
Original code table from 1959. This helps convert mnemonics to machine code. For instance, instruction CB translates to TO=1,AD=15

A Gamma 3 instruction consists of a 16-bit word composed of four hexadecimal numbers: an operation code (TO, Type d'Opération), an address (AD), a start order (OD, Ordre Début) and an end order (OF, Ordre Fin). The TO field specifies the general instruction type, while the three other fields acts as parameters. [20] OD and OF sets positions, which can either be digits in binary mode or characters in BCD mode. A total of 29 mnemonics are provided in the instruction set.

Sample program on a coding sheet. The first column shows the labels and jumps. The next columns show the program register (NL), the mnemonics, the content of the shift register (MD) and the content of the first four registers. Gamma-3-PDF-AET.jpg
Sample program on a coding sheet. The first column shows the labels and jumps. The next columns show the program register (NL), the mnemonics, the content of the shift register (MD) and the content of the first four registers.

No assembler, often called autocoder in those days, was initially provided, nor high-level languages like Fortran which were yet to be invented. Instead, the programmer would first create a flowgraph of the program, complete it with mnemonics, manually convert the mnemonics to machine code using a table, then write down the resulting code on a coding sheet for review before punching it onto cards. After loading the program into the drum memory, the operator panel would allow the programmer to examine and deposit data in memory, as well as control the program flow for debugging purposes. [14]

Instructions reside in a series hosted in the circulating memories of the ET cabinet, where the code is fetched and decoded by the processor (the Gamma 3 cabinet). Short programs can be wired on the plug board, although most commonly they would be punched on cards and fed to the drum memory to be executed as a stored program. [12]

The following table describes the instructions with their mnemonics and related machine code:

MnemonicsTOADDescription
V (Variante)00No operation (NOP) if OD and OF are also null
VS (Variante Systématique)00Jumps to OD + OF
VC (Variante Comparaison)01Jumps to OD + OF if MD <= 0
02Jumps to OD + OF if MD != 0
03Jumps to OD + OF if MD < 0
04Jumps to OD + NF if MS1 is positive
VCS (Variante Changement de Série)10Jumps to address OD of Series OF

Series must be 0, 1 or 2

11VCS, then stores jump address + 1 to RNL1
12VCS, then OD + 1 -> RNL2
VRS (Variante Retour Serie)15RNL1 -> NL

(jumps back to the address stored in RNL1)

16RNL2 -> NL
ES1 (Extraction Statique)18Sends data to Group 3 (IO register)
ES2 (Extraction Statique)19Sends data to Group 3 (IO register)
CD (Calcul Decimal)10xASets the ALU to BCD mode
CO (Commutation d'Octade)10xCSelects the "octade" (8 words) set in OF
CSZ (Commutation de Seizaine)10xDSelects the "seizaine" (16 words) set in OF
CB (Calcul binaire)10xFSwitches the ALU to binary (scientific) mode
BT (Banale->Tambour)

TB (Tambour->Banale)

2Transfers Group AD to/from block OF of track OD of the drum.

Last position of OF sets T->B or B->T

ZB (Zéro Banale)3Resets register AD between positions OD and OF
KB (Constante Banale)4Writes the value OF at position OD of register AD
GG (Groupe -> Groupe)50Copies Group OD to Group OF
IS (Introduction Statique)5Receives data from peripheral (usually a punch card reader) mapped to channel AD
BO (Banale -> Operative)60Resets M1, then sets position 0 to 1. Resets MD (shift register).
6Resets M1, then transfer register AD to M1 between positions OD and OF. Resets MD.
AMD (Alteration Mémoire Décalage)70Sets MD to 1
BD (Banale -> Décalage)72Sets MD with position OD of M2
IL (Intersection Logique)70xALogical AND between 1 and each position in M1
70xCLogical AND between M1 and M2
OB (Opérateur -> Banale)81Sets M1 to zero between positions OD and OF
8Shifts M1, then copy positions OD to OF to register AD between the same positions
CN (Comparaison Normale)90Shifts M1, then compares position OD to 1 and sets the result to the Comparison Register (MC)
9Shifts M1, then compare its content to register AD between positions OD and OF. Sets the result to MC
AN (Addition Normale)0xA0Shifts M1, adds 1 to position 0
0xAShifts M1, adds M1 to the value of register AD between positions OD and OF, writes the result to M1
SN (Soustraction Normale)0xB0Shifts M1, subtracts 1 to M1 from position 0
0xBShifts M1, subtract M1 from register AD from position OD to OF, writes the result to M1
MR (Multiplication Réduite)0xCMultiplies the number in M1 by register AD between positions OD and OF, puts the result in M1
DR (Division Réduite)0xDDivides the number in M1 by register AD between positions OD and OF, puts the result in M1
MC (Multiplication Complète)0xEDouble precision multiplication. Multiply M1 by the value of register AD between positions OD and OF, sets the results in M1-M2
DC (Division Complète)0xFDouble precision division. Divides the number in M1-M2 by the value of register AD between positions OD and OF. Quotient is written to a part of M2 and the remainder in M1-M2

Since the plugboard was mapped to series 3, some extensions and subroutines eventually became shipped as pre-wired plugboard programs. One such example was the 'PDF' extension (Point Decimal Flottant, or Floating Point Decimal), which added two extra instructions: BD and DCC to facilitate the use of floating-point numbers. [23]

The complete descriptions of the instruction set, along with programming examples, can still be found nowadays in some programming courses from the 1950s. [24] [12]

In the later days of the Gamma 3, a high-level language was implemented by a team of students led by professor Pierre Bacchus from University of Lille. This language, Auto-Programmation Bull (APB) mixed elements of the Gamma 3 assembly language with structured elements of what would become ALGOL 60. [25] It eventually proved fairly popular in the Gamma 3 user group and was later ported to the IBM 1620. [25]

Historical and technical particularities

The Gamma 3 features a dual-mode ALU, capable of operating both in decimal mode (12-character BCD words) for business data processing, or in binary mode (48-bit words) for industrial and scientific computing. Some dedicated instructions, CD and CB, allow the switching between the two modes. [9]

As an uncommon feature for the 1950s, the Gamma 3 was optionally equipped with a hardwired floating-point library. This model, known as the Gamma 3M, was intended for scientific calculations. [9] Eventually, this capability became built into the Gamma 3 ET.

Floating-point numbers are represented by 48 bits. The first bit is used for the sign, the next eight bits are used for the exponent, and the next 39 bits are used for the significand (also commonly called mantissa). [21]

In the late 1950s, Professor Louis Bolliet conducted the first university programming courses in France using Gamma 3 ET machines, marking a shift from manufacturer-provided courses to an academic framework. These courses are now available online and have been instrumental in the creation of Gamma 3 simulators. [24]

The Gamma 3 was the first computer produced in more than a thousand units. [26]

Preservation

Four examples of the Gamma 3 still exist. One is exhibited at Technikum museum near Frankfurt, [27] another at the Fédération des Équipes Bull in Angers, France, where it was manufactured, [28] and another one in Museo degli Strumenti per il Calcolo in Pisa, Italy. [29] Lastly, the ACONIT museum in Grenoble, France, houses a unique specimen of the Gamma 3 ET. [11]

See also

Related Research Articles

<span class="mw-page-title-main">Assembly language</span> Low-level programming language

In computer programming, assembly language, often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence between the instructions in the language and the architecture's machine code instructions. Assembly language usually has one statement per machine instruction (1:1), but constants, comments, assembler directives, symbolic labels of, e.g., memory locations, registers, and macros are generally also supported.

<span class="mw-page-title-main">Accumulator (computing)</span> Register in which intermediate arithmetic and logic results of a CPU are stored

In a computer's central processing unit (CPU), the accumulator is a register in which intermediate arithmetic logic unit results are stored.

<span class="mw-page-title-main">History of computing hardware</span>

The history of computing hardware covers the developments from early simple devices to aid calculation to modern day computers.

<span class="mw-page-title-main">Punched card</span> Paper-based recording medium

A punched card is a piece of card stock that stores digital data using punched holes. Punched cards were once common in data processing and the control of automated machines.

<span class="mw-page-title-main">IBM 704</span> Vacuum-tube computer system (1954)

The IBM 704 is the model name of a large digital mainframe computer introduced by IBM in 1954. Designed by John Backus and Gene Amdahl, it was the first mass-produced computer with hardware for floating-point arithmetic. The IBM 704 Manual of operation states:

The type 704 Electronic Data-Processing Machine is a large-scale, high-speed electronic calculator controlled by an internally stored program of the single address type.

<span class="mw-page-title-main">IBM 1620</span> Small IBM scientific computer released in 1959

The IBM 1620 was announced by IBM on October 21, 1959, and marketed as an inexpensive scientific computer. After a total production of about two thousand machines, it was withdrawn on November 19, 1970. Modified versions of the 1620 were used as the CPU of the IBM 1710 and IBM 1720 Industrial Process Control Systems.

<span class="mw-page-title-main">IBM 1401</span> 1960s decimal computer

The IBM 1401 is a variable-wordlength decimal computer that was announced by IBM on October 5, 1959. The first member of the highly successful IBM 1400 series, it was aimed at replacing unit record equipment for processing data stored on punched cards and at providing peripheral services for larger computers. The 1401 is considered by IBM to be the Ford Model-T of the computer industry due to its mass appeal. Over 12,000 units were produced and many were leased or resold after they were replaced with newer technology. The 1401 was withdrawn on February 8, 1971.

<span class="mw-page-title-main">IBM 650</span> Vacuum-tube 1950s computer system

The IBM 650 Magnetic Drum Data-Processing Machine is an early digital computer produced by IBM in the mid-1950s. It was the first mass-produced computer in the world. Almost 2,000 systems were produced, the last in 1962, and it was the first computer to make a meaningful profit. The first one was installed in late 1954 and it was the most popular computer of the 1950s.

A stored-program computer is a computer that stores program instructions in electronically, electromagnetically, or optically accessible memory. This contrasts with systems that stored the program instructions with plugboards or similar mechanisms.

<span class="mw-page-title-main">Harvard Mark I</span> Early American electromechanical computer (1944)

The Harvard Mark I, or IBM Automatic Sequence Controlled Calculator (ASCC), was one of the earliest general-purpose electromechanical computers used in the war effort during the last part of World War II.

<span class="mw-page-title-main">Unit record equipment</span> Electromechanical machines which processed data using punch cards

Starting at the end of the nineteenth century, well before the advent of electronic computers, data processing was performed using electromechanical machines collectively referred to as unit record equipment, electric accounting machines (EAM) or tabulating machines. Unit record machines came to be as ubiquitous in industry and government in the first two-thirds of the twentieth century as computers became in the last third. They allowed large volume, sophisticated data-processing tasks to be accomplished before electronic computers were invented and while they were still in their infancy. This data processing was accomplished by processing punched cards through various unit record machines in a carefully choreographed progression. This progression, or flow, from machine to machine was often planned and documented with detailed flowcharts that used standardized symbols for documents and the various machine functions. All but the earliest machines had high-speed mechanical feeders to process cards at rates from around 100 to 2,000 per minute, sensing punched holes with mechanical, electrical, or, later, optical sensors. The operation of many machines was directed by the use of a removable plugboard, control panel, or connection box. Initially all machines were manual or electromechanical. The first use of an electronic component was in 1937 when a photocell was used in a Social Security bill-feed machine. Electronic components were used on other machines beginning in the late 1940s.

<span class="mw-page-title-main">IBM 305 RAMAC</span> First computer to use magnetic disk storage

The IBM 305 RAMAC was the first commercial computer that used a moving-head hard disk drive for secondary storage. The system was publicly announced on September 14, 1956, with test units already installed at the U.S. Navy and at private corporations. RAMAC stood for "Random Access Method of Accounting and Control", as its design was motivated by the need for real-time accounting in business.

<span class="mw-page-title-main">Tabulating machine</span> Late 19th-century machine for summarizing information stored on punch cards

The tabulating machine was an electromechanical machine designed to assist in summarizing information stored on punched cards. Invented by Herman Hollerith, the machine was developed to help process data for the 1890 U.S. Census. Later models were widely used for business applications such as accounting and inventory control. It spawned a class of machines, known as unit record equipment, and the data processing industry.

The APE(X)C, or All Purpose Electronic (X) Computer series was designed by Andrew Donald Booth at Birkbeck College, London in the early 1950s. His work on the APE(X)C series was sponsored by the British Rayon Research Association. Although the naming conventions are slightly unclear, it seems the first model belonged to the BRRA. According to Booth, the X stood for X-company.

In computing, a word is the natural unit of data used by a particular processor design. A word is a fixed-sized datum handled as a unit by the instruction set or the hardware of the processor. The number of bits or digits in a word is an important characteristic of any specific processor design or computer architecture.

<span class="mw-page-title-main">International Computers and Tabulators</span>

International Computers and Tabulators or ICT was a British computer manufacturer, formed in 1959 by a merger of the British Tabulating Machine Company (BTM) and Powers-Samas. In 1963 it acquired the business computer divisions of Ferranti. It exported computers to many countries and in 1968 became part of International Computers Limited (ICL).

<span class="mw-page-title-main">IBM SSEC</span> IBM Selective Sequence Electronic Calculator

The IBM Selective Sequence Electronic Calculator (SSEC) was an electromechanical computer built by IBM. Its design was started in late 1944 and it operated from January 1948 to August 1952. It had many of the features of a stored-program computer, and was the first operational machine able to treat its instructions as data, but it was not fully electronic. Although the SSEC proved useful for several high-profile applications, it soon became obsolete. As the last large electromechanical computer ever built, its greatest success was the publicity it provided for IBM.

<span class="mw-page-title-main">Vacuum-tube computer</span> Earliest electronic computer design

A vacuum-tube computer, now termed a first-generation computer, is a computer that uses vacuum tubes for logic circuitry. While the history of mechanical aids to computation goes back centuries, if not millennia, the history of vacuum tube computers is confined to the middle of the 20th century. Lee De Forest invented the triode in 1906. The first example of using vacuum tubes for computation, the Atanasoff–Berry computer, was demonstrated in 1939. Vacuum-tube computers were initially one-of-a-kind designs, but commercial models were introduced in the 1950s and sold in volumes ranging from single digits to thousands of units. By the early 1960s vacuum tube computers were obsolete, superseded by second-generation transistorized computers.

<span class="mw-page-title-main">Monrobot XI</span> Computer introduced in 1960

The Monroe Calculating Machine Mark XI was a general-purpose stored-program electronic digital computer introduced in 1960 by the Monroe Calculating Machine Division of Litton Industries. The system was marketed for "primarily for billing, and invoice writing", but could also be used for low-end scientific computing.

<span class="mw-page-title-main">Bull Gamma 60</span> Large multi-threaded computer released in 1960

The Bull Gamma 60 was a large transistorized mainframe computer designed by Compagnie des Machines Bull. Initially announced in 1957, the first unit shipped in 1960. It holds the distinction of being the world's first multi-threaded computer, and the first to feature an architecture specially designed for parallelism.

References

  1. 1 2 3 4 "Compagnie des Machines Bull Launches the Gamma ET, the First Stored-Program Computer Produced for Sale in France : History of Information". www.historyofinformation.com. Retrieved 2023-07-25.
  2. 1 2 "Gamma 3". www.feb-patrimoine.com. Retrieved 2023-07-23.
  3. 1 2 3 4 "Origins of Architecture and Design of the 1401". ibm-1401.info. Retrieved 2023-07-23.
  4. Bashe, Charles J. (1986). IBM's Early Computers. The MIT Press. pp. 461, chap.12. ISBN   9780262523936.
  5. 1 2 "tabulatrice BS120 Bull, chr3inf2". www.histoireinform.com. Retrieved 2023-07-22.
  6. 1 2 3 "Compagnie des machines Bull". www.feb-patrimoine.com. Retrieved 2023-07-22.
  7. 1 2 3 4 5 Leclerc, Bruno. "Bull Gamma 3 ET - Du calculateur à l'ordinateur". www.feb-patrimoine.com. Retrieved 2023-07-25.
  8. 1 2 3 "Compagnie des machines Bull". www.feb-patrimoine.com. Retrieved 2023-07-22.
  9. 1 2 3 Guyot, Alain (2022). "Arithmétique du Gamma 3" (PDF). ACONIT (in French).
  10. "IBM Archives: Card-Programmed Calculator". www.ibm.com. 2003-01-23. Retrieved 2023-07-22.
  11. 1 2 "DBAconit V26.3". db.aconit.org. Retrieved 2023-07-22.
  12. 1 2 3 Chabrol, Jean (1959). Cours ET-ORD (PDF) (in French).
  13. "The IBM 650". www.columbia.edu. Retrieved 2023-07-26.
  14. 1 2 "Picture of a complete Gamma ET featuring the operator console, the Central Processing Unit, drum memories and tabulating machines". Federation des Equipes Bull. 1957.
  15. Bellec, Jean. La mécanographie (PDF) (in French). Centre National des Arts et Métiers (CNAM). pp. 13 (chapter 12.1).
  16. "Musée virtuel de l'informatique | Gamma 3 ET". aconit.inria.fr. Retrieved 2023-07-22.
  17. "Destin d'objets scientifiques et techniques : L'aventure du Gamma 3 (5/10 - année 2018)". www.echosciences-grenoble.fr. Retrieved 2023-07-22.
  18. "APPLICATIONS OF AN ELECTRONIC DIGITAL COMPUTER IN THE DESIGN OF LOW TEMPERATURE PLANT" . Retrieved 2023-12-19.
  19. "Information Technology Industry TimeLine". www.feb-patrimoine.com. Retrieved 2023-07-22.
  20. 1 2 Ponsard, Christophe (2023). Understanding the Bull GAMMA 3 first generation computer through emulation (PDF). FOSDEM 23.
  21. 1 2 3 Baumann, Arnaud. Documentation Extension Bull-Gamma 3 (PDF). IMAG. pp. chap. 5.1.
  22. Leclerc, Bruno (January 1990). "From Gamma 2 to Gamma E.T.: The Birth of Electronic Computing at Bull". Annals of the History of Computing. 12 (1): 5–22. doi:10.1109/MAHC.1990.10010. ISSN   0164-1239. The stored signal was in a self-synchronizing, phase modulated mode. Bit density was close to 300 bits per inch, over 50% above the then current state of the art.
  23. Bull, Compagnie des machines (1952). "CNUM - M14926 : Gamma 3, calculateur électronique". CNAM-MUSEE CM0.4-BUL. Retrieved 2023-08-06.
  24. 1 2 Bolliet, Louis. "Cours de Programmation Gamma ET" (PDF). Université de Grenoble - Mathématiques Appliquées (in French).
  25. 1 2 Mounier-Kuhn, Pierre (2014). "Algol in France: From Universal Project to Embedded Culture". IEEE Annals of the History of Computing. 36 (4): 6–25. doi:10.1109/MAHC.2014.50. ISSN   1058-6180.
  26. Leclerc, Bruno (January 1990). "From Gamma 2 to Gamma E.T.: The Birth of Electronic Computing at Bull". Annals of the History of Computing. 12 (1): 5–22. doi:10.1109/MAHC.1990.10010. ISSN   0164-1239.
  27. "A first generation tube calculator: BULL GAMMA 3 - technikum29". www.technikum29.de. Retrieved 2023-07-22.
  28. ocgall (2016-04-30). "Angers, depuis 56 ans, Bull pionnier en électronique !". Des Mauges en Anjou ... (in French). Retrieved 2023-07-22.
  29. "MUSEO DEGLI STRUMENTI PER IL CALCOLO - I Grandi Calcolatori: Gamma 3 BULL". www.fondazionegalileogalilei.it. Retrieved 2023-07-30.