Article View: comp.arch
Article #1613Re: DECSYSTEM 20
From: Dieter Muller
Date: Fri, 21 Jul 1989 00:56
Date: Fri, 21 Jul 1989 00:56
60 lines
3508 bytes
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!dworkinReferences:
<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