🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #1613

Re: DECSYSTEM 20

#1613
From: Dieter Muller
Date: Fri, 21 Jul 1989 00:56
60 lines
3508 bytes
In article <4173@ima.ima.isc.com> johnl@ima (John R. Levine) writes:
>In article <3256@wpi.wpi.edu> jhallen@wpi.wpi.edu (Joseph H Allen) writes:
>>A question for those old diehard dec fans...  We (WPI) used to have a
>>DECSYSTEM 20.  One interesting thing about the DEC 20 (and I guess DEC 10 and
>>pdp-6 as well) is that the registers are the first 8 or 16 locations in the
>>main memory map.  Does anyone know if code can be run in the registers?  And
>>if so, does it execute any faster than if it was in normal memory?
>
>On the PDP-6 and the earlier PDP-10s, running code in the registers was
>considerably faster than from core.  Fitting your inner loop into the registers
>was a pleasant intellectual exercise.  On the '20 there was a cache so running
>from the registers no longer helped.

[ discussing '20s here ]

That's assuming, of course, that your cache was working at the time.  The
way the timing worked out was that _executing_ out of cache was the fastest
(I want to say ~600 ns, but my Processor Handbook's at home at the moment;
 let me know if you're really interested in the numbers), registers was
next to fastest (~750 ns), then MOS memory (~850 ns), then core (1024 ns).

Putting code in the registers was slower than cache, because register values
didn't go though the cache (separate data path).  But, you couldn't page
fault on a register, so you could be much more compute-bound if you wanted.
Friend of mine hacked up a Mandelbrot program whose kernel fit in the
registers.  It was *real* noticeable when that puppy got fired up.

BTW, there were 16 (decimal) registers, numbered 0-17 (octal).  DEC had
this thing about octal.

One of the more amusing `features' of the early processors was that the
indirect bit was handled purely in microcode, and wasn't interruptable.
Translation:  a indirection loop meant you got to power cycle the CPU
to get it back.  There was new version of microcode distributed to fix
this eventually.  Made for a few interesting nights when the MACRO-20
class had a project due.

>The PDP-6 architecture was an excellent one for its day.  It was both easy to
>program in assembler and easy to compile code for.

My favorite language was and still is MACRO-20.  But then, I kinda liked
TECO ;-)

>They put a
>truly stupendous addressing crock into the DEC-20 but it was too incompatible
>with the regular addressing, and by then it was clear that 32-bit byte
>addressed machines, e.g. the Vax, would dominate.

Not much worse than the contortions involved in some of the PDP-11 segment-
ation schemes.  And after all, the segments themselves were quite reasonably
sized (18 bits worth of 36-bit words was a fair amount of address space back
in those days).  To think there are Unix kernels these days that wouldn't
fit into the memory the -20 I played on had....

Dieter

-- 
I'm a killer, and I'm a clown -- Alice Cooper, 1971
Ha ha ha ha ha ha ha ha ha ha!  What a day! -- the Joker, 1989
boulder!stan!dworkin  dworkin%stan@boulder.colorado.edu  dworkin@solbourne.com
Technical Details
Message-ID: <1698@salgado.Solbourne.COM>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ncar!boulder!stan!dworkin
References: <3256@wpi.wpi.edu> <4173@ima.ima.isc.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ncar!boulder!stan!dworkin
From: dworkin@Solbourne.COM (Dieter Muller)
Newsgroups: comp.arch
Subject: Re: DECSYSTEM 20
Message-ID: <1698@salgado.Solbourne.COM>
Date: 21 Jul 89 00:56:48 GMT
References: <3256@wpi.wpi.edu> <4173@ima.ima.isc.com>
Reply-To: dworkin@Solbourne.com (Dieter Muller)
Organization: Solbourne Computer Inc., Longmont, Colorado
Lines: 60