title: How are the sizes of pointers determined in computer systems? Via virtual or physical addresses?
body: <p>I have an exam tomorrow on virtual memory address translation and I'm rather confused on this topic. I know the CPU will generate a virtual address to then access a physical address. So if we have a system with 32 bit virtual addresses, and 64 bit physical addresses, then the pointers for user level processes I'm guessing will be 8 bytes.
  My logic is because the virtual address is being translated to the physical address, so this number will always be coming from the physical address. </p>