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中有備份時,會存在數據一致性問題。