【3721oy】評論
採用 memory mapped I/O 的方式時,不 需有專用的指令
【澐】評論
Memory Mapped I/O 以記憶體讀寫動作代替 I/O port 在硬體層級操縱裝置的手法就稱為「Memory Mapped I/O」(記憶體映射讀寫),經常縮寫為「MMIO」。 驅動程式只要向預先定義的位址範圍 (MMIO範圍) 進行讀寫動作,就會變成對特定硬體讀寫暫存器的動作。 也因為只要以 C 語言的指標就能簡單辦到,所以成為近代的標準作法。 一般常見的 IA-32 個人電腦架構中,是把緊鄰 4GB 以下的 1GB 範圍當成 MMIO 範圍。 讀寫 MMIO 範圍時,只要用指標就可以了,但是不能直接把記憶體位址的數值當成指標來用,否則可能會造成「kernel panic」。 因為驅動程式是在虛擬記憶體空間運作的緣故,這跟 user space 的應用程式讀寫不正確的記憶體位址而導致「segmen...
【老師】評論
可程式輸入輸出(英語:PIO)是 CPU 與外圍設備(如網卡、硬碟等)傳輸數據的一種方法。當 CPU 上執行的軟體程序使用 I/O 地址空間來與輸入/輸出設備(I/O 設備)進行數據傳輸時,系統即進行了 PIO. 這和直接記憶體存取(DMA)恰好相反。