當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]利用PCI局部總線實現(xiàn)BIade Server的數(shù)據(jù)交換

摘要:通過對刀片服務器基本概念、主要組成以及內(nèi)部架構(gòu)的分析和研究,針對刀片與主板之間的高速通信需求,采用PCI總線作為系統(tǒng)的數(shù)據(jù)通信協(xié)議,給出了PCI局部總線的詳細分析和設計流程,以及系統(tǒng)所采用的“PCI+FPGA+FLASH”方案的具體實現(xiàn)方法和步驟,最后給出了實際的測試驗證結(jié)果,相關(guān)結(jié)論,對設計PCI通信系統(tǒng)具有較強的借鑒意義。
關(guān)鍵詞:刀片服務器;主板;PCI;局部總線;FPGA

    新一代機架式服務器Blade Server(刀片服務器),應用iSCSI協(xié)議,通過TCP/IP實現(xiàn)網(wǎng)絡存儲,利用Intemet,可將SCSI數(shù)據(jù)包傳到地球上的任何地方。
    筆者著眼于刀片服務器的內(nèi)部構(gòu)架和整體方案的介紹,主要論述了基于FPGA的刀片與主板之間PCI數(shù)據(jù)交換的具體實現(xiàn)方法。

1 刀片服務器系統(tǒng)構(gòu)架
    刀片服務器是一種HAHD(High Availability High Density,高可用高密度)的低成本服務器平臺,是專門為特殊應用行業(yè)和高密度計算機環(huán)境設計的。每一塊刀片均由“系統(tǒng)服務器主板+控制板”組成,可以遠程啟動Windows NT/2000、Linux、Solaris等操作系統(tǒng)。類似于獨立的服務器,每塊刀片可以沒有獨立硬盤來存儲數(shù)據(jù),而是多個刀片共享一個Raid磁盤陣列。在該模式下,每個刀片運行自己的系統(tǒng),服務于用戶指定的不同用戶群,相互之間沒有關(guān)聯(lián),不過也可以通過系統(tǒng)軟件將這些刀片集合成一個服務器集群,在集群模式下,所有的刀片連接起來提供高速網(wǎng)絡環(huán)境,實現(xiàn)資源共享,為相同的用戶群服務。用戶若需提高整體性能,只需在集群中插入新的刀片即可。刀片可熱插拔,替換便捷,且維護時間減到最小。
    機架中的服務器(刀片)可以通過智能KVM轉(zhuǎn)換板共享一套鍵盤、顯示器和鼠標,以訪問多臺服務器(刀片),從而便于進行升級、維護和訪問服務器上的文件。單個刀片通過PCI總線連接至主板,刀片中據(jù)的傳輸和交換,均通過該通道進行,刀片的實際組成如圖1所示。


    刀片在單機架系統(tǒng)中的位置如圖2所示。

[!--empirenews.page--]
    在單機架系統(tǒng)中,用戶交換機與Blade通過RJ45的千兆網(wǎng)接口進行連接,用戶經(jīng)用戶交換機接入Blade服務器進行數(shù)據(jù)交換,可以在全球任何地方,由Intemet接入到用戶交換機。集中控制單元具有網(wǎng)絡端口等PC常用輸出端口;分散控制單元(DMU)通過CompactPCI與Blade進行通信;通過232串口與集中控制中心(SMU)進行通信。DMU和SMU共同完成KVM的切換和采集Blade狀態(tài)功能。
    由于每個Blade沒有單獨的硬盤,所有Blade的啟動都是通過目標服務器遠程啟動,并完成配置以及啟動Raid中預裝的操作系統(tǒng),同時通過DHCPD(動態(tài)分配IP地址)、ADSS、iSCSI為每個Blade分配使用Raid磁盤陣列空間。也即每個Blade都是通過網(wǎng)絡接口啟動系統(tǒng),所以網(wǎng)絡配置要先于操作系統(tǒng)引導前完成初始化和驅(qū)動裝載。

