新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 雙機(jī)通信在CPCI總線上的實(shí)現(xiàn)

雙機(jī)通信在CPCI總線上的實(shí)現(xiàn)

——
作者: 時(shí)間:2006-06-17 來(lái)源:電子技術(shù)應(yīng)用 收藏
摘 要:介紹了PCI Bridge的工作原理,基于地址映射機(jī)制提出了SBC(Single Board Computer)間直接內(nèi)存訪問(wèn)的新方案。該方案可將板間通信效率提高6倍以上,并可服務(wù)于各種高層應(yīng)用。 
  關(guān)鍵詞: 地址映射 PCI Bridge 單板計(jì)算機(jī) 性能優(yōu)化 

  在電信、電力、國(guó)防等應(yīng)用領(lǐng)域中,經(jīng)常要求其所用設(shè)備有極高的實(shí)時(shí)性。當(dāng)需要在各個(gè)設(shè)備間進(jìn)行大容量的信息交換時(shí),傳統(tǒng)的網(wǎng)絡(luò)包交換模式已不能很好地滿足實(shí)時(shí)性的要求。而借助于,兩個(gè)設(shè)備可以互訪對(duì)方的內(nèi)存,具有傳輸速度快、傳輸容量大和高可靠性等特點(diǎn),非常適合大容量的信息傳遞。國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心承擔(dān)的國(guó)家863計(jì)劃項(xiàng)目——“中國(guó)第三代移動(dòng)通信系統(tǒng)”CDMA2000系統(tǒng)集成就選擇基于的多SBC平臺(tái)。各個(gè)SBC間的通信效率直接決定了整個(gè)系統(tǒng)性能的高低。目前常用的實(shí)時(shí)操作系統(tǒng)如VxWorks、Lynx等,都針對(duì)CPCI總線實(shí)現(xiàn)了消息隊(duì)列,可用于SBC間的消息通信。但VxWorks、Lynx中消息傳遞的實(shí)現(xiàn)方式很不靈活,一般是通過(guò)在一個(gè)特定的SBC(通常為system board)中開啟一塊共享內(nèi)存,其他各個(gè)SBC(通常為non system board)通過(guò)對(duì)共享內(nèi)存的讀寫交換信息;每完成一次兩個(gè)non system SBC間的信息交換,都要進(jìn)行一次PCI讀寫操作,效率不高。另外VxWorks、Lynx中的消息長(zhǎng)度都有一個(gè)最大值,當(dāng)要進(jìn)行大數(shù)據(jù)量(如1GB的內(nèi)存數(shù)據(jù)庫(kù))的信息傳輸時(shí),操作系統(tǒng)提供消息傳遞機(jī)制也無(wú)能為力。而以上這些問(wèn)題,都可以通過(guò)任意兩個(gè)SBC間的直接內(nèi)存訪問(wèn)得到解決。本文首先介紹了PCI Bridge的工作原理;然后以Motorola公司提供的CPX8000系列工控機(jī)為例,討論了兩個(gè)SBC是如何基于背板(Backplane)上的CPCI總線,并利用PCI Bridge的地址映射機(jī)制,通過(guò)互訪內(nèi)存的方式最終實(shí)現(xiàn);最后介紹了實(shí)際應(yīng)用時(shí)應(yīng)注意的性能優(yōu)化問(wèn)題。 
1 PCI Bridge的工作原理 
  在簡(jiǎn)單的計(jì)算機(jī)系統(tǒng)中,其擁有的外部設(shè)備較少,單級(jí)總線結(jié)構(gòu)便能滿足系統(tǒng)的需要。但是由于單個(gè) PCI總線可支持的 PCI 設(shè)備數(shù)量有電氣限制,對(duì)擁有大量外設(shè)的計(jì)算機(jī)系統(tǒng)而言,單級(jí)總線結(jié)構(gòu)已不能滿足系統(tǒng)的要求,因此便產(chǎn)生了橋接設(shè)備。通過(guò)PCI-to-PCI Bridge可擴(kuò)展出新的PCI總線,通過(guò)PCI-to-ISA Bridge可擴(kuò)展出ISA總線。借助PCI Bridge這些特殊的PCI設(shè)備,系統(tǒng)中各級(jí)總線被粘和在一起,使整個(gè)系統(tǒng)成為一個(gè)有機(jī)整體。 
  每個(gè)PCI設(shè)備都有自己的PCI I/O空間、PCI內(nèi)存空間和PCI配置空間(configuration space)。PCI設(shè)備的設(shè)備驅(qū)動(dòng)程序?qū)CI配置空間進(jìn)行初始化設(shè)置后,各個(gè)智能控制器如CPU、DMA控制器等,可以對(duì)PCI設(shè)備的PCI I/O空間、PCI內(nèi)存空間進(jìn)行訪問(wèn)。在圖1中,CPU若要訪問(wèn)網(wǎng)卡,首先會(huì)在PCI Bus0上生成一個(gè)物理地址,這個(gè)地址經(jīng)PCI-to-PCI Bridge的過(guò)濾及轉(zhuǎn)換后,在PCI Bus1上產(chǎn)生一PCI Bus地址,網(wǎng)卡通過(guò)地址譯碼,響應(yīng)對(duì)這個(gè)地址的訪問(wèn)。 

圖1 基于PCI的系統(tǒng) 

  從這個(gè)過(guò)程可以了解到,PCI-to-PCI Bridge有兩種基本的功能: 
  (1)地址映射功能。雖然同是對(duì)網(wǎng)卡進(jìn)行訪問(wèn),但PCI Bus0與PCI Bus1上的地址意義是不同的。兩個(gè)地址分屬各自的地址空間,通過(guò)PCI-to-PCI Bridge實(shí)現(xiàn)兩個(gè)地址的映射。根據(jù)這兩個(gè)地址是否相同,可將PCI-to-PCI Bridge區(qū)分為兩種類型: 
  


評(píng)論


相關(guān)推薦

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

關(guān)閉