動態可重構陣列調用配置信息的方法、緩存器和處理器的製作方法
2023-06-12 15:04:56 1
專利名稱:動態可重構陣列調用配置信息的方法、緩存器和處理器的製作方法
技術領域:
本發明涉及處理器內的信息調用方法,特別是指一種動態可重構陣列調用配置信息的方法、緩存器和處理器。
背景技術:
動態可重構處理器內往往含有多個算術邏輯單元,且數量巨大,稱之為眾核陣列。 陣列內部配以靈活度高的路由單元,實現算術邏輯單元之間多樣化的互聯。因此,經路由單元連接後的眾核陣列可實現對數據流的高速處理,較傳統的單核以及少核處理器在性能上有著巨大的優勢。同時,較固化的專用電路在靈活性上也有著巨大的優勢。目前的動態可重構處理器的結構示意圖如
圖1所示。動態可重構處理器的工作流程可概括為如下步驟動態可重構處理器由外部數據讀入裝置將處理器外存儲器內待處理的數據讀入處理器內,分發至子單元1、子單元2至子單元N等多個子單元處理內的外部數據緩存器。多個子單元將數據從各自的外部數據緩存器讀入,再進行處理。多個子單元同時處理,以達並行處理的效果。各子單元處理完後,將結果數據存於各自的內部數據緩存器。外部數據寫出裝置將結果數據從各子單元的內部數據緩存器讀入,並寫出到處理器外部存儲器。另外,除上述步驟外,在工作流程中,還包括子單元間的同步機制通過子單元間同步控制器來實現。子單元間的數據交互通過由子單元1向子單元間數據交互暫存器寫入數據,子單元2從子單元間數據交互暫存器讀出此數據來實現。使用時還需結合子單元間的同步機制,即子單元1向子單元間數據交互暫存器寫完數據後,子單元2才可開始讀取子單元間數據交互暫存器。動態可重構處理器可從數據流和配置流的角度去被描述。數據流的角度是指從對數據流的處理的角度出發,遍歷數據流所經過的動態可重構處理器內的各模塊,提出各模塊所需的功能。從數據流的角度出發,動態可重構處理器在結構上可分為以下四個部分一、數據存儲裝置包括1、外部數據緩存器用於將讀入的外部數據緩存,待需要時被讀出。2、內部數據存儲器用於暫存處理單元陣列運算所要使用的數據,待需要時數據被讀出,輸出到處理單元陣列。3、內部數據緩存器用於對處理單元陣列的結果數據進行緩存,待輸出至處理器外。4、子單元間數據交互暫存器用於暫存子單元1的結果數據,待子單元2讀出,以實現子單元間的數據交互。5、處理器間數據交互暫存器用於暫存第一處理器的子單元的結果數據,待第二處理器的子單元讀出,以實現處理器間的數據交互。
二、數據轉移裝置用於將數據從數據存儲裝置讀出,並寫入另一個數據存儲裝置,使數據在數據存儲裝置之間轉移。最終實現將數據寫入處理單元陣列,處理單元陣列運行完後,將處理單元陣列的結果數據讀出。圖1中的數據轉移裝置分為6個,包括外部數據讀入裝置,片內數據交互裝置,內外部數據轉換裝置,內部數據讀入裝置,內部數據寫出裝置,外部數據寫出裝置。按數據流的流動方向,具體說明如下。1、外部數據讀入裝置用於將動態可重構處理器外待處理的數據讀入動態可重構處理器內,緩存於外部數據緩存器。2、片內數據交互裝置用於將子單元間數據交換暫存器或者處理器間數據交互暫存器內存儲的其他子單元的結果數據讀出,分發至當前子單元的內部數據存儲器或直接分發至處理單元陣列,這取決於此子單元的結果數據是否可直接被處理單元陣列處理。3、內外部數據轉換裝置用於將外部數據緩存器內緩存的外部數據分發至內部數據存儲器或直接分發至處理單元陣列,這取決於此外部數據是否可直接被處理單元陣列處理。4、內部數據讀入裝置用於將內部數據存儲器裡存儲的當前子單元的內部數據讀出,並且在需要時將多塊2D數據拼接成一塊2D數據,最終將拼接後的數據(如果需要拼接的話)發送到處理單元陣列。注在本發明中,以2D的方式描述數據,一塊2D數據塊每行數據個數相同,並且以行對齊的方式存儲在存儲器中。5、內部數據寫出裝置用於將處理單元陣列的結果數據讀出,再寫入至處理單元陣列供緊接著運行處理單元陣列時使用,或寫入至內部數據存儲器將數據緩存起來,或寫入子單元間數據交互暫存器供子單元間數據交互使用,或寫入處理器間數據交互暫存器供處理器間數據交互使用,或寫入內部數據緩存器待輸出至處理器外。6、外部數據寫出裝置用於將緩存於內部數據緩存器的子單元的結果數據輸出至處理器外。三、運算單元圖1中的運算單元即處理單元陣列,處理單元是一個算術邏輯運算單元,可實現基本的算術運算功能和邏輯運算功能以及一些定製的算術邏輯運算功能。處理單元之間通過路由單元連接,以實現處理單元之間的靈活且快速的數據傳遞。整個處理單元陣列通過時序控制單元控制,以協調處理單元陣列的輸入、運算、輸出之間的時序關係。處理單元陣列可實現對大批量數據進行循環操作的快速處理。四、同步控制裝置同步控制裝置即子單元間同步控制器,可實現多個子單元(1個至N個,N為子單元個數)均完成其各自的指定子任務後多個子單元(此處的多個可與之前的多個不一致) 才可執行其各自子任務序列中的下一個子任務。子單元間同步控制器實現了某任務在被劃分為多個子任務後,分發至多個子單元並行執行,多個子單元並行執行完多個子任務後的同步。同步後才可開始下一任務的並行
5化執行。上面說明了處理器的結構以及數據處理流程,下面通過配置流說明處理器處理任務的過程。定義出一套有效的控制信息和一組有效的控制機制,不僅對動態可重構處理器內的各個模塊的功能進行控制,更使得各個模塊之間可正確的協同工作。配置流從底層出發,首先完成一個簡單的子任務,再由多個子任務串聯起一個任務,最終由多個任務串聯起一個完整的應用算法。層次化的動態可重構處理器的配置信息定義如下(為便於理解,採取自底向上的方式來層層描述動態可重構處理器的配置信息)配置信息層次3——處理單元陣列的配置信息,參見表1,包括每個處理單元的算術邏輯功能的選擇信息。每個處理單元的輸入選擇信息,這體現了處理單元陣列的路由結構。處理單元陣列的時序控制信息。表1處理單元陣列配置信息
權利要求
1.一種動態可重構陣列處理器內調用配置信息的方法,其特徵在於,包括 子單元向處理單元陣列配置信息緩存器發出配置信息請求;按照所述配置信息請求,在所述處理單元陣列配置信息緩存器內查找到一定時間內調用過的配置信息;將所述配置信息反饋到所述子單元。
2.根據權利要求1所述的方法,其特徵在於,所述配置信息請求中包括配置信息地址; 查找到具有相同所述配置信息地址的所述配置信息,反饋到所述子單元。
3.根據權利要求2所述的方法,其特徵在於,所述反饋之後,還包括在所述處理單元陣列配置信息緩存器內,獲得存在時間比所述查找到的配置信息的存在時間小的配置信息,更新所述獲得的配置信息的存在時間;在所述更新過程中,將所述查找到的所述配置信息的存在時間,設置為最小。
4.根據權利要求2所述的方法,其特徵在於,還包括如果在所述處理單元陣列配置信息緩存器沒有查找到所述配置信息,則將所述配置信息地址發送至處理單元陣列配置信息存儲器;按照所述配置信息地址,在所述處理單元陣列配置信息存儲器內查找到具有相同所述配置信息地址的所述配置信息;將所述配置信息反饋到所述子單元。
5.根據權利要求4所述的方法,其特徵在於,所述處理單元陣列配置信息緩存器,將所述處理單元陣列配置信息存儲器查找到的所述配置信息轉發到所述子單元; 還包括所述處理單元陣列配置信息緩存器轉發所述配置信息的過程中,將所述配置信息替換自身存儲的存在時間最長的配置信息。
6.根據權利要求5所述的方法,其特徵在於,所述替換之後,還包括 更新所述處理單元陣列配置信息緩存器內的各個配置信息的存在時間;在所述更新過程中,將所述替換後的所述配置信息的存在時間,設置為最小。
7.一種用於動態可重構陣列處理器的處理單元陣列配置信息緩存器,其特徵在於,包括所述處理單元陣列配置信息緩存器包括多個配置信息存儲單元、邏輯控制單元; 每個所述信息存儲單元,用於存儲一條配置信息;所述邏輯控制單元,用於接收配置信息請求,在所述信息存儲單元中查找到一定時間內調用過的配置信息,並將所述查找到的配置信息回復所述配置信息請求的發起方。
8.根據權利要求7所述的緩存器,其特徵在於,所述邏輯控制單元包括檢索模塊,用於按照接收的所述配置信息請求中的配置信息地址,在所述配置信息存儲單元中,查找到具有相同所述配置信息地址的配置信息,發送至所述子單元;轉發模塊,用於在所述檢索模塊沒有查找到所述配置信息,將轉發所述配置信息請求; 接收所述配置信息請求對應的所述配置信息,轉發至所述子單元,並將所述配置信息替換所述配置信息存儲單元中存在時間最長的配置信息;時間戳模塊,用於記錄每個所述配置信息的存在時間,在所述檢索模塊發送所述配置信息後,獲得存在時間比所述查找到的配置信息的存在時間小的配置信息,更新所述獲得的配置信息的存在時間,並將所述查找到的配置信息的存在時間設置為最小;或轉發模塊發送所述配置信息後,更新每個所述配置信息的存在時間,並將所述替換後的配置信息的存在時間,設置為最小。
9.一種動態可重構陣列處理器,其特徵在於,包括子單元,用於向處理單元陣列配置信息緩存器發出配置信息請求;所述處理單元陣列配置信息緩存器包括多個配置信息存儲單元、邏輯控制單元;每個所述信息存儲單元,用於存儲一條配置信息;所述邏輯控制單元,用於接收配置信息請求,在所述信息存儲單元中查找到一定時間內調用過的配置信息,並將所述查找到的配置信息回復所述子單元;如果沒有查找到,則將所述配置信息請求輸出,接收回復的對應所述配置信息請求的配置信息,將所述接收的配置轉發所述子單元。
10.根據權利要求9所述的處理器,其特徵在於,還包括處理單元陣列配置信息存儲器,用於接收來自所述處理單元陣列配置信息緩存器的所述配置請求;按照所述配置信息請求,在自身內查找到相應的所述配置信息,將所述配置信息回復給所述處理單元陣列配置信息緩存器。
全文摘要
本發明公開了一種動態可重構陣列調用配置信息的方法、緩存器和處理器,方法包括子單元向處理單元陣列配置信息緩存器發出配置信息請求;按照所述配置信息請求,在所述處理單元陣列配置信息緩存器內查找到一定時間內調用過的配置信息;將所述配置信息反饋到所述子單元。本發明還提供一種用於動態可重構處理器的處理單元陣列配置信息緩存器以及動態可重構處理器。由於緩存器內存儲子單元存儲著在一定時間內調用的配置信息,只有在處理單元陣列配置信息高速緩存器內沒有找到配置信息時,才會到處理單元陣列配置信息存儲器內獲得配置信息,從而提高了配置信息的調用效率,縮短了調用時間。
文檔編號G06F9/34GK102279729SQ20111015950
公開日2011年12月14日 申請日期2011年6月14日 優先權日2011年6月14日
發明者劉雷波, 尹首一, 戚斌, 時龍興, 曹鵬, 朱敏, 楊軍, 王延升, 魏少軍 申請人:清華大學