TW494363B - A method and apparatus for affecting subsequent instruction processing in a data processor - Google Patents
A method and apparatus for affecting subsequent instruction processing in a data processor Download PDFInfo
- Publication number
- TW494363B TW494363B TW087117065A TW87117065A TW494363B TW 494363 B TW494363 B TW 494363B TW 087117065 A TW087117065 A TW 087117065A TW 87117065 A TW87117065 A TW 87117065A TW 494363 B TW494363 B TW 494363B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- data processor
- predetermined
- instructions
- scope
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 title claims abstract description 10
- 238000012790 confirmation Methods 0.000 claims description 42
- 230000003111 delayed effect Effects 0.000 claims description 22
- 230000002159 abnormal effect Effects 0.000 claims description 18
- 230000001934 delay Effects 0.000 claims description 2
- 230000004048 modification Effects 0.000 abstract description 2
- 238000012986 modification Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 18
- 238000012360 testing method Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 5
- 239000004020 conductor Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 206010011469 Crying Diseases 0.000 description 2
- 240000003473 Grevillea banksii Species 0.000 description 1
- 206010027336 Menstruation delayed Diseases 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 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/30094—Condition code generation, e.g. Carry, Zero flag
-
- 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
- G06F9/30079—Pipeline control instructions, e.g. multicycle NOP
-
- 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
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
Description
494363 五、發明說明(i) 本申請案已在美國申請為專利申請案號08/963,321。 發明領域 本發明與資料處理器有關,更特別與於一資料處理器影 響其後指令處理有關。 發明背景 由於即時控制糸統兩到愈來愈多貢料處理為5新技術被 要求確保系統資源的有效運用。例如,在許多多工系統 中,有一些工作要共用某些相同的系統資源,如記憶體儲 存、一臺印表機,或通往一顯示螢幕的一個埠。在這種多 工系統中,其共用系統資源儘可能以最有效率的方式被使 用是很重要的。例如,如果多個工作正共用一資源,必須 有一個方法指示何種工作目前正使用該資源,及該工作是 否正實行不可被干擾的功能。在許多多工系統中,信號機 即用於此功能。 信號機是反應一系統資源目前狀態之旗標或狀態指示器 的一種類型。通常一信號機當中的狀態資訊指示是否該系 統資源目前正在使用中。在某些多工系統中,該信號機可 能也包括何種工作正在使用該資源的資訊,甚至可能包括 在該資源上執行的功能之型態。 例如,記憶體中某一特別位置可被指定為該信號機對一 共用變數X的位置。如有任何工作要用到該共用變數X,該 工作必須藉由讀取該記憶體中的特定位置以讀取對該共用 變數X的信號機。該變數X信號機包含有關該變數X狀態的 資訊,如是否該變數X目前被保留給一特定工作的互斥接
D:\Y87\5527Lptd 第5頁 494363 五、發明說明(2) " -- 達。如果該變數X信號機指示該變數χ目前被保留因此忙碌 中>’。該新工作就必須等待。該新工作可藉由定期讀該變數 χ信號機以檢視是否該變數χ仍被使用中或已為可用,以繼 續詢訊該變數X信號機。 ,一該 '又數X化號機指示該變數X不再被保留並已可用, 该等待中工作即寫入該變數X信號機以改變其狀態為忙碌 或不可用。如此該等待中工作即成功地鎖住該變數χ資源 作為己用。當該變數χ信號機指示該變數X正被使用時,沒 有其他工作可以使用該變數X。一旦該等待中工作結束使 用該變數.X,即寫入一新值至該變數X信號機位置’以改支 該邊數X k號機,使其指示該變數X再一次可用。 一 有一個重要的問題發生在使用信號機配置共用系統^ = 之糸統。該問題在於當多於一個工作正在詢訊〆共用1 ” 之信號機,以檢視該資源是否已為可用時。例如’假"又X 作# 1及工作# 2都在詢訊該變數χ信號機。工作# 1在該>變參1 信號機變為指示該變數χ可用後,首先讀取該變數X # ^ 的。現在工作# 2讀取該變數χ信號機,也認為該變數X Z該 用。工作# 1及工作# 2都不知道另一個工作玉在爭取使 " 變數X。 如果工作# 1接收到一個岔斷,工作# 1在離開處重f ^ 必須執行一軟體岔斷例行事務。同時,工作# 2寫入,一 2前 至該變數X信號機以指示該變數χ王忙碌中。然後工作丈軟 去使用該變數X。工作# 1完成其岔斷例行事務’益在。 體程式離開處重來。工作#丨在知道該變數X玎用之下離
D:\Y87\5527Lptd
第6頁 494363 五、發明說明(3) 2。於是工作#1寫入一值至該變數χ信號機,以指示該變 數X現在忙碌中,然後前去試著使用該變數χ。但該變數乂 已經被工作#2使用中。一衝突因此發生。結果,該 :能被毀掉」且各工作可能收到變數‘彳之錯誤值。因此, 決方法。 忭成功及有效率地共用同樣資源之解 圖式簡述 圖1以方塊圖形式描述依據本發明之一具體 料處理器1 0 ; 貝 圖2以方塊圖形式描述依據本發明之一具體實施例之 之中央處理單元(CPU)12之一部份; 圖3以列表方式描述依據本發明之一具體實施例之延後 岔斷確逐指令之一具體實施例,· 圖4以列表方式描述依據本發明之一具體實施例之執行 測試及設定功能之一系列指令之一具體實施例; 圖5以列表方式描述依據本發明之一具體實施例之實行 交換記憶體運算元功能之一系列指令之一具體實施例;及 圖6以列表方式描述依據本發明之一具體實施例之執行 遞增記憶體基礎計數功能之一系列指令之一具體實施例。 發明詳述 圖式之描述 圖1描述一資料處理器1 0。在一具體實施例中,資料處 理器10包含一中央處理單元(CPU)12,記憶體14,匯流排 介面1 6 ’及其他模組丨8,這些全都經由匯流排2 〇彼此雙向
I Π
I D:\Y87\55271. ptcl 第7頁 494363 五、發明說明(4) """"""一"" ------— --- H f流排介面16可經由外部匯流排26外接至資料處理 :卜接至;==情;:經由至少-個積體電路接頭28 體電路接頭24外接至資^ =體14視情況可經由至少一個積 況可能處理器1〇。中央處理單元12視情 1〇。二 夕 積體電路接頭22外接至資料處理器 之ϊ 4 i、圖1,本發明之其他具體實施例可使用任何型態 : 構造。此外,資料處理器10可實行多樣的 腦)架構,可使用一哈=盖可使用-,(簡化指令集電 能為-SIMD(單一指令多重U/為-向量處理器,可 算,可能執行數位信號夕處重理vy處理器等;能執行浮點運 cpu圖12之—部份。在—具體實施例中, 4軍!^日令官 '線電指令解碼電路32,暫存器 Ίί;輯單元(ALU)40,及CPU控制電路42·控制 ;路42 j由控制/狀態信㈣與指令管線3〇,指令解碼 ㈣’及ALU 40雙向連接,以提供控制資訊及接 指令管線3°經由匯流排20接收指令:指令管 ί 一個要被執行之指令。指令管線3〇經由導 :自路32。指令解碼電路32對其接 解碼,並且經由導體Μ提供輸出予 ^^4^^fl]€^ 岔斷控制电路46,及计數器/計時器電路48。 在本發明之-具體實施例中,岔斷控制電㈣與計數器
494363 五、發明說明(5) /可時Is電路48雙向連接。CPU控制電路42經由岔斷产襄5〇 發自匯流排20之岔㈣求信號。其=: β 2 接至外部匯流排2 6 (未顯示)之電路可处3 CP^控制電路42經由岔斷信號5〇收到之至少-個念斷 ^个源。CPU控制電路42可能經由岔斷信號5〇提供至少一 2斷認可或其他岔斷相闕信號予g流排2〇。cp 路42可=由異常指令信號52接到至少一個異^ ^號。在本發明之一些具體實施例中,cpu控制兩 能提供予匯流排2〇至少一個昱常指人# 毛 2可 狀態信號。 〃 1固““認可或其他異常指令 2爹照圖2,在本發明之一具體實施例中, 制電路44與異常指令信號52 釗、吊扣-控 信,連接…指令控制電路= =56及控制/狀態信號58。岔斷控 ^: 可能經1匕積體i 32?制電路42。CPU控制電路42視情況 由積肢包路接頭22外接至資料處理器ι〇。 ,、匯*排2 0雙向連接以接收及 :欠 σ 暫存器36。暫存哭36包括 ,、貝〆。暫存器34包括 體㈣及導體心 接便由alu 40提供輸出值。 圖3描述可此被圖2之cpu 12 一具體實施例。 執订之I後岔斷確認指令之 圖4描述可能以圖3之延後岔斷確認指令執行測試及設定 Μ 第9頁 D:\Y87\55271.ptd 494363 五、發明說明(6) 功能之一系列指令之一具體實施例。 圖5描述可能.以圖3之延後岔斷確認指令執行交換記憶體 運异元功能之一系列指令之一具體實施例。 圖6描述可能以圖3之延後岔斷確認指令執行遞增記憶體 基礎計數功能之一系列指令之一具體實施例。 較佳具體實施例之運作 較佳具體實施例之運作在此描述。在一具體實施例中’ 本發明提供一有效率之方法及裝置以延後岔斷確認於一控 制區間(一段預定時間或一群預定指令數),使得一讀/改/ 寫指令序列不需有定義修改作業的專用指令即可執行。 「匯流排」一詞將被用以指稱/群可能被用來轉換至少 一個不同型態之資訊(如資料、位址、控制或狀態)之信號 或導體。「主張」及「無效」等詞將分別被用在指示信 號、狀態位元或類似裝置之回應為邏輯真或邏輯假狀態。 如果該邏輯真的狀態是邏輯1,則邏輯假的狀態將是邏輯 0。且如果該邏輯真的狀態是邏輯0,則邏輯假的狀態將是 邏輯1。 參照圖3,在本發明之一具體實施例中,一延後岔斷破 認指令(如I D LY 4 )可能被用以造成岔斷確認延後一群預定 指令數在如同圖1及2描述之資料處理器1 〇之使用載入; 存架構之處理器。 _ 在本發明之一具體實施例中,岔斷確認被延後 續後之該預定指令數可能為一固定值(如四個指令 即 明之其他具體實施例可能固定該預定指令數 本發 ❻任何正整
494363 五、發明說明(7) 數。描述於圖3本發明之一具體實施例延後在該延後岔斷 確認指令(I D LY 4 )之執行後立即執行之四個指令之岔斷確 認。如此,該延後岔斷確認指令被執行,然後在接下來的 四個指令期間沒有岔斷被確認,且岔斷確認在丨DLY 4指令 之佼的第五個指令開始初步執行。 一 注意有些本發明之具體實施例可能將被當成異常指令严 理部份執行的指令算作該預定續後指令數之一部份,3二^ 他本發明之具體實施例可能不會將被當成異常指令處理ς 份執行的指令算作該預定續後指令數之一部份。 ° 在本發明之第一個具體實施例中,一群預定指令 ί岔=指=行後執行,㈣含斷確認被抑制或延 式疋義。例如,該延後岔斷確認指令 方 該攔定義該分斷谂句处μ 河 %匕括一欄, « Η: > + Γ斷確^ 後期間的指令數(例如,見in Μ =指定攔70)。在其他具體實施例中 的 式化之一控制暫在哭「γ丨L 欠使用者矛王 含一争定兮!^ 圖2的暫存器34之~)可沪勺 S 决該岔斷確認被延後期Η的箱〜共a奴)了月包 明之其他具體實施例可能使用:的預夕”數之值。本發 二令數’例如’經由積體電=擇該預定 存裝置提供預定指令數。 接碩或經由一罩式程式化儲 在本發明之一具體實施例中 々 在-群預定指令數執行期後=延杈:斷確認指令 路以下列方式發揮功能。該,山斷確認,圖2描述之電 線3 0自匯流排2 〇接收。然 伎岔斷確認指令經由指令管 … 3令官線3 〇於適當時間提供該
D:\Y87\55271.ptd 苐11頁 494363
指令予指令解碼電路32。然八 提供該延後念_ # % ^4曰v解碼電路3 2經由導體5 6 I 確& 4a令之適當解艮 42。CPU控制電緖會對、田解馬九號予=控制電路 求。CPU控制#蹊49 $ & # 預疋彳日7數延佼岔斷確認請 號58接收自指令營蝮3〇 十數的/计0寸器48,及經由信 有多少於人Ρ 線及指令解碼電路32之資訊,已確定 行。曰7纟該延後岔斷確認指令執行後緊接著被執 A t許多本發明之具體實施例,尤其是那此使用管線處@ 八, 控/】私路42可能只計算完全執行的續後指 I、 $ β异在每一指令之提取、解碼、執行循環期間已達 成一預定階段之任何續後指令。 除工延後岔斷確認達一預定指令數之外,本發明之其 他士肢η %例也可能定義一段預定時間使岔斷確認延後。 在這些不同之具體實施例中,一計數器或計時器(例如圖2 1計數,/計時器48)可能被用以計算一預定數目之時脈循 衣或^岔斷確^忍被延後之一預定數目之亳微秒。 在本I明之一具體貫施例中,如果該延後岔斷碟認指令 在一預定數目之時脈循環或毫微秒執行期間延後岔斷確 認,描述於圖2之CPU控制電路42將利用計數器/計時器48 计异宅微秒或時脈循環而不是被執行的指令數。再次,如 同指令本身(例如圖3的選擇性指定攔70)的一種使用者程 式化機制、一個暫存器值或其他程式化方法可能被用以提 供笔微秒的數目或是時脈循環的數目予計數器/計時器 4 8 ’以便決定在延後岔斷確認指令被執行後岔斷不會被確
D:\\87\5527l. ptcj 第 12 頁 494363 五、發明說明(9) 認的區間長度。 在本發明之一具體實施例中,c P u控制電路4 2在延後岔 斷確認指令完成後開始計算岔斷不確認區間。然而,在本 發明之其他具體實施例中,CPU控制電路42可能在延後念 斷確認指令解碼開始後之任何時間點開始計算岔斷不確認 區間。 對於本發明之一些具體實施例,任何型態之指令都可能 跟隨一延後岔斷確認指令。然而在某些情形下’緊接在一 延後岔斷確認指令之指令序列當中需要一定數目循環的置 換指令(如除法指令),可能造成太長時間的岔斷潛時。為 解決此問題,本發明之一些具體實施例限制 < 能立即跟隨 一延後岔斷確認指令之指令型態。例如,參照圖3 ’立即 跟隨該延後岔斷確認指令之四個指令可能被限制為單一循 環算術或邏輯指令、分支指令,及饋入或儲存指令。限制 岔斷確認被延後期間的指令之目的是要減少最大的贪斷f 在時間。本發明之其他具體實施例或可限制岔斷確,== 後期間的指令型態,且因此或可限制可能跟隨一延後贫 喊認指令之指令型態。可能跟隨一延後岔斷確^ 43 : ^例 令集可能因不同的處理器1Q而不同,且在某些具體芦方 中可能是程式化的。 · 本發明之其他具體實施例可能以不同方忒文分、 被 處理影響。在圖3描述本發明之具體實施例中 斷 士於明之其他 確認期間異常指令仍被γ貞測及執行。然而’ ^ ' /cj yS ί? ^ 具體實施例可能在岔斷確認被延後期間偵測俱+ 乂 ”
D:\Y87\55271.ptd 第13頁 494363 五、發明說明(ίο) 指令。還有其他具體實施例甚至在岔斷不被確認期間可能 不偵測異常指令,因此也不處理它們。此外,本發明之其 他具體實施例也可能以不同方式處理不同型態之異常指 令。例如,圖3之延後岔斷破認指令(I DL Y4 )在岔斷不被確 認期間允許無縱跡及無斷點異常指令清除狀況位元3 8 (見 圖2 ),而蹤跡及斷點異常指令不影響狀況位元3 8。 在本發明之一些具體實施例中’ 一種機制可能在接著一 延後岔斷確認指令之執行的岔斷不確認期間被再次允許岔 斷。例如,計數器/計時器4 8可能被用以偵測一特別等級 之岔斷在該期間已經等待解決了 一段預定時間,因此必須 在岔斷不碟認區間 體實施例中’即使 一群預定指令數、 能被再次允許使用 許,現行指令可能 允許繼續ϋ完成執 結束前被確認。如此 執行仍停留在岔斷不 時脈循環,或毫微秒 優勢電路47。如果岔 是岔斷中流或在岔斷 行。 在本發明之一些具 確認區間(可能由 所定義),岔斷可 斷確認被再次允 被再次讀έ忍之前被 太i發明ί:ί i體實施例可能延後所有岔斷之確認,而 t 之:實施例可能只延後低於某-岔斷等級的 如,該預定岔斷等級;任何方式設定。例 式之一部份,儲存:::2仅岔斷碑認指令”格 定,可能經由積體電路接提 用者程式化暫存器來設 於依罩式穩式化锗存電值來設定’ *儲存-值 在另-具體實施例中,本發明先允許一個指令改變一續
494363 五、發明說明(11) 後指令影響一狀態指標的方式。在本發明之一具體實施例 中’圖3延後岔斷確認指令(丨DLY 4 )之執行可能改變爻少〆 個續後指令影響圖2當中I況位元3 8的方式。例如,參照 圖4-6,在本發明之一具體實施例中,DLY4指令維護圖2 之狀況位元38。之後如果一異常指令在該四個指令任’個 當中發生,該異常指令發生時正在執行的指令將會否定狀 況位元3 8。因此如果饋入指令是I dl Y4指令之後的四個指 令之一,且一個異常指令發生在饋入指令執行期間,則/ 個正常被定義為不會清除或否定狀況位元38之指令(例如 饋入指令)現在可能清除狀況位元38。該IDLY4指令因此^ 能影響一續後指令(例如饋入指令)影響狀況位元3 8的方 式。以如此方式使用狀況位元38的一個目的是指出該四個 指令不是以不可分部方式執行,以及異常指令處理可能已 經影響一共用資源。 注意描述於圖4 - 6之指令序列都包括一個對狀況位元3 8 的檢查,以確定是否IDLY4指令之後四個非異常指令處理 指令期間,一個異常指令已被接收及處理(亦即如果狀況 位元38等於零則分支至SEQUENCE_FA ILED)。如果在IDLY4 指令之後一個異常指令已被接收及處理,「BF」指令會分 支至稱為SEQUENCE_FAILED之指令次常式,而可被用以指 出該四個指令不是以不可分部方式執行,以及異常指令處 理可能已經影響一共用資源,例如信號機^ 圖4描述使用圖3之延後岔斷確認指令(IDLY4)實行一個 測試及設定功能之一系列指令。圖4之測試及設定功能測
D:\Y87\55271.ptd 第〗5頁 494363 五、發明說明(12) 試一記憶體運算元以確定是否該記憶體運算元目前的值都 是零,並將該記憶體運算元的值全部改成一(亦即該記憶 體運算元的所有位元都被設定)。如此描述/於圖4隻一系列 指令可能被用以在儲存於記憶體的一個信號機值實行一個 測試及設定功能。該延後岔斷確認指令(I DLY4 )可能被用 以確保該測試及設定功能被以不可分部方式實行,如此該 信號機值不會在測試運算及設定運算之間被一個岔斷圖4 軟體常式的不同任務破壞。 注意圖4的指令列實際上在實行測試運算前先實行設定 運算。可能如此是因為I DLY4指令可能被用以確保設定及 測試運算會在另一個任務被允許岔斷之前被完成,且因為 這種情況下的信號機值只有兩個可能的值,亦即全部為零 或全部為一。所以如果該信號機支初始值都是一,設定信 號機的步驟不會改變該信號機值。注意其他實行測試及設 定功能之指令列可能在設定運算之前實行測試運算。 圖5描述使用圖3之延後岔斷確認指令(IDLY4)實行一個 「以暫存器運算元交換記憶體運算元」功能之一系列指 令。圖5描述之「以暫存器運算元交換記憶體運算元」功 能成功地由其在記憶内的初始位置移動一個稱為 「EXCHANGE — VALUE」的值,至暫存器ri,然後至信號機值 的位置。注意有一個稱為「SEMAPHORE」之指標器指向該 信號機值的位置。該信號機值被由其在記憶體中之初始值 移動至暫存器R 3。在圖5描述之特別指令列中,最後的 「OR」指令實行無效運算而不是完成在IDLY4指令之後的
D:\Y87\55271.ptd 第16頁 494363 五、發明說明(13) 四個指令,由此中斷岔斷確認之延後。因此’袁後的 「OR」指令與一個無效運算(NOP)指令有相同效果,且可 能被一個不同指令置換。 圖6描述使用圖3之延後岔斷確認指令(IDLY4)實行一個 「漸增記憶體基礎計數器」功能之一系列指令。圖6描述 之F漸增記憶體基礎計數器」功能成功地由其在記憶内的 初始位置移動該信號機值至暫存器R 1,然後加一以增加該 信號機值。注意有一個稱為「SEMAPHORE」之指標器指向 該信號機值的位置。然後該增加後之信號機值由暫存器R3 被移回其在記憶體中之初始值。 雖然本發明已參照特殊具體實施例被描述,那些熟悉本 項技藝之人士仍可做進一步的變化及改良。因此應瞭解本 發明並不限於已描述之特定樣式,且附於文後之申請專利 範圍涵蓋不背離本發明精神及範疇之所有變化。
D:\Y87\55271.ptd 第17頁
Claims (1)
- 494363 六、申請專利範圍 1. 一種供於影響其後指令處理之方法,包括下列步驟: 接收形成一組資料處理器指令集之一群指令中至少一 個; 為被接收之該至少一個該群指令解碼; 執行被解碼之該至少一個該群指令; 接收一個預定指令,該指令是包含於該指令集之一個指 令;及 回應資料處理器對該資料處理器遇到之任何異常,指令 解碼、延後處理,達預定指令解碼後之一預定指令數,或 達預定指令解碼後之一預定時間區間。 2. 如申請專利範圍第1項之方法,進一步包括下列步 驟: 執行先於任何異常指令延後處理之預定指令。 3. 如申請專利範圍第1項之方法,其中任何異常指令延 後處理之步驟進一步包括下列步驟·· 任何異常指令延後處理直到隨著該預定指令解碼後由 資料處理器執行之四個其後指令完成。 4 ·如申請專利範圍第1項之方法,其中任何異常指令延 後處理之步驟進一步包括下列步驟: 使用一計數器為一計時器以決定隨著該預定指令解碼 後之賴定時間區間。 5.如申請專利範圍第1項之方法,其中由資料處理器執 行之任何異常指令延後處理之步驟,進一步包括回應僅岔 斷狀況異常指令之延後處理步驟。D:\Y87\55271.ptcl 第18頁 494363 六、申請專利範圍 6. —種資料處理器,包括: 執行一預定指令集之指令執行電路,該預定指令集包 括至少一個指令,當被指令執行電路執行時,造成該資料 處理器延後一岔斷狀況之確認,伴隨該資料處理器之運算 達隨著至少一個指令執行後之一群預定指令數。 7. 如申請專利範圍第6項之資料處理器,其中該資料處 理器延後一岔斷狀況之確認期間的預定指令數是可被該資 料處理器之使用者程式化的。 8. 如申請專利範圍第6項之資料處理器,其中該預定指 令數是四。 9. 一種資料處理器,包括: 一計時器以決定一段預定時間區間之經過;及 執行一預定指令集之指令執行電路,該預定指令集包 括至少一個指令,當被指令執行電路執行時,造成該資料 處理器延後一岔斷狀況之確認,伴隨該資料處理器之運算 達隨著至少一個指令執行後之一段預定時間區間。 1 〇.如申請專利範圍第9項之資料處理器,進一步包括: 在該預定時間區間結束前優勢執行之岔斷狀況延後確認之 優勢電路,該優勢執行發生在多重循環指令之一預定指令 集之至少一個在該預定時間區間被解碼時,且該預定指令 區間已達一預定最小時間量。 Π .如申請專利範圍第9項之資料處理器,其中該指令執 行電路進一步包括: 一狀況碼暫存器具有一個被設定為一預定邏輯狀態D:\Y87\55271.ptd 苐19頁 494363D:\Y87\5527Lptd 第20頁
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/963,321 US6000029A (en) | 1997-11-03 | 1997-11-03 | Method and apparatus for affecting subsequent instruction processing in a data processor |
Publications (1)
Publication Number | Publication Date |
---|---|
TW494363B true TW494363B (en) | 2002-07-11 |
Family
ID=25507071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW087117065A TW494363B (en) | 1997-11-03 | 1998-10-14 | A method and apparatus for affecting subsequent instruction processing in a data processor |
Country Status (9)
Country | Link |
---|---|
US (2) | US6000029A (zh) |
EP (1) | EP0913767B1 (zh) |
JP (2) | JP4883824B2 (zh) |
KR (1) | KR100588790B1 (zh) |
CN (1) | CN1098487C (zh) |
DE (1) | DE69810064T2 (zh) |
HK (1) | HK1020218A1 (zh) |
SG (2) | SG101487A1 (zh) |
TW (1) | TW494363B (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7805724B1 (en) * | 1998-05-27 | 2010-09-28 | Arc International I.P., Inc. | Apparatus, method and computer program for dynamic slip control in real-time scheduling |
JP2000330785A (ja) * | 1999-05-18 | 2000-11-30 | Sharp Corp | 実時間プロセッサおよび命令実行方法 |
US6618800B1 (en) * | 2000-01-18 | 2003-09-09 | Systemonic Ag | Procedure and processor arrangement for parallel data processing |
GB2369464B (en) | 2000-11-27 | 2005-01-05 | Advanced Risc Mach Ltd | A data processing apparatus and method for saving return state |
US6857036B2 (en) * | 2001-07-17 | 2005-02-15 | Hewlett Packard Development Company, L.P. | Hardware method for implementing atomic semaphore operations using code macros |
US20030154347A1 (en) * | 2002-02-12 | 2003-08-14 | Wei Ma | Methods and apparatus for reducing processor power consumption |
US7900055B2 (en) | 2003-04-18 | 2011-03-01 | Via Technologies, Inc. | Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms |
US7321910B2 (en) | 2003-04-18 | 2008-01-22 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7532722B2 (en) * | 2003-04-18 | 2009-05-12 | Ip-First, Llc | Apparatus and method for performing transparent block cipher cryptographic functions |
US7539876B2 (en) | 2003-04-18 | 2009-05-26 | Via Technologies, Inc. | Apparatus and method for generating a cryptographic key schedule in a microprocessor |
US7529367B2 (en) | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent cipher feedback mode cryptographic functions |
US7502943B2 (en) | 2003-04-18 | 2009-03-10 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results |
US7519833B2 (en) | 2003-04-18 | 2009-04-14 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US7536560B2 (en) | 2003-04-18 | 2009-05-19 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic key size |
US7925891B2 (en) | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US7529368B2 (en) | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent output feedback mode cryptographic functions |
US7542566B2 (en) | 2003-04-18 | 2009-06-02 | Ip-First, Llc | Apparatus and method for performing transparent cipher block chaining mode cryptographic functions |
US7844053B2 (en) | 2003-04-18 | 2010-11-30 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7392400B2 (en) | 2003-04-18 | 2008-06-24 | Via Technologies, Inc. | Microprocessor apparatus and method for optimizing block cipher cryptographic functions |
CN100495324C (zh) * | 2006-07-27 | 2009-06-03 | 中国科学院计算技术研究所 | 复杂指令集体系结构中的深度优先异常处理方法 |
US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
US8880959B2 (en) | 2012-06-15 | 2014-11-04 | International Business Machines Corporation | Transaction diagnostic block |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US9367323B2 (en) | 2012-06-15 | 2016-06-14 | International Business Machines Corporation | Processor assist facility |
US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US9442737B2 (en) | 2012-06-15 | 2016-09-13 | International Business Machines Corporation | Restricting processing within a processor to facilitate transaction completion |
US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
US9317460B2 (en) | 2012-06-15 | 2016-04-19 | International Business Machines Corporation | Program event recording within a transactional environment |
US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
US8966324B2 (en) | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
CN110535790B (zh) * | 2019-08-23 | 2022-03-18 | 天津芯海创科技有限公司 | 基于semaphore的交换芯片异常报文处理方法 |
US12039363B2 (en) * | 2022-06-29 | 2024-07-16 | Red Hat, Inc. | Synchronizing concurrent tasks using interrupt deferral instructions |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5440049A (en) * | 1977-09-06 | 1979-03-28 | Toshiba Corp | Information process system |
US4236204A (en) | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
US4435766A (en) * | 1981-06-16 | 1984-03-06 | International Business Machines Corporation | Nested resource control using locking and unlocking routines with use counter for plural processes |
CN1004234B (zh) * | 1985-04-01 | 1989-05-17 | 坦德姆计算机有限公司 | 增强的中央处理器(cpu)微转移结构 |
US4764893A (en) * | 1985-04-26 | 1988-08-16 | International Business Machines Corporation | Noise-immune interrupt level sharing |
CN1009399B (zh) * | 1987-06-02 | 1990-08-29 | 德国Itt工业股份公司 | 中央处理器 |
US5499356A (en) * | 1989-12-29 | 1996-03-12 | Cray Research, Inc. | Method and apparatus for a multiprocessor resource lockout instruction |
JPH03210649A (ja) * | 1990-01-12 | 1991-09-13 | Fujitsu Ltd | マイクロコンピュータおよびそのバスサイクル制御方法 |
JP2665813B2 (ja) * | 1990-02-23 | 1997-10-22 | 三菱電機株式会社 | 記憶制御装置 |
JPH05508496A (ja) * | 1990-06-11 | 1993-11-25 | クレイ、リサーチ、インコーポレーテッド | 命令をロードおよびフラグする方法および装置 |
JPH0467229A (ja) * | 1990-07-06 | 1992-03-03 | Hitachi Ltd | マイクロプロセッサおよびメモリシステム |
JPH0474229A (ja) * | 1990-07-17 | 1992-03-09 | Toshiba Corp | 情報処理装置 |
JPH04306735A (ja) * | 1991-04-04 | 1992-10-29 | Toshiba Corp | 非同期割込み禁止機構 |
US5301312A (en) * | 1991-08-21 | 1994-04-05 | International Business Machines Corporation | Method and system for utilizing benign fault occurrence to measure interrupt-blocking times |
US5283870A (en) * | 1991-10-04 | 1994-02-01 | Bull Hn Information Systems Inc. | Method and apparatus for avoiding processor deadly embrace in a multiprocessor system |
JPH05143322A (ja) * | 1991-11-15 | 1993-06-11 | Sanyo Electric Co Ltd | マイクロコンピユータ |
EP0555680B1 (en) * | 1992-02-14 | 1999-10-13 | Motorola, Inc. | A method and apparatus for determining instruction execution ordering in a data processing system |
US5590380A (en) * | 1992-04-22 | 1996-12-31 | Kabushiki Kaisha Toshiba | Multiprocessor system with processor arbitration and priority level setting by the selected processor |
JPH06110846A (ja) * | 1992-09-25 | 1994-04-22 | Fujitsu Ltd | 排他制御方式 |
US5768619A (en) * | 1996-02-16 | 1998-06-16 | Advanced Micro Devices, Inc. | Method and system for enabling and disabling functions in a peripheral device for a processor system |
-
1997
- 1997-11-03 US US08/963,321 patent/US6000029A/en not_active Expired - Lifetime
-
1998
- 1998-10-14 TW TW087117065A patent/TW494363B/zh not_active IP Right Cessation
- 1998-10-26 EP EP98120220A patent/EP0913767B1/en not_active Expired - Lifetime
- 1998-10-26 DE DE69810064T patent/DE69810064T2/de not_active Expired - Fee Related
- 1998-10-30 SG SG200106112A patent/SG101487A1/en unknown
- 1998-10-30 SG SG1998004357A patent/SG71861A1/en unknown
- 1998-10-30 JP JP31026898A patent/JP4883824B2/ja not_active Expired - Fee Related
- 1998-11-02 CN CN98121455A patent/CN1098487C/zh not_active Expired - Lifetime
- 1998-11-03 KR KR1019980046900A patent/KR100588790B1/ko not_active IP Right Cessation
-
1999
- 1999-10-22 US US09/425,469 patent/US6237089B1/en not_active Expired - Lifetime
- 1999-11-12 HK HK99105223A patent/HK1020218A1/xx not_active IP Right Cessation
-
2009
- 2009-02-18 JP JP2009035190A patent/JP4750865B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0913767A3 (en) | 2000-01-26 |
JP2009104675A (ja) | 2009-05-14 |
KR19990044957A (ko) | 1999-06-25 |
US6237089B1 (en) | 2001-05-22 |
JP4750865B2 (ja) | 2011-08-17 |
EP0913767A2 (en) | 1999-05-06 |
US6000029A (en) | 1999-12-07 |
SG71861A1 (en) | 2000-04-18 |
DE69810064D1 (de) | 2003-01-23 |
CN1216375A (zh) | 1999-05-12 |
JPH11219302A (ja) | 1999-08-10 |
CN1098487C (zh) | 2003-01-08 |
EP0913767B1 (en) | 2002-12-11 |
HK1020218A1 (en) | 2000-03-31 |
SG101487A1 (en) | 2004-01-30 |
DE69810064T2 (de) | 2003-04-17 |
JP4883824B2 (ja) | 2012-02-22 |
KR100588790B1 (ko) | 2006-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW494363B (en) | A method and apparatus for affecting subsequent instruction processing in a data processor | |
US5754839A (en) | Apparatus and method for implementing watchpoints and breakpoints in a data processing system | |
JPH0354375B2 (zh) | ||
JP2005317023A (ja) | データ処理装置のブレークポイント論理ユニット、デバッグ論理、およびブレークポイントの方法 | |
KR100335785B1 (ko) | 데이타처리명령의실행 | |
WO2001006363A1 (en) | A method for improving interrupt response time | |
JPS6030983B2 (ja) | 周辺装置制御ユニツト | |
EP0166431B1 (en) | An information processing apparatus having an instruction prefetch circuit | |
JPH07120338B2 (ja) | 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ | |
JP2006039874A (ja) | 情報処理装置 | |
KR100606163B1 (ko) | 디렉트 메모리 엑세스 장치, 디렉트 메모리 엑세스 장치를통한 데이터를 송수신하는 시스템 및 방법 | |
JPH0668725B2 (ja) | データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法 | |
JP2814683B2 (ja) | 命令処理装置 | |
US7124288B2 (en) | Programmable unit with a stack buffer storage device configurable into discrete shadow storage elements accessible by a plurality of command execution units | |
JP2555664B2 (ja) | 分岐ヒストリテーブル書込制御方式 | |
JPH07262032A (ja) | 情報処理装置 | |
JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
JPS58189770A (ja) | ベクトル処理装置 | |
JPS595932B2 (ja) | デ−タ処理方式 | |
JPS63155330A (ja) | マイクロプログラム制御装置 | |
JPH0876876A (ja) | マイクロプロセッサのクロック供給制御回路 | |
JPS58205258A (ja) | デ−タ処理装置 | |
JPH065528B2 (ja) | 情報処理システム | |
JPS58106642A (ja) | 並列演算装置 | |
JPS6115235A (ja) | 中央処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |