欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

支持可重組多核ip的通用處理器及其方法

文檔序號:6579549閱讀:180來源:國知局
專利名稱:支持可重組多核ip的通用處理器及其方法
技術領域
本發(fā)明涉及處理器,具體來說,涉及一種用于支持可重組多核IP的通用處理器以及一種用于在通用處理器中支持可重組多核IP的方法。
背景技術
處理器是一臺計算機中的重要部件,其性能往往決定計算機的性能。處理器的開 發(fā)與研究是人們所關心的重要問題。圖2示出了現(xiàn)有技術的通用處理器的一般結構。如圖2所示,通用處理器2000包括指令譯碼裝置2010以及通用算術和邏輯單元 2020。指令譯碼裝置2010接收指令,對指令執(zhí)行指令譯碼操作,并產生指令譯碼結果。通用算術和邏輯單元2020根據(jù)指令譯碼結果對待處理的數(shù)據(jù)執(zhí)行操作,以產生 輸出結果。通用處理器2000還可以包括許多其它部件,例如,時鐘單元2030、存儲器2040、測 試單元2050等。圖2例示了現(xiàn)有技術的通用處理器的實現(xiàn)方案。在現(xiàn)有技術的實現(xiàn)方案中,首先 建立了 一個通用的結構,即,通用算術和邏輯單元2020。該通用的結構根據(jù)提供給它的控制 信號(即,指令譯碼結果),對待處理的數(shù)據(jù)執(zhí)行各種操作。由指令譯碼裝置2010提供控制信號。對于這種通用的結構,系統(tǒng)接收數(shù)據(jù)和控制信號,并產生輸出。這樣,對于每一個 新的程序(應用),程序員只需要提供一組新的控制信號(指令),而不需要重新連接硬件。這種通用處理器的結構存在許多問題。它以犧牲性能為代價來換取通用性。例如,在現(xiàn)有技術的通用處理器結構中,所有的處理最終都需要通過通用算術和 邏輯單元2020執(zhí)行。因此,就這一點來說,現(xiàn)有技術的通用處理器是串行的或者集中式的。 而實際上,可能有許多處理是可以并行執(zhí)行的。在現(xiàn)有技術的通用處理器中,這些原本能夠 并行執(zhí)行的處理必需等待通用算術和邏輯單元2020來順序執(zhí)行它們。這樣,處理的速度被 降低了。此外,由于通用算術和邏輯單元2020是固定的,因此,為了對數(shù)據(jù)執(zhí)行各種操作, 因此,需要有一個強大的指令譯碼裝置2010來為它提供各種控制信號。這增加了指令譯碼 裝置的實現(xiàn)復雜性和難度。在有的情況下,指令譯碼裝置由于需要承擔過多的處理負荷,而 成為制約處理器性能的瓶頸。此外,為了能夠適用于各種不同的應用,對于原本可以由專用硬件一次完成的處 理,在現(xiàn)有技術的通用處理器中往往需要將它拆分為多個處理。這實際上大大降低了處理 器的處理性能。圖3示出了現(xiàn)有技術的通用處理器的另一種結構。如圖3所示,通用處理器3000包括分配單元3010、指令譯碼裝置3020、專用處理單元3030以及通用算術和邏輯單元3040。分配單元3010將一部分指令發(fā)送給指令譯碼裝置3020,以及將一部分指令發(fā)送 給專用處理單元3030,以執(zhí)行專門的處理。指令譯碼裝置3020接收指令,對指令執(zhí)行指令譯碼操作,并產生指令譯碼結果。專用處理單元3030用于實現(xiàn)專門的處理功能。通用算術和邏輯單元3050根據(jù)指令譯碼結果對待處理的數(shù)據(jù)執(zhí)行操作,以產生 輸出結果。通用處理器3000還可以包括許多其它部件,例如,時鐘單元3050、存儲器3060、測 試單元3070等。由于如前面所述的通用處理器中所存在的缺陷,因此,在某些情況下,圖2所示的 通用處理器無法滿足一些應用的需求。因此,在圖3所示的通用處理器的結構中提供專用 的處理單元以滿足這部分需求。實際上,圖3所示的通用處理器的結構僅僅是專用處理硬件和通用處理器的簡單 疊加,而沒有對圖2所示的通用處理器的結構作出任何實質上的改變。例如,芯片中的資源是有限的,不可能為每種應用設置一個專用處理單元。如果為 每種應用設置一個專用處理單元,通用算術和邏輯單元也就失去了存在的意義。另外,即便是在設置有專用處理單元的情況下,專用處理單元以及通用算術和邏 輯單元的硬布線結構也都是固定的。因此,很難靈活地配置各個單元之間的連接關系,從而 動態(tài)地將一個單元的處理結果提供給另一個單元使用,或者將另一個單元的處理結果提供 給一個單元使用,或者由不同的單元并行地執(zhí)行處理。這些往往也是提高處理器性能的重 要方面。另外,如果僅采用專用處理硬件電路,盡管可以針對某一種應用優(yōu)化電路,從而達 到理想的性能,但是,其應用的范圍卻受到了很大的限制。另外,本發(fā)明的發(fā)明人注意到,技術人員已經(jīng)開發(fā)出了用于實現(xiàn)各種功能的許多 IP核。這些IP核針對所要執(zhí)行的處理,對硬件進行了優(yōu)化。它們往往可以占用很少的資 源,而提供很高的處理速度。這些IP核往往能夠達到很高的處理性能。但是,由于現(xiàn)有技 術的通用處理器的這種結構的限制,這些IP核很難被通用處理器所利用,或者僅僅能夠作 為通用處理器中附屬的專用處理單元而被采用。另外,盡管在現(xiàn)有技術中,可以使用現(xiàn)場可編程器件(FPGA)等來實現(xiàn)一些應用功 能,但是,每當硬件配置程序被下載到FPGA中之后,該FPGA的功能也就被固定了。一方面, 不可能為每種應用功能都重新下載配置程序。另一方面,如果要求同時實現(xiàn)多種應用功能, 則在現(xiàn)有技術中,只能將FPGA配置成具有前面所述的通用處理器的結構。這仍然無法解決 上述技術問題。因此,需要提出一種新的技術來解決上述現(xiàn)有技術中的任何問題。

