tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: A simple cpufreq(9)

On 2011-09-29 16.01, Rhialto wrote:
On Thu 29 Sep 2011 at 08:50:24 -0400, Mouse wrote:
The cache and mmu are probably harder than the cpu :-)

I'm not sure the PDP-10 even _had_ cache; I'd have to do some digging
on that score.  And I have no idea what it had for an MMU.  The only

I think the MMU differed depending on what operating system you used
(TOPS-20 or ITS), or rather the reverse: each OS needed its own
particular hardware. And the microcode differed too.

Missed sending my reply to all before.
Anyway, yes, some PDP-10 machines do have cache. Specifically the -2050 and later ones. Not sure if that is relevant though, as any implementation should be able to do, or not do cache, without that changing much of anything else.

The MMU on the other hand is a fun story in the PDP-10. Since it was called the pager box, I'll say pager instead of MMU. The pager differs between each implementation of the PDP-10. It also differs depending on what OS you want to run. The pager in the KL-10 is microcoded, and there are two different microcodes, depending on whether you want to run TOPS-20, which has demand paging, and all fancy stuff, or TOPS-10, which is rather more primitive, and different. The pager microcode is loaded at boot time. In addition, ITS uses another style of pager, and ITS do not even run on the KL10. Also, Tenex (the predecessor of TOPS-20) has yet another pager. I don't think the KL10 pager can even implement the functionality required for the ITS or Tenex pagers. Either because of lacking hardware, or maybe too little memory for the microcode. Not sure which, but neither OS was ever ported on to the KL10.

For previous models, the pager was actually different pieces of hardware, while the KS10 (which was later) had a pager that I think was rather compatible with the KL10, but simplified in that I think it only do things the TOPS-20 way. TOPS-10 runs fine on the KS10, but I think they changed TOPS-10 to use the TOPS-20 style paging for this. (I could be totally wrong on that one.)

non-power-of-two-word-size machine I've ever actually used, as far as I
can recall, was a PDP-8.  I'm interested in NetBSD/pdp10 less for
personal nostalgia value than for the code cleanup it would enforce.

It is quite nice actually to play with TOPS-20. It is surprisingly
advanced for its time. The Kermit command line interface is modeled
after its shell. ITS on the other hand is totally for hackers: its
user interface was basically the machine language debugger (DDT)
expanded with a few small utility commands.


On the other hand, BSD's job
control must have been stolen from there, and probably the idea that a
command you run is executed in a separate process from the CLI.

That had/has been done in other OSes as well. And besides, Unix is older than TOPS-20, and the job/process concept was in Unix pretty realy. :-) And job control is (still) nowhere near the job attaching functions in TOPS-20. Using things like screen, you get a bit closer...

The mmap() stuff in Unix is, as far as I can remember, very much inspired/modeled from TOPS-20 however.


Home | Main Index | Thread Index | Old Index