Re: [Simh] What is CDC OS?

2016-02-16 Thread Paul Koning

> On Feb 16, 2016, at 4:04 PM, Nelson H. F. Beebe  wrote:
> 
> Will Senn  asks on the list on Tue, 16 Feb 2016
> 12:47:12 -0600 about CDC operating systems.
> 
> I worked quite happily on a CDC 6400 from 1973 to 1977.  Initially, we
> had the SCOPE operating system, and later, KRONOS.  
> ...
> The interactive features of the CDC 6400 had a huge beneficial impact
> on my software productivity, compared to my previous batch
> environment, and I regret that I have yet to find a CDC [67]x00
> simulator with either SCOPE or Kronos.  I have one that boots up to
> ROM level, but cannot get further with it.

DtCyber is a full 6000 series emulator that runs pretty much all the 6000 
series 60 bit software (including nearly all diagnostics).  It doesn't emulate 
the 7600; I haven't seen anything that does.  Nor does it emulate the 64 bit 
mode of the later machines.  There is a mailing list ("controlfreaks") for 
working on/with that.  Due to licensing limitation it isn't world-readable but 
if you're interested, ask to join.

There's a PLATO system on-line (see www.cyber1.org) running in emulation on 
DtCyber, using NOS 2.8.7 as the underlying OS.  (Not that PLATO makes much use 
of the OS services... it's barely more than a program loader as far as it's 
concerned.)

> The CDC machines had a small instruction set (64 different opcodes).
> All integer arithmetic was done with floating-point instructions,

Not quite.  Mul and div, yes.  But there are separate full 60 bit integer add 
and subtract ("long add") instructions.

> ...
> The address space was 2**18 = 262_144 words, and each process had a
> contiguous block.  

17 bits in the 6000 series (18 bits in the 170 series).

