TW201015435A - Power aware retirement - Google Patents
Power aware retirement Download PDFInfo
- Publication number
- TW201015435A TW201015435A TW098120442A TW98120442A TW201015435A TW 201015435 A TW201015435 A TW 201015435A TW 098120442 A TW098120442 A TW 098120442A TW 98120442 A TW98120442 A TW 98120442A TW 201015435 A TW201015435 A TW 201015435A
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- logic
- information
- signal
- early
- Prior art date
Links
- 238000003491 array Methods 0.000 claims abstract description 21
- 239000000872 buffer Substances 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 16
- 230000003068 static effect Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 10
- 239000000853 adhesive Substances 0.000 claims 1
- 230000001070 adhesive effect Effects 0.000 claims 1
- 238000005192 partition Methods 0.000 description 24
- 230000015654 memory Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 229910003460 diamond Inorganic materials 0.000 description 3
- 239000010432 diamond Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000001846 repelling effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- 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
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- 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
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3865—Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Advance Control (AREA)
- Power Sources (AREA)
Description
201015435 六、發明說明: 【發明所屬之技術領域】 本發明係關於具功耗意識之指令引退。 【先前技術】 接收指令、執行指令、以及提供指令的結果之各階構 成了現代的微處理器。許多現代的架構係基於亂序(Out-0 Of-Order ;簡稱000 )實施,其中可以亂序之方式執行各 指令,且梢後將結果依序提交給處理器的一架構狀態。 爲了實現此種亂序操作,可將處理器管線分成不同階 。在這些階完成了指令的處理時,一指令引退( retirement )階可操作而確認執行的結果是有效的(亦即 ,並非推測的結果或基於錯誤的資料),且確認並未發生 錯誤或異常。在許多處理器架構中,於每一指令引退週期 中,整個指令引退邏輯是現用的,因而自所有相關聯的陣 φ 列讀取所有相關聯的資料’且針對每一指令而動用全部的 指令引退邏輯。該活動之目的在於產生一保證信號並執行 與指令引退有關的操作,其中包括事件計算及優先順序設 定。 然而,在大部分的週期中’沒有任何事件發生’因而 無須計算事件。因此’有了適當操作時不需要的明顯的功 率消耗。 【發明內容及實施方式】 -5- 201015435 在各實施例中,可藉提供各指令引退資源的分割使得 只針對操作的有意義部分供電給這些資源之最少量的資源 ,而可控制處理器的指令引退邏輯來以一種功率敏感性( power sensitive)方式操作。就這一點而言,可分割各陣 列或緩衝區等及邏輯,以便適應此種操作。雖然本文所述 的實施例是在重新排序緩衝區(reorder buffer ;簡稱 ROB )的環境下,但是本發明之範圍不限於此方面,且實 施例可與給定處理器可能有的各種指令引退邏輯共用。 爲了實現電力的優點,與將在每一指令引退期間中發 生的正常指令引退活動相關聯之這些陣列及邏輯之分割區 可以相當小,因而消耗最小的電力。相比之下,在需要在 引退指令中執行與各事件相關聯的額外計算之較罕見之情 形中,可供電給較大的陣列及邏輯。在此種方式下,可視 需要而執行所需的操作,同時只需針對大多數的指令引退 操作供電給最少的指令引退邏輯。雖然本說明書大致當作 指令引退來說明,但是我們應可了解:在各實施例中,指 令可能意指所謂的微運算(uop ),其中諸如一巨集指令 (macro instruction )的單一使用者層級的指令可被分成 複數個微運算。 ROB執行諸如異常處理、指令指標(例如,EIP/UIP )計算、效能監視器(PMON )計算、以及暫存器更新等 與指令引退有關之控制。除了偵測錯誤之外,ROB具有 其它在無錯誤被偵測且在指令引退時實施的與正常指令引 退有關的工作。這些工作包括諸如將新的被引退之値寫到 -6 - 201015435 未被重新命名的暫存器、計算狀態位元、更新各新値(例 如,資料中斷點位元、命令及狀態暫存器異常、精確度異 常等)、以及更新效能監視器等的在一有效指令引退之後 執行的操作。根據本發明實施例的一具功耗意識之指令引 退機制可至少部分地根據自外部及內部(對R〇B而言) 指示得到的靜態及動態資訊,而只在需要時選擇性地控制 ROB的對功耗有不同需求的單元。 換言之,藉陣列及邏輯的一些分割區可處理只需最小 量的功耗之主流正常指令引退工作,而只在需要時’由這 些陣列及邏輯的較完整之分割區處理諸如事件處理(例如 ,錯誤、陷阱(trap )、異常、中斷)等的罕見情況。在 此種方式下,於需要時,可正常地操作必須在全效能環境 下操作的諸如PMON的特殊模式,且於非現用狀態時進入 省電狀態。各實施例因而可藉減少實現指令引退所需的計 算量,而允許頻率不可中斷之指令引退時的較大引退寬度 〇 現在請參閱第1圖’圖中不出根據本發明的一實施例 的處理器之方塊圖。如第1圖所示,處理器100可以是一 多階管線化亂序處理器。處理器1 〇〇以第1圖之一較簡化 的圖顯示,以便解說配合將於下文中說明的具功耗意識之 指令引退操作之各種特徵。 如第1圖所示,處理器100包含前端單元110,該等 前端單元110可被用來提取將要被執行的巨集指令,並準 備該等巨集指令,以供稍後用於該處理器。例如,前端單 201015435 元110可包含一指令預先提取器、一指令解碼器 快取記憶體(trace cache )、微碼儲存器、以及· 存器。該指令預先提取器可自記憶體提取巨集指 該等巨集指令傳送到指令解碼器,以便將該等巨 碼爲原語(primitive)(亦即,微運算),以供 執行。該追蹤快取記憶體可取得被解碼的微運算 等微運算組合成程式順序序列,以便儲存到巨集 。然而,在複雜巨集指令之情形中,該微碼儲存 執行操作所需的微運算。當然,可在前端單元1] 一些額外的組件及特徵。 一亂序引擎115被耦合到前端單元110與 120之間,亂序引擎115可被用來接收該等微指 備該等微指令以供執行。更具體而言,亂序引擎 含各種緩衝區,用以重新排序微指令流,並分配 的各種資源,且提供將各邏輯暫存器重新命名爲 器檔130及延伸暫存器檔135的種種暫存器檔內 置。暫存器檔130可包含用於整數及浮點運算的 器檔。延伸暫存器檔135可提供用於向量大小的 如,每暫存器256或512位元)之儲存。 除了其他專用硬體外,執行單元1 20中可設 如各種整數、浮點、及單一指令多重資料 Instruction Multiple Data ;簡稱 SIMD)邏輯單 資源。結果可提供給指令引退邏輯,亦即,重新 區(ROB) 140,而ROB 140可以一種具功耗意 、一追蹤 一 uop 儲 令,並將 集指令解 該處理器 ,並將該 碼儲存器 器可提供 ί 0中實施 執行單元 令,並準 1 1 5可包 執行所需 諸如暫存 之儲存位 獨立暫存 單位(例 有包括諸 (Single 元的各種 排序緩衝 識之方式 201015435 操作。更具體而言,ROB 140包含各種陣列及邏輯, 接收與被執行的指令相關聯之資訊》ROB 140然後檢 資訊,以便決定是否可有效地使指令引退並將結果資 交給該處理器的架構狀態、或者是否發生了阻止指令 當引退之一或多個異常。當然,ROB 140可處理與指 退相關聯的諸如本發明中述及的各種事件及計算等的 操作。 φ 如第1圖所示,ROB 140可包含各種陣列,包括 多個被賦能的陣列142、以及一或多個隨選陣列144 等被賦能的陣列可經常性被供電,且可包含與指令相 的最小量之資訊。如將於下文中進一步說明的,在一 實施中,分配陣列及一寫回(WB )陣列的獨立分割 對應於被賦能的陣列1 42。同樣地,隨選陣列1 44可 包含與微運算相關聯的額外資訊的此等陣列的分割區 可只有在需要處理與給定指令相關聯的事件時才被供 φ 又如第1圖所示,ROB 140進一步包含被賦能的邏輯 。此種被賦能的邏輯可經常性被供電,且可用來處理 的指令引退操作。相比之下,隨選邏輯148只有在需 理諸如錯誤、中斷、分支錯誤預測、效能監視、及更 的正常指令引退以外的事件時才被賦能。如第1圖所 ROB 1 40被耦合到一快取記憶體1 5 0,該快取記憶體 在一實施例中可以是一低階快取記憶體(例如,L 1 記憶體),但是本發明之範圍不限於此方面。此外, 單元1 20可被直接耦合到快取記憶體1 5 〇。可自快取 用以 查該 料提 的適 令引 其他 一或 。該 關聯 特定 可 以是 ,且 電。 146 正常 要處 新等 示, 150 快取 執行 記憶 -9- 201015435 體1 50進行與較高階快取記憶體及系統記憶體等的記憶體 之資料通訊。雖然第1圖中以高階方塊圖之方式示出該實 施例’但是我們應可了解:本發明之範圍不限於此.方面。 在一般性的操作時,該ROB決定指令引退期間的微 運算是否需要讀取該等ROB陣列的一特定部分,或是否 需要將一特定的邏輯賦能(其中該等特定的資源需要較大 的功耗,且執行正常指令引退以外的操作)。可於分配時 靜態地作出該決定,或者於寫回時動態地作出該決定。例 如,如果並未偵測到靜態事件(於分配時)或動態事件( 於寫回時),則無須啓動事件邏輯。此外,如果效能監視 器組並未處於現用狀態,則可於分配時靜態地偵測到該狀 態,且於指令引退時不應讀取與效能監視器計算相關聯的 資料,而且無須將計算效能監視器値的邏輯賦能。 除非特定的操作被識別且被特別賦能,否則該ROB 通常將只專注於正常指令引退的主流活動。此種具功耗意 識之機制通常只將無事件的且正常的微運算指令引退所需 之邏輯賦能,且在識別出有需要之前將停止供電給所有其 他的邏輯。 爲了將一具功耗意識之ROB賦能,各實施例可分割 各種資源,例如,將陣列分成兩部分:一陣列在每一指令 引退中被讀取’且另一陣列只在依需求時(例如,於效能 監視器操作、中斷、錯誤等狀況時)被讀取。然後,用來 識別針對每一種類型的功能(例如,唯有事件或唯有效能 監視器等的功能)將讀取每一陣列的哪一部分之邏輯可被 -10- 201015435 用來供電給適當的資源。此外,可分割該指令引退邏輯, 以便在與操作種類相關聯的類型引退時,特別地將每一部 分賦能。 在正常的情形中,當未偵測到猜測式事件時,可在微 運算可有效引退且錯誤邏輯不進行計算時,立即在用來指 示該等微運算可有效引退且不會發生錯誤或異常的一指令 引退期間中使一保證信號處於現用狀態。因此,可較快速 Φ 地釋出該保證信號,諸如快了一或多個週期,因而可將該 保證信號稱爲早期保證信號。然而,當偵測到一猜測式事 件時,並不在該時間產生該早期保證信號,反而將由依需 求被賦能的邏輯產生用來指示該等微運算無法有效引退之 —(晚期)保證信號、或殺光(nuke )信號或無效信號。 現在請參閱第2圖,圖中示出根據本發明的一實施例 的指令引退邏輯之一方塊圖。如第2圖所示,可對應於一 ROB之一指令引退單元200可具有被分割爲多個部分之 φ 各種資源,其中一第一分割區可經常性地被賦能,以便在 每一指令引退期間執行操作,且可只在需要時間歇性地將 一第二分割區賦能,以便處理具有各種與指令引退相關聯 的事件之指令引退。如第2圖所示,指令引退單元200包 含一分配陣列2 1 0。分配陣列2 1 0可接收與分配期間的各 微運算相關聯之輸入資訊。雖然本發明之範圍不限於這方 面,但是該資訊可對應於諸如運算類型(分支、載入、儲 存、浮點、或整數運算)或與微運算相關聯的異常類型等 的與微運算相關聯的靜態資訊。如第2圖所示,分配陣列 -11 - 201015435 2 1 〇可被分割爲組態可被設定爲經常性的現用狀態之一第 一分割區212、以及只有在需要時(亦即,隨選之方式) 才被賦能之一第二分割區214。如圖所示,第一分割區 2 1 2之相對大小可遠小於第二分割區2 1 4的大小。因此, 可使經常性地被供電的部分較小,而減少功率消耗。爲達 到此一目的,可以只將每一微運算的最小量之資訊儲存在 第一分割區212。例如,可儲存每一微運算的一單一位元 ,用以指示該微運算的額外的資訊是否被儲存在第二分割 @ 區214。因此,如果~微運算被認爲是可在無須任何類型 的事件處理之情形下正常引退的一微運算,則第一分割區 2 1 2中之該相關聯的位元可處於第一狀態(例如,邏輯零 ),但是如果處於第二狀態(例如,邏輯1 ),則該狀態 指示與該微運算相關聯的額外之資訊被儲存在第二分割區 214 ° 同樣地,寫回(WB )陣列220可被耦合成在與微運 算相關聯的寫回時接收資訊。因此,在一執行單元中執行 @ 一給定微運算時,可將其中包括計算出的値以及狀態旗標 或包括錯誤或其他異常資訊之其他此類資訊之各種結果資 訊提供給寫回陣列2 2 0。如第2圖所示,寫回陣列2 2 0也 被分割爲兩部分,亦即,一第一分割區222及一第二分割 區224。這些分割區可以與前文中參照分配陣列210所述 之相同方式儲存資訊。 仍然請參閱第2圖,可將一早期邏輯230耦合到陣列 2 1 0及220,以便自該等陣列接收賦能信號。如第2圖中 -12- 201015435 進一歩示出的,早期邏輯230可被耦合成自該處理器的其 他部分接收全域事件資訊。雖然本發明之範圍不限於這方 面,但是這些全域事件可對應於中斷、監聽、或其他事件 。早期邏輯230之組態可被設定爲接收該資訊並決定是否 可產生一早期保證信號。亦即,如果並未接收到與一指令 引退期間相關聯的全域事件,且來自陣列2 1 0及220的該 等被賦能的第一分割區之値指示並無與該指令引退期間的 φ 該等微運算相關聯之資訊被儲存在該等第二分割區中,此 即意指沒有要被處理的事件且可執行一正常的指令引退。 因此,早期邏輯230產生該早期保證信號’且該早期保證 信號將以下文中進一步說明之方式被提供給一輸出邏輯 250。在此種方式下,早期邏輯230在實質上被用來作爲 一邏輯“或”閘。 如果早期邏輯230的各種這些輸入之任何輸入反而指 示無法產生該早期保證信號,則可啓動陣列2 1 0及220的 φ 該等第二分割區,以便可將對應於該指令引退期間、來自 這些陣列的資訊傳送到一事件邏輯240,該事件邏輯240 通常意指被用來執行與指令引退相關的操作之邏輯。 因此,在無法產生該早期保證信號時,可將事件邏輯 24 0賦能,以便可執行與指令引退期間相關聯的事件處理 。此外,可根據被儲存在該第二分割區之資訊’而供電給 無事件指令引退邏輯245,以便執行諸如因被錯誤預測的 分支而造成之指令指標更新、或於分配時或指令引退時接 收到的效能監視器指示等的與指令引退相關的操作。雖然 -13- 201015435 在第2圖所示之實施例中爲了易於圖示而並未示出,但是 我們應可了解:在各實施例中,事件邏輯2 40本身可被分 割爲各種部分,以便可以只啓動該邏輯中用來處理一給定 類型的指令引退或事件處理之最小部分。因此,當資訊指 示需要事件邏輯240中的一給定部分來處理事件處理時, 可以只供電給事件邏輯240之該部分。 事件邏輯240可產生將被提供給輸出邏輯2 50之一輸 出。如果計算指示該指令引退期間是有效的,則該輸出可 對應於一保證信號。請注意,可將該保證信號視爲可在早 期邏輯23 0中產生的早期保證信號之後一或多個週期才產 生的一晚期保證信號。如果根據在事件邏輯240中被執行 的計算而決定諸如由於錯誤、中斷、或錯誤預測等的因素 而無法使該指令引退期間有效地引退,則可替代地將將一 無效或殺光信號傳送到輸出邏輯250,且將由將按照程式 順序但可在不同於原始速率的一速率(例如,使用正常指 令引退速率時的每一時脈引退單一的微運算,而非每一時 脈引退四個微運算)下操作的一不同之邏輯處理指令引退 〇 可以是一有限狀態機(Finite State Machine ;簡稱 FSM)之輸出邏輯250可因而自早期邏輯230及事件邏輯 240接收這些不同的信號。輸出邏輯250可被用來將這些 不同的信號串列化,以便按照程式順序自輸出邏輯25 0發 出該等信號。亦即,並不是亂序地執行指令,而是輸出邏 輯250可保證可能在一較早的指令引退期間中比事件邏輯 201015435 240的保證或無效信號早一或多個週期接收到的早期保證 信號不會在該信號之前發出。換言之’輸出邏輯250按照 每一指令引退期間的順序輸出信號’不論這些信號是起源 於早期邏輯2 30或事件邏輯240都是如此。 在各實施例中,輸出邏輯250可被耦合到一處理器的 諸如控制邏輯的各種其他資源’以便能夠在產生了 一保證 信號時將執行結果有效地提交給該處理器的架構狀態’並 φ 在替代地產生了 一無效信號時,使錯誤進行其中包括可能 地清除各種處理器資源之其他適當的異常處理。 因此,如第 2圖所示,各種陣列被分割爲經常性地 被讀取之第一分割區、以及選擇性地被讀取之第二分割區 。同樣地,指令引退單元 200之邏輯可被分爲經常性地 處於現用狀態之邏輯,且該邏輯被用來決定是否發生了與 一指令引退期間相關聯的事件,且如果確係如此,則決定 應使哪一額外的指令引退邏輯被賦能。雖然第2圖之實施 ❹ 例示出該特定的實施方式,但是本發明之範圍不限於此方 面。 此外,若要槪述一下於分配時的操作,則可計算出用 來界定哪一分割區需要被讀取的靜態資訊,並將該靜態資 訊儲存在分配陣列 2 1 0,且尤係儲存在第一分割區 212 中。對寫回資訊執行類似的操作,且可將該寫回資訊儲存 在寫回陣列 220,且尤係儲存在第一分割區 222中。然 後,於指令引退時,讀取該資訊,且由早期邏輯 230作 出要讀取哪一陣列以及要將哪一邏輯賦能之決定。此外, -15- 201015435 早期邏輯230亦可檢查諸如中斷或監聽等的外部事件, 以便決定是否需要將另一陣列或邏輯賦能。在識別了需要 執行一工作且需要自先目未被讀取的該等陣列中之一陣列 之額外的資訊之情形中’則讀取分配的特定部分或寫回陣 列,並將用來執行該工作之額外的邏輯賦能。 現在請參閱第 3圖,圖中示出根據本發明的—實施 例的一方法之一流程圖。如第3圖所示,可將方法3 〇〇 用來以一種具功耗意識之方式引退指令。方法300開始 © 時,可在方塊 310中於指令分配時接收靜態資訊,並將 該資訊儲存在一分配緩衝區的被選擇之部分。例如,如前 文所述,如果該靜態資訊指示錯誤或異常是不可能發生的 ,則可在該分配緩衝區的一較小之第一部分中設定諸如一 單一位元等的一指示碼,用以指示並無與該指令相關聯的 額外的資訊被儲存在該分配緩衝區的一第二部分中。如果 該靜態資訊反而指示於指令引退時由於諸如錯誤、效能監 視、或其他原因而可能需要額外的處理,則可將該指示碼 @ 設定成指示額外的資訊被儲存在該第二分割區中。在方塊 3 20中,可進行與在指令寫回時被接收的動態資訊有關 之類似操作,並將該動態資訊儲存在被類似地配置之一寫 回緩衝區。 仍然請參閱第 3圖,在菱形 330中,可(於指令 引退時)決定與一給定指令引退期間相關聯、在該等緩衝 區的該等第一部分中之資訊是否指示需要額外的指令引退 或事件處理。亦即,可根據該第一部分中之對應的指示碼 -16- 201015435 之狀態而決定是否需要此種指令引退處理(例如,IP更 新或效能監視)或事件處理(例如,各種計算、或錯誤或 中斷處理等)。如果並非如此,則控制進入菱形 340, 此時可決定是否接收到與該指令引退期間相關聯的全域信 號。如前文所述,該全域信號可對應於一中斷、監聽、或 其他全域事件。如果並未接收到該信號,則例如早期邏輯 可在方塊 350中發出一早期保證信號。 φ 仍然請參閱第 3圖,如果反而決定需要額外的指令 引退或事件處理或接收到了 一全域信號,則控制自菱形 330或 340進入方塊 360,此時可啓動分配及寫回緩 衝區之額外的部分。控制然後進入方塊 370,此時可在 事件邏輯的一或多個被啓動的部分中執行該處理。如前文 所述,可根據所提供的額外之資訊而將各種指令引退或事 件邏輯賦能,以便執行各種計算或其他的處理,而決定是 否可產生一晚期保證信號。因此,在方塊 380中,該事 φ 件邏輯之輸出可以是一晚期保證信號或一無效(例如,殺 光)信號。 又如第 3圖所示,控制自方塊 350及 380進入 方塊 390,此時可將該等不同的信號串列化,以供自該 指令引退單元輸出。亦即,爲了保持各指令引退期間的連 續性,較晚的指令引退期間中產生的早期保證信號禁止被 放置在與較早的指令引退期間相關聯的晚期保證信號或無 效信號之前。雖然第 2圖之實施例示出該特定的實施方 式,但是本發明之範圍不限於此方面。 -17- 201015435 例如’如果決定需要對指令引退執行特殊處理,則可 以不同於正常之方式處理被引退的微運算。假設在未發生 任何事件的情形中通常將引退8個微運算。當在指令引 退期間中偵測到一事件時,可替代地使每一微運算分別地 引退’因而單一的微運算只需要單一組的事件邏輯。如果 指令引退是較快速的,則上述方式可進一步提供功耗降低 及一致的效能。然而,在決定啓動某些邏輯之後的指令引 退操作可在不同於原始速率之一速率下進行。 不再需要的事件之一例子可以是被設定的一黏著位元 (sticky bit)。因此,不需要再度設定該黏著位元,因而 不需要將執行該重複設定的事件邏輯賦能。另一個此種例 子是:將用來識別無錯誤操作的早期信號加入的時間早到 將不執行與該早期信號相關聯的操作。例如,可宣告一浮 點運算(FP )是安全的時間早到任何異常處理邏輯仍未被 賦能。在諸如效能監視器處理及共處理器狀態儲存之情形 中,ROB將讀取其存放的資料陣列,執行與該操作相關 聯的工作,但是在並未偵測到任何錯誤的情形中,該 ROB將不檢查錯誤,且不啓動與錯誤相關聯的邏輯。 可在許多不同的系統類型中實施各實施例。現在請參 閱第 4圖,圖中示出根據本發明的一實施例的一系統之 一方塊圖。如第 4圖所示,多處理器系統 500是一點 對點互連系統,且包含經由一點對點互連 550而被耦合 之一第一處理器 5 70及一第二處理器 580。如第 4圖 所示,處理器 570及 5 80中之每一處理器可以是多核 201015435 心處理器,其中包含第一及第二處理器核心(亦即, 器核心 574a及 5 74b、以及處理器核心 5 84a及 )。每一處理器核心可包含諸如第 1及 2圖所示 來根據根據本發明的一實施例而能夠進行具功耗意識 令引退之邏輯。 仍然請參閱第 4圖,第一處理器 5 70進一步 —記憶體控制中心(Memory Controller Hub ;簡稱 φ ) 572、以及點對點(ρ_ρ)介面576及578。同樣 第二處理器 580包含一MCH 582、以及 Ρ-Ρ 586及 588。如第 4 圖所示,MCH 572及 582 等處理器耦合到各別的記憶體,亦即,耦合到一記 5 3 2及一記憶體 53 4,該等記億體可以是在本地被 到個別的處理器的主記憶體(例如,一動態隨機存取 體(DRAM )之一部分。第一處理器570及第二處 5 8 0可分別經由點對點互連5 5 2及5 5 4而被耦合 φ 晶片組59〇。如第4圖所示,晶片組5 90包含點 (P-P )介面 594 及 598。 此外,晶片組 5 90包含一介面 5 9 2,用以將晶 590耦合到一高效能圖形引擎 53 8。晶片組590 經由一介面 5 9 6而被耦合到一第一匯流排 5丨6。 4圖所示,各種輸入/輸出裝置514以及一匯流排 器5 1 8可被耦合到第一匯流排 5 1 6,該匯流排橋 5 1 8將第一匯流排5丨6耦合到一第二匯流排520 中包括諸如一鍵盤/滑鼠522、通訊裝置526以及 處理 5 84b 的用 之指 包含 MCH 地, 介面 將該 憶體 附接 記憶 理器 到~ 對點 片組 又可 如第 橋接 接器 。其 諸如 -19- 201015435 一磁碟機或其他大量儲存裝置等的一資料儲存單元 528 等的各種裝置可被耦合到第二匯流排520,而在一實施 例中,該資料儲存單元 528可包含碼 530。此外,一音 訊輸入/輸出裝置524可被耦合到第二匯流排520。 可以程式碼實施各實施例,且該程式碼可被儲存在一 儲存媒體’該儲存媒體中儲存有指令,該等指令可被用來 將一系統程式化成執行該等指令。該儲存媒體可包括(但 不限於)其中包含光碟、唯讀光碟(CD-ROM )、可覆寫 式光碟(CD-RW )、及磁光碟之任何類型的碟形儲存媒體 、諸如唯讀記憶體(ROM )、諸如動態隨機存取記憶體( DRAM )及靜態機存取記憶體(SRAM )等的隨機存取記 憶體(RAM )、可抹除可程式唯讀記億體(EPROM )、 快閃記憶體、及電氣可抹除可程式唯讀記憶體(EEPROΜ )等的半導體裝置、磁性或光學卡、或適於儲存電子指令 之任何其他類型的媒體。 雖然已參照有限數目的實施例而說明了本發明,但是 熟悉此項技術者應可了解:可作出本發明的許多修改及變 化。最後的申請專利範圍將涵蓋在本發明的真實精神及範 圍內之所有此類修改及變化。 【圖式簡單說明】 第 1圖是根據本發明的一實施例的一處理器之一方 塊圖。 第2圖是根據本發明的一實施例的指令引退邏輯之 -20- 201015435 一方塊圖。 第 3圖是根據本發明的一實施例的一方法之一流程 圖。 第 4圖是根據本發明的一實施例的一系統之一方塊 圖。 【主要元件符號說明】 el 〇〇 :處理器 1 1 0 :前端單元 1 15 :亂序引擎 120 :執行單元 130 :暫存器檔 1 3 5 :延伸暫存器檔 140 :重新排序緩衝區 142 :被賦能的陣列 φ 144 :隨選陣列 146 :被賦能的邏輯 148 :隨選邏輯 1 5 0 :快取記憶體 2〇〇 :指令引退單元 2 1 〇 :分配陣列 2 1 2,222 :第一分割區 2 1 4,224 :第二分割區 2 2 0 :寫回陣列 -21 - 201015435 25 0 :輸出邏輯 2 4 0 :事件邏輯 245 :無事件指令引退邏輯 500 :多處理器系統 5 5 0,5 5 2,5 5 4 :點對點互連 5 7 0 :第一處理器 5 80 :第二處理器 574a,574b,584a,584b :處理器核心 5 7 2,5 8 2 :記憶體控制中心 576,578,586, 5 8 8,5 94,5 9 8 :點對點介面 5 3 2,5 3 4 :記憶體 5 90 :晶片組 592,596·•介面 5 3 8 :高效能圖形引擎 5 1 6 :第一匯流排 514:輸入/輸出裝置 5 1 8 :匯流排橋接器 5 2 0 :第二匯流排 5 2 2 :鍵盤/滑鼠 5 2 6 :通訊裝置 5 2 8 :資料儲存單元 5 3 0 :碼 524:音訊輸入/輸出裝置 -22-
Claims (1)
- 201015435 七、申請專利範圍: 1 · ~種裝置,包含·· 一指令引退單元’用以引退執行後的指令,該指令引 退單元包含: 第一陣列,用來在該等指令分配時接收第一資訊 ’該第一陣列被分割爲將在每一指令引退期間被讀取的第 一部分、以及將依需求被讀取的第二部分; φ 第二陣列,用來在該等指令執行後接收第二資訊 ’該第二陣列被分割爲將在每—指令引退期間被讀取的第 一部分、以及將依需求被讀取的一第二部分;以及 隨選邏輯,用來在與被執行的指令相關聯之資訊 被儲存在該第一陣列或該第二陣列之該第二部分時’計算 與該被執行的指令相關聯之事件。 2. 如申請專利範圍第1項之裝置,其中如果一計 算指示出一被執行的指令沒有錯誤’則該隨選邏輯將產生 φ 該被執行的指令之一保證信號,且如果該錯誤被指示出’ 則該隨選邏輯將產生一無效信號。 3. 如申請專利範圍第2項之裝置’進一步包含早 期邏輯,其被耦合到該第一及第二陣列的輸出且根據該第 ~及第二陣列的該第一部分中之資訊而輸出一第一被執行 的指令之一早期保證信號。 4. 如申請專利範圍第3項之裝置’其中該早期邏 輯被進一步稱合成接收全域事件資訊並啓動回應該全域事 件資訊的該隨選邏輯。 -23- 201015435 5. 如申請專利範圍第3項之裝置’進一步包含被 耦合到該隨選邏輯及該早期邏輯之輸出邏輯,用以串列化 該早期保證信號、以及保證信號或該無效信號。 6. 如申請專利範圍第4項之裝置’其中該早期邏 輯將根據存在於該第一陣列的該第一部分的對應於該指令 引退期間的一指示碼之狀態而啓動該第一陣列之該第二部 分。 7. 如申請專利範圍第1項之裝置,其中該第一陣 列包含一分配陣列’且該第二陣列包含一寫回陣列。 8. 如申請專利範圍第 7項之裝置,其中除非該隨 選邏輯處於現用狀態’否則將不供電給該第一及第二陣列 之該第二部分。 9. 一種方法,包含下列步驟: 於指令分配時接收與一指令相關聯之靜態資訊,並將 該靜態資訊的至少一第一部分儲存在一分配緩衝區的一第 一部分,以及如果該靜態資訊指示出將在指令引退時被執 行的一事件,則將該靜態資訊的一第二部分儲存在該分配 緩衝區的一第二部分; 如果與該指令相關聯的靜態資訊並未存在於該分配緩 衝區的該第二部分,則於該指令引退時發出一早期保證信 號;以及 否則,供電給該分配緩衝區的該第二部分,以便存取 該靜態資訊的該第二部分。 10. 如申請專利範圍第 9項之方法,進一步包含下 -24- 201015435 列步驟:如果該早期保證信號並未被發出,則在被供電的 事件邏輯中執行事件處理。 11. 如申請專利範圍第 10項之方法,進一步包含 下列步驟:根據該事件處理的結果而在該事件邏輯中產生 一晚期保證信號或一無效信號。 12. 如申請專利範圍第 11項之方法,進一步包含 下列步驟··將與一第一指令相關聯的一早期保證信號以及 Φ 與一第二指令相關聯的一晚期保證信號或一無效信號串列 化’作爲一指令引退單元之輸出,該第二指令在程式順序 上早於該第一指令。 13. 如申請專利範圍第 9項之方法,進一步包含下 列步驟:於指令寫回時接收與該指令相關聯的動態資訊, 並將該動態資訊的至少一第一部分儲存在一寫回緩衝區的 一第一部分;以及如果該動態資訊指示出將在指令引退時 被執行的一事件’則將該動態資訊的一第二部分儲存在該 φ 寫回緩衝區的一第二部分。 14. 如申請專利範圍第 13項之方法,進一步包含 下列步驟:至少部分地根據該靜態資訊的該第一部分及該 動Is資訊的該第一部分而決定是否將在指令引退時執行事 件處理’以及於指令引退時執行該事件處理,其中要執行 該事件處理時進行指令引退之速率係不同於不要執行該事 件處理時進行指令引退之速率。 1 5 .—種系統,包含: 處理器,用來以亂序(OOO)方式執行指令,該處理 -25- 201015435 器包含複數個執行單兀及被耦合到該複數個執行單元之一 指令引退單元,其中該指令引退單元包含: 分配緩衝區’用來在該等指令分配時接收第一資 訊,該分配緩衝區被分割爲將在每一指令引退期間被讀取 的一第—部分、以及將依需求被讀取的一第二部分; 寫回緩衝區’用來在該等指令執行後接收第二資 訊,該寫回緩衝區被分割爲將在每一指令引退期間被讀取 的一第一部分、以及將依需求被讀取的一第二部分; 第一邏輯’被耦合到該分配緩衝區及該寫回緩衝 區的輸出’且在與一第一被執行的指令相關聯之第二資訊 並未存在於該分配緩衝區或該寫回緩衝區的該第二部分時 輸出該第一被執行的指令之一早期保證信號;以及 第二邏輯,被耦合到該分配緩衝區及該寫回緩衝 區的輸出’且在與一第二被執行的指令相關聯之第二資訊 於該分配緩衝區或該寫回緩衝區的該第二部分時輸出 該第二被執行的指令之一晚期保證信號或一無效信號;以 及 動態隨機存取記憶體(DRAM ),被耦合到該處理器 〇 1 6 ·如申請專利範圍第 1 5項之系統,其中該第一 邏輯將接收一全域事件信號,且於一第三被執行的指令之 引退期間啓動回應該全域事件信號的該第二邏輯。 17·如申請專利範圍第 15項之系統,進一步包含 一第三邏輯,其被耦合到該第一邏輯及該第二邏輯,且結 -26- 201015435 合該第一邏輯及該第二邏輯之輸出。 18.如申請專利範圍第 17項之系統,其中該第三 邏輯將該晚期保證信號或該無效信號串列化成在該早期保 證信號之前,作爲該指令引退單元之輸出,其中該第二被 執行的指令在程式順序上早於該第一被執行的指令。 1 9.如申請專利範圍第 1 5項之系統,其中該分配 緩衝區之該第一部分及該寫回緩衝區於每一指令引退期間 φ 將被供電,且只有在與一指令引退期間相關聯的資訊被儲 存在該分配緩衝區的該第二部分時,該分配緩衝區的該第 二部分才於該指令引退期間被供電。 20.如申請專利範圍第 15項之系統,其中該第一 邏輯將輸出該早期保證信號,且該第二邏輯於一指令引退 期間不被供電,其中一黏著位元在該指令引退期間之前被 設定,且不需要被該指令引退單元設定。 ❿ -27-
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/215,526 US7921280B2 (en) | 2008-06-27 | 2008-06-27 | Selectively powered retirement unit using a partitioned allocation array and a partitioned writeback array |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201015435A true TW201015435A (en) | 2010-04-16 |
TWI407369B TWI407369B (zh) | 2013-09-01 |
Family
ID=41360915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098120442A TWI407369B (zh) | 2008-06-27 | 2009-06-18 | 具功率感知之指令引退裝置、方法及系統 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7921280B2 (zh) |
JP (1) | JP5474926B2 (zh) |
CN (1) | CN101615115B (zh) |
DE (1) | DE102009029852A1 (zh) |
GB (1) | GB2473345B (zh) |
RU (1) | RU2427883C2 (zh) |
TW (1) | TWI407369B (zh) |
WO (1) | WO2009158247A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI476583B (zh) * | 2011-09-23 | 2015-03-11 | Nat Univ Tsing Hua | 功率感知電腦模擬系統及其方法 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371885A (en) * | 1989-08-29 | 1994-12-06 | Microsoft Corporation | High performance file system |
WO1993022722A1 (en) * | 1992-05-01 | 1993-11-11 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
US6047369A (en) * | 1994-02-28 | 2000-04-04 | Intel Corporation | Flag renaming and flag masks within register alias table |
US5644742A (en) * | 1995-02-14 | 1997-07-01 | Hal Computer Systems, Inc. | Processor structure and method for a time-out checkpoint |
US5889982A (en) * | 1995-07-01 | 1999-03-30 | Intel Corporation | Method and apparatus for generating event handler vectors based on both operating mode and event type |
US6108769A (en) * | 1996-05-17 | 2000-08-22 | Advanced Micro Devices, Inc. | Dependency table for reducing dependency checking hardware |
US5903740A (en) * | 1996-07-24 | 1999-05-11 | Advanced Micro Devices, Inc. | Apparatus and method for retiring instructions in excess of the number of accessible write ports |
US5938760A (en) * | 1996-12-17 | 1999-08-17 | International Business Machines Corporation | System and method for performance monitoring of instructions in a re-order buffer |
US5938761A (en) * | 1997-11-24 | 1999-08-17 | Sun Microsystems | Method and apparatus for branch target prediction |
GB9825102D0 (en) * | 1998-11-16 | 1999-01-13 | Insignia Solutions Plc | Computer system |
US6757892B1 (en) * | 1999-06-24 | 2004-06-29 | Sarnoff Corporation | Method for determining an optimal partitioning of data among several memories |
US6615343B1 (en) * | 2000-06-22 | 2003-09-02 | Sun Microsystems, Inc. | Mechanism for delivering precise exceptions in an out-of-order processor with speculative execution |
US6990568B2 (en) * | 2001-03-30 | 2006-01-24 | Hewlett-Packard Development Company, L.P. | Retiring early-completion instructions to improve computer operation throughput |
US6944752B2 (en) * | 2001-03-30 | 2005-09-13 | Hewlett-Packard Development Company, L.P. | Retiring early-completion instructions to improve computer operation throughput |
US6880067B2 (en) * | 2001-03-30 | 2005-04-12 | Hewlett-Packard Development Company L.P. | Retiring instructions that meet the early-retirement criteria to improve computer operation throughput |
US6738861B2 (en) * | 2001-09-20 | 2004-05-18 | Intel Corporation | System and method for managing data in memory for reducing power consumption |
US7502817B2 (en) * | 2001-10-26 | 2009-03-10 | Qualcomm Incorporated | Method and apparatus for partitioning memory in a telecommunication device |
US6910121B2 (en) * | 2002-01-02 | 2005-06-21 | Intel Corporation | System and method of reducing the number of copies from alias registers to real registers in the commitment of instructions |
US7219249B1 (en) * | 2002-12-03 | 2007-05-15 | The Research Foundation Of State University Of New York | System and method for reducing power requirements of microprocessors through dynamic allocation of datapath resources |
US6922769B2 (en) * | 2002-12-23 | 2005-07-26 | Intel Corporation | Apparatus and method for reduction of power consumption in OS that use flat segmentation memory model |
US20040128484A1 (en) * | 2002-12-30 | 2004-07-01 | Zeev Sperber | Method and apparatus for transparent delayed write-back |
US7266673B2 (en) * | 2003-05-02 | 2007-09-04 | Advanced Micro Devices, Inc. | Speculation pointers to identify data-speculative operations in microprocessor |
US20050050303A1 (en) * | 2003-06-30 | 2005-03-03 | Roni Rosner | Hierarchical reorder buffers for controlling speculative execution in a multi-cluster system |
US7096345B1 (en) * | 2003-09-26 | 2006-08-22 | Marvell International Ltd. | Data processing system with bypass reorder buffer having non-bypassable locations and combined load/store arithmetic logic unit and processing method thereof |
US7167989B2 (en) * | 2003-10-14 | 2007-01-23 | Intel Corporation | Processor and methods to reduce power consumption of processor components |
US7246219B2 (en) * | 2003-12-23 | 2007-07-17 | Intel Corporation | Methods and apparatus to control functional blocks within a processor |
US7386756B2 (en) * | 2004-06-17 | 2008-06-10 | Intel Corporation | Reducing false error detection in a microprocessor by tracking instructions neutral to errors |
US7437581B2 (en) * | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
US7747841B2 (en) * | 2005-09-26 | 2010-06-29 | Cornell Research Foundation, Inc. | Method and apparatus for early load retirement in a processor system |
US7475225B2 (en) * | 2005-12-30 | 2009-01-06 | Intel Corporation | Method and apparatus for microarchitecture partitioning of execution clusters |
US20080072015A1 (en) * | 2006-09-18 | 2008-03-20 | Julier Michael A | Demand-based processing resource allocation |
US7472260B2 (en) * | 2006-10-10 | 2008-12-30 | P.A. Semi, Inc. | Early retirement of store operation past exception reporting pipeline stage in strongly ordered processor with load/store queue entry retained until completion |
US7721076B2 (en) * | 2006-12-18 | 2010-05-18 | Intel Corporation | Tracking an oldest processor event using information stored in a register and queue entry |
US8074060B2 (en) * | 2008-11-25 | 2011-12-06 | Via Technologies, Inc. | Out-of-order execution microprocessor that selectively initiates instruction retirement early |
-
2008
- 2008-06-27 US US12/215,526 patent/US7921280B2/en not_active Expired - Fee Related
-
2009
- 2009-06-17 WO PCT/US2009/047613 patent/WO2009158247A2/en active Application Filing
- 2009-06-17 JP JP2011501025A patent/JP5474926B2/ja active Active
- 2009-06-17 GB GB1015011.8A patent/GB2473345B/en not_active Expired - Fee Related
- 2009-06-18 TW TW098120442A patent/TWI407369B/zh active
- 2009-06-22 DE DE102009029852A patent/DE102009029852A1/de not_active Withdrawn
- 2009-06-26 RU RU2009124521/08A patent/RU2427883C2/ru not_active IP Right Cessation
- 2009-06-26 CN CN2009101584184A patent/CN101615115B/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI476583B (zh) * | 2011-09-23 | 2015-03-11 | Nat Univ Tsing Hua | 功率感知電腦模擬系統及其方法 |
Also Published As
Publication number | Publication date |
---|---|
RU2427883C2 (ru) | 2011-08-27 |
GB2473345A (en) | 2011-03-09 |
DE102009029852A1 (de) | 2009-12-31 |
CN101615115A (zh) | 2009-12-30 |
US7921280B2 (en) | 2011-04-05 |
WO2009158247A2 (en) | 2009-12-30 |
JP2011514607A (ja) | 2011-05-06 |
RU2009124521A (ru) | 2011-01-10 |
US20090327663A1 (en) | 2009-12-31 |
CN101615115B (zh) | 2013-12-25 |
GB201015011D0 (en) | 2010-10-20 |
WO2009158247A3 (en) | 2010-03-04 |
JP5474926B2 (ja) | 2014-04-16 |
TWI407369B (zh) | 2013-09-01 |
GB2473345B (en) | 2012-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6304955B1 (en) | Method and apparatus for performing latency based hazard detection | |
JP4187720B2 (ja) | マルチスレッド・プロセッサにおけるレジスタ・ファイルのポートを削減するための方法および装置 | |
TWI512448B (zh) | 用以啟用處理器等待狀態之指令 | |
US6842848B2 (en) | Method and apparatus for token triggered multithreading | |
US6430674B1 (en) | Processor executing plural instruction sets (ISA's) with ability to have plural ISA's in different pipeline stages at same time | |
US7865769B2 (en) | In situ register state error recovery and restart mechanism | |
TWI514275B (zh) | 用於以自發載入延遲與轉換至預提取來消除管線阻塞之系統及方法 | |
US10599428B2 (en) | Relaxed execution of overlapping mixed-scalar-vector instructions | |
JPH07152559A (ja) | パイプ制御及びレジスタ変換機能を増強したスーパースカラーパイプライン式のプロセッサ | |
KR20190033084A (ko) | 로드 스토어 유닛들을 바이패싱하여 스토어 및 로드 추적 | |
US7404065B2 (en) | Flow optimization and prediction for VSSE memory operations | |
US20220035635A1 (en) | Processor with multiple execution pipelines | |
KR101077425B1 (ko) | 효율적 인터럽트 리턴 어드레스 저장 메커니즘 | |
JP3212213B2 (ja) | データ処理装置 | |
TWI540504B (zh) | 調節原子級記憶體操作以防止阻絕服務攻擊之處理器、方法和系統 | |
US11269649B2 (en) | Resuming beats of processing of a suspended vector instruction based on beat status information indicating completed beats | |
TWI407369B (zh) | 具功率感知之指令引退裝置、方法及系統 | |
Zhou et al. | A study of value speculative execution and misspeculation recovery in superscalar microprocessors | |
US20240201777A1 (en) | Dynamic configuration of processor sub-components | |
EP4202664A1 (en) | System, apparatus and method for throttling fusion of micro-operations in a processor | |
US7231510B1 (en) | Pipelined multiply-accumulate unit and out-of-order completion logic for a superscalar digital signal processor and method of operation thereof | |
JP4151497B2 (ja) | パイプライン処理装置 | |
JP2005525637A (ja) | プロセッサの効率的な制御をするための方法及び装置 | |
WO2007004323A1 (ja) | 情報処理装置 | |
JP2004362368A (ja) | プロセッサおよび例外処理方法 |