日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

内存映射IO (MMIO) 简介

發布時間:2025/4/16 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内存映射IO (MMIO) 简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MMIO(Memory mapping?I/O)即內存映射I/O,它是PCI規范的一部分,I/O設備被放置在內存空間而不是I/O空間。從處理器的角度看,內存映射I/O后系統設備訪問起來和內存一樣。這樣訪問AGP/PCI-E顯卡上的幀緩存,BIOS,PCI設備就可以使用讀寫內存一樣的匯編指令完成,簡化了程序設計的難度和接口的復雜性。

基本概念

MMIO(Memory mapping I/O)即內存映射I/O,它是PCI規范的一部分,I/O設備被放置在內存空間而不是I/O空間。從處理器的角度看,內存映射I/O后系統設備訪問起來和內存一樣。這樣訪問AGP/PCI-E顯卡上的幀緩存,BIOS,PCI設備就可以使用讀寫內存一樣的匯編指令完成,簡化了程序設計的難度和接口的復雜性。I/O作為CPU和外設交流的一個渠道,主要分為兩種,一種是Port I/O,一種是MMIO(Memory mapping I/O)。(來自百度百科) 簡而言之,MMIO就是通過將外圍設備映射到內存空間,便于CPU的訪問。I/O作為CPU和外設交流的一個渠道,主要分為兩種,一種是Port I/O,一種是MMIO(Memory mapping I/O)。前者就是我們常說的I/O端口,它實際上的應該被稱為I/O地址空間。 小概念: 32位操作系統,32bit的處理器,擁有32bit尋址能力,即可訪問2^32=4G的物理地址,那么就具有4G內存的識別能力。 物理地址:并不是指物理內存的地址,而是指處理器和系統內存之間所用到的地址,可以理解為CPU最為方便訪問的地址(有別于我們之前所知道的物理地址的定義:段地址*16+偏移地址),而這一個內存并不獨屬于物理內存,而被分成了很多部分,物理內存當然也能夠占用其中的一部分。

PortIO和MMIO 的主要區別

1)前者不占用CPU的物理地址空間,后者占有(這是對x86架構說的,一些架構,如IA64,port?I/O占用物理地址空間)。 2)前者是順序訪問。也就是說在一條I/O指令完成前,下一條指令不會執行。例如通過Port I/O對設備發起了操作,造成了設備寄存器狀態變化,這個變化在下一條指令執行前生效。uncache的MMIO通過uncahce memory的特性保證順序性。 3)使用方式不同 由于port I/O有獨立的64K?I/O地址空間,但CPU的地址線只有一套,所以必須區分地址屬于物理地址空間還是I/O地址空間。

總結

以上是生活随笔為你收集整理的内存映射IO (MMIO) 简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。