How is hardware mapped to memory?
Posted: Sat Sep 01, 2012 7:15 pm
I've been trying to understand hardware programming for some time and I've reached a dead-end.
From what I know, hardware looks like memory addresses to processors.
I have several questions:
1. How are the memory addresses corresponding to the different hardware devices established?
2. How many memory addresses are allocated per device?
3. What do the memory addresses correspond to inside the device?
4. Where can I get information about how to talk to devices through their memory addresses?
5. What is the role of the BIOS in all of this?
I've read a lot of material on processors/hardware but nothing answered these questions. I basically want to know what hardware looks like to assembly and to eventually write a program that runs directly on bare metal without the OS.
Any book recommendations that you think will point me to the right direction would be highly appreciated.
From what I know, hardware looks like memory addresses to processors.
I have several questions:
1. How are the memory addresses corresponding to the different hardware devices established?
2. How many memory addresses are allocated per device?
3. What do the memory addresses correspond to inside the device?
4. Where can I get information about how to talk to devices through their memory addresses?
5. What is the role of the BIOS in all of this?
I've read a lot of material on processors/hardware but nothing answered these questions. I basically want to know what hardware looks like to assembly and to eventually write a program that runs directly on bare metal without the OS.
Any book recommendations that you think will point me to the right direction would be highly appreciated.