TW201712531A - 偶發載入的抑制 - Google Patents

偶發載入的抑制 Download PDF

Info

Publication number
TW201712531A
TW201712531A TW105122368A TW105122368A TW201712531A TW 201712531 A TW201712531 A TW 201712531A TW 105122368 A TW105122368 A TW 105122368A TW 105122368 A TW105122368 A TW 105122368A TW 201712531 A TW201712531 A TW 201712531A
Authority
TW
Taiwan
Prior art keywords
loading
sporadic
vector
load
faultless
Prior art date
Application number
TW105122368A
Other languages
English (en)
Other versions
TWI710955B (zh
Inventor
奈吉爾約翰 史蒂芬斯
麥克約翰 威廉斯
理查羅伊 格利森斯維特
Original Assignee
Arm股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arm股份有限公司 filed Critical Arm股份有限公司
Publication of TW201712531A publication Critical patent/TW201712531A/zh
Application granted granted Critical
Publication of TWI710955B publication Critical patent/TWI710955B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • G06F9/30038Instructions to perform operations on packed data, e.g. vector, tile or matrix operations using a mask
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3865Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

一種資料處理系統支援執行資料值之至少一次偶發載入的向量載入指令之非推測性執行。故障偵測電路系統用來偵測偶發載入是產生故障的偶發載入還是無故障偶發載入。偶發載入抑制電路系統偵測及抑制與預定標準匹配的無故障偶發載入,該與預定標準匹配的無故障偶發載入可造成架構狀態之非期望變化(非期望的副作用)。此類預定標準的實例為該偶發載入係至非記憶體設備或者該偶發載入將觸發診斷響應,諸如進入停止除錯停機模式或者觸發除錯異常。

Description

偶發載入的抑制
本揭示案係關於資料處理系統領域。更特定言之,本揭示案係關於支援執行一種或多種偶發載入操作的向量載入指令的資料處理系統。
已知提供支援向量載入指令的資料處理系統,該等向量載入指令從記憶體向向量暫存器內的相應元件內載入複數個向量元件。
本揭示案的至少一些實施例提供一種用於處理資料的裝置,其包括: 向量載入電路系統,該向量載入電路系統響應於向量載入指令的非推測性執行來執行對從記憶體中的記憶體位址位置讀取的資料值至向量暫存器中的元件的至少一次偶發載入; 故障偵測電路系統,該故障偵測電路系統用於偵測該偶發載入是產生故障的偶發載入還是無故障的偶發載入;以及 偶發載入抑制電路系統,該偶發載入抑制電路系統用於偵測及抑制與預定標準匹配的無故障偶發載入。
本揭示案的至少一些實施例提供一種用於處理資料的裝置,其包括: 向量載入構件,該向量載入構件響應於向量載入指令的非推測性執行來執行對從記憶體中的記憶體位址位置讀取的資料值至向量暫存器中的元件的至少一次偶發載入; 故障偵測構件,該故障偵測構件用於偵測該偶發載入是產生故障的偶發載入還是無故障偶發載入;以及 偶發載入抑制構件,該偶發載入抑制構件耦接至該向量載入構件及該故障偵測構件,用於偵測及抑制與預定標準匹配的無故障偶發載入。
本揭示案的至少一些實施例提供一種處理資料的方法,其包括: 響應於向量載入指令的非推測性執行,執行對從記憶體中的記憶體位址位置讀取的資料值至向量暫存器中的元件的至少一次偶發載入; 偵測該偶發載入是產生故障的偶發載入還是無故障偶發載入;以及 偵測及抑制與預定標準匹配的無故障偶發載入。
本揭示案之以上及其他目標、特徵及優點將從結合隨附圖式閱讀之說明性實施例的以下詳細描述而更顯而易見。
第1圖示意性地圖示資料處理系統2,該資料處理系統2包括耦接至主記憶體6的處理器4,該主記憶體6儲存待操縱的資料值8及用於控制處理器4之操作的程式指令10。設備記憶體輸入/輸出單元12亦耦接至處理器4,其用於提供與非記憶體設備14的通訊,該等非記憶體設備14映射至該系統的記憶體位址空間內的記憶體位址。非記憶體設備14可例如為諸如鍵盤、顯示器、感測器、致動器等等的設備。
由指令提取電路系統16從主記憶體6提取程式指令並且將其供應至指令解碼器電路系統18。指令解碼器電路系統18產生控制信號20,控制信號20用於控制處理器4的其他元件來執行由經解碼指令指定的處理操作。處理器4依據儲存在向量暫存器22中並且由向量處理電路系統24執行的向量運算元來支援向量處理操作。向量運算元包括複數個給定尺寸之向量元件。由處理器4支援的指令內包括向量載入指令,可非推測地執行該等向量載入指令以進行從記憶體位址饋入的資料值之至少一次偶發載入。此類向量載入指令被非推測地執行,在此意義上向量載入指令的執行對程式設計模型而言為明顯的並且表示處理器的架構狀態變化如所表達並且程式設計師所可觀測到的一般。以此方式非推測執行的向量載入指令可進行資料值之至少一次偶發載入,即資料值之載入可或者可不取決於控制每一元件載入之偶發行為的條件來進行。
形成向量載入指令的組成部分的此類偶發載入是否被執行的基本判定(primary determinate)係在故障偵測電路系統26的作用下提供,該故障偵測電路系統26用於偵測偶發載入為產生故障的偶發載入還是無故障偶發載入。記憶體故障可因為大量原因而出現。此類原因的實例為:許可故障,諸如由記憶體管理單元(memory management unit; MMU)內的許可資料所控制的;及/或位址變換故障,如由位址變換旁看後備緩衝器(address translation lookaside aside buffer)所提供的。關於非偶發載入的記憶體存取故障觸發記憶體異常,諸如記憶體異常處理常式之執行。在偶發載入的情況下,觸發此類記憶體故障的效能損失可為不當的(unjustified),因為由彼偶發載入載入的資料值可能事實上為不需要的,例如包括至少一次偶發載入的向量載入指令可為提取實際上將不被消耗的資料。產生故障的偶發載入可由故障偵測電路系統26抑制並且不被執行,以使得不需要記憶體故障響應。
處理器4另外包括偶發載入抑制電路系統28,該偶發載入抑制電路系統28用於偵測及抑制與一種或多種預定標準匹配的無故障偶發載入。此類無故障偶發載入為通過由故障偵測電路系統26執行的故障偵測,但是可能仍然需要被抑制的偶發載入。抑制無故障偶發載入的一個原因為其可以不合適的方式觸發資料處理系統2之架構(程式設計師可見的)狀態的非期望變化,因為由無故障偶發載入所載入的資料值可能實際上無需被載入原始程式流程中。因此,故障偵測電路系統26識別無故障偶發載入,而偶發載入抑制電路系統28用於抑制與預定標準匹配的任何此類無故障偶發載入。相應地控制向量載入電路系統30,以非推測地執行向量載入指令,從而執行來自主記憶體6的資料值8之至少一次偶發載入,該至少一次偶發載入經受故障偵測電路系統26或偶發載入抑制電路系統28對此類偶發載入的任何抑制。述詞第一故障性暫存器32用於儲存述詞值,該述詞值指示向量載入指令之哪些載入已經還是尚未如由故障偵測電路系統26及偶發載入抑制電路系統28所控制地執行。
為了控制無故障偶發載入是否被抑制而由偶發載入抑制電路系統28偵測的預定標準可採用各種不同形式。此類預定標準的一個示例性形式為無故障偶發載入係至用於經由設備記憶體輸入/輸出單元12與一種或多種非記憶體設備14通訊的記憶體位址空間內所分配的位址。來自非記憶體設備14的載入可觸發資料處理系統2之狀態的非期望變化,該等非期望變化對於可能不需要作為真實程式流程之組成部分的偶發載入而言為不合適的。作為實例,程式執行迴路可繼之以向量載入指令,該向量載入指令用於預先提取(fetch ahead)預期將在該迴路執行中使用的資料值。然而,此類迴路可能在需要彼等資料值之前終止,並且相應地彼等資料值之偶發載入可能已經觸發資料處理系統2之架構狀態的變化,該變化對於實際上已經遵循的程式流程而言為不合適的。
可由偶發載入抑制電路系統28偵測的預定標準之另一實例為:無故障偶發載入係至由診斷電路系統32作為監視點所監視的記憶體位址,以使得該無故障偶發載入若被執行則將觸發診斷性操作。此類診斷性操作可例如包括觸發執行之除錯停止或者診斷異常之採用,以使診斷異常處理開始。若無故障偶發載入並非將遵循的真實程式流程的組成部分,則該等診斷響應皆為不合適的並且相應地此類載入可被識別並且由偶發載入抑制電路系統28抑制。
診斷電路系統32包括暫存器,該暫存器儲存被監視的監視點位址。使用者可程式設計的診斷置換旗標(為總體的或者基於每監視點的)可控制診斷電路系統及偶發載入抑制電路系統28來抑制該偶發載入抑制電路系統28對觸發診斷性操作之無故障偶發載入的抑制。在一些情況下可能為,需要使用診斷電路系統32來探查的系統之行為與無故障偶發載入之執行相關聯並且相應地該等應當被允許引起診斷性操作,即使它們在其本性上為偶發的並且可能不是如由程式設計師原先所描述的程式流程的組成部分。用於執行來自主記憶體6的資料值之至少一次偶發載入的向量載入指令的非推測性執行用於將偶發載入之結果儲存到向量暫存器22內的向量元件內並且相應地引起資料處理系統2之狀態的架構及程式設計上可見的變化,亦即作為偶發載入之目的地的向量暫存器之內容用偶發載入的資料值來更新,該偶發載入的資料值可能實際上不會作為程式流程之組成部分被需要/消耗。
第2圖示意地圖示四個向量元件a0 、a1 、a2 、a3 的向量載入指令。第一向量元件a0 可經受非偶發載入,其中若向量載入指令被非推測地執行,則程式流程至少需要載入第一向量元件a0 。後續三個向量元件經受該類型的偶發向量載入,該等偶發向量載入可由故障偵測電路系統26及偶發載入抑制電路系統28抑制。應理解的是,向量元件a0 之非偶發載入可引起故障,諸如許可交迭(permission fold),該許可交迭將觸發故障響應並且此類故障響應當為所遵循的程式流程的真實組成部分時應被允許發生。
如第2圖所示,構成向量載入之組成部分的偶發載入具有相關聯的編號。然而,該等編號並非必然適用於藉由特定實施方式在實體層級執行的載入之實際次序,更確切而言其指示由程式設計師規定的原始次序。
第2圖示意地圖示其中第一載入為非偶發載入的向量載入指令。亦可能用其中向量載入指令之載入中的所有載入皆為偶發載入的向量載入指令來利用本發明技術。
第3圖示意地圖示在兩種情況下響應於向量載入指令之非推測性執行的述詞第一故障性暫存器32之內容。在情況a)中,所有向量元件載入皆為無故障的並且不被抑制,並且相應地皆被執行。此由述詞第一故障性暫存器32內的四個T值(T及F可分別以0及1之預定位元值表示,或者以其他方式表示)指示。在圖示為第3圖中的b)的情況下,如第2圖中所圖示的向量元件a2 之載入觸發故障並且因此不被執行,並且此藉由將述詞第一故障性暫存器中的對應元件設定為F來指示。此隨後抑制由向量載入指令執行任何更高編號的向量元件載入,關於此亦藉由將述詞第一故障性暫存器中的對應元件設定為F而被標記為產生故障的,此係由於向量載入指令中存在更低編號的產生故障的載入。
第4圖為流程圖,示意性地圖示對向量載入中具有故障或者不期望的副作用的偶發載入之抑制。處理在步驟34處等待直至向量載入指令被接收。若該向量載入指令含有第一非偶發載入,則此向量載入指令由單獨的機制處理來判定其是否應被執行(例如,其是否為無故障的)。步驟36隨後選擇第一偶發載入位址進行測試。在第2圖中所圖示的向量載入指令的情況下,此應為至向量元件a1 之載入的位址。步驟38隨後判定該所選位址是否為產生故障的位址,例如故障許可測試或者故障轉變。若該位址為產生故障的,則處理行進至步驟40,在步驟40中位址/載入在述詞偽故障暫存器32(在載入之前由單獨的指令初始化為所有真實值)中被標記為故障的,並且所有後續更高編號的載入亦被標記為故障的。隨後處理結束。應理解的是,第4圖的操作說明了可如何偵測偶發載入並將其標記為故障的。實際上,此類偵測及標記可在執行彼等載入的同時被執行。
若步驟38處的判定為所選載入位址不產生故障,則處理行進至步驟42,在步驟42中進行關於載入位址是否映射至非記憶體設備的判定(關於該記憶體位址是否對應於記憶體映射的非記憶體設備的檢查)。若載入位址為至此類非記憶體設備,則處理再次行進至步驟40。若步驟42處的判定為所選載入位址並非至非記憶體設備,則處理行進至步驟44,在步驟44中進行關於若進行載入,則所選載入位址是否將觸發監視點的判定。若所選載入位址將觸發監視點,則步驟46判定是否為此類監視點設定置換旗標。可程式設計的診斷性置換旗標可採用適用於所設定的所有監視點的單一總體旗標在總體基礎上設定;或者可採用適用於相應的個別監視點的個別旗標而在個別基礎上設定。若需要,亦可使用具有在置換旗標與相應監視點之間的各種映射的其他排列。若步驟46處的判定為不設定針對將被觸發的監視點的置換旗標,則處理再次行進至步驟40。
若步驟44處的判定為載入位址不會觸發監視點或者步驟46處的判定為設定針對潛在被觸發的監視點的置換旗標,則處理行進至步驟48,在步驟48中執行從所選載入位址至向量暫存器中之所選元件的向量元件載入。步驟50隨後判定向量載入中的最後一個載入位址是否為當前所選的載入位址。若最後一個載入位址不是當前所選的位址,則步驟52用來選擇下一載入位址進行測試,並且處理返回至步驟38。若當前所選的位址為最後一個載入位址,則處理終止。
上述示例性實施例為其中預定標準為偶發載入為至非記憶體設備或者偶發載入將觸發診斷操作的實施例,此類將進入停止除錯模式或者觸發除錯異常。應理解的是,由偶發載入抑制電路系統偵測的預定標準可採用其他形式。其他形式的此類預定標準可指示彼載入造成處理器之狀態變化超出資料值至向量暫存器中的元件之無故障載入的能力。資料值至向量暫存器中的元件之無故障載入可造成最終所遵循的程式流程實際上不需要的狀態變化,但是其為程式設計模型所應理解和預計的,因為向量載入指令之非推測性執行進行資料值至此類向量元件的一次或多次偶發載入。
儘管本文已描述特定實施例,但將瞭解本發明並不限於此,並且在本發明之範疇內可以進行對該等實施例之許多修改及添加。舉例而言,在不脫離本發明之範疇之情況下,可進行以下獨立請求項之特徵與附屬請求項之特徵的各種組合。
2‧‧‧資料處理系統
4‧‧‧處理器
6‧‧‧主記憶體
8‧‧‧資料值
10‧‧‧程式指令
12‧‧‧設備記憶體輸入/輸出單元
14‧‧‧非記憶體設備
16‧‧‧指令提取電路系統
18‧‧‧指令解碼器電路系統
20‧‧‧控制信號
22‧‧‧向量暫存器
24‧‧‧向量處理電路系統
26‧‧‧故障偵測電路系統
28‧‧‧偶發載入抑制電路系統
30‧‧‧向量載入電路系統
32‧‧‧述詞第一故障性暫存器
34‧‧‧步驟
36‧‧‧步驟
38‧‧‧步驟
40‧‧‧步驟
42‧‧‧步驟
44‧‧‧步驟
46‧‧‧步驟
48‧‧‧步驟
50‧‧‧步驟
52‧‧‧步驟
第1圖示意性地圖示資料處理系統,該資料處理系統支援由故障偵測電路系統及偶發載入抑制電路系統控制的向量載入指令;
第2圖示意性地圖示向量載入指令;
第3圖示意性地圖示第一故障性暫存器形式的述詞值(predicate value);以及
第4圖為流程圖,示意性地圖示對具有故障或者不期望的副作用的偶發載入的抑制。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無
(請換頁單獨記載) 無

