亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

具有指令預(yù)解碼器的直接存儲(chǔ)器訪問(wèn)單元的制作方法

文檔序號(hào):6502758閱讀:431來(lái)源:國(guó)知局
專利名稱:具有指令預(yù)解碼器的直接存儲(chǔ)器訪問(wèn)單元的制作方法
背景處理器可使用指令管線來(lái)執(zhí)行指令。處理器管線可包括例如取指、對(duì)指令解碼、以及執(zhí)行指令的級(jí)。盡管處理器是在執(zhí)行級(jí)中執(zhí)行指令的,但是下一個(gè)順序的指令可同時(shí)在解碼級(jí)中解碼(并且再下一個(gè)指令可同時(shí)在取指級(jí)中取回)。注意,每一級(jí)可與一個(gè)以上的時(shí)鐘周期相關(guān)聯(lián)(例如,解碼級(jí)可包括預(yù)解碼級(jí)和解碼級(jí),這些級(jí)中的每一個(gè)都與一個(gè)時(shí)鐘周期相關(guān)聯(lián))。因?yàn)椴煌墓芫€級(jí)可同時(shí)在不同的指令上工作,所以能夠提高處理器的性能。
但是,在指令被解碼之后,處理器可能會(huì)確定下一個(gè)順序的指令不應(yīng)被執(zhí)行(例如,當(dāng)已解碼的指令與跳轉(zhuǎn)或分支指令相關(guān)聯(lián)時(shí))。在此情形中,當(dāng)前在解碼和取指級(jí)中的指令可從管線中移除。這一稱為“分支誤預(yù)測(cè)損失”的情況會(huì)降低處理器的性能。
附圖簡(jiǎn)述

圖1是一種裝置的框圖。
圖2示出指令管線級(jí)。
圖3是根據(jù)某些實(shí)施例的一種裝置的框圖。
圖4是根據(jù)某些實(shí)施例的一種方法。
圖5示出根據(jù)某些實(shí)施例的指令管線級(jí)。
圖6是根據(jù)某些實(shí)施例的一種裝置的示例。
圖7是根據(jù)某些實(shí)施例的一種系統(tǒng)的框圖。
詳細(xì)描述圖1是裝置100的框圖,該裝置包括全局存儲(chǔ)器110,用于存儲(chǔ)指令(例如,在引導(dǎo)過(guò)程期間被加載到全局存儲(chǔ)器110中的指令)。全局存儲(chǔ)器110可存儲(chǔ)例如m個(gè)字(例如,100,000個(gè)字),其中每個(gè)字有n位(例如,32位)。
直接存儲(chǔ)器訪問(wèn)(DMA)引擎120可從全局存儲(chǔ)器110順序地檢索指令,并將指令傳送到處理元件處的本地存儲(chǔ)器130(例如,傳送到處理元件的高速緩沖存儲(chǔ)器)。例如,可使用到DMA引擎120的n位輸入路徑,來(lái)從全局存儲(chǔ)器110檢索指令。然后DMA引擎120可使用寫信號(hào)(WR)和寫地址(WR ADDRESS),經(jīng)由n位輸出路徑將指令傳送到本地存儲(chǔ)器130。
然后,處理器140可使用讀信號(hào)(RD)和讀地址(RD ADDRESS),經(jīng)由n位路徑從本地存儲(chǔ)器130檢索順序指令。處理器140隨即可執(zhí)行這些指令。為提高性能,處理器140可使用圖2中所示的指令管線200來(lái)執(zhí)行指令。當(dāng)處理器140在處理級(jí)230中執(zhí)行指令時(shí),下一個(gè)順序指令同時(shí)在解碼級(jí)220、222中被解碼(而再下一個(gè)指令同時(shí)在取指級(jí)210中被取回)。
注意,單個(gè)級(jí)可與一個(gè)以上的時(shí)鐘周期相關(guān)聯(lián),特別是以相對(duì)較高的時(shí)鐘頻率。例如,在圖2中所示的管線200中,需要兩個(gè)時(shí)鐘周期來(lái)取回一條指令(C0和C1)。類似地,對(duì)指令解碼需要一個(gè)時(shí)鐘周期(C2)來(lái)將指令部分地翻譯成“已預(yù)解碼”的指令,并需要另一個(gè)時(shí)鐘周期(C3)來(lái)將已預(yù)解碼的指令轉(zhuǎn)換為能被執(zhí)行的已完全解碼的指令。
在指令被解碼之后,處理器140可能會(huì)確定下一個(gè)順序指令將不會(huì)被執(zhí)行(例如,當(dāng)已解碼的指令與跳轉(zhuǎn)或分支指令相關(guān)聯(lián)時(shí))。在此情形中,當(dāng)前在解碼級(jí)220、222和取指級(jí)210中的指令可從管線200中移除。因取回和解碼不會(huì)被執(zhí)行的指令而浪費(fèi)的時(shí)鐘周期被稱為“分支延遲時(shí)隙”。
減少分支延遲時(shí)隙數(shù)可提高處理器140的性能。例如,如果已部分或完全解碼的指令被存儲(chǔ)在全局存儲(chǔ)器110中,則可將預(yù)解碼級(jí)220從管線200中移除,并減少分支延遲時(shí)隙數(shù)。但是,已預(yù)解碼的指令將會(huì)顯著地大于原始的指令。例如,一條32位指令在解碼之后可能具有100位。因此,將已解碼的指令存儲(chǔ)在全局存儲(chǔ)器110中可能是不切實(shí)際的(例如,因?yàn)樗璧拇鎯?chǔ)器區(qū)域太大)。
圖3是根據(jù)某些實(shí)施例的裝置300的框圖。和以前一樣,DMA單元320經(jīng)由輸入路徑從存儲(chǔ)器單元310順序地檢索指令。但是,根據(jù)這一實(shí)施例,DMA單元320還包括指令預(yù)解碼器,用于對(duì)指令預(yù)解碼。
圖4是根據(jù)某些實(shí)施例的可由DMA單元320執(zhí)行的方法。注意,本文中所描述的任何方法都可由硬件、軟件(包括微碼)、或硬件和軟件的組合來(lái)執(zhí)行。例如,存儲(chǔ)介質(zhì)可在其上存儲(chǔ)當(dāng)由機(jī)器執(zhí)行時(shí)會(huì)產(chǎn)生根據(jù)本文中所描述的任何實(shí)施例的性能的指令。
在402,從存儲(chǔ)器單元310檢索指令。在404,DMA單元320隨即對(duì)該指令預(yù)解碼。DMA單元320可例如部分地或完全地對(duì)指令解碼。在406,將來(lái)自DMA單元320的已預(yù)解碼的指令提供給處理單元處的本地存儲(chǔ)器330。
再次參考圖3,處理器340隨即可從本地存儲(chǔ)器330檢索已預(yù)解碼的指令,并執(zhí)行該指令。圖5示出根據(jù)某些實(shí)施例的指令管線500。因?yàn)镈MA單元320已經(jīng)對(duì)指令預(yù)解碼,所以與圖2相比,可減少處理器340生成已完全解碼的指令所需的時(shí)鐘周期數(shù)(分支延遲時(shí)隙C0到C2),并可提高處理器340的性能。此外,因?yàn)橹挥斜镜卮鎯?chǔ)器330才需要足夠大以存儲(chǔ)已預(yù)解碼的指令(而存儲(chǔ)器單元310仍然存儲(chǔ)較小的原始指令),所以可限制所導(dǎo)致的存儲(chǔ)器區(qū)域增長(zhǎng)。如果DMA單元320完全解碼了指令,則甚至可進(jìn)一步減少分支延遲時(shí)隙數(shù)(盡管需要進(jìn)一步增加本地存儲(chǔ)器330的大小以存儲(chǔ)已完全解碼的指令)。
圖6是根據(jù)某些實(shí)施例的裝置600的示例,該裝置包括全局存儲(chǔ)器610,用于存儲(chǔ)n位的指令。DMA引擎620順序地檢索指令,而指令預(yù)解碼邏輯622對(duì)每條指令預(yù)解碼,以生成q位的已預(yù)解碼的指令(例如,在高速緩存未命中時(shí),或通過(guò)受軟件控制的DMA命令)。
DMA引擎620隨即可使用寫信號(hào)(WR)和p位寫地址(WR ADDRESS),經(jīng)由q位輸出路徑將已預(yù)解碼的指令傳送到本地存儲(chǔ)器630。本地存儲(chǔ)器630可以是例如,能夠存儲(chǔ)已被預(yù)解碼的2p個(gè)字的處理器高速緩存(例如,10位寫地址可訪問(wèn)1,024條指令)。注意,因?yàn)橹噶钜驯活A(yù)解碼,所以q可能大于n(例如,因?yàn)橐杨A(yù)解碼的指令大于原始指令)。存儲(chǔ)在本地存儲(chǔ)器630中的已預(yù)解碼的指令可包括例如執(zhí)行單元控制信號(hào)和/或標(biāo)志。
處理器140隨即可使用讀信號(hào)(RD)和p位讀地址(RD ADDRESS),經(jīng)由q位路徑從本地存儲(chǔ)器630檢索已預(yù)解碼的指令。處理器640可包括例如與圖2相比使用較少管線級(jí)來(lái)執(zhí)行指令的精簡(jiǎn)指令集計(jì)算機(jī)(RISC)設(shè)備等(例如,因?yàn)橹辽倥c解碼相關(guān)聯(lián)的某一部分分支延遲時(shí)隙不再是必需的)。
圖7是根據(jù)某些實(shí)施例的系統(tǒng)700的框圖。具體地,系統(tǒng)700是帶多向天線740的無(wú)線設(shè)備。系統(tǒng)700可以是例如碼分多址(CDMA)基站。
該無(wú)線設(shè)備包括片上系統(tǒng)(SOC)裝置710、同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)單元720、以及外圍部件互連(PCI)接口單元730(諸如根據(jù)題為“PCIExpress 1.0”(2002)的PCI標(biāo)準(zhǔn)工業(yè)集團(tuán)(SIG)文獻(xiàn)操作的單元等)。SOC裝置710可以是例如帶有存儲(chǔ)數(shù)字信號(hào)處理器(DSP)指令和數(shù)據(jù)的全局存儲(chǔ)器的數(shù)字基帶處理器。此外,多個(gè)DMA引擎可根據(jù)本文中所描述的任何實(shí)施例,從全局存儲(chǔ)器檢索指令,對(duì)指令預(yù)解碼,并將已預(yù)解碼的指令提供給多個(gè)DSP(例如,DSP1到DSPN)。
以下示出各種其它實(shí)施例。這些實(shí)施例并不構(gòu)成對(duì)所有可能實(shí)施例的定義,并且本領(lǐng)域技術(shù)人員將會(huì)理解,許多其它實(shí)施例是可能的。此外,盡管為清楚起見(jiàn)簡(jiǎn)單描述了以下實(shí)施例,但是本領(lǐng)域技術(shù)人員將會(huì)理解,在需要的情況下,如何對(duì)以上描述進(jìn)行任何修改來(lái)適應(yīng)這些及其它實(shí)施例和應(yīng)用。
盡管已描述了DMA單元包括內(nèi)置指令預(yù)解碼器的某些實(shí)施例,但是指令預(yù)解碼器可改為外置于DMA單元。例如,當(dāng)指令從外置于處理單元的存儲(chǔ)器被“傳入”時(shí),外置于DMA單元的單元可對(duì)指令部分地或完全地解碼。此外,盡管某些實(shí)施例是結(jié)合SOC實(shí)現(xiàn)來(lái)描述的,但是本文中所描述的部分或所有單元可使用多個(gè)集成電路來(lái)實(shí)現(xiàn)。
本文中所描述的數(shù)個(gè)實(shí)施例純粹是為說(shuō)明的目的。本領(lǐng)域技術(shù)人員將會(huì)從此描述中認(rèn)識(shí)到,可實(shí)施經(jīng)修改和變更的其它實(shí)施例,而它們僅受所附權(quán)利要求書(shū)限定。
權(quán)利要求
1.一種方法,包括從存儲(chǔ)器單元檢索指令;在直接存儲(chǔ)器訪問(wèn)單元對(duì)所述指令預(yù)解碼;以及將來(lái)自所述直接存儲(chǔ)器訪問(wèn)單元的已預(yù)解碼的指令提供給處理元件。
2.如權(quán)利要求1所述的方法,其特征在于,所述提供包括,將所述已預(yù)解碼的指令存儲(chǔ)在所述處理元件本地的存儲(chǔ)器中。
3.如權(quán)利要求2所述的方法,其特征在于,所述已預(yù)解碼的指令是要由所述處理元件執(zhí)行的已完全解碼的指令。
4.如權(quán)利要求1所述的方法,其特征在于,還包括在所述處理元件處對(duì)所述已預(yù)解碼的指令解碼;以及經(jīng)由處理器管線執(zhí)行所述已解碼的指令。
5.如權(quán)利要求1所述的方法,其特征在于,還包括在引導(dǎo)過(guò)程期間,將指令加載到所述存儲(chǔ)器單元中。
6.如權(quán)利要求1所述的方法,其特征在于,所述處理元件是精簡(jiǎn)指令集計(jì)算機(jī)設(shè)備。
7.如權(quán)利要求6所述的方法,其特征在于,所述已預(yù)解碼的指令包括執(zhí)行控制信號(hào)。
8.一種裝置,包括輸入路徑,用于從存儲(chǔ)器單元接收指令;直接存儲(chǔ)器訪問(wèn)單元,包括用于對(duì)所述指令預(yù)解碼的指令預(yù)解碼器;以及輸出路徑,用于將來(lái)自所述直接存儲(chǔ)器訪問(wèn)單元的已預(yù)解碼的指令提供給處理元件。
9.如權(quán)利要求8所述的裝置,其特征在于,還包括被耦合到所述輸入路徑的所述存儲(chǔ)單元。
10.如權(quán)利要求9所述的裝置,其特征在于,還包括被耦合到所述輸出路徑的所述處理元件。
11.如權(quán)利要求10所述的裝置,其特征在于,所述處理單元包括本地存儲(chǔ)器,用于存儲(chǔ)所述已預(yù)解碼的指令。
12.如權(quán)利要求10所述的裝置,其特征在于,包括多個(gè)處理元件,其中每個(gè)處理元件與一個(gè)包括指令預(yù)解碼器的直接存儲(chǔ)器訪問(wèn)單元相關(guān)聯(lián)。
13.如權(quán)利要求10所述的裝置,其特征在于,所述輸入路徑有n位,所述輸出路徑有q位,并且n<q。
14.如權(quán)利要求10所述的裝置,其特征在于,所述直接存儲(chǔ)器訪問(wèn)單元、所述存儲(chǔ)器單元和所述處理元件被構(gòu)造在集成電路上。
15.如權(quán)利要求10所述的裝置,其特征在于,所述處理元件是具有指令管線的精簡(jiǎn)指令集計(jì)算機(jī)設(shè)備。
16.一種物品,包括其上存儲(chǔ)指令的存儲(chǔ)介質(zhì),當(dāng)所述指令被機(jī)器執(zhí)行時(shí),導(dǎo)致以下動(dòng)作從存儲(chǔ)器單元檢索指令,在直接存儲(chǔ)器訪問(wèn)單元處對(duì)所述指令預(yù)解碼,以及將來(lái)自所述直接存儲(chǔ)器訪問(wèn)單元的已預(yù)解碼的指令提供給處理元件。
17.如權(quán)利要求16所述的物品,其特征在于,所述提供包括,將所述已預(yù)解碼的指令存儲(chǔ)在所述處理元件本地的存儲(chǔ)器中。
18.一種裝置,包括全局存儲(chǔ)器,用于存儲(chǔ)指令;指令預(yù)解碼器;以及處理器,其中所述指令預(yù)解碼器在指令從所述全局存儲(chǔ)器傳送到所述處理器時(shí)對(duì)所述指令預(yù)解碼。
19.如權(quán)利要求18所述的裝置,其特征在于,還包括直接存儲(chǔ)器訪問(wèn)單元,用于安排要從所述全局存儲(chǔ)器單元檢索的指令,以及安排要向所述處理器提供的已預(yù)解碼的指令。
20.如權(quán)利要求18所述的裝置,其特征在于,已預(yù)解碼的指令包括執(zhí)行控制信號(hào)。
21.一種系統(tǒng),包括多向天線;以及具有直接存儲(chǔ)器訪問(wèn)單元的裝置,所述直接存儲(chǔ)器訪問(wèn)單元包括輸入路徑,用于從存儲(chǔ)器單元接收指令,指令預(yù)解碼器,用于對(duì)所述指令預(yù)解碼,以及輸出路徑,用于將已預(yù)解碼的指令提供給處理元件。
22.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述裝置是數(shù)字基帶處理器。
23.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述數(shù)字基帶處理器被構(gòu)成為片上系統(tǒng)。
24.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述系統(tǒng)是碼分多址基站。
全文摘要
根據(jù)某些實(shí)施例,指令在直接存儲(chǔ)器訪問(wèn)單元處被預(yù)解碼。
文檔編號(hào)G06F9/30GK1894660SQ200480037087
公開(kāi)日2007年1月10日 申請(qǐng)日期2004年12月10日 優(yōu)先權(quán)日2003年12月22日
發(fā)明者C·阿爾博拉, A·古普塔, T-H·陸 申請(qǐng)人:英特爾公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1