Path: utzoo!attcan!uunet!snorkelwacker!usc!samsung!rex!uflorida!mephisto!udel!nelson
From: nelson@udel.EDU (Mark Nelson)
Newsgroups: comp.arch
Subject: Re: 64-bit addresses
Message-ID: <10795@snow-white.udel.EDU>
Date: 11 Feb 90 20:26:47 GMT
References: <9708@spool.cs.wisc.edu> <20270@cfctech.cfc.com> <11112@encore.Encore.COM>
Reply-To: nelson@udel.edu (Mark Nelson)
Organization: University of Delaware
Lines: 38
Xref: dummy dummy:1
X-OldUsenet-Modified: added Xref
In article <11112@encore.Encore.COM> jkenton@pinocchio.UUCP (Jeff Kenton) writes:
>In article <9708@spool.cs.wisc.edu> shekita@provolone.cs.wisc.edu (E Shekita) writes:
>>Could any of you hardware designers in the trenches out there
>>tell me whether 64-bit addresses will become reality anytime soon.
>>If so, how soon. If not, why... And how about in the distant future, say,
>>10 years, which is virtually an eternity in hardware design.
>>
>
>Here's a guess from the land of software, related to a discussion I had
>yesterday with a friend (thanks Carl):
>
> o When the change comes, it will be to 64 bits -- not 40, 48 or 60.
>
I would personally prefer a 64 bit word size with either straight
48 bit addresses or else 64 bit addresses with the top 16 bits used
as a segment number. Why? Because it is very hard to fit
64 bits of address into a 64 bit instruction and still have room
for e.g. the opcode. I'm a real proponent of fixed size instructions,
and I don't think two instructions should be required just to load
an address.
Actually, I'll go further and say I'm not sure that a 64 bit machine
really needs to fully support 64 bit integers. There should definitely
be 64 bit add/subtract, boolean, shifts, and anything else which scales
linearly with word size, but I think the largest integer multiply
supported need only be 48x48 -> 96, with the corresponding divide
96/48 -> 48,48. A 48 bit multiplier is huge, let alone a 64 bit,
and this would let the floating point multiplier handle integer
multiplies (assuming a 16 bit exponent 48 bit fraction floating
point representation).
Does anyone have an application which frequently multiplies 49-64
bit integers? I'm not talking about indefinite precision arithmetic,
but about numbers of exactly that many bits. Please let me know.
Of course, I'm not an electrical engineer, and I'm sure that device
densities will probably get to the point where nobody worries about
space for an extra 64x64 multiplier.