Bull Gamma 60

Last updated
Bull Gamma 60
Bull Gamma 60 scale model.jpg
Scale model of the Bull Gamma 60 mainframe computer
DeveloperCompagnie des Machines Bull
TypeLarge-scale mainframe computer
Generation2
Release date1960
Introductory price10M Francs (1960, about $18M USD in 2023)
Units sold17
Operating system GGZ, GGU
CPU Transistorized, distributed and multi-threaded. Up to 25 Processing Units. 24-bit words with 1 to 4 words data types. @ 100 kHz
MemoryCentral memory: 32 kwords (core memory). Up to four drum memory extensions (25 kwords each).
StorageUp to 48 magnetic tape readers
InputMagnetic tape, punched cards, paper tape, teletypes
Power200-400 kVA
DimensionsTypically 3000-4000 sq.ft
Predecessor Bull Gamma 3
Successor GE-600 series

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. [1] [2]

Contents

The Gamma 60 spearheaded numerous groundbreaking technologies during the early 1960s, notably in multi-programming, utilizing tools that were still in their nascent stages. Upon its release, its architecture garnered significant attention among machine designers, becoming a subject of study alongside contemporary supercomputers and being cited as an example for progress in computer design. [3] [4]

Despite its innovations, the Gamma 60's large footprint (close to 4000 sq.ft), high cost, energy consumption, and complexity ultimately resulted in limited commercial success, with about only twenty units sold worldwide. Its main competitors included the IBM 7070, 7090, and 7030 "Stretch". [5] The last Gamma 60 remained in service until 1974. [6]

Design

The Gamma 60 marked Bull's entry into core memory, solid-state logic and magnetic tape capabilities. [7] Its architectural core was based on a large, high-speed central memory, with an arbitrator (known as the Program Distributor) responsible for distributing data and instructions to the various units within the computer. The processor was segmented into a central unit and a series of discrete, specialized processing units. This design allowed for the concurrent operation of up to five clusters, each containing five processing units. [8]

Each unit in the computer, whether a processing unit or a peripheral device, operated autonomously and would request data and instructions from the central unit when they became available. Data transmission to and from the processing units occurred through two independent buses—one for transmission and another for retrieval. [4]

Processor

The processor operated in a 24-bit parallel configuration, with its primary data types employing one, two, or four words, also referred to as 'catenae', ranging from 24 to 96 bits in width. Simpler and slower external devices often employed an 8-bit parallel logic internally. These devices communicated with the central unit via bit-serial messages for instruction and data transfer requests. All messages were asynchronous, and the machine, through priority classes, was designed to accommodate very high device latencies if necessary, even from an ALU (Arithmetic Logic Unit). [4]

The processor was divided into four kinds of processing elements: [2]

Even though up to twenty-five of those specialized processing units could run simultaneously, only one central unit (functioning as a dispatcher) existed in the machine, which does not classify as an SMP (Symmetric Multiprocessing) architecture.

Given the distribution of processing units across separate cabinets, the choice of a slower clock speed of 100 kHz, half of what was originally envisioned, was aimed at mitigating the impact of propagation delays. Although this imposed a limitation on the performance of individual processing units, Bull's strategy was to counterbalance it by parallelism and the ability to easily add additional processing units. [5] Interestingly, while the Gamma 60 logic was transistorized, the operating tension of the germanium transistors was too low to counter the impedance of the great distances that could sometimes occur between some cabinets and peripherals. As a result, vacuum tubes had to be used in certain instances to drive the clock and some I/O signals. [9]

In modern terms, the Gamma 60 CPU would be described as a hardware time-sharing central processor for asynchronous parallel processes, using an explicit fork-join parallelism at the instruction level. [4]

The Gamma 60 foreshadowed the architecture of superscalar processors, where the role of its central memory is now partly assumed by caches. Additionally, it shared similarities with EPIC architectures such as Intel Itanium, in that each instruction was its own thread, and the management of execution concurrency and memory access coherence was placed under the responsibility of the programmer. [8] [4]

Memory

