# How can a 64-bit processor address 2^64 different memory locations at a time?

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.

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.