發(fā)明內容
本發(fā)明的一個目的在于至少部分地解決上面所述的現(xiàn)有技術中的問題里的至少 一個技術問題。本發(fā)明的另一個目的在于提供一種支持多核IP的通用處理器。
本發(fā)明的另一個目的在于動態(tài)配置通用處理器中的IP資源。根據(jù)本發(fā)明的第一方面,提供了一種用于支持可重組多核IP的通用處理器,包 括多個IP核模塊;指令解析單元,其被配置成輸入指令并對指令進行解析,其中,該指令 包括至少一個配置域數(shù)據(jù)和至少一個操作域數(shù)據(jù),其中,該指令解析單元還被配置成分別 輸出所述配置域數(shù)據(jù)和操作域數(shù)據(jù);以及IP核配置單元,包括用于輸入所述配置域數(shù)據(jù)的 第一輸入、多個第二輸入、多個第二輸出以及第三輸出,其中該多個第二輸入分別被耦合到 所述多個IP核模塊的輸出,該多個第二輸出分別被耦合到所述多個IP核模塊的輸入,該第 三輸出被耦合到所述通用處理器的輸出。其中,所述IP核配置單元被配置成根據(jù)所述配置 域數(shù)據(jù)來調整所述多個第一輸入、多個第二輸出和第三輸出之間的連接方式。其中,所述多 個IP核模塊執(zhí)行基于所述操作域數(shù)據(jù)的操作。優(yōu)選地,所述通用處理器還包括指令譯碼器,其被配置成接收從所述指令解析單 元輸出的操作域數(shù)據(jù),對所述操作域數(shù)據(jù)執(zhí)行指令譯碼操作,以及輸出指令譯碼結果。其 中,所述IP核配置單元還包括第四輸入,用于接收所述指令譯碼結果。其中,所述IP核配 置單元還被配置成根據(jù)所述配置域數(shù)據(jù)來調整所述多個第二輸入、多個第二輸出、第三輸 出和第四輸入之間的連接方式。優(yōu)選地,所述IP核配置單元還包括第五輸入,用于接收待處理的數(shù)據(jù)。其中,所 述IP核配置單元還被配置成根據(jù)所述配置域數(shù)據(jù)來調整所述多個第二輸入、多個第二輸 出、第三輸出、第四輸入和第五輸入之間的連接方式。優(yōu)選地,所述配置域數(shù)據(jù)包含用于指示連接方式的信息,以及所述操作域數(shù)據(jù)包 含用于指示所要實現(xiàn)的操作的信息。優(yōu)選地,所述IP核配置單元包括多個選通電路,每個選通電路包括多個輸入端和 輸出端,其中,所述多個輸入端分別被連接到所述多個第二輸入、第四輸入和第五輸入,所 述輸出端被連接到所述多個第二輸出和第三輸出中的一個,其中,每個選通電路被配置成 根據(jù)所述配置域數(shù)據(jù)從所述多個第二輸入、第四輸入和第五輸入中進行選擇并輸出選擇結果ο優(yōu)選地,每個選通電路還包括控制端,以及每個選通電路被配置成根據(jù)控制端上 的信號從所述多個第二輸入、第四輸入和第五輸入中進行選擇并輸出選擇結果。其中,每個 選通電路的控制端上的信號是根據(jù)所述配置域數(shù)據(jù)而被設置的。優(yōu)選地,所述IP核配置單元是可控開關陣列。優(yōu)選地,所述可控開關陣列包含晶體管或CMOS管。優(yōu)選地,所述可控開關陣列中的開關元件具有控制端,用于控制開關元件的導通 和關斷。優(yōu)選地,控制端上的控制信號是根據(jù)所述配置域數(shù)據(jù)而被設置的。優(yōu)選地,所述連接方式包括串聯(lián)方式、或者并聯(lián)方式、或者串聯(lián)和并聯(lián)的組合方 式。優(yōu)選地,所述多個IP核模塊包括通用處理器IP核模塊。優(yōu)選地,所述多個IP核模塊包括指令譯碼IP核模塊以及算術和邏輯單元IP核模 塊。優(yōu)選地,所述多個IP核模塊位于相同的芯片中。優(yōu)選地,所述多個IP核模塊位于在不同的芯片中。
根據(jù)本發(fā)明的第二方面,提供了一種用于在通用處理器中支持可重組多核IP的 方法,包括第一步驟,配置多個IP核模塊;第二步驟,輸入指令并對指令進行解析,其中, 該指令包括至少一個配置域數(shù)據(jù)和至少一個操作域數(shù)據(jù);第三步驟,分別輸出所述配置域 數(shù)據(jù)和操作域數(shù)據(jù);第四步驟,配置第一輸入以輸入所述配置域數(shù)據(jù);第五步驟,配置多個 第二輸入以耦合到所述多個IP核模塊的輸出;第六步驟,配置多個第二輸出以耦合到所述 多個IP核模塊的輸入;第七步驟,配置第三輸出以耦合到所述通用處理器的輸出;第八步 驟,根據(jù)所述配置域數(shù)據(jù)來調整所述多個第一輸入、多個第二輸出和第三輸出之間的連接 方式;以及第九步驟,由所述多個IP核模塊執(zhí)行基于所述操作域數(shù)據(jù)的操作。優(yōu)選地,所述方法還包括對所述操作域數(shù)據(jù)執(zhí)行指令譯碼操作,以及輸出指令譯 碼結果;配置第四輸入以接收所述指令譯碼結果,其中,所述第八步驟包括根據(jù)所述配置 域數(shù)據(jù)來調整所述多個第二輸入、多個第二輸出、第三輸出和第四輸入之間的連接方式。優(yōu)選地,所述方法還包括配置第五輸入以接收待處理的數(shù)據(jù),其中,所述第八步 驟包括根據(jù)所述配置域數(shù)據(jù)來調整所述多個第二輸入、多個第二輸出、第三輸出、第四輸 入和第五輸入之間的連接方式。優(yōu)選地,所述配置域數(shù)據(jù)包含用于指示連接方式的信息,以及所述操作域數(shù)據(jù)包 含用于指示所要實現(xiàn)的操作的信息。優(yōu)選地,通過多個選通電路來執(zhí)行所述第八步驟,其中,每個選通電路包括多個輸 入端和輸出端,其中,將所述多個輸入端分別連接到所述多個第二輸入、第四輸入和第五輸 入,將所述輸出端連接到所述多個第二輸出和第三輸出中的一個,其中,每個選通電路根據(jù) 所述配置域數(shù)據(jù)從所述多個第二輸入、第四輸入和第五輸入中進行選擇并輸出選擇結果。優(yōu)選地,每個選通電路還包括控制端,以及每個選通電路根據(jù)控制端上的信號從 所述多個第二輸入、第四輸入和第五輸入中進行選擇并輸出選擇結果,以及其中,每個選通 電路的控制端上的信號是根據(jù)所述配置域數(shù)據(jù)而被設置的。優(yōu)選地,通過可控開關陣列來執(zhí)行所述第八步驟。優(yōu)選地,所述可控開關陣列包含晶體管或CMOS管。優(yōu)選地,所述可控開關陣列中的開關元件具有控制端,用于控制開關元件的導通 和關斷。優(yōu)選地,控制端上的控制信號是根據(jù)所述配置域數(shù)據(jù)而被設置的。優(yōu)選地,所述連接方式包括串聯(lián)方式、或者并聯(lián)方式、或者串聯(lián)和并聯(lián)的組合方 式。優(yōu)選地,所述多個IP核模塊包括通用處理器IP核模塊。優(yōu)選地,所述多個IP核模塊包括指令譯碼IP核模塊以及算術和邏輯單元IP核模 塊。優(yōu)選地,所述多個IP核模塊位于相同的芯片中。優(yōu)選地,所述多個IP核模塊位于在不同的芯片中。根據(jù)本發(fā)明的第三方面,提供了 一種包括根據(jù)本發(fā)明的通用處理器的計算設備。本發(fā)明的一個優(yōu)點在于,可以在通用處理器中支持多個IP核。本發(fā)明的一個優(yōu)點在于,可以靈活地配置通用處理器。本發(fā)明的另一個優(yōu)點在于,可以靈活地配置IP核的連接方式。本發(fā)明的另一個優(yōu)點在于,可以通過指令來動態(tài)地配置IP核的連接方式。
8
通過以下參照附圖對本發(fā)明的示例性實施例的詳細描述,本發(fā)明的其它特征及其 優(yōu)點將會變得清楚。