Core memory of the Gamma 60 Musee des Arts et Metiers - Memoire a tores de ferrite du Gamma 60 (23714000818).jpg
Core memory of the Gamma 60

Central memory was implemented with a stack of core memory with a basic memory cycle of 10 μs, making it the fastest component of the Gamma 60 (in comparison, a fixed point addition required 100 microseconds). Main memory addresses were coded on 15-bits, allowing the central memory to store 32,768 words, or 96 kB.

The memory map was continuous and shared by all units, except for the first 128 bytes which were unit specific and contained a set of local registers. Since central memory had, by far, the lowest latency of all components, it constituted the heart of the Gamma 60. Henceforth, the processing units didn't have working memory besides their registers, instead, the Program Distributor dispatched data and instructions to them by loading pointers to the central memory into their registers. [4]

The 128 bytes memory of each processing unit was implemented using planar core memory and followed the following map: [2]

One exception was the Program Distributor which had its own set of registers.

Peripherals

The peripherals of the Gamma 60 were categorized into four distinct classes based on their latency and performance characteristics. [10]

Class 0

Bull Gamma 60 console Gamma60 pupitre.jpg
Bull Gamma 60 console

Class 0 included the fastest and most time-critical peripherals. The Program Distributor favored this class over any other to transfer instructions and data. It consisted of two devices: the Logical Unit (binary ALU) and the operator desk.

Class 1

Class 1 included the Arithmetic Unit (BCD ALU), the General Comparator and the Transcoder (translation unit).

Class 2

Class 2 included storage devices, notably:

  • Magnetic drums:

The magnetic drums acted as large memories with a slower access time than Central Memory (10 milliseconds versus 10 microseconds). Up to four drums could be added to the Gamma 60, each with a capacity of 128 tracks of 200 words (150 kB each). Their memory was not mapped to the main memory namespace but was accessed as would a magnetic tape.

  • Magnetic tapes:

Up to ten specialized I/O processors named Uniselectors could each control up to twelve tape units. However, only 48 tapes units could be connected simultaneously.

Magnetic tapes had a recording density of 200 bits per inch and a 730m or 1100m length. The magnetic tape units used phase modulation rather than NRZ (non-return-from-zero), a technology that had been previously developed for the drum memory of the Gamma 3.

Class 3

Class 3 included slower recording equipment such as:

  • Card punches and card readers (300 cards per minute), up to four of each kind.
  • Paper-tape readers (200 characters per second)
  • High-performance printers (5 lines per second), up to eight of them. The Gamma 60 printers had their own core memory used as a buffer.

Class 4

Finally, class 4 included the slowest peripherals, such as teletypes and typewriters.

Execution cycle

Block diagram of the Gamma 60 Bull Gamma 60 Block Diagram.png
Block diagram of the Gamma 60

The sequencing mechanism employed by the Gamma 60 encompassed an orchestration of instruction fetching and distribution, execution control, memory access, and inter-process communication. The following sequence details a complete instruction execution cycle: [2]

  1. The Program Distributor scanned for the highest-priority processing unit requesting an instruction (ITR signal).
  2. The Program Distributor sent a signal to the highest-priority processing unit, which then returned its status word, subsequently placed in the Address Register (AR).
  3. a) If the unit was busy but not currently executing a directive, the program distributor fetched and executed the instruction addressed by that unit's Program Address Register (PAR). When a new directive was encountered, it was sent to the processing unit, and the program distributor scanned for other work. b) If the highest-priority processing unit was available, the program distributor checked the unit's queue for waiting processes. If found, the PAR was loaded with the address of the processing unit's queue head pointer plus one, the queue head pointer was updated, and instruction fetch and execution began for that unit until a directive (or cut) word was encountered. As before, upon sending the directive, the program distributor did reset the instruction request signal and scanned for other work.
  4. When the processing unit was ready to receive or transmit data to/from memory, it signaled the memory arbiter.
  5. The memory arbiter honored the memory request, using the address from the appropriate DAR (Data Address Register).
  6. The processing unit continued data transfers until the instruction was complete. It then sent a new instruction request signal to the program distributor.

Programming

