專(zhuān)利名稱(chēng)::Vliw處理器的虛擬功能單元的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及微型計(jì)算機(jī)系統(tǒng),更具體地,涉及具有帶旁路網(wǎng)絡(luò)的許多發(fā)起槽的VLIW處理器,并且其中,針對(duì)帶旁路網(wǎng)絡(luò)的兩個(gè)或更多個(gè)發(fā)起槽來(lái)虛擬化單個(gè)物理功能處理器單元。
背景技術(shù):
:在過(guò)去的50年中,處理器設(shè)計(jì)已取得了顯著的進(jìn)步。總體上增大半導(dǎo)體電路密度允許使用更少的組件并以降低了的成本實(shí)現(xiàn)更高的性能級(jí)別。當(dāng)利用CMOS工藝技術(shù)來(lái)實(shí)現(xiàn)時(shí),低功率的實(shí)現(xiàn)方式變得可能。針對(duì)音頻和視頻處理的嵌入式消費(fèi)者市場(chǎng)是受成本驅(qū)動(dòng)的。最初利用專(zhuān)用硬件實(shí)現(xiàn)了這樣的設(shè)備,該專(zhuān)用硬件可以以比利用可編程處理器的可能價(jià)格更低的價(jià)格提供所需的性能。隨后,較新音頻和視頻標(biāo)準(zhǔn)的增加的復(fù)雜度使可編程性在經(jīng)濟(jì)方面變得更加可行,并且由專(zhuān)門(mén)用途處理器提供的更高性能級(jí)別使可編程性變得極為可行。在過(guò)去,可以利用專(zhuān)用硬件經(jīng)濟(jì)地實(shí)現(xiàn)MPEG2視頻處理。但是更新、更高性能的H.264/AVC視頻處理目前最好由專(zhuān)門(mén)用途(領(lǐng)域)處理器來(lái)完成。因此,最近的消費(fèi)設(shè)備目前包括超過(guò)1960年代IBM大型機(jī)相應(yīng)性能級(jí)別的可編程處理性能級(jí)別。低功率處理器實(shí)現(xiàn)方式使電池供電的移動(dòng)電話和其他便攜式設(shè)備變得可行。TM3270是NXP(前飛利浦)半導(dǎo)體TriMedia架構(gòu)族中的最新的媒體處理器。TM3270是針對(duì)視頻和音頻處理的專(zhuān)門(mén)用途領(lǐng)域處理器并針對(duì)嵌入式消費(fèi)者市場(chǎng)提供了可編程媒體處理平臺(tái)。詳見(jiàn)J.W.vandeWaerdt,TheTM3270Media-processor,pp.183,October2006,ISBN90-9021060-1,PhDThesis(BibTeX)。在互聯(lián)網(wǎng)上從http:〃ce.et.tuddft.nl/publicationfiles/1228587thesisJANWILLEM.ud—f下載。典型地,超長(zhǎng)指令字(VLIW,verylonginstructionword)處理器是靜態(tài)調(diào)度處理器,例如NXPTM3270和德克薩斯儀器公司TMS320C6x。通過(guò)編譯器/調(diào)度器在"編譯"時(shí)間而非"執(zhí)行"時(shí)間完成向VLIW處理器發(fā)起槽和功能單元的操作的分配。通過(guò)諸如超標(biāo)量(super-scalar)處理器之類(lèi)的運(yùn)行時(shí)間調(diào)度處理器來(lái)完成"執(zhí)行"時(shí)間處的分配。因此,編譯器/調(diào)度器必須詳細(xì)地了解VLIW處理器的發(fā)起槽和功能單元。如圖1A所示,在典型的4發(fā)起槽的VLIW處理器中,四種不同類(lèi)型的功能單元可用于VLIW編譯器/調(diào)度器。例如,發(fā)起槽h算術(shù)邏輯單元(ALU);發(fā)起槽2:浮點(diǎn)算術(shù)單元(FALU);發(fā)起槽3:用于桶形移位器操作的移位器;以及,發(fā)起槽4:用于加載和存儲(chǔ)操作的LS。源操作數(shù)將來(lái)自統(tǒng)一寄存器堆,并且,操作結(jié)果被放入相同的寄存器堆中。如果每一功能單元采用單個(gè)周期來(lái)執(zhí)行操作,則這里能夠更簡(jiǎn)單地解釋編譯器/調(diào)度器的功能。參見(jiàn)表I。每個(gè)NOP指示無(wú)操作且由于關(guān)聯(lián)發(fā)起槽沒(méi)有執(zhí)行操作而成為資源浪費(fèi)。因此,插入越少的NOP就越好。<table>tableseeoriginaldocumentpage6</column></row><table>表I中的代碼表示由處理器執(zhí)行的兩個(gè)順序VLIW指令。每一VLIW指令可以調(diào)用被分配給特定發(fā)起槽的四個(gè)操作。某些是NOP操作。例如,第一指令(i)的發(fā)起槽4中的LD32操作產(chǎn)生下一接續(xù)VLIW指令(i+l)中發(fā)起槽3中的SLL操作將會(huì)需要的結(jié)果。在該理想示例中,由于所有功能單元僅需要單個(gè)周期來(lái)執(zhí)行其操作,因而每一操作的結(jié)果可用于接續(xù)的VLIW指令中的所有其他操作。通過(guò)寄存器堆在功能單元之間傳達(dá)操作數(shù)數(shù)據(jù)。但是這樣的寄存器傳達(dá)可能會(huì)在處理器中創(chuàng)建關(guān)鍵時(shí)間路徑(criticaltimingpath)。在通常的實(shí)踐中,如果接續(xù)的VLIW指令(指令i+l)中的操作需要操作結(jié)果,則如圖1A所示,必須通過(guò)旁路網(wǎng)絡(luò)來(lái)傳達(dá)該操作結(jié)果。如果在后續(xù)的VLIW指令(i+2、i+3、i+4等)中使用該操作結(jié)果,則可以通過(guò)寄存器堆來(lái)傳達(dá)該操作結(jié)果。如果全部傳達(dá)都必須通過(guò)寄存器堆,則旁路網(wǎng)絡(luò)的使用緩和了可能會(huì)出現(xiàn)的關(guān)鍵時(shí)間路徑。可以通過(guò)增加發(fā)起槽的數(shù)目來(lái)構(gòu)造更高性能的VLIW處理器。例如,具有更多相應(yīng)功能單元的8發(fā)起槽的處理器同4發(fā)起槽的處理器相比可以提供雙倍的性能。參見(jiàn)圖1B。附加的四個(gè)發(fā)起槽(槽5-槽8)可能具有以下功能單元發(fā)起槽5:ALU;發(fā)起槽6:FALU;發(fā)起槽7:移位器;以及,發(fā)起槽8:另一移位器。8發(fā)起槽的處理器的旁路網(wǎng)絡(luò)遠(yuǎn)比4發(fā)起槽的機(jī)器中的旁路網(wǎng)絡(luò)更復(fù)雜和昂貴。這樣的高復(fù)雜度旁路網(wǎng)絡(luò)可以容易地變成8發(fā)起槽的處理器設(shè)計(jì)中的關(guān)鍵時(shí)間路徑。因此,德克薩斯儀器VLIW處理器使用簇(clustering),其中,將八個(gè)發(fā)起槽分組進(jìn)四個(gè)發(fā)起槽的兩個(gè)簇中,四個(gè)發(fā)起槽例如是發(fā)起槽l-4和5-8。參見(jiàn)圖1C。這些簇中的每一個(gè)都具有其自身的旁路網(wǎng)絡(luò),但僅有4發(fā)起槽的機(jī)器的復(fù)雜度。這樣的旁路網(wǎng)絡(luò)復(fù)雜度的降低阻止了旁路網(wǎng)絡(luò)變成處理器工作中的關(guān)鍵時(shí)間路徑。這樣的簇是以性能和功能為代價(jià)的。不能通過(guò)下一接續(xù)VLIW指令(i+l)將操作結(jié)果傳達(dá)給另一簇中的另一操作。在兩簇的旁路網(wǎng)絡(luò)中沒(méi)有提供所需的旁路路徑。簇間的傳達(dá)必須通過(guò)統(tǒng)一寄存器堆,并且向操作數(shù)數(shù)據(jù)變得可用的時(shí)間添加了一個(gè)附加周期時(shí)間。例如,如果指令中的FADD操作需要來(lái)自發(fā)起槽5的指令(i)中的ADD操作,則VLIW編譯器/調(diào)度器應(yīng)當(dāng)使用其對(duì)發(fā)起槽簇的了解,來(lái)分配下一指令(i+l)以通過(guò)例如發(fā)起槽6中的FADD操作在相同簇中進(jìn)行FADD操作。如果將該FADD操作(例如,發(fā)起槽2中的FADD操作)分配給了另一集群,則可能必須延遲直到達(dá)到指令(i+2)為止。這相當(dāng)于由必須流經(jīng)統(tǒng)一寄存器堆的數(shù)據(jù)所引起的等待時(shí)間。因此,當(dāng)編譯器/調(diào)度器配備有與處理器的拓?fù)浜徒M織有關(guān)的信息時(shí),可以在兩個(gè)而非三個(gè)VLIW指令中執(zhí)行ADD-FADD操作序列。盡管采用了簇,但在其他情況下也可以實(shí)現(xiàn)類(lèi)似的進(jìn)步。簇有助于緩和旁路網(wǎng)絡(luò)加載和復(fù)雜度。簇還可以應(yīng)用于針對(duì)不同集群的各自寄存器堆,或者與簇間傳達(dá)機(jī)制相結(jié)合以將操作數(shù)數(shù)據(jù)從一個(gè)簇傳遞給另一個(gè)簇。統(tǒng)一寄存器堆提供了一種盡管以一個(gè)指令延遲為代價(jià)但使寄存器能夠加載、安置和被讀取的、在簇之間傳遞數(shù)據(jù)的方式。每一LS單元復(fù)雜且成本較高,因此,為了簇而復(fù)制第二LS單元是異常昂貴的??稍诿總€(gè)VLIW指令中維持兩個(gè)加載或存儲(chǔ)操作的多端口LS單元是復(fù)雜的,并且,LS單元通常需要大量的芯片有效面積,可能完全無(wú)法獲得所需的額外面積。如果8發(fā)起槽的處理器在簇2中沒(méi)有使用復(fù)制的LS,則簇2不能被指示來(lái)進(jìn)行任何加載或存儲(chǔ)操作。所需要的是一種支持許多發(fā)起槽功能單元的復(fù)制和性能進(jìn)步的方式,在該發(fā)起槽功能單元中,旁路網(wǎng)絡(luò)簇已用于在沒(méi)有顯著地犧牲性能的前提下降低復(fù)雜度。
發(fā)明內(nèi)容在示例實(shí)施例中,在靜態(tài)調(diào)度VLIW處理器中采用了虛擬功能單元。該設(shè)計(jì)向處理器調(diào)度器提供了功能單元的"虛擬"視圖,其中,虛擬視圖的數(shù)量超過(guò)了功能單元的物理實(shí)例的數(shù)量。本發(fā)明的一個(gè)優(yōu)點(diǎn)在于,針對(duì)太困難或成本太高以致無(wú)法進(jìn)行物理復(fù)制的那些類(lèi)型的功能單元,來(lái)實(shí)現(xiàn)顯著的處理器性能改進(jìn)。本發(fā)明的另一優(yōu)點(diǎn)在于,可以利用旁路網(wǎng)絡(luò)簇來(lái)簡(jiǎn)化VLIW處理腿益o本發(fā)明的又一優(yōu)點(diǎn)在于,提供了一種編譯器/調(diào)度器,能夠?qū)LIW處理器中兩個(gè)或更多個(gè)發(fā)起槽提供虛擬化。本發(fā)明的以上概述并不意在表示本發(fā)明的每一個(gè)所公開(kāi)的實(shí)施例或每個(gè)方面。在以下的附圖和詳細(xì)描述中提供了其他方面和示例實(shí)施例。結(jié)合附圖,考慮對(duì)本發(fā)明各種實(shí)施例的以下詳細(xì)描述,可以更完整地理解本發(fā)明,在附圖中圖1A是帶旁路網(wǎng)絡(luò)的四發(fā)起槽處理器的功能框圖1B是帶單個(gè)復(fù)雜旁路網(wǎng)絡(luò)的八發(fā)起槽處理器的功能框圖1C是帶兩個(gè)小的4槽旁路網(wǎng)絡(luò)簇的八發(fā)起槽處理器的功能框圖2是本發(fā)明的八發(fā)起槽處理器實(shí)施例的功能框圖,其中,該處理器實(shí)施例帶有可虛擬訪問(wèn)相同加載-存儲(chǔ)單元的兩個(gè)4槽旁路網(wǎng)絡(luò)簇;圖3是可被虛擬映射到圖2的兩個(gè)簇中的加載-存儲(chǔ)設(shè)備的功能框圖4是本發(fā)明的、帶有單個(gè)旁路網(wǎng)絡(luò)的八發(fā)起槽處理器實(shí)施例的功能框圖,并且其中,已針對(duì)兩個(gè)發(fā)起槽虛擬化了一個(gè)加載-存儲(chǔ)單元。具體實(shí)施例方式盡管本發(fā)明適于各種修改和備選形式,但在附圖中已作為示例示出了本發(fā)明的細(xì)節(jié)并將詳細(xì)描述這些細(xì)節(jié)。然而,應(yīng)當(dāng)理解的是,其意圖不在于將本發(fā)明限于所描述的具體實(shí)施例。相反,其意圖在于覆蓋落入由所附權(quán)利要求所限定的本發(fā)明精神和范圍內(nèi)的所有修改、等同替代方式和備選方式。超長(zhǎng)指令字(VLIW)處理器具有針對(duì)每一指令進(jìn)行并行操作的功能處理單元。通過(guò)各個(gè)發(fā)起槽(例如,八個(gè)發(fā)起槽)來(lái)操作VLIW指令。對(duì)于每個(gè)發(fā)起槽,可以使用多個(gè)功能單元。這里,為了簡(jiǎn)單起見(jiàn),對(duì)每個(gè)發(fā)起槽的一個(gè)功能單元進(jìn)行描述。NXPTriMedia架構(gòu)是對(duì)于每個(gè)發(fā)起槽具有多個(gè)功能單元的設(shè)計(jì)的一個(gè)示例。來(lái)自取指令單元(IFU)的VLIW指令的對(duì)應(yīng)部分告知各自的ALU、FALU、移位器和加載-存儲(chǔ)單元到何處獲得其輸入操作數(shù)以及利用這些操作數(shù)做什么。旁路網(wǎng)絡(luò)使一個(gè)功能單元的結(jié)果可用于正好下一指令周期中的另一功能單元。統(tǒng)一寄存器堆在兩個(gè)指令周期過(guò)后才會(huì)被讀取。帶有能夠在任何和所有八個(gè)發(fā)起槽當(dāng)中進(jìn)行通信的單個(gè)旁路網(wǎng)絡(luò)的8槽VLIW處理器對(duì)于大多數(shù)應(yīng)用來(lái)說(shuō)成本太高且太過(guò)復(fù)雜。因此,代之以使用更小的4槽旁路網(wǎng)絡(luò)簇。圖2示出了本發(fā)明的一個(gè)VLIW處理器實(shí)施例,這里由通用附圖標(biāo)記200來(lái)表示。VLIW指令由八個(gè)功能單元并行操作,這八個(gè)功能單元例如是ALU201、FALU202、移位器(SHIFT)203、LS204、ALU205、FALU206、移位器207和LS208。然而,實(shí)現(xiàn)LS204和LS208作為虛擬加載-存儲(chǔ)單元實(shí)現(xiàn)。單個(gè)物理LS210針對(duì)相應(yīng)的旁路網(wǎng)絡(luò)簇一_簇1212和簇2214形成多個(gè)端口。統(tǒng)一寄存器堆216從每個(gè)操作單元201-208接收所有結(jié)果,并準(zhǔn)備在兩個(gè)指令過(guò)后被讀取。旁路網(wǎng)絡(luò)簇一_簇1212和簇2214允許僅在一個(gè)VLIW指令過(guò)后在相應(yīng)的簇內(nèi)讀取結(jié)果。處理器200的單個(gè)VLIW指令包括發(fā)起槽4或發(fā)起槽8中的LS操作,但不同時(shí)包括這兩個(gè)發(fā)起槽中的操作。如果LS操作需要將出現(xiàn)在簇1212中的結(jié)果,則必須在針對(duì)LS204的發(fā)起槽4中實(shí)現(xiàn)LS指令。同樣,如果LS操作需要將出現(xiàn)在簇2214中的結(jié)果,則必須在針對(duì)LS208的發(fā)起槽8中實(shí)現(xiàn)LS指令。物理LS210中的多端口將朝向?qū)?yīng)的簇。從取指令單元(IFU)220中逐指令地提供VLIW。這些VLIW是由編譯器/調(diào)度器224匯編了的程序224的一部分。這樣的編譯器/調(diào)度器224知道發(fā)起槽201-208、簇l212、簇2214和該一個(gè)物理LS210的組織和限制。編譯器/調(diào)度器224相應(yīng)地對(duì)程序指令進(jìn)行匯編以最佳利用資源。圖2示出了兩個(gè)簇之間的加載-存儲(chǔ)功能處理單元的虛擬化。本發(fā)明的實(shí)施例可以虛擬化任何類(lèi)型的VLIW功能處理單元,以使其作為兩個(gè)或更多個(gè)簇中的發(fā)起槽而出現(xiàn)。圖3提供了可以如何使用多端口或數(shù)據(jù)復(fù)用器來(lái)在簇1和簇2的槽4和槽8中分別實(shí)現(xiàn)虛擬LS單元。電路300將一個(gè)復(fù)用LS設(shè)備302連接進(jìn)簇1虛擬LS304和簇2虛擬LS306中。實(shí)際LS單元312的數(shù)據(jù)輸入復(fù)用器308和310選擇來(lái)自每一簇的操作數(shù)。將結(jié)果廣播至這兩個(gè)簇。輸入復(fù)用器308和310將通過(guò)逐指令地感測(cè)已指向槽4或槽8中哪一個(gè)以執(zhí)行來(lái)自IFU的LS指令,來(lái)接收與要讀入哪個(gè)簇有關(guān)的指令。再次參照?qǐng)D1B,不分簇的處理器可以受益于虛擬視圖。通過(guò)在物理功能單元的多個(gè)發(fā)起槽中提供多個(gè)虛擬視圖,編譯器/調(diào)度器更自由地調(diào)度功能單元的操作。圖4示出了靜態(tài)調(diào)度的、不分簇的VLIW處理器400。VLIW處理器400包括八個(gè)發(fā)起槽401-408,其中,單個(gè)物理LS功能單元410已虛擬化并支持發(fā)起槽401-408中的兩個(gè)加載-存儲(chǔ)(LS)發(fā)起槽404和408。旁路網(wǎng)絡(luò)412提供了八個(gè)發(fā)起槽401-408之間的快速操作數(shù)通信,并且統(tǒng)一寄存器堆414提供了傳遞數(shù)據(jù)的另一種手段。來(lái)自程序文件420的取指令單元(IFU)418提供VLIW416。編譯器/調(diào)度器422提供通過(guò)虛擬化某些發(fā)起槽而施加的限制和約束。盡管己參照多個(gè)具體示例實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但本領(lǐng)域的技術(shù)人員要認(rèn)識(shí)到,在不脫離權(quán)利要求書(shū)中所闡述的本發(fā)明精神和范圍的前提下,可以對(duì)本發(fā)明作出許多改變。權(quán)利要求1、一種超長(zhǎng)指令字(VLIW)處理器系統(tǒng),包括多個(gè)發(fā)起槽,在所述多個(gè)發(fā)起槽當(dāng)中并行地操作VLIW;針對(duì)所述多個(gè)發(fā)起槽中各個(gè)發(fā)起槽的組的多個(gè)旁路網(wǎng)絡(luò)簇,使得操作結(jié)果能被直接傳遞并能夠避免通過(guò)統(tǒng)一寄存器堆而發(fā)生的延遲;所述多個(gè)發(fā)起槽中每一個(gè)發(fā)起槽中的多個(gè)功能處理單元,所述多個(gè)功能處理單元的復(fù)本被分配給每一旁路網(wǎng)絡(luò)簇;至少兩個(gè)虛擬發(fā)起槽,分別被布置于所述多個(gè)旁路網(wǎng)絡(luò)簇中的各個(gè)簇中;以及單個(gè)功能單元,通過(guò)所述虛擬發(fā)起槽而連接,并出現(xiàn)在所述多個(gè)旁路網(wǎng)絡(luò)簇中的各個(gè)簇中;其中,所述單個(gè)功能單元利用多端口而實(shí)現(xiàn)一次,并能夠接收所述多個(gè)旁路網(wǎng)絡(luò)簇上的操作數(shù)和輸出結(jié)果,以避免通過(guò)所述統(tǒng)一寄存器堆而發(fā)生的延遲。2、根據(jù)權(quán)利要求l所述的系統(tǒng),還包括取指令單元(IFU),用于將每個(gè)VLIW提供給所述多個(gè)發(fā)起槽;包括供所述IFU訪問(wèn)的多個(gè)VLIW指令的程序;以及編譯器/調(diào)度器,知道每一發(fā)起槽、每一旁路網(wǎng)絡(luò)簇、和通過(guò)所述虛擬發(fā)起槽而連接的單個(gè)功能單元的組織和限制,并且用于相應(yīng)地對(duì)程序指令進(jìn)行匯編以最優(yōu)地利用處理器資源。'3、根據(jù)權(quán)利要求l所述的系統(tǒng),還包括-作為通過(guò)所述虛擬發(fā)起槽而連接的單個(gè)功能單元而被包括的加載-存儲(chǔ)單元。4、一種超長(zhǎng)指令字(VLIW)處理器,包括八個(gè)發(fā)起槽的集合,在所述八個(gè)發(fā)起槽當(dāng)中并行地操作VLIW;針對(duì)所述八個(gè)發(fā)起槽中各個(gè)發(fā)起槽的兩個(gè)組的一對(duì)旁路網(wǎng)絡(luò)簇,使得操作結(jié)果能被直接傳遞并能夠避免通過(guò)統(tǒng)一寄存器堆而發(fā)生的延遲;所述八個(gè)發(fā)起槽中一些發(fā)起槽中的多個(gè)功能處理單元,所述多個(gè)功能處理單元的復(fù)本被分配給每一旁路網(wǎng)絡(luò)簇;至少兩個(gè)加載-存儲(chǔ)虛擬發(fā)起槽,分別被布置于所述一對(duì)旁路網(wǎng)絡(luò)簇中的各個(gè)簇中;以及單個(gè)加載-存儲(chǔ)功能單元,通過(guò)所述虛擬發(fā)起槽而連接,并出現(xiàn)在多個(gè)旁路網(wǎng)絡(luò)簇中的各個(gè)簇中;其中,所述單個(gè)加載-存儲(chǔ)功能單元利用多端口而實(shí)現(xiàn)一次,并能夠接收所述兩個(gè)旁路網(wǎng)絡(luò)簇的操作數(shù)和輸出結(jié)果,以避免在必須通過(guò)所述統(tǒng)一寄存器堆傳遞結(jié)果的情況下發(fā)生的延遲。5、根據(jù)權(quán)利要求4所述的VLIW處理器,還包括取指令單元(IFU),用于將每個(gè)VLIW提供給所述多個(gè)發(fā)起槽;以及包括供所述IFU訪問(wèn)的多個(gè)VLIW指令的程序;其中,知道每一發(fā)起槽、每一旁路網(wǎng)絡(luò)簇、和通過(guò)所述虛擬發(fā)起槽而連接的單個(gè)加載-存儲(chǔ)功能單元的組織和限制的編譯器/調(diào)度器用于對(duì)最優(yōu)地利用處理器資源的程序指令進(jìn)行匯編。6、根據(jù)權(quán)利要求4所述的VLIW處理器,還包括編譯器/調(diào)度器,用于提供與具有多個(gè)虛擬視圖的功能單元的操作的調(diào)度有關(guān)的任何約束。7、一種在超長(zhǎng)指令字(VLIW)處理器中降低構(gòu)造成本和改進(jìn)操作性能的方法,包括將發(fā)起槽分組進(jìn)至少兩個(gè)旁路網(wǎng)絡(luò)簇中;以及通過(guò)多端口來(lái)虛擬化至少一個(gè)物理功能單元,以使其出現(xiàn)在至少兩個(gè)旁路網(wǎng)絡(luò)簇中。8、一種在多個(gè)發(fā)起槽中提供物理功能單元的多個(gè)虛擬視圖的不分簇的靜態(tài)調(diào)度VLIW處理器,并且所述不分簇的靜態(tài)調(diào)度VLIW處理器向編譯器/調(diào)度器提供了調(diào)度功能單元的操作的更大自由度。9、根據(jù)權(quán)利要求8所述的處理器,其中,虛擬化后的功能單元,而不是功能單元的物理復(fù)本,提供了某些功能單元的多個(gè)虛擬視圖,使得所述虛擬視圖與發(fā)起槽相關(guān)聯(lián)并且物理功能單元得以共享,以及在關(guān)聯(lián)的編譯器/調(diào)度器中包括了與相應(yīng)發(fā)起槽中功能單元操作的互斥發(fā)起有關(guān)的約束。全文摘要提供了一種在靜態(tài)調(diào)度VLIW處理器中采用的虛擬功能單元設(shè)計(jì)。處理器調(diào)度器中出現(xiàn)的、該功能單元的“虛擬”視圖超過(guò)了該功能單元的物理實(shí)例的數(shù)目。因此,針對(duì)太困難或成本太高以致無(wú)法進(jìn)行物理復(fù)制的那些類(lèi)型的功能單元,可以實(shí)現(xiàn)顯著的處理器性能改進(jìn)。同不具有虛擬視圖的處理器和受限于該處理器的簇的子集的物理單元相比,通過(guò)向VLIW處理器的不同簇提供不同的虛擬視圖,編譯器/調(diào)度器可以為處理器產(chǎn)生更高效的代碼。編譯器/調(diào)度器確保了與具有多個(gè)虛擬視圖的功能單元的操作的調(diào)度有關(guān)的約束得以滿足。不分簇的處理器也受益于虛擬視圖。通過(guò)在物理功能單元的多個(gè)發(fā)起槽中提供多個(gè)虛擬視圖,編譯器/調(diào)度器更自由地調(diào)度功能單元的操作。文檔編號(hào)G06F9/38GK101553780SQ200780045552公開(kāi)日2009年10月7日申請(qǐng)日期2007年12月11日優(yōu)先權(quán)日2006年12月11日發(fā)明者讓-威廉·范德韋爾特申請(qǐng)人:Nxp股份有限公司