2 PCI局部總線概述
    PCI總線是一種不依附于某個具體處理器的局部總線。從結(jié)構(gòu)上看,PCI是在CPU和原來的系統(tǒng)總線之間插入的一級總線,具體由一個橋接電路實現(xiàn)對這一層的管理,并實現(xiàn)上下之間的接口以協(xié)調(diào)數(shù)據(jù)的傳送。管理器提供了信號緩沖,使之能支持10種外設,并能在高時鐘頻率下保持高性能。PCI總線也支持總線主控技術(shù),允許智能設備在需要時取得總線控制權(quán),以加速數(shù)據(jù)傳送。


    通用PCI2.2接口信號如圖3所示。在圖3左半部分為必要信號,任選信號列于右邊。其中信號名稱右邊加一個“#”符號表示是低電平有效,未加“#”符號的是高電平有效。根據(jù)信號的功能劃分,可分為系統(tǒng)信號組、地址數(shù)據(jù)組、接口控制組、仲裁管理組、錯誤測試組、中斷功能組、Cache支持組以及其他功能組。[!--empirenews.page--]

3 基于FPGA的PCI數(shù)據(jù)交換實現(xiàn)
    通常PC都是采用本地硬盤來引導操作系統(tǒng),完成設備的驅(qū)動,Blade則通過網(wǎng)絡啟動系統(tǒng),所以網(wǎng)絡配置要先于操作系統(tǒng)引導,并完成初始化和驅(qū)動裝載。為了解決這個難點,我們采用“PCI+FPGA+Flash”結(jié)構(gòu),在Flash中燒錄雙端口千兆網(wǎng)卡PCI設備的初始化和驅(qū)動裝載程序,由CPU在系統(tǒng)上電時加載Flash中的程序到系統(tǒng)內(nèi)存。由于數(shù)據(jù)傳輸是PCI總線,而Flash是標準的數(shù)據(jù)總線,這就存在數(shù)據(jù)總線轉(zhuǎn)換的
問題,問題解決的方案是通過FPGA完成PCI設備與Flash之間的通信,下面將詳細介紹如何利用FPGA來完成PCI接口和Flash之間的通信。
3.1 FPGA系統(tǒng)邏輯與實現(xiàn)
    整個FPGA系統(tǒng)設計基于PCI2.2從設備設計思想,PCI主設備為PCI橋芯片,用FPGA來完成PCI從設備功能,終端為Flash芯片。在FPGA系統(tǒng)中,PCI總線接口部分的設計參數(shù)為:PCI時鐘為33 MHz(CLK),32位I/O接口(AD[31..0]),終端接口可以提供20位或32位數(shù)據(jù)線。PCI主設備與終端Flash間的通信采用PCI從設備(FPGA)來實現(xiàn)的。在FPGA的邏輯設計中,終端是兼有Memory空間和I/O空間的抽象設備,在實際的設計中終端Flash,只有對應的Memory空間。
    根據(jù)FPGA的模塊設計思想,采用Verilog語言將整個系統(tǒng)按功能進行分塊設計,每個模塊的輸出可以為其他功能模塊提供輸入,各模塊功能和設計思想如下:
    “PCI頂層模塊”是系統(tǒng)頂層模塊,完成系統(tǒng)端口各使能開關(guān)的定義和調(diào)用其他5個功能模塊。
    “配置模塊”完成PCI從設備配置寄存器的設置。
    “基址模塊”實現(xiàn)兩個功能:1)配置I/O空間和存儲空間(memory空間)的基地址;2)告知PCI從設備狀態(tài)機(The State Machine)。
    “狀態(tài)機模塊”是整個設計的核心,控制PCI主設備到終端的所有數(shù)據(jù)傳輸。在PCI地址傳送階段,通過采樣C/BE[3..0]和IDSEL來決定是配置讀寫、存儲空間讀寫還是I/O空間讀寫。
    “校驗模塊”對AD[31..0]和C/BE[3..0]#信號作奇偶校驗,以保證數(shù)據(jù)的有效性。
    “重入模塊”若PCI從設備進行一個讀寫操作,則必須在6個時鐘周期內(nèi)(定義PCI從設備為slow=10 b,慢速設備)使能DEVSEL。若PCI從設備進行數(shù)據(jù)傳送(已經(jīng)使能DEVSEL),終端在9個時鐘周期內(nèi)沒有使能READY#,則將告知:“The State Machine模塊”,終端暫時中止當前的數(shù)據(jù)傳送,直到傳送條件滿足后,才重新啟動數(shù)據(jù)傳送。