> The CDC [67]x00 family CPUs have no interrupts: instead, there are
> several peripheral processors (PP's) that interface to external
> devices such as disks and serial terminal lines.  The PP's are 12-bit
> computers, each with 4096 words of memory. They communicate with the
> main CPU by monitoring a couple of privileged memory locations that
> hold data for a device operation.  At our site, the PPs were never
> accessible to end users, so no one outside the computer center ever
> knew their instruction set.

The PPs have a way to interrupt the CPU, or more precisely, to do a context 
switch.  It feels a bit like the VAX instructions to save and load process 
context, except that the whole job is done in one instruction, not two.  And 
that instruction is blindingly fast: the whole operation runs at memory speed, 
100 ns per word (thanks to interleaving) so a process switch would take about 3 
to 4 microseconds.

> Niklaus Wirth and Urs Ammann have interesting, and sometimes negative,
> comments about the CDC 6600 on which they developed the first Pascal
> implementation.  Like Fortran and the IBM 709, and C and the DEC
> PDP-11, the Pascal language also contains several influences of the
> CDC 6600 architecture, although Wirth tried as much as possible to
> hide the hardware from the programmer.

I don't think Dijkstra liked it much either.  One of them objected to the weird 
floating point rounding, which (according to what they said, I haven't checked) 
rounds at 1/3rd rather than the proper 1/2 LSB.

paul

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] What is CDC OS?

2016-02-16 Thread Timothe Litt
On 16-Feb-16 16:04, Nelson H. F. Beebe wrote:
> Will Senn  asks on the list on Tue, 16 Feb 2016
> 12:47:12 -0600 about CDC operating systems.
>
>
> The CDC [67]x00 family CPUs have no interrupts: instead, there are
> several peripheral processors (PP's) that interface to external
> devices such as disks and serial terminal lines.  The PP's are 12-bit
> computers, each with 4096 words of memory. They communicate with the
> main CPU by monitoring a couple of privileged memory locations that
> hold data for a device operation.  At our site, the PPs were never
> accessible to end users, so no one outside the computer center ever
> knew their instruction set.
>
>
http://ygdes.com/CDC/60141900_Codes_Rev-A_May65.pdf



smime.p7s
Description: S/MIME Cryptographic Signature
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] What is CDC OS?

2016-02-16 Thread Nelson H. F. Beebe
Will Senn  asks on the list on Tue, 16 Feb 2016
12:47:12 -0600 about CDC operating systems.

I worked quite happily on a CDC 6400 from 1973 to 1977.  Initially, we
had the SCOPE operating system, and later, KRONOS.  The latter was,
from our viewpoint, a step back, because it had a flat file system
that in our case had to serve our entire campus.  As a result, we had
to adopt prefixes that encoded the department name and user name on
all filenames.

For its time, the CDC 6400 (and its bigger brothers, the 6600 and
7600) was quite fast.  It had interactive access, and a Unix-top-like
process display that you could run without logging in.

My previous machines were IBM and Amdahl mainframes that were only
accessible with batch jobs submitted on punched cards: for a long
time, users at that university were forbidden from storing files on
disks.  We solved that in our research group by renting our own IBM
2311 disk drive, and buying eventually a dozen or so removable disks.
According to Wikipedia,


https://en.wikipedia.org/wiki/History_of_IBM_magnetic_disk_drives#IBM_2311

those disks with six LP-record-sized platters held about 7MB.  I did
hundreds of mounts of those disks myself.

The interactive features of the CDC 6400 had a huge beneficial impact
on my software productivity, compared to my previous batch
environment, and I regret that I have yet to find a CDC [67]x00
simulator with either SCOPE or Kronos.  I have one that boots up to
ROM level, but cannot get further with it.

The CDC machines had a small instruction set (64 different opcodes).
All integer arithmetic was done with floating-point instructions,
which offered both rounding and truncating modes.  The
integer-to-float-to-integer conversion meant that integers were
effectively limited to 48 bits of data stored in a 60-bit word.  There
were 18-bit An and Bn (n = 0..7) registers, and associated 60-bit Xn
registers.  A0 and X0 were scratch registers.  Loading an address into
A1 through A5 loaded a word from that memory word address into X1
through X5.  Putting an address in A6 or A7 stored the word in X6 or
X7.  All instruction mnemonics have hard-coded register names, so
there was no reasonable possibility of a macro language that could
usefully give symbolic names to registers.

The CDC floating-point arithmetic had both Indefinite and Infinity:
they were the inspiration for NaN and Infinity in IEEE 754 arithmetic
on almost all new post-1985 machine designs.

One nice feature of Indefinite was that with a job-control statement
immediately before your job, you could initialize all memory words to
Indefinite, with the word's address in the lower 18 bits.  Then, if
you accidentally used an uninitialized variable, you got a
floating-point exception, and the traceback showed where it came from,
and thus, which variable was unset.  We used that feature heavily, and
only a few modern systems provide something similar.

The address space was 2**18 = 262_144 words, and each process had a
contiguous block.  All physical addresses were computed dynamically
from the sum of a job base address and a relative-to-0 address, so the
O/S could slide entire jobs around in memory to achieve optimal
packing.  You could, and we did, adjust the process upper bound
dynamically during execution to free core memory for others.

The CDC [67]x00 family CPUs have no interrupts: instead, there are
several peripheral processors (PP's) that interface to external
devices such as disks and serial terminal lines.  The PP's are 12-bit
computers, each with 4096 words of memory. They communicate with the
main CPU by monitoring a couple of privileged memory locations that
hold data for a device operation.  At our site, the PPs were never
accessible to end users, so no one outside the computer center ever
knew their instruction set.

Niklaus Wirth and Urs Ammann have interesting, and sometimes negative,
comments about the CDC 6600 on which they developed the first Pascal
implementation.  Like Fortran and the IBM 709, and C and the DEC
PDP-11, the Pascal language also contains several influences of the
CDC 6600 architecture, although Wirth tried as much as possible to
hide the hardware from the programmer.

Here are some literature references about those machines, and early
Pascal:

papers: James E. Thornton
The CDC 6600 Project
http://dx.doi.org/10.1109/MAHC.1980.10044

Niklaus Wirth
The Design of a PASCAL Compiler
http://dx.doi.org/10.1002/spe.4380010403

Urs Ammann
On Code Generation in a PASCAL Compiler
http://dx.doi.org/10.1002/spe.4380070311

book:   James E. Thornton
Design of a Computer: the Control Data 6600
Scott, Foresman (1970)
LCCN TK7889.C6 T5 1970

Thornton was part of the 6600 architecture team.

---
- Nelson H. F. BeebeTel: +1 801 581 5254  -
- 

Re: [Simh] What is CDC OS?

2016-02-16 Thread Will Senn

Thanks Clem and I agree with Bill's quip - greatness.

On 2/16/16 1:01 PM, Clem Cole wrote:


On Tue, Feb 16, 2016 at 1:49 PM, Clem Cole > wrote:


However, the book has some programs that claim to take advantage
of the CDC OS and utilize a card reader.

​Yup, IMO, part of why Pascal I/O was dorked was because he used the 
read/write semantics of the CDC systems.   It very screwy and simple 
in nature.  Don't expect much.


It's been a while since I used them, but my memory is that the Kronos, 
NOS and SCOPE all used the same semantics for batch programs.   I 
never ran COS or MACE.


I still know a couple of folks that might remember - Tektronix had two 
CDC systems (1) and I one of my old colleagues from those days that 
was a programmer for the CDC Center(2), I'm working with again.  If 
you have specific questions send them to me off list and I'll see if I 
can get you in contact.


Clem

1) As I have mentioned I helped to write the original IP/TCP 
implementation for VMS, besides our 11/70 running Unix.  The other 
side of that link was these CDC systems.


2) In one of my favorite all time quotes that I wish I had said.  Bill 
Price who had been one of the B5000 designers and was then working 
with us in Tek Labs when the Tek CDC team was renamed from the 
"Scientific Computer Center" to the "Computer Science Center".  Bill 
hears this and quips:  "That's like calling a strip mine and 
archeology dig."


