home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!sdd.hp.com!cs.utexas.edu!rutgers!igor.rutgers.edu!zodiac.rutgers.edu!leichter
- From: leichter@zodiac.rutgers.edu
- Newsgroups: comp.arch
- Subject: Re: Registerless processor
- Message-ID: <1992Nov20.184610.1@zodiac.rutgers.edu>
- Date: 20 Nov 92 23:46:10 GMT
- References: <1992Nov13.181654.11692@fcom.cc.utah.edu> <BxxwAq.G8C@xrtll.uucp> <DERAADT.92Nov19231103@newt.newt.cuc.ab.ca>
- Sender: news@igor.rutgers.edu
- Organization: Rutgers University Department of Computer Science
- Lines: 50
- Nntp-Posting-Host: pisces.rutgers.edu
-
- In article <DERAADT.92Nov19231103@newt.newt.cuc.ab.ca>, deraadt@newt.cuc.ab.ca
- (Theo de Raadt) writes:
- | In article <BxxwAq.G8C@xrtll.uucp> rsnider@xrtll.uucp (Richard Snider)
- | writes:
- | The PDP-10 could fall into this classification without too much arguing.
- | It had its set of 16 general purpose registers defined simply as the
- | first 16 locations in memory. Naturally, they implemented the the
- |
- | PDP11 registers map into the memory address space as well.
-
- No; this is false. The registers are NOT in the memory address space in the
- sense you are talking about.
-
- On SOME PDP-11 models, it was possible to access the registers via addresses
- in the I/O page. I/O page addresses do not correspond to "memory", and it is
- quite reasonable to have some of them "loop back" into the processor,
- providing access to internal processor state. That's just what happened in
- this case. Access to the registers via I/O space could be slow, was cumber-
- some, and was in general restricted to OS code (since normal user code could
- not be given access to I/O page addresses - that would give it complete
- control over every device in the system.)
-
- | There are two
- | banks of 8 registers, though which can be accessed depends on a bits in
- | the status register.
-
- As far as I know, no PDP-11 ever built had TWO banks of registers. The
- machines that had multiple banks had THREE of them, one each for user,
- supervisor, and kernel modes. (The earliest machines, if I remember right,
- didn't even implement two modes of operation. The machines that implemented
- multiple banks were late enough to also implement the three modes.
-
- Even the earliest multi-mode machines, however, had separate stack pointers
- for the two modes. The stack pointer was in a register (R6).
-
- |
- | I wonder how this was implimented? I guess that in the early PDP11's the
- | registers did not exist at all.
-
- You guess dead wrong.
-
- | But certainly they must have fixed that
- | in later versions. Was it possible to run programs out of the registers
- | on a newer PDP11?
-
- Running programs out of I/O space was generally unsupported, and that's where
- the registers appeared. It MIGHT work, though I'd guess not. If it DID work,
- it would be slower than running from real memory.
-
- -- Jerry
-