ORIGINAL QUESTION: (you can read this mess of a question, but I suggest jumping to the re-written question)
I see that there are a lot of places mentioning 16 EB RAM limitation... However, isn't a modern register 64 bit? and if so, 2^64 should point to the number of registers possible and since they are each 8 bytes, the actual limit should be 128 EB ((2^64)*8 bytes). Example: 32 bits go to one decoder of 32X(2^32) and the other 32 bits go to the other 32X(2^32) decoder in order to switch on the right wires in each decoder and therefore access a specific register of the (2^32)^2 registers available, each one having 64 bits of data (for the 64 bit bus to be saved).
Clearly I am either missing something or there's an odd chance that I am right and 16 EB is not really the limit...
EDIT:
This was written a long time ago, when I was teaching myself about RAM, I've stumbled across multiple sources that contradicted (at least in my mind, but I can't remember exactly why I got confused enough to write a question about it) and must have gotten confused.
I would like to re-clarify my original question rather than deleting so that it's more useful to future readers (but I don't need an answer, I've taught myself about this a few years ago and even got a Computer Science degree since then).
THE QUESTION: (written in a way that's more useful to other people)
When I was asking this question, I used the term "register" very loosely to refer to a memory location and assuming that RAM was word-addressable (hence the use of 8 bytes for a 64 bit architecture). If RAM was word-addressable, each memory location would hold 8 bytes and therefore 16E * 8 bytes = 128EB.
As most modern computers use byte-addressing, the actual size of each memory location would be 1 byte (8 bits) and therefore 16E * 1 byte = 16EB.
USEFUL NOTE:
Having byte-addressable RAM makes it easier to manage so that the difference between 32 bit and 64 bit isn't as big, but a call to RAM would still get the entire 64 bit word (by ignoring the last 3 bits of the address for the retrieval part, then if only 1 byte is needed, the other 7 bytes can be ignored).
Another useful note: in 64 bit addressing, usually only 40-52 bits are used, this leaves a sufficient amount of maximum RAM (between 1TB and 4PB).
No comments:
Post a Comment