微處理器以及選擇性解壓縮微程序碼的相關方法與流程

            文檔序號:11965626閱讀:250來源:國知局
            微處理器以及選擇性解壓縮微程序碼的相關方法與流程
            本發明有關于選擇性壓縮以及解壓縮微程序碼指令。

            背景技術:
            現代先進的微處理器通常包括執行復雜及/或微處理器指令集架構的不常執行的指令微程序碼。以微程序碼實現指令集架構一些指令的好處為可降低微處理器其他功能單元(如執行單元)的復雜度。當指令集架構的指令數目以及復雜度增加時也需要微程序碼,基于這項需求,微處理器會額外以非易失性存儲器(如只讀存儲器(ROM))來儲存微程序碼。然而,增加存儲器會消耗微處理器的實體資源,而這個問題將隨著多核微處理器的核數目增加而加劇,因其中每一個核皆具有存儲器用以儲存微程序碼。

            技術實現要素:
            本發明提出一種微處理器。上述微處理器包括一或多個存儲器,每一上述的一或多個存儲器用以持有多個微程序碼指令。至少一第一上述存儲器用以提供多個壓縮微程序碼指令的M位寬微程序碼字組,至少一第二上述存儲器用以提供多個未壓縮微程序碼指令的N位寬微程序碼字組,M以及N為大于零的整數,且N大于M。微處理器也包括一解壓縮單元,在上述壓縮微程序碼指令自至少一上述第一存儲器存取之后以及在上述壓縮微程序碼指令被執行之前,上述解壓縮單元用以解壓縮上述壓縮微程序碼指令。本發明還提出一種選擇性解壓縮微程序碼的方法。上述選擇性解壓縮微程序碼的方法包括接收來自一存儲器的一第一N位寬微程序碼字組。上述選擇性解壓縮微程序碼的方法也包括,判斷上述第一N位寬微程序碼字組的一既定部分是否為一既定數值。上述選擇性解壓縮微程序碼的方法也包括,若上述既定部分并非上述既定數值,解壓縮上述第一N位寬微程序碼字組而產生一M位寬微程序碼字組,其中M及N為大于零的整數,且M大于N。上述選擇性解壓縮微程序碼的方法也包括,若上述既定部分為上述既定數值,接收來自上述存儲器的一第二N位寬微程序碼字組,并組合部分的上述第一N位寬微程序碼字組以及上述第二N位寬微程序碼字組而產生上述M位寬微程序碼字組。本發明還提出一種產生選擇性壓縮微程序碼的方法。上述產生選擇性壓縮微程序碼的方法包括接收一來源碼,上述來源碼包括多個微程序碼組合語言指令,其中部分的上述微程序碼組合語言指令的每一個皆以上述來源碼的一指示所標示。產生選擇性壓縮微程序碼的方法也包括,對于上述微程序碼組合語言指令的每一個,若并非以上述指示所標示,則產生上述微程序碼組合語言指令的一單一字組壓縮二進制表示式,若由上述指示所標示,則產生上述微程序碼組合語言指令的一多字組未壓縮二進制表示式。本發明還提出一種產生描述方法,適用于產生一解壓縮微程序碼裝置的一描述。上述產生描述方法包括,接收一來源碼,其中上述來源碼包括多個微程序碼組合邏輯語言指令。上述產生描述方法也包括,對于上述微程序碼組合邏輯語言指令的每一個,產生一未壓縮二進制表示式。上述產生描述方法也包括,對于上述微程序碼組合語言指令的每一唯一指令,產生上述唯一指令的對應的上述未壓縮二進制表示式的部分對應至一壓縮二進制表示式的一對應關系。本發明還提出一種微處理器。上述微處理器包括多個存儲器,上述存儲器的每一個用以持有多個微程序碼指令。上述存儲器的至少一第一存儲器用以提供多個壓縮微程序碼指令的多個M位寬微程序碼字組,并且上述存儲器的至少一第二存儲器用以提供多個未壓縮微程序碼指令的多個N位寬微程序碼字組,其中M以及N為大于零的整數,且N大于M。上述微處理器也包括一解壓縮單元,在上述壓縮微程序碼指令自至少上述第一存儲器存取之后且于執行上述壓縮微程序碼指令之前,上述解壓縮單元用以解壓縮上述壓縮微程序碼指令。本發明還提出一種選擇性解壓縮微程序碼的方法,上述選擇性解壓縮微程序碼的方法適用于解壓縮具有多個存儲器的一微處理器中的多個微程序碼指令,上述存儲器的每一個用以持有上述微程序碼指令。上述選擇性解壓縮微程序碼的方法包括,自上述存儲器的至少一第一存儲器存取上述壓縮微程序碼指令的多個M位寬微程序碼字組。上述選擇性解壓縮微程序碼的方法也包括,自上述存儲器的至少一第二存儲器存取多個未壓縮微程序碼指令的多個N位寬微程序碼字組,其中M以及N是大于零的整數且N大于M。上述選擇性解壓縮微程序碼的方法也包括,解壓縮自上述第一存儲器所存取的上述壓縮微程序碼指令。上述選擇性解壓縮微程序碼的方法也包括,傳送上述未壓縮微程序指令而不需解壓縮。本發明還提出一種計算機程序產品,編程于至少一非暫態計算機可使用介質并與一計算裝置一并使用。上述計算機程序產品包括,一計算機可用程序碼體現于上述非暫態計算機可使用介質以指定一微處理器。上述計算機可用程序碼包括,一第一程序碼,指定多個存儲器,每一上述存儲器用以持有多個微程序碼指令,其中上述存儲器的至少一第一存儲器用以提供多個壓縮微程序碼指令的多個M位寬微程序碼字組。上述存儲器的至少一第二存儲器用以提供多個未壓縮微程序碼指令的多個N位寬微程序碼字組,其中M以及N為大于零的整數且N大于M。上述計算機可用程序碼也包括,一第二程序碼,指定一解壓縮單元,在上述壓縮微程序碼指令自上述第一存儲器被存取后以及上述壓縮微程序碼指令被執行前,上述解壓縮單元用以解壓縮上述壓縮微程序碼指令。本發明能夠降低微處理器的復雜度、減小微處理器的體積。附圖說明圖1顯示根據本發明一實施例所述的多核微處理器的方塊圖。圖2顯示根據本發明圖1實施例所述的處理核的詳細方塊圖。圖3顯示根據本發明圖2實施例所述的解壓縮單元的詳細方塊圖。圖4顯示根據本發明一實施例所述的由組合程序選擇性壓縮微程序碼指令的流程圖。圖5顯示根據本發明一實施例所述的建立選擇性壓縮微程序碼的流程圖。圖6顯示根據本發明一實施例所述的由組合程序組合微程序碼的流程圖。圖7顯示根據本發明一實施例所述圖2的復雜指令轉譯器(尤其是圖3的解壓縮單元)的動作流程圖。圖8-圖13顯示根據本發明另一實施例所述的具有微程序碼存儲器的微處理器持有不同組合的壓縮與解壓縮的微程序碼指令的方塊圖。其中,附圖中符號的簡單說明如下:100微處理器102處理核104核微程序碼只讀存儲器106仲裁邏輯108非核只讀存儲器114非核微程序碼修補隨機存取存儲器202指令快取204簡單指令轉譯器206暫存器別名表208保留站212執行單元214引退單元216指令存取單元218結構程序計數器222第一多工器224目標地址226微指令232非結構微程序碼程序計數器235指令間接暫存器236微程序237微轉譯器239解壓縮單元242結構指令244第一微指令245選擇控制輸入246第二微指令247第一微程序碼指令248選擇控制輸入251第二微程序碼指令252微程序碼地址253未壓縮微程序碼指令254非結構微程序碼存取地址255微指令信息262存儲器子系統264暫存器292第二多工器294指令轉譯器296復雜指令轉譯器306修補內容可尋址存儲器308修補地址353未壓縮微程序碼指令35538位結果392三端輸入多工器394解壓縮器396控制邏輯398緩沖器402第一微程序碼組合語言指令412第一逃離指針414第二微程序碼組合語言指令432第二逃離指針434下16位436上6位438上22位1299核修補隨機存取存儲器502來源碼504組合語言506選擇性壓縮二進制微程序碼508所有微程序碼指令的列表512壓縮程序514壓縮表516解壓縮描述518邏輯產生程序(ESPRESSO)524解壓縮器暫存器傳遞語言文件602~612、702~714步驟。具體實施方式在此所述的微處理器,大多但非全部的微程序碼指令壓縮且維持于微程序碼存儲器中。微處理器包括一解壓縮單元,用以選擇性地對選擇的壓縮微程序碼指令解壓縮,例如圖2的解壓縮單元239。根據本發明的一實施例,維持于存儲器的微程序碼指令并未壓縮,因而較存儲器所維持的字節寬度更長。在此情況下,微程序碼指令分為兩個部分,并分別儲存于存儲器不同的兩個字組中。在這些狀況下,一既定數值(在此稱為“跳出(escape)指針”)放置(例如,通過微程序碼組合程序)于兩字組序列第一字組的一既定部分。當解壓縮單元偵測跳出指針存在于由存儲器所讀取的第一字組時,解壓縮單元結合兩字組的適當部分而產生未壓縮微程序碼指令。此方式有利于提供大多數維持于存儲器中的微程序碼指令能夠被壓縮,并使其寬度較不包括于選擇性壓縮機制的實現方式為短。再者,許多實施例描述具有多個微程序碼存儲器的微處理器,至少一微程序碼存儲器具有壓縮的微程序碼指令的寬度以提供壓縮微程序碼指令,至少一微程序碼存儲器為具有非壓縮微程序碼指令的寬度以提供非壓縮微程序碼指令。在此詳述壓縮寬度以及非壓縮寬度的核、非核以及修補微程序碼存儲器的各種組合。請參考圖1,圖1顯示根據本發明一實施例所述的多核微處理器100的方塊圖。微處理器100的實體位于一集成電路上,微處理器100包括許多處理核100、由許多處理核102所共用的非核只讀存儲器(ROM)108、由許多處理核102所共用的非核微程序碼修補隨機存取存儲器(RAM)114、以及耦接處理核102至非核只讀存儲器108和非核微程序碼修補隨機存取存儲器114的仲裁邏輯106(也稱為控制邏輯)。每一處理核102包括對應的核微程序碼只讀存儲器104,此對應的核微程序碼只讀存儲器104并不與其他處理核102分享,而是專屬于各自的處理核102。每一處理核102經由對應的總線112耦接至仲裁邏輯106。非核只讀存儲器108、非核微程序碼修補隨機存取存儲器114、以及核微程序碼只讀存儲器104皆為持有微程序碼指令。微處理器100包括稱之為非核的部分。該非核部分為微處理器100的一部分但不屬于任何處理核102的部分。非核只讀存儲器108以及非核微程序碼修補隨機存取存儲器114位于微處理器100的非核部分。在一實施例中,處理核102是單一設計并重復復制。圖1的實施例中顯示四個處理核102,而其他實施例則具有不同數目的處理核102。仲裁邏輯106也安置于微處理器100的非核部分,當多個處理核102要求存取非核只讀存儲器108或非核微程序碼修補隨機存取存儲器114時,由仲裁邏輯106執行仲裁決定。非核只讀存儲器108提供某數量的字組(稱為“J”)來儲存微程序碼指令,并可被所有處理核102所存取。每一核微程序碼只讀存儲器104提供某數量的字組(稱為“K”)來儲存微程序碼指令,并只能被對應的處理核102所存取。非核只讀存儲器108的J個字組與對應的核微程序碼只讀存儲器104的K個字組,位于不同于處理核的微程序碼存儲器地址空間的地址空間上。總括來說,對于每一處理核,其對應的核微程序碼只讀存儲器104與非核只讀存儲器108,提供J+K字組的儲存空間給可被處理核102所存取的微程序碼指令。在一實施例中,非核只讀存儲器108具有J個可定址的存儲器位置,每一個可定址的存儲器位置皆為壓縮微程序碼指令的寬度。在一實施例中,每一非核只讀存儲器108具有K個可定址的存儲器位置,每一個可定址的存儲器位置皆為壓縮微程序碼指令的寬度。在一實施例中,壓縮微程序碼指定的寬度為28位,而非壓縮或解壓縮的微程序碼指令的寬度為38位。根據本發明的一實施例,非核只讀存儲器108包括為所有處理核102共用的單一讀取端口,以及根據仲裁演算法用以授權處理核102使用讀取端口的仲裁邏輯106。根據本發明的一實施例,若在一既定要求周期內僅有一處理核102要求存取非核只讀存儲器108時,則仲裁邏輯106允許此處理核102的要求;若在一既定要求周期內有多個處理核102要求存取非核只讀存儲器108時,則仲裁邏輯106依輪流法(round-robin)的順序準予存取,但其他仲裁演算法亦可運用在本發明中。其他實施例中,可使非核只讀存儲器108對于每一處理核102均包括一讀取端口。然而,應注意的是,當非核只讀存儲器108包括更多的讀取端口時將增加更大的晶粒面積,因此與晶粒面積相關的技術功效就會降低。利用非核只讀存儲器108的優點為,當從非核只讀存儲器108存取微程序碼指令時,其可能以增加延遲時間的方式,作為降低微處理器100面積的代價。延遲時間的增加會造成每一處理核102的微程序碼單元至非核只讀存儲器108之間更大的距離,也就是傳送延遲會因額外的距離而增加,因而需要額外的管線級以及相關的額外時脈周期。此外,延遲時間的增加亦可歸咎于因非核只讀存儲器108共用資源且必須分配給每個處理核102,并當多個處理核102要求存取非核只讀存儲器108時所造成的現象。再者,非核只讀存儲器108的共享本質可能導致變動的存取延遲時間,不像核微程序碼只讀存儲器104具有固定的延遲時間。然而,在一些實施例中,增加及/或變動的延遲時間作為降低晶粒面積的代價。有利的是,非核只讀存儲器108的大小可利用在實施例所述的選擇性微程序碼壓縮而進一步降低。參考圖2,圖2顯示根據本發明圖1實施例所述的處理核102的詳細方塊圖。處理核102包括一管線級,該管線級包括許多功能單元。在一實施例中,處理核102為一超純量(superscalar)、非循序執行(out-of-orderexecution)、管線化數據的處理核。處理核102包括指令存取單元216、其再耦接至指令快取202、其再耦接至指令轉譯器294、其再耦接至暫存器別名表(RAT)206、其再耦接至保留站208、其再耦接至執行單元212、其再耦接至引退單元214。執行單元212自暫存器264(結構的或非結構的)以及存儲器子系統262接收運算元。引退單元214引退微指令結果至暫存器264以及存儲器子系統262。指令轉譯器294經由圖1的總線112,耦接至仲裁邏輯106。存取單元216包括處理核102的結構程序計數器218,當引退單元214引退指令時,引退單元214更新結構程序計數器218。存取單元216提供結構指令存取地址至指令快取202。根據結構程序計數器218,存取單元216產生結構存取地址。此外,執行單元212可執行分支指令,且提供分支目標地址至存取單元216,用以產生結構存取地址。最后,存取單元216的分支預測器(圖中并未顯示)可提供預測分支目標地址,用以產生結構存取地址。結構程序計數器218與由指令轉譯器294所維持的指令非結構微程序碼程序計數器224不同,并且由存取單元216所產生而傳送至指令快取202的結構存取地址,與由存取單元216的微程序236(也稱為控制邏輯)所產生的非結構微程序碼存取地址254亦不同,這些將在以下詳述。指令快取202所快取的結構指令242,也稱為微指令或ISA指令,由微處理器100(例如:x86、ARM、SPARC等等)的指令集架構所定義。指令轉譯器294翻譯結構指令242成為處理核102微架構的微指令226,指令轉譯器294通常具有精簡指令集(RISC)體系相關的特征。指令轉譯器294以程序順序提供微指令至暫存器別名表206。暫存器別名表206在引退單元214的重新排列緩沖器中,以程序順序分配微指令的項目。暫存器別名表206執行暫存器264的重新命名。暫存器別名表206提供微指令至保留站208,當每一微指令的來源運算元可獲得,且執行單元212能夠執行該微指令時,微指令從保留站208被發送至執行單元212且以非循序方式來執行。引退單元214通過將執行單元212所執行微指令的結果,以程序順序引退指令至處理核102的架構狀態。執行單元212可包括載入單元、儲存單元、整數單元、浮點數單元、分支單元、單一指令多重數據流計算機模組(Singleinstruction,multipledata,SIMD)單元等等。載入單元自第一階(level-1,L1)數據快取中讀出數據,儲存單元將數據寫入至第一階數據快取。第二階(level-2,L2)數據快取可作為第一階數據快取以及指令快取202的備用儲存裝置。指令轉譯器294自圖2的指令快取202接收結構指令242的多個區塊。結構指令242也稱為微指令242或ISA指令242。指令轉譯器294轉譯結構指令242為提供至暫存器別名表206的實現微指令226。指令轉譯器294包括簡單指令轉譯器(SIT)204、復雜指令轉譯器(CIT)296以及第二多工器292。簡單指令轉譯器204輸出實現第一微指令244以及微程序碼地址252。復雜指令轉譯器296,也稱為微程序碼單元296,接收微程序碼地址252,并提供實現第二微指令246。第二多工器292以一輸入端自簡單指令轉譯器204接收第一微指令244,并以另一輸入端自復雜指令轉譯器296接收第二微指令246,且根據選擇控制輸入248提供實現微指令226至圖2的執行單元212。復雜指令轉譯器296包括微程序236、圖1的核微程序碼只讀存儲器104、指令間接暫存器(IIR)235、第一多工器222、解壓縮單元239以及微轉譯器237。微程序236接收微程序碼地址252,且維持非結構微程序碼程序計數器(micro-PC)232。核微程序碼只讀存儲器104接收根據非結構微程序碼程序計數器232所存取的地址254。此外,非核只讀存儲器108也經由總線112,接收非結構微程序碼存取地址254。第一多工器222的第一輸入端接收來自非共用的核微程序碼只讀存儲器104的微程序指令251,第二輸入端則接收來自共用的非核只讀存儲器108的微程序碼指令249(經由總線112),并根據由微程序236所產生的選擇控制輸入245而輸出第一微程序碼指令247。解壓縮單元239接收來自第一多工器222的第一微程序碼指令247,并且選擇性地解壓縮第一微程序碼指令247,以產生未壓縮微程序碼指令253。微轉譯器237轉譯由解壓縮單元239接收的未壓縮微程序碼指令253,以產生由復雜指令轉譯器296所輸出的實現第二微指令246。由簡單指令轉譯器204所產生的實現第一微指令244以及由復雜指令轉譯器296所產生的實現第二微指令246,皆為微處理器100微架構的微指令集的微指令226,并可由執行單元212管線執行。第二多工器292由選擇控制輸入248所控制。通常第二多工器292選擇來自簡單指令轉譯器204的第一微指令244;然而,當簡單指令轉譯器204遇到復雜結構指令242并轉移控制權至(或經由設陷(traps)移轉至)復雜指令轉譯器296時,簡單指令轉譯器204控制選擇控制輸入248,而使得第二多工器292選擇來自復雜指令轉譯器296的第二微指令246。當暫存器別名表206遭遇具有特殊位組的微指令226,以指出其是在順序執行復雜結構指令242過程中最后的微指令226時(在此表示為“.T”位),暫存器別名表206控制選擇控制輸入248而使得第二多工器292回到選擇來自簡單指令轉譯器204的第一微指令244。此外,當引退單元214準備好引退微指令226但其狀態指示此微指令226已造成一例外情況時,引退單元214控制選擇控制輸入248而使得第二多工器292選擇來自復雜指令轉譯器296的第二微指令246。簡單指令轉譯器204接收結構指令242且將其解碼,以決定結構指令242為簡單微指令或復雜微指令。簡單結構指令242是簡單指令轉譯器204可為其發出所有實現微指令226以實現結構指令242的指令,亦即復雜指令轉譯器296不為簡單結構指令242提供任何實現微指令。相反的,復雜結構指令242要求復雜指令轉譯器296提供若非全部、也是至少一部分的實現微指令226。在一實施例中,對結構指令242的子集合而言,簡單指令轉譯器204發出實現結構指令242的第一部分微指令244以實現結構指令242,然后轉移控制權至復雜指令轉譯器296,最后發出剩下微指令246來實現結構指令242。受控的第二多工器292首先將來自簡單指令轉譯器204的實現微指令244轉換成微指令226并提供至執行單元212,其次將來自復雜指令轉譯器296的實現微指令246轉換成為微指令226并提供至執行單元212。簡單執行轉譯器204知道由復雜指令轉譯器294所采用的各種微程序碼程序的起始微程序碼地址并用來產生各種復雜結構指令242的實現微指令226,并當簡單指令轉譯器204解碼一復雜結構指令242時,提供相關的微程序碼地址252至復雜指令轉譯器296的非結構微程序碼程序計數器232。簡單指令轉譯器204發出的所有第一微指令244是被相對高比例執行的結構指令242,特別是結構指令242傾向由ISA機器語言程序以頻繁的方式所執行,而僅有相對小比例需要復雜指令轉譯器296提供第二微指令246。在一實施例中,簡單指令轉譯器204是利用眾所周知的合成工具所合成的布林邏輯門方塊。復雜指令轉譯器296輸出實現第二微指令246序列至第二多工器292。核微程序碼只讀存儲器104或非核只讀存儲器108,儲存微程序碼程序的選擇性壓縮第二微程序碼指令251以及選擇性壓縮微程序碼指令249。核微程序碼只讀存儲器104/非核只讀存儲器108輸出選擇性壓縮第二微程序碼指令251/選擇性壓縮微程序碼指令249以響應非結構微程序碼存取地址254,其中非結構微程序碼存取地址254儲存于非結構微程序碼程序計數器232。通常,非結構微程序碼程序計數器232自簡單指令轉譯器204接收微程序碼地址252的初始值,以響應簡單指令轉譯器204所解碼的復雜結構指令242。在其他情況下,比如響應一重置或例外時,非結構微程序碼程序計數器232分別接收重置微程序碼程序地址或適當的微程序碼例外處理地址。一般來說,微程序236通過微程序碼指令的大小(根據本發明的一實施例,微程序碼指令的大小為核微程序碼只讀存儲器104或非核只讀存儲器108中字組的大小)來遞增非結構微程序碼程序計數器232,用以依序通過微程序碼程序。另外,微程序236依據由微轉譯器237所產生的目標地址224來更新非結構微程序碼程序計數器232,以響應解碼控制類型微程序碼指令(例如分支指令);或響應控制類型微指令226的執行而由執行單元212所產生的目標地址來更新非結構微程序碼程序計數器232;或是以位于核微程序碼只讀存儲器104或非核只讀存儲器108的非序列位置來更新非結構微程序碼程序計數器232以啟動分支。核微程序碼只讀存儲器104以及非核只讀存儲器108被制造于與微處理器100相同的半導體晶粒上。除了實現復雜結構指令242的部分的簡單結構指令242的第一微指令244,簡單指令轉譯器204也產生微指令信息255,微指令信息255寫入至指令間接暫存器(IIR)235。儲存于指令間接暫存器235的微指令信息255包括有關結構指令242被轉譯的信息,例如辨別由結構指令242所指定的來源以及目標暫存器以及結構指令242的格式,諸如結構指令242是否操作于存儲器的運算元或于微處理器100的一架構暫存器264。這樣允許微程序碼程序成為通用,也就是每一不同的來源及/或目標架構暫存器264不需要具有不同微程序碼程序。特別的是,簡單指令轉譯器204知道暫存器264,并在轉譯由結構指令242所提供的暫存器信息后,經由微指令信息255提供至暫存器264的適當暫存器中。微指令信息255也包括位移域、即時域、常數域、對于每一來源運算元以及微指令226本身的重新命名信息、指出實現結構指令242的微指令226序列的第一以及最后一個微指令的信息、以及由簡單指令轉譯器204解碼結構指令242時所收集的有用信息的其他位。微轉譯器237接收來自解壓縮單元239的未壓縮微程序碼指令253以及指令間接暫存器235的內容,并產生實現第二微指令246做響應。微轉譯器237根據指令間接暫存器235所接收的信息,例如根據結構指令242的格式以及由其指定的來源及/或目標架構暫存器264的組合,來轉譯某些未壓縮微程序碼指令253至微指令246的不同的序列。在一些狀況下,大部分的微指令信息255與未壓縮微程序碼指令253做合并以產生實現第二微指令246。在一實施例中,每一未壓縮微程序碼指令253為38位寬,且每一第二微指令246大約為200位寬。在一實施例中,微轉譯器237能夠自未壓縮微程序碼指令253,產生最多三個第二微指令246。微轉譯器237包括產生實現第二微指令246的布林邏輯門。由于簡單指令轉譯器204產生微指令信息255,故核微程序碼只讀存儲器104與非核只讀存儲器108不需要儲存由指令間接暫存器235所提供的微指令信息255,因此微轉譯器237所提供的一個優點為可減少核微程序碼只讀存儲器104與非核只讀存儲器108的大小。再者,微程序碼程序可包括較少的條件分支指令,因微程序碼程序不需要包括針對每一不同微指令格式、以及針對每一來源及/或目標架構暫存器264的組合的個別程序。例如,若復雜結構指令242為存儲器型式,簡單指令轉譯器204可產生第一微指令244為開端,其包括第一微指令244以載入來自存儲器的來源運算元而進入暫時暫存器264,而微轉譯器237可產生第二微指令246以從暫時暫存器將結果儲存于存儲器;若復雜結構指令242為暫存器格式,作為開端的第一微指令244可從結構指令242指定的來源暫存器移動來源運算元至暫時暫存器264,而微轉譯器237可產生第二微指令246以移動來自暫時暫存器的結果至由指令間接暫存器235所指定的架構目標暫存器264。在一實施例中,微轉譯器237在許多方面與申請日為2010年4月23日的美國專利案US12/766,244中所述的微轉譯器237相似,該美國專利請求優先權至2009年8月14日的美國臨時申請案號US61/234,008,其在2011年2月17號公開為美國公開號US2011/0040953的專利,每一個在此通過引用將其整體并入本文,并供各方面說明之用。在另一實施例中,指令轉譯器294不包括微轉譯器237,而自核微程序碼只讀存儲器104以及非核只讀存儲器108所存取的第二微程序碼指令251以及微程序碼指令249則在選擇性解壓縮的后,成為可由執行單元212執行的微指令。應注意的是,非結構微程序碼程序計數器232與結構程序計數器218不同;也就是,非結構微程序碼程序計數器232不能維持結構指令242的地址,而維持于非結構微程序碼程序計數器232的地址并不在系統存儲器地址空間之內。如上所述,第一微程序碼指令247為儲存于微處理器100的一或多個的核微程序碼只讀存儲器104以及非核只讀存儲器108的非結構指令,且第一微程序碼指令247是處理核102根據儲存于非結構微程序碼程序計數器232的非結構微程序碼存取地址254所存取與使用,進而實現微處理器100的指令及結構指令242。未壓縮微程序碼指令253由微轉譯器237轉譯成第二微指令246而由執行單元212執行,或在本發明的另一實施例中,未壓縮微程序碼指令253直接由執行單元212執行(在此為第二微指令246)。未壓縮微程序碼指令253為非結構指令的意思為其并非微處理器100的指令集(ISA)結構的指令,而是根據與結構指令集不同的指令集所編碼的。非結構微程序碼程序計數器232并非由微處理器100的指令集結構所定義,且與結構定義程序計數器218有所不同。微程序碼用以實現以下所述微處理器的指令集結構的某些或所有指令。響應于解碼微程序碼實現結構指令242,微處理器100,特別是簡單指令轉譯器294,將轉移控制權至與結構指令242相關的微程序碼程序。微程序碼程序包括微程序碼指令。執行單元212執行未壓縮微程序碼指令253,或根據圖2的實施例,未壓縮微程序碼指令253還轉譯成第二微指令246而被執行單元212所執行。由執行單元212執行未壓縮微程序碼指令253(或由未壓縮微程序碼指令253轉譯的第二微指令246)的結果是由結構指令242所定義的結果。因此,由執行單元212集體執行的關于結構指令242的微程序碼程序(或由執行單元212集體執行的微程序碼程序指令所轉譯的第二微指令246)來執行結構指令242;也就是由執行單元212集體執行的實現未壓縮微程序碼指令253(或由執行單元212集體執行的未壓縮微程序碼指令253轉譯的第二微指令246),執行結構指令242所指定的動作于結構指令242所指定的輸入值,而產生結構指令242所定義的結果。此外,當為了調整微處理器而重置微處理器時,微程序碼指令可被執行(或轉譯成被執行的微指令)。根據本發明的一實施例,圖1的仲裁邏輯106包括要求佇列(圖中并未顯示),其持有接收自處理核102并對非核只讀存儲器108或非核微程序碼修補隨機存取存儲器114進行存取的要求。根據本發明的一實施例,每一介于仲裁邏輯106以及處理核102的總線112包括要求部分以及響應部分。關于要求部分,處理核102指定所要求的微程序指令字組的非結構微程序碼存取地址254。關于響應部分,仲裁邏輯106提供微程序碼指令字組、地址、核編號以及有效指針。微程序碼指令字組、地址以及核編號僅于有效指針指示有效時才為有效。核編號指定仲裁邏輯106提供一響應至先前要求存取非核只讀存儲器108或非核微程序碼修補隨機存取存儲器114的處理核102。地址指定由非核只讀存儲器108或非核微程序碼修補隨機存取存儲器114所存取的微程序碼指令字組的地址。根據本發明的一實施例,仲裁邏輯106于總線112設置延遲(Stall)信號至處理核102,用以指出仲裁邏輯106不能接收更多來自處理核102要求存取非核只讀存儲器108的請求。只要能夠再次接收請求,仲裁邏輯106取消設置延遲信號。根據本發明的一實施例,若暫存器別名表206設置延遲信號至指令轉譯器294以指示無法接收更多的微指令226時,則指令轉譯器294清除任何正在進行的存取非核只讀存儲器108的動作。只要暫存器別名表取消設置延遲信號,微程序236會在傳送至暫存器別名表206的最后微指令226的地址后的下一地址開始存取微程序碼指令。根據本發明的另一實施例,指令轉譯器294儲存正在存取非核只讀存儲器108或非核微程序碼修補隨機存取存儲器114的狀態,以便能避免重新存取相關的正在存取的微程序碼指令。非核只讀存儲器108的存取延遲大于對每一核微程序碼只讀存儲器104的存取延遲。根據本發明的一實施例,核微程序碼只讀存儲器104具有三個周期的存取延遲,并且非核只讀存儲器108的存取延遲在實施例中是可變的,其中其讀取端口與多個處理核102相共用。參考圖3的方塊圖,其更詳細顯示根據本發明圖2實施例所述的解壓縮單元239,同樣顯示于圖3的是修補內容可尋址存儲器(CAM)306。當非結構微程序碼存取地址254符合修補內容可尋址存儲器306中項目之一的內容時,持有修補地址308的可尋址存儲器306會將修補地址308從可尋址存儲器306輸出至微程序236,以響應非結構微程序碼存取地址254。這種情況下,微程序236輸出修補地址308作為非結構微程序碼存取地址254而不是下一序列存取地址(或目標地址224),以響應非核微程序碼修補隨機存取存儲器114在總線112上輸出修補微程序碼指令249。這樣將引發從非核微程序碼修補隨機存取存儲器114擷取修補微程序碼指令249,而不是分別從非核只讀存儲器108或核微程序碼只讀存儲器104擷取不想要的微程序碼指令249或第二微程序碼指令251。另一種做法是將可尋址存儲器306以及非核微程序碼修補隨機存取存儲器114的內容在響應包括系統軟件的結構指令時加以載入,這些軟件可以是基本輸入輸出系統(BIOS)或運作于微處理器100的操作系統。解壓縮單元239包括解壓縮器394、緩沖器398、三端輸入多工器392以及控制邏輯396。解壓縮器394自圖2的第一多工器222接收壓縮的第一微程序碼指令247,并解壓縮此壓縮的第一微程序碼指令247而成未壓縮微程序碼指令353,且提供至三端輸入多工器392的第一輸入端。根據本發明的一實施例,解壓縮器394包括由暫存器傳遞語言(RTL)碼(如硬件描述(Verilog)碼)所合成的可程序邏輯陣列(PLA),并由圖6的可程序邏輯陣列產生器616自動產生。解壓縮器394對壓縮的第一微程序碼指令247解壓縮的方式的實施例,將于下文中詳細敘述。若控制邏輯396要求緩沖器398接收并載入28位的第一微程序碼指令247的位[15:0],則緩沖器398遵循其要求而執行,否則緩沖器398維持其先前的數值。根據本發明的一實施例,在28位第一微程序碼指令247的位[15:0]載入至緩沖器398的時脈周期后的下一個時脈周期中,緩沖器398的內容加上目前28位微程序碼字組247的位[21:0],以產生三端輸入多工器392的第二輸入端的38位結果355。控制邏輯396接收微程序碼字組247的位[27:16],并決定其數值是否為既定的逃離指針數值。根據本發明的一實施例,既定逃離指針數值為0x3FF。若是如此,控制邏輯396控制暫存器398載入28位第一微程序碼指令247的位[15:0]。此外,當第一多工器222提供下一個28位微程序碼字組247時,控制邏輯396控制三端輸入多工器392選擇其第二輸入端以提供未壓縮微程序碼指令253至微轉譯器237,也就是選擇合并緩沖器398的16位內容與28位的微程序碼字組247的位[21:0]的38位結果355。下一個28位微程序碼字組247會是由非核只讀存儲器108/核微程序碼只讀存儲器104所擷取的后續字組的微程序碼指令249/后續字組的第二微程序碼指令251,其跟隨在載入至緩沖器398的字組247后面。根據本發明的另一實施例,解壓縮單元239可于相同時脈周期中接收具有逃離指針的微程序字組,以及兩段未壓縮微程序碼指令。在此實施例中,緩沖器398被省略,且在該時脈周期時該相鄰字組的適當部分被合并,并且提供至三端輸入多工器392的第二輸入端,而控制邏輯396則控制三端輸入多工器392選擇其第二輸入端。三端輸入多工器392在第三輸入端接收38位微程序碼字組112,例如來自非核微程序碼修補隨機存取存儲器114。若目前微程序碼指令的來源是38位寬的存儲器,例如來自非核微程序碼修補隨機存取存儲器114,控制邏輯396控制三端輸入多工器392以選擇其第三輸入端(也就是38位的微程序碼字組112),否則控制邏輯396控制三端輸入多工器392選擇其第一輸入端或第二輸入端。若目前微程序碼指令的來源是28位寬的存儲器時,例如儲存(除了壓縮微程序碼指令外)要求合并的未壓縮微程序碼字組的分離部分的非核只讀存儲器108或核微程序碼只讀存儲器104、以及若先前字組包括逃離指針(即圖4的第二逃離指針432)時,控制邏輯396控制三端輸入多工器392選擇其第二輸入端(也就是38位的結果355)。若目前微程序碼指令的來源為儲存壓縮微程序碼指令(除了未壓縮微程序碼字組的分離部分以及逃離指針外)的28位寬的存儲器,而且目前字組并未包括逃離指針時,控制邏輯控制三端輸入多工器392選擇其第一輸入端(也就是解壓縮器394的38位的未壓縮微程序指令353)。根據本發明的一實施例,由三端輸入多工器392提供至微轉譯器237的38位未壓縮微程序碼指令253包括:根據一些指令格式,且通常為非立即指令的13位操作碼域、5位的第一來源運算元地址域、5位的第二來源運算元地址域、5位的目標運算元地址域、指定運算元大小的4位大小域、指定每一5位運算元暫存器域如何由微轉譯器237進行解碼的4位域、指定微程序碼指令在執行x86指令的連續微程序碼指令中是否為最后指令的一位“.T”域、以及一額外位。通常為立即指令的其他38位未壓縮微程序碼指令253的格式包括:包括16位即時數值的16位即時域,例如一即時運算元或跳躍指令的目標地址、以及上述其他域的子集合,如除了5位第二運算元域以外的域以及較小的操作碼域。請參考圖4,其顯示由組合程序選擇性壓縮微程序碼指令的流程圖。圖4包括兩個流程圖,說明將第一微程序碼組合語言指令402組合進單一字組壓縮二進制指令404的范例,以及將由第一逃離指針412表示的第二微程序碼組合語言指令414與包括逃離指針的多字組未壓縮二進制指令進行組合的范例。第一流程圖說明將第一微程序碼組合語言指令402組合進以單一字組儲存于微程序碼存儲器的壓縮二進制指令404,微程序碼存儲器如核微程序碼只讀存儲器104或非核只讀存儲器108。圖4的實施例中,單一字組為28位寬,也就是如圖所示的核微程序碼只讀存儲器104或非核只讀存儲器108的寬度。當單一字組壓縮二進制指令404由核微程序碼只讀存儲器104或非核只讀存儲器108讀取出來時,如本發明所述,將經由圖3的解壓縮器394來解壓縮為未壓縮微程序碼指令。在圖4的實施例中。第一微程序碼組合語言指令402將第一通用暫存器R2以及第二通用暫存器R3的內容相加,并將結果寫入第三通用暫存器R4。在此實施例中,此為在組合之時存在壓縮表項目的微程序碼指令,其允許組合語言將其壓縮,并在下文終將有詳細描述。第二流程圖說明冠有第一逃離指針412的第二組合語言微程序碼指令414組合至多字組未壓縮二進制指令424的情形,多字組未壓縮二進制指令424分離成兩個28位字組。第一字組包括位于第一字組的既定位的第二逃離指針432。第二逃離指針432為圖2的解壓縮單元239(特別是控制邏輯396)用以響應與辨識,以將包含第二逃離指針432的字組的剩下部分434,與來自核微程序碼只讀存儲器104或非核只讀存儲器108的下個字組的一部分438相結合。在本發明的一實施例中,逃離指針既定數值為0x3FF,第一字組的既定位是位[27:16]。然而既定位以及既定數值并非限定于實施例,而其他的實施例則為具有不同既定數值以及不同既定位。逃離指針為一既定字串(如:圖4所示的“ESCAPE”),程序設計者可在微程序碼來源碼文件中,在微程序碼指令前插入一行,這樣會使得組合語言不會壓縮隨后的微程序碼指令,但會分離該指令為兩個具有壓縮指令的長度的字組,且于二進制字組的開頭包含第二逃離指針432。第一字組的下16位為多字組未壓縮二進制指令424的下16位434,第二字組的上22位為多字組未壓縮二進制指令424的上22位438。當控制邏輯396于第一字組中偵測到第二逃離指針432位于開頭的位置時,下16位434以及上22位438將由解壓縮單元239加以組合。在實際操作上,第二字組的上6位436可全為零。在圖4的實施例中,第二微程序碼組合語言微程序碼指令414將第二通用暫存器R3以及結構暫存器(例如,x86結構暫存器ESI)的內容相加,并將結果寫入第三通用暫存器R4。在此實施例中,該微程序碼指令在組合操作進行時壓縮表項目并不存在,故需要包括第一逃離指針412以避免產生組合錯誤,這部分將于下文中做更詳細的說明。請參考圖5的流程圖,其說明建立選擇性壓縮微程序碼的流程。流程開始于來源碼502,其中來源碼502由微程序碼設計者所開發,而來源微程序碼502可包括第一逃離指針412。組合程序504接收來源碼502以及壓縮表514。在一實施例中,壓縮表514可包含于由以下所述的壓縮程序512所產生的文件中。組合程序504使用壓縮表514來組合來源碼502,以產生選擇性壓縮二進制微程序碼506。選擇性壓縮二進制微程序碼506包括單一字組壓縮二進制指令(如圖4的單一字組壓縮二進制指令404)以及多字組未壓縮二進制指令,多字組未壓縮二進制指令包括第二逃離指針432,如圖4的多字組未壓縮二進制指令424。來源碼502通常包括多來源碼文件,多來源碼文件經由組合程序504的組合而產生選擇性壓縮二進制微程序碼506。組合程序504也產生所有微程序碼指令的列表508,所有微程序碼指令的列表508包含于選擇性壓縮二進制微程序碼506之中。在一實施例中,所有微程序碼指令的列表508是人類可讀的清單,該清單包括在選擇性壓縮二進制微程序碼506中的每一微程序碼指令的項目。對于每一微程序碼指令,該項目指定了:(1)其于核微程序碼只讀存儲器104或非核只讀存儲器108的相關地址;(2)其未壓縮二進制表示式,例如其38位二進制表示式;以及(3)一種與其組合語言表示式相似但經修正以方便壓縮程序512產生壓縮表514。根據微程序碼指令是否由來源碼502的第一逃離指針412所標示的微程序碼指令,38位數值的未壓縮二進制表示式,若非壓縮為單一字組壓縮二進制指定404,就是分離成圖4的多字組未壓縮二進制指令424的下16位434以及上22位438。壓縮程序512接收所有微程序碼指令的列表508,并借此產生壓縮表514。壓縮表514為組合程序504的輸入,隨后組合程序504組合來源碼502而成為選擇性壓縮二進制微程序碼506。通常,隨后的組合為新的或修改后的來源碼502。此外,隨后的組合可與原來用以產生壓縮表514的來源微程序碼502相同,例如當壓縮表一開始是空的時候。壓縮程序512檢查所有微程序碼指令的列表508,并產生唯一指令表。舉例來說,所有微程序碼指令的列表508可包括多個具有一個指令的實例,其將R2減去R1并將結果放置于R3;然而,當產生唯一指令表時,壓縮程序512將這些實例都當作一單一與唯一的微程序碼。一個使得壓縮微程序碼有極高可能性的事實在于,對于許多微程序碼指令而言,多個具有相同指令的實例可存在來源碼502中。使微程序碼指令單一化的的準則可根據不同實施例使用的壓縮方法而改變,以下將通過一實施例做詳細說明。在一實施例中,壓縮程序512是以Python語言所撰寫的程序。在產生唯一指令表之后,壓縮程序512指定每一唯一微程序碼指令一對應的唯一數值。壓縮表514包括一對一對應的唯一微程序碼指令以及唯一壓縮數值。在隨后的組合實例中,組合程序504利用此對應關系來壓縮并未由逃離指針標示的來源碼502組合語言指令而成為壓縮指令404。壓縮數值變成單一字組壓縮二進制指令404(或成為壓縮二進制指令的一部分),解壓縮器394解壓縮該二進制數值而成為未壓縮微程序指令353(或其一部分是未壓縮微程序指令)。在一實施例中,僅對38位未壓縮二進制表示式的一部分進行壓縮,而剩下的位并未壓縮。在一實施例中,將38位未壓縮二進制表示法的22個位,壓縮成28位壓縮二進制指令404中的12個位,38位未壓縮二進制表示式的剩下的16個位跳過未壓縮程序而成為28位壓縮二進制指令404的16位。如下所述,解壓縮器394執行相反的相似流程。在一實施例中,壓縮器512產生三個壓縮表514。壓縮表514之一指定唯一壓縮數值對應至即時跳躍微程序碼指令;壓縮表514之一指定唯一壓縮數值對應至即時非跳躍微程序碼指令;以及壓縮表514之一指定唯一壓縮數值對應至所有其他微程序碼指令,在此稱為“雜項(miscellaneous)”微程序碼指令。在一實施例中,壓縮的即時跳躍指令的28位壓縮二進制指令404具有二進制“1”的數值于首位位(亦即位[27]),然而即時非跳躍微程序碼指令以及雜項微程序碼指令的28位壓縮二進制指令404具有二進制“0”的數值于首位位,即時非跳躍微程序碼指令的28位壓縮二進制指令404在位[26:16]中的數值為0x000至0x2FF之間,而位于雜項微程序碼指令的28位壓縮二進制指令404的位[26:16]中的數值為0x300至0x7FF之間。在一實施例中,即時跳躍以及非即時跳躍的28位壓縮二進制指令404的即時數值位于28位微程序碼字組247的位[15:0]中。壓縮器512也產生解壓縮描述516。解壓縮描述516在概念上可理解為壓縮表514的逆轉,亦即解壓縮描述516包括壓縮表514的唯一壓縮數值與唯一未壓縮微程序碼指令二進制表示式的一對一對應關系(或其一部分)。如上所述,解壓縮器394可跳過壓縮第一微程序碼指令247的部分位(在一實施例為16位),使得解壓縮描述516僅需包括部分的唯一12位壓縮數值與未壓縮微程序碼指令二進制表示式的唯一22位的一對一對應關系。解壓縮器394將唯一22位部分與跳過的16位部分結合以產生最終提供至微轉譯器237的38位未壓縮微程序碼指令253。因此,在一實施例中,解壓縮描述516對應壓縮表514的唯一12位壓縮數值至唯一22位數值,且該對應關系用于制造或模擬輸出唯一22位數值作為未壓縮微程序碼指令353的一部分,以響應接收對應的壓縮第一微程序碼指令247的唯一12位壓縮數值的位[27:16]。邏輯產生程序518(如眾所皆知的ESPRESSOlogicminimizerprogram)將解壓縮描述516轉變成解壓縮器暫存器傳遞語言文件524,解壓縮器暫存器傳遞語言文件524可用以制造或模擬解壓縮器394。在一實施例中,解壓縮器暫存器傳遞語言文件524可合成至形成解壓縮器394的可程序邏輯陣列中。一旦微處理器100的實例,特別是硬件的解壓縮器394,利用解壓縮器暫存器傳遞語言文件524所給定實例而被制造或模擬時,則由微處理器100的實例所執行的隨后選擇性壓縮二進制微程序碼506,必須由組合程序504利用壓縮表514進行組合,其中壓縮表514對應至產生解壓縮器暫存器傳遞語言文件524的解壓縮描述516。否則,解壓縮器394可能不正確地解壓縮選擇性壓縮二進制微程序碼506。舉例來說,由微處理器100的模擬軟件所執行的選擇性壓縮二進制微程序碼506,必須由組合程序504利用壓縮表514進行組合,其中壓縮表514對應于在模擬軟件中使用解壓縮器暫存器傳遞語言文件524而產生的解壓縮器描述516。根據另一實施例,其中載入至非核微程序碼修補隨機存取存儲器114的修補微程序碼被選擇性地壓縮,選擇性壓縮二進制微程序碼506必須由組合程序504利用壓縮表514進行組合,其中壓縮表514對應至解壓縮器暫存器傳遞語言文件524所產生的解壓縮器描述516,并且解壓縮器描述516用以制造微處理器100的實例。根據另一實施例,微處理器具有許多半導體層,而通常核微程序碼只讀存儲器104與非核只讀存儲器108被制造于最后一層,這樣可提供給微程序碼開發者一個繼續發展微程序碼的機會,盡管微處理器100需要先被制造的半導體層(通常包括解壓縮器394)已被制造完成。在此狀況下,必須由組合程序504利用壓縮表514做組合,其中壓縮表514對應至解壓縮描述516,而解壓縮描述516利用解壓縮器暫存器傳遞語言文件524來制造微處理器100的實例。這點特別有利,因為能夠在某些情況提供微程序碼設計者在硬件設計者完成后數周的時間內繼續開發微程序碼。在此狀況下,來源碼502可包括未在所有微程序碼指令的列表508中的新微程序碼指令,其中所有微程序碼指令的列表508用以自微處理器100的實例制造而產生解壓縮器暫存器傳遞語言文件524。在此狀況下,微程序碼設計者需要在新微程序碼指令之前插入第一逃離指針412至來源碼502,如以下對圖6步驟608的描述。圖6所示的流程圖說明利用組合程序組合微程序碼的流程。流程開始于步驟602。在步驟602中,組合程序504接收圖5的來源碼502以及壓縮表514。組合程序504利用壓縮表514組合來源碼502,來源碼可包含逃離指針412。在組合實例開始時,壓縮表514可為空的。要注意的是,微程序碼開發者可能不知是否他已經插入了一新的微程序碼指令至來源碼502,例如在目前壓縮表514并未具有一微程序碼指令的對應關系。在此情況下,當組合程序504組合來源碼502時就會產生相關的錯誤。流程則前進至步驟604。在步驟604中,若組合程序504判斷步驟602在組合中發生錯誤則流程前進至步驟606,否則流程前進至步驟612。特別的是,組合錯誤可能因為壓縮表514不包括來源碼502微程序碼指令的對應關系所造成,其中來源碼502微程序碼指令并未由第一逃離指針412所標示。步驟606中,組合程序504輸出所有微程序碼指令的列表508給來源碼502,流程前進至步驟608。步驟608中,在組合程序504因壓縮表514并未包括對應關系而產生錯誤的該微程序碼指令的前面,插入第一逃離指針412至來源碼502中。在一實施例中,由微程序碼設計者插入第一逃離指針412。在一實施例中,可通過一程序利用由組合程序504所產生的錯誤信息,自動插入第一逃離指針412。在另一組合來源碼502的實例中流程將回到步驟602,直到沒有錯誤產生為止。應注意的是,壓縮表514在來源碼502第一次被組合時是空的,在此狀態下,組合程序504會對來源碼502的所有微程序指令產生錯誤;然而,因為組合程序已產生所有微程序碼指令的列表508,因此壓縮器512可執行用以產生壓縮表514,而相同的來源碼502(沒有插入第一逃離指針412的)可被重新組合而產生可由微處理器100的實例所執行的選擇性壓縮二進制微程序碼506,其中微處理器100的實例包括解壓縮器394的實例,在第二實例中,解壓縮描述516產生解壓縮器暫存器傳遞語言文件524,解壓縮器暫存器傳遞語言文件524產生解壓縮器394的實例,而解壓縮描述516則由壓縮器512所產生。在步驟612中,組合程序504輸出可用以制造微處理器100的所有微程序碼指令的列表508、以及選擇性壓縮二進制微程序碼506。具體而言,選擇性壓縮二進制微程序碼506包括位于非核只讀存儲器108、核微程序碼只讀存儲器104及/或非核微程序碼修補隨機存取存儲器114的單一字組壓縮二進制指令404以及多字組未壓縮二進制指令424。流程結束于步驟612。參考圖7,所示的流程圖說明圖2的復雜指令轉譯器296的動作,尤其是圖3的解壓縮單元239的動作。流程開始于步驟702。在步驟702中,圖3的控制邏輯396接收圖2的28位的壓縮第一微程序碼指令247的位[27:16],并對其解碼。流程繼續至步驟704。在步驟704中,控制邏輯396判斷是否在步驟702解碼的目前28位的壓縮第一微程序碼指令247包括逃離指針。在一實施例中,若28位的壓縮第一微程序碼指令247的既定位等于一既定數值時,控制邏輯判斷目前28位的壓縮第一微程序碼指令247包括逃離指針。在一實施例中,既定位為位[27:16],而既定數值為0x3FF,然而既定位以及既定數值并非做限定實施例之用。若目前28位的壓縮第一微程序碼指令247包括逃離指針,流程進行至步驟706;否則流程進行至步驟712。在步驟706中,控制邏輯396控制緩沖器398載入28位的壓縮第一微程序碼指令247的位[15:0]。流程進行至步驟708。在步驟708中,當下一28位的壓縮第一微程序碼指令247(例如,來自核微程序碼只讀存儲器104或非核只讀存儲器108)到達時,控制邏輯396控制三端輸入多工器392以選擇由緩沖器398所輸出的16位輸出(例如,于步驟702解碼的28位的壓縮第一微程序碼指令247的位[15:0])以及下一28位的壓縮第一微程序碼指令247的位[21:0]兩者所結合的38位結果355,并輸出此38位結果355作為38位未壓縮微程序碼指令253,其中此38位未壓縮微程序碼指令253在此情況下為未壓縮的。在一實施例中,因為管線延遲或與其他處理核102爭奪使用非核只讀存儲器108之故,下一28位的壓縮第一微程序碼指令247并未在一相對較大數量的時脈周期內到達。流程前進至步驟714。在步驟712中,解壓縮器394解壓縮28位的壓縮第一微程序碼指令247成為38位的未壓縮微程序碼指令353。如上所述,在一實施例中,解壓縮器394將28位的壓縮第一微程序碼指令247的12位對應至38位的未壓縮微程序碼指令353的22位,解壓縮器394跳過28位的壓縮第一微程序碼指令247剩下的16位不進行對應,但這16位與對應的22位相結合而產生38位的未壓縮微程序碼指令353。在一實施例中,解壓縮器394也包括多個多工器,其中多個多工器將對應的22位以及跳過的16位的每一位,導向至38位的未壓縮微程序碼指令353的各個位位置,以響應由解碼28位的壓縮第一微程序碼指令247的邏輯所產生的選擇信號。舉例來說,在此實例中,壓縮器512產生三個壓縮表514以對應即時跳躍、即時非跳躍以及雜項微程序碼指令,多工器直接根據三種類型的微程序碼指令中,哪一種微程序碼指令被壓縮,而將對應的22位以及通過的16位導向至38位的未壓縮微程序碼指令353。舉例來說,在一實施例中,在即時類型的微程序碼指令的狀態下,多個多工器將跳過的16位直接指向38位的未壓縮微程序碼指令353的即時域,盡管跳躍以及非跳躍的未壓縮微程序碼指令353的即時域位置不相同;然而在雜項指令的情況下,多個多工器將跳過的16位的子集合指向非即時的未壓縮微程序碼指令353的不同區域及/或子區域;并且多工器根據三種類型的壓縮第一微程序碼指令247的何者被解壓縮,而將對應的22位的子集合指向不同的38位的未壓縮微程序碼指令353的區域及/或子區域。控制邏輯396控制三端輸入多工器392自解壓縮器394選擇38位的未壓縮微程序碼指令353,并且輸出選擇結果353作為選擇性壓縮的38位未壓縮微程序碼指令253,在此情況下為對目前28位的壓縮第一微程序碼指令247解壓縮,其中壓縮第一微程序碼指令247為步驟702所編碼。流程前進制步驟714。在步驟714,微轉譯器237轉譯選擇性解壓縮38位未壓縮微程序碼指令253成為第二微指令246,其中第二微指令246可由微處理器100的執行單元212所執行,流程結束于步驟714。圖8顯示一實施例中非核只讀存儲器108為28位寬并維持壓縮的微程序碼字組,核微程序碼只讀存儲器104為28位寬并維持壓縮微程序碼字組,以及非核微程序碼修補隨機存取存儲器114為38位寬并維持非壓縮微程序碼字組。在另一實施例中,非核只讀存儲器108為38位寬并維持未壓縮的微程序碼字組而非壓縮的微程序碼字組,如圖9、11、13所示,在此情況下三端輸入多工器392可于一輸入端接收來自非核只讀存儲器108的38位微程序碼字組。在另一實施例,核微程序碼只讀存儲器104為38位寬并維持非壓縮微程序碼字組而非壓縮的微程序碼字組,如圖10所示,其中三端輸入多工器392可于一輸入端接收來自核微程序碼只讀存儲器104的38位的微程序碼字組。在另一實施例中,非核微程序碼修補隨機存取存儲器114為28位寬并維持壓縮微程序碼字組而不是非壓縮程序碼字組,如圖9所示,在此情況下來自非核微程序碼修補隨機存取存儲器114的28位微程序碼字組可提供至第一多工器222的一輸入端,并選擇以供應給三端輸入多工器392、解壓縮器394、控制邏輯396以及緩沖器398。再者,根據本發明的另一實施例,每一處理核102包括核修補隨機存取存儲器1299,核修補隨機存取存儲器1299的功能與非核微程序碼修補隨機存取存儲器114,除了核修補隨機存取存儲器1299并非共用于多個處理核102而是各自對應至相對的處理核102,如圖12、13所示。在圖12的實施例中,核修補隨機存取存儲器1299為38位寬并維持未壓縮微程序字組,在此情況下三端輸入多工器392可于一輸入端接收來自核修補隨機存取存儲器1299的38位微程序碼字組。在圖13的實施例中,核修補隨機存取存儲器1299為28位寬并維持壓縮微程序碼字組,在此情況下第一多工器222可在一輸入端接收來自核修補隨機存取存儲器1299的28位微程序碼字組。如上所述,在每一實施例中微程序碼存儲器為28位寬并維持壓縮微程序碼字組,微程序碼存儲器也可包括多字組未壓縮二進制指令424,多字組未壓縮二進制指令424可分為兩個28位的字組。在此所述的選擇性壓縮微程序碼的性能的另一個優點,就是作為儲存微程序碼于微處理器的可程序非易失存儲器越來越成為商業上可行的方式,微程序碼可一直被開發直到微處理器100的零件的微程序碼存儲器的時間可被編程為止。再者,若零件/存儲器可在現場被編程的,例如由使用者或現場技術人員,則使用者或技術人員還可在現場重新編程零件以修復錯誤。在任一情況中,新的來源微程序碼502可能必須包括逃離指針,因為硬件的解壓縮器394于該時間點被修復。盡管所述的多個實施例中微程序碼字組以及存儲器皆被指定寬度,其中以范例敘述的三個實施例,其他實施例中的微程序碼字組以及存儲器可為不同寬度。再者,盡管在此所述的實施例中,壓縮微程序碼指令的寬度為特定寬度,并且未壓縮微程序碼指令的寬度為特定寬度,而這些實施例以范例的方式敘述,而其他實施例中各自的壓縮以及非壓縮微程序碼指令可具有不同寬度。再者,盡管在此所述的多個實施例中使用選擇性壓縮微程序碼指令于多核處理器,其他實施例包括單一微處理器,其中單一微處理器用以選擇性壓縮微程序碼并包括具有壓縮微程序碼指令的微程序碼存儲器,而微程序碼存儲器具有未壓縮微程序碼指令亦可運用本發明而得以實施。最后,盡管在此所述的實施例在未壓縮二進制表示式以及壓縮二進制表示式之間具有特定對應關系,其他具有不同的對應關系的實施例則可能需要不同的微程序碼指令集。特別的是,位的數目則多少與解壓縮硬件可接受的延遲范圍的需求有關。當在此描述本發明的許多實施例,要知道這些實施例僅以范例的方式呈現而非限定于此。計算機相關領域技術人員皆了解,各種型式以及細節上的變形能夠在不背離本發明的范圍的情況下產生。舉例來說,軟件能夠致能功能、制造、模擬、擬真、描述及/或測試在此所述的裝置以及方法。這可經由使用一般的程序語言(例如:C、C++)、包括VerilogHDL、VHDL等等的硬件描述語言(hardwaredescriptionlanguages,HDL)、或其他可得的程序語言。該軟件可放置于任何已知的計算機可讀介質,例如磁帶(magnetictape)、半導體、磁盤(magneticdisk)、或光盤(opticaldisc)(例如:CD-ROM、DVD-ROM等等),或是網絡、有線、無線或其他通訊介質。在此描述的裝置以及方法的實施例可包含于半導體智慧財產權核中,例如微處理器處理核(如體現或指定于硬件描述語言)以及轉換制集成電路產品的硬件。此外,在此所述的裝置以及方法可體現為硬件以及軟件的組合。因此,本發明不應限定于任何在此所述的實施例,而應僅根據權利要求書的范圍及其相似物來定義。特別的是,本發明可實現于微處理器裝置,其中微處理器裝置可用于通用計算機中。最后,該領域技術人員能夠了解,他們能夠使用揭露的概念以及特定的實施例最為基礎而設計或調整其他架構,在不背離本發明于申請專利范圍所定義的范圍的情況下實現并完成本發明的相同目的。
            當前第1頁1 2 3 
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品