Claims (13)

  1. 一種用於處理資料的裝置,其包括: 向量載入電路系統,該向量載入電路系統響應於一向量載入指令之非推測性執行來執行對從一記憶體中的一記憶體位址位置讀取的一資料值至一向量暫存器中的一元件的至少一次偶發載入; 故障偵測電路系統,該故障偵測電路系統用於偵測該偶發載入為一產生故障的偶發載入還是一無故障的偶發載入;以及 偶發載入抑制電路系統,該偶發載入抑制電路系統用於偵測及抑制與一預定標準匹配的一無故障偶發載入。
  2. 如請求項1所述之裝置,其中該預定標準指示造成該裝置的一狀態變化超出該資料值至該向量暫存器之該元件的無故障載入的一能力。
  3. 如請求項1所述之裝置,其中該向量載入電路系統響應於該向量載入指令而執行包括一非偶發載入及複數個偶發載入的複數個載入。
  4. 如請求項1所述之裝置,其中該向量載入電路系統響應於該向量載入指令而執行複數個偶發載入。
  5. 如請求項3所述之裝置,其中允許該非偶發載入與該非偶發載入是否具有該預定標準無關地載入來自一記憶體位址的一資料值。
  6. 如請求項1所述之裝置,其中該預定標準為該無故障偶發載入的該記憶體位址係被分配用於與一種或多種非記憶體設備通訊。
  7. 如請求項1所述之裝置,其包括:診斷電路系統,該診斷電路系統用於執行一診斷操作;並且其中該預定標準為該無故障偶發載入的該記憶體位址匹配一設定用於觸發該診斷操作並且對該無故障偶發載入的抑制抑制對該診斷操作的觸發。
  8. 如請求項7所述之裝置,其中設定用於觸發該診斷操作的該位址為一診斷監視點位址。
  9. 如請求項7所述之裝置,其中該診斷操作為以下之一:進入一停止除錯模式;以及觸發一除錯異常。
  10. 如請求項7所述之裝置,其中該偶發載入抑制電路系統響應於一種或多種使用者可程式設計的診斷置換旗標來抑制該偶發載入抑制電路系統對觸發該診斷操作的該無故障偶發載入的抑制。
  11. 如請求項10所述之裝置,其中該一種或多種使用者可程式設計的診斷性置換旗標被設定為以下之一:適用於複數個監視點中之每一者的一總體旗標;以及適用於相應的個別監視點的複數個個別旗標。
  12. 一種用於處理資料的裝置,其包括: 向量載入構件,該向量載入構件響應於一向量載入指令之非推測性執行來執行對從一記憶體中的一記憶體位址位置讀取的一資料值至一向量暫存器中的一元件的至少一次偶發載入; 故障偵測構件,該故障偵測構件用於偵測該偶發載入是一產生故障的偶發載入還是一無故障偶發載入;以及 偶發載入抑制構件,該偶發載入抑制構件耦接至該向量載入構件及該故障偵測構件,用於偵測及抑制與一預定標準匹配的一無故障偶發載入。
  13. 一種處理資料的方法,其包括以下步驟: 響應於一向量載入指令的非推測性執行,執行對從一記憶體中的一記憶體位址位置讀取的一資料值至一向量暫存器中的一元件的至少一次偶發載入; 偵測該偶發載入是一產生故障的偶發載入還是一無故障偶發載入;以及 偵測及抑制與一預定標準匹配的一無故障偶發載入。
