TW448366B - Zero overhead computer interrupts with task switching - Google Patents

Zero overhead computer interrupts with task switching Download PDF

Info

Publication number
TW448366B
TW448366B TW088102041A TW88102041A TW448366B TW 448366 B TW448366 B TW 448366B TW 088102041 A TW088102041 A TW 088102041A TW 88102041 A TW88102041 A TW 88102041A TW 448366 B TW448366 B TW 448366B
Authority
TW
Taiwan
Prior art keywords
task
latch
register
interrupt
cpu
Prior art date
Application number
TW088102041A
Other languages
English (en)
Inventor
Brian Donovan
Original Assignee
Xyron Corp
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 Xyron Corp filed Critical Xyron Corp
Application granted granted Critical
Publication of TW448366B publication Critical patent/TW448366B/zh

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Hardware Redundancy (AREA)

Description

44836 6 A7 B7 五、發明説明(I ) 〔發明之背景〕 本發明關於中斷處理及任務轉換電路及資料處理系統 之方法。 現代電腦使用特殊硬體作自動中斷處理及任務轉換。 中斷包括事項,如1/0轉移、時脈、硬體缺失 '軟體中斷 及軟體缺失,如以零除。故中斷程式不修改運作程式’中 斷任務之所有狀態必須保存。於是,所有新中斷任務狀態 必須自記憶體恢復,之後再以新中斷任務狀態繼續處理。 中斷任務完成後,執行自中斷指令返回,使保存狀態程序 反轉,及恢復以前任務。 大多數現代電腦係利用硬體中斷機構以達成任務改變 處理,該中斷機構首先停止額外之中斷’及在跳至一特別 中斷服務程式前,僅保存最少數狀態暫存器。特殊中斷服 務程式按需要保存其餘暫存器。於是將暫存器裝載以供中 斷任務。此方法予以反轉以自中斷返回’俾電腦返回其原 來任務。 在暫存器之保存及恢復期間,任何其他中斷企圖必須 停止,以防破壞系統現有資料。因此’電腦在此一期間對 中斷不敏感,即所請中斷等待時間。傳統電腦結構在響應 中斷之前必須完成現有指令。此等指令在時間上變化甚大 。此外,不同電腦結構具有不同之中斷等待時間,視目前 執行方法之模式及中斷方法而定。此二因素結合造成高度 不確定中斷等待時間之延遲及架空(overhead)。 除了與每一新中斷任務之開始有關之等待時間延遲之 本紙張尺度適用中國®家操準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝_
'1T 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局K工消资合作社印製 ^ 44836 6 A7 B7 五、發明说明(v) 外,現代科技電腦亦有用在任務轉換間之時間。此一轉換 時間即爲中斷及任務改變處理架空。此時間係用來保存及 恢復暫存器,故爲不能處理之時間。此一中斷及任務轉換 處理架空在許多現代電腦中總計多到數百週期。即使在多 兆赫時脈率’等待時間延遲及與轉換架空有關所需之時間 ,導致電腦僅能處理數十或數百千赫之中斷。同時,多媒 體資料轉移需要數十個到數百個兆赫。 由於此等現代電腦在中斷及任務轉移時間等待,及處 理架空上之時間限制,目前之電腦如不用擴充之儲存緩衝 器及輔助處理器,即無法處理所需之資料速率。此等緩衝 器之大小造成多媒體系統必須在晶片上作大量擴充,因此 ,增加額外成本。儘管,現代科技之進展可在每一積體電 路中配置更多記憶體,現代緩衝之資料轉移方法之大尺寸 及複雜性,繼續造成額外之製造成本,同時降低電腦操作 之性能。現代之應用需要更大數量之中斷,因而進一步將 此一問題惡化。 多暫存器中斷及任務轉移系統以前曾有許多建議,但 均遭受到不同之限制。特別是,使用大暫存器組造成在接 線及電容相關之延遲上伴隨之增加,因而使整個電腦速度 趨緩。其他方法曾經使用各別暫存器供資料儲存,但此舉 導致時間之浪費,因爲,在執行中斷之前,資料自及至此 等任務保存暫存器之移動時間所致。於是,必須用額外時 間,在中斷處理開始前以將工作資料載入一般目的暫存器 〇 丨 _ ' ~~ 一__ ______ - -—6____________________ 本紙張尺度適用中國國家棟準(CNS ) A4規格(210X297公釐) ---------装------1T------漆 (請先閱讀背面之注意事is再填寫本頁) 44836 6 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明(h ) 傳統電腦結構另一缺點爲其不能將有效方法倂入,以追 蹤處理器流程,包括任務轉移,而不需昂貴之硬體模擬器 及邏輯分析器。同時’傳統硬體模擬器無法在寳際作業情 況下測試電腦,因爲’其運轉速度不如被測試電腦運轉之 速度。 此外,電腦缺乏基於硬體之任務連結順序執行系統及期 限優先“不耐(impatience)”計數器,以允許中斷自動隨時間 增加其優先。 同時,多循環不中斷指令亦增加中斷等待時間延遲。 此等,等待時間延遲在現代複雜電腦中,可能長爲數百甚 至數千週期。 此外,現代科技之CPU之管道,可處理資料及指令以 便在每一週中可以處理更多資料及指令。但此舉有許多缺 點。當有一中斷進入,管道CPU必須放棄管道中未完成之 工作,及再設定不同之計數器以便在重新開始時恢復處理 。此稱爲管道“失控(stall)”。當執行分支指令時,管道CPU 必須猜測該分支指令之去處、失控或企圖追隨多個可能分 支之結果。所有此等不同管道CPU情勢可能造成電腦浪費 處.理資源,及導致更多延遲。 此外,傳統電腦系統需要廣泛之緩衝以容納高資料率 。因此,其不適用於單晶片、單式結構製造,此種製造之 優點爲低成本、較低能量及冷卻花費及提高之性能。 〔發明之槪述〕 鑑於上述問題及有關傳統電腦之結構及操作方法之限 本紙張尺度逋用♦國國家( CNS ) Λ4規格(210 X29^公楚) J~~ . I— n I— J #衣 ~[ I1T. H . 東 (請先閱讀背面之注意事項再填寫本頁) 44836 6 A7 B7 經濟部智慧財產局員工消黄合作社印製 五、發明説明(ψ ) 制’本發明之目的爲提供一獨特、零架空中斷及任務轉移 機構使用於電腦結構中,以偵出在背景中之中斷,於是在 一處理器循環與次一循環之間執行完全之狀態保存及恢復 作業’而無軟體干擾,並僅以任務儲存記憶體系統之大小 限制任務之數目,而不論任務記憶體存取時間,保留機構 之零架空性質。 本發明之另一目的爲在中斷及任務轉移之瞬間,以消 除必須轉移任務資料之運作至另一任務狀態儲存元件’以 時·間·之損失。 本發明之額外之目的爲可利用系統之部份任務記億體 作有效之處理器流程之追蹤,以供全速、即時之程式計劃 之調整。 本發明之另一目的爲提供一任務連結系統,使在多任 務系統中作所需之任務連結以供連結任務之強迫順序執行 〇 本發明之又一目的亦爲提供一優先“不耐”計數器系統 ,在任務優先期限到達時,提高不同任務之相對優先。 本發明之中斷與任務轉移機構之另一目的爲,消除廣 泛儲存緩衝器及附屬特別處理器之需要,以及其有關之成 本及延遲。 本發明尙有一目的,即以經由轉換任務之全部狀態而 非CPU暫存器之狀態方式’使以前認爲不能中中 ,以消除在長的多循環不能中斷之指令有關之等待時間 (請先閱讀背面之注意事項.再填寫本頁) - -='0 Γ 本紙法尺度適用中國國家梯準(CNS ) A4規格(210X297公釐) 448366 A7 B7 經濟部智慧財產局員工消贽合作社印製 五、發明説明(< ) 本發明之另一目的爲建立—決定性電腦結構,以便有 效消除等待時間之不可預期性。 本發明之中斷與任務轉移機構之又一目的爲,消除以 前所需要之CPU管線及分支預測電路之部份,俾可避免電 腦失控及延遲。 尤有進者,本發明之目的爲,系統設計應在電路上簡 單及靈巧,俾在傳統結構方法之限制內之CPU以內實施, 並在簡單小巧之積體電路範圍內完成其目的,以便降低本 發明電路之能源及冷卻需求,同時提高電腦處理速度。 本發明之優點爲其可使電腦以零架空及少數等待時間 循環,處理中斷及任務轉移,即僅自本地記憶體之一或二 循環。此舉之完成係由利用硬體將全部中斷及任務轉移完 全自動,並先偵出背景中之中斷,於是,在一處理器循環 及次一循環之間執行完全狀態保存及恢復作業,而無軟體 干擾,而僅以任務儲存記憶體系統之大小限制任務之數目 ,不論任務記憶體存取時間爲何,而能保留機構之零架空 〇 本發明可以避免與大暫存器組合相關之接線與電容延 遲。其使用相當小之暫存器組,該組自電腦之背景方法在 電上去耦合,以自大記憶體儲存保存及恢復暫存器狀態。 此爲主要之優點,因爲,與暫存器組相較,記憶體儲存器 之密度較高。此外,在犧牲等待時間可用外部記憶體儲存 器以儲存暫存器狀態。因而可實際上增加系統之容量供額 外之零架空任務之用。 (請先閲讀背面之注意事項再填寫本育) --=0.
I 本紙張尺度適用中國國家樣聲(CNS ) A4規格(210X 297公楚:) 44836 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明説明(b ) 中斷及任務轉移機構係藉利用’每〜任務暫存器位元 之二或更多之任務鎖存器達成其目的。每—鎖存器可交互 連接至大任務記憶體儲存器,或連至CP\j。因此,當CPU 利用一鎖存器時,在其他鎖存器中之資料可被保存,其他 任務資料可同時載入。一小狀態機控制任務轉移之順序 中斷及任務改變機構之結構增加少於二個鬧延遲於單 一暫存器之上。任務儲存隨機存取記憶體(RAM)之存取時 間不增加中斷及任務改變架空。現代積體電路製程可使任 務RAM在一循環之內操作,而可使“最壞”之中斷與任務改 變等待時間爲二個循環。 與傳統之電腦系統對照,確定性系統有一固定等待時 間,與操作及中斷模式無關,及與現在指令之期間無關。 在本發明中,系統在任何瞬間均可中斷,因爲在中斷 時,機器之全部狀態均已保存。中斷延遲爲等待時間之二 循環之一 ’因此,較傳統電腦更有確定性。 本發明之另一優點爲系統利用確定性中斷結構而容易 設計、測試及調整。 本發明又一優點爲其可容許缺點,其可置於或被置於 一模式中,該模式允許各別逐步調整。 額外之優點爲當利用確定性結構時,會導致較少成本 之處理器構型,故所需較少功率及較少緩衝仍可保持在預 備狀態》 另一優點爲,由於其爲確定性,本發明能提供新潛在 中斷申請機會。 裝 ί 訂 ! 線 (請先閱讀背面之注意事項再填寫本頁) 本紙朗中ϋϋ家榡準(⑽)八4规格(2!0;<297公慶) 4 4836 3 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明("j ) 由於本發明之中斷及任務改變機構在暫存器連接至 CPU時,利用任務鎖存器之一,故不需如其他方法,將資 料轉移至另一任務狀態儲存元件。此結果之進一步優點爲 在處理期間之時間節省。 此中斷及任務改變系統之額外優點爲,有能力建立任 務記憶體一部份之追蹤記憶體,因此,可作根據此系統之 電腦之全速及即時調整。 本發明尙有一優點即其任務連結系統可使任務連結’ 俾其必須順序執行。 本發明尙提供一另外優點,即其任務期限優先計數器 系統可使已通知硬體中斷之任務,隨時間之增加自動增加 其優先。此點對於較慢任務,如音頻任務特別適合,音頻 任務可由低優先開始。通常,CPU可找出時間對較低優先 服務,在次一抽樣期間之前任何時間均可。有時,CPU有 許多高優先任務。在此情況下,本發明之任務期限優先計 數器系統,在期限到達時,逐漸增加較低優先任務之優先 〇 本發明之又一優點爲,設計有此一中斷及任務改變機 構之電腦系統,可處理多種媒體資料速率而無需緩衝及其 伴隨之控制電路。此舉可使用較少之電路達成較大之I/O 功能。 本發明之另一重要優點爲,其可使以前認爲不可中斷 指令可以中斷,其方法爲轉移任務之全部狀態,而非僅 CPU暫存器之狀態,以消除在多循環不可中斷指令中之時 _______ _____u_ 本紙張尺度適用中國國家標率(CNS ) Λ4规格(210 X 297公釐) ---------坤衣------、1T------^ (諸先閱讀背面之注意事項再填寫本頁) 絰濟部智慧財產局員工消费合作祍印製 448366 A7 _______B7__ 五、發明説明(ί ) 間等待。 本發明之中斷及任務轉移系統之另一優點爲,其有能 力置換CPU中之管線及分支預測功能。本發明可解決在管 線CPU中存在之問題。其完成此一工作’僅需轉移任務而 不用管線或分支預測電路。不需分支預測。CPU在指令發 生時擁有分支指令。如分支指令所需之資料不在本地記憶 體中,分支任務與等待任務交換,處理繼續進行。 本發明另一優點其甚爲簡單而精密,故可使其在置換 單一而小之積體電路時,與現有製造方法相容。結果,實 際電路之能源需求得以降低,冷卻裝備及伴隨之額外電冷 卻能源需求亦可降低或消除,處理之CPU速度由於電路之 複雜性及尺寸之降低因而增高,晶片與晶片間內聯之系統 數目亦降低。 以上本發明之其他目的、特性與優點,將由以下本發 明詳細敘述及伴隨之圖說而更爲了解。 〔圖式之簡單說明〕 圖1爲本發明任務暫存器之位元片之實施例之電路圖 〇 圖2爲說明任務轉移之流程圖。 圖3爲中斷及任務改變處理電路之方塊圖。 圖4爲利用三個而非兩個鎖存器之中斷及任務改變系 統之另一實施之電路圖。 圖5爲具有額外追蹤電路之任務暫存器之電路圖。 圖6爲追蹤控制系統之實施方塊圖。 度適用中國國家^7^阽)A4規格(2l〇x 29^公度) ~~ ----------裝--------訂.------泉 (請先間讀背面之注意事項再填寫本頁} >6 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明説明(ΐ ) 圖7爲說明抽樣任務轉移之控制順序時序圖。 〔較佳實施例之詳細敘述〕 圖1圖解顯示電腦1之任務暫存器之一位元片。每一 32位元暫存器使用三十二個位元片。典型上,一 CPU使 用32位元暫存器。CPU1及靜態隨機存取記憶體(SRAM)2 可交互連接至鎖存器3及鎖存器4(永遠不連至相同鎖存器) 。爲討論之目的,吾人首先將#存器3連接至CPU,及鎖 存器4連接至SRAM2。在此構型中,CPU運行儲存於鎖 存器3中之任務。CPU1則利用任務鎖存器3運行一程式 ,硬體處理在背景中之中斷。 圖3圖解說明中斷處理電路。硬體中斷90包含供中斷 用之所有可能硬體資源,包括外部銷及內部週邊裝置,及 異常發生器。在較佳實施例中,每一主要中斷源被指定一 固定硬體任務號碼。或者,一可撓映射可在硬體、源及任 務之間。當時間暫停(time-out)計數器暫存器91已達其最 後計數,其將中斷輸出,如任何硬體中斷90源一樣。由時 間暫停計數器暫存器91控制之任務,在時間暫停計數器暫 存器91完畢時,及自動由時間暫停計數器暫存器91轉移 新時間暫停値時,開始運轉。中斷時間暫停計數器暫存器 91、及硬體中斷90之可能源結合於OR閘99,然後至中 斷啓動控制96 * 中斷啓動控制開關96由任務連結系統控制。此任務連 結系統利用運轉任務之連結暫存器81經由任務解碼器82 及AND閘1〇〇以觸發儲存任務之連結鎖存器83。寫入至 . 裝-- (請讀背面之注意事項再填寫本頁) 本紙張尺度逋用中國國家標準(CNS ) A4規格UlOX297公釐)
44P A7 B7 i、發明说明(〖。) 連結暫存器si亦停止特定之任務。在連結之鎖存器設定後 ,當先決任務再運行時,其將再啓動連結暫存器81中之特 定任務。於是特定任務可以開始運轉。在連結任務運轉終 止時,如連結鎖存器S3已設定,其將經由任務解碼器 及AND閘103及OR閘104。圖3A中顯示此電路之邏輯 圖。因此,此電路可保證連結任務及先決任務可交互運行 ,及保證連結任務永遠在先決任務之後,而非之前運行。 連結任務之長鏈亦屬可能。 中斷信號通過中斷啓動控制96,於是進入其任務優先 計數器暫存器95。此暫存器在其以任務之開始優先運轉時 ,經由CPU匯流排自任務載入。期限率鎖存器94亦在任 務運轉時被載入,於是將其再載入任務期限優先計數器93 。通過中斷啓動控制96之中斷,開始啓動任務期限優先計 數器93。任務期限優先計數器93計數直到完成,於是輸 出一信號至任務優先計數器95,以增加一個任務優先。同 —信號用來將期限率鎖存器94再載入任務期限優先計數器 93。以此方式,在其期限到達已中斷後,任務可被設定以 增加其優先。 每一任務將其優先自任務優先計數器暫存器95饋送至 優先選擇器19。此電路選擇最高優先任務,及將任務號碼 及優先發送至任務開關控制器20。由於任務可在鎖存器4 或3之一(圖1)中花時間等待運轉,等待任務之任務優先期 限優先計數器93通過MUX92至任務開關控制器20。以此 方式,任務控制器20可持續增加等待任務之優先,直到其 (請先閱讀背面之注意事項再填寫本頁) .-β 丁 經濟部智慧財產局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS ) A4规格(210X 297公釐) 44836 6 at Β7 經濟部智慧財產局員工消費合作社印製 五、發明説明(八) 超過運轉任務之優先,於是開始一任務交換。 在此事例中,許多相同優先任務被同時提供給優先選擇 器19,此優先選擇器19決定優先’及按順序選擇任務。 任務轉移控制器20利用小狀態機將任務控制器匯流排作成 順序,以完成任務轉移。圖2顯示一流程圖’以說明由任 務轉移控制器20執行之步驟以完成任務轉移。 在圖1中之零時間,電路設定如下:CPU1連接至鎖存 器3;任務控制匯流排A/B信號線設定至B;鎖存益3Q輸出 通過多工器(MUX)17至CPU1輸入;CPU1輸出通過MUX14 至鎖存器3輸入D;鎖存器4通過MUX13至SRAM2輸入 ;SRAM2輸出通過MUX15至鎖存器4輸出D。 轉移任務之第一步係將任務自SRAM2中讀出進入未 被CPU1使用之鎖存器中,此時爲鎖存器4。此舉之完成 係將中斷任務位址置於任務控制匯流排TASK TO READ位 址匯流排上。CLOCKB信號於是將該狀態存儲於鎖存器4 中。(由於此例係始自一冷開機,鎖存器中無任務,正常時 有一任務。以宣示TASK TO WRITE任務目的地位址及宣 示CLOCK SRAM線,任務可在新中斷任務自SRAM2讀出 之同時,被寫入返回SRAM2中)。在時間T2(圖2),此新 任務被載入鎖存器4中。在同一時脈邊緣或以後之一循環 之一部份,Α/Β控制信號改變爲Β,促使鎖存器4輸出, 及自CPU1取一輸入,而使鎖存器3取一輸入及輸出至 SRAM2。此時,如原始任務再中斷,Α/Β線再被觸發以轉 移任務而不需自SRAM2讀出。 (請先閲讀背面之注意事項再填寫本頁) 本紙張尺度通用中國國家標窣(CNS } Α4规格(210X297公釐) 44836 6 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明説明) 以上例子係開始情況。正常時’―旦開始,當一新中 斷進入時,即有一任務等待運轉。因此,此等待任務可被“ 沖掉(flushed)”(丟掉)。但在較佳實施例中,等待任務經常 被運轉一個循環,而新中斷任務自SRAM2取出,前一運 轉任務保存在SRAM2中。按順序’當鎖存器3連接至 CPU 1並運轉一任務,而鎖存器4保持次一任務以待運轉 ,如優先選擇器19(圖3)偵出一新中斷等於或較高優先時 ,於是在T1(圖2),A/B線被搬至B,因此造成在鎖存器4 中之任務資料成爲與CPU 1相連接,而鎖存器3現在與 SRAM2連接。新中斷任務位址於是被放在TASK TO READ任務控制匯流排,而前一運轉任務位址則放在 TASK TO WRITE線上。在Ή(圖2),前一中斷任務資料被 送進SRAM2中,新中斷任務資料被送進鎖存器3,及 CPU 1將送任何資料(如已被程式)進入鎖存器4。A/B線於 是再被搬至A以在鎖存器3之外運轉新中斷任務^ 本發明之另一實施亦屬可能。圖4顯示具有三個而非 兩個鎖存器實施之暫存器位在。此處,三輸入MUXs40及 41置換在2鎖存器設計(圖1)之二輸入MUXs。一額外 MUX42力口入以選擇SRAM2或CPU 1。額外之鎖存器可使 三任務之等待時間僅爲一循環。但是,每位元之電路較大 ,及較慢,因爲需要額外接線及電容。與較簡單MUXS13 及Π(圖1)相比較,經由MUXs4〇及41,仍有額外之閘延 遲。固定應用之最佳構型視積體電路製造方法之特定特性 ,及應用之時序需求而定》 (請先閱讀背面之注意事項再填寫本頁) -裝. 訂 .紙張尺度適用中國國家榡準(CNS ) A4規格(210 X 297公釐) 經.濟部智珐財產局員工消費合作社印製 443366 A7 〆------------ B7__ 彡、發明說明(A ) _ 5顯示追蹤(trace)功能之實施。除了圖1中之所述 任務轉移功能外,MUX50及三態開關51亦被加入。追蹤 SRAM2a用來作爲任務轉移SRAM2或作爲追蹤SRAMh, 其方法爲改變位址及追蹤/任務控制線至MUXSO。當CPU 1儲存進入鎖存器3或4,如追蹤時,MUX5〇將資料通過 至追蹤SRAM2a。圖6顯示追鎞控制器之方塊圖。不同測 試點由MUX60加以選擇,邏輯測試則由測試邏輯61選擇 °如測試邏輯指出情勢與用戶測試設定點匹配,追蹤控制 器62開始追蹤。追蹤控制器62在其最簡單用途時,輸出 順序追蹤寫入位址,並證實追蹤信號。追蹤控制器亦可設 計爲連續追蹤,直到發生事故,方停止追蹤,或在停止前 追蹤少數步驟。追蹤資料之讀出之完成係經由證實將控制 交與三態51(圖5)以供連接至追蹤讀出位元之每一位元。 此資料每次可讀出一位元,因爲,追蹤讀出並非時間上重 要任務,或其可被組合在一起,利用較寬之匯流排供暫存 器輸出。 本發明之不同實施例已如上所述,吾人了解係以舉例 而非限制方式提出。因此,本發明之範疇及寬廣度不應由 上述範例實施例所限制,並且根據下列申請專利範圍所限 定。吾人了解精於此技藝人士,將可作在型式上及細節上 不同之修正,而不致有饽本發明之精神及範疇8 上述說明書中所用之名稱及詞句係作爲說明而非限制 之用,亦無意排除等値之特性,吾人認爲本發明之範疇僅 限於以下之申請專利範圍。 ---------^-----丨11------β C請先閲讀背面'5·>ϊ意事項再填寫本頁) 尺度適ϋ國國家標年(CNS ) Α4規格(210X 297公釐) 3 ^— -------- B 經濟部智慧財產局員工湧f合作社印製 4 4 6 6 Λ Α7 奶年丨I風 > 日修正/更也/捕充 五、發明说明(14 ) 〔元件符號說明〕 1 CPU (中央處理單元) 2 SRAM (靜態隨機存取記憶體) 2a 追踪SRAM 3,4 鎖存器 13,14,15,17 多工器 19 優先選擇器 20 任務開關控制器 40,41,42 多工器 43 鎖存器 50 多工器 51 三態開關 60 測試點多工器 61 測試邏輯 62 追踪控制器 81 連結暫存器 82 任務解碼器 83 連結鎖存器 90 硬體中斷 91 時間暫停計數器暫存器 92 期限增量多工器 93 任務計數器 94 期限率鎖存器 95 任務優先計數器暫存器 18 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨〇X297公t ) {請先閱讀背面之注意事項再填寫本頁) .裝------訂------線 ( 4 483 6 6 j $ ^丨丨月\曰修正/更正/補充:277 五、發明説明(丨5") 96 中斷啓動控制 97 中斷啓動鎖存器 98,100,101,103 及(AND )閘 99,104 或(OR)閘 102 任務解碼器 (請先閱讀背面之注意事項再填寫本f) -裝 訂 經濟部智慧財產局員工消費合作社印製 本紙浪尺度適用中國國家橾準(CNS ) A4規格(210X297公釐)

