Re: [Simh] What is CDC OS?
> On Feb 16, 2016, at 4:04 PM, Nelson H. F. Beebewrote: > > 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?
On 16-Feb-16 16:04, Nelson H. F. Beebe wrote: > Will Sennasks 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?
Will Sennasks 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?
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?
On Tue, Feb 16, 2016 at 1:49 PM, Clem Colewrote: > 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?
below On Tue, Feb 16, 2016 at 1:47 PM, Will Sennwrote: > 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?
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