The NatLab computer center WAA, 1967 – 1983Technical note TN-2016/00026 Issued: 03/2016 The NatLab...

38
Technical note TN-2016/00026 Issued: 03/2016 The NatLab computer center WAA, 1967 – 1983 Some photos J.A. Zonneveld, photos, F.E.J. Kruseman Aretz, text Philips Restricted c Koninklijke Philips Electronics N.V. 2016

Transcript of The NatLab computer center WAA, 1967 – 1983Technical note TN-2016/00026 Issued: 03/2016 The NatLab...

  • Technical note TN-2016/00026

    Issued: 03/2016

    The NatLab computer center WAA,

    1967 – 1983

    Some photos

    J.A. Zonneveld, photos,

    F.E.J. Kruseman Aretz, text

    Philips Restricted

    c� Koninklijke Philips Electronics N.V. 2016

  • TN-2016/00026 Unclassified

    Concerns: Final Report

    Period of Work: 1967–1983

    Authors’ address: J.A. ZonneveldF.E.J. Kruseman Aretz [email protected]

    c� KONINKLIJKE PHILIPS ELECTRONICS N.V. 2016All rights reserved. Reproduction or dissemination in whole or in part is prohibited withoutthe prior written consent of the copyright holder.

    ii c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    Title: The NatLab computer center WAA, 1967 – 1983

    Subtitle: Some photos

    Author(s): J.A. Zonneveld, photos,F.E.J. Kruseman Aretz, text

    Reviewer(s): Jan Korst, Verus Pronk

    Technical Note: TN-2016/00026

    Project: None

    c� Koninklijke Philips Electronics N.V. 2016 iii

  • TN-2016/00026 Unclassified

    Keywords: history, NatLab, computer center, photos

    Abstract: This report contains a number of photos taken at the computer center of PhilipsResearch Eindhoven. They show two of the main–frame computers that wereused between 1967 and 1983: an Electrologica X8 and a Philips P1800. Someof the history and some elucidation is added.

    iv c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    Contents

    1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    2 Electrologica X8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.2 Input devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.3 Output devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.4 Operators command teleprinter . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.5 The technicians console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.6 Magnetic–drum store . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    3 The P1800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    3.2 The operators console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.3 Hardware impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    c� Koninklijke Philips Electronics N.V. 2016 v

  • Unclassified TN-2016/00026

    1 Introduction

    From 1967 onwards Philips Research Eindhoven had a small computer center in building WAA forscientific computation, headed by J.A.Zonneveld. The scientists were expected to write and punchtheir own programs. They had to bring them to the service desk of the computer center and couldcollect the result at some later point of time. Programs could be delivered on paper tape or, whenthe computer got a punch–card reader, also on a punch–card deck. For punching on paper tape anumber of Friden Flexowriters was available and at a later stage for punching on punch cards alsosome card-punch equipment.

    Between 1967 and 1981 the computer center had the following computers:

    computer period operating system languages price

    EL X8–16 11–1967/11–1975 MICRO, MILLI ALGOL 60 2.5 MflEL X8–20 09–1969/03–1977 MILLI ALGOL 60 2.3 MflPhilips P1400 04–1971/11–1981 MDS ALGOL 60, FORTRAN 7 MflPhilips P1800 12–1975/12–1983 MILLI, LEO ALGOL 60 9 Mfl

    Moreover the computer center had access to the computers of ISA, the computing center of Philips,by means of a remote job entry station (RJE).

    The ALGOL 60 implementation for the Electrologica X8 was developed at the Mathematical Center(now named CWI) at Amsterdam. It was simple to use, also for non–experts: it was a load–and–gosystem and had no object modules, no linkage editor, a thorough syntax check, and in case of a run–time error a clear reference to the place and kind of the error. The operating system MICRO wasalso written at the Mathematical Center. It was a pure batch system, directed to process ALGOL 60job after ALGOL 60 job. MILLI was written partly at the Mathematical Center, but completed atPhilips Research. It was a four–batch system processing four batches of ALGOL 60 jobs in parallel[KA2].

    The P1400 was the top model of the Philips–Electrologica P1000 series of main frames. Its operatingsystem MDS, developed by Philips–Electrologica, was a time–sharing system. Users had a file systemand could have a teletype at their own room for input and output. Also some (awful) display terminalbecame available. The ALGOL 60 system delivered with the hardware did not meet our requirements.Therefore a new ALGOL 60 implementation was developed at the laboratory by F.E.J. KrusemanAretz. It was fully compatible with the EL X8 implementation, it even used the same error messages.It was taken over by some other Philips Research laboratories, e.g. in Brussels and in Hamburg. Thecomputer center did not support programming in FORTRAN.

    The P1800, earlier called P2000-epsilon, was designed as the top model of a P2000 main–frame seriesthat never was brought to market. Philips–Electrologica approached the laboratory to ask whetherthe laboratory would purchase it, and the laboratory accepted it provided that a second processorshould be added and the compatibility with the P1000 series should be increased. Per processor itwas about 3 times faster than the EL X8. We decided to develop our own time–sharing system forit, again running exclusively ALGOL 60 jobs. Main architects were H.C. de Ruyter van Steveninckand F.E.J. Kruseman Aretz. The development took much more time than expected. In 1976 it wastherefore decided to build a MILLI copy with the already available parts and some additions writtenfor the purpose. This was done by de Ruyter van Steveninck [dRvSKA]. Thank to the compatibility

    c� Koninklijke Philips Electronics N.V. 2016 1

  • TN-2016/00026 Unclassified

    between de P1800 and the P1400 the ALGOL 60 implementation for the P1400 could be reusedfor the P1800, although some adaptations were necessary to avoid register–register transports whichwere fast in the P1400 and extremely slow in the P1800. The time–sharing system LEO came intooperation November 1979 and was in use until December 1983 [KAea]. It had 29 display terminalsdivided over several buildings and a file system on 4 disk packs of 60 Mbyte each. The ALGOL 60system had to be extended to accommodate file access and display operations.

    Most photos in this document are taken by Zonneveld. As far as we know they are available nowhereelse and as such it is a historical monument of the laboratory. A number of photos of the P1800 werereceived from W. Costongs.

    2 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    2 Electrologica X8

    Electrologica was founded in 1956 with capital from the Dutch insurance company Nillmy and theknow-how from the Mathematical Center in Amsterdam. It delivered its first computer, an Electro-logica X1, in 1958. That was fully transistorized, had a core store in units of 4K words (cycle time32 µsec), one index register and an interrupt system for input/output.

    The Electrologica X8 (1965) was the successor of the Electrologica X1. It was more or less upwardscompatible with the latter one, but was extended with new instructions and instruction variantsdirected to the implementation of ALGOL 60. We mention here:

    floating–point instructions for addition, subtraction, multiplication, and division,’execute’ instructions, to be used inside procedures for actual–parameter access,stacking variants for most instructions,the fact that all registers could be used as index register, andtwo–level addressing for the implementation of ALGOL 60’s block structure.

    In principle the EL X8 was a factor of 12 faster than the EL X1, but the ALGOL 60 implementationon the X8 ran about 60 times faster than that on the EL X1 thank to the above mentioned extensions[KA1].

    The word length was 27 bits and applied to the registers A, S, and B. Register B functioned as stackpointer in the stacking variants of instructions. Floating–point register F had 54 bits, 40 bits for themantissa, 1 bit for its sign, 1 bit usually a copy of the sign bit, and 12 bits for the binary exponent.The floating point representation was that of Grau, i.e. with integer mantissa. Consequently integervalues were a true subset of the floating–point numbers, facilitating the implementation of the mixed–mode arithmetic expressions of ALGOL 60.

    Number representation was in one’s complement. Hence the integer capacity was from �67 108 863to +67 108 863, while the floating-point range ran from �1.777 ⇥ 10628 until +1.777 ⇥ 10626 withan accuracy of about 13 decimal digits. The smallest values di↵erent from 0 were ±0.619 ⇥ 10�616.Integer values up to 1 099 511 627 775 could be represented exactly by floating–point numbers.

    Floating–point operations delivered a floating–point value that was as close to the exact result as waspossible.

    Instruction times varied from 2.5 µsec until 68.75 µsec. During the execution of ALGOL 60 programsthe average instruction times varied from 4.5 µsec for non–numerical programs to 10 µsec for heavycomputations.

    Storage consisted of core store in units of 16 K words, comparable to 64 Kbyte. Cycle time was 2.5µsec read/rewrite. A magnetic drum store contained 512 tracks of 1024 words, revolution time 40msec.

    In addition to the central processor the EL X8 contained an i/o processor called Charon, to whichthe central processor could give input/output commands which then were executed independentlyand in parallel with the computations on the central processor. Completion of a Charon commandled to an interrupt in the central machine.

    In 1965 Philips Computer Industry took a 40% share in Electrologica and in 1966 it took overElectrologica completely. It then changed its name into Philips–Electrologica.

    c� Koninklijke Philips Electronics N.V. 2016 3

  • TN-2016/00026 Unclassified

    2.1 Overview

    Computer room with Electrologica X8

    The computer center got its first X8 in 1966. A second X8 was installed in 1969. They were exclusivelyused to execute computations for scientists. The only programming language available was ALGOL60. From 1970 the operating system was MILLI, in which four streams of programs were executed inparallel [KA2]. One of these streams was a ”ready while you wait” stream for programs with smalldemands: maximally 30 millihour (10,8 sec) computing time and maximally 15 pages line–printeroutput. Programs and their input data were brought to the service desk of the computer center, theresults were delivered in a kind of post–cabinet.

    Input devices were: a punch–card reader and two paper–tape readers.Output devices were: a line printer, a punch–card punch, a paper–tape punch, and a plotter.Program and input data should all be punched on the same medium, either punch cards or papertape.

    On the photo we see along the windows a line printer (with one of the operators) and the post–cabinet.In the back we can see two scientists waiting at the service desk for results and two punch–card readers(one for X8-16 and another for X8-20). In the corner is the operators command teleprinter, then followthe technicians console, a paper–tape roll-up device, a plotter, and a punch–card punch. Somewherein the middle a paper–tape reader can be seen.

    4 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    Computer room with Electrologica X8

    From left to right we see:a punch–card reader,a cabinet with the magnetic–drum store,a table with a paper–tape reader,a table with the operators command teleprinter,a row of cabinets containing the central processor, the i/o processor and core store,a paper–tape punch,the technicians console, anda paper–tape roll–up device.

    c� Koninklijke Philips Electronics N.V. 2016 5

  • TN-2016/00026 Unclassified

    Computer room with 2 Electrologica X8’s and a Philips P1400

    Here we see clearly along the wall from left to right the cabinets of the EL X8–16 and the EL X8–20.In the back–ground the Philips P1400.

    The central processor of the X8 was housed in 5 cabinets, whereof 2 for the floating–point implemen-tation. The input/output processor Charon was housed in a 6th cabinet. Each unit of 16K words ofcore store took also one cabinet.

    In the left corner we see a part of the service desk with a small punch–card deck. On the table in themiddle we see several jobs with some of their output.

    6 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    2.2 Input devices

    Two punch–card readers

    The punch–card reader to the left was the one for the EL X8–16, jobs for the EL X8–20 were readby the other card reader.

    Jobs were separated from one another by one (or more) punch card(s) with a 7–9 punching in its firsttwo columns. Jobs had also to be closed by such a card. These separation cards were red–colouredand added (and removed afterwards) by the operator.

    In the left corner we see part of the table of one of the paper–tape readers. We can see there a readlight, showing that the reader is idle at the moment. Probably the read light was flashing, indicatingthat a read command was already given that could not yet be honoured. After inserting a new papertape in the reader the operator could press the button to the right, where after the reading processstarted immediately. A flashing red light showed that the paper–tape reader ’stood with open mouth’.

    c� Koninklijke Philips Electronics N.V. 2016 7

  • TN-2016/00026 Unclassified

    A punch–card reader and an operators command teleprinter

    From left to right the punch–card reader of the EL X8-20 and the operators command teleprinter forthe EL X8–16. Behind the teleprinter stands the magnetic–drum store of the EL X8–16.

    The command teleprinter served three goals:

    – it informed the operator of the activity and the degree of occupation of each of the four jobbatches,

    – the operator could type a command to the system, e.g. to stop a job producing nonsensicaloutput, and

    – it produced a complete account on paper tape of what was printed; the resulting tape was senteach day to the accounting department of the laboratory.

    8 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    A paper–tape reader

    The paper–tape reader EL 1000 was developed by Electrologica. Its speed was 1000 punched charac-ters per second, i.e. about 2.5 m per second. Nevertheless is could stop reading within 2.5 mm! Thereading station is in the middle, the pull station is to the left of it, the brake station to the right.

    The punched characters of a job could be divided over several paper tapes. An example is to have theALGOL 60 program separated from its input data. All the tapes belonging to one job could be readone after another. During or after reading the last tape of a job the operator had to type a letter P(for the first tape reader) or S (while using the second tape reader) on the command teleprinter, asa sign that the complete job was read.

    The tape reader could read tapes of three di↵erent widths: 5, 7, or 8 tracks. For Flexowriter code8–track tape was the standard.

    c� Koninklijke Philips Electronics N.V. 2016 9

  • TN-2016/00026 Unclassified

    2.3 Output devices

    A line printer, front view

    The Anelex line printer had 66 lines of 144 characters. Of these lines the 2 top lines were reserved forthe operating system. The first line contained the date, the serial number of the job, a page number,and in operating system MILLI also the job–stream name (a, b, c, or d), the number of the box inthe post cabinet in which the result of the job should be put, and the accounting number and nameof the job owner, as given by the job–control line of the job. Next followed a blank line. The bottom4 lines were reserved for transition to the next page. For the users remained 60 lines in between.

    The print cylinder had 64 di↵erent characters. It was non–standard and had to be ordered separately.It contained besides the 26 upper case letters, the 10 figures, the usual punctuation marks, theparentheses, the 4 arithmetical operators, 3 relational operators, and the apostrophes also somesymbols that were in use in ALGOL 60: [, ], |, , ¬, _, ^, and 10.

    Each line could be printed without paper transport. Hence one count print several characters uponone another. In this way the key words of ALGOL 60 could be underlined, one could build byprinting over

  • Unclassified TN-2016/00026

    A line printer, back view

    Here the printed output could be removed.

    The line printer was the only output device that was used by jobs in all the four job batches. In ordernot to mix line–printer output of di↵erent jobs the line–printer output of a job was bu↵ered on themagnetic drum, and only when a portion of about 15 pages was collected for a job it got permissionto be printed. Successive printed portions could belong to di↵erent jobs.

    For that reason each printed page contained in its top line a so–called ’tear number’. All pages of aportion had the same tear number. An increment of the tear number indicated where the operatorhad to tear the string of pages because the next portion belonged to a di↵erent job.

    c� Koninklijke Philips Electronics N.V. 2016 11

  • TN-2016/00026 Unclassified

    Two segments of the line–printer cylinder

    The diameter of these segments is 7.4 cm and they are 5.1 cm and 20 characters wide.

    The print cylinder rotated at high speed in front of the paper, separated from that by the ink ribbon.Behind the paper is a line of 144 hammers. Whenever the row of A’s on the print cylinder is oppositeto the hammer line, the hammers at the places of the line where A’s should be printed are activatedand press the paper plus the ink ribbon against the cylinder.

    12 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    A program listing printed by the line printer

    On the top we see the heading, containing the date (November 21, 1969), the serial number (700),the job–batch letter (a), the box number (118), the accounting data (68044.052), the user name(krusemanaretz) and the page number (1). The tear number is not visible as its position is at theright end of the line.

    The first user line contains the job control. Next follows the program listing, each line precededby the line number. The ALGOL 60 program was punched on paper tape in Flexowriter code andcomputes an approximation of ⇡ by extrapolating the perimeter of a series of regular polygons insidea circle with diameter 2.

    NLCR is short for new–line–carriage–return and causes transition to a new line–printer line. Proce-dure call ABSFIXT (n, m, x) prints the value of x as a fixt–point value with n digits before and mdigits following the decimal point

    c� Koninklijke Philips Electronics N.V. 2016 13

  • TN-2016/00026 Unclassified

    A punch–card punch

    Only jobs in one of the four job batches, the d–batch, was allowed to punch cards. If a job did so, itscard output was preceded by a header card and followed by a trailer card.

    The header card contained, in readable form, the number of the box in the post–cabinet in which theresults should be put, and the serial number of the job. For box number 65 and serial number 208 itlooked like:

    1 1 1 1 1 1 1 12 2 2 2 2 2 2 23 3 3 3 3 3 3 34 4 4 4 4 4 4 45 5 5 5 5 5 5 56 6 6 6 6 6 6 67 7 7 7 7 7 7 78 8 8 8 8 8 8 89 9 9 9 9 9 9 90 0 0 0 0 0 0 0

    The trailer card contained a 12–9 punching in all its 80 columns.

    At the end of the card output of a job the state of the card punch changed from ’green’ to ’red’. Inthe red state no cards would be punched until the operator, after removal of the card output, pressedthe green button.

    14 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    A paper–tape punch

    The Facit tape punch could punch 150 characters per second. Again only jobs in the d–batch wereallowed to have paper–tape output.

    Also here the output of the job itself was preceded by a header of 400 characters (about 1 m tape),containing the box number and the serial number in easily readable form. The output was concludedby a trailer of 200 characters. Both header and trailer were easy removable.

    Again we see near the left corner of the table the two buttons with in–built lights, the green andthe red button. A glowing red–button light indicates that the punch is not ready to punch and noorder to punch has been given by the processor. If the red–button light is flashing such an order hasbeen given but the punch is not ready to punch. By pressing the green–light button the red light isswitched o↵, the green light is switched on and the punch state changes to operable.

    At the end of the output of a job the processor changes the state of the punch to not–ready–to–punch,thus enabling the operator to tear o↵ the output before paper–tape output of another job can bepunched.

    c� Koninklijke Philips Electronics N.V. 2016 15

  • TN-2016/00026 Unclassified

    A plotter

    The Calcomp plotter could perform 300 steps of 0.1 mm per second in the x– or y–direction or,combined, in the x– and y–direction. Pen–up or –down took 0.1 sec.

    A nice set of ALGOL 60 procedures for use of the plotter of the EL X1 were developed at theMathematical Center in Amsterdam by J.A.T.M. van Berckel and B.J. Mailloux in 1964 [vBM].These procedures were designed and documented in ALGOL 60 and coded in a variant of EL X1assembly language and incorporated in the library of procedures which could be called in an ALGOL60 program without declaration and then were selected automatically from that library.

    At the Philips Research Laboratory only the two basic routines ’plot’ and ’plottext’ were coded in ELX8 assembly language, the other procedures were incorporated in a library of pre–compiled ALGOL60 procedures that again could be called without declaration and were selectively added to the objectcode [KA3].

    16 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    2.4 Operators command teleprinter

    The operators command teleprinter

    The operators command teleprinter was in fact a combination of two devices: an output device (theprinter), by which the operating system sent messages to the operator, and an input device (thekeyboard), by which the operator could give commands to the operating system. These two deviceswere completely independent from each other. The fact that all typing was echoed on the printer wasimplemented by the software.

    Commands were, among others, the ’P’ and ’S’ commands to mention that a job on paper tape wasread completely, and the command ’K’, to ask for the time consumed and the time still resting forall the four jobs that could be in execution simultaneously.

    All output was also punched on paper tape. The resulting tape was daily sent to the accountingdepartement.

    c� Koninklijke Philips Electronics N.V. 2016 17

  • TN-2016/00026 Unclassified

    Some output on the operators command teleprinter

    We reproduce a number of successive lines from the output:

    1223 0 0 0 0 DK 072 22588.5496 0051PRINTER EMPTY1229 0 0 0*1 DK1229 0 0 0*1 DK 073 22588.54961230 0 0 0 1 DK1231 0 0 0*2 DK1232 0 0 0*1 DK 998 073 22588.5496 00401232 0 0 0*1 DK 074 22588.54961233 0 0 0 1 DK1233 0 0 0*2 DK1233 0 0 0 2 DK1302 *1 0 0 2 AK1302 *1 0 0 1 DK 997 074 22588.5496 05011302 *1 0 0 1 DK 075 22588.54961302 1 0 0 1 AK1302 0 0 0 1 AK 015 0761302 *1 0 0 1 AK1302 1 0 0 1 AK1303 0 0 0 1 AK 015 0771303 0 0 0 0 DK 998 075 22588.5496 0023

    18 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    meaning:

    Most lines start with the time, followed by the number of jobs in stock in each of the four programstreams A, B, C, and D, including the one in execution and possibly one that is not yet read completely(indicated by an asterisk in front of the number). A number equal to 9 means 9 or more.

    Time and stock overview are followed by two letters, the first letter indicating for which programstream something changed, the second letter giving the input device by which the job was or is read,K denoting the punch–card reader, P denoting one of the two paper–tape readers.

    When a new job is taken in execution the line is concluded by a serial number and a user identification.When a job is completed the line is concluded by its serial number, the user identification and theexecution time in milli–hours (a milli–hour = 3.6 sec). In case the execution was ended by an error anerror number is given in between: 997 meaning time exhaustion, 998 reading beyond the end of input,and 15 an erroneous job–control line (all programs should start with a line indicating the desired jobstream, the user identification, and, if relevant, some time or output limits).

    c� Koninklijke Philips Electronics N.V. 2016 19

  • TN-2016/00026 Unclassified

    2.5 The technicians console

    The technicians console

    We see on the top a row of 27 lights, by which the contents of a register could be inspected.

    We see also three rows of switches. In the upper two rows addresses could be specified, a startaddress and a stop address. In the undermost row a 27 bit instruction could specified to be executedby pressing a button.

    Furthermore there were switches by which a stop at a certain instruction address could be enforced,and by which one instruction at a time could be executed.

    20 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    Ad Dekkers working at the technicians console

    c� Koninklijke Philips Electronics N.V. 2016 21

  • TN-2016/00026 Unclassified

    2.6 Magnetic–drum store

    A magnetic–drum store

    The magnetic–drum store contained 512 tracks of 1024 27–bit words each. The revolution time was40 msec.

    It contained the complete system, to be loaded from drum when booting the software to core store.In MICRO 360 K of the 512 K words were used to bu↵er all in– and output. In MILLI only 267 wasavailable for bu↵ering: 147 K for the 4 input streams, 100 K for the 4 line–printer streams, and 20pages for the card–punch, paper–tape punch and the plotter output. More over 4⇥ 2514 K was in useas swap area for the four programs in execution. Finely jobs in job batch ’d’ could use 80 K words ofthe drum to store temporarily contents of arrays in.

    22 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    3 The P1800

    In 1963 Philips founded Philips Computer Industries (PCI), with a factory in Apeldoorn, to enterthe world of computer production. In 1966 it took over Electrologica and changed the name toPhilips–Electrologica. In 1976 followed anew a name change into Philips Data Systems (PDS).

    It started the development of an IBM 360–like family of main frames, consisting of three models: theP1100, the P1200, and top model P1400. These computers had an abundance of instructions:

    instructions for binary arithmetic,instructions for decimal arithmetic,instructions for single length floating–point arithmetic,instructions for double length floating–point arithmetic,bit instructions,byte instructions,half–word (i.e. two–byte) instructions,full–word instructions,

    and many more. The P1400 had also a set of 49 stack instructions, to be used in their ALGOL 60implementation.

    Just as the IBM it had byte addressing and 16 4–byte registers.

    The 32-bits integer capacity ran from �2 147 483 648 until +2 147 483 647.

    A double–length floating–point number was represented with a sign bit and a hexadecimal exponentof 7 bits, stored in one byte. The mantissa counted 56 bits, stored in the other 7 bytes of an eight–byteunit. It was a true fraction with a value in the interval [0.0625 · · · 1) and not [0.5 · · · 1), due to thefact that the scaling factor was a power of 16. Hence the accuracy was in general not 56 but only 53bits, roughly 16 decimal digits.

    The double–length floating–point numbers ran from �7.2 ⇥ 1075 until +7.2 ⇥ 1075. The in absolutevalue smallest floating–point numbers di↵erent from zero were about ±5.4⇥ 10�79. Integer values inabsolute value up to 72 057 594 037 927 935 could be represented exactly by floating–point numbers.

    The P1800 was designed as the top model of a successor of the P1000 family, that, in view of thecooperation of Philips with Siemens and CII in Unidata, was never brought to market (after thedisbandment of Unidata in 1975 Philips decided to terminate the production of main frames). Theprototype of the P2000–epsilon was o↵ered to Philips Research. The laboratory was at that momentin search of an successor for its two EL X8’s and was willing to purchase it but had some desires:a dual processor, in order to obtain the necessary capacity, and more compatibility with the P1000series. The name changed in P1800, and the machine was installed in December 1975. It missed the49 stack instructions of the P1400, but fortunately the ALGOL 60 implementation developed at thelaboratory didn’t use them at all.

    The processors had an instruction pipe–line: during the execution of an instruction the execution ofone or more succeeding instructions could be prepared already; depending on the kind of instructionmaybe operand addresses could be determined and, perhaps, an operand be retrieved.

    A switch connected the processors with the store and with the peripherals. The store consisted of two

    c� Koninklijke Philips Electronics N.V. 2016 23

  • TN-2016/00026 Unclassified

    banks of solid–state store, one of 0.5 Mbyte with 1 µsec cycle time, the other of 2 Mbyte with 2 µseccycle time. The two processors could access store simultameously when each was accessing a di↵erentbank. Mutual exclusion between the two processors was implemented by means of a test–and–set–bitinstruction.

    Early experiments on the P1800 showed that the P1800 by far didn’t have the expected executionspeed of ALGOL 60 programs. This appeared to be caused by the fact that the processor hadno register–register data paths. Register–register transport was implemented by first storing all 16registers in store and next loading the desired value from store. By two measures the problem wasresolved. The microprogram for register transport was changed into only storing the source registerin store. The ALGOL 60 implementation was changed so as to avoid the use of register transportwhere easily possible. In this way the promised speed per processor of a factor 3 times that of theEL X8 could be obtained.

    When looking for a successor for the EL X8’s it was also the intention to develop a simple time–sharing system for it. During a study tour in the USA we became acquainted with ConcurrentPascal and it was decided to develop a time–sharing system in that programming language. Forremote access about 30 Ontel display terminals were ordered, whereas a Philips P857 was boughtas terminal concentrator. Main architects for the software were H.C. de Ruyter van Steveninck andF.E.J. Kruseman Aretz.

    As a preliminary system a copy of the MILLI multi–batch system of the EL X8 was written inConcurrent Pascal by H.C. de Ruyter van Steveninck. It was used from 1976 until 1979, when itcould be replaced by LEO. MILLI counted about 20 concurrent processes, whereas LEO had 166concurrent processes of 27 distinct process types. MILLI was a 2500 lines of Concurrent Pascal longand LEO about 9600 lines.

    24 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    3.1 Overview

    Overview of the P1800

    In the computer room we see:– in the foreground the Philips P1800,– in the back ground an Philips P1400, and– in between the Electrologica X8–20.

    Of the X8 we see along the wall the cabinets with processor and core store, the operators teleprinter,the technicians console, the magnetic–drum store, the punch–card reader, and the line printer.

    c� Koninklijke Philips Electronics N.V. 2016 25

  • TN-2016/00026 Unclassified

    Overview of the P1800 from another viewpoint

    In the foreground we see the Facit paper–tape punch, the EL1000 paper–tape reader and the Calcompplotter.

    Behind the paper–tape reader we find the operators console.

    Along the walls stand the cabinets with the two processors and the two banks of solid–state store.

    26 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    3.2 The operators console

    The P1800 operators console

    In the foreground the console for the operators (the typewriter) and moreover some aids and appliancesfor the technicians.

    Behind it we see the Calcomp plotter and two magnetic–tape units.

    To the right the EL1000 paper–tape reader and the row of 6 magnetic–disc units.

    c� Koninklijke Philips Electronics N.V. 2016 27

  • TN-2016/00026 Unclassified

    The P1800 operators console with one of the operators

    Again one can see clearly the typewriter on which the systems activities are reported and the operatorcan type simple commands to the system. In contrast to the operators command teletype of the ELX8 there is no coupled tape punch. All messages for the typewriter and all operator commands werestored in an accounting file. At the end of the day the contents of the accounting file were punchedon the paper–tape punch and sent to the administration.

    To the left of the typewriter we see a set of buttons. On of them is the manual interrupt key, byanother key the system is booted.

    28 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    3.3 Hardware impression

    A cabinet with one of the processors

    This photo gives an impression of the processor hardware.

    c� Koninklijke Philips Electronics N.V. 2016 29

  • TN-2016/00026 Unclassified

    System test

    A test of one of the two processors. We see the same processor hardware.

    To the left Joost Emmen and to the right Leo van de Besselaar.

    30 c� Koninklijke Philips Electronics N.V. 2016

  • Unclassified TN-2016/00026

    Two technicians at the escape console

    To the left Joost Emmen and to the right Wim Costongs.

    c� Koninklijke Philips Electronics N.V. 2016 31

  • TN-2016/00026 Unclassified

    References

    [KA1] F.E.J. Kruseman Aretz, ”A comparison between the ALGOL 60 implementations on the Elec-trologica X1 and the Electrologica X8”CWI Technical report SEN–E0801Centrum Wiskunde en Informatica, September 2008.

    [KA2] F.E.J. Kruseman Aretz,”On the design of to small batch operating systems, 1965 – 1970”,CWI Technical report SwAT–1913,Centrum Wiskunde en Informatica, June 2013.

    [KAea] F.E.J. Kruseman Aretz, H.C. de Ruyter van Steveninck, G.E. Thomas, and J.A. Zonneveld,”Het LEO-project”Nat.Lab. Technical Note 78/84, Philips Research Eindhoven, 1984.

    [dRvSKA] H.C de Ruyter van Steveninck and F.E.J.Kruseman Aretz,”The MILLI operating system for the Philips P1800, 1976 – 1979”,Philips Research Technical Note 2015/00819, Eindhoven, the Netherlands, 2015.

    [vBM] J.A.T.M. van Berckel and B.J. Mailloux, ”Some ALGOL plotting procedures”,Mathematisch Centrum Technical report MR73/70.

    [KA3] F.E.J. Kruseman Aretz, ”Het plottersysteem in MILLI op de EL X8”,Nat.Lab. Computer Note 1971/2Philips Research Eindhoven, 1971.

    32 c� Koninklijke Philips Electronics N.V. 2016