Reputation: 1696
As far as I know, if CPU wants to read some data, say 1 byte, either from RAM or some peripheral like a hard drive, it'll write the address onto its address buses and output read signal via its control bus (assuming that a cache missing occurs), and then wait for the data to come via the data bus. It's Northbridge that needs to tell that the address it's received from CPU represents a location in RAM or a peripheral so as to forward the read request to the proper bus --- RAM controller or PCI bus. CPU itself doesn't know about this, though it might feel that it has to wait a longer time for the data to come from some addresses than from other addresses.
Am I right?
Upvotes: 0
Views: 193
Reputation: 1747
The CPU only uses addresses...the addresses themselves decide whether it is an IO address or memory address based on some bits in the address.
Upvotes: 1