Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!sdd.hp.com!caen!umich!dgsi!paulh From: paulh@cimage.com (Paul Haas/1000000) Newsgroups: comp.arch Subject: Re: 64 bits--why stop there? Message-ID: <1990Sep2.220249.19420@cimage.com> Date: 2 Sep 90 22:02:49 GMT References: <6106@vanuata.cs.glasgow.ac.uk> <2437@crdos1.crd.ge.COM> <1990Aug31.174957.9612@cimage.com> <3656@goanna.cs.rmit.oz.au> Reply-To: paulh@dgsi.UUCP (Paul Haas/1000000) Organization: Cimage Corp, Ann Arbor, MI Lines: 44 In article <3656@goanna.cs.rmit.oz.au> ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes: >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. Bit address pointers seem like a new kind of pointer to me (-:. In C-speak the new type of pointer would be "pointer to bitfield", "pointer to bit", or "pointer to short short char" (look ma, no new keywords). If bit-addressing is used, it can happen in several orders: 1) Hardware and programmer interface at the same time. A computer vendor (MIPS, Sun, HP, IBM, DEC, etc...) decides that bit addressing is the wave of the future and designs it into their next generation architecture at considerable cost. They enhance C, FORTRAN, Cobol and/or Ada, so the programmers can actually take advantage of the bit addressing. 2) Hardware first. The computer vendor adds bit-addressing to the hardware, but doesn't provide an interface in their higher level languages. (Prime Computer used a variant of this in the seventies, where they didn't ever finish the hardware support, as Richard pointed out). The cost is still considerable, nothing is gained. 3) Programmer interface first. Someone (compiler maintainer for a computer vendor, independent compiler writer, anyone with the source for GCC, etc...) decides that bit addressing is the wave of the future and adds a way to use bit addressing to an existing compiler on existing hardware. This does imply multiple pointer types. The cost would be measured in person weeks. (Could it be done in a header file in C++ ?) Does anyone seriously believe that a sane computer vendor will create a new flavor of hardware in the nineties, with no evidence of any customers? --- I'm not a C++ expert, but it seems to me, that it would be possible to define bit pointers to add a bit type and pointer to bit