Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!wuarchive!usc!snorkelwacker!paperboy!meissner From: meissner@osf.org (Michael Meissner) Newsgroups: comp.arch Subject: Re: 64 bits--why stop there? Message-ID: Date: 27 Aug 90 14:52:32 GMT References: <6106@vanuata.cs.glasgow.ac.uk> <2437@crdos1.crd.ge.COM> <3259@skye.ed.ac.uk> <1990Aug23.015636.506@portia.Stanford.EDU> Sender: news@OSF.ORG Organization: Open Software Foundation Lines: 53 In-reply-to: kevinw@portia.Stanford.EDU's message of 23 Aug 90 01:56:36 GMT In article <1990Aug23.015636.506@portia.Stanford.EDU> kevinw@portia.Stanford.EDU (Kevin Rudd) writes: | In article <3259@skye.ed.ac.uk> richard@aiai.UUCP (Richard Tobin) writes: | >In article <2437@crdos1.crd.ge.COM> davidsen@crdos1.crd.ge.com (bill davidsen) writes: | >> While we're all talking about 64 bits, where is it writ' that word | >>size shall be a power of two bits? Outside of the prevalence of the | >>eight bit byte, is there a good technical reason for it? | > | >As you note, the existence of eight bit bytes makes a difference. A | >risc-like machine on which the number of bytes (by which I mean the | >smallest addressable unit) in a word was not a power of two would be | >very strange. How big would the pages be? What would the alignment | >restrictions be? ("doubles must start at an address which is a multiple | >of six"?). | | And who says that machines must have byte addressable memory? There would | then be no need for alignment restrictions based on bytes. Of course, as has | been mentioned already, machines with odd sized sub-words (most common | is the byte) can have problems with SW conversion. But if there is no address | access for a byte except through instructions (such as "get byte n" or | "set byte n") then this shouldn't be a problem. Page size is only a | problem in terms of mapping the machine page size in words into a | backing store block size. Since most peripherals are byte or word oriented | it seems that this is where the real problem would lie. But if there is | a reason for such a machine in a major marketplace, a major manufacturer like | could certainly design custom hardware to match this design. But | there'd better be a *good* reason for having such an oddball scheme. For | most applications it doesn't seem too practical... At least, considering | the marketplace. Besides, who buys single source, anyway... 386+ and 68k | excepted... Obviously you've never had the 'fun' of porting to a machine which different types of pointers. I supported a C compiler on such a machine for 7 years (the Data General MV/Eclipse computers), and if I never have to see such a beast again, it will be too soon. C programmers are notorious for thinking that all pointers look the same. I had to put in several options to either flag when one type of pointer was used in the wrong context, or silently add extra instructions so that programmers who were too lazy to type things correctly could get their programs to work. IMHO, the 64 bit machine should represent all addresses in bits, not bytes (and yes this will probably break those programs which do int arithmetic on pointers -- but those are probably in the miniority). Before people lynch me, let me explain, that I think that the addresses that are not appropriately aligned should trap. -- Michael Meissner email: meissner@osf.org phone: 617-621-8861 Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142 Do apple growers tell their kids money doesn't grow on bushes?