多處理器系統及構建多處理器系統的方法
2023-05-26 07:43:01
多處理器系統及構建多處理器系統的方法
【專利摘要】本發明提供了多處理器系統及構建多處理器系統的方法,該系統包括:至少一個基本計算單元;所述基本計算單元中包括:互連協議控制器、至少一個處理器;在每一個基本計算單元中,每個處理器與所述互連協議控制器通過各自的高速處理器接口相連;基本計算單元之間通過各自的互連協議控制器相連;所述互連協議控制器用於實現處理器之間的cache一致性協議處理。本發明提供的多處理器系統及構建多處理器系統的方法,降低了對處理器的高速處理器接口的數量的要求。
【專利說明】多處理器系統及構建多處理器系統的方法
【技術領域】
[0001]本發明涉及計算機【技術領域】,特別涉及多處理器系統及構建多處理器系統的方法。
【背景技術】
[0002]隨著科技的飛速發展,各領域對計算機系統的性能的要求越來越高,高性能的計算機系統越來越重要。高性能的計算機系統一般包括多處理器系統,多處理器系統是指包含兩臺或多臺功能相近的處理器,處理器之間彼此可以交換數據。
[0003]目前,多處理器系統一般由商用高端處理器實現。商用高端處理器擁有較多的高速處理器接口,處理器之間可以實現2路、4路、8路的直接互連,各處理器之間協同工作,形成多處理器系統。商用低端處理器的高速處理器接口的數量較少,一般只有I至2個,採用商用低端處理器僅能實現I路、2路處理器系統,由低端處理器組成的多處理器系統的性能較低。
[0004]通過上述描述可見,現有的多處理器系統中對處理器的高速處理器接口的數量的要求較高。
【發明內容】
[0005]本發明提供多處理器系統及構建多處理器系統的方法,降低了對處理器的高速處理器接口的數量的要求。
[0006]一方面,本發明提供了一種多處理器系統,包括:至少一個基本計算單元;
所述基本計算單元中包括:互連協議控制器、至少一個處理器;
在每一個基本計算單元中,每個處理器與所述互連協議控制器通過各自的高速處理器接口相連;
基本計算單元之間通過各自的互連協議控制器相連;
所述互連協議控制器用於實現處理器之間的cache —致性協議處理。
[0007]進一步地,所述基本計算單元的互連協議控制器之間通過各自的高速網際網路接口相連。
[0008]進一步地,所述基本計算單元包括:I路基本計算單元,其中,所述I路基本計算單元中包括:一個處理器和一個互連協議控制器。
[0009]進一步地,所述基本計算單元包括:2路基本計算單元,其中,所述2路基本計算單元中包括:2個處理器和一個互連協議控制器。
[0010]進一步地,所述基本計算單元包括:4路基本計算單元,其中,所述4路基本計算單元中包括:4個處理器和一個互連協議控制器。
[0011]進一步地,該系統包括:兩個4路基本計算單元。
[0012]進一步地,所述互連協議控制器包括:協議處理引擎,用於實現處理器之間的cache 一致性協議處理。
[0013]進一步地,所述互連協議控制器,用於通過目錄記錄進入cache的每個數據塊的訪問狀態、每個數據塊在各個處理器的共享狀態以及每個數據塊是否修改過的信息,與連接所述互聯協議控制器的處理器共享所述目錄。
[0014]另一方面,本發明提供了一種構建多處理器系統的方法,包括:
預先構建基本計算單元,其中,所述基本計算單元中包括:互連協議控制器、至少一個處理器,在每一個基本計算單元中,每個處理器與所述互連協議控制器通過各自的高速處理器接口相連;
根據待構建的多處理器系統中處理器的個數選擇至少一個基本計算單元;
將選擇出的基本計算單元通過各自的互連協議控制器相連;
利用所述互連協議控制器實現處理器之間的cache —致性協議處理。
[0015]進一步地,所述預先構建基本計算單元,包括:預先構建I路基本計算單元、2路基本計算單元和4路基本計算單元中的一種或多種,其中,所述I路基本計算單元中包括:一個處理器和一個互連協議控制器,所述2路基本計算單元中包括:2個處理器和一個互連協議控制器,所述4路基本計算單元中包括:4個處理器和一個互連協議控制器。
[0016]本發明提供了多處理器系統及構建多處理器系統的方法,通過構建的基本計算單元實現計算單元的模塊化,在基本計算單元中,處理器均與互聯協議控制器相連,通過互聯協議控制器實現處理器之間的cache —致性協議處理,使得處理器能夠協同工作,基本計算單元之間通過各自的互連協議控制器相連,實現基於基本計算單元的擴展,在本實施例提供的處理器系統中,處理器與互連協議控制器相連,而不是處理器之間直接相連,在本系統中的處理器只需要有一個高速處理器接口用來連接互聯協議控制器即可,降低了對處理器的高速處理器接口的數量的要求。
【專利附圖】
【附圖說明】
[0017]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0018]圖1本發明一實施例提供的一種多處理器系統的結構示意圖;
圖2本發明一實施例提供的一種I路基本計算單元的結構示意圖;
圖3本發明一實施例提供的一種2路基本計算單元的結構示意圖;
圖4本發明一實施例提供的一種4路基本計算單元的結構示意圖;
圖5本發明一實施例提供的一種8處理器的多處理器系統的結構示意圖;
圖6本發明一實施例提供的一種4處理器的多處理器系統的結構示意圖;
圖7本發明一實施例提供的一種2處理器的多處理器系統的結構示意圖;
圖8本發明一實施例提供的一種構建多處理器系統的方法流程圖。
【具體實施方式】
[0019]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例,基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0020]在現有的多處理器系統中,處理器與處理器通過各自的高速處理器接口直接相連,一個多處理器系統中處理器的多少,受到一個處理器上高速處理器接口的數量的限制,當高速處理器接口的數量多時,系統中可以擴展較多的處理器。為了在組建多處理器系統時,不受處理器上高速處理器接口的數量的限制,本發明實施例提供了一種多處理器系統,參見圖1,該系統包括:
至少一個基本計算單元101 ;
所述基本計算單元101中包括:互連協議控制器1011、至少一個處理器1012 ;
在每一個基本計算單元101中,每個處理器1012與所述互連協議控制器1011通過各自的高速處理器接口相連;
基本計算單元101之間通過各自的互連協議控制器1011相連;
所述互連協議控制器1011用於實現處理器1012之間的cache —致性協議處理。
[0021]上述實施例提供的一種多處理器系統,通過構建的基本計算單元101實現計算單元的模塊化,在基本計算單元101中,處理器1012均與互聯協議控制器1011相連,通過互聯協議控制器1011實現處理器1012之間的cache —致性協議處理,使得處理器1012能夠協同工作,基本計算單元101之間通過各自的互連協議控制器1011相連,實現基於基本計算單元101的擴展,在本實施例提供的處理器系統中,處理器1012與互連協議控制器1011相連,而不是處理器1012之間直接相連,在本系統中的處理器1012隻需要有一個高速處理器接口用來連接互聯協議控制器1011即可,降低了對處理器的高速處理器接口的數量的要求。
[0022]在互聯協議控制器1011上不僅配置有用於連接處理器1012的高速處理器接口,還可以配置上用於連接其他互聯協議控制器1011的高速網際網路接口。所述基本計算單元101的互連協議控制器1011通過各自的高速網際網路接口相連。在進行處理器的擴展時,將基本計算單元101作為一個模塊,進行基本計算單元101之間的連接,這種擴展方式更加方便,更加容易實現。
[0023]在本發明的實施例中,基本計算單元可以被設計為不同的結構,比如,I路基本計算單元,2路基本計算單元或者4路基本計算單元。
[0024]在一種可能的實現方式中,基本計算單元為I路基本計算單元,參見圖2,I路基本計算單元中包括:一個互連協議控制器201和一個處理器202。
[0025]在一種可能的實現方式中,基本計算單元為2路基本計算單元,參見圖3,2路基本計算單元中包括:一個互連協議控制器301和2個處理器302。
[0026]在一種可能的實現方式中,基本計算單元為4路基本計算單元,參見圖4,4路基本計算單元中包括:一個互連協議控制器401和4個處理器402。
[0027]在一種可能的實現方式中,多處理器系統為一個8處理器的多處理器系統。如圖5所示,該8處理器的多處理器系統包括:兩個4路基本計算單元,第一 4路基本計算單元501、第二 4路基本計算單元502 ;所述第一 4路基本計算單元501中包括:一個互連協議控制器5011和4個處理器5012 ;所述第二 4路基本計算單元502中包括:一個互連協議控制器5021和4個處理器5022 ;所述第一 4路基本計算單元501與所述第二 4路基本計算單元502通過各自的互連協議控制器相連。
[0028]在一種可能的實現方式中,多處理器系統為一個4處理器的多處理器系統。如圖6所示,該4處理器的多處理器系統包括:兩個2路基本計算單元,第一 2路基本計算單元601、第二 2路基本計算單元602 ;所述第一 2路基本計算單元601中包括:一個互連協議控制器6011和2個處理器6012 ;所述第二 2路基本計算單元602中包括:一個互連協議控制器6021和2個處理器6022 ;所述第一 2路基本計算單元601與所述第二 2路基本計算單元602通過各自的互連協議控制器相連。
[0029]在一種可能的實現方式中,多處理器系統為一個2處理器的多處理器系統。如圖7所示,該2處理器的多處理器系統包括:兩個I路基本計算單元,第一 I路基本計算單元701、第二 I路基本計算單元702 ;所述第一 I路基本計算單元701中包括:一個互連協議控制器7011和I個處理器7012 ;所述第二 I路基本計算單元702中包括:一個互連協議控制器7011和I個處理器7012 ;所述第一 I路基本計算單元701與所述第二 I路基本計算單元702通過各自的互連協議控制器相連。
[0030]圖2至圖7所示的實施例中,在每一個基本計算單元中,每個處理器與互連協議控制器通過各自的高速處理器接口相連。基本計算單元之間通過各自的互連協議控制器相連,基本計算單元的互連協議控制器之間通過各自的高速網際網路接口相連。
[0031 ] 上述實施例提供的互聯協議控制器中,包括高速處理器接口、高速網際網路接口,為了能夠實現處理器之間的cache —致性協議處理,所述互連協議控制器包括:協議處理引擎,用於實現處理器之間的cache —致性協議處理。
[0032]互連協議控制器在實現處理器之間的cache —致性協議處理時,可以通過以下處理來實現:所述互連協議控制器,用於通過目錄記錄進入cache的每個數據塊的訪問狀態、每個數據塊在各個處理器的共享狀態以及每個數據塊是否修改過的信息,與連接所述互聯協議控制器的處理器共享所述目錄。
[0033]本發明實施例還提供了一種構建多處理器系統的方法,參見圖8,該方法包括: 步驟801:預先構建基本計算單元,其中,所述基本計算單元中包括:互連協議控制器、
至少一個處理器,在每一個基本計算單元中,每個處理器與所述互連協議控制器通過各自的高速處理器接口相連;
步驟802:根據待構建的多處理器系統中處理器的個數選擇至少一個基本計算單元; 步驟803:將選擇出的基本計算單元通過各自的互連協議控制器相連;
步驟804:利用所述互連協議控制器實現處理器之間的cache —致性協議處理。
[0034]在一種可能的實現方式中,所述預先構建基本計算單元包括:預先構建I路基本計算單元、2路基本計算單元和4路基本計算單元中的一種或多種,其中,所述I路基本計算單元中包括:一個處理器和一個互連協議控制器,所述2路基本計算單元中包括:2個處理器和一個互連協議控制器,所述4路基本計算單元中包括:4個處理器和一個互連協議控制器。
[0035]舉例來說,當需要構建一個8處理器的多處理器系統時:
預先構建I路基本計算單元、2路基本計算單元和4路基本計算單元;
根據待構建的多處理器系統中處理器的個數為8個,選擇兩個4路基本計算單元;
將選擇出的兩個4路基本計算單元通過各自的互連協議控制器相連; 利用所述互連協議控制器實現處理器之間的cache —致性協議處理。
[0036]通過上述描述可見,本發明實施例具有如下有益效果:
1、本發明實施例提供了多處理器系統及構建多處理器系統的方法,通過構建的基本計算單元實現計算單元的模塊化,在基本計算單元中,處理器均與互聯協議控制器相連,通過互聯協議控制器實現處理器之間的cache —致性協議處理,使得處理器能夠協同工作,基本計算單元之間通過各自的互連協議控制器相連,實現基於基本計算單元的擴展,在本實施例提供的處理器系統中,處理器與互連協議控制器相連,而不是處理器之間直接相連,在本系統中的處理器只需要有一個高速處理器接口用來連接互聯協議控制器即可,降低了對處理器的高速處理器接口的數量的要求。
[0037]2、本發明實施例提供了多處理器系統及構建多處理器系統的方法,通過將處理器與互聯協議控制器連接,解除了處理器的高速處理器接口的數量對多處理器系統中處理器個數的限制,可以實現高速處理器接口數量較少的低端處理器的多路互聯,能夠實現基於低端處理器的多處理器系統,能夠實現多處理器系統緊耦合共享存儲器的系統要求,大大減少了多處理器系統的成本。
[0038]需要說明的是,在本文中,諸如第一和第二之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個......」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
[0039]本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光碟等各種可以存儲程序代碼的介質中。
[0040]最後需要說明的是:以上所述僅為本發明的較佳實施例,僅用於說明本發明的技術方案,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。
【權利要求】
1.一種多處理器系統,其特徵在於,包括:至少一個基本計算單元; 所述基本計算單元中包括:互連協議控制器、至少一個處理器; 在每一個基本計算單元中,每個處理器與所述互連協議控制器通過各自的高速處理器接口相連; 基本計算單元之間通過各自的互連協議控制器相連; 所述互連協議控制器用於實現處理器之間的cache —致性協議處理。
2.根據權利要求1所述的系統,其特徵在於,所述基本計算單元的互連協議控制器之間通過各自的高速網際網路接口相連。
3.根據權利要求1-2任一所述的系統,其特徵在於,所述基本計算單元包括:1路基本計算單元,其中,所述I路基本計算單元中包括:一個處理器和一個互連協議控制器。
4.根據權利要求1-2任一所述的系統,其特徵在於,所述基本計算單元包括:2路基本計算單元,其中,所述2路基本計算單元中包括:2個處理器和一個互連協議控制器。
5.根據權利要求1-2任一所述的系統,其特徵在於,所述基本計算單元包括:4路基本計算單元,其中,所述4路基本計算單元中包括:4個處理器和一個互連協議控制器。
6.根據權利要求5所述的系統,其特徵在於,包括:兩個4路基本計算單元。
7.根據權利要求1所述的系統,其特徵在於,所述互連協議控制器包括:協議處理引擎,用於實現處理器之間的cache —致性協議處理。
8.根據權利要求1所述的系統,其特徵在於,所述互連協議控制器,用於通過目錄記錄進入cache的每個數據塊的訪問狀態、每個數據塊在各個處理器的共享狀態以及每個數據塊是否修改過的信息,與連接所述互聯協議控制器的處理器共享所述目錄。
9.一種構建多處理器系統的方法,其特徵在於,包括: 預先構建基本計算單元,其中,所述基本計算單元中包括:互連協議控制器、至少一個處理器,在每一個基本計算單元中,每個處理器與所述互連協議控制器通過各自的高速處理器接口相連, 根據待構建的多處理器系統中處理器的個數選擇至少一個基本計算單元; 將選擇出的基本計算單元通過各自的互連協議控制器相連; 利用所述互連協議控制器實現處理器之間的cache —致性協議處理。
10.根據權利要求9所述的方法,其特徵在於,所述預先構建基本計算單元包括:預先構建I路基本計算單元、2路基本計算單元和4路基本計算單元中的一種或多種,其中,所述I路基本計算單元中包括:一個處理器和一個互連協議控制器,所述2路基本計算單元中包括:2個處理器和一個互連協議控制器,所述4路基本計算單元中包括:4個處理器和一個互連協議控制器。
【文檔編號】G06F15/163GK104462005SQ201410801303
【公開日】2015年3月25日 申請日期:2014年12月22日 優先權日:2014年12月22日
【發明者】王恩東, 胡雷鈞, 李仁剛 申請人:浪潮電子信息產業股份有限公司