Claims (1)

  1. A8 B8 C8 D8 六、申請專利範圍 1. 一種供在任務間迅速轉移之機構’其在具有許多暫 存器之一種微電腦中,該等暫存器係以選擇性多工俾與一 CPU連通,該種微電腦並具有一暫存器組記億體供儲存許 多暫存器組以可被雙重尋址供讀出第一暫存器組且同時寫 入第二暫存器組,每一暫存器組被指定執行一任務,該種 機構包含: 第一及第二鎖存器總成,供該暫存器組每一位元,該 各個鎖存器總成包括: —鎖存器; 第一多工器,具有一輸出連接至該鎖存器之輸入、第 一輸入連接至該CPU之一輸出、及第二輸入連接至該暫存 器組記憶體之一輸出; M濟部中夬梂隼扃員工消费合作社印策 ---------<----------訂 1 I * (請先聞讀背面之注意事項再填寫本頁} 第二多工器,具有一輸入連接至該鎖存器之輸出、第 —輸出連接至該CPU之一輸入、及第二輸出連接至該暫存 器組記憶體之一輸入,藉此由該CPU處理之第一暫存器組 可在同一時脈循環可被寫入第一鎖存器組中’如第二暫存 器組自該暫存器組記憶體所讀出並儲存在該第二鎖存器組 中,及第三暫存器組自該第二鎖存器組中讀出並寫入該暫 存器組記憶體中。 1 本紙張尺度逍用中國國家榡率(CMS ) A4規格(210X297公釐)