構成說明書的一部分的附圖描述了本發(fā)明的實施例,并且連同說明書一起用于解 釋本發(fā)明的原理。參照附圖,根據(jù)下面的詳細描述,可以更加清楚地理解本發(fā)明,其中圖1是示出可以應用本發(fā)明的計算設備的框圖。圖2是示出現(xiàn)有技術的一種通用處理器的框圖。圖3是示出現(xiàn)有技術的另一種通用處理器的框圖。圖4是示出根據(jù)本發(fā)明的第一實施例的通用處理器的框圖。圖5示出了本發(fā)明中所采用的指令的結構。圖6是示出根據(jù)本發(fā)明的第一實施例的方法的流程圖。圖7是示出根據(jù)本發(fā)明的第二實施例的通用處理器中的IP核配置單元的框圖。圖8是示出根據(jù)本發(fā)明的第三實施例的通用處理器中的IP核配置單元的框圖。圖9是示出根據(jù)本發(fā)明的第三實施例的一個例子的框圖。
具體實施例方式現(xiàn)在將參照附圖來詳細描述本發(fā)明的各種示例性實施例。應注意到除非另外具 體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數(shù)字表達式和數(shù)值不限制本 發(fā)明的范圍。以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明 及其應用或使用的任何限制。對于相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適 當情況下,所述技術、方法和設備應當被視為說明書的一部分。在這里示出和討論的所有示例中,任何具體值應被解釋為僅僅是示例性的,而不 是作為限制。因此,示例性實施例的其它示例可以具有不同的值。應注意到相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一 個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。另外,需要說明的是,對于本領域技術人員公知的是,可以將數(shù)據(jù)和程序(指令) 存儲在相同的存儲器中以供處理器使用。因此,盡管在本說明書中描述的是“指令數(shù)據(jù)”,但 是本領域技術人員應當知道,所述“指令數(shù)據(jù)”包括指令、或者數(shù)據(jù)、或者指令和數(shù)據(jù)。另外,需要說明的是,在附圖中,兩個模塊之間僅通過一條線連接,但是,本領域技 術人員應當知道,根據(jù)兩個模塊之間的數(shù)據(jù)通路的寬度,可能存在多條硬件布線,而附圖中 的這種連線僅僅是示意性的,而不作為對本發(fā)明的任何限制。<硬件配置>圖1是示出可以實現(xiàn)本發(fā)明的實施例的計算機系統(tǒng)1000的硬件配置的框圖。如圖1所示,計算機系統(tǒng)包括計算機1110。計算機1110包括經(jīng)由系統(tǒng)總線1121 連接的處理單元1120、系統(tǒng)存儲器1130、固定非易失性存儲器接口 1140、移動非易失性存儲器接口 1150、用戶輸入接口 1160、網(wǎng)絡接口 1170、視頻接口 1190和輸出外圍接口 1195。系統(tǒng)存儲器1130包括R0M(只讀存儲器)1131和RAM(隨機存取存儲器)1132。 BIOS(基本輸入輸出系統(tǒng))1133駐留在ROM 1131內。操作系統(tǒng)1134、應用程序1135、其它 程序模塊1136和某些程序數(shù)據(jù)1137駐留在RAM 1132內。諸如硬盤的固定非易失性存儲器1141連接到固定非易失性存儲器接口 1140。固 定非易失性存儲器1141例如可以存儲操作系統(tǒng)1144、應用程序1145、其它程序模塊1146 和某些程序數(shù)據(jù)1147。諸如軟盤驅動器1151和⑶-ROM驅動器1155的移動非易失性存儲器連接到移動 非易失性存儲器接口 1150。例如,軟盤可以被插入到軟盤驅動器1151中,以及⑶(光盤) 可以被插入到⑶-ROM驅動器1155內。諸如鼠標1161和鍵盤1162的輸入設備被連接到用戶輸入接口 1160。計算機1110可以通過網(wǎng)絡接口 1170連接到遠程計算機1180。例如,網(wǎng)絡接口 1170可以通過局域網(wǎng)1171連接到遠程計算機1181?;蛘撸W(wǎng)絡接口 1170可以連接到調制 解調器(調制器-解調器)1172,以及調制解調器1172經(jīng)由廣域網(wǎng)1173連接到遠程計算機 1180。遠程計算機1180可以包括諸如硬盤的存儲器1181,其可以存儲遠程應用程序 1185。視頻接口 1190連接到監(jiān)視器1191。輸出外圍接口 1195連接到打印機1196和揚聲器1197。本領域技術人員應當理解,圖1所示的計算機系統(tǒng)僅僅是說明性的并且決不意味 著對本發(fā)明、其應用或使用的任何限制。<第一實施例>下面參照圖4、圖5和圖6來說明根據(jù)本發(fā)明的第一實施例。圖4是示出了根據(jù)本 發(fā)明的第一實施例的支持可重組多核IP的通用處理器的框圖。圖5示意性地示出了在本 發(fā)明中所采用的指令的一般結構。圖6是示出了根據(jù)本發(fā)明的第一實施例的用于在通用處 理器中支持可重組多核IP的方法的流程圖。如圖4所示,根據(jù)本發(fā)明的第一實施例的用于支持可重組多核IP的通用處理器
4000包括指令解析單元4100、IP核配置單元4200以及多個IP核模塊1、2........n,其
中,η大于等于1。指令解析單元4100輸入指令并對指令進行解析。在本發(fā)明中,該指令可以包括至 少一個配置域數(shù)據(jù)和至少一個操作域數(shù)據(jù)。指令解析單元4100分別輸出所述配置域數(shù)據(jù)和操作域數(shù)據(jù)。 IP核配置單元4200包括第一輸入Ip多個第二輸入I2_i、I2_2........12_n、多個第
二輸出O2^CV2.......02_n以及第三輸出03,其中,η大于等于1。如圖4所示,所述第一輸入I1輸入來自指令解析單元4100的配置域數(shù)據(jù)。所述多
個第二輸入I2-P Ι2-2........Ι2-η分別被耦合到多個IP核模塊1、2........η的輸出。所
述多個第二輸出O2^CV2.......02_η分別被耦合到所述多個IP核模塊1、2........η的輸
入。所述第三輸出O3被耦合到所述通用處理器4000的輸出所述IP核配置單元4200可以根據(jù)所述配置域數(shù)據(jù)來調整所述多個第二輸入I”、12-2........I2-n、多個第二輸出O2^CV2.......02_n和第三輸出O3之間的連接方式。例如,如圖4所示,通用處理器4000還可以包括指令譯碼器4030。指令譯碼器 4030接收從所述指令解析單元4010輸出的操作域數(shù)據(jù)。指令譯碼器4030對所接收的操作 域數(shù)據(jù)執(zhí)行指令譯碼操作,以及輸出指令譯碼結果。指令譯碼操作是本領域公知的,因此, 在這里不再進行更加詳細的描述。所述IP核配置單元4020還可以包括第四輸入14。第四輸入I4用于接收從指令 譯碼器4030輸出的指令譯碼結果。當然,對于本領域技術人員顯而易見的是,從指令解析單元4100輸出的操作域數(shù) 據(jù)可以直接被輸入到第四輸入14,而不經(jīng)過指令譯碼器4030。或者,所述操作域中一部分 直接被輸入到第四輸入14,而另一部分經(jīng)過指令譯碼器4030被輸入到第四輸入14。在這種情況下,所述IP核配置單元4020能夠根據(jù)配置域數(shù)據(jù)來調整所述多個第
二輸入I2-Pl2I........I2-n、多個第二輸出OmCV2.......02_n、第三輸出O3和第四輸入I4
之間的連接方式。例如,如圖4所示,通用處理器4000還對數(shù)據(jù)進行處理。待處理的數(shù)據(jù)被輸入到 IP核配置單元的第五輸入15。在這種情況下,所述IP核配置單元4020還能夠根據(jù)所述配置域數(shù)據(jù)來調整所述
多個第二輸入I2-P 12-2........I2-n、多個第二輸出O2^ 02_2.......02_n、第三輸出O3、第四
輸入I4和第五輸入I5之間的連接方式。所述IP核配置單元4020通過調整各個輸入和輸出之間的連接方式來配置所述多 個IP核模塊1、2.......η。例如,所述IP核配置單元4020可以選擇使用哪些IP核模塊。例如,所述IP核配 置單元4020可以用串聯(lián)方式、或者并聯(lián)方式、或者串聯(lián)和并聯(lián)的組合方式等來配置所使用 的IP核模塊。所述多個IP核模塊1、2........η執(zhí)行基于所述操作域數(shù)據(jù)的操作。例如,所述
多個IP核模塊中的一些或者全部可以直接基于操作域數(shù)據(jù)來進行操作。例如,所述多個IP 核模塊中的一些或者全部可以根據(jù)由操作域數(shù)據(jù)得到的指令譯碼結果來執(zhí)行操作。所述多個IP核模塊可以包括通用處理器IP核模塊,在該模塊中實現(xiàn)通用的處理 器。在這種情況下,該通用處理器IP核模塊可以與根據(jù)本發(fā)明的實施例的通用處理器模塊 4000位于相同的芯片內?;蛘?,該通用處理器IP核模塊可以與根據(jù)本發(fā)明的實施例的通用 處理器模塊4000位于不同的芯片內。例如,該通用處理器IP核模塊可以是另一塊包含通 用處理器的芯片。另外,所述多個IP核模塊可以包括算術和邏輯單元IP核模塊。這樣,指令譯碼器 4300的指令譯碼結果通過IP核配置單元4200而被輸入到該算術和邏輯IP核模塊,從而可 以執(zhí)行現(xiàn)有技術的通用處理器操作。例如,所述多個IP核模塊還可以包括指令譯碼裝置IP核模塊。在這種情況下,可 以省略圖4中所示的指令譯碼裝置4030。例如,所述多個IP核模塊可以包括算術和邏輯單元IP核模塊以及指令譯碼裝置 IP核模塊。在這種情況下,可以通過IP核配置單元4020,連接所述算術和邏輯單元IP核 模塊以及指令譯碼裝置IP核模塊,從而能夠實現(xiàn)現(xiàn)有技術的通用處理器的功能。這提供了
11一種靈活配置處理器的方式。如前面所述,所述多個IP核模塊中的一部分或者全部可以位于相同的芯片中。例 如,所述多個IP核模塊中的一部分或者全部可以位于與通用處理器4000位于相同的芯片 內。或者,所述多個IP核模塊中的一部分或者全部可以位于不同的芯片中。例如,所 述多個IP核模塊中的一部分或者全部可以位于與通用處理器4000位于不同的芯片內。下面參照圖5來描述本發(fā)明中所使用的指令5000。例如,如圖5所示,指令5000包括至少一個配置域數(shù)據(jù)1、2........m和至少一個
操作域數(shù)據(jù)1、2........m,其中,m大于等于1。 所述配置域數(shù)據(jù)包含用于指示連接方式的信息。如前面所述,所述連接方式例如 可以包括串聯(lián)方式、或者并聯(lián)方式、或者串聯(lián)和并聯(lián)的組合方式等。所述操作域數(shù)據(jù)包含用于指示所要實現(xiàn)的操作的信息。如前面所述,該操作域數(shù)據(jù)例如可以是要被指令譯碼器4300處理的對象。在這種 情況下,該操作域數(shù)據(jù)例如和現(xiàn)有技術中的指令類似。或者,該操作域數(shù)據(jù)可以被直接輸入到IP核模塊中,供IP核模塊使用。該操作域 數(shù)據(jù)可以是IP核模塊的控制數(shù)據(jù)或者可由IP核模塊處理的數(shù)據(jù)。下面,參照圖6來描述根據(jù)本發(fā)明的第一實施例的用于在通用處理器中支持可重 組多核IP的方法6000。圖6示出了根據(jù)本發(fā)明的第一實施例的方法6000的流程圖。如圖6所示,在第一步驟S6100,配置多個IP核模塊。例如,在通用處理器中設置 多個IP核模塊。在第二步驟S6200,將指令輸入到處理器中并對指令進行解析。該指令包括至少一 個配置域數(shù)據(jù)和至少一個操作域數(shù)據(jù)。在第三步驟S6300,分別輸出配置域數(shù)據(jù)和操作域數(shù)據(jù)。在第四步驟S6400,配置用于輸入所述配置域數(shù)據(jù)的第一輸入。在第五步驟S6500,配置多個第二輸入。該多個第二輸入分別被耦合到所述多個 IP核模塊的輸出。在第六步驟S6600,配置多個第二輸出。該多個第二輸出分別被耦合到所述多個 IP核模塊的輸入。在第七步驟S6700,配置第三輸出。該第三輸出被耦合到通用處理器的輸出。在第八步驟S6800,根據(jù)配置域數(shù)據(jù)來調整所述多個第一輸入、多個第二輸出和第 三輸出之間的連接方式。另外,例如在本發(fā)明的實施例中,還可以對操作域數(shù)據(jù)執(zhí)行指令譯碼操作,以及輸 出指令譯碼結果。另外,還可以配置用于接收所述指令譯碼結果的第四輸入。在這種情況下,可以根據(jù)配置域數(shù)據(jù)來調整所述多個第二輸入、多個第二輸出、第 三輸出和第四輸入之間的連接方式。另外,例如在本發(fā)明的實施例中,還可以配置第五輸入,以接收待處理的數(shù)據(jù)。在這種情況下,可以根據(jù)所述配置域數(shù)據(jù)來調整所述多個第二輸入、多個第二輸 出、第三輸出、第四輸入和第五輸入之間的連接方式。
如前面所述,所述連接方式例如可以包括串聯(lián)方式、或者并聯(lián)方式、或者串聯(lián)和并 聯(lián)的組合方式等。第九步驟,由所述多個IP核模塊執(zhí)行基于所述操作域數(shù)據(jù)的操作。如前面所述,例如,所述多個IP核模塊可以包括通用處理器IP核模塊。例如,所 述多個IP核模塊可以包括算術和邏輯單元IP核模塊。例如,所述多個IP核模塊可以位于 相同的芯片中。例如,所述多個IP核模塊可以位于在不同的芯片中。〈第二實施例〉下面參照圖7來描述根據(jù)本發(fā)明的第二實施例。在第二實施例中提供了第一實施 例中的IP核配置單元的一種實現(xiàn)方式。由于第二實施例與第一實施例的不同之處僅在于 IP核配置單元,因此,為了簡明起見,在下面僅描述該單元,而省略對其它部分的描述。圖7僅僅示出了 IP核配置單元4200-a。通用處理器的其它部分可以與圖4所示 的相同。在第二實施例中,通過選通電路來實現(xiàn)IP核配置單元。如圖7所示,IP核配置單元4200-a包括多個選通電路4200_a_l、 4200-a-U......、4200-a-l 以及 4200-a-o。每個選通電路包括多個輸入端和輸出端。每個選通電路的多個輸入端分別被連接到IP核配置單元4200-a的多個第二輸入 I2-!> 12-2........12-n、第四輸入I4和第五輸入15。每個選通電路的輸出端被連接到多個第二輸出(VpCV2.......02_n和第三輸出O3
中的一個。所述多個選通電路的輸出端分別連接到IP核配置單元4200-a的多個第二輸出 (VpCV2.......02_n和第三輸出O3。每個選通電路還包括控制端。例如,根據(jù)配置域數(shù)據(jù)來設置每個選通電路的控制 端上的控制信號。每個選通電路根據(jù)控制端上的控制信號從所述多個第二輸入12_2........
ι2-η、第四輸入I4和第五輸入I5中進行選擇,并輸出選擇結果。例如,可以通過晶體管、CMOS管等來實現(xiàn)所述選通電路。這對于本領域技術人員 是公知的,因此,不再對其進行更加詳細的描述。〈第三實施例〉下面參照圖8來描述根據(jù)本發(fā)明的第三實施例。在第三實施例中提供了第一實施 例中的IP核配置單元的另一種實現(xiàn)方式。由于第三實施例與第一實施例的不同之處僅在 于IP核配置單元,因此,為了簡明起見,在下面僅描述該單元,而省略對其它部分的描述。圖8僅僅示出了 IP核配置單元4200-b。通用處理器的其它部分可以與圖4所示 的相同。在第三實施例中,通過可控開關陣列來實現(xiàn)IP核配置單元。如圖8所示,通過可控開關陣列中的可控開關元件SupShpSH^SnSnSm、
§2—22、§2—23、§2—4、S2—5、......、Sn_21 λ Sn—22、Sn—23、Sn_4 Λ Sn—5、SQ_21 Λ S〇—22、S〇—23、S〇—4、S〇—5,將多個弟
二輸入I2-P 12-2........I2-n、第四輸入I4和第五輸入I5分別連接到多個第二輸出O2^
02_2.......02_n和第三輸出O3。通過所述可控開關元件的開關狀態(tài)來控制所述各個輸入和輸出之間的連接關系。
13
所述可控開關陣列包含晶體管或CMOS管。所述可控開關陣列中的開關元件例如 可以具有控制端,用于控制開關元件的導通和關斷。例如,控制端上的控制信號可以是根據(jù) 所述配置域數(shù)據(jù)而被設置的。在通過晶體管來實現(xiàn)所述可控開關元件的情況下,開關元件的兩個連接端例如是 晶體管的集電極和射極,其控制端例如是晶體管的基極。在通過CMOS管來實現(xiàn)所述可控開關元件的情況下,開關元件的兩個連接端例如 是CMOS管的源極和漏極,其控制端例如是晶體管的柵極。〈第四實施例〉在本發(fā)明的第四實施例中,例如,可用在計算設備中采用根據(jù)本發(fā)明的第一至第 三實施例的通用處理器?!蠢?>圖9示出了根據(jù)本發(fā)明的第三實施例的一個例子。圖9A示出了根據(jù)本發(fā)明的第 三實施例的IP核配置單元的連接方式。圖9A示出了經(jīng)過連接之后的簡化電路圖。在本例子中,假設存在3個IP核模塊,即,加法器IP核模塊、乘法器IP核模塊以 及除法器IP核模塊。在圖9A中,根據(jù)配置域數(shù)據(jù)的配置,可控開關元件S1+ S2_5、S3_21、S3_22、S。_23導通。圖9B示出了最終實現(xiàn)的電路。在圖9B中,待處理的數(shù)據(jù)被輸入到加法器IP核模 塊,指令譯碼結果被輸入到乘法器IP核模塊。加法器IP核模塊和乘法器IP核模塊的處理 結果被輸入到除法器IP核模塊。除法器IP核模塊的處理結果作為輸出結果被輸出。圖9僅僅是說明本發(fā)明的第三實施例的一個例子,而不是對本發(fā)明的任何限制??赡芤栽S多方式來實現(xiàn)本發(fā)明的方法和處理器。例如,可通過軟件、硬件、固件或 者軟件、硬件、固件的任何組合來實現(xiàn)本發(fā)明的方法和處理器。用于所述方法的步驟的上述 順序僅是為了進行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方 式特別說明。此外,在一些實施例中,還可將本發(fā)明實施為記錄在記錄介質中的程序,這些 程序包括用于實現(xiàn)根據(jù)本發(fā)明的方法的機器可讀指令。因而,本發(fā)明還覆蓋存儲用于執(zhí)行 根據(jù)本發(fā)明的方法的程序的記錄介質。雖然已經(jīng)通過示例對本發(fā)明的一些特定實施例進行了詳細說明,但是本領域的技 術人員應該理解,以上示例僅是為了進行說明,而不是為了限制本發(fā)明的范圍。本領域的技 術人員應該理解,可在不脫離本發(fā)明的范圍和精神的情況下,對以上實施例進行修改。本發(fā) 明的范圍由所附權利要求來限定。
權利要求
一種用于支持可重組多核IP的通用處理器,包括多個IP核模塊;指令解析單元,其被配置成輸入指令并對指令進行解析,其中,該指令包括至少一個配置域數(shù)據(jù)和至少一個操作域數(shù)據(jù),其中,該指令解析單元還被配置成分別輸出所述配置域數(shù)據(jù)和操作域數(shù)據(jù);以及IP核配置單元,包括第一輸入,用于輸入所述配置域數(shù)據(jù),多個第二輸入,該多個第二輸入分別被耦合到所述多個IP核模塊的輸出,多個第二輸出,該多個第二輸出分別被耦合到所述多個IP核模塊的輸入,以及第三輸出,該第三輸出被耦合到所述通用處理器的輸出,其中,所述IP核配置單元被配置成根據(jù)所述配置域數(shù)據(jù)來調整所述多個第一輸入、多個第二輸出和第三輸出之間的連接方式,其中,所述多個IP核模塊執(zhí)行基于所述操作域數(shù)據(jù)的操作。
2.如權利要求1所述的通用處理器,還包括指令譯碼器,其被配置成接收從所述指令解析單元輸出的操作域數(shù)據(jù),對所述操作域 數(shù)據(jù)執(zhí)行指令譯碼操作,以及輸出指令譯碼結果,其中,所述IP核配置單元還包括第四輸入,用于接收所述指令譯碼結果, 其中,所述IP核配置單元還被配置成根據(jù)所述配置域數(shù)據(jù)來調整所述多個第二輸入、 多個第二輸出、第三輸出和第四輸入之間的連接方式。
3.如權利要求1所述的通用處理器,其中,所述IP核配置單元還包括第五輸入,用于 接收待處理的數(shù)據(jù),其中,所述IP核配置單元還被配置成根據(jù)所述配置域數(shù)據(jù)來調整所述多個第二輸入、 多個第二輸出、第三輸出、第四輸入和第五輸入之間的連接方式。
4.如權利要求1所述的通用處理器,其中,所述配置域數(shù)據(jù)包含用于指示連接方式的信息,以及所述操作域數(shù)據(jù)包含用于 指示所要實現(xiàn)的操作的信息。
5.如權利要求1-4中的任何一個所述的通用處理器,其中,所述IP核配置單元包括多個選通電路,每個選通電路包括多個輸入端和輸出 端,其中,所述多個輸入端分別被連接到所述多個第二輸入、第四輸入和第五輸入,所述輸 出端被連接到所述多個第二輸出和第三輸出中的一個,其中,每個選通電路被配置成根據(jù) 所述配置域數(shù)據(jù)從所述多個第二輸入、第四輸入和第五輸入中進行選擇并輸出選擇結果。
6.如權利要求5所述的通用處理器,其中,每個選通電路還包括控制端,以及每個選通電路被配置成根據(jù)控制端上的信號 從所述多個第二輸入、第四輸入和第五輸入中進行選擇并輸出選擇結果,以及 其中,每個選通電路的控制端上的信號是根據(jù)所述配置域數(shù)據(jù)而被設置的。
7.如權利要求1-4中的任何一個所述的通用處理器, 其中,所述IP核配置單元是可控開關陣列。
8.如權利要求7所述的通用處理器,其中,所述可控開關陣列包含晶體管或CMOS管。
9.如權利要求7所述的通用處理器,其中,所述可控開關陣列中的開關元件具有控制端,用于控制開關元件的導通和關斷, 其中,控制端上的控制信號是根據(jù)所述配置域數(shù)據(jù)而被設置的。
10.如權利要求1-4中的任何一個所述的通用處理器,其中,所述連接方式包括串聯(lián)方式、或者并聯(lián)方式、或者串聯(lián)和并聯(lián)的組合方式。
11.如權利要求1-4中的任何一個所述的通用處理器, 其中,所述多個IP核模塊包括通用處理器IP核模塊。
12.如權利要求1-4中的任何一個所述的通用處理器,其中,所述多個IP核模塊包括指令譯碼IP核模塊以及算術和邏輯單元IP核模塊。
13.如權利要求1-4中的任何一個所述的通用處理器, 其中,所述多個IP核模塊位于相同的芯片中。
14.如權利要求1-4中的任何一個所述的通用處理器, 其中,所述多個IP核模塊位于在不同的芯片中。
15.一種用于在通用處理器中支持可重組多核IP的方法,包括 第一步驟,配置多個IP核模塊;第二步驟,輸入指令并對指令進行解析,其中,該指令包括至少一個配置域數(shù)據(jù)和至少 一個操作域數(shù)據(jù);第三步驟,分別輸出所述配置域數(shù)據(jù)和操作域數(shù)據(jù);第四步驟,配置第一輸入以輸入所述配置域數(shù)據(jù);第五步驟,配置多個第二輸入以耦合到所述多個IP核模塊的輸出;第六步驟,配置多個第二輸出以耦合到所述多個IP核模塊的輸入;第七步驟,配置第三輸出以耦合到所述通用處理器的輸出;第八步驟,根據(jù)所述配置域數(shù)據(jù)來調整所述多個第一輸入、多個第二輸出和第三輸出 之間的連接方式;以及第九步驟,由所述多個IP核模塊執(zhí)行基于所述操作域數(shù)據(jù)的操作。
16.如權利要求15所述的方法,還包括對所述操作域數(shù)據(jù)執(zhí)行指令譯碼操作,以及輸出指令譯碼結果; 配置第四輸入以接收所述指令譯碼結果;其中,所述第八步驟包括根據(jù)所述配置域數(shù)據(jù)來調整所述多個第二輸入、多個第二輸 出、第三輸出和第四輸入之間的連接方式。
17.如權利要求15所述的方法,還包括 配置第五輸入以接收待處理的數(shù)據(jù),其中,所述第八步驟包括根據(jù)所述配置域數(shù)據(jù)來調整所述多個第二輸入、多個第二輸 出、第三輸出、第四輸入和第五輸入之間的連接方式。
18.如權利要求15所述的方法,其中,所述配置域數(shù)據(jù)包含用于指示連接方式的信息,以及所述操作域數(shù)據(jù)包含用于 指示所要實現(xiàn)的操作的信息。
19.如權利要求15-18中的任何一個所述的方法,其中,通過多個選通電路來執(zhí)行所述第八步驟,其中,每個選通電路包括多個輸入端和輸出端,其中,將所述多個輸入端分別連接到所述多個第二輸入、第四輸入和第五輸入,將 所述輸出端連接到所述多個第二輸出和第三輸出中的一個,其中,每個選通電路根據(jù)所述 配置域數(shù)據(jù)從所述多個第二輸入、第四輸入和第五輸入中進行選擇并輸出選擇結果。
20.如權利要求19所述的方法,其中,每個選通電路還包括控制端,以及每個選通電路根據(jù)控制端上的信號從所述多 個第二輸入、第四輸入和第五輸入中進行選擇并輸出選擇結果,以及其中,每個選通電路的控制端上的信號是根據(jù)所述配置域數(shù)據(jù)而被設置的。
21.如權利要求15-19中的任何一個所述的方法, 通過可控開關陣列來執(zhí)行所述第八步驟。
22.如權利要求21所述的方法,其中,所述可控開關陣列包含晶體管或CMOS管。
23.如權利要求21所述的方法,其中,所述可控開關陣列中的開關元件具有控制端,用于控制開關元件的導通和關斷, 其中,控制端上的控制信號是根據(jù)所述配置域數(shù)據(jù)而被設置的。
24.如權利要求15-19中的任何一個所述的方法,其中,所述連接方式包括串聯(lián)方式、或者并聯(lián)方式、或者串聯(lián)和并聯(lián)的組合方式。
25.如權利要求15-19中的任何一個所述的方法,其中,所述多個IP核模塊包括通用處理器IP核模塊。
26.如權利要求15-19中的任何一個所述的方法,其中,所述多個IP核模塊包括指令譯碼IP核模塊以及算術和邏輯單元IP核模塊。
27.如權利要求15-19中的任何一個所述的方法, 其中,所述多個IP核模塊位于相同的芯片中。
28.如權利要求15-19中的任何一個所述的方法, 其中,所述多個IP核模塊位于在不同的芯片中。
29.—種包括如權利要求1-14中的任何一個所述的通用處理器的計算設備。
全文摘要
本發(fā)明公開了一種支持可重組多核IP的通用處理器及其方法。該通用處理器包括多個IP核模塊;指令解析單元,被配置成輸入指令并對指令進行解析,該指令包括至少一個配置域數(shù)據(jù)和至少一個操作域數(shù)據(jù),該指令解析單元分別輸出配置域數(shù)據(jù)和操作域數(shù)據(jù);和IP核配置單元。IP核配置單元包括第一輸入,用于輸入配置域數(shù)據(jù);多個第二輸入,分別被耦合到多個IP核模塊的輸出;多個第二輸出,分別被耦合到多個IP核模塊的輸入;和第三輸出,被耦合到通用處理器的輸出。IP核配置單元被配置成根據(jù)配置域數(shù)據(jù)來調整多個第一輸入、多個第二輸出和第三輸出之間的連接方式。多個IP核模塊執(zhí)行基于操作域數(shù)據(jù)的操作。
文檔編號G06F15/78GK101996156SQ20091016137
公開日2011年3月30日 申請日期2009年8月10日 優(yōu)先權日2009年8月10日
發(fā)明者劉大力, 曹春春 申請人:北京多思科技發(fā)展有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新民市| 马关县| 洪雅县| 日喀则市| 依安县| 宜良县| 彭泽县| 莎车县| 固安县| 修水县| 江华| 扎囊县| 章丘市| 桐乡市| 武邑县| 彩票| 万载县| 甘肃省| 亚东县| 和田县| 新干县| 桂阳县| SHOW| 阿巴嘎旗| 郁南县| 安化县| 白山市| 榆林市| 宜黄县| 汾西县| 乳源| 抚顺县| 丰都县| 黄浦区| 临洮县| 来凤县| 武山县| 缙云县| 朔州市| 新竹市| 湄潭县|