So I understand that in every computer, the Operating System, the BIOS, or both will determine the physical addresses of the hardware devices and then translate that into virtual addresses. What I don't get is....how? Is there a special piece of hard drive that contains those addresses? Is there a special assembly instruction or a special sequence of instructions that will return the address? I want to know the low level operations that make this possible. I understand that there are high level libraries written for this but I don't want that, I want to know exactly how it works, not how to make it work but how it works on a low level.

  • 1
    $\begingroup$ Do you know what an MMU is? $\endgroup$ – dkaeae Jan 2 '19 at 16:12
  • $\begingroup$ thank you very much. I just learned what it is. Can you elaborate further? $\endgroup$ – Curiosity101 Jan 8 '19 at 13:43
  • $\begingroup$ Well, the answer to your question is, basically, "the MMU does". $\endgroup$ – dkaeae Jan 8 '19 at 14:13
  • $\begingroup$ So....upon startup, the BIOS sends a message to the MMU to get the address of hardware. So how does it do this? Is there a special command in machine code, of which the Assembly equivalent would be like "GetKey x" or "GetMouse x" or "GetScreen x" which gets the address of the keyboard, mouse, and screen, and stores it in register X? Thank you very much for the help. $\endgroup$ – Curiosity101 Jan 9 '19 at 6:39

Your Answer

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

Browse other questions tagged or ask your own question.