computer organization and design
1.基于X86系统的IO访问,OS提供了统一抽象的访问机制,程序员
是无法直接访问IO的。
IO的特点在于复杂多样性,体现在不同应用对dependant(可靠性)
latency,throughput要求的多样性。程序对IO的访问抽象为OS以命令的方式
访问IO,有两种方式寻址IO,一个是memory-mapped的IO;一种是IO指令。
同时IO和CPU交互的方式有两种,一种是poling;一种interruption
2. IO和存储器(内存)之间大数据量访问用DMA。
DMA会面临系统中两个问题:一个是虚拟地址问题,DMA是支持虚拟地址还是物理地址?
支持虚拟地址,需要DMA包含虚拟地址到物理地址的映射机制;支持物理地址,当虚拟地址跨越page边界时,对DMA的物理地址来说可能是不连续的。
另一个是cache一致性问题,当DMA访问的内存数据在cache中有备份时,会存在数据一致性问题。