CPU有两种方法访问IO设备
都是基于PMIO的,Port Mapped I/O
- 给IO总线上的寄存器编号,CPU向IO总线请求写入或读取数据 (x86)
- 给特定的内存地址对应上目标IO设备,当CPU读取这段内存的时候,就会把访问转发给IO设备。
PCI总线
PCI总线也是IO设备
硬盘、GPU、网卡都直接连在PCI总线上
还有其他总线也挂在PCI总线上,称为桥接
比如USB总线
在Windows上使用wmic path win32_pnpentity get caption /format:list
查看PCI总线上的设备,
Linux上使用lspci
中断控制器 A PIC
有些英特尔的处理器直接把中断控制器集成在CPU里了