Scorpion0x17 wrote:
Bertster7 wrote:
Scorpion0x17 wrote:
Bertster7 wrote:
That's just not true.
The CPU must be able to identify each individual memory location, to do this each location must have a unique address. The fact that the OS and the BIOS have access to the full 4GB of physical RAM is completely irrelevant, since the CPU can't see it - only the available logical addresses, which includes the IO addressing (since the CPU needs to be able to access IO devices and memory). Therefore the total amount of memory available is 4GB of logical memory. Any virtual memory is simply handled through a page management system - with no pages exceeding the maximum addressable size by the CPU. The OS can't do anything without the CPU, so if the CPU can't see it - it isn't there.
You can put 4GB of physical RAM in a 32-bit system, it just won't all be used. Some of the physical RAM will be unavailable.
Will you please haul your ass into the 21st century!
Intel386! 1985! "A 32-bit address bus"! "supports up to 4-GBytes of physical memory"!
I rest my case.
Well that's pretty damned obvious. The CPU provides an offset which the paging unit uses to generate the address in physial memory - BUT the thing that makes me (and a lot of other people) refer to it as logical memory, is that some of that space in physical memory (after address allocation by the paging unit) is taken up by IO devices controlled by the BIOS. The BIOS reserves space in memory for PCI/AGP etc. -
after address translation by the paging unit this space is the reason the OS won't report 4GB of memory present. This is why I'm refering to it as logical memory - because it includes IO address space, hence it is logical memory.
I know technically you CAN support more memory than that within 32-bit systems (using PAE and AWE and stuff - but it's a bit slow), but I don't think Vista does that - why bother when there's a 64-bit version?
Please re-read what I posted - I specifically used the term
physical memory for exactly that reason - physical memory is physical memory no matter what it's used for.
You are correct in saying that the OS and apps will not have access to the full amount, but that is not the same saying that a 32bit system (whether it's running Vista, XP, or any older 32bit version of windows (and also irrespective of the processor (as long as it is a 32bit processor)) does not support 4GB of
physical RAM.
Which is what I stated in the first place.
(oh and your claim that the CPU can't see the whole 4GB, because the BIOS allocates some for IO addressing, is also wrong. The BIOS can do
nothing without the CPU - the BIOS is just machine code that runs on the CPU, it's not a seperate processor - therefore it is actually the CPU that
does the IO memory reservation and it is the CPU that sees the full 4GB)
I mention the IO reservation being done by the BIOS because the configuration set in the BIOS (editing a load of machine code, like you say) determines how much IO address space is used, turning things off will increase the RAM available, therefore it is, as I said, controlled by the BIOS. Nothing to do with it being a seperate processor, it is the instructions that control it - not any action taken.
If 4GB of memory is not present in a system the IO addressing will not take up any of the available physical memory, so you don't lose anything. If you are at the 4GB limit, you start eating into your memory with IO. The memory isn't being used for IO, just the address apace - making some of the physical RAM inaccessible.
Hmmm..... Some address space being used for purposes other than addressing physical memory, combined with address space for accessing physical memory - sounds an awful lot like logical memory to me - practically a textbook definition.
If the physical memory is all so supported and accessible, why isn't it addressable through the OS? Why can't some of the physical memory be used? Oh, that's right, some of the addresses are asigned to IO. Therefore 4GB of physical memory is not properly supported
You're just being fooled by Intel's marketing ploys, using the most favourable sounding language. It
can address 4GB of physical memory, it just doesn't.
Scorpion0x17 wrote:
You are correct in saying that the OS and apps will not have access to the full amount, but that is not the same saying that a 32bit system (whether it's running Vista, XP, or any older 32bit version of windows (and also irrespective of the processor (as long as it is a 32bit processor)) does not support 4GB of physical RAM
Ummmm.....
Yes it is. Like I said earlier, you can put 4GB in, you just can't use it all. That's not being properly supported.
Any other component within a computer system that did not provide full functionality in a particular environment cannot be claimed to be properly supported. Nor can 4GB of memory.
What is supported is 4GB of logical memory. IO space + available physical memory space.