0
My question is simple. On a 32 bits architecture, the maximum RAM is 4GB because the cpu can handle 32 bits addresses. So 2^32 is 4096. My question is why the unit is GB instead of Gb??. we are talking about bits. Thanks for your response.
0
My question is simple. On a 32 bits architecture, the maximum RAM is 4GB because the cpu can handle 32 bits addresses. So 2^32 is 4096. My question is why the unit is GB instead of Gb??. we are talking about bits. Thanks for your response.
2
My question is why the unit is GB instead of Gb?
Each addressable location contains one byte.
If you can access $X bytes then the maxuimum addressable memory is $X bytes.
(Those 8/16/32/64/10 (10 on some old IBM Mainframes!) bits are read from a single address!)
An address doesn't "contain" a byte. Each addressable location is a byte. But addresses don't "contain" the data any more than a house number contains the house. To store a datum that needs more than one byte you use successive byte locations. If you, for example, address a 32-bit integer on at address 0x10000, the integer occupies bytes at addresses 0x10000 through 0x10003. – Jamie Hanrahan – 2016-10-03T04:40:14.847
You are right. I kept my answer very short, but making it better with only one word is a good thing. – Hennes – 2016-10-03T04:46:37.477
2
Normally, a processor with a 32-bit architecture can only address 4 GiB of physical memory at any given time (232 = 4294967296). Each byte of physical memory has its own address.
However, there are ways to expand the address space, such as PAE. Although this enables the processor to address more than 4 GiB of memory, applications running on a 32-bit processor use 32-bit variables to access data. This means that each application still cannot access more than 4 GiB of memory.
+1 for the reference to PAE and how this allows the processor to address more than 4 GiB, and I wish I could give you another 99 points. – ChrisInEdmonton – 2016-10-03T18:54:39.330
1
To determine the ammount of memory that can be addressed we need to know three things.
0
Memory is addressed by byte number, not bit number. This is a compromise, with 8 bits the minimum size of a machine instruction.
It could be addressed by 32-bit words and thereby handle 16GB of memory, but then machine instructions would be at least 32 bits, program code would be much larger and text handling would require complex and inefficient processing, unless characters were stored as one per word.
Analogously, discs are addressed by 512-byte sector number, giving the partition size limit of 2TB on disc systems with 32-bit addressing.
Thanks very much for your comment. It's good to find people with real knowledge. The address is in bits according to this diagram. Can you explain it? https://www.google.com/search?q=paging+segmentation&client=firefox-b&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjS5t3r5rrPAhXHS5AKHWKDDakQ_AUICCgB&biw=1920&bih=978#imgrc=wdel9nRYQHdRDM%3A
– John Doe – 2016-10-02T00:03:08.873@JohnDoe - That reference is talking about the bits in the address, not the data. – AFH – 2016-10-02T00:08:14.787
2There is no partition size limit of 2 TB on 32-bit systems, unless the file system chooses to implement that. The 2 TB limit you're thinking of is due to the size of the entries in a partition table on an MFT-partitioned disk. However a disk using GPT partitioning can theoretically implement partitions of up to 2^64 sectors. 32-bit systems are perfectly capable of handling this. It is just a tiny bit of programming to deal with 64-integers even on a machine with 32-bit integer registers. – Jamie Hanrahan – 2016-10-03T04:35:53.367
@JamieHanrahan - Sorry. You are right of course: what I should have said was 32-bit disc systems, ie discs with a 32-bit addressing structure. Unfortunate phrasing - I stand corrected. – AFH – 2016-10-03T12:34:36.307
Ah... for want of a word! :) – Jamie Hanrahan – 2016-10-03T22:33:59.200
3
Possible duplicate of What is the max. capacity of RAM in 32-bit machine? Why it is not 16GB?
– DavidPostill – 2016-10-01T23:17:26.6034"So 2^32 is 4096." No. 2^32=4294967296. 4096=2^12. – Kamil Maciorowski – 2016-10-01T23:20:06.883
we could easilly call 32bit systems 4B systems if we wanted to. but we don't, because system byte size varies between hardware architectures (yes there are systems with 7-bit and 10-bit bytes historically). What a platform's bittedness really tells us is the "Word Size" for the CPU, which defines things like the size of registers, the width of buses, and the size of instruction operands. It is the width of the bus to and the register used by the MAR/MDR components of the memory management system that determine the max size of a memory address. – Frank Thomas – 2016-10-01T23:37:37.163