0
$\begingroup$

I understand that a 64-bit processor can hold a 64-bit long address and that a 64-bit address can represent $2^{64}$ different values. But I don't understand why that processor can address $2^{64}$ different locations in memory at one time and thus process billions of billions of GB at a time (theoretically).

I haven't found a satisfying answer on google. On google they just explain that a 64-bit address can represent $2^{64}$ different values and thus it equates to the processor being able to process $2^{64}$ values (or memory locations) at a single time, though I am interested in as much detail as possible regarding how exactly that looks like.

64-bit address means for me that this address can have one of $2^{64}$ possible values and not that it can process $2^{64}$ at a time.

$\endgroup$
2
$\begingroup$

It's not clear where you found this claim so it's hard to tell exactly what it's supposed to mean.

But, obviously, no, the CPU can't access every memory location simultaneously. Each CPU instruction can only access some fixed small number of memory locations at a time, and only a fixed small number of instructions can be executing simultaneously.

$\endgroup$
  • $\begingroup$ Things I read: "64 bit processors can address 9,223,372,036,854,775,807 bits, making the memory available to that CPU practically limitless" It was said 32-bit processors could only handle up to 4GB of rams, while 64-bits could handle over billions of GBs. If in fact a processor can only access a small number of memory locations at a time, what do they mean with the practically limitless memory available for 64-bit processors? Probably I'm just stuck. $\endgroup$ – Strict Nov 4 '18 at 15:47
  • $\begingroup$ I'd feel quite willing to educate the person who wrote this. The nine billion billion bits is nonsense. 32 bit processor only handling up to 4 GB of RAM is wrong. And the 64 bit processor in a cheap laptop likely can only use 16 GB of RAM. The number if bits in an address isn't the only thing limiting the amount of RAM that can be used. $\endgroup$ – gnasher729 Nov 4 '18 at 16:04
  • 3
    $\begingroup$ @Strict You can only read a small number of book pages at a time. Yet there is a practically limitless number of books available for you to read. There is no contradiction here. $\endgroup$ – David Richerby Nov 4 '18 at 16:10
  • $\begingroup$ The same would be true for 32-bit processors. Having a limitless number of books available but only reading a small amount at a time. Hence I don't quite understand all the definition that talk about 32bit only being able to handle up to 4GB of RAM while 64bit would handle billions of times more. Though @gnasher729 pointed out that this is actually nonsense. $\endgroup$ – Strict Nov 4 '18 at 16:53
  • 3
    $\begingroup$ It's referring to the number of different memory locations that you can address with that many bits. $\endgroup$ – David Richerby Nov 4 '18 at 17:14
0
$\begingroup$

Let us use an analogy hear we know that phone number we use is 10 digits hence we can have $10^{10}$ unique phone numbers or combinations hear, but you may call only a few numbers at a time. similarly if you have 32 bit address lines you can address up to $2^{32}$ memory locations & each memory location can store one byte(8bits)of data, hence total memory accessed is 4GB(4 giga bytes). but if the processor is 32 bit doesn't mean that it's address bus is 32 bit, it might have more address busses ,for example take processor which is 32 bit. It's address maybe 64 bit ,the address is stored in two 32 bit registers, while addressing they combine them to enhance address capability to $2^{64}B$. Note:- 8 bits=1byte(1B),1024B($2^{10}B$)=1KB,1024KB($2^{20}B$)=1MB,1024MB($2^{30}B$)=1GB hence$2^{32}B=2^2*2^{30}B=4GB$,so you can find out what $2^{64}$is.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.