64-bit Memory Still Limited?


G

Guest

I'm probably out of my league, but when did that ever stop someone from
posting.
(Yes, there is a question at the end of the post.)

Computers have three main buses:
Control Bus
Data Bus
Address Bus

Control Bus is 16 bits wide and tells the address bus what method of
communication is required (32-bit or 48-bit)for the device currently seeking
to control the data bus.

Data Bus is 64-bits wide, but typically cannot find anything to talk to
wider than 32-bits other than the main processor which for most systems is
also working in 32-bit mode.

Address Bus is 48-bits wide and typically operates in one of two modes:
32-bit or 48-bit. This method of operation depends on the Control Bus'
instructions. 32-bit for peripheral devices. 48-bit for the main processor.
In theory, 48-bit could access 2^48 addresses. (65,536 * 4GB) But, those
darned peripheral chips force the control bus to limit the address bus to
32-bit or 4GB.

Peripheral devices (video card, sound card, modem, etc.) are hard coded to
work in 32-bit. If your OS is 64-bit, then the drivers must be in 64-bit to
ensure information sent to the peripheral device is formatted in a manner it
can understand. Information from the device must be padded to 64-bit. And the
control bus must be told it is still a 32-bit device. If the device is
actually a 64-bit device (extremely rare) then the control bus is told it is
a 64-bit device and lets the address bus do it's thing.

But, 32-bit hardware changes how the address bus works. (Fixed with 64-bit
drivers.) The upper 16 bits of the address bus become a means of identifying
the device, mode of communication, etc. (essentially, paging mode for these
devices to allow more than 4GB of memory to be addressed) and shift data
transfer to a two iteration process (slowing things down.) Vendors understand
this and design hardware to gain the speed of the processor by memory-mapping
their hardware into RAM addresses so that the address bus does not shift to
two step mode when sending or retrieving information to and from that device.
This memory mapping reduces available RAM since the addresses cannot exist in
duplicate.

Based on this (probably flawed logic), it does not appear to me that
converting to 64-bit Vista will improve my memory situation unless I actually
install more than 4GB of memory to get above the peripheral devices memory
mapping "window." Until then, the memory mapping of the peripheral devices
still eats the RAM between 3GB and 4GB.

Is this correct?
Are 64-bit Vista users seeing 4 GB of RAM or the 3.2 GB "limit" with 4GB of
RAM installed?
 
Ad

Advertisements

C

Carey Frisch [MVP]

Discussions in Windows 64-Bit Computing:
http://windowshelp.microsoft.com/co...&cr=US&r=b7945a49-1582-4e99-b932-32fc064ebe5e

--
Carey Frisch
Microsoft MVP
Windows Shell/User

----------------------------------------------------------------------

I'm probably out of my league, but when did that ever stop someone from
posting.
(Yes, there is a question at the end of the post.)

Computers have three main buses:
Control Bus
Data Bus
Address Bus

Control Bus is 16 bits wide and tells the address bus what method of
communication is required (32-bit or 48-bit)for the device currently seeking
to control the data bus.

Data Bus is 64-bits wide, but typically cannot find anything to talk to
wider than 32-bits other than the main processor which for most systems is
also working in 32-bit mode.

Address Bus is 48-bits wide and typically operates in one of two modes:
32-bit or 48-bit. This method of operation depends on the Control Bus'
instructions. 32-bit for peripheral devices. 48-bit for the main processor.
In theory, 48-bit could access 2^48 addresses. (65,536 * 4GB) But, those
darned peripheral chips force the control bus to limit the address bus to
32-bit or 4GB.

Peripheral devices (video card, sound card, modem, etc.) are hard coded to
work in 32-bit. If your OS is 64-bit, then the drivers must be in 64-bit to
ensure information sent to the peripheral device is formatted in a manner it
can understand. Information from the device must be padded to 64-bit. And the
control bus must be told it is still a 32-bit device. If the device is
actually a 64-bit device (extremely rare) then the control bus is told it is
a 64-bit device and lets the address bus do it's thing.

But, 32-bit hardware changes how the address bus works. (Fixed with 64-bit
drivers.) The upper 16 bits of the address bus become a means of identifying
the device, mode of communication, etc. (essentially, paging mode for these
devices to allow more than 4GB of memory to be addressed) and shift data
transfer to a two iteration process (slowing things down.) Vendors understand
this and design hardware to gain the speed of the processor by memory-mapping
their hardware into RAM addresses so that the address bus does not shift to
two step mode when sending or retrieving information to and from that device.
This memory mapping reduces available RAM since the addresses cannot exist in
duplicate.

Based on this (probably flawed logic), it does not appear to me that
converting to 64-bit Vista will improve my memory situation unless I actually
install more than 4GB of memory to get above the peripheral devices memory
mapping "window." Until then, the memory mapping of the peripheral devices
still eats the RAM between 3GB and 4GB.

Is this correct?
Are 64-bit Vista users seeing 4 GB of RAM or the 3.2 GB "limit" with 4GB of
RAM installed?
 
G

Guest

Was there a particular post you were referring me to? (Since the link is
simply to the newsgroup.)
Or, were you trying to imply this question belongs in the 64-bit community?
(Your opinion.)

I had previously searched that group for all posts with "4GB" and did not
find an answer other than the BIOS being capable of being moved.

And, since the material in my post covers both 32-bit memory limitations and
64-bit operations, I believe it to belong in the General Discussion group.
(My opinion.)

Now that we shared opinions, did you have an answer to the original post?
 
S

Spirit

Even though your logic is slightly flawed your assumption is correct
in reality. You will get slightly more use of the 4 gig in 64 bit than
32 bit and the 64 bit at least "sees" all of the 4 gig. However much
of the 4 gig you can use in 64 bit is directly related to the peripherals
installed.

http://support.microsoft.com/kb/294418/en-us

Comparison of 32-bit and 64-bit memory architecture for 64-bit editions of Windows XP and Windows Server 2003

http://support.microsoft.com/kb/929605/en-us

The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed

http://support.microsoft.com/kb/929580/en-us

Windows Vista or Windows Server 2003 may report less memory than you expect
 
Ad

Advertisements

G

Guest

Excellent links!
Thanks.

Spirit said:
Even though your logic is slightly flawed your assumption is correct
in reality. You will get slightly more use of the 4 gig in 64 bit than
32 bit and the 64 bit at least "sees" all of the 4 gig. However much
of the 4 gig you can use in 64 bit is directly related to the peripherals
installed.

http://support.microsoft.com/kb/294418/en-us

Comparison of 32-bit and 64-bit memory architecture for 64-bit editions of Windows XP and Windows Server 2003

http://support.microsoft.com/kb/929605/en-us

The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed

http://support.microsoft.com/kb/929580/en-us

Windows Vista or Windows Server 2003 may report less memory than you expect
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top