專利名稱:一種多路服務器動態鏈路配置裝置和方法
技術領域:
本發明涉及高端服務器領域,具體涉及一種多路服務器動態鏈路配置裝置和方法。
背景技術:
隨著計算機技術和集成電路技術的飛速發展,為了滿足經濟社會發展的需要,高端服務器系統成為制約社會發展關鍵領域的瓶頸之一。龐大的數據計算和數據分析,復雜的圖形分析和科學預算等信息領域對服務器系統的性能要求極高。因此需要構建龐大的多路服務器系統,以便更好適應當今各領域的應用需求,但是另一方面也陷入了多路服務器系統處理器間互連驗證以及系統關鍵芯片組驗證平臺設計的技術難題中。
發明內容
為了合理的驗證多路服務器系統結構,實現各個處理器之間的互連通信,本發明提出一種多路服務器動態鏈路配置裝置和方法。為了解決上述技術問題,本發明提供了一種多路服務器動態鏈路配置裝置,包括配置模塊、鏈路初始化控制模塊和多個處理器邏輯接口,所述處理器邏輯接口用于根據配置模塊的配置與所對應的處理器接通;所述配置模塊用于為每個處理器配置一個與所述處理器對應的處理器邏輯接口,并在處理器與所對應的處理器邏輯接口之間建立接口鏈路;所述鏈路初始化控制模塊用于根據各個處理器之間的預連接鏈路配置各個處理器邏輯接口的內部互連鏈路,使得各個處理器通過與所對應的處理器邏輯接口的接口鏈路、各個處理器邏輯接口的內部互連鏈路建立所述預連接鏈路;所述接口鏈路為處理器與處理器邏輯接口之間的通信鏈路,所述內部互連鏈路為兩個處理器邏輯接口之間的邏輯通信鏈路。進一步地,所述各個處理器之間的預連接鏈路為各個處理器的直連鏈路,所述直連鏈路為每兩個處理器之間的通信鏈路。進一步地,所述鏈路初始化控制模塊和多個處理器邏輯接口,利用FPGA實現。 進一步地,所述配置模塊還用于在配置各個處理器與處理器邏輯接口之間的接口鏈路之前,配置各個處理器的直連鏈路,所述直連鏈路為每兩個處理器之間的通信鏈路。進一步地,所述鏈路初始化控制模塊還用于在全部內部互連鏈路建立后,向配置模塊反饋一個鏈路完結信號;所述配置模塊還用于在接收到鏈路完結信號后,斷開部分或者全部直連鏈路。進一步地,所述配置裝置還包括監控模塊,所述監控模塊用于監控鏈路初始化控制模塊和多個處理器邏輯接口的工作狀態,當任意一個或者多個處理器邏輯接口和/或鏈路初始化控制模塊工作異常時,發出警告。進一步地,所述工作狀態包括各個處理器與對應的處理器邏輯接口的接口鏈路連接狀態和各個處理器邏輯接口的內部互連鏈路連接狀態;所述工作異常是指任意一個處理器與對應的處理器邏輯接口的接口鏈路或者任意一個處理器邏輯接口的內部互連鏈發生故障或者初始化不成功。為了解決上述技術問題,本發明還提供了一種多路服務器動態鏈路配置方法,包括步驟A、配置每個處理器與所對應的處理器邏輯接口之間的接口鏈路;步驟B、配置各個處理器邏輯接口的內部互連鏈路;所述接口鏈路為處理器與處理器邏輯接口之間的通信鏈路,所述內部互連鏈路為兩個處理器邏輯接口之間的邏輯通信鏈路。 進一步地,在步驟A之前,還包括配置各個處理器的直連鏈路,所述直連鏈路為每兩個處理器之間的通信鏈路。進一步地,在步驟B之后,還包括斷開部分或者全部直連鏈路。進一步地,所述方法還包括監控鏈路初始化控制模塊和多個處理器邏輯接口的工作狀態,當任意一個或者多個處理器邏輯接口和/或鏈路初始化控制模塊工作異常時,發
出警告。進一步地,所述工作狀態包括各個處理器與對應的處理器邏輯接口的接口鏈路連接狀態和各個處理器邏輯接口的內部互連鏈路連接狀態;所述工作異常是指任意一個處理器與對應的處理器邏輯接口的接口鏈路或者任意一個處理器邏輯接口的內部互連鏈發生故障或者初始化不成功。與現有技術相比,本發明的多路服務器動態鏈路配置裝置和方法采用雙步配置實現處理器互連鏈路從直連方式到FPGA驗證芯片的動態轉化。分別實現多路處理器與FPGA芯片實現的接口邏輯的鏈路初始化,采用控制邏輯實現FPGA芯片實現的接口邏輯內部互連,使處理期間互連通信僅通過FPGA芯片實現的測試鏈路。保證了多路服務器系統中處理器間的互連鏈路時刻存在,同時實現了處理器間物理鏈路的動態可用性轉化,大大減少了驗證平臺硬件設計的復雜度,完成了基于FPGA芯片的處理器間物理鏈路的透明傳輸。并保證了 FPGA芯片實現了互連接口協議邏輯以及系統關鍵芯片組邏輯驗證平臺的完備性。
圖I為本發明實施例的二路服務器動態鏈路配置裝置的結構示意圖;圖2為本發明實施例的三路服務器動態鏈路配置裝置的結構示意圖;圖3為本發明實施例的四路服務器動態鏈路配置裝置的結構示意圖;圖4為本發明實施例的多路服務器動態鏈路配置方法的流程圖。
具體實施例方式為使本發明的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本發明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。本發明實施例的多路服務器動態鏈路配置裝置和方案,主要考慮多路服務器系統中處理器間互連鏈路設計結構的特點,首先實現多路處理器與FPGA芯片接口鏈路初始化,采用控制邏輯實現接口內部邏輯互連,以此完成多路處理器間互連通信。本發明實施例提供的多路服務器動態鏈路配置裝置,主要包括配置模塊I、鏈路初始化控制模塊2和多個處理器邏輯接口 3,所述配置模塊I用于配置各個處理器與所對應的處理器邏輯接口 3之間的接口鏈路;所述鏈路初始化控制模塊2用于配置各個處理器邏輯接口 3的內部互連鏈路,使得各個處理器通過與所對應的處理器邏輯接口 3的接口鏈路、各個處理器邏輯接口 3的內部互連鏈路建立預連接鏈路;所述接口鏈路為處理器與處理器邏輯接口 3之間的通信鏈路,所述內部互連鏈路為兩個處理器邏輯接口 3之間的邏輯通信鏈路。其中,配置模塊I,相當于上述在原理中指出的實現多路處理器與處理器邏輯接口3之間的連通;每個處理器與一個處理器邏輯接口 3接通;鏈路初始化控制模塊2,相當于上述原理中指出的用于實現處理器邏輯接口 3之間的內部互連。預連接鏈路為各個處理器之間希望或準備建立的通信鏈路。本發明實施例的多路服務器動態鏈路配置裝置還可以采用雙步配置方法實現處理器互連鏈路從直連方式到FPGA驗證芯片的動態轉化所述配置模塊I,首先配置各個處理器的直連鏈路,在處理器之間直連鏈路初始化完成的基礎上,配置各個處理器與處理器邏輯接口 3之間的接口鏈路,再由鏈路初始化控制模塊2配置各個處理器邏輯接口 3的內部互連鏈路,所述直連鏈路為每兩個處理器之間的通信鏈路。上述多路服務器動態鏈路配置裝置充分考慮FPGA芯片實現的接口邏輯結構特點,能夠實現處理器互連鏈路從直連方式到FPGA驗證芯片的動態轉化。還可以在全部內部互連鏈路建立后,通過配置模塊I斷開部分或者全部直連鏈路。將初始完成配置的直連鏈路斷開,使處理期間互連通信僅通過FPGA芯片實現的內部互連鏈路。上述過程,不論是處理器互連鏈路從直連方式到FPGA驗證芯片的動態轉化,還是直連鏈路斷開,使處理期間互連通信僅通過FPGA芯片實現的內部互連鏈路,都保證了多路服務器系統中處理器間的互連鏈路時刻存在,大大減少了驗證平臺硬件設計的復雜度。本發明實施例提供的多路服務器動態鏈路配置裝置,還可以包括監控模塊4,所述監控模塊4用于監控鏈路初始化控制模塊2和多個處理器邏輯接口 3的工作狀態;當任意一個或者多個處理器邏輯接口 3和/或鏈路初始化控制模塊2工作異常時,發出警告。所述工作狀態包括各個處理器與對應的處理器邏輯接口 3的接口鏈路連接狀態和各個處理器邏輯接口 3的內部互連鏈路連接狀態;所述工作異常是指任意一個處理器與對應的處理器邏輯接口 3的接口鏈路或者任意一個處理器邏輯接口 3的內部互連鏈發生故障或者初始化不成功。所有鏈路的連接狀態和鏈路初始化狀態均通過監控模塊4放映,當任一鏈路發生故障,或者初始化不成功,監控模塊4能夠監控當前的故障狀態,從而便于分析解決故障問題。例如鏈路初始化不成功時,通過監控模塊4檢查鏈路所處的故障狀態,分析故障原因;再例如當鏈路傳輸質量較差時,通過監控模塊4檢查鏈路重傳的數量,為進一步優化鏈路傳輸質量提供分析依據。本發明實施例還提供一種多路服務器動態鏈路配置方法,所述方法是基于多路服務器動態鏈路配置裝置實現的,所述配置方法包括步驟A、配置各個處理器與處理器邏輯接口 3之間的接口鏈路;步驟B、配置各個處理器邏輯接口 3的內部互連鏈路;所述接口鏈路為處理器與處理器邏輯接口 3之間的通信鏈路,所述內部互連鏈路為兩個處理器邏輯接口 3之間的邏輯通信鏈路。在步驟A之前,還可以包括配置各個處理器的直連鏈路,所述直連鏈路為每兩個處理器之間的通信鏈路。在步驟B之后,還可以包括斷開部分或者全部直連鏈路。通過配置模塊I,采用處理器直連鏈路實現多路服務器互連鏈路的初始化,實現系統互連;在處理器直連鏈路初始化完成的基礎上,通過配置模塊I分別實現多路處理器與處理器邏輯接口 3的接口鏈路初始化;在多路處理器分別與處理器邏輯接口 3完成接口鏈路初始化的基礎上,鏈路初始化控制模塊2實現多路處理器通過處理器邏輯接口 3的互連通信,實現多個處理器邏輯接口 3內部互連,以此實現多路服務器系統內多路處理器間互連通信;在多路處理器互連鏈路初始化完成的基礎上,通過配置模塊I配置處理器直連鏈路斷開,實現多路處理器僅通過FPGA芯片實現互連通信。上述動態鏈路可用性轉化的雙步初始化芯片配置流程保證多路服務器系統的互連通信,實現了多路服務器系統處理器互連鏈路的動態可用性轉化,由處理器直連鏈路動態轉化為FPGA芯片實現互連通信,為系統關鍵芯片組的設計驗證提供平臺,這種動態配置的實現方法也有效減少了驗證平臺硬件設計的復雜度和開發周期,在高端服務器關鍵芯片組設計驗證過程中具有極高的應用價值和技術價值。實施例I下面參照圖I,對本發明實施例的內容加以描述。本發明中動態鏈路可用性轉化的雙步初始化芯片配置流程實現方法主要包括處理器直接鏈路初始化、各個處理器與處理器邏輯接口 3之間的接口鏈路初始化、各個處理器邏輯接口 3的內部互連鏈路、斷開直連鏈路。在高端服務器芯片組驗證和系統初始化鏈路可用性測試過程中,考慮鏈路設計結構的特點,為提高系統結構測試效率,減少測試復雜度,采用動態鏈路可用性轉換的雙步初始化實現方法,達到高端服務器系統多條傳輸鏈路的可用性測試,同時實現FPGA實現關鍵芯片組接口邏輯可用性驗證。初始條件下系統上電,通過配置模塊I配置兩個處理器的直連鏈路,實現第一 CPU與第二 CPU通過直連鏈路互連通信,此時接口鏈路和內部互連鏈路不連通,即第一 CPU與第二 CPU之間僅通過直連鏈路通信。
當直連鏈路完成初始化時,通過配置模塊I配置第一 CPU與第一處理器邏輯接口3,以及第二 CPU與第二處理器邏輯接口 3的接口鏈路,同時鏈路初始化控制模塊2完成第一處理器邏輯接口 3與第二處理器邏輯接口 3的互連,因此第一 CPU與第二 CPU通過內部互連鏈路的互連通信,此時直連鏈路和內部互連鏈路的同時連通,即第一 CPU與第二 CPU之間同時通過兩條鏈路通信。當內部互連鏈路完成初始化時,通過配置模塊I配置第一 CPU與第二 CPU之間的直連鏈路斷開,此時第一 CPU與第二 CPU之間僅通過接口鏈路和內部互連鏈路通信。至此系統通過動態配置實現多條鏈路的連通、轉化,以及斷開操作,配置過程在系統各接口鏈路初始化過程完成,并且在此過程中始終保持處理器之間存在互通鏈路,以此保證系統的穩定運行有效實現了系統多條鏈路的動態切換,在高端服務器系統驗證和調試階段發揮巨大作用。實施例2參照圖2,本實施例為具有三路處理器的高端服務器系統,其中處理器之間的直連
鏈路,類似于三角形,其中三個處理器位于三角形的三個頂點,處理器之間的直連鏈路類似于三角形的三條邊,實現每兩個處理器之間的通信。相似地,處理器邏輯接口 3之間的內部互連鏈路也類似于三角形,其中三個處理器邏輯接口 3位于三角形的三個頂點,處理器邏輯接口 3之間的內部互連鏈路類似于三角形的三條邊,實現每兩個處理器邏輯接口 3之間的邏輯通信。系統通過動態配置實現多條鏈路的連通、轉化,以及斷開操作與實施例I 一致。實施例3參照圖3,本實施例為具有四路處理器的高端服務器系統,其中處理器之間的直連鏈路,類似于四邊形,其中四個處理器位于四邊形的四個頂點,處理器之間的直連鏈路類似于四邊形的四條邊和兩條對角線,實現每兩個處理器之間的通信。相似地,處理器邏輯接口3之間的內部互連鏈路也類似于四邊形,其中四個處理器邏輯接口 3位于四邊形的四個頂點,處理器邏輯接口 3之間的內部互連鏈路類似于邊形的四條邊和兩條對角線,實現每兩個處理器邏輯接口 3之間的邏輯通信。系統通過動態配置實現多條鏈路的連通、轉化,以及斷開操作與實施例I和2 —致。以上實施例僅用以說明本發明的技術方案而非限制,僅僅參照較佳實施例對本發明進行了詳細說明。本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明技術方案的精神和范圍,均應涵蓋在本發明的權利要求范圍當中。
權利要求
1.一種多路服務器動態鏈路配置裝置,其特征在于,所述配置裝置包括配置模塊(I)、鏈路初始化控制模塊(2)和多個處理器邏輯接口(3), 所述處理器邏輯接口(3)用于根據配置模塊(I)的配置與所對應的處理器接通; 所述配置模塊(I)用于為每個處理器配置一個與所述處理器對應的處理器邏輯接口(3),并在處理器與所對應的處理器邏輯接口(3)之間建立接口鏈路; 所述鏈路初始化控制模塊(2)用于根據各個處理器之間的預連接鏈路配置各個處理器邏輯接口(3)的內部互連鏈路,使得各個處理器通過與所對應的處理器邏輯接口(3)的接口鏈路、各個處理器邏輯接口(3)的內部互連鏈路建立所述預連接鏈路; 所述接口鏈路為處理器與處理器邏輯接口(3)之間的通信鏈路,所述內部互連鏈路為兩個處理器邏輯接口(3)之間的邏輯通信鏈路。
2.如權利要求I所述的配置裝置,其特征在于所述各個處理器之間的預連接鏈路為各個處理器的直連鏈路,所述直連鏈路為每兩個處理器之間的通信鏈路。
3.如權利要求I所述的配置裝置,其特征在于所述鏈路初始化控制模塊(2)和多個處理器邏輯接口(3),利用FPGA實現。
4.如權利要求1、2或3所述的配置裝置,其特征在于 所述配置模塊(I)還用于在配置各個處理器與處理器邏輯接口(3)之間的接口鏈路之前,配置各個處理器的直連鏈路,所述直連鏈路為每兩個處理器之間的通信鏈路。
5.如權利要求4所述的配置裝置,其特征在于 所述鏈路初始化控制模塊(2)還用于在全部內部互連鏈路建立后,向配置模塊(I)反饋一個鏈路完結信號; 所述配置模塊(I)還用于在接收到鏈路完結信號后,斷開部分或者全部直連鏈路。
6.如權利要求I或2或3或5所述的配置裝置,其特征在于所述配置裝置還包括監控模塊⑷, 所述監控模塊(4)用于監控鏈路初始化控制模塊(2)和多個處理器邏輯接口(3)的工作狀態,當任意一個或者多個處理器邏輯接口(3)和/或鏈路初始化控制模塊(2)工作異常時,發出警告。
7.如權利要求6所述的配置裝置,其特征在于所述工作狀態包括各個處理器與對應的處理器邏輯接口(3)的接口鏈路連接狀態和各個處理器邏輯接口(3)的內部互連鏈路連接狀態;所述工作異常是指任意一個處理器與對應的處理器邏輯接口(3)的接口鏈路或者任意一個處理器邏輯接口(3)的內部互連鏈發生故障或者初始化不成功。
8.一種多路服務器動態鏈路配置方法,其特征在于,所述方法是基于權利要求1-7所述的配置裝置實現的,所述配置方法包括 步驟A、配置每個處理器與所對應的處理器邏輯接口(3)之間的接口鏈路; 步驟B、配置各個處理器邏輯接口(3)的內部互連鏈路; 所述接口鏈路為處理器與處理器邏輯接口(3)之間的通信鏈路,所述內部互連鏈路為兩個處理器邏輯接口(3)之間的邏輯通信鏈路。
9.如權利要求8所述的配置方法,其特征在于 在步驟A之前,還包括配置各個處理器的直連鏈路,所述直連鏈路為每兩個處理器之間的通信鏈路。
10.如權利要求9所述的配置方法,其特征在于 在步驟B之后,還包括斷開部分或者全部直連鏈路。
11.如權利要求8或9或10所述的配置方法,其特征在于還包括監控鏈路初始化控制模塊(2)和多個處理器邏輯接口(3)的工作狀態,當任意一個或者多個處理器邏輯接口(3)和/或鏈路初始化控制模塊(2)工作異常時,發出警告。
12.如權利要求11所述的配置方法,其特征在于所述工作狀態包括各個處理器與對應的處理器邏輯接口(3)的接口鏈路連接狀態和各個處理器邏輯接口(3)的內部互連鏈路連接狀態;所述工作異常是指任意一個處理器與對應的處理器邏輯接口(3)的接口鏈路或者任意一個處理器邏輯接口(3)的內部互連鏈發生故障或者初始化不成功。
全文摘要
一種多路服務器動態鏈路配置裝置和方法,為了合理的驗證多路服務器系統結構,實現各個處理器之間的互連通信,多路服務器動態鏈路配置裝置和方法采用雙步配置實現處理器互連鏈路從直連方式到FPGA驗證芯片的動態轉化。分別實現多路處理器與FPGA芯片實現的接口邏輯的鏈路初始化,采用控制邏輯實現FPGA芯片實現的接口邏輯內部互連,使處理期間互連通信僅通過FPGA芯片實現的測試鏈路。保證了多路服務器系統中處理器間的互連鏈路時刻存在,同時實現了處理器間物理鏈路的動態可用性轉化,大大減少了驗證平臺硬件設計的復雜度,完成了基于FPGA芯片的處理器間物理鏈路的透明傳輸。
文檔編號G06F11/30GK102880583SQ201210272129
公開日2013年1月16日 申請日期2012年8月1日 優先權日2012年8月1日
發明者王恩東, 胡雷鈞, 李仁剛 申請人:浪潮(北京)電子信息產業有限公司