SEA Calculatrice  Arithmétique Binaire CAB6500 was in the early 1960s one of the few digital computers addressing directly the needs of engineering or research computing, by-passing the overhead of batch-processing program debugging (with a single run per day) and the administrative burden of the first generation computing centers.

A specific effort was made to overcome the programming burden of learning an assembly language or even the specific machine oriented features of FORTRAN (still in its infancy).

CAB-500 was a small (desk size) universal computer, removing the need of a false-floor computer room, and using a typewriter as the programmer and operator interface. The programming language was called PAF ("Programmation automatique des Formules" Formula Automatic programming). It could be used as well as a desk calculator.
It can be noticed that, a few years later, a  similar operator interface will be created as the Dartmouth BASIC Time-Sharing System on GE-265.

Typical applications emphasized at announcement time were: resolution of linear equations (up to 86), matrix inversions (up to 90 components), linear programming.

The computing speed (while slower than existing scientific computers) allowed a faster response time than waiting the results of a batch processing job.
Fixed point add or subtract required 320 microseconds
Fixed point multiply or divide took 40 milliseconds
Floating point add took also 40 milliseconds.
The resolution of a linear system of 10 equations with 10 variables required around 2 seconds (floating point).

The CAB-500 was introduced by the Société d'Electronique et d'Automatisme. It competed with the IBM 1620.   In 1963, Compagnie des Machines Bull signed a distribution agreement that was not  successful, Bull sales network being directed towards business application using punched cards operations.


External Features of CAB-500

CAB-500 had the size of a large desk (length 2 meters, depth 0.90m, height 0.80 m). The weight was around 650 kg.

cab500.gif (331392 octets)

On the top of the desk, stood the small operator panel and a Friden  Flexowriter typewriter, with an integrated paper tape 10cps   reader/punch.

The left case included a magnetic drum (with its circuitry) and the general power supply. The power drain on  a standard 3-phase 50Hz 220V power line was 1.7KW.

The right case included the computing unit and the associated circuitry.


Components of CAB-500

Computing Unit and  registers

The technology used in the computing and registers is based on SYMMAG magnetic core circuits, a technology patented by SEA.

The main memory was made of 16 words of 33 bits (31 bits + sign + parity) with an access time of 2.5 microseconds.. Its software visibility is that of 16 registers. The register #15 is also used as an index.

Basic operations execute in 320 microseconds. More complex operations require the execution of a micro-program. The binary/decimal conversion required 100 to 150 milliseconds.

Instruction format was, at machine level, f-n-i-N where f is the function code (op-code), n a register number, i the indirection bit, N the main memory (drum) address. The machine level instructions were never be used by the CAB-500 users, only by a few programmers.

Magnetic Drum

The main memory is made of a magnetic drum rotating at 3000 rpm, with 128 tracks of 128 words each (i.e. 16383 words) addressable by word. An extended version CAB-502 (also known internally as type B)  differed by its double capacity drum.
A word is read from the drum in 160ns. This time is the basic cycle of the whole system.
Actually the drum contains 129 heads (one for sync). The rotation speed is 2950 rpm, that represents an access mean time of around 10 milliseconds. Note that the library subroutines did optimize the storage of data , as many programs at that time.

Main memory includes as well numeric or alphanumeric data or programs, subroutines or microprograms.

Input/Output devices

The standard input device for programs or data is the Flexowriter paper-tape reader. The Flexowriter allowed also to punch back updated programs or intermediary results.

A fast (!) paper tape reader at 50 cps and a paper tape punch at 45 cps were provided as an option.

The CAB-600 model used also a magnetic tape unit that allowed larger computations that would have overflowed the capacity of the drum.

Operation in "External Language" (Assembler)

In that mode, the programmer uses a set of 45 instructions, 13 of them being implemented in hardware, others being implemented by a "vertical" microprogram.

Operation as a desk calculator

In that mode, selected by an operator switch, the CAB-500 was used through a software interpreter that executed all the functions that a scientific electronic calculator will provide a little more than a decade later.
t also allowed the storing and retrieval of up 26 variables represented by a letter. The precision was 10 decimal digits.

PAF Programmation Automatique de Formules

PAF was an interactive language for scientific users created by Dimitri Starynkevitch for the CAB500 in 1958.

One peculiar feature of the PAF language processor is that it minimized the operator burden by allowing him (or her) to enter only the first letters of a keyword and completed the statement. PAF also handled in a consistent interface the statements of the programming language and the control of operation and the program debugging.

PAF was similar to what became later known as incremental BASIC, and resembled somewhat to the future APL.

The Flexowriter character set had been adapted to the PAF language by introducing the subscripted letters i, j, k and numeric exponents. Labels were numeric as the original BASIC. All statements were automatically numbered mod 10.Non numbered statements were interpreted as immediate commands. Named functions were to be recognized by a leading space. Keywords use the French language (CALCULER, ALLER EN, IMPRIMER, FIN for Compute, Goto, Print, End). The multiply sign was implicit.

A program could be interrupted from the console, value of the variables could be displayed (and modified). Additional statements could be inserted. All variables were floating point numeric.

The objective of maximizing the programmer efficiency was not so popular at that time, even with a relatively cheap computer. About 100 PAF systems were installed.

Whereas PAF was using French, integrated translators for German, English and one language among Russian, Spanish, Dutch and Norwegian was announced.


Revision : 16 février 2003.