On 12/29/07, Viktor Pracht <[EMAIL PROTECTED]> wrote: > Timothy Normand Miller wrote: > > > So we have a 1GiB address space that is [29:0]. For 32-bit words, > > that's [29:2] or [27:0]. For 64-bit, that's [29:4] or [25:0]. > > We drop only one bit when going from 32 to 64. It's [29:3], not [29:4]. > > Why are all buses of the form [high-low:0]? Can't we use [high:low] > throughout? I think it would make this stuff a lot easier and therefore less > error-prone. E. g. you wouldn't wonder whether the XP10 already dropped two > bits, you would see it in the port definitions. >
Well, it has partly to do with the fact that when I'm designing a module in isolation, I'm thinking about words from its perspective. So the memory controller works in 64-bit words; I'm not thinking about PCI at the time, so I just given it [n:0] addresses. Also, we don't really work in bytes. The drawing engine will understand only 32-bit pixels. It makes little sense to carry around [n:2] addresses everywhere in it. My approach has been to work with the natural size of a given block and then do some explicit modification to the address scale when connecting together blocks that work with different address spaces. Those could be documented more clearly. Also, it might make sense to work with [n:2] and [n:3] addresses in the bridge, but once we hand an address off to the arbiter, it's in its own world. -- Timothy Normand Miller http://www.cse.ohio-state.edu/~millerti Open Graphics Project _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
