3 ms·
Two ways. The first is IO mapped IO, which is what the x86 supports with the IN and OUT instructions. All this really is is a MOV to a different "address" spa
by spc476 10y ago
Two ways. The first is IO mapped IO, which is what the x86 supports with the IN and OUT instructions. All this really is is a MOV to a different "address" space (16 bits of addressing). The second is memory mapped IO, in which hardware is mapped to the addressing space of the CPU (Motorola 68K uses this format). A CPU that allows IO mapped IO can also do memory mapped IO (it's not precluded).
- andars 10y agoQuestion I've been wondering about for a while: where does PCI fall into this? Do modern x86 PC systems still use in & out at all?
- detaro 10y agoPCI did for discovery, and could use it for device access (but often also memory-mapped). More info from the osdev wiki, which btw is a great place if you want to know about low-level initialization, the boot process etc. http://wiki.osdev.org/PCI http://wiki.osdev.org/PCI
- en4bz 10y agoI found this article to be helpful on how PCIe interacts with the CPU: http://xillybus.com/tutorials/pci-express-tlp-pcie-primer-tutorial-guide-1 http://xillybus.com/tutorials/pci-express-tlp-pcie-primer-tu...
- Ericson2314 10y agoDon't forget DMA is different from both of those too.