​




___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] What is CDC OS?

2016-02-16 Thread Clem Cole
On Tue, Feb 16, 2016 at 1:49 PM, Clem Cole  wrote:

> However, the book has some programs that claim to take advantage of the
> CDC OS and utilize a card reader.

​Yup, IMO, part of why Pascal I/O was dorked was because he used the
read/write semantics of the CDC systems.   It very screwy and simple in
nature.  Don't expect much.

It's been a while since I used them, but my memory is that the Kronos, NOS
and SCOPE all used the same semantics for batch programs.   I never ran COS
or MACE.

I still know a couple of folks that might remember - Tektronix had two CDC
systems (1) and I one of my old colleagues from those days that was a
programmer for the CDC Center(2), I'm working with again.  If you have
specific questions send them to me off list and I'll see if I can get you
in contact.

Clem

1) As I have mentioned I helped to write the original IP/TCP implementation
for VMS, besides our 11/70 running Unix.  The other side of that link was
these CDC systems.

2) In one of my favorite all time quotes that I wish I had said.  Bill
Price who had been one of the B5000 designers and was then working with us
in Tek Labs when the Tek CDC team was renamed from the "Scientific Computer
Center" to the "Computer Science Center".  Bill hears this and quips:
 "That's like calling a strip mine and archeology dig."

​
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] What is CDC OS?

2016-02-16 Thread Clem Cole
below

On Tue, Feb 16, 2016 at 1:47 PM, Will Senn  wrote:

> Hi,
>
> I'm reading a book (among many such books) that is entitled, "A Primer on
> PASCAL," by Richard Conway, David Gries, and E. C. Zimmerman, written in
> 1976 with a Foreward by Niklaus Wirth. The book has a lot of PASCAL
> examples that run just fine on my PDP-11/70 with RT-11 or RSX-11, or... you
> get the idea. However, the book has some programs that claim to take
> advantage of the CDC OS and utilize a card reader. The author refers to the
> operating system as "The CDC OS" as if it were singular and obvious, but
> doesn't speak of hardware beyond the card reader. I looked and found
> references to Control Data Corporation's COS, SCOPE, MACE, KRONOS,  and
> NOS, but have no idea if these are "The CDC OS"...
>
​Yup and they have a N different code sets -- its a real mess.​



>
> Does anyone know what "The CDC OS" would refer to and what hardware it
> would run on (hopefully simulated).
>
​IIRC, Cyber 72 running NOS, I believe was what he used.​
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

[Simh] What is CDC OS?

2016-02-16 Thread Will Senn

Hi,

I'm reading a book (among many such books) that is entitled, "A Primer 
on PASCAL," by Richard Conway, David Gries, and E. C. Zimmerman, written 
in 1976 with a Foreward by Niklaus Wirth. The book has a lot of PASCAL 
examples that run just fine on my PDP-11/70 with RT-11 or RSX-11, or... 
you get the idea. However, the book has some programs that claim to take 
advantage of the CDC OS and utilize a card reader. The author refers to 
the operating system as "The CDC OS" as if it were singular and obvious, 
but doesn't speak of hardware beyond the card reader. I looked and found 
references to Control Data Corporation's COS, SCOPE, MACE, KRONOS,  and 
NOS, but have no idea if these are "The CDC OS"...


Does anyone know what "The CDC OS" would refer to and what hardware it 
would run on (hopefully simulated).


Regards,

Will
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh