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)

Reply via email to