Programming the Gamma 60 was tedious, as adequate development tools for parallel programming did not exist in those times. High-level languages only appeared two years after the Gamma 60 introduction.

Two kinds of machine languages existed:

Recognizing the need for a high-level language, Bull began the development of a new language for the Gamma 60 called AP3. However, this initiative was eventually abandoned in favor of ALGOL, in which Bull got significantly invested starting in the late 1950s. [13] The ALGOL 60 compiler was eventually released in December 1962. [13]

While Algol solved many complexity issues with programming the Gamma 60, it was ill suited to business applications. Additionally, COBOL did not exist when the Gamma 60 was designed, and was still in its early stages during the computer lifespan. Furthermore, the Gamma 60 used a fork-join model [7] which COBOL had not been designed to accommodate. As a result, developers had no alternative but to use code B for programming the Gamma 60 in business applications. [7]

This absence of advanced high-level tools for breaking down tasks into small concurrent threads meant that most programs only utilized a fraction of the hardware's capabilities. [14]

Instructions

A complete Gamma 60 instruction was composed of a series of 24-bit words of four types:

A complete instruction must always last with a directive.

The instruction formats could vary depending on the processing unit, and supported direct, relative and indirect memory addressing. The Gamma 60 primarily performed memory operations through load-store operations in the main memory, or used processing instructions to manipulate registers in the processing units. Multiprocessing was achieved with two instructions: cut ("coupure") activated a processing unit by specifying a program address, while simu ("simultané") enabled an asynchronous branch for another unit.

As an example, considering the following expression:

This could be implemented using the following Gamma 60 pseudo-code: [4]

[C] cut to multiplication unit:     [A]  address (load)  b     [A]  address (load)  c     [A]  address (store) a     [D]  directive (mult)  [C] cut to arithmetic unit:     [A]  address (load)  a     [A]  address (load)  d     [A]  address (store) d     [D]  directive (add)

The distribution of instructions across the processing units, as well as the handling of synchronization, was done automatically by the Program Distributor.

An early operating system, GGZ (Gestion Générale Zéro, or General Management version Zero), was developed for the Gamma 60. It was delivered as a compact resident supervisor stored on magnetic tape, containing a bootloader, resource table, error handler and an operator command interpreter. The bootloader was capable of initializing several variables during boot or accept them from the operator. [7]

A more advanced operating system, GGU (Gestion Générale des Unités), was later shipped but remained incomplete as the computer neared the end of its lifespan. GGU introduced features like memory management, enhanced error recovery, and automated job management and scheduling. [11] It was notably used at RTT in Belgium. [6]

Unfortunately, the software tools available in the late fifties and early sixties, such as compilers, operating systems, and debuggers, were still too primitive to fully utilize the capabilities of the Gamma 60. Compilers allowing automatic exploitation of concurrency for an EPIC architecture only emerged in the late 1990s, after a development period that exceeded the entire lifespan of the Gamma 60. [5]

Due to the significant challenges in program development with the crude tools of the times, Bull lost several clients to IBM, whose machines, while single-processor, were simpler and more cost-effective. [15]

Clients

About twenty large companies and organizations showed interest in the Gamma 60 in the late fifties and early sixties, although not all of them made a purchase. The unit shipped to AG Vie was the first one manufactured, but encountered reliability issues as some hardware problems were still being discovered and resolved. As the company's patience ran out, the computer was decommissioned prematurely. Gaz de France (now Engie) also expressed interest but later withdrew due to implementation and operational complexities. The contract was eventually awarded to the IBM 7070. Other clients are listed in the table below: [15]

ClientCountryOrder yearCommissioning yearDecommissioning yearSuccessor
AGVieFlag of France.svg  France 195719601962Gamma 30
EDF Flag of France.svg  France 195719601964IBM 7090
CNEP

(now BNP Paribas)

