專利名稱:基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于片上多核異構(gòu)系統(tǒng),具體涉及一種基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng)及其使用的通信模型。
背景技術(shù):
由于互聯(lián)策略對片上系統(tǒng)的性能影響很大,而可重構(gòu)系統(tǒng)要求硬件平臺具有很強的可擴展性,因此在現(xiàn)場可編程門陣列(Field Programming GateArray, FPGA)這種資源受限的硬件平臺上,如何選擇一種高效、可擴展、低開銷的互聯(lián)架構(gòu)是片上系統(tǒng)(System on Chip, SoC)設計者和開發(fā)人員要研究的重要問題。主流的片上高效通信機制有兩種,一是基于總線共享存儲(主要是Cache)的結(jié)構(gòu),一種是基于其他交叉開關(guān)等片上互連的結(jié)構(gòu)。隨著以IP核antellectual Property core)復用為基礎(chǔ)的SoC設計技術(shù)的發(fā)展,工業(yè)界及研究組織積極從事相關(guān)IP互聯(lián)標準方案的制定工作,總線是目前SoC設計中廣為使用的IP核互連方式。從目前的研究和發(fā)展看,影響力較大的常用總線有ARM的 AMBA(Advanced Microcontroller BusArchitecture)總線、IBM 的 CoreConnect 總線、 Silicore 公司的 Wishbone 總線、Altera 的 Avalon 總線、PlamchIP 的 CoreFrame 總線、 MIPS 的 EC Interface 總線、Altera 的 Atlantic Interface 總線、IDT 的 IPBus (IDT Peripheral Bus)總線等。總體來說,這種基于總線的互聯(lián)方式雖然技術(shù)比較成熟,效率也較高,但是各個模塊之間的互聯(lián)方式比較固定,可擴展性不強,不適用于進行可重構(gòu)的片上系統(tǒng)研究。另一方面,基于交叉開關(guān)和MESH等片上互連的結(jié)構(gòu)是指每個處理核具有各自獨立的處理單元和存儲層次,各個處理核之間通過片上總線網(wǎng)絡相互連接。同時,采用這種互連方式時,由于各個處理核并不共享存儲(Cache等),因而一般采用基于信箱機制的消息通信方式。這種互聯(lián)方式一般可擴展性比較高,但是占用的硬件資源較多,會加大布局布線的難度和硬件開銷??偟膩碚f,目前的片上互聯(lián)結(jié)構(gòu)的可擴展性,高性能,低開銷等幾個條件很難同時滿足。本發(fā)明因此而來。
發(fā)明內(nèi)容為了克服背景技術(shù)中存在的不足,本發(fā)明的一個目的在于提供一種基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng),本發(fā)明的另一個目的在于提供所述片上異構(gòu)多核系統(tǒng)使用的通信模型,本發(fā)明可通過使用基于點對點互聯(lián)總線的星型結(jié)構(gòu)以及總線機制的可重構(gòu)策略來提高訪問的吞吐率和可擴展性。為了解決現(xiàn)有技術(shù)中的這些問題,本發(fā)明提供的技術(shù)方案是—種基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng),包括核心調(diào)度處理器、至少一個計算處理器和至少一個硬件IP核,其特征在于所述核心調(diào)度處理器與計算處理器之間、核心調(diào)度處理器和硬件IP核之間均采用基于點對點總線的片上網(wǎng)絡進行互聯(lián)形成星型互聯(lián)架構(gòu),所述核心調(diào)度處理器與計算處理器之間基于星型互聯(lián)架構(gòu)的通信模型進行消息傳遞,所述通信模型采用非阻塞接口實現(xiàn)優(yōu)選的,所述核心調(diào)度處理器負責從用戶接收任務請求,并將任務請求通過基于星型互聯(lián)架構(gòu)發(fā)送給計算處理器。優(yōu)選的,所述計算處理器負責從核心調(diào)度處理器接收任務請求并進行任務計算; 在計算結(jié)束后,將結(jié)果通過基于星型互聯(lián)架構(gòu)發(fā)送到核心調(diào)度處理器。優(yōu)選的,所述核心調(diào)度處理器和計算處理器間設置軟件接口,所述核心調(diào)度處理器和硬件IP核間設置硬件接口 ;所述硬件接口為在硬件IP核外部實現(xiàn)的接口封裝,將硬件IP核轉(zhuǎn)換成直接掛載到星型互聯(lián)架構(gòu)上的硬件模塊;所述軟件接口為計算處理器在用戶提供的任務函數(shù)基礎(chǔ)上進行封裝且使封裝與硬件的接口時序保持一致。優(yōu)選的,所述硬件接口中定義信號和變量包含與原硬件IP核端口對應的信號、中間變量、輸入輸出緩沖區(qū)和狀態(tài)機;所述狀態(tài)機設置四個基本的狀態(tài)Idle、Read、 Execution和Write ;Idle為空閑狀態(tài),等待總線上的數(shù)據(jù),Read階段負責從總線上讀入原硬件IP核所需要的所有輸入數(shù)據(jù)到輸入緩沖區(qū),Execution階段完成原硬件IP核的功能, 并將結(jié)果寫入輸出緩沖區(qū),Write階段將輸出緩沖區(qū)中的數(shù)據(jù)發(fā)送到總線上。本發(fā)明的另一目的在于提供一種基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng)進行通信的方法,其特征在于所述方法包括核心調(diào)度處理器從用戶接收任務請求,將任務直接劃分為不同的子任務并傳輸給計算處理器或硬件IP核;當存在數(shù)據(jù)依賴時,子任務在通過核心調(diào)度處理器進行調(diào)度時串行執(zhí)行的步驟。優(yōu)選的,所述方法中核心調(diào)度處理器首先發(fā)送請求任務的類型ID到計算處理器, 然后發(fā)送請求任務的輸入數(shù)據(jù);計算處理器在收到任務ID之后進行判斷,確定需要動態(tài)調(diào)用的任務模塊;在收到計算數(shù)據(jù)的輸入之后,將數(shù)據(jù)轉(zhuǎn)發(fā)到對應的任務模塊執(zhí)行;在執(zhí)行結(jié)束之后,計算處理器需要向核心調(diào)度處理器發(fā)送結(jié)果;在發(fā)送之前,需要首先發(fā)送任務 ID,然后再發(fā)送計算結(jié)果;核心調(diào)度處理器接收到任務ID時,觸發(fā)計算處理器對應的中斷; 然后從總線讀取計算結(jié)果數(shù)據(jù),并在中斷處理函數(shù)中將計算結(jié)果返回給用戶。本發(fā)明提出了一種基于星型互聯(lián)架構(gòu)的異構(gòu)多核系統(tǒng)及其使用的通信機制,該機制在使用點對點互聯(lián)的基礎(chǔ)上構(gòu)建了可重構(gòu)的星型互聯(lián)架構(gòu),并提供了對應的通信模型和編程接口,有很強的擴展性。本發(fā)明所述的片上異構(gòu)多核系統(tǒng),包括一個核心調(diào)度處理器, 至少一個計算處理器以及至少一個IP核構(gòu)成,所述核心調(diào)度處理器與計算處理器和IP核之間采用基于點對點總線的片上總線進行互聯(lián),所述核心調(diào)度處理器與計算處理器之間的消息傳遞基于所述互聯(lián)架構(gòu)的通信模型。所述通信模型采用非阻塞接口實現(xiàn)。優(yōu)選的,所述核心調(diào)度處理器負責從用戶接收任務請求,并把任務請求通過互聯(lián)結(jié)構(gòu)發(fā)送給計算處理器。所述計算處理器負責從核心調(diào)度處理器接收任務請求并進行任務計算。所述核心調(diào)度處理器與計算處理器之間采用基于點對點總線的片上網(wǎng)絡進行互聯(lián)。本發(fā)明片上異構(gòu)多核系統(tǒng)使用的通信接口,包括軟件接口與硬件接口兩種(1) 在硬件接口上,本發(fā)明在硬件IP核外部實現(xiàn)了一層接口封裝,將其轉(zhuǎn)換成可以直接掛載到星型互聯(lián)架構(gòu)上的硬件模塊。在進行件轉(zhuǎn)換時首先需要定義組件模塊和使用的變量,同時為了保證原IP核的功能不因為總線數(shù)據(jù)的延遲而產(chǎn)生錯誤,將原IP核的所有輸入數(shù)據(jù)和輸出數(shù)據(jù)緩沖,只有從總線上獲得了所有的輸入數(shù)據(jù)后才開始執(zhí)行原IP核的功能,只有原 IP核獲得了所有的輸出結(jié)果后,才將結(jié)果發(fā)送到總線。需要定義的信號和變量包含(1)與原IP核端口對應的信號、O)中間變量、(3)輸入輸出緩沖區(qū)、(4)狀態(tài)機。狀態(tài)機可以抽象為四個基本的狀態(tài)(Idle,Read,Execution,feite),Idle為空閑狀態(tài),等待總線上的數(shù)據(jù),Read階段負責從總線上讀入原IP核所需要的所有輸入數(shù)據(jù)到輸入緩沖區(qū),Execution階段完成原IP核的功能,并將結(jié)果寫入輸出緩沖區(qū),Write階段將輸出緩沖區(qū)中的數(shù)據(jù)發(fā)送到總線上。(2)在軟件接口上,所述核心調(diào)度處理器從計算處理器接收用戶發(fā)送的任務請求之后,首先在本地進行任務的劃分和決策,如果決策的結(jié)果是計算處理器,則通過總線將任務發(fā)送到計算處理器上執(zhí)行。具體的工作流程如下①在發(fā)送數(shù)據(jù)之前,首先需要告知計算處理器請求任務的類型,然后發(fā)送請求任務的輸入數(shù)據(jù)。這兩種類型的數(shù)據(jù)均通過總線復用進行傳輸。②計算處理器在收到任務ID之后進行判斷,確定需要動態(tài)調(diào)用的任務模塊。接收任務ID的形式,可以考慮采用查詢或者中斷兩種形式。③計算處理器在收到計算數(shù)據(jù)的輸入之后,將數(shù)據(jù)轉(zhuǎn)發(fā)到對應的功能模塊執(zhí)行。④在執(zhí)行結(jié)束之后,計算處理器需要向核心調(diào)度處理器發(fā)送結(jié)果。在發(fā)送時,需要首先發(fā)送任務ID,然后再發(fā)送計算結(jié)果。⑤核心調(diào)度處理器接收到任務ID時,首先觸發(fā)計算處理器對應的中斷,然后獲取計算結(jié)果。之后在中斷處理函數(shù)中將計算結(jié)果返回給用戶。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下顯著的優(yōu)點1、本發(fā)明采用雙總線架構(gòu),把存儲陣列從邏輯上分為奇偶兩個體,奇偶兩個個體可同時并行工作。每個個體中又采取位擴展的策略,使用同一個控制器對他們進行命令控制,但是傳輸從PCI端來的不同字節(jié)的數(shù)據(jù)。這樣,我們即能達到多片并行,又能減少控制器邏輯。2、本發(fā)明采用高速靜態(tài)SRAM作為數(shù)據(jù)緩存。由于SRAM的讀寫速度比Flash要快的多,因此在本發(fā)明讀寫之前對數(shù)據(jù)進行緩沖,并掩蓋了 Flash的內(nèi)部編程時間,可以大大提高系統(tǒng)的吞吐率。
以下結(jié)合附圖及實施例對本發(fā)明作進一步描述
圖1是本發(fā)明基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng)的系統(tǒng)架構(gòu)示意圖;圖2是本發(fā)明基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng)的軟硬件封裝接口示意圖;圖3是本發(fā)明基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng)的硬件計算資源狀態(tài)機;圖4是本發(fā)明基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng)的計算資源工作流程;圖5是本發(fā)明基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng)采用阻塞和非阻塞編程接口的調(diào)度時序圖;1為計算處理器;2為硬件IP核;3為核心調(diào)度處理器。
具體實施方式
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 并可依照說明書的內(nèi)容予以實施,以下結(jié)合具體實施例對上述方案做進一步說明。應理解,
5這些實施例是用于說明本發(fā)明而不限于限制本發(fā)明的范圍。實施例如圖1所示,本實施例得到的片上異構(gòu)多核系統(tǒng),由一個核心調(diào)度處理器3,3個計算處理器1以及3個IP核2構(gòu)成,所述核心調(diào)度處理器與計算處理器和IP核之間采用基于點對點總線的片上總線進行互聯(lián),所述核心調(diào)度處理器與計算處理器之間的消息傳遞基于所述互聯(lián)架構(gòu)的通信模型。所述通信模型采用非阻塞接口實現(xiàn)。所述核心調(diào)度處理器負責從用戶接收任務請求,并把任務請求通過互聯(lián)結(jié)構(gòu)發(fā)送給計算處理器。所述計算處理器負責從核心調(diào)度處理器接收任務請求并進行任務計算。所述核心調(diào)度處理器與計算處理器之間采用基于點對點總線的片上網(wǎng)絡進行互聯(lián)??紤]到本實施例所涉及的計算單元之間傳遞的數(shù)據(jù)規(guī)模比較小,而數(shù)據(jù)的傳遞主要體現(xiàn)在不同的任務結(jié)果之間,因此計算資源之間的通訊主要采用消息傳遞機制。本實施例的互聯(lián)模型可以基于下面兩種互聯(lián)機制點對點互聯(lián)機制和星型總線架構(gòu)。由于本發(fā)明主要基于片上多核平臺,在同一芯片上對不同計算處理器傳輸?shù)男阅芤蟊容^高,因此比較適合用點對點的方式進行互聯(lián)。在點對點的互聯(lián)結(jié)構(gòu)中包括一個基于先進先出規(guī)則的單向緩沖(FIFO),主要用于進行不同計算資源之間的數(shù)據(jù)傳輸和暫存。 核心調(diào)度處理器可以直接進行總線數(shù)據(jù)的讀寫。其訪問機制封裝成總線宏格式,可以在軟件程序中直接調(diào)用,以實現(xiàn)軟硬件模塊的快速通信。進一步的,該點對點互聯(lián)機制為雙向互聯(lián)。由于在核心調(diào)度處理器與計算單元之間要使用總線進行數(shù)據(jù)傳輸,就必須分別作為主設備或從設備連接到互聯(lián)模塊上。在發(fā)送任務時,調(diào)度處理器為主模塊,而任務執(zhí)行完畢之后結(jié)果從計算資源傳回調(diào)度處理器時,調(diào)度處理器作為從模塊?;邳c對點總線,核心調(diào)度處理器與計算單元(計算處理器和硬件IP核)之間構(gòu)成了一個星型網(wǎng)絡。核心調(diào)度處理器通過總線與各個計算單元相連。圖1為本發(fā)明由點對點總線擴展得到的星型總線架構(gòu)。根據(jù)所述的系統(tǒng)架構(gòu),所有的計算數(shù)據(jù)在由應用程序傳輸?shù)接嬎銌卧蠄?zhí)行之前都經(jīng)過核心調(diào)度處理器,因此,核心調(diào)度處理器所進行的數(shù)據(jù)分配和轉(zhuǎn)發(fā)策略是系統(tǒng)傳輸過程中的一個瓶頸。但是,采用基于點對點總線的星型網(wǎng)絡可以有效解決各個計算單元在傳輸數(shù)據(jù)中引發(fā)的數(shù)據(jù)沖突問題。與此同時,由于應用程序劃分為多個子任務在不同的計算單元上執(zhí)行,而計算單元之間可能存在數(shù)據(jù)傳輸,因此需要確定各個計算單元之間的連接類型和方式。系統(tǒng)可以采取的互聯(lián)和通訊策略主要有以下三種(1)可以針對應用程序?qū)?shù)據(jù)通路進行配置和重構(gòu)。若不同計算單元之間存在互聯(lián),則在運行時,一個計算單元的輸出可以直接作為其它計算單元的輸入,而不需要通過核心調(diào)度處理器進行中轉(zhuǎn),形成完整的執(zhí)行流。由于這種方案的硬件實現(xiàn)代價比較高,另外在傳輸之前還有一定的配置時間,故在數(shù)據(jù)量比較小時會造成較大程度的浪費。(2)可以采用通用的總線來實現(xiàn)計算處理器之間、IP核之間以及計算處理器與IP 核之間的數(shù)據(jù)通路。該方案為不同的計算單元提供了一條物理總線用于數(shù)據(jù)傳輸。然而即使采取此方案,雖然能夠進行數(shù)據(jù)傳輸,但是依然不能解決數(shù)據(jù)沖突的問題,即不同的計算單元之間不能同時訪問總線。在競爭發(fā)生時需要總線仲裁機制,從而降低數(shù)據(jù)傳輸?shù)男省?br>
(3)各計算單元之間不進行直接互聯(lián)。任務之間的數(shù)據(jù)依賴的判斷和調(diào)度由核心處理器完成。核心調(diào)度處理器將任務直接劃分為不同的子任務并傳輸給對應的計算單元, 當存在數(shù)據(jù)依賴時,子任務在通過核心處理器進行調(diào)度時串行執(zhí)行。本發(fā)明優(yōu)選采用第( 種方案,由核心調(diào)度處理器進行各個計算資源之間的任務分配和消息轉(zhuǎn)發(fā)。采用這種方案避免了額外的硬件實現(xiàn)代價,并且將復雜的消息傳遞機制轉(zhuǎn)化為任務劃分和調(diào)度問題。計算任務的提供者分為硬件和軟件兩種,硬件計算單元指IP核資源,軟件計算單元指計算處理器資源,任務在核心調(diào)度處理器上調(diào)度時需要分別發(fā)送到對應的計算單元上執(zhí)行,因此需要提供一種統(tǒng)一的任務通信接口。本發(fā)明提供的通信接口通過總線宏來實現(xiàn),其作用是將不同的任務發(fā)送到對應的軟件和硬件計算單元上,在進行任務通信時,軟件程序可以直接使用總線宏向用戶提供的編程接口來實現(xiàn)任務和數(shù)據(jù)在總線上的傳輸。圖2為核心調(diào)度處理器與軟硬件計算單元之間的通信接口。任務的分配均由核心調(diào)度處理器向軟硬件計算單元進行轉(zhuǎn)發(fā)。為了保證傳輸?shù)囊恢滦?,本發(fā)明所述的系統(tǒng)分別針對硬件任務和軟件任務進行封裝。下面分別針對軟件接口和硬件接口進行描述。(1)硬件接口在硬件層次上,本發(fā)明針對IP核完成的功能、總線傳輸協(xié)議和通信接口,在硬件 IP核外部實現(xiàn)了一層接口封裝,將其轉(zhuǎn)換成可以直接掛載到總線上的硬件模塊,以方便核心調(diào)度處理器進行傳輸。具體的硬件轉(zhuǎn)換步驟如下1、定義封裝后的硬件模塊,模塊的輸入和輸出信號與總線相匹配。2、將原功能IP核定義為此硬件模塊中的一個功能單元。3、定義硬件模塊中需要的內(nèi)部信號和變量。為了保證原IP核的功能不因為總線數(shù)據(jù)的延遲而產(chǎn)生錯誤,將原IP核的所有輸入數(shù)據(jù)和輸出數(shù)據(jù)緩沖,當從總線上獲取了所有的輸入數(shù)據(jù)后才開始執(zhí)行原IP核的功能。 同理,在IP核執(zhí)行完畢之后,當從IP核獲得了所有的輸出結(jié)果后,才將結(jié)果發(fā)送到總線。因此,本發(fā)明實現(xiàn)了一個自動狀態(tài)機,用來對信號的傳輸和時序進行控制。圖3為硬件計算資源的狀態(tài)機轉(zhuǎn)換圖。狀態(tài)機可以抽象為四個基本的狀態(tài)(Idle, Read, Execution, Write),Idle為空閑狀態(tài),等待總線上有新的訪問請求和數(shù)據(jù)傳輸,Read 階段負責從總線上讀入原IP核所需要的所有輸入數(shù)據(jù)到緩沖區(qū),Execution階段完成原IP 核的功能,并將結(jié)果寫入輸出緩沖區(qū),Write階段將輸出緩沖區(qū)中的數(shù)據(jù)發(fā)送到總線上。(2)軟件接口軟件接口的實現(xiàn)主要是通過函數(shù)庫的形式完成函數(shù)調(diào)用的封裝。與硬件不同,由于軟件計算單元能夠完成多種計算任務,因此在執(zhí)行任務之前,核心調(diào)度處理器首先必須指明請求的目標功能,以便軟件計算單元進行查找和匹配。圖4為計算處理器的工作流程。核心調(diào)度處理器接收用戶發(fā)送的任務請求之后, 通過總線將任務發(fā)送到計算處理器上執(zhí)行。具體的工作流程如下①在發(fā)送數(shù)據(jù)之前,首先傳輸請求任務的類型,該類型用任務ID進行表示。在任務ID發(fā)送完畢之后傳輸數(shù)據(jù)。這兩種類型的數(shù)據(jù)均通過總線復用進行傳輸。②軟件計算單元在收到任務ID之后進行判斷, 確定需要調(diào)用的任務模塊。③軟件計算單元在收到數(shù)據(jù)輸入之后,將數(shù)據(jù)轉(zhuǎn)發(fā)到對應的功能模塊執(zhí)行。④在執(zhí)行結(jié)束之后,計算單元需要向核心調(diào)度處理器發(fā)送結(jié)果。在發(fā)送時,需要首先發(fā)送任務ID,然后再發(fā)送計算結(jié)果。⑤核心調(diào)度處理器接收到任務ID時,首先觸發(fā)計算處理器對應的中斷,然后獲取計算結(jié)果。之后在中斷處理函數(shù)中將計算結(jié)果返回給用戶。(3)調(diào)度處理器與計算單元之間的通信模型用戶在調(diào)用阻塞接口時,需要等待數(shù)據(jù)從核心調(diào)度處理器返回才能進行后續(xù)程序的執(zhí)行;而非阻塞形式則提供異步編程接口,用戶首先通過編程接口將任務請求發(fā)送至調(diào)度處理器,然后可以進行其它的操作,在計算單元執(zhí)行完畢之后,將執(zhí)行的結(jié)果數(shù)據(jù)以中斷的形式返回用戶。圖5為本發(fā)明采用阻塞和非阻塞接口的處理機制示意圖。這兩種具體的處理機制如下
采用阻塞式通信接口時,阻塞調(diào)用時,核心調(diào)度處理器提供的任務調(diào)用函數(shù)接口與指令系統(tǒng)類似,包括任務操作碼和任務操作數(shù)。其中任務操作碼表示用戶調(diào)用的目標應用程序;操作數(shù)記錄著需要進行計算的輸入數(shù)據(jù)。通過阻塞式通信接口進行任務傳輸?shù)牧鞒倘缦垄賾贸绦蚴紫葘⒄埱蟀l(fā)送到核心調(diào)度處理器上;②由核心調(diào)度處理器通過查找計算單元狀態(tài)和計算執(zhí)行時間,獲得最優(yōu)的目標計算單元,并向?qū)挠嬎銌卧线M行轉(zhuǎn)發(fā)并執(zhí)行;③發(fā)送完畢之后,將對應的計算單元標記為繁忙狀態(tài);④計算單元在執(zhí)行過程中,核心調(diào)度處理器處于等待狀態(tài);⑤待計算單元將數(shù)據(jù)返回之后,核心調(diào)度處理器上的應用程序繼續(xù)執(zhí)行,并把該計算單元標記為空閑狀態(tài)。而采用非阻塞通信接口時處理一般采用中斷的形式完成。與阻塞調(diào)用類似,應用程序首先發(fā)送請求到核心調(diào)度處理器,如圖中①所示。核心調(diào)度處理器在將任務發(fā)送到計算單元進行執(zhí)行的過程中(②),應用程序可以繼續(xù)執(zhí)行當前任務。在計算單元計算完成時,數(shù)據(jù)傳送回核心調(diào)度處理器(③)。核心調(diào)度處理器中包含一個中斷控制器并提供對應的中斷處理程序。該中斷控制器檢測每條核心調(diào)度處理器與計算單元之間的通信鏈路,當計算單元執(zhí)行結(jié)束將數(shù)據(jù)傳回核心調(diào)度處理器時,觸發(fā)對應編號的中斷。核心調(diào)度處理器在檢測到中斷之后,首先中斷當前應用程序的執(zhí)行(④),并調(diào)用中斷處理函數(shù)(⑤)。中斷處理函數(shù)的主要功能即為進行結(jié)果數(shù)據(jù)的賦值等操作。在中斷函數(shù)處理結(jié)束之后,該計算單元標記為空閑狀態(tài),可以接收新的任務請求,同時應用程序可以繼續(xù)執(zhí)行(⑥)。本發(fā)明所述的片上多核系統(tǒng)中集成了一個中斷控制器來控制所有計算單元的中斷。因此在系統(tǒng)硬件平臺初始化時,中斷控制器對各個計算單元設置不同的優(yōu)先級,在系統(tǒng)運行時,如果同時有兩個計算單元返回數(shù)據(jù),則優(yōu)先處理高優(yōu)先級的數(shù)據(jù);而在先后到來的中斷,在處理時采取先來先服務(First Come First Serve)的策略。在處理低優(yōu)先級中斷時,即使有高優(yōu)先級中斷觸發(fā),也需將當前中斷處理結(jié)束后才處理其它的中斷,即不支持中斷嵌套。另外,核心調(diào)度處理器還提供狀態(tài)查詢功能,用戶可以通過狀態(tài)查詢接口來查詢當前任務的執(zhí)行狀態(tài)。應用程序可以調(diào)用狀態(tài)查詢接口來查看目標計算任務是否執(zhí)行完畢。上述實例只為說明本發(fā)明的技術(shù)構(gòu)思及特點,其目的在于讓熟悉此項技術(shù)的人是能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,并不能以此限制本發(fā)明的保護范圍。凡根據(jù)本發(fā)明精神實質(zhì)所做的等效變換或修飾,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求1.一種基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng),包括核心調(diào)度處理器、至少一個計算處理器和至少一個硬件IP核,其特征在于所述核心調(diào)度處理器與計算處理器之間、核心調(diào)度處理器和硬件IP核之間均采用基于點對點總線的片上網(wǎng)絡進行互聯(lián)形成星型互聯(lián)架構(gòu),所述核心調(diào)度處理器與計算處理器之間基于星型互聯(lián)架構(gòu)的通信模型進行消息傳遞, 所述通信模型采用非阻塞接口實現(xiàn)。
2.根據(jù)權(quán)利要求1所述的基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng),其特征在于所述核心調(diào)度處理器負責從用戶接收任務請求,并將任務請求通過基于星型互聯(lián)架構(gòu)發(fā)送給計算處理器。
3.根據(jù)權(quán)利要求2所述的基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng),其特征在于所述計算處理器負責從核心調(diào)度處理器接收任務請求并進行任務計算;在計算結(jié)束后,將結(jié)果通過基于星型互聯(lián)架構(gòu)發(fā)送到核心調(diào)度處理器。
4.根據(jù)權(quán)利要求3所述的基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng),其特征在于所述核心調(diào)度處理器和計算處理器間設置軟件接口,所述核心調(diào)度處理器和硬件IP核間設置硬件接口 ;所述硬件接口為在硬件IP核外部實現(xiàn)的接口封裝,將硬件IP核轉(zhuǎn)換成直接掛載到星型互聯(lián)架構(gòu)上的硬件模塊;所述軟件接口為計算處理器在用戶提供的任務函數(shù)基礎(chǔ)上進行封裝且使封裝與硬件的接口時序保持一致。
專利摘要本實用新型公開了一種基于星型互聯(lián)架構(gòu)的片上異構(gòu)多核系統(tǒng),包括核心調(diào)度處理器、至少一個計算處理器和至少一個硬件IP核,其特征在于所述核心調(diào)度處理器與計算處理器之間、核心調(diào)度處理器和硬件IP核之間均采用基于點對點總線的片上網(wǎng)絡進行互聯(lián)形成星型互聯(lián)架構(gòu),所述核心調(diào)度處理器與計算處理器之間基于星型互聯(lián)架構(gòu)的通信模型進行消息傳遞,所述通信模型采用非阻塞接口實現(xiàn)。該系統(tǒng)提高訪問的吞吐率和可擴展性。
文檔編號G06F15/173GK202033745SQ201120061058
公開日2011年11月9日 申請日期2011年3月10日 優(yōu)先權(quán)日2011年3月10日
發(fā)明者馮曉靜, 周學海, 張軍能, 李曦, 王超, 陳香蘭 申請人:中國科學技術(shù)大學蘇州研究院