The NatLab computer center WAA, 1967 – 1983 - Vereniging Int

advertisement
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. Zonneveld
F.E.J. Kruseman Aretz
[email protected]
c KONINKLIJKE PHILIPS ELECTRONICS N.V. 2016
All rights reserved. Reproduction or dissemination in whole or in part is prohibited without
the 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 Philips
Research Eindhoven. They show two of the main–frame computers that were
used between 1967 and 1983: an Electrologica X8 and a Philips P1800. Some
of 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
The P1800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.1
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
3.2
The operators console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.3
Hardware impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
3
c Koninklijke Philips Electronics N.V. 2016
v
Unclassified
1
TN-2016/00026
Introduction
From 1967 onwards Philips Research Eindhoven had a small computer center in building WAA for
scientific computation, headed by J.A.Zonneveld. The scientists were expected to write and punch
their own programs. They had to bring them to the service desk of the computer center and could
collect the result at some later point of time. Programs could be delivered on paper tape or, when
the computer got a punch–card reader, also on a punch–card deck. For punching on paper tape a
number of Friden Flexowriters was available and at a later stage for punching on punch cards also
some card-punch equipment.
Between 1967 and 1981 the computer center had the following computers:
computer
period
operating system
EL X8–16
11–1967/11–1975 MICRO, MILLI
EL X8–20
09–1969/03–1977 MILLI
Philips P1400 04–1971/11–1981 MDS
Philips P1800 12–1975/12–1983 MILLI, LEO
languages
ALGOL
ALGOL
ALGOL
ALGOL
price
60
2.5 Mfl
60
2.3 Mfl
60, FORTRAN 7 Mfl
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–go
system 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 was
also written at the Mathematical Center. It was a pure batch system, directed to process ALGOL 60
job after ALGOL 60 job. MILLI was written partly at the Mathematical Center, but completed at
Philips 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 operating
system MDS, developed by Philips–Electrologica, was a time–sharing system. Users had a file system
and could have a teletype at their own room for input and output. Also some (awful) display terminal
became 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. Kruseman
Aretz. 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. The
computer center did not support programming in FORTRAN.
The P1800, earlier called P2000-epsilon, was designed as the top model of a P2000 main–frame series
that never was brought to market. Philips–Electrologica approached the laboratory to ask whether
the laboratory would purchase it, and the laboratory accepted it provided that a second processor
should be added and the compatibility with the P1000 series should be increased. Per processor it
was about 3 times faster than the EL X8. We decided to develop our own time–sharing system for
it, again running exclusively ALGOL 60 jobs. Main architects were H.C. de Ruyter van Steveninck
and F.E.J. Kruseman Aretz. The development took much more time than expected. In 1976 it was
therefore decided to build a MILLI copy with the already available parts and some additions written
for 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 reused
for the P1800, although some adaptations were necessary to avoid register–register transports which
were fast in the P1400 and extremely slow in the P1800. The time–sharing system LEO came into
operation November 1979 and was in use until December 1983 [KAea]. It had 29 display terminals
divided over several buildings and a file system on 4 disk packs of 60 Mbyte each. The ALGOL 60
system 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 nowhere
else and as such it is a historical monument of the laboratory. A number of photos of the P1800 were
received from W. Costongs.
2
c Koninklijke Philips Electronics N.V. 2016
Unclassified
2
TN-2016/00026
Electrologica X8
Electrologica was founded in 1956 with capital from the Dutch insurance company Nillmy and the
know-how from the Mathematical Center in Amsterdam. It delivered its first computer, an Electrologica X1, in 1958. That was fully transistorized, had a core store in units of 4K words (cycle time
32 µ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 upwards
compatible with the latter one, but was extended with new instructions and instruction variants
directed 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, and
two–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 implementation
on 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 stack
pointer in the stacking variants of instructions. Floating–point register F had 54 bits, 40 bits for the
mantissa, 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 integer
values 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 863
to +67 108 863, while the floating-point range ran from 1.777 ⇥ 10628 until +1.777 ⇥ 10626 with
an 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 was
possible.
Instruction times varied from 2.5 µsec until 68.75 µsec. During the execution of ALGOL 60 programs
the average instruction times varied from 4.5 µsec for non–numerical programs to 10 µsec for heavy
computations.
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 40
msec.
In addition to the central processor the EL X8 contained an i/o processor called Charon, to which
the central processor could give input/output commands which then were executed independently
and in parallel with the computations on the central processor. Completion of a Charon command
led to an interrupt in the central machine.
In 1965 Philips Computer Industry took a 40% share in Electrologica and in 1966 it took over
Electrologica completely. It then changed its name into Philips–Electrologica.
c Koninklijke Philips Electronics N.V. 2016
3
TN-2016/00026
2.1
Unclassified
Overview
Computer room with Electrologica X8
The computer center got its first X8 in 1966. A second X8 was installed in 1969. They were exclusively
used to execute computations for scientists. The only programming language available was ALGOL
60. From 1970 the operating system was MILLI, in which four streams of programs were executed in
parallel [KA2]. One of these streams was a ”ready while you wait” stream for programs with small
demands: maximally 30 millihour (10,8 sec) computing time and maximally 15 pages line–printer
output. Programs and their input data were brought to the service desk of the computer center, the
results 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 paper
tape.
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 follow
the technicians console, a paper–tape roll-up device, a plotter, and a punch–card punch. Somewhere
in 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, and
a 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 implementation. The input/output processor Charon was housed in a 6th cabinet. Each unit of 16K words of
core 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 the
middle we see several jobs with some of their output.
6
c Koninklijke Philips Electronics N.V. 2016
Unclassified
2.2
TN-2016/00026
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 read
by the other card reader.
Jobs were separated from one another by one (or more) punch card(s) with a 7–9 punching in its first
two columns. Jobs had also to be closed by such a card. These separation cards were red–coloured
and 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 read
light, showing that the reader is idle at the moment. Probably the read light was flashing, indicating
that a read command was already given that could not yet be honoured. After inserting a new paper
tape in the reader the operator could press the button to the right, where after the reading process
started 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 for
the 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 job
batches,
– the operator could type a command to the system, e.g. to stop a job producing nonsensical
output, and
– it produced a complete account on paper tape of what was printed; the resulting tape was sent
each 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 characters per second, i.e. about 2.5 m per second. Nevertheless is could stop reading within 2.5 mm! The
reading 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 the
ALGOL 60 program separated from its input data. All the tapes belonging to one job could be read
one 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, as
a 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 code
8–track tape was the standard.
c Koninklijke Philips Electronics N.V. 2016
9
TN-2016/00026
2.3
Unclassified
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 for
the 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 in
the post cabinet in which the result of the job should be put, and the accounting number and name
of the job owner, as given by the job–control line of the job. Next followed a blank line. The bottom
4 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, the
parentheses, the 4 arithmetical operators, 3 relational operators, and the apostrophes also some
symbols that were in use in ALGOL 60: [, ], |, , ¬, _, ^, and 10 .
Each line could be printed without paper transport. Hence one count print several characters upon
one another. In this way the key words of ALGOL 60 could be underlined, one could build  by
printing over <, and 6= by printing | over =.
The lower case letters were printed by the available upper case letters, an upper case letter by the
upper case letter with a _ across it, such as A
_.
Pages were printed in portions of about 15 pages (depending on the number of characters on the
pages). When the printer stopped printing it was always after completing the last page of a portion.
The operator could then insert a number of blank pages by pressing the page–feed button in order
to remove one or more portions from the printer at its back side.
10
c Koninklijke Philips Electronics N.V. 2016
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 order
not to mix line–printer output of di↵erent jobs the line–printer output of a job was bu↵ered on the
magnetic drum, and only when a portion of about 15 pages was collected for a job it got permission
to 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 a
portion had the same tear number. An increment of the tear number indicated where the operator
had 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 opposite
to the hammer line, the hammers at the places of the line where A’s should be printed are activated
and 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 the
right end of the line.
The first user line contains the job control. Next follows the program listing, each line preceded
by the line number. The ALGOL 60 program was punched on paper tape in Flexowriter code and
computes an approximation of ⇡ by extrapolating the perimeter of a series of regular polygons inside
a circle with diameter 2.
NLCR is short for new–line–carriage–return and causes transition to a new line–printer line. Procedure call ABSFIXT (n, m, x) prints the value of x as a fixt–point value with n digits before and m
digits 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, its
card 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 the
results should be put, and the serial number of the job. For box number 65 and serial number 208 it
looked like:


12345678901234567890123456789012345678901234567890123456789012345678901234567890
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’. In
the red state no cards would be punched until the operator, after removal of the card output, pressed
the 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 were
allowed 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 concluded
by 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 and
the red button. A glowing red–button light indicates that the punch is not ready to punch and no
order to punch has been given by the processor. If the red–button light is flashing such an order has
been given but the punch is not ready to punch. By pressing the green–light button the red light is
switched 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 be
punched.
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 the
Mathematical 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 X1
assembly language and incorporated in the library of procedures which could be called in an ALGOL
60 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 EL
X8 assembly language, the other procedures were incorporated in a library of pre–compiled ALGOL
60 procedures that again could be called without declaration and were selectively added to the object
code [KA3].
16
c Koninklijke Philips Electronics N.V. 2016
Unclassified
2.4
TN-2016/00026
Operators command teleprinter
The operators command teleprinter
The operators command teleprinter was in fact a combination of two devices: an output device (the
printer), by which the operating system sent messages to the operator, and an input device (the
keyboard), by which the operator could give commands to the operating system. These two devices
were completely independent from each other. The fact that all typing was echoed on the printer was
implemented by the software.
Commands were, among others, the ’P’ and ’S’ commands to mention that a job on paper tape was
read completely, and the command ’K’, to ask for the time consumed and the time still resting for
all 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 accounting
departement.
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
PRINTER
1229 0
1229 0
1230 0
1231 0
1232 0
1232 0
1233 0
1233 0
1233 0
1302 *1
1302 *1
1302 *1
1302 1
1302 0
1302 *1
1302 1
1303 0
1303 0
18
0 0 0
EMPTY
0 0*1
0 0*1
0 0 1
0 0*2
0 0*1
0 0*1
0 0 1
0 0*2
0 0 2
0 0 2
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 0
DK
DK
DK
DK
DK
DK
DK
DK
DK
DK
AK
DK
DK
AK
AK
AK
AK
AK
DK
072 22588.5496
0051
073 22588.5496
998 073 22588.5496
074 22588.5496
0040
997 074 22588.5496
075 22588.5496
0501
015 076
015 077
998 075 22588.5496
0023
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 program
streams 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 program
stream 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 the
execution time in milli–hours (a milli–hour = 3.6 sec). In case the execution was ended by an error an
error 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 job
stream, the user identification, and, if relevant, some time or output limits).
c Koninklijke Philips Electronics N.V. 2016
19
TN-2016/00026
2.5
Unclassified
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 start
address and a stop address. In the undermost row a 27 bit instruction could specified to be executed
by 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
2.6
Unclassified
Magnetic–drum store
A magnetic–drum store
The magnetic–drum store contained 512 tracks of 1024 27–bit words each. The revolution time was
40 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 was
available for bu↵ering: 147 K for the 4 input streams, 100 K for the 4 line–printer streams, and 20
pages for the card–punch, paper–tape punch and the plotter output. More over 4 ⇥ 25 14 K was in use
as swap area for the four programs in execution. Finely jobs in job batch ’d’ could use 80 K words of
the drum to store temporarily contents of arrays in.
22
c Koninklijke Philips Electronics N.V. 2016
Unclassified
3
TN-2016/00026
The P1800
In 1963 Philips founded Philips Computer Industries (PCI), with a factory in Apeldoorn, to enter
the world of computer production. In 1966 it took over Electrologica and changed the name to
Philips–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: the
P1100, 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 60
implementation.
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 exponent
of 7 bits, stored in one byte. The mantissa counted 56 bits, stored in the other 7 bytes of an eight–byte
unit. It was a true fraction with a value in the interval [0.0625 · · · 1) and not [0.5 · · · 1), due to the
fact that the scaling factor was a power of 16. Hence the accuracy was in general not 56 but only 53
bits, roughly 16 decimal digits.
The double–length floating–point numbers ran from 7.2 ⇥ 1075 until +7.2 ⇥ 1075 . The in absolute
value smallest floating–point numbers di↵erent from zero were about ±5.4 ⇥ 10 79 . Integer values in
absolute 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 the
cooperation of Philips with Siemens and CII in Unidata, was never brought to market (after the
disbandment of Unidata in 1975 Philips decided to terminate the production of main frames). The
prototype of the P2000–epsilon was o↵ered to Philips Research. The laboratory was at that moment
in 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 P1000
series. The name changed in P1800, and the machine was installed in December 1975. It missed the
49 stack instructions of the P1400, but fortunately the ALGOL 60 implementation developed at the
laboratory didn’t use them at all.
The processors had an instruction pipe–line: during the execution of an instruction the execution of
one or more succeeding instructions could be prepared already; depending on the kind of instruction
maybe 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 µsec
cycle time. The two processors could access store simultameously when each was accessing a di↵erent
bank. Mutual exclusion between the two processors was implemented by means of a test–and–set–bit
instruction.
Early experiments on the P1800 showed that the P1800 by far didn’t have the expected execution
speed of ALGOL 60 programs. This appeared to be caused by the fact that the processor had
no register–register data paths. Register–register transport was implemented by first storing all 16
registers in store and next loading the desired value from store. By two measures the problem was
resolved. The microprogram for register transport was changed into only storing the source register
in store. The ALGOL 60 implementation was changed so as to avoid the use of register transport
where easily possible. In this way the promised speed per processor of a factor 3 times that of the
EL 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 Concurrent
Pascal and it was decided to develop a time–sharing system in that programming language. For
remote access about 30 Ontel display terminals were ordered, whereas a Philips P857 was bought
as terminal concentrator. Main architects for the software were H.C. de Ruyter van Steveninck and
F.E.J. Kruseman Aretz.
As a preliminary system a copy of the MILLI multi–batch system of the EL X8 was written in
Concurrent Pascal by H.C. de Ruyter van Steveninck. It was used from 1976 until 1979, when it
could be replaced by LEO. MILLI counted about 20 concurrent processes, whereas LEO had 166
concurrent processes of 27 distinct process types. MILLI was a 2500 lines of Concurrent Pascal long
and LEO about 9600 lines.
24
c Koninklijke Philips Electronics N.V. 2016
Unclassified
3.1
TN-2016/00026
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 Calcomp
plotter.
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
3.2
TN-2016/00026
The operators console
The P1800 operators console
In the foreground the console for the operators (the typewriter) and moreover some aids and appliances
for 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 operator
can type simple commands to the system. In contrast to the operators command teletype of the EL
X8 there is no coupled tape punch. All messages for the typewriter and all operator commands were
stored in an accounting file. At the end of the day the contents of the accounting file were punched
on 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, by
another key the system is booted.
28
c Koninklijke Philips Electronics N.V. 2016
Unclassified
3.3
TN-2016/00026
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 Electrologica X1 and the Electrologica X8 ”
CWI Technical report SEN–E0801
Centrum 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/2
Philips Research Eindhoven, 1971.
32
c Koninklijke Philips Electronics N.V. 2016
Download