專利名稱:組件化時鐘精確的多核體系模擬器的實現方法
技術領域:
本發明涉及多核體系結構模擬器,特別是涉及一種組件化時鐘精確的多核體 系模擬器的實現方法。
背景技術:
而且隨著處理器主頻的提高,處理器的功率消耗升高的更快。例如一個主頻
在2GHz以上的處理器,其功率消耗已經達到了近100W,這已經是風冷散熱技 術的極限。如果繼續增加處理器的主頻,處理器很可能由于散熱過大而無法運 行。 一方面是對處理器性能提升的迫切需求, 一方面是目前的提升處理器性能 方式遇到瓶頸。面對這種尷尬的境地,各大處理器廠商都開始積極的尋找新的 提升處理器性能的方法。
在這樣的背景下,多核處理器技術應運而生。多核處理器的基本思想就是通 過多個低主頻的處理器替代一個高主頻的處理器。
從物理結構上講,多核處理器技術就是在同一塊硅片上集成多個處理器核 心,在實際運行中他們協同工作,以達到性能倍增的目的。已經發布的多核處 理器很多,比如IBM公司的Power4芯片,它首先使用了兩個獨立的處理核心, 高端的Sun Microsystems也使用了多核心的處理芯片。Intel繼Itanium 2之后, 公布了代號為Tanglewood的下一代Itanium發展計劃,這款全新的Itanium芯片 最高將包含16顆獨立的處理器,加上超線程技術,這款處理器能夠處理高達32 個線程。
隨著處理器性能的提高,處理器的結構也更加復雜,使得設計者在設計一款 高性能處理器時需要進行仔細地權衡,不可能再僅僅憑借經驗、直覺。模擬器 可幫助設計者評估各種設計方案,迅速的選定合理的方案。因此在現代處理器 結構設計過程中,模擬器的地位顯得越來越。
時鐘精確模擬是一個性能模擬器的主要特征。只有能夠對系統的行為進行精 細的模擬才能反應出系統設計中各種各樣的問題,從而為設計的改善提供有價 值的依據。
在模擬器上進行硬件設計和研究省去了要把硬件設計通過硬件實現后才能 進行測試的麻煩和成本。傳統的硬件設計和解決方案設計的一個設計周期流程 是首先進行結構設計,通過FPGA實現,再進行各項性能的測試,最后再針對測試中發現的問題,進行設計改良。其中對硬件的測試環節要花費大量的時間 和精力。對于硬件的每一點改動都要重新對其進行實現才能對它的性能進行繼 續的測試。這是很繁瑣,很耗費時間的事情。如果用軟件來實現對硬件設計的 測試就會節約很多時間和精力。
相對于硬件,軟件更加靈活,每次修改只要重新編譯就能繼續進行測試,使 得測試更加便捷。如此可以先用模擬器對已有的硬件體系進行測試和修改,得 到一個相對滿意的設計方案時,再用硬件實現,進行測試,這樣就能大大縮減 體系結構的設計周期。
與通過硬件描述語言來實現硬件設計再利用邏輯綜合軟件進行綜合分析相 比,用模擬器來實現硬件的設計不僅能描述每個時鐘周期硬件輸入輸出的波形 情況,還可以對硬件的運行情況,如處理器的吞吐量、緩存的使用情況、總線
的空閑情況等信息進行統計;同時設計者還可以根據自己的需求來添加對硬件 運行情況的統計信息,從而使硬件設計的測試具有更大的靈活性和可擴展性。
發明內容
本發明的目的在于提供一種組件化時鐘精確的多核體系模擬器的實現方法。
本發明解決其技術問題采用的技術方案如下
1) 體系結構組件化
根據功能對多核體系結構進行劃分,劃分后由五個部分組成主處理器核、 多個輔助處理器核、處理器總線、內存控制器和內存;
2) 組件接口設計
設計組件之間的接口,組件接口主要有主設備和處理器總線的接口,從 設備和處理器總線的接口,仲裁器和處理器總線的接口;
主設備和處理器總線的接口位于主設備和處理器總線的連接處,它的功能 在于連接主設備和處理器總線,實現主設備和處理器總線之間的數據傳輸;
從設備和處理器總線的接口位于從設備和處理器總線的連接處,它的功能 在于連接從設備和處理器總線,實現從設備和處理器總線之間的數據傳輸;
仲裁器和處理器總線的接口位于處理器總線和總線仲裁器的連接處,它的 功能在于連接仲裁器和處理器總線,使得總裁器可以接受總線上傳輸的請求, 并把仲裁結果返回給總線;
3) 時鐘精確的模擬包括 第一步,模擬實際硬件的微結構;第二步,模擬系統內的不同頻率; 第三步,實現系統內部的協議。 本發明與背景技術相比,具有的有益的效果是
本發明是一種組件化時鐘精確的多核體系模擬器的實現方法,其主要功能 是以多核處理器為模擬目標,以組件化為出發點,將多核體系結構的組成部件 封裝為組件,保證以組件為單位的組裝配置,有較好的靈活性。不僅能模擬核 內流水線的動作,還能模擬多個處理器核之間的動作。本方法實現了時鐘精確 多核體系模擬器,有利于多核處理器體系結構設計、多核軟件性能評估以及軟 硬協同設計,可以加速硬件設計的驗證過程從而縮短了整個硬件設計的周期。
(1) 高效性。本方法實現了組件化時鐘精確的多核體系模擬器,能模擬核內 流水線的動作,還能模擬多個處理器核之間的動作。
(2) 靈活性。以組件化為出發點,將多核體系結構的組成部件封裝為組件, 保證以組件為單位的組裝配置,有較好的靈活性。
圖1是本發明的實施過程示意圖。
圖2是本發明的組件化多核體系結構示意圖。
圖3是本發明的組件接口設計示意圖。
具體實施例方式
本發明是一種組件化時鐘精確的多核體系模擬器的實現方法,下面結合圖1 說明其具體實施過程。 l)體系結構組件化-
整個模擬器的設計,以組件化的方式進行。"組件化"的含義是整個系統的每 一個部分都是一個獨立的模塊,對某個模塊的修改和替換并不影響其它模塊的 使用。"組件化"模型也可以被稱為"通用體系"模型。
計算部件和通信部件都可以根據特殊應用的需求進行定制。對于計算部件, 可能改變他們的數量或種類;對于通信部件,可能選擇特定的通信模式。這樣 就形成了一個"體系模版",只需要配置這個模版中的不同組件就能夠產生新的面 向應用的體系結構。由此可見"組件化"要求有一套完整的接口規范,并且能夠根 據功能把模塊進行合理的劃分。
多核體系結構模擬器,是一個支持多核的體系結構模擬器。因此,這個模 擬器在結構上除了要包含普通PC體系結構的必要組成部分外,還要有支持多核 體系結構的功能。為了便于研究和實現,去掉一般體系結構中的非必要組件,使得設計的模擬器結構技能反映硬件的真實情況,又能夠簡潔明快,易于重組。 如圖2所示,組件化多核體系結構由五部分組成,包括主處理器核(簡 稱主核)、輔助處理器核(簡稱輔核)、處理器總線、內存控制器和內存。其中 主處理器核、輔助處理器核和處理器總線的內部還可以有更細致的結構。其中, 輔核的個數可以根據應用環境的不同進行配置,可以是一個,也可以配置成多 個(不超過16個)。
2) 組件接口設計
設計組件之間的接口。如圖3所示,組件接口主要有主設備和處理器總 線的接口,從設備和處理器總線的接口,仲裁器和處理器總線的接口。
主設備和處理器總線的接口位于主設備和處理器總線的連接處,它的功能 在于連接主設備和處理器總線,實現主設備和處理器總線之間的數據傳輸。其 中主設備指的是總線傳輸的請求者。處理器核就是一個典型的主設備。
從設備和處理器總線的接口位于從設備和處理器總線的連接處,它的功能 在于連接從設備和處理器總線,實現從設備和處理器總線之間的數據傳輸。其 中從設備指的是總線傳輸的接收者。內存控制器就是一個典型的從設備。
仲裁器和處理器總線的接口位于處理器總線和總線仲裁器的連接處,它的 功能在于連接仲裁器和處理器總線,使得總裁器可以接受總線上傳輸的請求, 并把仲裁結果返回給總線。
3) 時鐘精確的模擬
要使得模擬器的行為要符合硬件的運行情況,首先要模擬實際硬件的微結 構。比如要模擬一個處理器,還要同時實現解碼器、寄存器、運算器等內部器 件。
其次要模擬系統內的不同頻率。比如, 一次內存讀取的時間是幾百個時鐘 周期,這不但是因為讀取的數據需要從內存傳輸到處理器,而且是因為內存和 處理器運行在不同的時鐘頻率上, 一個內存的時鐘周期可能是一個處理器的時 鐘周期的幾十倍。
第三是要實現系統內部的協議,比如數據從總線上的主設備傳輸到從設備 首先要進行申請,在被仲裁,得到傳輸權限后,才能進行數據的傳輸。這個過 程是由總線的協議所規定的,因此為了符合數據傳輸的實際情況,也要對其進 行實現。
為了提高模擬器的效率,模擬器只能保證整個系統在時鐘的觸發沿的狀態 與硬件的行為是相一致的,有時甚至只能保證與硬件實際行為相比,整個系統的狀態要推遲一個時鐘周期,而不能保證系統的狀態在每一個時間點都與硬件 相一致。這主要是因為實際硬件行為是一個非線性的結構,而模擬器需要一個 線性的順序來運行。比如, 一個門電路有兩個輸入和一個輸出,在實際硬件的 情況中,任何一個輸入的改變都會改變輸出。如果要真實的模擬硬件的行為, 就需要對兩個輸入的器件和這個門電路分別用一個線程表示,門電路的線程要 隨時監控兩個輸入的變化,并根據輸入的變化改變輸出。這樣就會浪費很多時 間在監測輸入的變化上。而實際上,對于一個有時鐘控制的系統,輸出的結果 只和時鐘的活動邊沿時的輸出有關。因此只需要在時鐘的活動邊沿時根據輸入 值改變輸出結果就能夠保證輸出的正確性。
實際的硬件系統,是一個帶有反饋的非線性的結構,而計算機程序的流程 是一個線性的結構,這樣就要在本來非線性的結構上找出一個方法把它線性化。 這個線性化的方法的主要依據是物理器件間邏輯上的先后順序。比如在一個流
水線結構的處理器中,執行一條指令需要先取指令;再經行譯碼,確定指令的 功能;再根據指令的要求進行計算;然后是訪問內存的操作,最后是把計算結 果寫回到寄存器中。整個過程涉及的器件只是簡單的連接,并沒有先后的順序, 而在邏輯上卻有一個先后的次序。因此在模擬時就可以依照這個次序,先運行 取指令設計的相關器件,再運行譯碼的相關器件,以此類推。
權利要求
1.一種組件化時鐘精確的多核體系模擬器的實現方法,其特征在于1)體系結構組件化根據功能對多核體系結構進行劃分,劃分后由五個部分組成主處理器核、多個輔助處理器核、處理器總線、內存控制器和內存;2)組件接口設計設計組件之間的接口,組件接口主要有主設備和處理器總線的接口,從設備和處理器總線的接口,仲裁器和處理器總線的接口;主設備和處理器總線的接口位于主設備和處理器總線的連接處,它的功能在于連接主設備和處理器總線,實現主設備和處理器總線之間的數據傳輸;從設備和處理器總線的接口位于從設備和處理器總線的連接處,它的功能在于連接從設備和處理器總線,實現從設備和處理器總線之間的數據傳輸;仲裁器和處理器總線的接口位于處理器總線和總線仲裁器的連接處,它的功能在于連接仲裁器和處理器總線,使得總裁器可以接受總線上傳輸的請求,并把仲裁結果返回給總線;3)時鐘精確的模擬包括第一步,模擬實際硬件的微結構;第二步,模擬系統內的不同頻率;第三步,實現系統內部的協議。
全文摘要
本發明公開了一種組件化時鐘精確的多核體系模擬器的實現方法。本發明的方法以多核處理器為模擬目標,以組件化為出發點,將多核體系結構的組成部件封裝為組件,保證以組件為單位的組裝配置,有較好的靈活性。不僅能模擬核內流水線的動作,還能模擬多個處理器核之間的動作。本發明實現了組件化時鐘精確的多核體系模擬器,能模擬核內流水線的動作,還能模擬多個處理器核之間的動作;以組件化為出發點,將多核體系結構的組成部件封裝為組件,保證以組件為單位的組裝配置,有較好的靈活性。
文檔編號G06F9/455GK101290582SQ20081006216
公開日2008年10月22日 申請日期2008年6月3日 優先權日2008年6月3日
發明者嚴力科, 馮德貴, 施青松, 章鐵飛, 威 胡, 斌 謝, 度 陳, 陳天洲, 項凌祥, 黃江偉 申請人:浙江大學