M
Mark
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.)
[Note: Also posted in General Discussion.]
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?
posting. (Yes, there is a question at the end of the post.)
[Note: Also posted in General Discussion.]
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?