Flag of France.svg  France 19571961 [16] 1969GE 600
UnionFlag of France.svg  France 195719631969GE 600
SNCF Flag of France.svg  France 195819601966
RTT Flag of Belgium (civil).svg  Belgium 195819611974Siemens 4004
Urbaine SeineFlag of France.svg  France 195919611970GE 600
GMFFlag of France.svg  France 195919621973GE 615
Credito Italiano Flag of Italy.svg  Italy 19601961Unknown
CEA Flag of France.svg  France 196019621964CDC 3600
Banca LavoroFlag of Italy.svg  Italy 19601962Unknown
Printemps Flag of France.svg  France 196119621965
HBNPCFlag of France.svg  France 196119631970
TLF Flag of France.svg  France 196219641971
Mitsubishi Flag of Japan.svg  Japan 196319651971GE 635
RTT BFlag of Belgium (civil).svg  Belgium 196419661974
Scale model of the SNCF Gamma 60 formerly displayed at the Auteuil railway station near Paris. Maquette-Gamma-60-SNCF.jpg
Scale model of the SNCF Gamma 60 formerly displayed at the Auteuil railway station near Paris.

The Régie des Télégraphes et Téléphones, later known as Belgacom and now Proximus, boasted one of the largest Gamma 60 installation, featuring an average of twenty Processing Units. [17] The installation spanned two floors: the lower floor housed a 400 kVA alternator that supplied stabilized current to the computer, along with robust air conditioning systems to maintain the heat-sensitive germanium electronics at a constant 18 °C. The upper floor was partitioned into three rooms—one for the mainframe, another for the operator console and tape readers, and the last room for card punches and readers. [6]

The Gamma 60 that remained in service the longest was also at RTT, where it operated continuously for 13 years. The decision to replace its two Gamma 60 systems in the mid-1970s with several Siemens 4004 computers was politically motivated, as the Belgian government had established a five-year contract linking their information systems to Siemens and Phillips. [6]

Legacy

Bull committed significant resources to the development of the Gamma 60, even though the practical utilization of its architectural innovations would not become feasible until the 1980s or even the 1990s, greatly impacting its commercial success. [8] The challenges it faced in the market led to financial difficulties that hindered the creation of a more accessible, scaled-down version suitable for smaller companies. Instead, the mid-range Gamma 30 transitioned to a licensed version of the simpler and more traditional RCA 301 computer, which, while successful in competing with the IBM 1401, could not capitalize on the innovations of the Gamma 60. [18]

In 1963, Bull was eventually purchased by General Electric, and the primary successor to the Gamma 60 became the GE 600 family starting in 1965.

No surviving specimens of the Gamma 60 exist today, save for some of its components displayed in certain museums. The NAM Computer Museum in Namur, Belgium, showcases a detailed scaled model of the Gamma 60 as it appeared at RTT. The Gamma 60 was also featured in the Jean-Luc Godard film Alphaville (1965), portraying the antagonist Alpha 60 computer. [19]

No Gamma 60 emulator is known to exist as of 2024.

See also

Related Research Articles

<span class="mw-page-title-main">Central processing unit</span> Central computer component which executes instructions

A central processing unit (CPU)—also called a central processor or main processor—is the most important processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, logic, controlling, and input/output (I/O) operations. This role contrasts with that of external components, such as main memory and I/O circuitry, and specialized coprocessors such as graphics processing units (GPUs).

<span class="mw-page-title-main">Intel 8086</span> 16-bit microprocessor

The 8086 is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus, and is notable as the processor used in the original IBM PC design.

<span class="mw-page-title-main">Intel 8088</span> Intel microprocessor model

The Intel 8088 microprocessor is a variant of the Intel 8086. Introduced on June 1, 1979, the 8088 has an eight-bit external data bus instead of the 16-bit bus of the 8086. The 16-bit registers and the one megabyte address range are unchanged, however. In fact, according to the Intel documentation, the 8086 and 8088 have the same execution unit (EU)—only the bus interface unit (BIU) is different. The 8088 was used in the original IBM PC and in IBM PC compatible clones.

In processor design, microcode serves as an intermediary layer situated between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer, also known as its machine code. It consists of a set of hardware-level instructions that implement the higher-level machine code instructions or control internal finite-state machine sequencing in many digital processing components. While microcode is utilized in general-purpose CPUs in contemporary desktops, it also functions as a fallback path for scenarios that the faster hardwired control unit is unable to manage.

