新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 雙機通信在CPCI總線上的實現

雙機通信在CPCI總線上的實現

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

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

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

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


評論


相關推薦

技術專區(qū)

關閉