Difference between revisions of "Talk:KS11 Memory Protection and Relocation option"

From Computer History Wiki
Jump to: navigation, search
(Ken Thompson's memory of it)
 
(And from Bob Supnik: Binary form of emulation found.)
 
(7 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
: sorry, i dont remember too many details.
 
: sorry, i dont remember too many details.
 
which, alas, does not really add much to what little we know. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 04:16, 17 May 2023 (CEST)
 
which, alas, does not really add much to what little we know. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 04:16, 17 May 2023 (CEST)
 +
 +
== And from Bob Supnik ==
 +
 +
Bob's reply to my query:
 +
 +
: The KS11 created a PDP-10 (KA) style memory management system for the 11/20: that is, high-segment (instructions, in theory, and shareable, in theory) and low-segment (data). It did create a user vs monitor mode. It [did] support memory expansion, although that may have required a separate option, the MX11. It did not, IIRC, do IO mapping (IO scatter/gather). Because the high and low segments were physically contiguous, scatter/gather wasn't needed, only a "simple" relocation and bounds check on DMA transfers.
 +
 +
: The high/low segmentation wasn't automatic; that is, it didn't function like I/D space in official memory management. Rather, the software writer had to organize a program into two .psects - a "pure" instruction segment and an "impure" data segment. The stack was always impure; the 11/20 didn't have the MARK instruction to screw that up.
 +
 +
So still some important open questions, but this adds a bit more. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 04:41, 17 May 2023 (CEST)
 +
 +
: Maybe we should talk to Supnik again.  I believe this is part of his MIMIC simulator.  https://github.com/TYMCOM-X/169283.tape/blob/f58dedd26328b5c0ba3fd2a76f722194df41d933/oper/ks11s#L67-L85 [[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]]) 08:58, 29 February 2024 (CET)
 +
: Another file has the KS11 register set: https://github.com/TYMCOM-X/169283.tape/blob/f58dedd26328b5c0ba3fd2a76f722194df41d933/oper/ks11dd#L84-L91 [[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]]) 09:02, 29 February 2024 (CET)
 +
 +
:: Given how long ago he wrote that code (it's in PDP-10 assembler, so it long pre-dates SIMH), I'm not sure he will remember much more than he has already given us.
 +
:: Much more fruitful would be to find all the code of that simulator, and examine it - if the code to simulate the KS11 wasn't diked, it should be possible to re-create a programming manual for the KS11 from it. [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 09:33, 29 February 2024 (CET)
 +
 +
::: A binary file KS11LB.REL has been found, which presumably is a PDP-11 emulator with support for the KS11. [[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]]) 07:11, 5 March 2024 (CET)
 +
 +
== And my axe ==
 +
 +
Clem Cole wrote me:
 +
: One of my old friends from DEC that worked in CSS, validated our belief that KS11 is supposed to have been modeled after the KA10 MMU.
 +
and
 +
: we only have some information from UNIX2 and 3 when run on an 11/20 with a KS11 - what we don't know is how much physical memory was installed. We know it worked as a bus repeater, so it's possible it could have supported 18 bits of Unibus.
 +
[[User:Larsbrinkhoff|Larsbrinkhoff]] ([[User talk:Larsbrinkhoff|talk]]) 17:56, 8 June 2023‎
 +
 +
: Alas, no kernel source from V2 or V3 is still extant, AFAIK. Pity; that would let us reconstruct the KS11 a bit (like the [[ANTS/ISI IMP Interface]], which was re-constructed from the ELF driver). Maybe the newly-located PDP-11 simulator for the PDP-10 (above), found in TYMCOM-X material, might do the same? [[User:Jnc|Jnc]] ([[User talk:Jnc|talk]]) 09:33, 29 February 2024 (CET)

Latest revision as of 07:12, 5 March 2024

Ken Thompson's memory of it

Ken was nice enough to respond to a query asking for help from old-timers; here is his brief reply:

i did all the programming for it.
it was based on the pdp-10 memory map. it had 2 pages growing toward each other and some horse crap to let the har[d]ware multiply unit shine through.
sorry, i dont remember too many details.

which, alas, does not really add much to what little we know. Jnc (talk) 04:16, 17 May 2023 (CEST)

And from Bob Supnik

Bob's reply to my query:

The KS11 created a PDP-10 (KA) style memory management system for the 11/20: that is, high-segment (instructions, in theory, and shareable, in theory) and low-segment (data). It did create a user vs monitor mode. It [did] support memory expansion, although that may have required a separate option, the MX11. It did not, IIRC, do IO mapping (IO scatter/gather). Because the high and low segments were physically contiguous, scatter/gather wasn't needed, only a "simple" relocation and bounds check on DMA transfers.
The high/low segmentation wasn't automatic; that is, it didn't function like I/D space in official memory management. Rather, the software writer had to organize a program into two .psects - a "pure" instruction segment and an "impure" data segment. The stack was always impure; the 11/20 didn't have the MARK instruction to screw that up.

So still some important open questions, but this adds a bit more. Jnc (talk) 04:41, 17 May 2023 (CEST)

Maybe we should talk to Supnik again. I believe this is part of his MIMIC simulator. https://github.com/TYMCOM-X/169283.tape/blob/f58dedd26328b5c0ba3fd2a76f722194df41d933/oper/ks11s#L67-L85 Larsbrinkhoff (talk) 08:58, 29 February 2024 (CET)
Another file has the KS11 register set: https://github.com/TYMCOM-X/169283.tape/blob/f58dedd26328b5c0ba3fd2a76f722194df41d933/oper/ks11dd#L84-L91 Larsbrinkhoff (talk) 09:02, 29 February 2024 (CET)
Given how long ago he wrote that code (it's in PDP-10 assembler, so it long pre-dates SIMH), I'm not sure he will remember much more than he has already given us.
Much more fruitful would be to find all the code of that simulator, and examine it - if the code to simulate the KS11 wasn't diked, it should be possible to re-create a programming manual for the KS11 from it. Jnc (talk) 09:33, 29 February 2024 (CET)
A binary file KS11LB.REL has been found, which presumably is a PDP-11 emulator with support for the KS11. Larsbrinkhoff (talk) 07:11, 5 March 2024 (CET)

And my axe

Clem Cole wrote me:

One of my old friends from DEC that worked in CSS, validated our belief that KS11 is supposed to have been modeled after the KA10 MMU.

and

we only have some information from UNIX2 and 3 when run on an 11/20 with a KS11 - what we don't know is how much physical memory was installed. We know it worked as a bus repeater, so it's possible it could have supported 18 bits of Unibus.

Larsbrinkhoff (talk) 17:56, 8 June 2023‎

Alas, no kernel source from V2 or V3 is still extant, AFAIK. Pity; that would let us reconstruct the KS11 a bit (like the ANTS/ISI IMP Interface, which was re-constructed from the ELF driver). Maybe the newly-located PDP-11 simulator for the PDP-10 (above), found in TYMCOM-X material, might do the same? Jnc (talk) 09:33, 29 February 2024 (CET)