3.2 FPGA系統(tǒng)邏輯功能仿真與結(jié)論
    完成了各功能模塊程序的編輯和編譯過程,即可采用xilinx ISE11.2自帶的HDL Bencher來生成測試激勵文件,而后就可以調(diào)用Model Sim進行仿真了,該仿真也叫前仿真(邏輯功能仿真),布線后的仿真稱為后仿真,也叫延時仿真,布線后的仿真包含門延時和線延時。
    下面給出memory寫操作功能仿真的詳細步驟,并對結(jié)果進行分析。
    I/O、memory空間讀寫過程非常相似,現(xiàn)對memory空間猝發(fā)方式寫操作進行詳細的說明。在圖4中,通過測試文件生成pci_rst#=1,不產(chǎn)生復位動作,地址節(jié)拍pci_ad=0x2000_0000,表示PCI主設備從系統(tǒng)地址0x2000_0000地址開始寫到終端0x00000地址開始的數(shù)據(jù)空間,可在“PCI頂層模塊”定義(bkend_ad[19..0]=pci_ad[19..0]),終端只取系統(tǒng)地址的低20位地址。pci_cbe#[3..0]=0111,表示是memory空間寫操作,在idle狀態(tài)pci_frame#使能,irdy#、devsel#、stop#先不使能,PCI主設備將地址送到終端地址線上,data_stop#=1,表示終端支持猝發(fā)方式數(shù)據(jù)寫操作。在下個時鐘周期,進入到rw_wait狀態(tài),base_regionl#(memory片選)使能,告訴終端準備執(zhí)行memory寫操作,同時打開I/O、memory空間寫操作使能。在下個時鐘周期,進入到rw_wait2狀態(tài),如果終端使能ready#,表示終端準備好接收數(shù)據(jù),使能devsel#、tr dy#、date_write#,其中date_write#使能,是讓終端產(chǎn)生寫使能信號。irdy#、trdy#使能。表示PCI主設備和終端數(shù)據(jù)可以有效傳輸,通過測試文件在PCI主設備的對應地址(0x2000_0000)下產(chǎn)生數(shù)據(jù)cdef0000,在該狀態(tài),寫入終端第一個數(shù)據(jù)cdef0000。在下個時鐘周期,進入到rw狀態(tài),如果在該狀態(tài)下pci_frame#=0還使能,表示PCI主設備想支持猝發(fā)寫,繼續(xù)使能devsel#、trdy#信號,stop#不能使能,因為PCI主設備準備猝發(fā)寫操作,在該狀態(tài)下,只要pci_frame#=0(使能),循環(huán)寫入數(shù)據(jù)cdef0001、cdef0002、cdef0003、cdef0004,上文已經(jīng)介紹,下一個數(shù)據(jù)對應的地址自動加一,地址都是線性增加的。圖4中,PCI主設備準備發(fā)送cdef0005數(shù)據(jù)時,irdy#=1(不使能),表示PCI主設備正在取數(shù)據(jù),data_write#(終端寫使能)不使能,告訴終端等待PCI主設備取數(shù)據(jù),插入等待周期。在下個時鐘周期,irdy#重新使能,date_wri te#也重新使能,繼續(xù)寫數(shù)據(jù)cdef0005,這樣可以一直寫數(shù)據(jù)。pci_frame#=1,表示進入最后一個周期的寫數(shù)據(jù)操作,關(guān)閉irdy#、devsel#、base_regionl#使能。在下個時鐘周期,進入到backoff狀態(tài),在下個時鐘周期進入到idel狀態(tài),一個完整的memory猝發(fā)寫就完成了。[!--empirenews.page--]


    完成功能仿真(前仿真)后和后仿真(布線后仿真)后,可使用ISE11.2自帶的下載配置工具進行下載,至此FPGA系統(tǒng)設計全部完成,接著可對整個FPGA芯片進行硬件部分的測試工作。
    可采用Xilinx的ISE自帶的ChipScope Pro(在線邏輯分析儀),添加測試激勵,可以看到數(shù)據(jù)的讀寫都是滿足要求,具體跟上面的仿真波形相似,只是包含延時信息,門延時和線延時控制在0.5個時鐘單元(15ns),符合設計要求。

4 結(jié)束語
    刀片式服務器在軍用控制和計算中心等計算密集型應用中已經(jīng)得到廣泛應用。隨著InfiniBand技術(shù)開始扮演重要角色,刀片服務器將逐漸成為主流服務器。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