TW088102041A 1998-02-13 1999-02-10 Zero overhead computer interrupts with task switching TW448366B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/023,333 US5987601A (en) 1997-02-14 1998-02-13 Zero overhead computer interrupts with task switching

Publications (1)

Publication Number Publication Date
TW448366B true TW448366B (en) 2001-08-01

Family

ID=21814484

Family Applications (1)

Application Number Title Priority Date Filing Date
TW088102041A TW448366B (en) 1998-02-13 1999-02-10 Zero overhead computer interrupts with task switching

Country Status (14)

Country Link
US (2) US5987601A (zh)
EP (1) EP1062572A4 (zh)
JP (1) JP2002503845A (zh)
KR (3) KR100617357B1 (zh)
CN (1) CN1116639C (zh)
AU (1) AU2659899A (zh)
BR (1) BR9907848A (zh)
CA (1) CA2320913C (zh)
HK (1) HK1036663A1 (zh)
ID (1) ID26818A (zh)
MX (1) MXPA00007850A (zh)
NO (1) NO20004043L (zh)
TW (1) TW448366B (zh)
WO (1) WO1999041661A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845419B1 (en) * 2000-01-24 2005-01-18 Freescale Semiconductor, Inc. Flexible interrupt controller that includes an interrupt force register
KR100852563B1 (ko) 2000-10-18 2008-08-18 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 디지털 신호 처리 장치 및 방법
US20030014474A1 (en) * 2001-05-30 2003-01-16 Mckaig Ray S. Alternate zero overhead task change circuit
US20040172631A1 (en) * 2001-06-20 2004-09-02 Howard James E Concurrent-multitasking processor
US7136419B2 (en) 2002-06-20 2006-11-14 Lightfleet Corporation Pulse width communications using precision timing
US6920632B2 (en) * 2002-08-23 2005-07-19 Xyron Corporation Dynamic multilevel task management method and apparatus
JP2005165961A (ja) * 2003-12-05 2005-06-23 Matsushita Electric Ind Co Ltd 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路
US9286445B2 (en) * 2003-12-18 2016-03-15 Red Hat, Inc. Rights management system
US8533716B2 (en) * 2004-03-31 2013-09-10 Synopsys, Inc. Resource management in a multicore architecture
US7779239B2 (en) * 2004-07-28 2010-08-17 Intel Corporation User opt-in processor feature control capability
US9038070B2 (en) 2004-09-14 2015-05-19 Synopsys, Inc. Debug in a multicore architecture
US7149129B2 (en) * 2004-10-25 2006-12-12 Lattice Semiconductor Corporation Memory output data systems and methods with feedback
JP4529661B2 (ja) * 2004-12-02 2010-08-25 株式会社アドヴィックス Abs制御装置
US7224622B2 (en) * 2005-02-14 2007-05-29 Himax Technologies, Inc. Method for writing data into memory and the control device
CN100361049C (zh) * 2005-03-08 2008-01-09 华硕电脑股份有限公司 计算机系统及其清除控制电路和清除环境设定内存的方法
JP4068106B2 (ja) * 2005-08-05 2008-03-26 三菱電機株式会社 リアルタイム組込み簡易モニタプログラム
US7937706B2 (en) * 2005-08-22 2011-05-03 Runtime Design Automation, Inc. Method and system for performing fair-share preemption
KR100679050B1 (ko) * 2005-12-12 2007-02-06 삼성전자주식회사 태스크간 빠른 문맥 교환을 위해 레지스터 문맥을 저장,복구하는 방법 및 장치
KR100663709B1 (ko) * 2005-12-28 2007-01-03 삼성전자주식회사 재구성 아키텍처에서의 예외 처리 방법 및 장치
KR100681199B1 (ko) * 2006-01-11 2007-02-09 삼성전자주식회사 코어스 그레인 어레이에서의 인터럽트 처리 방법 및 장치
US8125243B1 (en) 2007-03-12 2012-02-28 Cypress Semiconductor Corporation Integrity checking of configurable data of programmable device
WO2009022371A1 (ja) 2007-08-16 2009-02-19 Netcleus Systems Corporation タスク処理装置
US20110072247A1 (en) * 2009-09-21 2011-03-24 International Business Machines Corporation Fast application programmable timers
KR20150002129A (ko) * 2013-06-28 2015-01-07 에스케이하이닉스 주식회사 반도체 장치, 그를 포함하는 반도체 시스템 및 그 반도체 시스템의 테스트 방법
KR20170065845A (ko) 2015-12-04 2017-06-14 삼성전자주식회사 프로세서 및 제어 방법
US9971516B2 (en) 2016-10-17 2018-05-15 International Business Machines Corporation Load stall interrupt
CN108874517B (zh) * 2018-04-19 2021-11-02 华侨大学 固定优先级待机备用系统利用率划分能耗优化方法
CN111506531B (zh) * 2020-03-27 2023-06-02 上海赛昉科技有限公司 一种easy-master微码模块及其配置方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL294820A (zh) * 1962-07-03
US3789365A (en) * 1971-06-03 1974-01-29 Bunker Ramo Processor interrupt system
US3757306A (en) * 1971-08-31 1973-09-04 Texas Instruments Inc Computing systems cpu
US4010448A (en) * 1974-10-30 1977-03-01 Motorola, Inc. Interrupt circuitry for microprocessor chip
US4009470A (en) * 1975-02-18 1977-02-22 Sperry Rand Corporation Pre-emptive, rotational priority system
US4034349A (en) * 1976-01-29 1977-07-05 Sperry Rand Corporation Apparatus for processing interrupts in microprocessing systems
US4047161A (en) * 1976-04-30 1977-09-06 International Business Machines Corporation Task management apparatus
US4507727A (en) * 1982-02-11 1985-03-26 Texas Instruments Incorporated Microcomputer with ROM test mode of operation
US4628158A (en) * 1982-07-16 1986-12-09 At&T Bell Laboratories Stored program controller
US4642756A (en) * 1985-03-15 1987-02-10 S & H Computer Systems, Inc. Method and apparatus for scheduling the execution of multiple processing tasks in a computer system
US5142677A (en) * 1989-05-04 1992-08-25 Texas Instruments Incorporated Context switching devices, systems and methods
US4888691A (en) * 1988-03-09 1989-12-19 Prime Computer, Inc. Method for disk I/O transfer
EP0547240B1 (en) * 1991-07-08 2000-01-12 Seiko Epson Corporation Risc microprocessor architecture implementing fast trap and exception state
US5557766A (en) * 1991-10-21 1996-09-17 Kabushiki Kaisha Toshiba High-speed processor for handling multiple interrupts utilizing an exclusive-use bus and current and previous bank pointers to specify a return bank
US5682554A (en) * 1993-01-15 1997-10-28 Silicon Graphics, Inc. Apparatus and method for handling data transfer between a general purpose computer and a cooperating processor

