Thread: RAM Issue
View Single Post
Old 06-23-2007   #9 (permalink)
Andrew McNab


 
 

Re: RAM Issue

Steve,

If you've done a bit of assembly programming or even C programming, all
memory addresses used for programs are 100% RAM. Hardware interfaces are done
through hardware interrupts or CPU registers and stack pointers. They can
share the same address from time to time but the CPU can differentiate
between RAM, I/O, stack and ALU defined by a previous instruction loaded into
the CPU. The full 32-bit address is loaded into a register when addressing
memory. There is no debate about that. 32 bits can address 4096MB of RAM.

You are correct in the concept of the video card requiring static memory
mapping. This is why the first 16MB of RAM is reserved for the OS. Other
reserved memory addresses like 0x00 are used for NULL pointer references.
Regardless of how much memory the OS needs reserved for operation, 4GB of RAM
are still addressable. The fact still remains that my 32-bit XP box has 4GB
of memory registered with the OS and working fine. Even though Vista
implements Pre-Fetching, this is still just reserved RAM to improve the
performance of reguarly used applications.

In terms of video card memory, i've been programming 3D video card
interfaces since the Voodoo 2 came out using the Glide API. I've also used
OpenGL and Direct3D. All texture and pipeline memory is addressed through the
hardware interrupt. Serialised data is sent to the video card and it manages
memory from there. Not the OS. Textures are serialised to the video card and
memory is allocated for the mip-map/bump-map at the video card end of
computations.

Having studied 4 years of Digital Systems as part of my engineering degree,
it might appear that i'm not really listening to what other posters have to
say. It's more a situation that the replies didn't take all the simple facts
stated.

Andrew
My System SpecsSystem Spec