<span class="mw-page-title-main">PDP-8</span> Minicomputer product line

The PDP-8 is a family of 12-bit minicomputers that was produced by Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's lifetime. Its basic design follows the pioneering LINC but has a smaller instruction set, which is an expanded version of the PDP-5 instruction set. Similar machines from DEC are the PDP-12 which is a modernized version of the PDP-8 and LINC concepts, and the PDP-14 industrial controller system.

<span class="mw-page-title-main">IBM System/360</span> IBM mainframe computer family (1964–1977)

The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applications and a complete range of applications from small to large. The design distinguished between architecture and implementation, allowing IBM to release a suite of compatible designs at different prices. All but the only partially compatible Model 44 and the most expensive systems use microcode to implement the instruction set, featuring 8-bit byte addressing and binary, decimal and hexadecimal floating-point calculations.

In computer science, an instruction set architecture (ISA) is a part of the abstract model of a computer, which generally defines how software controls the CPU. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an implementation.

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

The IBM 704 is a large digital mainframe computer introduced by IBM in 1954. 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 650</span> Vacuum tube 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.

In the history of computer hardware, some early reduced instruction set computer central processing units used a very similar architectural solution, now called a classic RISC pipeline. Those CPUs were: MIPS, SPARC, Motorola 88000, and later the notional CPU DLX invented for education.

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.

In computer architecture, 24-bit integers, memory addresses, or other data units are those that are 24 bits wide. Also, 24-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, address buses, or data buses of that size.

<span class="mw-page-title-main">CDC 6000 series</span> Family of 1960s mainframe computers

The CDC 6000 series is a discontinued family of mainframe computers manufactured by Control Data Corporation in the 1960s. It consisted of the CDC 6200, CDC 6300, CDC 6400, CDC 6500, CDC 6600 and CDC 6700 computers, which were all extremely rapid and efficient for their time. Each is a large, solid-state, general-purpose, digital computer that performs scientific and business data processing as well as multiprogramming, multiprocessing, Remote Job Entry, time-sharing, and data management tasks under the control of the operating system called SCOPE. By 1970 there also was a time-sharing oriented operating system named KRONOS. They were part of the first generation of supercomputers. The 6600 was the flagship of Control Data's 6000 series.

<span class="mw-page-title-main">SDS 930</span> Commercial 24-bit computer using bipolar junction transistors sold in the 1960s

The SDS 930 was a commercial 24-bit computer using bipolar junction transistors sold by Scientific Data Systems. It was announced in December 1963, with first installations in June 1964.

<span class="mw-page-title-main">CDC 160 series</span> Minicomputer

The CDC 160 series was a series of minicomputers built by Control Data Corporation. The CDC 160 and CDC 160-A were 12-bit minicomputers built from 1960 to 1965; the CDC 160G was a 13-bit minicomputer, with an extended version of the CDC 160-A instruction set, and a compatibility mode in which it did not use the 13th bit. The 160 was designed by Seymour Cray - reportedly over a long three-day weekend. It fit into the desk where its operator sat.

In computer architecture, 16-bit integers, memory addresses, or other data units are those that are 16 bits wide. Also, 16-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, address buses, or data buses of that size. 16-bit microcomputers are microcomputers that use 16-bit microprocessors.

<span class="mw-page-title-main">60-bit computing</span>

In computer architecture, 60-bit integers, memory addresses, or other data units are those that are 60 bits wide. Also, 60-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, address buses, or data buses of that size.

<span class="mw-page-title-main">1-bit computing</span> Computer architecture bit width

In computer architecture, 1-bit integers or other data units are those that are 1 bit wide. Also, 1-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers of that size.

<span class="mw-page-title-main">Nicolet 1080</span> Successor of the Nicolet 1070/PDP-8 computer, released in 1971 by Nicolet Instrument Corporation