Also Published As

Publication number Publication date
US5987601A (en) 1999-11-16
CA2320913A1 (en) 1999-08-19
NO20004043L (no) 2000-10-11
CN1293776A (zh) 2001-05-02
HK1036663A1 (en) 2002-01-11
KR20060024029A (ko) 2006-03-15
KR100635519B1 (ko) 2006-10-17
KR100647526B1 (ko) 2006-11-23
KR100617357B1 (ko) 2006-08-28
CA2320913C (en) 2008-10-14
US6981133B1 (en) 2005-12-27
NO20004043D0 (no) 2000-08-11
KR20010040959A (ko) 2001-05-15
EP1062572A1 (en) 2000-12-27
JP2002503845A (ja) 2002-02-05
KR20060031883A (ko) 2006-04-13
MXPA00007850A (es) 2002-08-20
WO1999041661A1 (en) 1999-08-19
BR9907848A (pt) 2002-05-07
EP1062572A4 (en) 2003-06-25
CN1116639C (zh) 2003-07-30
ID26818A (id) 2001-02-15
AU2659899A (en) 1999-08-30

Similar Documents

Publication Publication Date Title
TW448366B (en) Zero overhead computer interrupts with task switching
TW502173B (en) Method and apparatus to force a thread switch in a multithreaded processor
US7590774B2 (en) Method and system for efficient context swapping
KR102519019B1 (ko) 액세스 효율에 기초한 메모리 요청의 순서화
US6279077B1 (en) Bus interface buffer control in a microprocessor
US5832262A (en) Realtime hardware scheduler utilizing processor message passing and queue management cells
TW409227B (en) Method and apparatus for selecting thread switch events in a multithreaded processor
JPH05204674A (ja) マルチタスキングデータ処理システム
US6691268B1 (en) Method and apparatus for swapping state data with scan cells
JPS58501560A (ja) マイクロプロセツサ
US20240248717A1 (en) Atomic Operation Predictor to Predict Whether An Atomic Operation Will Complete Successfully
US5815692A (en) Distributed clock generator
TW449720B (en) Routing dependent instructions to clustered execution units
US7120915B1 (en) Thread switch circuit design and signal encoding for vertical threading
US7343480B2 (en) Single cycle context switching by swapping a primary latch value and a selected secondary latch value in a register file
EP0667576A1 (en) A data processor and a trace circuit using the data processor
US5761492A (en) Method and apparatus for uniform and efficient handling of multiple precise events in a processor by including event commands in the instruction set
KR100457478B1 (ko) 메모리액세스방법및데이터처리시스템
Morton et al. ECSTAC: A fast asynchronous microprocessor
US12099841B2 (en) User timer directly programmed by application
US7124277B2 (en) Method and apparatus for a trace cache trace-end predictor
US20140129776A1 (en) Store replay policy
Ito et al. Effectiveness of a high speed context switching method using register bank
JPH0212358A (ja) データ転送方式
JPS59146361A (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