亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在一個(gè)超長(zhǎng)指令字中執(zhí)行的子流水線和流水線的制作方法

文檔序號(hào):6559628閱讀:322來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):在一個(gè)超長(zhǎng)指令字中執(zhí)行的子流水線和流水線的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及指令系統(tǒng)結(jié)構(gòu),并尤其涉及在一個(gè)VLIW(超長(zhǎng)指令字)中執(zhí)行的子流水線和流水線指令。
傳統(tǒng)的,對(duì)于超長(zhǎng)指令字,VLIW處理器已經(jīng)被下列特征所定義。能夠指定多種處理,在每個(gè)指令中獨(dú)立操作。(一個(gè)多操作指令。)VLIW體系結(jié)構(gòu)是水平機(jī)器,帶有每個(gè)寬指令字或多操作(MultiOp),由幾個(gè)操作或Ops組成。一個(gè)MultiOp中的所有Ops被發(fā)布在相同的執(zhí)行進(jìn)度中。對(duì)假設(shè)用于操作的特定非單元等待時(shí)間編程并且實(shí)際上,僅在那些假定是真實(shí)的時(shí),編程是正確的。針對(duì)靜態(tài)的需求,編譯時(shí)間的操作調(diào)度要考慮到操作等待時(shí)間和資源的利用。因此,對(duì)于功能操作單元的數(shù)量和操作等待時(shí)間,需要硬件精確地符合假定建成的程序。盡管是多操作,缺少了任何互鎖硬件,流水線操作每個(gè)周期被發(fā)布。
這種類(lèi)型體系結(jié)構(gòu)的最初的吸引力在于,它能夠使用相對(duì)簡(jiǎn)單和不昂貴的控制硬件開(kāi)發(fā)利用大量的指令字并行(ILP)。盡管許多VLIW產(chǎn)品已經(jīng)建立了每個(gè)周期[4,5,3]能夠發(fā)布六個(gè)或更多的操作,但并不能證明用ILP[18,2,14,8,7,6]這樣的等級(jí)建立超標(biāo)量產(chǎn)品的可行性。而且,完全暴露現(xiàn)有硬件資源的編譯程序和確切的操作等待時(shí)間允許最佳的調(diào)度。
此外,這些非常相同的特性已經(jīng)讓我們感覺(jué)到,VLIW處理器作為產(chǎn)品它的利益是有限的。固定假設(shè)建立的程序把硬件看作成具有排除處理器之間目標(biāo)代碼兼容性,它們用不同的技術(shù)建立于不同的時(shí)期并因此具有不同的等待時(shí)間。即使在一個(gè)單一處理器的語(yǔ)境中,也需要編譯器調(diào)度一個(gè)等待時(shí)間,這就是說(shuō)固定的編譯時(shí)間對(duì)于操作時(shí)存在問(wèn)題的,比如負(fù)載,基于是否一個(gè)高速緩存命中或出現(xiàn)錯(cuò)誤,它們的等待時(shí)間能具有很高的可變性。由于后者的問(wèn)題,無(wú)論什么VLIW產(chǎn)品很少附著于理想的非互鎖硬件。換句話說(shuō),對(duì)于一個(gè)VLIW體系結(jié)構(gòu)的實(shí)現(xiàn),當(dāng)一個(gè)負(fù)載花費(fèi)了多于預(yù)期的時(shí)間時(shí),處理器的互鎖和失速是常見(jiàn)的。
進(jìn)行動(dòng)態(tài)調(diào)度的傳統(tǒng)智慧不適用于VLIW處理器。應(yīng)該明白,在VLIW處理器上如何完成動(dòng)態(tài)調(diào)度的第一步是要認(rèn)識(shí)到傳統(tǒng)VLIW處理器和一個(gè)VLIW體系結(jié)構(gòu)概念之間的區(qū)別。一個(gè)VLIW處理器通過(guò)一組具體的資源(功能操作單元,總線,等等)和各種被執(zhí)行操作的具體的執(zhí)行等待時(shí)間而被定義。假設(shè)如果用于一個(gè)VLIW處理器被編譯和被調(diào)度的程序恰好符合哪些資源和等待時(shí)間,它能在那個(gè)處理器上以一種指令級(jí)并行方式被執(zhí)行而不需要任何特殊的控制邏輯。相反,不具有特殊控制邏輯的VLIW處理器只能執(zhí)行那些正確的編譯了假設(shè)的資源和等待時(shí)間的程序。VLIW處理器已經(jīng)被傳統(tǒng)的構(gòu)造成沒(méi)有特殊控制邏輯,這導(dǎo)致的后果是VLIW處理器必須按這樣的方式進(jìn)行設(shè)計(jì)。
VLIW作為一個(gè)體系結(jié)構(gòu),一個(gè)不同的觀點(diǎn)就是,在為體系結(jié)構(gòu)寫(xiě)入的程序類(lèi)別和實(shí)現(xiàn)那個(gè)體系結(jié)構(gòu)的處理器的組之間使用一個(gè)契約接口。通常的觀點(diǎn)是這個(gè)契約關(guān)心指令的格式和構(gòu)成一個(gè)指令的比特的翻譯。但是該契約更進(jìn)一步的方面是這個(gè)專(zhuān)利最重要的。第一,經(jīng)過(guò)它的MultiOp能力,一個(gè)VLIW體系結(jié)構(gòu)指定一組保證相互獨(dú)立的操作(并因此可以同時(shí)發(fā)布而不用通過(guò)發(fā)布硬件進(jìn)行任何檢驗(yàn)。
第二,經(jīng)過(guò)斷定操作等待時(shí)間,如果正確地了解了操作之間的相關(guān)性,一個(gè)體系結(jié)構(gòu)規(guī)定如何翻譯一個(gè)程序。在序列體系結(jié)構(gòu)的情況下,通過(guò)程序編制器假設(shè)最大等待時(shí)間是一個(gè)單一周期。所以,被所有發(fā)布的操作(而且,在多數(shù)情況下,已經(jīng)完成)所確定的用于一個(gè)操作的操作數(shù)在所述操作之前必須出現(xiàn)在程序編制器。這是實(shí)際的,因?yàn)橛性S多序列體系結(jié)構(gòu),例如SPARC,它的一些指令(帶有延遲時(shí)隙的分支)具有非單元等待時(shí)間。
對(duì)于VLIW體系結(jié)構(gòu)的程序,在使用具有非單元等待時(shí)間的操作的情況下,用于一個(gè)操作的輸入操作數(shù)在所述操作之前沒(méi)有被所有發(fā)布的操作所確定。無(wú)論怎樣操作,假設(shè)在所述操作的發(fā)布之前已經(jīng)完成操作。操作較早地被發(fā)布,但不能推測(cè)已經(jīng)被完成,不能根據(jù)所述操作強(qiáng)加一個(gè)流程。
一個(gè)程序具有單元的假定等待時(shí)間(UAL),如果通過(guò)假設(shè)全部操作以一個(gè)指令在下一個(gè)指令被發(fā)布之前完成而正確理解了程序的語(yǔ)義。如果至少一個(gè)操作具有一個(gè)非單元假定等待時(shí)間L,它大于1,一個(gè)程序具有非單元假定等待時(shí)間(NUAL),也就是說(shuō),如果恰好下一個(gè)L-1指令被理解并在這個(gè)操作完成之前已經(jīng)被發(fā)布,則該程序的語(yǔ)義被正確理解。如果被假定執(zhí)行的程序的類(lèi)別是UAL(NUAL)的話,則一個(gè)體系結(jié)構(gòu)是UAL(NUAL)。我們應(yīng)該交替使用術(shù)語(yǔ)NUAL程序和認(rèn)知等待時(shí)間的程序。
在指令級(jí)并行方面取得的成績(jī)使超長(zhǎng)指令字VLIW處理器具有很大的吸引力,因?yàn)樗鼈兡軌蚴褂孟鄬?duì)簡(jiǎn)單的控制邏輯在每個(gè)周期發(fā)布多種操作。盡管VLIW體系結(jié)構(gòu)具有設(shè)計(jì)簡(jiǎn)單化和高發(fā)布率的優(yōu)點(diǎn),使用VLIW和其他新穎的ILP體系結(jié)構(gòu)的最大障礙是,它們與現(xiàn)有的軟件基礎(chǔ)不兼容。在VLIW體系結(jié)構(gòu)中,目標(biāo)代碼兼容性的缺點(diǎn)貫穿于具有不同的硬件等待時(shí)間和變化的并行級(jí)的處理器中,嚴(yán)重的限制了它們成為通用的計(jì)算范例。這意味著一個(gè)二進(jìn)制的已安裝的軟件基礎(chǔ)不能?chē)@著幾代的家族進(jìn)行建立。這蘊(yùn)含著巨大的經(jīng)濟(jì)問(wèn)題,并且,如果VLIW體系結(jié)構(gòu)繼續(xù)發(fā)展的話,需要有效地解決這個(gè)問(wèn)題。對(duì)于這個(gè)問(wèn)題,學(xué)術(shù)論文中給出了兩種類(lèi)別的方法硬件方法和軟件方法。盡管這些技術(shù)可以提供兼容性,但昂貴硬件的復(fù)雜性能潛在的影響周期時(shí)間。一個(gè)典型的軟件方法是靜態(tài)的重新編譯來(lái)自目標(biāo)文件的VLIW程序。該方法產(chǎn)生多個(gè)可執(zhí)行的程序,造成商業(yè)復(fù)制保護(hù)和系統(tǒng)管理的困難。例如,如果第一代機(jī)器針對(duì)每個(gè)功能單元具有確定的等待時(shí)間而第二代VLIW機(jī)器針對(duì)那些相同的功能單元具有不同的等待時(shí)間,由于在不同操作之間的流依賴(lài),以前的VLIW調(diào)度不能保證在第二代機(jī)器上正確地執(zhí)行。如果第二代機(jī)器包括一個(gè)附加的功能單元,則會(huì)出現(xiàn)同樣的問(wèn)題。即使保持相同的等待時(shí)間,用于新機(jī)器的調(diào)度碼也不能在以前的機(jī)器上正確地執(zhí)行,因?yàn)檎{(diào)度程序?yàn)榱死酶郊拥某朔ㄆ饕呀?jīng)移動(dòng)了操作。沒(méi)有簡(jiǎn)單的方法使這個(gè)調(diào)度適應(yīng)以前的機(jī)器。這是幾代機(jī)器之間向下不兼容的情況。在該情況中,兼容性也需要一個(gè)機(jī)制調(diào)整調(diào)度或需要用于每代的不同組的二進(jìn)制。IBM描述了用于一個(gè)ILP機(jī)器被稱(chēng)為DAISY(Yorktown動(dòng)態(tài)體系結(jié)構(gòu)指令集)的硬件特征。DAISY特別想模仿現(xiàn)存的體系結(jié)構(gòu),以便能運(yùn)行用于以前體系結(jié)構(gòu)(包括操作系統(tǒng)核心(kernel)碼)的所有現(xiàn)存軟件而不改變VLIW的體系結(jié)構(gòu)。每次一個(gè)新分段碼在首次被執(zhí)行時(shí),代碼被翻譯成VLIW原語(yǔ),通過(guò)位于只讀存儲(chǔ)器中的虛機(jī)監(jiān)控程序,該代碼被并行和被存儲(chǔ)在以前體系結(jié)構(gòu)不可見(jiàn)的主存儲(chǔ)器的一個(gè)部分中。后面相同分段的執(zhí)行不需要翻譯(除非驅(qū)逐)。硬件方法的限制在于用于進(jìn)行調(diào)度的范圍受到運(yùn)行時(shí)間可見(jiàn)的Ops的窗口的限制,因此可用的ILP比一個(gè)編譯器所能開(kāi)發(fā)利用的要少。這些方案也導(dǎo)致周期時(shí)間拉長(zhǎng),出現(xiàn)這樣的現(xiàn)象是由于在后代機(jī)器的超標(biāo)量體系結(jié)構(gòu)上過(guò)多地考慮使用VLIW模式。
等級(jí)程序員能看到描述計(jì)算機(jī)體系結(jié)構(gòu)的指令級(jí)體系結(jié)構(gòu)。程序員用的計(jì)算機(jī)體系結(jié)構(gòu)的模型是相同的。在一個(gè)無(wú)掩蔽的流水線的體系結(jié)構(gòu)中,與流水線執(zhí)行指令相關(guān)的延遲在指令集體系結(jié)構(gòu)中是可見(jiàn)的并能被開(kāi)發(fā)利用以便提高計(jì)算的帶寬。
解決兼容性問(wèn)題的其他技術(shù)包括把軟件跨越遷移到一個(gè)新的機(jī)器體系結(jié)構(gòu)。在這些應(yīng)用中,經(jīng)常試圖模仿原始的老體系結(jié)構(gòu),或者模仿被稱(chēng)為基礎(chǔ)體系結(jié)構(gòu)的處理器的原本指令集體系結(jié)構(gòu)。VLIW模仿以前的體系結(jié)構(gòu),或者模仿不同于給定處理器的基礎(chǔ)體系結(jié)構(gòu)的任意指令級(jí)體系結(jié)構(gòu),從而得到那個(gè)處理器上的支持,被稱(chēng)為遷移體系結(jié)構(gòu)。
通過(guò)本發(fā)明,可以反映出一個(gè)關(guān)于不掩蔽流水線VLIW DSPs的當(dāng)代和后代之間代碼兼容性的示例。例如,TI C6000 DSP和TI 64位C6000 DSP擴(kuò)充是當(dāng)前的和未來(lái)的體系結(jié)構(gòu)。TI 64-位C6000 DSP體系結(jié)構(gòu)包含對(duì)ISA可見(jiàn)流水線技術(shù)和其他體系結(jié)構(gòu)特征的許多改變,以便提供較高的操作頻率。這些改變協(xié)調(diào)了二進(jìn)制兼容性和下面使用本發(fā)明實(shí)現(xiàn)的一個(gè)加強(qiáng)碼遷移路徑的需求。
公開(kāi)了一種具體化流水線翻譯,提供當(dāng)前DSPs和后代DSPs之間的二進(jìn)制兼容性。當(dāng)從存儲(chǔ)器檢索一個(gè)提取包時(shí),全部提取包在該請(qǐng)求到達(dá)提取包的指令存儲(chǔ)器時(shí)按照?qǐng)?zhí)行方式被指定一個(gè)操作方式(基礎(chǔ)指令集或遷移指令集)。通過(guò)執(zhí)行單元(被調(diào)度的),來(lái)自指令存儲(chǔ)器的提取包被語(yǔ)法分析成執(zhí)行包并在由兩種執(zhí)行方式(基礎(chǔ)和遷移)共享的一個(gè)數(shù)據(jù)通道中被分類(lèi)。由于在此情況下,在遷移和基礎(chǔ)體系結(jié)構(gòu)之間,對(duì)于提取包的語(yǔ)法和執(zhí)行單元進(jìn)行的譯碼是不同的,兩個(gè)執(zhí)行方式具有單獨(dú)的控制邏輯。基于正被譯碼的原始指令提取包所約束的執(zhí)行方式,通過(guò)基礎(chǔ)體系結(jié)構(gòu)的譯碼邏輯或遷移體系結(jié)構(gòu)的譯碼邏輯,對(duì)來(lái)自輸送數(shù)據(jù)通道的指令進(jìn)行譯碼。被遷移和基礎(chǔ)譯碼流水線處理的代碼產(chǎn)生控制寄存器堆(文件)和控制執(zhí)行硬件的功能單元的機(jī)器字。使用一個(gè)多路復(fù)用器選擇這些機(jī)器字。通過(guò)提取包所約束的操作方式支配從多路復(fù)用器選擇最后的機(jī)器字,以便產(chǎn)生的機(jī)器字和順序邏輯能用于子流水線的執(zhí)行。選擇的機(jī)器字控制全局寄存器文件,全局寄存器文件把操作數(shù)提供給所有硬件執(zhí)行單元并接受所有硬件執(zhí)行單元的結(jié)果。


圖1是一個(gè)子流水線執(zhí)行遷移體系結(jié)構(gòu)的遷移代碼的示例,它具有基礎(chǔ)體系結(jié)構(gòu)1/4的指令等待時(shí)間。圖2示例了在子流水線執(zhí)行方式中運(yùn)行的遷移代碼的重調(diào)度,在翻譯到基礎(chǔ)體系結(jié)構(gòu)代碼之后,圖解說(shuō)明了翻譯的無(wú)效性。圖3是按照本發(fā)明優(yōu)選實(shí)施例圖解說(shuō)明了一個(gè)子流水線翻譯的實(shí)施例。
子流水線執(zhí)行是一種硬件效果的方法,用于執(zhí)行來(lái)自一個(gè)遷移無(wú)掩蔽流水線體系結(jié)構(gòu)的代碼。在此方法中,使用固定的多個(gè)(叫做S)期望遷移體系結(jié)構(gòu)的指令等待時(shí)間設(shè)計(jì)基礎(chǔ)體系結(jié)構(gòu)。根據(jù)遷移和基礎(chǔ)體系結(jié)構(gòu)之間的相互聯(lián)系,通過(guò)S-1時(shí)鐘周期對(duì)遷移指令發(fā)布進(jìn)行的延遲,遷移體系結(jié)構(gòu)的代碼能夠在基礎(chǔ)體系結(jié)構(gòu)上執(zhí)行。除了提供子流水線的執(zhí)行方式外,使用低的額外開(kāi)銷(xiāo)對(duì)基礎(chǔ)和遷移指令集之間的設(shè)施進(jìn)行改變。
圖1給出了代碼的圖解示例,和示例了一個(gè)4倍于用于所有指令的遷移體系結(jié)構(gòu)的指令等待時(shí)間的基礎(chǔ)體系結(jié)構(gòu),如下表所示
表1.遷移和基礎(chǔ)體系結(jié)構(gòu)等待時(shí)間的比較代碼可以在基礎(chǔ)體系結(jié)構(gòu)中被重新安排,如圖2所示,因?yàn)樗械腘OPs需要彌補(bǔ)基礎(chǔ)和遷移代碼之間等待時(shí)間的差異,在子流水線執(zhí)行方式中的代碼運(yùn)行不會(huì)超出基礎(chǔ)體系結(jié)構(gòu)指令集的部分性能。根據(jù)代碼的性能要求和其他的特點(diǎn),利用兩個(gè)自動(dòng)的方法提高來(lái)自遷移體系結(jié)構(gòu)的代碼性能。首先,使用編寫(xiě)在基礎(chǔ)體系結(jié)構(gòu)中的程序庫(kù)對(duì)遷移體系結(jié)構(gòu)的代碼進(jìn)行重鏈接,第二,使用離線二進(jìn)制翻譯技術(shù)把遷移體系結(jié)構(gòu)代碼轉(zhuǎn)換成基礎(chǔ)體系結(jié)構(gòu)代碼。
在使用基礎(chǔ)程序庫(kù)的情況中,遷移代碼在子流水線上的性能增益是與花費(fèi)在基礎(chǔ)程序庫(kù)中的執(zhí)行時(shí)間和在基礎(chǔ)ISA中程序庫(kù)例行程序的性能成比例的?;ㄙM(fèi)在程序庫(kù)中的時(shí)間隨應(yīng)用程序明顯變化,但在32-位C6000 DSP指令集的程序庫(kù)中,它通常大于一個(gè)應(yīng)用程序執(zhí)行時(shí)間的50%。
離線二進(jìn)制翻譯接受來(lái)自遷移體系結(jié)構(gòu)的二進(jìn)制碼,反匯編該代碼并把它轉(zhuǎn)換到基礎(chǔ)體系結(jié)構(gòu)。通過(guò)許多方法可以實(shí)現(xiàn)轉(zhuǎn)換處理過(guò)程...通過(guò)具有的子流水線執(zhí)行方式來(lái)簡(jiǎn)化轉(zhuǎn)換在子流水線方式中執(zhí)行被認(rèn)為是困難的或不可翻譯的情況語(yǔ)句。這允許離線翻譯展開(kāi)增量隨著在時(shí)間上困難概念的變化,在子流水線方式中執(zhí)行的部分代碼發(fā)生變化。
盡管先前討論了(在本發(fā)明的背景中)IBM和HP以及北卡羅來(lái)納州立大學(xué)(North Carolina State University)有關(guān)在幾代VLIW處理器之間兼容問(wèn)題的解決方案,它們可以導(dǎo)致VLIW基礎(chǔ)體系結(jié)構(gòu)支持遷移體系結(jié)構(gòu),但這些解決方案不能適用于DSPs。特別是,IBM和NCSU所描述的動(dòng)態(tài)翻譯方法不能為實(shí)時(shí)DSP應(yīng)用程序提供所要求的可預(yù)測(cè)的運(yùn)行時(shí)間。HP所描述的方法具有復(fù)雜性但可確定運(yùn)行時(shí)間,但是,必須在延遲發(fā)布指令緩沖器,延遲寄存器文件和復(fù)原單元的硬件上花費(fèi)巨大的成本。
此外,還發(fā)表了涉及CISC(復(fù)雜指令集計(jì)算機(jī))到超標(biāo)量RISC(精簡(jiǎn)指令集計(jì)算機(jī))翻譯的操作。以及涉及靜態(tài)翻譯的相同操作的以后的版本連同運(yùn)行在基礎(chǔ)體系結(jié)構(gòu)上的遷移體系結(jié)構(gòu)的軟件仿真。在本發(fā)明中,所有遷移體系結(jié)構(gòu)的軟件仿真功能可以被在子流水線方式中的硬件執(zhí)行所替代。
圖3是按照本發(fā)明優(yōu)選實(shí)施例圖解說(shuō)明了一個(gè)子流水線翻譯的實(shí)施例。在本發(fā)明中,代碼從存儲(chǔ)器中被提取。指令存儲(chǔ)器可以用一個(gè)直接尋址RAM或高速緩(沖)存(儲(chǔ)器)來(lái)實(shí)現(xiàn)。指令存儲(chǔ)器中的代碼可以出現(xiàn)在遷移指令集或基礎(chǔ)指令集中的程序編制器上。在一個(gè)實(shí)現(xiàn)中,指令存儲(chǔ)器中的代碼可以被預(yù)先譯碼到后面的指令處理的設(shè)施上。同時(shí)檢索存儲(chǔ)器中的一組指令被稱(chēng)為一個(gè)提取包。諸提取包在該請(qǐng)求到達(dá)提取包的指令存儲(chǔ)器時(shí)按照?qǐng)?zhí)行方式被分配一個(gè)操作方式。這樣就允許了快速的過(guò)渡方式。
來(lái)自指令存儲(chǔ)器的諸提取包被語(yǔ)法分析成諸執(zhí)行包并在由兩種執(zhí)行方式(基礎(chǔ)和遷移)共享的一個(gè)數(shù)據(jù)通道中被分類(lèi)。由于在此情況下,在遷移和基礎(chǔ)體系結(jié)構(gòu)之間,對(duì)于提取包的語(yǔ)法和執(zhí)行單元進(jìn)行的譯碼是不同的,兩個(gè)執(zhí)行方式具有單獨(dú)的控制邏輯。
基于正被譯碼的原始指令提取包所約束的執(zhí)行方式,通過(guò)基礎(chǔ)體系結(jié)構(gòu)的譯碼邏輯或遷移體系結(jié)構(gòu)的譯碼邏輯,對(duì)來(lái)自輸送數(shù)據(jù)通道的指令進(jìn)行譯碼。在無(wú)掩蔽流水線VLIW指令集的情況下,基礎(chǔ)和遷移體系結(jié)構(gòu)的譯碼邏輯首先把操作碼翻譯成要求的控制信號(hào)以便在執(zhí)行硬件功能單元上執(zhí)行指定的指令。由于在本發(fā)明中所定義的對(duì)于遷移和基礎(chǔ)體系結(jié)構(gòu)的等待時(shí)間之間的相互關(guān)系(基礎(chǔ)操作的等待時(shí)間是遷移操作的等待時(shí)間的兩倍)以及這些指令集的無(wú)掩蔽流水線的特征,則對(duì)于指令譯碼技術(shù)需要知道流水線的深度,指令分度以及指令的依賴(lài)性,這些都是不需要的了。其結(jié)果是減少了指令譯碼邏輯中的硬件和復(fù)雜性。
被遷移和基礎(chǔ)譯碼流水線處理的代碼產(chǎn)生控制寄存器堆(文件)和控制執(zhí)行硬件的功能單元的機(jī)器字。使用一個(gè)多路復(fù)用器選擇這些機(jī)器字,也能選擇一個(gè)第三種無(wú)操作指令的機(jī)器字。通過(guò)提取包所約束的操作方式支配從上述三種可能的機(jī)器字中選擇最后的機(jī)器字,以便產(chǎn)生的機(jī)器字和順序邏輯能用于子流水線的執(zhí)行。
在本發(fā)明的第一優(yōu)選實(shí)施例中,選擇的機(jī)器字控制全局寄存器文件,全局寄存器文件把操作數(shù)提供給所有硬件執(zhí)行單元并接受所有硬件執(zhí)行單元的結(jié)果。兩個(gè)硬件流水線時(shí)鐘周期之后,選擇的機(jī)器字控制局部寄存器文件,該局部寄存器文件把操作數(shù)提供給局部硬件執(zhí)行單元或者提供給相鄰的硬件執(zhí)行功能單元。最后,選擇的機(jī)器字控制各種類(lèi)型的執(zhí)行硬件,執(zhí)行硬件在操作數(shù)上計(jì)算函數(shù)以產(chǎn)生結(jié)果。
權(quán)利要求
1.一種具體的子流水線翻譯的結(jié)構(gòu),提供基礎(chǔ)體系結(jié)構(gòu)和VLIW體系結(jié)構(gòu)的遷移體系結(jié)構(gòu)之間的二進(jìn)制兼容性,包括一個(gè)VLIW體系結(jié)構(gòu),包括一個(gè)基礎(chǔ)體系結(jié)構(gòu)和一個(gè)遷移體系結(jié)構(gòu)并且具有一個(gè)基礎(chǔ)執(zhí)行方式和一個(gè)遷移執(zhí)行方式;一個(gè)從存儲(chǔ)器檢索的提取包,該提取包在該請(qǐng)求到達(dá)提取包的存儲(chǔ)器時(shí)根據(jù)執(zhí)行方式具有一個(gè)操作方式;一個(gè)由基礎(chǔ)和遷移體系結(jié)構(gòu)共享的數(shù)據(jù)通道,用于把所述基礎(chǔ)體系結(jié)構(gòu)方式和遷移體系結(jié)構(gòu)方式的諸提取包語(yǔ)法分析成執(zhí)行包并輸送這些基礎(chǔ)執(zhí)行包到適當(dāng)?shù)膱?zhí)行硬件的基礎(chǔ)體系結(jié)構(gòu)譯碼;一個(gè)遷移體系結(jié)構(gòu)控制電路,用于把具有遷移執(zhí)行方式的執(zhí)行包指令輸送到遷移體系結(jié)構(gòu)譯碼;執(zhí)行硬件,用于在執(zhí)行單元上對(duì)執(zhí)行包指令進(jìn)行執(zhí)行并具有一個(gè)基礎(chǔ)體系結(jié)構(gòu)譯碼和一個(gè)遷移體系結(jié)構(gòu)譯碼,用于分別對(duì)所述的基礎(chǔ)體系結(jié)構(gòu)指令和所述的遷移體系結(jié)構(gòu)指令進(jìn)行譯碼,在進(jìn)行執(zhí)行之前,依據(jù)正被譯碼指令的提取包的執(zhí)行方式;一個(gè)多路復(fù)用器,具有至少兩個(gè)輸入和一個(gè)機(jī)器字輸出,其中一個(gè)輸入是所述遷移體系結(jié)構(gòu)譯碼的輸出和另一個(gè)輸入是所述基礎(chǔ)體系結(jié)構(gòu)譯碼的輸出,所述多路復(fù)用器依據(jù)所述提取包的操作方式進(jìn)行選擇;機(jī)器字,用于控制執(zhí)行硬件單元。
2.按照權(quán)利要求1的結(jié)構(gòu),所述多路復(fù)用器進(jìn)一步包括第三輸入,其中所述第三輸入是一個(gè)無(wú)操作指令。
3.按照權(quán)利要求1的結(jié)構(gòu),其中所述機(jī)器字控制一個(gè)全局寄存器文件,該全局寄存器文件把操作數(shù)提供給所有硬件執(zhí)行單元并接受所有硬件執(zhí)行單元的結(jié)果。
4.按照權(quán)利要求3的結(jié)構(gòu),其中在所述機(jī)器字對(duì)所述全局寄存器文件進(jìn)行控制之后,所述的機(jī)器字控制局部寄存器文件,該局部寄存器文件把操作數(shù)提供給局部硬件執(zhí)行單元或者提供給相鄰的硬件執(zhí)行功能單元。
5.按照權(quán)利要求4的結(jié)構(gòu),其中在所述機(jī)器字對(duì)所述局部寄存器文件進(jìn)行控制之后,所述機(jī)器字控制各種類(lèi)型的執(zhí)行硬件,該執(zhí)行硬件在操作數(shù)上計(jì)算函數(shù)以便產(chǎn)生硬件執(zhí)行單元的結(jié)果。
6.按照權(quán)利要求1的結(jié)構(gòu),其中基礎(chǔ)和遷移體系結(jié)構(gòu)的譯碼單元把操作碼翻譯成要求的控制信號(hào)以便在執(zhí)行硬件功能單元上執(zhí)行指定的指令。
7.按照權(quán)利要求1的結(jié)構(gòu),進(jìn)一步包括,所述遷移體系結(jié)構(gòu)控制電路用于發(fā)布無(wú)操作指令,以便保留遷移體系結(jié)構(gòu)中指令的語(yǔ)義。
8.一種提供基礎(chǔ)體系結(jié)構(gòu)和VLIW體系結(jié)構(gòu)的遷移體系結(jié)構(gòu)之間的二進(jìn)制兼容性的方法,包括步驟在一個(gè)VLIW體系結(jié)構(gòu)上,分別在一個(gè)基礎(chǔ)體系結(jié)構(gòu)和一個(gè)遷移體系結(jié)構(gòu)上執(zhí)行一個(gè)基礎(chǔ)執(zhí)行方式和一個(gè)遷移執(zhí)行方式;提供從存儲(chǔ)器檢索的提取包,該提取包在該請(qǐng)求到達(dá)提取包的存儲(chǔ)器時(shí)根據(jù)執(zhí)行方式具有一個(gè)操作方式;在一個(gè)由基礎(chǔ)和遷移體系結(jié)構(gòu)共享的數(shù)據(jù)通道上,把所述基礎(chǔ)體系結(jié)構(gòu)方式和遷移體系結(jié)構(gòu)方式的諸提取包語(yǔ)法分析成執(zhí)行包并輸送這些基礎(chǔ)執(zhí)行包到適當(dāng)?shù)膱?zhí)行硬件的基礎(chǔ)體系結(jié)構(gòu)譯碼;在一個(gè)遷移體系結(jié)構(gòu)控制電路上把具有遷移執(zhí)行方式的執(zhí)行包指令輸送到遷移體系結(jié)構(gòu)譯碼;在執(zhí)行硬件的執(zhí)行單元上對(duì)執(zhí)行包指令進(jìn)行執(zhí)行,所述的執(zhí)行硬件具有一個(gè)基礎(chǔ)體系結(jié)構(gòu)譯碼和一個(gè)遷移體系結(jié)構(gòu)譯碼,用于分別對(duì)所述的基礎(chǔ)體系結(jié)構(gòu)指令和所述的遷移體系結(jié)構(gòu)指令進(jìn)行譯碼,在進(jìn)行執(zhí)行之前,依據(jù)正被譯碼指令的提取包的執(zhí)行方式;在一個(gè)具有一機(jī)器字輸出的多路復(fù)用器中,依據(jù)所述提取包的操作方式,在所述遷移體系結(jié)構(gòu)譯碼的輸出和所述基礎(chǔ)體系結(jié)構(gòu)譯碼的輸出之間進(jìn)行選擇;使用所述機(jī)器字控制執(zhí)行硬件單元。
9.按照權(quán)利要求8的方法,進(jìn)一步包括,在所述遷移體系結(jié)構(gòu)譯碼的輸出和所述基礎(chǔ)體系結(jié)構(gòu)譯碼的輸出以及一個(gè)無(wú)操作指令之間進(jìn)行選擇。
10.按照權(quán)利要求8的方法,進(jìn)一步包括,使用所述機(jī)器字對(duì)寄存器進(jìn)行控制。
11.按照權(quán)利要求8的方法,使用所述機(jī)器字對(duì)一個(gè)全局寄存器文件進(jìn)行控制,該全局寄存器文件把操作數(shù)提供給所有硬件執(zhí)行單元并接受所有硬件執(zhí)行單元的結(jié)果。
12.按照權(quán)利要求11的方法,進(jìn)一步包括,在所述的對(duì)所述全局寄存器文件進(jìn)行控制之后,控制局部寄存器文件,該局部寄存器文件把操作數(shù)提供給局部硬件執(zhí)行單元或者提供給相鄰的硬件執(zhí)行功能單元。
13.按照權(quán)利要求12的方法,進(jìn)一步包括,在所述的對(duì)所述局部寄存器文件進(jìn)行控制之后,控制各種類(lèi)型的執(zhí)行硬件,該執(zhí)行硬件在操作數(shù)上計(jì)算函數(shù)以便產(chǎn)生所述硬件執(zhí)行單元的結(jié)果。
14.按照權(quán)利要求8的方法,進(jìn)一步包括,在基礎(chǔ)和遷移體系結(jié)構(gòu)的譯碼單元內(nèi)把操作碼翻譯成要求的控制信號(hào)以便在執(zhí)行硬件功能單元上執(zhí)行指定的指令。
15.按照權(quán)利要求8的方法,進(jìn)一步包括從所述遷移體系結(jié)構(gòu)控制電路發(fā)布無(wú)操作指令的步驟,以便保留遷移體系結(jié)構(gòu)中指令的語(yǔ)義。
全文摘要
公開(kāi)了在超長(zhǎng)指令字中執(zhí)行的子流水線和流水線,能在當(dāng)前與后代DSP之間提供二進(jìn)制兼容。當(dāng)從存儲(chǔ)器檢索到提取包時(shí),按請(qǐng)求時(shí)的執(zhí)行模式為其指定操作模式。提取包經(jīng)語(yǔ)法分析成為執(zhí)行包,并在兩種執(zhí)行模式共享的數(shù)據(jù)通道中由執(zhí)行單元作分類(lèi)。由于遷移與基礎(chǔ)體系中的提取包語(yǔ)法和執(zhí)行單元編碼不同,所以?xún)煞N模式具有單獨(dú)的控制邏輯電路?;A(chǔ)或遷移體系的譯碼邏輯電路根據(jù)原始指令提取包所約束的執(zhí)行模式譯碼。經(jīng)譯碼的代碼產(chǎn)生控制寄存器文件和執(zhí)行硬件功能單元用的機(jī)器字。操作模式控制多路復(fù)用器選擇機(jī)器字,以產(chǎn)生用于子流水線的機(jī)器字和順續(xù)邏輯電路。選中的機(jī)器字控制全局寄存器文件,為所有硬件執(zhí)行單元提供操作數(shù)并接受返回結(jié)果。
文檔編號(hào)G06F9/318GK1365047SQ01122080
公開(kāi)日2002年8月21日 申請(qǐng)日期2001年6月14日 優(yōu)先權(quán)日2000年6月26日
發(fā)明者D·E·施泰斯, 小L·R·西馬 申請(qǐng)人:德克薩斯儀器股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1