TWI472911B - 用於可組配式精簡指令集核心之方法及裝置、以及非暫時性電腦可讀媒體 - Google Patents
用於可組配式精簡指令集核心之方法及裝置、以及非暫時性電腦可讀媒體 Download PDFInfo
- Publication number
- TWI472911B TWI472911B TW101149530A TW101149530A TWI472911B TW I472911 B TWI472911 B TW I472911B TW 101149530 A TW101149530 A TW 101149530A TW 101149530 A TW101149530 A TW 101149530A TW I472911 B TWI472911 B TW I472911B
- Authority
- TW
- Taiwan
- Prior art keywords
- core
- instructions
- instruction
- selection
- supported
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 17
- 238000013461 design Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 3
- 229910003460 diamond Inorganic materials 0.000 description 6
- 239000010432 diamond Substances 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
本發明大致是有關於計算,特別是有關於處理。
為了與前幾代的處理器相容,後續的一代通常包括對舊有特徵的支援。時間久了,由於開發人員傾向修改他們的程式以與目前最新的指令集配合,這些舊有特徵中的部份變得越來越不常使用。隨著時間的推移,需要得到支援的舊有指令數目持續增加。然而這些舊有指令可能會越來越少執行。
依據本發明之一實施例,係特地提出一種方法,包含:決定一指令是否係受一部分核心支援;僅當該指令係受支援時,提供該指令以供該部分核心執行;提供數個可選擇的部分核心設計選項;及根據使用者的選擇,自動產生碼來實施一具有該等選擇的部分核心。
10‧‧‧管線
12‧‧‧指令記憶體
14‧‧‧指令提取單元
16‧‧‧解碼單元
18‧‧‧運算元提取
20‧‧‧執行單元
22‧‧‧寫回
24‧‧‧資料記憶體
26‧‧‧指令分析器
28‧‧‧常執行的解碼器
30‧‧‧不常執行的解碼器
32‧‧‧部分核心
34‧‧‧預建處置器
36、44、60‧‧‧序列
38、40、42、48、50、62、66、68、72、74、78、80、84、86‧‧‧方塊
46、64、70、76、82‧‧‧菱形方塊
51‧‧‧完整核心
52‧‧‧部分核心
90‧‧‧系統
92‧‧‧處理器
94‧‧‧碼資料庫
96‧‧‧RTL引擎
98‧‧‧軟體碼產生器
100‧‧‧顯示器驅動器
102‧‧‧圖形使用者介面
104‧‧‧顯示器
部份實施例是參照以下圖式描述:圖1是一流程圖,用於說明本發明的一實施例;
圖2是一示意描繪圖,用於說明本發明的一實施例;圖3是一流程圖,用於說明本發明的另一實施例;圖4是一流程圖,用於說明本發明的又一實施例;圖5是一硬體描繪圖,用於說明本發明的再一實施例;圖6是一流程圖,用於說明另一實施例;及圖7是一示意描繪圖,用於說明一實施例。
根據部份實施例,處理器可以藉由消除部份需要完全向後適用的指令,以一個只執行全部指令中的部分集的部分核心(partial core)來建立。因此,在部份實施例中,藉著提供只執行特定指令,而不執行其他需要向後適用的指令的部分核心,可減少功率消耗。不受支援的指令可以用其他更有節能效率的方式處置,使得包括部分核心的整體的處理器可以是完全向後適用的。但是處理器核心可以操作於使用於目前世代處理器的大量指令,而不須支援舊有指令。說明中所使用的電流代處理器可以操作,而無需支援舊有指令。這可能意味在部份情況下,部分核心處理器可能是更有節能效率的。
例如,部分核心可以消除各種不同的指令。在一個實施例中,一個部分核心可消除微編碼唯讀記憶體相依性。在這樣的情況下,部分核心指令係實施為單一操作指令。因此,指令係直接轉譯至硬體,而不需如完整或非部分的處理器一般所會做的,自微編碼唯讀記憶體提取相應的微操作。這可以節省大量的微編碼唯讀記憶體空間。
此外,只有可用於完整核心的指令的子集是現代編譯器實際有在使用的。由於過去幾十年中體系結構演化的結果,導致商業指令集體系結構具有許多過時的或無用的指令,該等指令可以為了效能將其消除,但需付出缺乏部份向後相容性的代價。
一些在前幾代如來自微軟磁碟作業系統(DOS)的16位元真實模式的時代就有的特徵,以及區段式記憶體保護體系結構、局部和全局敘述器表格,都為了能向後相容性的原因而被帶進下一代。但是,大多數現代作業系統不再需要或不再使用這些特徵。因此,在部份實施例中,這些特徵可簡化地從部分核心中消除。
因此,在一個實施例中,部分核心可以是不支援舊標準的或是非向後適用的。這可使核心更有節能效率而特別適合嵌入式應用。其他的例子可包括減少浮點及單一指令多資料(single-instruction multiple data)指令,以及對於快取(caches)的支援的數量。只有整數和純量指令集體系結構的子集可以實施在部分核心的一個實施例。同樣的想法可以延伸到浮點和向量(單一指令多資料)指令集以及通常藉由完整核心實施的特徵。部分核心就是一個在部份實施例中可針對嵌入式應用所做的子集體系結構的實施。其他子集體系結構的實施包括不同數量的管線層級(pipelined stages)和其他性能特徵例如錯序(out-of-order),超純量快取(super scalar caches),使這些部分核心適合於特定的市場區段,諸如個人電腦,平板電腦或伺服器。
因此,參照圖1,在管線10中,指令記憶體12提供指令至指令提取單元14。然後,這些指令在解碼單元16中解碼。運算元提取18從資料記憶體24提取用於在執行單元20執行的運算元。而資料在寫回22中寫回資料記憶體24。
為了達成完全的向後相容性,不受支援的指令可以不同的方式處置。根據一實施例,如圖2中所示,一解碼單元16可設置在管線10中。此解碼器,在完全的指令解碼時,檢測未實施的指令,並調用在執行單元20中用於那些指令的預建處置器34。這些預建處置器是專門設計來處置特定的指令或指令類型。這些預建處置器可以是基於軟體或是硬體。
這種方式可以使用一個可加快不受支援的指令的檢測和處置的執行的充分發展的或完整的解碼器。這些預建處置器可以是基於軟體或是硬體。
此充分發展的解碼器加快不受支援的指令的檢測及執行處置器的執行。該解碼器可以劃分成兩部分。一部分解碼常執行的指令且第二部分解碼較不常使用的指令。
因此,參照圖2,所述指令係藉由解碼單元16接收。在本實施例中,解碼單元16可以包括一檢測哪些指令係受部分核心32所支援(可描述為常執行的指令)及哪些指令不受支援(可稱為較不常或不常執行的指令)的指令分析器26。可受該部分核心支援的指令可藉由一常執行的解碼器28解碼並傳送至部分核心32。在一實施例中,不常執行或不受支援的指令係藉由解碼器30解碼並藉由一執行單元20的預建處置器34所處置。
在部份實施例中,圖3所示的指令處置器36可以軟體、韌體和/或硬體來實施。在軟體和韌體的實施例中,該序列可藉由儲存在諸如光學的、半導體的或磁性的儲存器的一非暫時性電腦可讀媒體中的電腦執行指令所實施。
圖3所示的指令處置器36是以如方塊38所指示的分析指令開始。即,指令是根據識別受部分核心支援的指令以及不受部分核心支援的指令而分析。在一個實施例中,受支援的指令係為常執行的指令。在其它實施例中,特定指令可因為係受部分核心所支援而分析出來。
如在方塊40中所指示,一種類型的指令係發送到第一(常執行的)解碼器28以及第二類型的指令係發送到第二(不常執行的)解碼器30。然後,第一類型的解碼指令係發送到部分核心,而第二類型的解碼指令係發送到預建處置器34,如方塊42所示。
根據另一實施例,核心可產生未定義指令例外。這可能是現有的例外或新定義的特殊的例外。該例外可於遇到一不受部分核心支援的指令時產生。然後,軟體或二進位轉譯層(binary translation layer)可以控制例外之執行或解決。例如,在一個實施例中,二進位轉譯層可以執行一模擬不受支援的指令的處置器程式。
在部份實施例中,也可混合使用在圖2和圖3所示的這種方法和先前描述的方法。因此,參照圖4,指令處置器44可以實施在軟體、韌體和/或硬體。在軟體和韌體的實施例中,該序列可藉由儲存在諸如磁性的、光學的或半導體的儲存器的
一非暫時性電腦可讀媒體中的電腦執行指令實施。
指令處置器44係藉由決定指令是否受支援而開始,如菱形方塊46所指示。若是,該指令可以在部分核心執行,如方塊48所指示。否則其發佈一個例外,如方塊50所指示。
根據再一實施例,處理器可具有一個或兩個包括完全和完整的指令集的核心,和一定數目的只實施完整指令集中的特定特徵,例如常執行的特徵的部分核心。每當部分核心遇到不受支援的指令時,該部分核心傳送該任務給完整核心中之一者。在混合或異構的環境中的完整核心可對作業系統隱藏或顯露。這種方式不涉及任何二進位轉譯層,不論是部份實施例中的軟體或硬體,而核心特徵的不同可以對其他軟體層的作業系統隱藏。
因此,參照圖5,該體系結構可以包括至少一個完整核心51和至少一個部分核心52。指令係由部分核心52檢查。如果指令是不受支援的,那麼它們會被傳送到完整核心51。其他指令被傳送的情況也可以被思及。
根據一部分核心處理器的實施例,以下指令可受支援:
以下指令可根據一實施例不受支援:
在部份實施例中,一個可組配式部分核心可以用適當的電路元件和軟體生產。在一個實施例中,使用者可以回應於圖形使用者介面來輸入選擇。然後,系統會自動產生暫存器轉移層次(register transfer level,RTL)和軟體來實施具有這些特徵的部分核心。在部份實施例中,所述指令集是預先定義的,並可提出進一步的可組配性。在其它實施例中,一個系統可以令使用者能夠手動實施組配選擇。舉例而言,一個系統可以允許快取的組配、分支預測器(branch predictors)、管線分流(pipeline bypasses)、以及乘法器。
例如,在一個實施例中,快取組配可以藉由預設為緊密地耦合的資料與指令快取而設定。在可選擇的選項中則包
括分離資料與指令快取,以及可選擇的快取參數,例如快取的大小,線段(line)的大小,關聯性,和錯誤校正碼。20120620
分支預測器可以預設使用永不採取(not-taken)的方式來設定以進行條件分支。可選擇的選項,在部份實施例中,可包括向後採取而向前不採取、兩個、四個、八個或十六個條目(entries)的分支目標緩衝器、基於全標度共用記錄(G-share)的方式,或一個具可組配式條目數的預測器。
一組預設的管線分流可以選擇性地在一個實施例中停用。預設分流允許使用者得到較高頻率的性能,但是是以功率做為犧牲換得。例如,一個稱為IF_IBUF的分流(bypass)允許來自指令記憶體/快取的資料直接進入預解碼器和解碼器層級而不先行進入指令緩衝器。類似地,在部份實施例中,有另一個分流,其將來自比較指令的結果發送至運算元提取及指令層級,以快速決定係為下一比較指令的一個跳躍指令是否導致跳躍到不同位置。根據此資訊,指令提取單元可以開始提取從新位址開始的指令。此分流減少了條件跳躍指令的不利結果。雖然這些分流提出更高的效能,他們這樣做的代價是頻率。如果一個特定的應用需要更高的頻率,那麼這些分流可以在設計時選擇性地關閉。
還有另一組的選項是有關於乘法器。在一個實施例中,一個預設的組配可以提出一個、兩個或多個週期乘法器。使用者可以根據使用者的需求選擇這三個乘法器中的一個。單一週期乘法器需要更多的區域,且可能會限制達到更高的頻率的設計,但只需要一個週期來執行32×32位元的乘法運算。另
一方面,多個週期乘法器約需要2000個閘,對比於單一週期乘法器所需的7000個閘,但需要多於一個週期來執行32x32位元的乘法運算。
在部份實施例中,包括記憶體保護單元、記憶體管理單元、寫回緩衝區的其他可組配式特徵可變為可利用的。其亦可延伸到浮點單元、單一指令多資料、超純量,以及數個用於提及部份額外的可組配式特徵的受支援的中斷。
在部份實施例中,部份可選擇的特徵是以性能為導向,如有分流、分支預測器和乘法器的情況,而其他的則是以功能性或特徵為導向,如關於快取、記憶體保護單元和記憶體管理單元的情況。
參照圖6,一個核心組配序列60可以軟體、硬體和/或韌體來實施。在軟體和韌體的實施例中,該序列可藉由儲存在諸如光學的、磁性的或半導體的儲存器的一非暫時性電腦可讀媒體中的電腦執行指令來實施。
在一個實施例中,核心組配序列60是以顯示供部分核心設計用的可選擇快取選項而開始,如方塊62所指示。一旦使用者進行選擇,如菱形方塊64所指示,該選項即為設定,如方塊66所指示,這意味著在部份實施例中,其將被記錄,並最終地實施到所需要的碼中而無需使用者進一步的動作。如果選擇未做出,則流程單純地等待選擇。
接著,其可顯示分支預測選項,如方塊68所指示,隨後是菱形方塊70的選擇檢查以及方塊72的選項設定層級。
之後,其可顯示管線分流選項(方塊74),然後是菱
形方塊76的選擇及方塊78的選項設定。接下來,其可顯示乘法器選項,如方塊80所指示。隨後可以是再次的菱形方塊82的選擇之決定及方塊84的選項設定。
最後,所有已設定或選擇的選項都被收集,而適當的RTL(register transfer level,暫存器轉移層次)和軟體碼會如方塊86所指示自動產生。因此在部份實施例中,根據設計者的選擇,創建硬體和軟體組配的所需要的碼可自動產生。
參照圖7,用於實施本發明的一個實施例的一系統90可包括一耦合至一個碼資料庫94的處理器92,一RTL引擎96,一顯示器驅動器100,及一軟體碼產生器98。碼資料庫94儲存用於不同的可選擇選項的碼資料庫。該RTL引擎96包括能夠回應於使用者的選擇產生RTL碼的能力。軟體碼產生器產生所需要的軟體碼來實施使用者選擇。顯示器驅動器100驅動該顯示器104,並包括用於產生在一實施例中提供各種定義選項的使用者選擇性的圖形使用者介面(GUI)102的軟體。
本說明書中通篇所述的“一個實施例”或“一實施例”意指與該實施例有關而描述的特定特徵、結構、或特性係包括在至少一個本發明的實施方式中。因此,出現的措詞“一個實施例”或“在一個實施例中”並不必然意指相同的實施例。此外,特定的特徵、結構、或特性可以與特定實施例所說明者不同的其它合適的形式構成,而所有這些形式可包括在本申請的申請專利範圍內。
雖然已藉由有限數目的實施例描述本發明,但熟於此技者將可由此推及多種修改與變化。所附申請專利範圍旨在
涵蓋落入本發明之真實精神和範圍之內的所有修改與變化。
10‧‧‧管線
12‧‧‧指令記憶體
14‧‧‧指令提取單元
16‧‧‧解碼單元
18‧‧‧運算元提取
20‧‧‧執行單元
22‧‧‧寫回
24‧‧‧資料記憶體
Claims (24)
- 一種用於可組配式精簡指令集核心之方法,包含:決定一指令是否係受一部分核心支援;僅當該指令係受支援時,提供該指令以供該部分核心執行;提供數個可選擇的部分核心設計選項;及根據使用者的選擇,自動產生碼來實施一具有該等選擇的部分核心。
- 如請求項1所述的方法,包括藉由一完整核心執行一不受該部分核心支援的指令。
- 如請求項1所述的方法,包括藉由一預建處置器執行一不受該部分核心支援的指令。
- 如請求項1所述的方法,包括如果一指令係不受該部分核心支援,發佈一例外。
- 如請求項1所述的方法,包括從該部分核心的該指令集中排除用於處置唯讀相依性的指令。
- 如請求項1所述的方法,包括轉譯硬體之指令,而不從微編碼唯讀中提取相應的微操作。
- 如請求項1所述的方法,包括賦能快取組配選擇。
- 如請求項1所述的方法,包括賦能分支預測器的選擇。
- 如請求項1所述的方法,包括賦能管線分流的選擇。
- 如請求項1所述的方法,包括賦能乘法器的選擇。
- 一種非暫時性電腦可讀媒體,其儲存指令以實施下列處理:決定一指令是否係受一只執行一指令集中的部份指令 的核心支援;僅當該指令係受支援時,提供該指令以供該核心執行;提供數個可選擇的部分核心設計選項;及根據使用者的選擇,產生碼來實施一具有該等選擇的部分核心。
- 如請求項11所述的媒體,其儲存指令以藉由一完整核心執行一不受該核心支援的指令。
- 如請求項11所述的媒體,其儲存指令以藉由一預建處置器執行一不受該核心支援的指令。
- 如請求項11所述的媒體,其儲存指令以於如果一指令係不受該部分核心支援時,發佈一例外。
- 如請求項11所述的媒體,其儲存指令以從該核心的該指令集排除用於處置唯讀相依性的指令。
- 如請求項11所述的媒體,其儲存指令以轉譯硬體之指令,而不從微編碼唯讀記憶體中提取相應的微操作。
- 如請求項11所述的媒體,其儲存指令以賦能快取組配選擇。
- 如請求項11所述的媒體,其儲存指令以賦能分支預測器的選擇。
- 如請求項11所述的媒體,其儲存指令以賦能管線分流的選擇。
- 如請求項11所述的媒體,其儲存指令以賦能乘法器的選擇。
- 一種用於可組配式精簡指令集核心之裝置,該裝置包含:一處理器,令一使用者能從包括快取設計選項之選項中選擇供一處理器核心用的選項;及 一碼資料庫,其儲存碼來實施供一處理器核心用的可選擇的設計選項,包括暫存器轉移層次與一軟體碼。
- 如請求項21所述的裝置,該處理器賦能分支預測器的選擇。
- 如請求項21所述的裝置,該處理器賦能管線分流的選擇。
- 如請求項21所述的裝置,該處理器賦能乘法器的選擇。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/068016 WO2013101147A1 (en) | 2011-12-30 | 2011-12-30 | Configurable reduced instruction set core |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201346524A TW201346524A (zh) | 2013-11-16 |
TWI472911B true TWI472911B (zh) | 2015-02-11 |
Family
ID=48698381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101149530A TWI472911B (zh) | 2011-12-30 | 2012-12-24 | 用於可組配式精簡指令集核心之方法及裝置、以及非暫時性電腦可讀媒體 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20140223145A1 (zh) |
EP (1) | EP2798467A4 (zh) |
CN (1) | CN104025034B (zh) |
TW (1) | TWI472911B (zh) |
WO (1) | WO2013101147A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10503513B2 (en) * | 2013-10-23 | 2019-12-10 | Nvidia Corporation | Dispatching a stored instruction in response to determining that a received instruction is of a same instruction type |
CN103955445B (zh) | 2014-04-30 | 2017-04-05 | 华为技术有限公司 | 一种数据处理方法、处理器及数据处理设备 |
US9830150B2 (en) | 2015-12-04 | 2017-11-28 | Google Llc | Multi-functional execution lane for image processor |
US20170168819A1 (en) * | 2015-12-15 | 2017-06-15 | Intel Corporation | Instruction and logic for partial reduction operations |
TWI805544B (zh) * | 2017-01-24 | 2023-06-21 | 香港商阿里巴巴集團服務有限公司 | 資料庫操作方法及裝置 |
TWI790991B (zh) * | 2017-01-24 | 2023-02-01 | 香港商阿里巴巴集團服務有限公司 | 資料庫操作方法及裝置 |
US10540181B2 (en) * | 2018-01-19 | 2020-01-21 | Marvell World Trade Ltd. | Managing branch prediction information for different contexts |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4851990A (en) * | 1987-02-09 | 1989-07-25 | Advanced Micro Devices, Inc. | High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure |
WO2002019098A1 (en) * | 2000-08-30 | 2002-03-07 | Intel Corporation | Method and apparatus for a unified risc/dsp pipeline controller for both reduced instruction set computer (risc) control instructions and digital signal processing (dsp) instructions |
TW527565B (en) * | 1999-03-26 | 2003-04-11 | Microchip Tech Inc | Microcontroller instruction set |
US7383425B2 (en) * | 2003-09-29 | 2008-06-03 | Pleora Technologies Inc. | Massively reduced instruction set processor |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5632028A (en) * | 1995-03-03 | 1997-05-20 | Hal Computer Systems, Inc. | Hardware support for fast software emulation of unimplemented instructions |
US5752035A (en) * | 1995-04-05 | 1998-05-12 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator |
US5699537A (en) * | 1995-12-22 | 1997-12-16 | Intel Corporation | Processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions |
US6374349B2 (en) * | 1998-03-19 | 2002-04-16 | Mcfarling Scott | Branch predictor with serially connected predictor stages for improving branch prediction accuracy |
US6480952B2 (en) * | 1998-05-26 | 2002-11-12 | Advanced Micro Devices, Inc. | Emulation coprocessor |
US6185672B1 (en) * | 1999-02-19 | 2001-02-06 | Advanced Micro Devices, Inc. | Method and apparatus for instruction queue compression |
US6393551B1 (en) * | 1999-05-26 | 2002-05-21 | Infineon Technologies North America Corp. | Reducing instruction transactions in a microprocessor |
US6425116B1 (en) * | 2000-03-30 | 2002-07-23 | Koninklijke Philips Electronics N.V. | Automated design of digital signal processing integrated circuit |
US7287147B1 (en) * | 2000-12-29 | 2007-10-23 | Mips Technologies, Inc. | Configurable co-processor interface |
US6886092B1 (en) * | 2001-11-19 | 2005-04-26 | Xilinx, Inc. | Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion |
US7100060B2 (en) * | 2002-06-26 | 2006-08-29 | Intel Corporation | Techniques for utilization of asymmetric secondary processing resources |
EP1387259B1 (en) * | 2002-07-31 | 2017-09-20 | Texas Instruments Incorporated | Inter-processor control |
US20040128477A1 (en) * | 2002-12-13 | 2004-07-01 | Ip-First, Llc | Early access to microcode ROM |
TWI232457B (en) * | 2003-12-15 | 2005-05-11 | Ip First Llc | Early access to microcode ROM |
US7165229B1 (en) * | 2004-05-24 | 2007-01-16 | Altera Corporation | Generating optimized and secure IP cores |
US7353489B2 (en) * | 2004-05-28 | 2008-04-01 | Synopsys, Inc. | Determining hardware parameters specified when configurable IP is synthesized |
US7529909B2 (en) * | 2006-12-28 | 2009-05-05 | Microsoft Corporation | Security verified reconfiguration of execution datapath in extensible microcomputer |
US7895415B2 (en) * | 2007-02-14 | 2011-02-22 | Intel Corporation | Cache sharing based thread control |
US20100262966A1 (en) * | 2009-04-14 | 2010-10-14 | International Business Machines Corporation | Multiprocessor computing device |
-
2011
- 2011-12-30 WO PCT/US2011/068016 patent/WO2013101147A1/en active Application Filing
- 2011-12-30 CN CN201180076171.7A patent/CN104025034B/zh active Active
- 2011-12-30 EP EP11878898.3A patent/EP2798467A4/en not_active Withdrawn
- 2011-12-30 US US13/992,797 patent/US20140223145A1/en not_active Abandoned
-
2012
- 2012-12-24 TW TW101149530A patent/TWI472911B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4851990A (en) * | 1987-02-09 | 1989-07-25 | Advanced Micro Devices, Inc. | High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure |
TW527565B (en) * | 1999-03-26 | 2003-04-11 | Microchip Tech Inc | Microcontroller instruction set |
WO2002019098A1 (en) * | 2000-08-30 | 2002-03-07 | Intel Corporation | Method and apparatus for a unified risc/dsp pipeline controller for both reduced instruction set computer (risc) control instructions and digital signal processing (dsp) instructions |
US7383425B2 (en) * | 2003-09-29 | 2008-06-03 | Pleora Technologies Inc. | Massively reduced instruction set processor |
Also Published As
Publication number | Publication date |
---|---|
TW201346524A (zh) | 2013-11-16 |
CN104025034A (zh) | 2014-09-03 |
EP2798467A1 (en) | 2014-11-05 |
EP2798467A4 (en) | 2016-04-27 |
WO2013101147A1 (en) | 2013-07-04 |
CN104025034B (zh) | 2018-09-11 |
US20140223145A1 (en) | 2014-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI472911B (zh) | 用於可組配式精簡指令集核心之方法及裝置、以及非暫時性電腦可讀媒體 | |
US8495341B2 (en) | Instruction length based cracking for instruction of variable length storage operands | |
US9104399B2 (en) | Dual issuing of complex instruction set instructions | |
US8938605B2 (en) | Instruction cracking based on machine state | |
TWI691897B (zh) | 用以執行融合單一週期遞增-比較-跳越之指令與邏輯 | |
EP1869547B1 (en) | System and method wherein conditional instructions unconditionally provide output | |
EP2087420B1 (en) | Methods and apparatus for recognizing a subroutine call | |
JP5941488B2 (ja) | 条件付きショート前方分岐の計算的に等価な述語付き命令への変換 | |
JP2013232196A (ja) | レジスタ初期化動作の最適化 | |
US9378022B2 (en) | Performing predecode-time optimized instructions in conjunction with predecode time optimized instruction sequence caching | |
EP2461246B1 (en) | Early conditional selection of an operand | |
US11175916B2 (en) | System and method for a lightweight fencing operation | |
US9632791B2 (en) | Cache for patterns of instructions with multiple forward control transfers | |
US20070220235A1 (en) | Instruction subgraph identification for a configurable accelerator | |
US10467008B2 (en) | Identifying an effective address (EA) using an interrupt instruction tag (ITAG) in a multi-slice processor | |
US11544065B2 (en) | Bit width reconfiguration using a shadow-latch configured register file | |
TWI610226B (zh) | 使用精簡指令集核心 | |
CN110806898A (zh) | 处理器及指令操作方法 | |
Shah et al. | SPSIM: SuperScalar Processor SIMulater CS305 Project Report | |
WO2005119428A1 (en) | Tlb correlated branch predictor and method for use therof | |
JP2008129667A (ja) | プログラマブルコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |