<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 存儲器域與PCI總線域

          存儲器域與PCI總線域

          作者: 時間:2016-12-15 來源:網(wǎng)絡(luò) 收藏
          HOST主橋的實現(xiàn)因處理器系統(tǒng)而異。PowerPC處理器和x86處理器的HOST主橋除了集成方式不同之外,其實現(xiàn)機(jī)制也有較大差異。但是這些HOST主橋所完成的最基本功能依然是分離存儲器域與PCI總線域,完成PCI總線域到存儲器域,存儲器域到PCI總線域之間的數(shù)據(jù)傳遞,并管理PCI設(shè)備的配置空間。

          上文曾經(jīng)多次提到在一個處理器系統(tǒng)中,存在PCI總線域與存儲器域,深入理解這兩個域的區(qū)別是理解HOST主橋的關(guān)鍵所在。在一個處理器系統(tǒng)中,存儲器域、PCI總線域與HOST主橋的關(guān)系如圖2?1所示。

          本文引用地址:http://www.ex-cimer.com/article/201612/330479.htm

          上圖所示的處理器系統(tǒng)由一個CPU,一個DRAM控制器和兩個HOST主橋組成。在這個處理器系統(tǒng)中,包含CPU域、DRAM域、存儲器域和PCI總線域地址空間。其中HOST主橋x和HOST主橋y分別管理PCI總線x域與PCI總線y域。PCI設(shè)備訪問存儲器域時,也需要通過HOST主橋,并由HOST主橋進(jìn)行PCI總線域到存儲器域的地址轉(zhuǎn)換;CPU訪問PCI設(shè)備時,同樣需要通過HOST主橋進(jìn)行存儲器域到PCI總線域的地址轉(zhuǎn)換。

          如果HOST主橋支持Peer-to-Peer傳送機(jī)制,PCI總線x域上的設(shè)備可以與PCI總線y域上的設(shè)備直接通信,如PCI設(shè)備x11可以直接與PCI設(shè)備y11通信。為簡化模型,在本書中,PCI總線僅使用32位地址空間。

          2.1.1CPU域、DRAM域與存儲器域

          CPU域地址空間指CPU所能直接訪問的地址空間集合。在本書中,CPU、處理器與處理器系統(tǒng)的概念不同。如MPC8548處理器的內(nèi)核是E500 V2[1],本書將這個處理器內(nèi)核稱為CPU;處理器由一個或者多個CPU、外部Cache、中斷控制器和DRAM控制器組成;而處理器系統(tǒng)由一個或者多個處理器和外部設(shè)備組成。

          在CPU域中有一個重要概念,即CPU域邊界,所謂CPU域邊界,即CPU所能控制的數(shù)據(jù)完整性邊界。CPU域的邊界由Memory Fence指令[2]的作用范圍確定,CPU域邊界的劃分對數(shù)據(jù)完整性(Data Consistency)非常重要。與CPU域相關(guān)的數(shù)據(jù)完整性知識較為復(fù)雜,可以獨(dú)立出書,因此本篇對數(shù)據(jù)完整性不做進(jìn)一步介紹。筆者有計劃再更新完P(guān)CIe總線部分的資料后,書體系結(jié)構(gòu)的兩方面內(nèi)容,一個是Cache層次結(jié)構(gòu),一個是以Weakly Ordered Memory Modle為基礎(chǔ)書寫數(shù)據(jù)完整性。

          嚴(yán)格的講CPU域僅在CPU內(nèi)核中有效,CPU訪問主存儲器時,首先將讀寫命令放入讀寫指令緩沖中,然后將這個命令發(fā)送到DRAM控制器或者HOST主橋。DRAM控制器或者HOST主橋?qū)PU地址轉(zhuǎn)換為DRAM或者PCI總線地址,分別進(jìn)入DRAM域或者PCI總線域后,再訪問相應(yīng)的地址空間。

          DRAM域地址空間指DRAM控制器所能訪問的地址空間集合。目前處理器系統(tǒng)的DRAM一般由DDR-SDRAM組成,有的書籍也將這部分內(nèi)存稱為主存儲器。在有些處理器系統(tǒng)中,DRAM控制器能夠訪問的地址空間,并不能被處理器訪問,因此在這類處理器系統(tǒng)中,CPU域與DRAM域地址空間并不等同。

          比如有些CPU可以支持36位的物理地址,而有些DRAM控制器僅支持32位的物理地址,此時CPU域包含的地址空間大于DRAM域地址空間。但是這并不意味著DRAM域一定包含在CPU域中,在某些處理器系統(tǒng)中,CPU并不能訪問在DRAM域中的某些數(shù)據(jù)區(qū)域。而CPU域中除了包含DRAM域外,還包含外部設(shè)備空間。

          在多數(shù)處理器系統(tǒng)中,DRAM域空間是CPU域空間的一部分,但是也有例外。比如顯卡控制器可能會借用一部分主存儲器空間,這些被借用的空間不能被CPU訪問,而只能被DRAM控制器,更為準(zhǔn)確地說是顯卡通過DRAM控制器訪問,因此這段空間不屬于CPU域,嚴(yán)格地講,這段空間屬于外部設(shè)備域。

          本書使用存儲器域統(tǒng)稱CPU域與DRAM域。存儲器域包括CPU內(nèi)部的通用寄存器,存儲器映像尋址的寄存器,主存儲器空間和外部設(shè)備空間。在Intel的x86處理器系統(tǒng)中,外部設(shè)備空間與PCI總線域地址空間等效,因為在x86處理器系統(tǒng)中,使用PCI總線統(tǒng)一管理全部外部設(shè)備。為簡化起見,本書使用PCI總線域替代外部設(shè)備域。

          值得注意的是,存儲器域的外部設(shè)備空間,在PCI總線域中還有一個地址映射。當(dāng)處理器訪問PCI設(shè)備時,首先訪問的是這個設(shè)備在存儲器域上的PCI設(shè)備空間,之后HOST主橋?qū)⑦@個存儲器域的PCI總線地址轉(zhuǎn)換為PCI總線域的物理地址[3],然后再通過PCI總線事務(wù)訪問PCI總線域的地址空間。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 存儲器域PCI總線

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();