TW105122368A 2015-07-31 2016-07-15 偶發載入的抑制 TWI710955B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1513508.0A GB2540942B (en) 2015-07-31 2015-07-31 Contingent load suppression
GB1513508.0 2015-07-31

Publications (2)

Publication Number Publication Date
TW201712531A true TW201712531A (zh) 2017-04-01
TWI710955B TWI710955B (zh) 2020-11-21

Family

ID=54062953

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105122368A TWI710955B (zh) 2015-07-31 2016-07-15 偶發載入的抑制

Country Status (10)

Country Link
US (1) US10719383B2 (zh)
EP (1) EP3329360B1 (zh)
JP (1) JP6846405B2 (zh)
KR (1) KR102581568B1 (zh)
CN (1) CN107851012B (zh)
GB (1) GB2540942B (zh)
IL (1) IL256142B (zh)
MY (1) MY182419A (zh)
TW (1) TWI710955B (zh)
WO (1) WO2017021679A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3264317B1 (en) * 2016-06-29 2019-11-20 Arm Ltd Permission control for contingent memory access program instruction
US11663014B2 (en) * 2019-08-26 2023-05-30 Arm Limited Speculatively executing instructions that follow a status updating instruction
CN114428638A (zh) * 2020-10-29 2022-05-03 平头哥(上海)半导体技术有限公司 指令发射单元、指令执行单元、相关装置和方法
US11714644B2 (en) * 2021-08-27 2023-08-01 Arm Limited Predicated vector load micro-operation for performing a complete vector load when issued before a predicate operation is available and a predetermined condition is unsatisfied

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724536A (en) * 1994-01-04 1998-03-03 Intel Corporation Method and apparatus for blocking execution of and storing load operations during their execution
US6725362B2 (en) * 2001-02-06 2004-04-20 Intel Corporation Method for encoding an instruction set with a load with conditional fault instruction
US6976193B2 (en) * 2001-09-20 2005-12-13 Intel Corporation Method for running diagnostic utilities in a multi-threaded operating system environment
US20060106499A1 (en) * 2004-10-22 2006-05-18 Roosli Philipp A System and method for emergency shutdown of selected services and facilities in a multi-unit building
US7490224B2 (en) * 2005-10-07 2009-02-10 International Business Machines Corporation Time-of-life counter design for handling instruction flushes from a queue
US7925868B2 (en) * 2007-01-24 2011-04-12 Arm Limited Suppressing register renaming for conditional instructions predicted as not executed
US9529592B2 (en) * 2007-12-27 2016-12-27 Intel Corporation Vector mask memory access instructions to perform individual and sequential memory access operations if an exception occurs during a full width memory access operation
GB2456813B (en) * 2008-01-24 2012-03-07 Advanced Risc Mach Ltd Diagnostic context construction and comparison
US8261047B2 (en) * 2008-03-17 2012-09-04 Freescale Semiconductor, Inc. Qualification of conditional debug instructions based on address
US8271832B2 (en) * 2008-08-15 2012-09-18 Apple Inc. Non-faulting and first-faulting instructions for processing vectors
US20110047358A1 (en) * 2009-08-19 2011-02-24 International Business Machines Corporation In-Data Path Tracking of Floating Point Exceptions and Store-Based Exception Indication
US10175990B2 (en) * 2009-12-22 2019-01-08 Intel Corporation Gathering and scattering multiple data elements
US8683178B2 (en) * 2011-01-21 2014-03-25 Apple Inc. Sharing a fault-status register when processing vector instructions
US20120254591A1 (en) 2011-04-01 2012-10-04 Hughes Christopher J Systems, apparatuses, and methods for stride pattern gathering of data elements and stride pattern scattering of data elements
WO2012138952A1 (en) * 2011-04-07 2012-10-11 Via Technologies, Inc. Conditional store instructions in an out-of-order execution microprocessor
US9053233B2 (en) * 2011-08-15 2015-06-09 Freescale Semiconductor, Inc. Method and device for controlling debug event resources
US9268569B2 (en) * 2012-02-24 2016-02-23 Apple Inc. Branch misprediction behavior suppression on zero predicate branch mispredict
US9047400B2 (en) * 2012-08-29 2015-06-02 Freescale Semiconductor, Inc. Data processor device for handling a watchpoint and method thereof
US9069896B2 (en) * 2012-08-29 2015-06-30 Freescale Semiconductor, Inc. Data processor device for handling a watchpoint and method thereof
US9619230B2 (en) * 2013-06-28 2017-04-11 International Business Machines Corporation Predictive fetching and decoding for selected instructions
GB2519108A (en) * 2013-10-09 2015-04-15 Advanced Risc Mach Ltd A data processing apparatus and method for controlling performance of speculative vector operations
US9176821B2 (en) * 2013-10-30 2015-11-03 Freescale Semiconductor, Inc. Watchpoint support system for functional simulator
US20160092398A1 (en) * 2014-09-29 2016-03-31 Apple Inc. Conditional Termination and Conditional Termination Predicate Instructions

