可重構(gòu)處理器及可重構(gòu)處理器的條件執(zhí)行方法
【專利摘要】本發(fā)明提出一種可重構(gòu)處理器和可重構(gòu)處理器的條件執(zhí)行方法,其中,可重構(gòu)處理器包括:路由單元,路由單元用于分配條件分支語句的條件判斷語句和條件執(zhí)行語句以并行處理?xiàng)l件判斷語句和條件執(zhí)行語句;第一算數(shù)邏輯單元,第一算數(shù)邏輯單元用于根據(jù)路由單元的分配處理?xiàng)l件判斷語句以獲取單比特信號;第二算數(shù)邏輯單元,第二算數(shù)邏輯單元用于根據(jù)路由單元的分配處理?xiàng)l件執(zhí)行語句以獲取條件執(zhí)行結(jié)果,并接收單比特信號,以及根據(jù)單比特信號對條件執(zhí)行結(jié)果的輸出進(jìn)行控制。本發(fā)明實(shí)施例的可重構(gòu)處理器,通過并行處理?xiàng)l件分支語句中的條件判斷語句和條件執(zhí)行語句,縮短了條件分支語句的依賴長度以及運(yùn)行時(shí)間,提升了條件分支語句的執(zhí)行效率。
【專利說明】可重構(gòu)處理器及可重構(gòu)處理器的條件執(zhí)行方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別涉及一種可重構(gòu)處理器及可重構(gòu)處理器的條件執(zhí)行方法。
【背景技術(shù)】
[0002]可重構(gòu)處理器是一種新的并行處理器構(gòu)架,其較之以往的單核處理器、專用芯片、現(xiàn)場可編程邏輯陣列有著顯著的優(yōu)勢,是未來電路結(jié)構(gòu)發(fā)展的一個(gè)方向??芍貥?gòu)處理器內(nèi)往往含有多個(gè)算數(shù)邏輯單元,稱之為眾核陣列。陣列內(nèi)部配以靈活度高的路由單元,實(shí)現(xiàn)算數(shù)邏輯單元之間多樣化的互聯(lián)。因此,經(jīng)路由單元連接后的眾核陣列可實(shí)現(xiàn)對數(shù)據(jù)流的高速處理,較傳統(tǒng)的單核以及少核處理器在性能上有著巨大的優(yōu)勢。同時(shí),較固化的專用電路在靈活性上也有著巨大的優(yōu)勢。
[0003]條件分支語句指的是IF-ELSE形式的代碼語句,由條件判斷語句和條件執(zhí)行語句組成,條件執(zhí)行語句分成多條互斥的支路,根據(jù)條件判斷語句的結(jié)果在多條互斥的支路中選擇一條進(jìn)行。在傳統(tǒng)的通用處理器中,條件分支語句的執(zhí)行效率對于總體的性能有很大的影響。目前,執(zhí)行條件分支語句主要有分支預(yù)測和條件執(zhí)行兩種方法。
[0004]在不支持分支預(yù)測的通用處理器中,在條件判斷語句的結(jié)果尚未算出時(shí)后續(xù)的指令就需要被加載,因而條件分支造成的控制依賴關(guān)系會阻斷處理器流水線。通用處理器的計(jì)算資源較少,所以分支預(yù)測技術(shù)可預(yù)測分支的某條路徑是正確的并將其提前執(zhí)行。如果預(yù)測成功,流水線將完美的跳過該控制依賴,但是一旦預(yù)測錯(cuò)誤將造成清空流水線,代價(jià)比阻斷其更大。此外,提前執(zhí)行的指令是不安全的,其結(jié)果不能在判斷結(jié)果出來之前改變系統(tǒng)的狀態(tài)(與入系統(tǒng)寄存器或共孚存儲器)。
[0005]條件執(zhí)行是將控制依賴關(guān)系轉(zhuǎn)換為數(shù)據(jù)依賴關(guān)系的一種方法,其意義在于取消分支跳轉(zhuǎn)(指令地址跳轉(zhuǎn)),提高程序的并行性。條件執(zhí)行的方式為每一條執(zhí)行語句分配其執(zhí)行的先決條件。在傳統(tǒng)處理器中,這意味著該執(zhí)行語句對應(yīng)的指令的執(zhí)行是有條件的,由一個(gè)布爾型變量決定。無論該條件是I還是0,所有指令都被處理器取址,但是只有當(dāng)條件為I時(shí),這些指令才能被執(zhí)行。當(dāng)條件為O時(shí),這些指令將被無效化,不會影響到處理器工作狀態(tài)。通過條件執(zhí)行可消除控制依賴關(guān)系,但是,與分支預(yù)測方法一樣,需要提前執(zhí)行條件判斷語句,其結(jié)果不能在判斷結(jié)果出來之前改變系統(tǒng)的狀態(tài)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明旨在至少在一定程度上解決上述技術(shù)問題。
[0007]為此,本發(fā)明的第一個(gè)目的在于提出一種可重構(gòu)處理器,該可重構(gòu)處理器縮短了條件分支語句的依賴長度以及運(yùn)行時(shí)間,大大提升了條件分支語句的執(zhí)行效率。
[0008]本發(fā)明的第二個(gè)目的在于提出一種可重構(gòu)處理器的條件執(zhí)行方法。
[0009]為達(dá)上述目的,根據(jù)本發(fā)明第一方面的實(shí)施例提出了一種可重構(gòu)處理器,包括:路由單元,所述路由單元用于分配條件分支語句的條件判斷語句和條件執(zhí)行語句以并行處理所述條件判斷語句和所述條件執(zhí)行語句;第一算數(shù)邏輯單元,所述第一算數(shù)邏輯單元用于根據(jù)所述路由單元的分配處理所述條件判斷語句以獲取單比特信號;第二算數(shù)邏輯單元,所述第二算數(shù)邏輯單元用于根據(jù)所述路由單元的分配處理所述條件執(zhí)行語句以獲取條件執(zhí)行結(jié)果,并接收所述單比特信號,以及根據(jù)所述單比特信號對所述條件執(zhí)行結(jié)果的輸出進(jìn)行控制。
[0010]本發(fā)明實(shí)施例的可重構(gòu)處理器,可分別通過兩個(gè)算數(shù)邏輯單元并行處理?xiàng)l件分支語句中的條件判斷語句和條件執(zhí)行語句,并根據(jù)條件判斷語句執(zhí)行獲得的單比特信號對條件執(zhí)行語句獲得的條件執(zhí)行結(jié)果的輸出進(jìn)行控制,使得條件分支語句可在同一時(shí)鐘周期內(nèi)完成,從而將控制依賴轉(zhuǎn)化為數(shù)據(jù)依賴,縮短了條件分支語句的依賴長度以及運(yùn)行時(shí)間,并通過硬件連線的方式直接實(shí)現(xiàn),進(jìn)一步提升了條件分支語句的執(zhí)行效率。
[0011 ] 在本發(fā)明的一個(gè)實(shí)施例中,所述第二算數(shù)邏輯單元具體包括:計(jì)算單元,所述計(jì)算單元用于在所述第一算數(shù)邏輯單元運(yùn)行所述條件判斷語句時(shí),并行處理所述條件分支語句中的條件執(zhí)行語句以獲取條件執(zhí)行結(jié)果;快速條件輸入端口,所述快速條件輸入端口用于接收所述第一算數(shù)邏輯單元輸出的所述單比特信號;數(shù)據(jù)輸出端口,所述數(shù)據(jù)輸出端口用于輸出所述條件執(zhí)行結(jié)果;控制端口,所述控制端口用于根據(jù)所述單比特信號控制所述數(shù)據(jù)輸出端口的有效性。
[0012]在本發(fā)明的一個(gè)實(shí)施例中,所述控制端口根據(jù)所述單比特信號控制所述數(shù)據(jù)輸出端口的有效性包括:所述控制端口在所述單比特信號為I時(shí)控制所述數(shù)據(jù)輸出端口有效,以使所述數(shù)據(jù)輸出端口輸出所述條件執(zhí)行結(jié)果;在所述單比特信號為O時(shí)控制所述數(shù)據(jù)輸出端口無效。
[0013]在本發(fā)明的一個(gè)實(shí)施例中,所述條件執(zhí)行結(jié)果的輸出包括將所述條件執(zhí)行結(jié)果寫入存儲器和/或?qū)⑺鰲l件執(zhí)行結(jié)果發(fā)送至所述路由單元。
[0014]為達(dá)上述目的,根據(jù)本發(fā)明第二方面的實(shí)施例提出了一種可重構(gòu)處理器的條件執(zhí)行方法,包括:并行處理?xiàng)l件分支語句中的條件判斷語句和條件執(zhí)行語句,以分別獲取根據(jù)所述條件判斷語句得到的單比特信號和根據(jù)所述條件執(zhí)行語句得到的條件執(zhí)行結(jié)果;根據(jù)所述單比特信號對所述條件執(zhí)行結(jié)果的輸出進(jìn)行控制。
[0015]本發(fā)明實(shí)施例的可重構(gòu)處理器的條件執(zhí)行方法,可并行處理?xiàng)l件分支語句中的條件判斷語句和條件執(zhí)行語句,并根據(jù)條件判斷語句執(zhí)行獲得的單比特信號對條件執(zhí)行語句獲得的條件執(zhí)行結(jié)果的輸出進(jìn)行控制,使得條件分支語句可在同一時(shí)鐘周期內(nèi)完成,從而將控制依賴轉(zhuǎn)化為數(shù)據(jù)依賴,縮短了條件分支語句的依賴長度以及運(yùn)行時(shí)間,并通過硬件連線的方式直接實(shí)現(xiàn),進(jìn)一步提升了條件分支語句的執(zhí)行效率。
[0016]在本發(fā)明的一個(gè)實(shí)施例中,所述并行處理?xiàng)l件分支語句中的條件判斷語句和條件執(zhí)行語句具體包括:在同一時(shí)鐘周期內(nèi)將所述條件判斷語句和所述條件執(zhí)行語句分別分配到兩個(gè)算數(shù)邏輯單元分別進(jìn)行處理。
[0017]在本發(fā)明的一個(gè)實(shí)施例中,所述根據(jù)所述單比特信號對所述條件執(zhí)行結(jié)果的輸出進(jìn)行控制具體包括:如果所述單比特信號為1,則輸出所述條件執(zhí)行結(jié)果;如果所述單比特信號為0,則不輸出所述條件執(zhí)行結(jié)果。
[0018]在本發(fā)明的一個(gè)實(shí)施例中,所述條件執(zhí)行結(jié)果的輸出包括將所述條件執(zhí)行結(jié)果寫入存儲器和/或?qū)⑺鰲l件執(zhí)行結(jié)果發(fā)送至所述路由單元。[0019]本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【專利附圖】
【附圖說明】
[0020]本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
[0021]圖1為根據(jù)本發(fā)明一個(gè)實(shí)施例的可重構(gòu)處理器的結(jié)構(gòu)示意圖;
[0022]圖2為根據(jù)本發(fā)明一個(gè)實(shí)施例的第一算數(shù)邏輯單元和第二算數(shù)邏輯單元的工作示意圖;
[0023]圖3為根據(jù)本發(fā)明一個(gè)實(shí)施例的可重構(gòu)處理器進(jìn)行條件執(zhí)行的示意圖;
[0024]圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例的可重構(gòu)處理器的條件執(zhí)行方法的流程圖;
[0025]圖5為根據(jù)本發(fā)明一個(gè)實(shí)施例的可重構(gòu)處理器進(jìn)行條件執(zhí)行與傳統(tǒng)條件執(zhí)行的對比示意圖。
【具體實(shí)施方式】
[0026]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
[0027]在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性。
[0028]在本發(fā)明的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
[0029]目前,條件分支語句的執(zhí)行方法,效率比較低,因此,可通過可重構(gòu)處理器中的多個(gè)算數(shù)邏輯單元并行運(yùn)行條件分支語句中的條件判斷語句和條件執(zhí)行語句,并根據(jù)條件判斷語句之后得到的單比特信號控制條件執(zhí)行語句執(zhí)行后得到的條件執(zhí)行結(jié)果的輸出,以提高條件分支語句的執(zhí)行效率。下面參考附圖描述根據(jù)本發(fā)明實(shí)施例的可重構(gòu)處理器和可重構(gòu)處理器的條件執(zhí)行方法。
[0030]圖1為根據(jù)本發(fā)明一個(gè)實(shí)施例的可重構(gòu)處理器的結(jié)構(gòu)示意圖。
[0031]如圖1所示,根據(jù)本發(fā)明實(shí)施例的可重構(gòu)處理器,包括:路由單元100、第一算數(shù)邏輯單元200和第二算數(shù)邏輯單元300。
[0032]具體地,路由單元100用于分配條件分支語句的條件判斷語句和條件執(zhí)行語句以并行處理?xiàng)l件判斷語句和條件執(zhí)行語句。在本發(fā)明的實(shí)施例中,路由單元可根據(jù)可重構(gòu)處理器的配置信息將條件分支語句的條件判斷語句和條件執(zhí)行語句分別分配到第一算數(shù)邏輯單元200和第二算數(shù)邏輯單元300中執(zhí)行。其中,可重構(gòu)處理器的配置信息包括用于配置算數(shù)邏輯單元的指令流的信息以及用于配置相互連接的路由單元的非指令流的信息,進(jìn)而,路由單元100可將指令流中相互獨(dú)立的指令耦合起來(生成-消費(fèi)關(guān)系)。
[0033]第一算數(shù)邏輯單元200用于根據(jù)路由單元的分配處理?xiàng)l件判斷語句以獲取單比特信號。
[0034]第二算數(shù)邏輯單元300用于根據(jù)路由單元的分配處理?xiàng)l件執(zhí)行語句以獲取條件執(zhí)行結(jié)果,并接收單比特信號,以及根據(jù)單比特信號對條件執(zhí)行結(jié)果的輸出進(jìn)行控制。在本發(fā)明的一個(gè)實(shí)施例中,第二算數(shù)邏輯單元300具體包括:計(jì)算單元、快速條件輸入端口、數(shù)據(jù)輸出端口 330和控制端口。其中,計(jì)算單元用于在第一算數(shù)邏輯單元運(yùn)行條件判斷語句時(shí),并行處理?xiàng)l件分支語句中的條件執(zhí)行語句以獲取條件執(zhí)行結(jié)果;快速條件輸入端口用于接收第一算數(shù)邏輯單元輸出的單比特信號;數(shù)據(jù)輸出端口用于輸出條件執(zhí)行結(jié)果;控制端口用于根據(jù)單比特信號控制數(shù)據(jù)輸出端口的有效性。
[0035]圖2為根據(jù)本發(fā)明一個(gè)實(shí)施例的第一算數(shù)邏輯單元200和第二算數(shù)邏輯單元300的工作示意圖。具體地,如圖2所示,il,?2是數(shù)據(jù)輸入端口,i3是傳統(tǒng)的條件執(zhí)行控制輸入端口,而i4是本發(fā)明提出的快速條件輸入端口。當(dāng)?shù)谝凰銛?shù)邏輯單元200和第二算數(shù)邏輯單元300分別執(zhí)行條件判斷語句和條件執(zhí)行語句之后,第一算數(shù)邏輯單元200可通過第一算數(shù)邏輯單元200的輸出端口 o3輸出單比特信號。該單比特信號通過第二算數(shù)邏輯單元300的快速條件輸入端口 i4進(jìn)入第二算數(shù)邏輯單元300,并且不同經(jīng)過第二算數(shù)邏輯單元300的計(jì)算單元而直接到達(dá)第二算數(shù)邏輯單元300的控制端口 01,以控制的有效性。如果i4進(jìn)入的單比特信號為0,則控制哦第二算數(shù)邏輯單元300的輸出端口 o2無效,條件執(zhí)行結(jié)果不會輸出至存儲器或路由單元。如果i4進(jìn)入的單比特信號為1,則控制第二算數(shù)邏輯單元300的輸出端口 o2有效,輸出端口 o2可將條件執(zhí)行結(jié)果輸出:將條件執(zhí)行結(jié)果寫入存儲器和/或?qū)l件執(zhí)行結(jié)果發(fā)送至路由單元。
[0036]圖3為根據(jù)本發(fā)明一個(gè)實(shí)施例的可重構(gòu)處理器進(jìn)行條件執(zhí)行的示意圖。具體地,如圖3所示,算數(shù)邏輯單元可通過數(shù)據(jù)總線接收待處理的數(shù)據(jù),通過控制總線接收控制信號,其中,il, ?2是數(shù)據(jù)輸入端口,i3是傳統(tǒng)的條件執(zhí)行控制輸入端口,而i4是本發(fā)明提出的快速條件輸入端口,ol是控制端口,用于控制數(shù)據(jù)輸出端口 o2的有效性。由于o3接收到控制信號后,需要經(jīng)過計(jì)算單元執(zhí)行條件執(zhí)行語句才能通過o2輸出條件執(zhí)行結(jié)果,而i4接收到控制信號時(shí),計(jì)算單元已經(jīng)在上一個(gè)時(shí)鐘周期極愛那個(gè)條件執(zhí)行語句執(zhí)行完畢,i4接收到的控制信號可直接傳遞至ol對條件執(zhí)行結(jié)果進(jìn)行控制,因此,i4到ol的延時(shí)要遠(yuǎn)遠(yuǎn)短于i3到ol的延時(shí),從而可以更快的完成條件執(zhí)行操作。
[0037]本發(fā)明實(shí)施例的可重構(gòu)處理器,可分別通過兩個(gè)算數(shù)邏輯單元并行處理?xiàng)l件分支語句中的條件判斷語 句和條件執(zhí)行語句,并根據(jù)條件判斷語句執(zhí)行獲得的單比特信號對條件執(zhí)行語句獲得的條件執(zhí)行結(jié)果的輸出進(jìn)行控制,使得條件分支語句可在同一時(shí)鐘周期內(nèi)完成,從而將控制依賴轉(zhuǎn)化為數(shù)據(jù)依賴,縮短了條件分支語句的依賴長度以及運(yùn)行時(shí)間,并通過硬件連線的方式直接實(shí)現(xiàn),進(jìn)一步提升了條件分支語句的執(zhí)行效率。
[0038]應(yīng)當(dāng)理解,可重構(gòu)處理器中含有多個(gè)可并行運(yùn)算的算數(shù)邏輯單元,多個(gè)算數(shù)邏輯單元被稱為可重構(gòu)處理器的眾核陣列。在本發(fā)明的實(shí)施例中,第一算數(shù)邏輯單元與第二算數(shù)邏輯單元可為可重構(gòu)處理器的眾核陣列中的任意兩個(gè)算數(shù)邏輯單元。其中,“第一”、“第二”僅用于描述目的。在本發(fā)明的其他實(shí)施例中,第一算數(shù)邏輯單元也可用于執(zhí)行條件執(zhí)行語句,并接收可重構(gòu)處理器的眾核陣列中的其他算數(shù)邏輯單元執(zhí)行條件判斷語句的結(jié)果得到的單比特信號,以根據(jù)該單比特信號對條件執(zhí)行結(jié)果的輸出進(jìn)行控制;第二算數(shù)邏輯單元也可用于執(zhí)行條件判斷語句,并將得到的單比特信號輸出到可重構(gòu)處理器的眾核陣列中的其他算數(shù)邏輯單元,以對該算數(shù)邏輯單元的條件執(zhí)行結(jié)果的輸出進(jìn)行控制。在本發(fā)明的實(shí)施例中,單比特信號可根據(jù)路由單元的控制,輸出到執(zhí)行與該單比特信號對應(yīng)的條件執(zhí)行語句的算數(shù)邏輯單元。
[0039]為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明還提出一種可重構(gòu)處理器的條件執(zhí)行方法。
[0040]圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例的可重構(gòu)處理器的條件執(zhí)行方法的流程圖。具體地,如圖4所示,可重構(gòu)處理器的條件執(zhí)行方法包括:
[0041]S401,并行處理?xiàng)l件分支語句中的條件判斷語句和條件執(zhí)行語句,以分別獲取根據(jù)條件判斷語句得到的單比特信號和根據(jù)條件執(zhí)行語句得到的條件執(zhí)行結(jié)果。
[0042]在本發(fā)明的一個(gè)實(shí)施例中,可在同一時(shí)鐘周期內(nèi)將條件判斷語句和條件執(zhí)行語句分別分配到兩個(gè)算數(shù)邏輯單元分別進(jìn)行處理。
[0043]S402,根據(jù)單比特信號對條件執(zhí)行結(jié)果的輸出進(jìn)行控制。
[0044]在本發(fā)明的實(shí)施例中,如果單比特信號為1,則輸出條件執(zhí)行結(jié)果:將條件執(zhí)行結(jié)果寫入存儲器和/或?qū)l件執(zhí)行結(jié)果發(fā)送至路由單元。如果單比特信號為0,則不輸出條件執(zhí)行結(jié)果。
[0045]本發(fā)明實(shí)施例的可重構(gòu)處理器的條件執(zhí)行方法,可并行處理?xiàng)l件分支語句中的條件判斷語句和條件執(zhí)行語句,并根據(jù)條件判斷語句執(zhí)行獲得的單比特信號對條件執(zhí)行語句獲得的條件執(zhí)行結(jié)果的輸出進(jìn)行控制,使得條件分支語句可在同一時(shí)鐘周期內(nèi)完成,從而將控制依賴轉(zhuǎn)化為數(shù)據(jù)依賴,縮短了條件分支語句的依賴長度以及運(yùn)行時(shí)間,并通過硬件連線的方式直接實(shí)現(xiàn),進(jìn)一步提升了條件分支語句的執(zhí)行效率。
[0046]圖5為根據(jù)本發(fā)明一個(gè)實(shí)施例的可重構(gòu)處理器進(jìn)行條件執(zhí)行與傳統(tǒng)條件執(zhí)行的對比示意圖。如圖5所示,在2X2的可重構(gòu)處理器上執(zhí)行條件分支語句:IF(A>B),C=A-B。傳統(tǒng)條件執(zhí)行需要經(jīng)過時(shí)鐘周期I和時(shí)鐘周期2兩個(gè)時(shí)鐘周期,而本發(fā)明實(shí)施例的快速條件執(zhí)行僅需時(shí)鐘周期2 —個(gè)時(shí)鐘周期。由此可見,本發(fā)明實(shí)施例的可重構(gòu)處理器的條件執(zhí)行方法縮短了條件分支語句的執(zhí)行時(shí)間,提升了條件分支語句的執(zhí)行效率。
[0047]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0048]在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(⑶ROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲在計(jì)算機(jī)存儲器中。
[0049]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
[0050]本【技術(shù)領(lǐng)域】的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
[0051 ] 此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中。
[0052]上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0053]在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
[0054]盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同限定。
【權(quán)利要求】
1.一種可重構(gòu)處理器,其特征在于,包括: 路由單元,所述路由單元用于分配條件分支語句的條件判斷語句和條件執(zhí)行語句以并行處理所述條件判斷語句和所述條件執(zhí)行語句; 第一算數(shù)邏輯單元,所述第一算數(shù)邏輯單元用于根據(jù)所述路由單元的分配處理所述條件判斷語句以獲取單比特信號; 第二算數(shù)邏輯單元,所述第二算數(shù)邏輯單元用于根據(jù)所述路由單元的分配處理所述條件執(zhí)行語句以獲取條件執(zhí)行結(jié)果,并接收所述單比特信號,以及根據(jù)所述單比特信號對所述條件執(zhí)行結(jié)果的輸出進(jìn)行控制。
2.如權(quán)利要求1所述的可重構(gòu)處理器,其特征在于,所述第二算數(shù)邏輯單元具體包括: 計(jì)算單元,所述計(jì)算單元用于在所述第一算數(shù)邏輯單元運(yùn)行所述條件判斷語句時(shí),并行處理所述條件分支語句中的條件執(zhí)行語句以獲取條件執(zhí)行結(jié)果; 快速條件輸入端口,所述快速條件輸入端口用于接收所述第一算數(shù)邏輯單元輸出的所述單比特信號; 數(shù)據(jù)輸出端口,所述數(shù)據(jù)輸出端口用于輸出所述條件執(zhí)行結(jié)果; 控制端口,所述控制端口用于根據(jù)所述單比特信號控制所述數(shù)據(jù)輸出端口的有效性。
3.如權(quán)利要求2所述的可重構(gòu)處理器,其特征在于,所述控制端口根據(jù)所述單比特信號控制所述數(shù)據(jù)輸出端口的有效性包括: 所述控制端口在所述單比特信號為I時(shí)控制所述數(shù)據(jù)輸出端口有效,以使所述數(shù)據(jù)輸出端口輸出所述條件執(zhí)行結(jié)果; 在所述單比特信號為O時(shí)控制所述數(shù)據(jù)輸出端口無效。
4.如權(quán)利要求1所述的可重構(gòu)處理器,其特征在于, 所述條件執(zhí)行結(jié)果的輸出包括將所述條件執(zhí)行結(jié)果寫入存儲器和/或?qū)⑺鰲l件執(zhí)行結(jié)果發(fā)送至所述路由單元。
5.一種可重構(gòu)處理器的條件執(zhí)行方法,其特征在于,包括: 并行處理?xiàng)l件分支語句中的條件判斷語句和條件執(zhí)行語句,以分別獲取根據(jù)所述條件判斷語句得到的單比特信號和根據(jù)所述條件執(zhí)行語句得到的條件執(zhí)行結(jié)果; 根據(jù)所述單比特信號控對所述條件執(zhí)行結(jié)果的輸出進(jìn)行控制。
6.如權(quán)利要求5所述的可重構(gòu)處理器的條件執(zhí)行方法,其特征在于,所述并行處理?xiàng)l件分支語句中的條件判斷語句和條件執(zhí)行語句具體包括: 在同一時(shí)鐘周期內(nèi)將所述條件判斷語句和所述條件執(zhí)行語句分別分配到兩個(gè)算數(shù)邏輯單元分別進(jìn)行處理。
7.如權(quán)利要求5所述的可重構(gòu)處理器的條件執(zhí)行方法,其特征在于,所述根據(jù)所述單比特信號對所述條件執(zhí)行結(jié)果的輸出進(jìn)行控制具體包括: 如果所述單比特信號為1,則輸出所述條件執(zhí)行結(jié)果; 如果所述單比特信號為O,則不輸出所述條件執(zhí)行結(jié)果。
8.如權(quán)利要求5所述的可重構(gòu)處理器的條件執(zhí)行方法,其特征在于, 所述條件執(zhí)行結(jié)果的輸出包括將所述條件執(zhí)行結(jié)果寫入存儲器和/或?qū)⑺鰲l件執(zhí)行結(jié)果發(fā)送至所述路由單元。
【文檔編號】G06F9/38GK103853526SQ201410058606
【公開日】2014年6月11日 申請日期:2014年2月20日 優(yōu)先權(quán)日:2014年2月20日
【發(fā)明者】劉雷波, 朱建峰, 楊驍 , 尹首一, 魏少軍 申請人:清華大學(xué)