Sparce memory VS Dense in AXP
Paul Caffrey (caffrey@merry.salem.ge.com)
Thu, 16 Nov 1995 20:44:23 -0500 (EST)
On 14-Nov-95 Jay A Estabrook wrote:
>
> >
> > Well, not *strictly* true; one *could* pop an ISA S3-based card into a
> > JENSEN (*many* #9GXE's were shipped on JENSEN with NT). Then all that
> > would be necessary would be to rebuild the XF86_S3 server with the
> > following restrictions:
> >
> > 1. the "libc" it gets linked with would have to do the "Jensen swizzle",
> > for I/O space (register) accesses (ie 7-bit shift, not 5...). Not a
> > big problem, as it'd be invisible to the server code.
> >
> > 2. the server would need to be instructed to make *NO* direct memory
> > accesses, which fortunately the S3 server running the 928 chipset
> > *can* live without. This is because the JENSEN does *NOT* support
> > DENSE space memory accesses, which is the only thing the server knows
> > about (actually it thinks its looking at normal memory :-).
> > Changing the server to do SPARSE space
> > accesses would force the programmer to do *UNSPEAKABLE* things to the
> > code. I know; I've been there, and done that (or at least watched it
> > done... :-).
> >
>
Robin ASKS?
> Do the other axp models have these restrictions? Some of the newer
> pci graphics cards require a direct memory model to access the
> framebuffer.
>
> robin (robin@XFree86.Org)
>
For all that are interested, The address swizzling is the method by which all
ISA/EISA bus accesses are done on the Jensen system. What this means is that
the ISA bus is shifted up several bits ( The SWIZZLE Factor ) with regards to
the ALPHA cpu bus. The lower bits are used for byte enables. Memory is available
only as longword accesses. I/O space access is similar.
On newer machines ( 1000, 2100, 2000, 200, 400 ) Digital made an area of memory
in the memory map available as DENSE memory. I ran a few tests on this "DENSE"
memory in my arcnet driver that I am developing on OpenVMS. On both machines
that I ran my tests on ( a 1000 system and a 2100 SMP system ) the dense memory
accesses were slower by up to a factor of 10. I expected that a memcpy from a
region of dense memory would be quicker but alas!
It is relatively simple to make calls to access the swizzled memory appear like
contiguous accesses. In the case of my driver I implimented simple calls
to block move data to/from ISA/EISA memory.
Regards
Paul Caffrey