Article View: comp.arch
Article #12632Doubling the data bus ( was Re: Is 64 bits ...)
From: Mike Albaugh
Date: Wed, 11 Oct 1995 14:39
Date: Wed, 11 Oct 1995 14:39
47 lines
3163 bytes
3163 bytes
Gertjan Klein (gklein@xs4all.nl) wrote: : _address_ bus of 64 bits does not increase throughput at all. I can : think of no compelling reason for a 64-bit address bus, but I may feel : differently in a few years. A 64-bit _data_ bus, on the other hand, : _does_ double the throughput when compared to a 32-bit bus. Reality check time. The _best_ a 64-bit data bus can do is twice the throughput of an otherwise identical 32-bit data bus. This is one of those "Speed of light" issues (guaranteed not to exceed). Unless you do only memcpy() of your entire data space, you will not actually reach this figure. I am not one of those "bleeding edge" guys, but for over 20 years in the 8->16->32 bit transitions, the actual observed increase has been much closer to a "rule of thumb" I once read, that doubling the data-bus width gives a sqrt(2) increase in throughput. YMMV, of course, and it will depend a great deal on where you are coming from. For example, assembly code written for a 68000 showed less of an improvement than does C. Why? hypothesis: the assembly-language programmer was being careful to use 16-bit operations when they were appropriate, whereas the C programmer was porting net.code with 32-bit ints. All those useless cycles for fetching words containing only the sign-extension on the 68K were suddenly free :-) But even in the absence of gross stupidity, common programs do not, in my experience, actually use every byte of every word (or cache line) that they reference. Of course, I do mainly "embedded programming", all integer with lots of data-structure manipulation. I'm sure Dennis O'Connor could produce carefully cache-blocked code that used every bit it fetched for long periods of time. Such code would approach "double speed" on a "doubled bus", _iff_ it was main-memory-bandwidth-limited to begin with... : I guess that what all this proves is that the phrase "64-bit : machine" is nonsensical. 64-Bit by what definition? External or : internal bus, data or address, register size? Without this : information, "64-bit machine" tells you _nothing_. It tells you the marketroids are in firm control :-) I started out in this business on a machine with (potentially) a 96Kbit "word length", but at 11uSec per 7 bits, it was not exactly a speed demon :-) Mike | Mike Albaugh (albaugh@agames.com) Time Warner Interactive | (The entertainment company formerly known as Atari Games (_NOT_ Tramiel's)) | 675 Sycamore Dr. Milpitas, CA 95035 voice: (408)434-1709 | The opinions expressed are my own (Boy, are they ever)
Technical Details
Message-ID:
<1995Oct11.143936.16826@dms.agames.com>Path:
arc1-ca.pugleaf.net!uu4news.netcom.com!dms!albaughReferences:
<44sl81$hr1@murrow.corp.sgi.com> <44u6al$ml8@m1.cs.man.ac.uk> <458mrk$enl@inferno.mpx.com.au> <459kbl$qor@news.xs4all.nl>Show Full Headers
Complete Article Headers
Newsgroups: comp.arch,comp.lang.c Path: arc1-ca.pugleaf.net!uu4news.netcom.com!dms!albaugh From: albaugh@agames.com (Mike Albaugh) Subject: Doubling the data bus ( was Re: Is 64 bits ...) Message-ID: <1995Oct11.143936.16826@dms.agames.com> Followup-To: comp.arch,comp.lang.c Sender: news@dms.agames.com (Net News Admin) Organization: Time-Warner Interactive X-Newsreader: TIN [version 1.2 PL2] References: <44sl81$hr1@murrow.corp.sgi.com> <44u6al$ml8@m1.cs.man.ac.uk> <458mrk$enl@inferno.mpx.com.au> <459kbl$qor@news.xs4all.nl> Date: Wed, 11 Oct 1995 14:39:36 GMT