久久天天躁狠狠躁夜夜躁,国产精品入口福利,97久久精品人人爽人人爽蜜臀 ,中文字幕国产精品一区二区

當(dāng)前位置首頁 > 教育資訊

15顯存映射和DMA(上)

更新時(shí)間:2023-11-03 文章作者:佚名 信息來源:網(wǎng)絡(luò)整理 閱讀次數(shù):

15顯存映射和DMA(上)qwI物理好資源網(wǎng)(原物理ok網(wǎng))

1linux顯存管理1.1地址類型qwI物理好資源網(wǎng)(原物理ok網(wǎng))

linux是一個(gè)虛擬顯存系統(tǒng)邏輯地址和物理地址的轉(zhuǎn)換,這意味著用戶程序所使用的地址與硬件使用的數(shù)學(xué)地址是不等同的。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

image.pngqwI物理好資源網(wǎng)(原物理ok網(wǎng))

1.1.1虛擬地址qwI物理好資源網(wǎng)(原物理ok網(wǎng))

用戶空間程序所能見到的常規(guī)地址。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

每位進(jìn)程都有自己的虛擬地址。用戶地址或?yàn)?2位或?yàn)?4位,取決于硬件的體系構(gòu)架。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

1.1.2化學(xué)地址qwI物理好資源網(wǎng)(原物理ok網(wǎng))

該地址在處理器和系統(tǒng)顯存之間使用。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

邏輯地址和物理地址的轉(zhuǎn)換_邏輯地址轉(zhuǎn)換物理地址公式_邏輯地址轉(zhuǎn)化物理地址qwI物理好資源網(wǎng)(原物理ok網(wǎng))

化學(xué)地址也是32位或則64位長的。在個(gè)別情況下甚至32位系統(tǒng)也能使用64位的數(shù)學(xué)顯存。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

1.1.3總線地址qwI物理好資源網(wǎng)(原物理ok網(wǎng))

該地址在外圍總線和顯存之間使用。一般它們與處理器使用的數(shù)學(xué)地址相同。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

但如此做并不是必須的。一些計(jì)算機(jī)體系構(gòu)架提供了I/O顯存管理單元(IOMMU)。它實(shí)現(xiàn)總線和主顯存之間的重新映射。IOMMU可以用好多種方法讓事情顯得簡單(例如使顯存中的分散緩沖區(qū)對(duì)設(shè)備來說是連續(xù)的)。并且當(dāng)設(shè)置DMA操作時(shí),編撰I(xiàn)OMMU相關(guān)的代碼是一個(gè)必須的額外步驟。其實(shí)總線地址是與體系構(gòu)架密切相關(guān)的qwI物理好資源網(wǎng)(原物理ok網(wǎng))

1.1.4內(nèi)核邏輯地址qwI物理好資源網(wǎng)(原物理ok網(wǎng))

內(nèi)核邏輯地址組成了內(nèi)核的常規(guī)地址空間。該地址映射了部份(或則全部)顯存,并時(shí)常被視為數(shù)學(xué)地址。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

在大多數(shù)體系構(gòu)架中,邏輯地址與其相關(guān)聯(lián)的數(shù)學(xué)地址的不同,僅僅是在它們之間存在一個(gè)固定的偏斜量qwI物理好資源網(wǎng)(原物理ok網(wǎng))

邏輯地址使用硬件內(nèi)建的表針大小,因而在安裝了大量的32位系統(tǒng)中,它未能輪詢?nèi)康臄?shù)學(xué)地址。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

邏輯地址一般保存在long或則void*這樣類型的變量中,()返回的顯存就是內(nèi)核邏輯地址。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

1.1.5內(nèi)核虛擬地址qwI物理好資源網(wǎng)(原物理ok網(wǎng))

邏輯地址和物理地址的轉(zhuǎn)換_邏輯地址轉(zhuǎn)化物理地址_邏輯地址轉(zhuǎn)換物理地址公式qwI物理好資源網(wǎng)(原物理ok網(wǎng))

內(nèi)核虛擬地址和邏輯地址的相同之處在于,它們都將內(nèi)核空間的地址映射到化學(xué)地址上。內(nèi)核虛擬地址與化學(xué)地址的映射毋須都是線性的和一對(duì)一的。而這是邏輯地址空間的特征。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

所有的邏輯地址都是內(nèi)核虛擬地址。并且許多虛擬內(nèi)核地址不是邏輯地址。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

示例:()分配的顯存具有一個(gè)虛擬地址(但并不存在直接的化學(xué)映射),kmap()也返回一個(gè)虛擬地址。虛擬地址一般保存在表針變量中。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

1.1.6地址映射的宏qwI物理好資源網(wǎng)(原物理ok網(wǎng))

__pa():按照邏輯地址,返回其對(duì)應(yīng)的數(shù)學(xué)地址qwI物理好資源網(wǎng)(原物理ok網(wǎng))

__va():將數(shù)學(xué)地址逆向映射到邏輯地址。但只對(duì)高端顯存頁有效qwI物理好資源網(wǎng)(原物理ok網(wǎng))

1.2頁qwI物理好資源網(wǎng)(原物理ok網(wǎng))

頁:化學(xué)地址被分成離散的單元,稱之為頁。每位頁的大小隨體系構(gòu)架的不同而不同,通常為4096(1mm。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

多個(gè)進(jìn)程可以共享顯存管理結(jié)構(gòu)邏輯地址和物理地址的轉(zhuǎn)換,linux用這些技巧實(shí)現(xiàn)線程。qwI物理好資源網(wǎng)(原物理ok網(wǎng))

?專著權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者qwI物理好資源網(wǎng)(原物理ok網(wǎng))

發(fā)表評(píng)論

統(tǒng)計(jì)代碼放這里
主站蜘蛛池模板: 抚松县| 察雅县| 鄱阳县| 宝丰县| 繁昌县| 隆安县| 财经| 玉树县| 青岛市| 连云港市| 岳阳市| 富顺县| 资源县| 建湖县| 花莲市| 息烽县| 奈曼旗| 台东县| 专栏| 浦江县| 惠来县| 南和县| 砚山县| 云安县| 青河县| 五台县| 岫岩| 重庆市| 屏东县| 固始县| 胶州市| 咸阳市| 泸溪县| 齐河县| 紫云| 长岛县| 吉木萨尔县| 平顶山市| 拉萨市| 德昌县| 东城区|