The Nicolet 1080 computer was the successor of the Nicolet 1070/PDP-8 computer, released in 1971 by Nicolet Instrument Corporation, which operated between 1966 and 1992 in Madison, Wisconsin. As a part of a data processing mainframe, model 1080 allowed NMR spectrum analysis by the use of fast Fourier transform (FFT) algorithms. The processing of big amounts of data at a fast rate was possible thanks to the uncommon 20-bit architecture, which was a significant performance advantage over other systems based on 8 and 16 bits architectures.

<span class="mw-page-title-main">Bull Gamma 3</span> First-generation computer

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.

References

  1. Bataille, M. (1972-04-01). "Something old: the Gamma 60 the computer that was ahead of its time". ACM SIGARCH Computer Architecture News. 1 (2): 10–15. doi:10.1145/641276.641278. ISSN   0163-5964.
  2. 1 2 3 4 "Architecture Sketch of Bull Gamma 60 -- Mark Smotherman". www.feb-patrimoine.com. Retrieved 2023-08-13.
  3. Thornton, James E. (October 1980). "The CDC 6600 Project". Annals of the History of Computing. 2 (4): 338–348. doi:10.1109/MAHC.1980.10044. ISSN   0164-1239. My design duties on the 1604 had grown to include supervision of an increasing number of engineers. I escaped the turmoil briefly to attend a seminar and short course at UCLA concerned with giant computers. The seminar reviewed such machines as STRETCH, LARC, ATLAS, ILLIAC II, and GAMMA 60.
  4. 1 2 3 4 5 6 7 Tumlin, Smotherman. "An Evaluation of the Design of the Gamma 60". db.aconit.org. Clemson University. Retrieved 2023-08-13.
  5. 1 2 3 "Une Opinion sur la Conception du Gamma 60". www.feb-patrimoine.com. Retrieved 2023-08-13.
  6. 1 2 3 4 "Gamma 60 Bull à RTT, chr4rtt". www.histoireinform.com. Retrieved 2023-08-13.
  7. 1 2 3 4 5 Bellec, Jean (2002). "Gamma 60, an introduction". www.feb-patrimoine.com. Retrieved 2023-08-13.
  8. 1 2 3 Bellec, Jean (2003). "Une Opinion sur la Conception du Gamma 60". www.feb-patrimoine.com. Retrieved 2023-08-13.
  9. "Scientific and technical heritage: Bull's Gamma 60 computer is 60 years old". Echosciences Grenoble (in French and English). Retrieved 2023-08-19.
  10. Davous, Bataille, Harrand (2023-08-13). "Le Gamma 60, par M. Davous, Bataille, Harrand, Ingénieurs à la Compagnie des Machines Bull". www.feb-patrimoine.com. Retrieved 2023-08-13.{{cite web}}: CS1 maint: multiple names: authors list (link)
  11. 1 2 Maitre, André. "Histoire du Gamma 60 : aspects techniques - le logiciel". www.feb-patrimoine.com. Retrieved 2023-08-13.
  12. Dreyfus, Pierre (1958). "Programming Design Features of the GAMMA 60 Computer". Papers and discussions presented at the December 3-5, 1958, eastern joint computer conference: Modern computers: Objectives, designs, applications on XX - AIEE-ACM-IRE '58 (Eastern). pp. 174–181. doi:10.1145/1458043.1458080.
  13. 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. ISSN   1058-6180.
  14. Flamm, Kenneth (2010-12-01). Creating the Computer: Government, Industry and High Technology. Brookings Institution Press. ISBN   978-0-8157-0721-9.
  15. 1 2 Bourboulon, José (2005). L'aventure Gamma 60. Fédération des Equipes Bull. ISBN   978-2-7462-1177-3.
  16. ""Use most advanced machines attests to CNEP's dynamism - BNP Paribas", from the early 1960s". BNP Paribas - Well of History. Retrieved 2023-08-20.
  17. "Histoire de la Compagnie des Machines Bull". www.feb-patrimoine.com. Retrieved 2023-08-13.
  18. Leclerc, Bruno. "Le Gamma 60 - Une aventure humaine et technique". www.feb-patrimoine.com. Retrieved 2023-08-13.
  19. "Starring the Computer - Bull Gamma 60 in Alphaville (1965)". www.starringthecomputer.com. Retrieved 2023-08-21.