Also Published As

Publication number Publication date
KR102581568B1 (ko) 2023-09-22
IL256142A (en) 2018-02-28
JP2018527657A (ja) 2018-09-20
GB201513508D0 (en) 2015-09-16
US10719383B2 (en) 2020-07-21
CN107851012A (zh) 2018-03-27
IL256142B (en) 2020-08-31
TWI710955B (zh) 2020-11-21
EP3329360B1 (en) 2021-09-01
MY182419A (en) 2021-01-25
CN107851012B (zh) 2022-06-10
GB2540942A (en) 2017-02-08
JP6846405B2 (ja) 2021-03-24
KR20180033512A (ko) 2018-04-03
US20180203756A1 (en) 2018-07-19
EP3329360A1 (en) 2018-06-06
WO2017021679A1 (en) 2017-02-09
GB2540942B (en) 2019-01-23

Similar Documents

Publication Publication Date Title
US8261047B2 (en) Qualification of conditional debug instructions based on address
JP5546859B2 (ja) プロセッサ命令セット動作モードを比較するデバッグ回路
US8838939B2 (en) Debugging multithreaded code by generating exception upon target address CAM search for variable and checking race condition
US6986026B2 (en) Single-step processing and selecting debugging modes
US20050257089A1 (en) Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus
TW201712531A (zh) 偶發載入的抑制
US9348681B2 (en) Apparatus and method for detecting fault of processor
US20120042136A1 (en) Alignment control
KR20180100229A (ko) 벡터 원자 메모리 갱신 명령
US11625316B2 (en) Checksum generation
US8612720B2 (en) System and method for implementing data breakpoints
CN105027089A (zh) 内核功能性检查器
GB2566339B (en) An apparatus and method of executing thread groups
US6990569B2 (en) Handling problematic events in a data processing apparatus
TWI801622B (zh) 用於處理保護標籤損失的裝置、方法、電腦程式、與儲存媒體
US8032720B2 (en) Memory access monitoring apparatus and related method
CN106990939B (zh) 修改数据处理单元的行为
TW201734821A (zh) 暫存器存取控制
US10120737B2 (en) Apparatus for detecting bugs in logic-based processing devices
US20150186140A1 (en) Opcode trapping
US20160011875A1 (en) Undefined instruction recoding
JPH0424836A (ja) マイクロプロセッサ