Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!samsung!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.arch Subject: Re: 64 bits--why stop there? Message-ID: <3656@goanna.cs.rmit.oz.au> Date: 2 Sep 90 04:52:57 GMT References: <6106@vanuata.cs.glasgow.ac.uk> <2437@crdos1.crd.ge.COM> <1990Aug31.174957.9612@cimage.com> Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 35 In article <1990Aug31.174957.9612@cimage.com>, paulh@cimage.com (Paul Haas/1000000) writes: > Adding bit pointers to C compilers would be easy on machines which > already have multiple incompatible pointer types. Bit-pointers would > be just one more type. On nicer machines, you have to teach the > compiler about multiple pointer types Not at all. Nobody was proposing a new kind of pointer. The suggestion was to have *one* kind of address *only*, namely a bit address. Only the size of addressible units was to change. > I used to use PR1ME 50 series processors from about 1979 to about > 1985. They had many pointer formats, including a bit pointer. It was > not supported by any of their compilers except as a character pointer. Forget the *compilers*. The point was that bit pointers weren't supported by the *hardware*. The 3-word pointer format had a 4-bit "bit number within word" field, but there were no instructions to fetch or store bits, and there were no instructions to do arithmetic on these pointers in bit units (you _could_ fetch and store characters and adjust by characters). Then there were fun things like this: you could only fetch and store characters through these pointers when they were in certain special registers, and one of those registers overlapped the double-precision floating-point register. (I wondered for a long time how they managed to fit 67 bits of pointer into a 64-bit register until it dawned on me that they dropped the 3 bit-within-byte bits.) The main point of character pointers in the 50 series was to support COBOL editing. Didn't the Burroughs 1700/1800 machines support bit-level addressing? -- You can lie with statistics ... but not to a statistician.