TWI323847B - Data processing system having multiple register contexts and method therefor - Google Patents

Data processing system having multiple register contexts and method therefor Download PDF

Info

Publication number
TWI323847B
TWI323847B TW092114269A TW92114269A TWI323847B TW I323847 B TWI323847 B TW I323847B TW 092114269 A TW092114269 A TW 092114269A TW 92114269 A TW92114269 A TW 92114269A TW I323847 B TWI323847 B TW I323847B
Authority
TW
Taiwan
Prior art keywords
context
register
scratchpad
temporary
processing system
Prior art date
Application number
TW092114269A
Other languages
English (en)
Other versions
TW200401195A (en
Inventor
C Moyer William
H Arends John
Original Assignee
Freescale Semiconductor Inc
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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of TW200401195A publication Critical patent/TW200401195A/zh
Application granted granted Critical
Publication of TWI323847B publication Critical patent/TWI323847B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

1323847 玖、發明說明: 【發明所屬之技術領域】 且更特別地關於具有 本發明通常有關一資料處理系統, 多暫存器上下文之一資料處理系統。 【先前技術】 先前申請案之參照 案號為 本發明已於2002年5月31曰在美國提出申請 1 0/1 59,386。 於如微處理器(microprocessor)之資料處理系統中 理器被用來控制運算的執行與處理。該處理器包括暫存^ ,以用於儲存由該處理器在—般運算與例外處理期間内= 使用之暫存器上下文。當—插斷(intemipt)或程序切換 (process swiUh)發生時,該暫存器上下文資訊可能被破壞 ,因為插斷處理程式或新程序將使用相同的暫存器且可能 改變其中某些數值。 & 對以上所提問題的一個解決方法為纟開始該插斷或新程 序之前,將暫存器上下文現有數值儲存在記憶體令,當該 插斷處理完成或t回到現有程序時,將所健存的暫存器上 下文數值從該記憶體再讀回到暫存器令。然而,儲存:存 器上下文及載人新上下文之額外花費於—即時(⑽ 或南效能環境中並非所想要的。因而,存有對於—資料處 理系統中有彈性且減少額外花費之暫存器上下文選擇設計 (register context selection scheme)的需求。 【發明内容】 85572 丄奶847 描述具有多暫存器上下文(register contexts)(34、35、36) 之一資料處理系統(1〇>本發明一具體實施例對其每個暫存 器上下文使用一使用者可程式化上下文控制暫存器(丨4〇)以 允許一替用(alternate)暫存器上下文之部分映射到一現有 暫存器上下文。該上下文控制暫存器還可被用來提供於多 暫存器上下文間共用公用堆疊指標。因此,當於現有暫存 器上下文中運作時’該上下文控制暫存器可被用來存取一 替用暫存上下文的部份以取代存取現有暫存器上下文之相 對應部分。 【實施方式】 如本文所使用,"匯流排"(bus) —詞用於有關移轉如資料 、位址、或狀態等之一種或更多各種型態資訊的複數個訊 號或導體(conductor)。"判定”(assert)及|,否定,i(negate)(戋 反判定"(deassert))等用詞為當有關—訊號 '狀態位元、或 類似裝置分別地體現成其邏輯真(l〇gicaUy true)或邏輯偽 (logically false)時來被使用。如果邏輯真的狀態為邏輯準位 一(logic level one)時,則邏輯偽的狀態為邏輯準位零ο.%。 level zero)»且如果邏輯真的狀態為邏輯準位零,則邏輯偽 的狀態為邏輯準位一。於一數字前的符號"$"指示著該數字 sixteen)的 係以十六進位(hexadecimal)或以十六基底(base 形式來呈現。於一數字前的符號"%"指示著該數字係以二進 位(binary)或以二基底(base two)的形式來呈現。 圖1例示經由資料匯流排4與位址匯流排6輕合至_外1 裝置2之一資料處理系統10。資料處理系統1〇包括一處理^ 85572 Γ離實施例中’資料處理系統10與外部裝置2皆以 :離的積體電路來實作。於㈣具體實施例中,資料處理 糸統1 0與外部裝置2可於一 '早積體電路上來實作。於資料 處理系統1 0内,處理5!〗9ώ 爽理存丨2精由一内部資料匯流排!3與内部 位址匯流排1 4來耦合至年统整入 ⑽咖。 電路(卿m nuegratl0n 一〜f於本發明某些具體實施例中’資料處理系統i〇於 一單—積體電路上形成。此外,以些具體實施例中,資 枓處理系統丨0可以式一單一晶片微控制器(micr〇__e〇 :處器數位5扎號處理器、或任何其他型態的資料處 理系統。並且,資料處理系統10可使則壬何型·態的電路來 實作。外部裝置2可為任何型態的電路,包括一記憶體或任 何型態的週邊裝置。替用具體實施例可包括更多、更少、 或不同的外部積體電路。此外,匯流排4及6可使用任何數 目的位元來實作。 運作上,系統整合22被用來允許於處理器12與外部裝置2 間的通訊。即是,處理器12經由内部匯流排14與13來傳送 ί料及位址資訊至系統整合22,其接著將該資料與位址資 訊經由匯流排4與6以外部裝置2所適合的方法及格式來傳 送該資料及位址資訊。處理器12將稍後以參考圖2來詳述。 圖2根據本發明一具體實施例來例示處理器丨2之一部份 。處理器12包括一算術邏輯單元(arithmetic logic unit, ALU)24 一 位址產生器(address generator)26、一指令管線 (instruction piPeline)28、一 指令解碼電路(instructi〇n 85572 1323847 ecode circuit)30、一暫存器棺案集合(register ⑴e set)32、 及向1位移產生器(vector offset generator)39。暫存器檔 案:>2已括夕個暫存态上下文、像是上下文ο]*'上下文1 μ 、與上下文N 36。因此,暫存器檔案32可包括N+1個暫存器 上下文,並且雖然僅3個上下文例示於圖2中,但處理器12 可包括任何數目的暫存器上下文,取決於該硬體可支援多 ,個暫存器上下文。暫存器檔案32還包括一控制暫存器標 案38。内部位址匯流排14耦合至位址產生器%,且位址產 生器26經由一暫存器來源匯流排40耦合至暫存器檔案32並 且還耦合至内部資料匯流排13。向量位移產生器39經由一 向置位移匯流排27耦合至一位址產生器26。内部資料匯流 排13耦合至指令管線28、ALU 24、及暫存器檔案”。指令 解碼電路〇〇為經由一指令匯流排29雙向地耦合至指令管線 28。暫存器檔案32為經由欄位資訊匯流排42耦合至ALU 24。 圖3根據本發明一具體實施例來例示一暫存器上下文5 i 。圖3的暫存器上下文51可代表圖2中上下文〇至上下文N中 任一上下文。於圖3的具體實施例中,暫存器上下文51包括 32個一般用途暫存器(general purpose register,GPR)50、一鏈 結暫存器(link register)54、一計數暫存器(c〇unt register)56 、一條件暫存器(condition register)58、一整數例外暫存器 (integer· exception register)6〇、一機器狀態暫存器 state register)62、及一上下文控制暫存器(c〇ntext c〇ntr〇1 register)64。當從一副常式(subr〇utine)呼叫及返回時,鏈結 暫存器54被用來持有副常式鏈結資訊(subr〇uUne Hnkage 85572 -9- 1323847 广0_議)。計數暫存器56被用於持有處理計數指令迴圈 (co^ed — instrueti〇n)的計數資訊。條件暫存器顺 用來持有條件程式碼(eGnditi()n eQde)計算的結果^整數例 外暫存諸被用來提供各種例外狀態。機器狀態暫存器^ 破用來控制及提供於處理器! 2内各功能的狀能。 如稍後將料之上下文控制暫存器64係根據本發明一:體 實施例被用於提供上下文切換m意到其中—個⑽ 5〇為保留來儲存現有堆疊指標之一堆疊指標暫存器⑼- pointer register)52。 因此,一暫存器上下文為有關如先前所述暫存器(上下文 51的暫存器)之上下文。替用具體實施例可將—暫存器上下 文定義成具有暫存器上下文51之所有或某些暫存器的暫存 器上下文,或者可包括不同於暫存器上下文5ι之他組暫存 器集合。因而,如此處所用 一暫存器上下文可定義成具 有任何數目及任何型態的暫存器。典型地,一暫存器上下 文包含形成處理器之一 程式師暫存器模型(pr〇grammer,s register model)之全部或一部分的暫存器資源。於正常運作 或當開機或重置(reset)時,資料處理系統丨〇可内定為使用上 下文0 3 4(注意到於替用具體實施例中,一般運作可内定成 一不同的上下文)。然而,當一插斷或程序切換發生時為 了不致破壞於上下文0 34中的數值,資料處理系統1〇對處 理該插斷或執行該新程序或程式緒(thread),挑選一新的上 下文(從上下文1至N)。因而,插斷處理與程序切換(如多執 行緒(muUi-threading)可造成於資料處理系統1〇内暫存器上 85572 -10 - 1323847 下文切換的需要。還有’於某些具體實施例中於一暫存 器上下文内與另_暫存器上下文共用—部份暫存器是需要 的。因此,如稍後將述,一暫存琴 专仔益上下文的部分可被映射 (mapped)到另一暫存器上下文以協助減少額外花費並於一 上下文切換期間增加其速度。 於資料處㈣統H)中’例外及插斷於指令管線28的解碼 階段或執行階段被辨識。㈣,當—指令被提供給指令解 碼電路30並解碼時,一插斷可被辨識及處理,而取代正常 指令處理。於此處所描述之一具體實施例中,存有多重插 斷階層以決定一插斷是否具有高於其他插斷的優先權。因 而,具有高優先權的插斷將比較低優先權的插斷取得更快 速的處理,較低優先權的插斷需等待處理。如果想要的話 ,具有相同優先權的每個或每種插斷可因此共用相同的暫 存器上下文。 當接收一插斷時,資料處理系統10開始執行一例外處理 程序(exception processing seqUence)。於此程序期間,向量 位移產生器39經由向量位移匯流排27提供一向量位移數值 給位址產生器26。位址產生器26使用該向量位移數值於開 始處理該插斷的執行點上形成一指令位址。於一具體實施 例中,除了該向量位移數值’向量位移產生器還提供一上 下文選擇器(context selector)以指示用於該插斷處理之暫 存器上下文。於一具體實施例中,該上下文選擇器為該向 里位移數值之一部份,或可為由向量位移產生器39所提供 之一分離的數值。還有’該上下文選擇器可直接提供給暫 85572 -11 · 1323847 存器標案32。於替用具體實施例中,該上下文選擇器可為 從一記憶體所讀出或經由-指令來接收的數值(未例示)。於 在暫存器檔案32中具有8個暫存器上下文的資料處理系統 1〇之例子中’該上下文選擇器可為用來識別其中一個暫存 器上下文的3位元數值。 還有,資料處理系統10能執行裎序切換,其中處理器12 能從-程序切換到另一程序,其中每個程序可以不同的暫 存器上下文來運算。例如,於一多執行緒的應用中,處理 器12可持續地於各種處理執行緒間切換,其中不同處理執 灯緒(或處理執行緒群組)使用—不同暫存器上下文。於程序 切換的例子中,一插斷可被用來指示一程序切換至資料處 理系統10(其中該插斷處理包括切換中的程序”或是,其他 方法可制來對位址產生器26指示—程序切換為必須的, 因此位址產生6 26可對該新程序產生_起始位址⑻扣㈣ )還有*一程序切換時,一上下文選擇器還被提 供來指示該新程序需要哪個暫存II上下文。如先前所述, Γ上下!1選擇器可用各種不同方式來被提供(及從向量位 τ夕產生@ 39、從記憶體、從—使用者指令等)且可被直接或 間接Μ如、&由位址產生器26)提供給暫存器擋案因此可 選擇正確的暫存器上下文。 -旦已建立-暫存器上下文,由處理器12所執行的指令 將參照適當的—般用途暫存器(GPRs 50)或特殊用途暫存器 (如 LR 54、CTR 56、CR 58、XER 60、MSR 62、或 CTXCR 64) ,以對應到現有已建立的上下文。於其他上下文内的暫存 85572 12 1323847 器將不被影響(除非如稍後所述之已建立映射),因而&任何 儲存或回復至記憶體之替用上下文需在該現有已建立上下 文的指令執行之前來執行。這提供了額外花費的節省。 圖4及05例示了可在資料處理系統H)内使用之暫存器上 下文中的範例映射。圖4例示三個暫存器上下文上下文〇 、上下文172、及上下文2 74。這些暫存器上下文可代表於 圖2中上下文〇至上下文州之三個上下文。假設於圖4的範 例中,上下文〇 70對應到資料處理系統1〇的正常運作上 下文172對應到重要插斷(最高優先權)、及上下文2續應 到-外部插斷(較低優先權)。如先前所述,於某些個例中最 好是多個暫存器上下文共用該暫存器的一部份。因此,於 圖4範例中’如箭號82所指示’上下文…的堆疊指標暫存 器8〇映射到上下文1 72的堆疊指標78以指示上τχι 72與 上下文2 74能夠共用一相同的堆疊指標,因此相同的堆疊 指標數值於兩暫存器上下文中使用。該映射減少了額外花 費亚協助維持該堆疊指標的—致性(coherency)。因而,當 處理一外部插斷時,資料處理系統丨〇會選擇上下文2 μ。 然而,因為堆疊指標暫存器8〇映射到堆疊指標暫存器Μ, 於上下文1 72的堆疊指標78可在上下文2 74運作期間内為 了存取5玄堆豐指標而被存取。換言之,當以現有上下文數 值而選擇上下文2 74來運作時,試圖存取堆疊指標暫存器 8〇的拕令與其他運算被重導(redirect)至存取於上下文i 72 :的堆叠指標暫存器78。此允許單--致的(eGnsistent)堆 疊與堆疊數值共用於上下文丨及上下文2間,而不會有同步 85572 -13 - 1323847 化(synchronizing)分離之堆疊指標暫存器及的額外花 費。 ^意到堆疊指標暫存器7 6 (上τ文G 7 Q的)及堆疊指標暫 存杰78(上下文! 72的)並無映射;因❼,當以這些暫存器上 下文來運作時,於存取該堆疊指標時無須存取任何其他暫 存器上下文。分別於每個暫存器上下文70、72、74内的上 下文控制暫存器77 ' 79、75指示相對應的暫存器上下文的 堆f指標是否被映射’且如果為是,其映射至哪個其他暫 f :。上下文。邊上下文控制暫存器的細節將稍後參考圖6來 5羊述。 圖5根據另-範例來例示三個暫存器上下文:暫存器上下 文190、暫存器上下文”2、及暫存器上下文3 91如同圖 ,圖5之暫存器上下文可代表圖2中暫存器上下文〇至上下 文N其中三個暫存器上下文。於圖5的範例中,暫存器上下 文1 90對應到程序A、暫存器上下文2 %對應到程序b、及 暫存器上下文3 94對應到程序C。因此,當資料處理系统1〇 =行程序A時’資料處理系統丨。係以暫存器上下文"。來 ^鼻。當程序切換時,(如從程序續到程序B),於執 Μ時該上下文選擇器選擇暫存器上下文^來使用。王 ^參考圖4所述,每個堆疊指標暫存器具有映射到不同暫存 益上下文的能力。例如’於圖5中,暫存器上下文 叠指標暫存器96如箭號124所指示映射到暫存器上下文2二 的堆疊指標暫存器98。因而’當執行程序Α(使用暫存' 下文! 90)時,對該堆疊指標之—存取真的造成對以㈣= 85572 1323847 器上下文内之堆疊指標暫存器98(即暫存器上下文2 存取。注意到暫存器上下文3 94之堆聂浐 並未映射。另,於—且曰π暫存…00然而 n …、體實鈀例_,係可能具有階層映射 mapping)。例如,就如堆疊指標暫存器%映射到堆 璧指標暫存器98 ’例如堆疊指標暫存器%亦可映射到堆疊 指標暫存器100 1,_特殊堆疊指標暫^可有多個堆: 指標暫存器映射至它。例如,堆疊指標暫存n _及96可二 射至堆疊指標暫存n 98 ^其他映射亦為可能。 圖5的暫存器上下文還包括暫存器的分群㈣咖幻。例 如’該-般用途暫存器被分群成四暫存器的群組。於暫存 器上下文1 90’ GPR 4_7被群組在—起成暫存器群組1〇2、 GPR 8-U被群組在一起成暫存器群組1〇4、及GpR m被 群組在-起成暫存器群㈣…因而,於圖5的範例中暫 存器上下文1 90包括三個四暫存器群組(群組ι〇2、1〇4、及 106),其中每個這些群組可被映射至(以一群組)一不同暫存 益上下文。於替用具體實施例中’任何數目與型態的暫存 器可被視為一分離的群組,取決於所需要的詳盡性 (granularity)。類似地,暫存器上下文2 92包括三個四暫存 器群組:具有GPR4-7之群組114、具有GPR8_n之群組116 、具有GPR 28-〇1之群組118。另,暫存器上下文3 94包括 二個四暫存态群組:具有GPR 4-7之群組108、具有GPR 8_ 11之群組110'具有GPR 28-3 1之群組這些分群允許暫 存器群組於不同暫存器上下文間映射。 例如,如由箭頭120所例示,暫存器上下文2 92的群組118 85572 -15- 1323847 映射至暫存器上下文i 90的群 f 1 06如由箭頭126所例示 ’暫存器上下文3 94的群組112也映射至暫存器上下文! % 的群組⑽。即’群組⑽的暫存器由所有三個暫存器上下 文所共用:暫存器上下文19G、暫存以^2 92 ^# ^下文3 94。因此,當執行程序B或程序C時對現有暫 存范上下文(分別為暫存器上下文⑼或暫存器上下文]94) 之GPR28·31的存取真地造成對暫存器上下文! 90之GPR I8-31的存取。於圖5中來例示,如由箭頭m所例*,暫存 益上下文i 90的群組1〇4也映射至暫存器上下文2 %的群組 116。即’群組116的暫存器由暫存器上下文㈣及暫存器上 下文2 92所共用。因此,#執行程序a時,對現有暫存器上 下文之GPR 8-11的存取真地造成對暫存器上下文2 92之 Ή1的存取。因此,可存在任何數目的映射,無論其 具有草-暫存器(如堆疊指標暫存器96、98、或1〇〇)或暫存 器群組。另,每個暫存器上下文可具有映射至一暫存器上 下文的某些暫存器及映射至其餘暫存器上下文之其他暫存 器。還有,-暫存器或暫存器群組可具有映射至它的多個 暫存器上下文之暫存器。 每個暫存器上下文的映射於每個暫存器上下文的上下文 控制暫存器中定義(例如’圖5的上下文控制暫存器H 、及132)。因此,圖2的每個暫存器上下文〇_n具有一相對 應的上下文控制暫存器,其可被包括在每個暫存器上下文( 如於圖4與圖5中)或可分開被料(如圖2的控制暫存器樓案 38中)。根冑本發明一具體實施命|來例示一上下文控制 85572 -16- 1323847 暫存器140的内容。卜 化 上下文控制暫存|§ 140可有關圖4的上 文控制暫存器77、79、弋闽L _ 75或圖5的上下文控制暫存器128、 132。於一且艘誉a办丨士 /、體貫她例中,上下文控制暫存器M〇為一 特殊用途32位元暫存器,其具有各種不同搁位以控制暫存 器的映射4持有現有、替用、與儲存的上下文資訊。 上下文控制暫存器14()的位元Q對應至上下文 142,以啟動多暫在哭μ τΊ仪 态上下文的使用。例如,如果上下文啟 動襴位142為否定時,僅-單-上下文被啟動,於上下文控 制s存益1 40的其他控制欄位將被忽略,且該現有上下文被 設定成該内定暫存||士人 0 文θ'於圖2中所例示之具體實施 例為暫存器上下文0 34)。如杲該上下文啟動搁位Μ〕為判定 時’則多上下文被啟動。位元3_5對應到數個上下文搁位⑷ ,其為指*由該硬體所支援之最高上下文數目的僅讀欄位 。於圖6範例中,數值_指示-上下文被支援,同時數值 ⑴指示八個上下文可被該硬體所支援。如果資料處理系統 1〇可支援超過八個暫存器上下文,則可對上下文欄位144的 數目使用額外的位元。^,於圖6的具體實施财,將假 设表多可支援8個暫存器上下文。 位元6-8對應到現有上下文攔位146以定義現有已啟動的 暫存器上下文。於-具體實施例中,當重置時此棚位被 清除為G以指示該岐暫存器上下文為暫存器上下文0。現 有上下文攔位146對應至先前所述之上下文選擇器,其可以 各種不同方式來提供, 此,於上下文切換時(如 像疋以圖2的向量位移產生器39。因 —插斷或程序切換所引發),該現有 85572 -17- 1323847 上下文欄位146被設定成由該上下文選擇器所指示的新暫 存器上下文。例如,參考圖5,如果資料處理系統ι〇正在執 行程序A ’則當上下文切換至程序叫,該上下文選擇器指 不暫存态上下文2,且數值2寫入到暫存器上下文2 92的上 下文控制暫存器之現有上下文欄位。 J主意到當每個暫存器上下文有其自有上下文控制暫存器 恰,某些襴位可在不同上下文控制暫存器間共用。例如, —單一現有欄位可被實作成由所有上下文控制暫存器所使 用,因為該數值於不同上下文控制暫存器間永遠為相同。 替用具體實施例可使用一上下文啟動或數個上下文搁位或 母個上下文控制暫存器的現有上下文欄位,但是可藉由對 每個使用一單一共用攔位以減少硬體需求。 位7G 9- 11對應至一儲存上下文欄位148以定義先前啟動 的上下文。注意到當重置時該欄位還可被清除為〇。因此, 於從程序A切換至程序B(參考圖5)之前述範例中,該現有上 下文欄位被設定為2(代表暫存器上下文2 92)且所儲存上下 文欄位設定成1(代表該先前上下文,暫存器上下文1 90)。 位元12-1 4對應至替用(aIternate)上下文欄位! 5〇以定義 替用啟動上下文,其被用來定義暫存器群組之上下文映 射位元1 5 U對應至映射欄位1 5 1 »位元1 5對應至一暫存 器群組A(定義成GPR 4_7)、位元16對應至一暫存器群組B( 定義成GPR 8-U)、位元17對應至一暫存器群組c(定義成 GPR 16-23)、及位元18對應至一暫存器群組D(定義成gpr 27-31)。暫存器群組A_D每個可由判定所對應位元來獨立地 85572 -18 - 1323847 啟動。例如,如果位元15被判定,群組八被啟動因此群組 A映射至由s亥替用上下文棚位所定義的暫存器上下文。如田 位元1 5為否疋’則群組Α未被映射。類似地,如果位元1 6 、17、或18被判定時,則相對應的暫存器群組(分別為b、c 、或D)映射到由該替用上下文攔位所定義的暫存器上下文 。如果位元16、17、或18被否定時,則相對應的暫存器群 組(分別為B、C、或D)未被映射。因此,參考圖5,暫存器 上下文1 90的上下文控制暫存器包含一個2於其替用上下文 攔位中以指示被選擇的暫存器群组被映射至暫存器上下文 2 92。還有,位元16(對應於具有GpR 8_u之群組B)被判定 ,因此暫存器上下文1 90的群組104映射至暫存器上下文2 92的群組116 » 於該示範的上下文控制暫存器中、即圖6之上下文控制暫 存器中140,-單一替用上下文搁位為可獲得且每個群組 (A-D)可被啟動來映射至一相同的替用暫存器上下文。即是 士果群組A映射至一特殊暫存器上下文時,則群組可 僅被映射至相同的上下文。然而,於替用具體實施例中, 每個暫存裔分開的群組(像是群組A_D)能具有一相對應的 替用上下文棚位’因此其可映射至不同替用暫存器上下文 或疋,分開的替用上下文攔位可被用於群組的群組(如 #用上下文攔位給群組A與B及另—欄位給群組C與d)。 另°玄群組可以任何方式來定義《例如,每個群組可具有 夕於或夕於四個暫存器,每個群組可為一單一暫存器或 母個群組可具有一不同數目的暫存器。還有,於替用具體 85572 1525M1 實把例中,或夕或少的群組可與或多或少的替用上下文攔 位一起使用。因而圖6的上下文控制暫存器14〇僅為一範例 。另,每個攔位可如所需要來使用或多或少的位元以代表 忒欄位的數值。上下文控制暫存器14〇包括未使用的位元i 、2、19-23、及28-31 ;然而’替用具體實施例可不包括任 何未使用位it或可需要多個暫存器以儲存該上下文控制資 訊0 上下文控制暫存器M0的位元24對應至一堆疊指標上下 文啟動(enab⑷攔位152,其啟動該堆疊指標的映射,如參 考圖4及圖5所述。位元25_27對應至一堆疊指標上下文選擇 欄位154,其選擇該堆疊指標之—替用暫存器上下文。因而 ’如果位元24被判定,該堆疊指標映射至由該堆疊指標上 下文選擇糊位154所指示之暫存器上下文U,如果為否 定時,則該堆疊指標未被映射(即其保留來自由該現有上下 文欄位146所定義之現有上下文)。該堆疊指標上下文選擇 欄位1 54為- 3位π數值,其可指示於資料處理系統夏〇中8個 暫存益上下文的哪一個係被用做該堆疊指標的替用上下文 ^列如’數值_可對應至暫存器上下以且⑴對應至暫存 :上下文7。因而’如果該堆·疊指標上τ文選擇攔位154設 疋為〇〇1(且堆疊指標上τ文啟動糊位152被判定時),則現有 上下文的堆疊指標映射至暫存器上τ文卜例如回來參考 :4’暫存器上下文2 74之上下文控制暫存器之堆疊指標上 oom動棚位被判定且該堆疊指標上下文選擇攔位設定為 ▲曰不該堆叠指標暫存器8()被映射至暫存器上下文172 85572 •20- 的堆疊指標暫存器78。 位以允許其他個別暫存 共用》 還注意到替用具體實施例可包括搁 器的映射而非只允許該堆疊指標的 該上下文控制暫存器可用各種不同方式來程式化。例如 於具體貫施例t,每個上下文控制暫存器可為使用者 直接式化。或是’該上下文控制暫存器可使用該現有上 下文控制暫存器之替用上下文攔位來被間接地映射。例如 二於-具體實施财,當開機或重置時,資料處理系統内 疋為暫存器上下文該替用上下文攔位可接著設定成指示 哪個暫存器上下文的上下文控制暫存器將被程式化之一數 值。例如,當於暫存器上下文0中,將數值2寫入到暫存器 上下文0之上下文控制暫存器之替用上下文欄位可允許經 由一特殊目的暫存器對暫存器上下文2之上下文控制暫存 器程式化的存取。於所有上下文控制欄位已被程式化之後 ,其可全部同時啟動(其,於具有一單一共用上下文啟動欄 位的個例中係由判定該位元來達成).。另,於一具體實施例 中,插斷處理可於上下文控制暫存器程式化的期間内來被 關閉。 注意到上下文控制暫存器140已參考待殊攔位及位元位 置來詳述。注意到替用具體實施例當必要時可包括或多或 少的欄位,且每個欄位當必要時可包括或多或少的位元。 另,於替用具體實施例中’上下文控制暫存器可位於資料 處理系統10内任何地方,或可位於資料處理系統丨〇之外。 因而,可認知到έ玄上下文控制暫存器可如何來被使用以 85572 -21 - 提供具有減少額外花費的有 / 洋生上下文選擇。當於資料處 理糸統10内之上下文切換時, 叮通新的暫存器上下文之上下 文控制暫存器會被更新。 J如该新的暫存器上下文被寫 入到該現有上下文攔位,先前 疋引上下文寫入到被儲存的上下 文攔位’於在5靖暫存器±τ文内運作時,使用於該映射 ϋ位内所提供的暫存器映射。該暫存II映射允料同暫存 下文八用暫存益數值。另,該暫存器映射允許存取於 暫存器上下文外之其他暫存器上下文,如由現有暫存 益上下文所定義之上下文控制暫存器。另,該使用者可程 式化上下文控制暫存器可允許該映射如何被定義之彈性 dibUity)。因而,此處所述之本發明—層面提供了一有 彈性的機制來將一替用暫存器上下文的一部份映射至一現 ^暫存ϋ上下文(或反向)且提供於多上下文間共同堆疊指 標的共用’因而得到改善的即時效能。藉由將現有上下文 的。Ρ刀映射至一替用上下文’於運作中上下文間移轉資訊 數值的額外花費可被移除或财,可得収善的效能及彈 性。 於前述規範中,本發明已參考特定具體實施例來被描述 1而’熟悉本普通技藝人士可認知到各種修改及改變可 不離於申請專利範圍中所陳述之本發明範圍來做出。例如 ,該區塊圖可具有不同於那些所_示的區塊且可具有或多 或少的區塊或不同地配置。因此,該規範及圖式僅被視為 例示性而非限制性的意義,且所有該修改會意圖地包含在 本發明的範圍内。 85572 -22- 1323847 85572 【圖式代表符號說明】 2 外部裝置 4 資料匯流排 6 位址匯流排 7 暫存器上下文 10 貢料處理糸統 12 處理器 13 内部貧料匯流排 14 内部位址匯流排 22 系統整合 24 . 算術邏輯單元 26 位址產生器 27 向量位移匯流排 28 指令管線 29 指令匯流排 30 指令解碼電路 32 暫存器檔案 34 上下文0 35 上下文1 36 上下文N 38 控制暫存器檔案 39 向量位移產生器 40 暫存器來源匯流排 42 欄位資訊匯流排 •24 - 1323847 50 一般用途暫存器 51 暫存器上下文 52 堆疊指標暫存器 54 鏈結暫存器 56 計數暫存器 58 條件暫存器 60 整數例外暫存器 62 機器狀態暫存器 64 上下文控制暫存器 70 暫存器上下文0 72 暫存器上下文1 74 暫存器上下文2 75 上下文控制暫存器 76 堆疊指標暫存器 77 上下文控制暫存器 78 分離堆疊指標暫存器 79 上下文控制暫存器 80 堆疊指標暫存器 82 箭號 90 暫存器上下文1 92 暫存器上下文2 94 暫存器上下文3 96 堆疊指標暫存器 98 堆疊指標暫存器
85572 -25 - 1323847 100 堆疊指標暫存器 102 暫存器群組 104 暫存器群組 106 暫存器群組 108 暫存器群組 110 群組 112 群組 Π4 群組 116 群組 118 群組 120 箭號 122 箭號 124 箭號 126 箭號 128 上下文控制暫存器 130 上下文控制暫存器 132 上下文控制暫存器 140 上下文控制暫存器 142 上下文啟動欄位 144 上下文欄位數 146 現有上下文欄位 148 儲存上下文欄俾 150 替用上下文欄位 151 映射欄位 152 堆疊指標上下文啟動欄位 154 堆疊指標上下文選擇欄位 85572 -26 -

Claims (1)

1323847
第092114269號專利申請案 中文申請專利範圍替換本(95年4月) 拾、申請專利範圍: 1. 一種資料處理系統(10),其包含 複數個暫存器上下文(34、35、36); —儲存電路(38),用於儲存相對應於該複數個暫存器上 下文至少一部份之上下文控制資訊,其中該儲存電路包 含複數個上下文控制暫存器,且該每一暫存器上下文包 含一相對應的上下文控制暫存器;及 一處理電路(12),選擇性地存取於該複數個暫存器上下
文内之#用暫存窃上下文的一部份,而取代該複數個 暫存器上下文内之-現有暫存器上下文的-相對應部份 ▲’其中該替用暫存器上下文以及該替用暫存器上下文的 忒邛伤係由對應於該現有暫存器上下文的該上 暫存器利示。 2.如申請專利範圍第1項之咨^ 項之貝枓處理系統,其中對應於該 有暫存器上下文的令女+ ^上下文控制暫存器包含一映射攔 ’用來識別該替用暫存琴 子态上下文的—部份;及一替用
3. 下文攔位,用來識別該替用暫存器上下文。 如申請專利範圍第丨項之資 貧钭處理糸統,其中該替用暫 益上下文的該部分包含—堆疊指標。 其中該替用, 如申請專利範圍第1項之資料處理系统 器上下文的該部分包含-組暫存器。 如申請專利範圍第4項 ^ 包含複數個A ^處理系統,其中該組暫;f 匕3複數個一般用途暫存器。 6. 如申請專利範圍第丨項之眘粗★ 項之貝枓處理系統,其中該上下: 85572*950421 .doc 以:>64/ 制資訊包含一啟動攔位,其中當該啟動攔位被判定時, 6亥處理電路存取該替用暫存器上下文之該部分。 7·如申請專利範圍第6項之資料處理系統,其中對應該現有 暫存器上下文的該上下文控制暫存器包含一映射欄位’ 用來硪別該替用暫存器上下文的該部份;及一替用上下 文棚位,用來識別該替用暫存器上下文。 8 ·如申a月專利範圍第7項之資料處理系統,其中該上下文控 制資讯包含一先前上下文攔位,用來識別該複數個暫存 。°上下文中一先前暫存器上下文,該先前暫存器上下文 係較先於該現有暫存器上下文被執行。 9種》具有複數個暫存器上下文之一資料處理系統中之 處理方法,包含以下步驟: 在該複數個冑存器上Η内之一第一暫存器上下文中 運作,該每-暫存器上下文具有相對應之上下文控制資 訊,其中在該第—暫存器上下文中運作包含以下步驟:、 存取該第-暫存器上下文之一第一部份; 根據4第-暫存器上下文之相對應上下文控制資訊選 擇!·生地存取相對應於該第—暫存器上下文之—第二部分 的一第二暫存器上下文之—部分,其中該第—暫存器上 文之忒相對應上下文控制資訊係識別該第二暫存器上 下文以及該第-軔六„ , °上 乐一暫存益上下文之該部分。 i〇·如申請專利範圍第9 項之方法,其中該第二暫存器上 之該部分包含—堆疊指標。 下文 11.如申請專利範圍第 弟9項之方法,其中該第二暫存器上下文 85572-950421 .doc -2· 的遠部分包含一組暫存器。 12·如中請專利範圍第11項之方法,其中該組暫存器包含福 數個一般用途暫存器。 13·如申請專利範圍第9項之方法,其中該上下文控制資心 含一啟動攔位,其中當該啟動爛位被判定時,該方= 含應於該第一暫存器上下文之該第二部分的第 一暫存益上下文之該部分。 14.如申請專利範圍第13項之方法,其中該上下文控 包含-映射攔位’用來識別該第二暫存器上下文的該部 伤’及替用上下文欄位,用來識別該第二暫存 文。 。上下 ”·如申請專利範圍第9項之方法,進一步包含以下步 接收一上下文選擇器; 根據邊上下文選擇器運作於該第二暫存器上下文中;及 根據該第二暫存器上下文之相對應上下文控制資訊選 擇性地存取_應於該第二暫存器上下文之—第二部分 的一第三暫存器上下文之—部分。 刀 16. 如申凊專利範圍第15項之方法,進一步包含以下步驟: 將-現有上下文儲存在該第二暫存器上下文的相對應 上下文控制資訊中’該現有上下文係相對應於該第 存器上下文;及 、 將—已儲存上下文的一控制資訊儲存於該第二暫存器 上下文的相對應上下文控制資訊中’該已儲存上下文控 制資訊係對應於該第一暫存器上下文。 85572-950421.do, 1323847 17 如申請專利範圍第15項之方法 於該資料處理系統中被接收, 換。 ,其中該上下文選擇器係 以回應一中斷或一處理切 18. 如申請專利範圍第9項之方法 相唞庙八甲6亥母一暫存器上下文 相對應的上下文資訊包含一 該複數個暫存器上下文之一替=文搁位’用來識別 位,用來識別由該替用上下文’以及一映射欄 文的一部份。 ’位所識別的該替用上下 19. 一種資料處理系統(10),其包含: 複數個暫存器上下文(34、35、36),其中每_暫存器上 下:包含-相對應上下文控制暫存器,其具有一替用暫 存器上下文欄位及一映射欄位;及 處理裝置(12),用於選擇性地存取於該複數個暫存器 上下文内之一替用暫存器上下文的一部份,而取代存取 該複數個暫存器上下文内之一現有暫存器上下文的一相 對應部份,其中該替用暫存器上下文的該部份係由相對 應於該現有暫存器上下文之上下文控制暫存器中的映射 欄位所定義,且該替用暫存器上下文係由對應至該現有 暫存器上下文之上下文控制暫存器中的替用暫存器上下 文欄位所定義。 20. 21. 如申請專利範圍第19項之資料處理系統,其中該等上下 文控制暫存器可由使用者程式化。 如申請專利範圍第19項之資料處理系統,其中該替用暫 存器上下文之該部分包含一堆疊指標。 85572-950421.doc -4. 1323847 22. 如申請專利範圍第19項之資料處理系統,其中該替用暫 存器上下文的該部分包含一組暫存器。 23. 如申請專利範圍第19項之資料處理系統,其另包含一控 制暫存器檔案,用來儲存該等上下文控制暫存器。 85572-950421.doc
TW092114269A 2002-05-31 2003-05-27 Data processing system having multiple register contexts and method therefor TWI323847B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/159,386 US7117346B2 (en) 2002-05-31 2002-05-31 Data processing system having multiple register contexts and method therefor

Publications (2)

Publication Number Publication Date
TW200401195A TW200401195A (en) 2004-01-16
TWI323847B true TWI323847B (en) 2010-04-21

Family

ID=29582888

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092114269A TWI323847B (en) 2002-05-31 2003-05-27 Data processing system having multiple register contexts and method therefor

Country Status (8)

Country Link
US (1) US7117346B2 (zh)
EP (1) EP1573444A2 (zh)
JP (1) JP4409427B2 (zh)
KR (1) KR100989215B1 (zh)
CN (1) CN100472453C (zh)
AU (1) AU2003225300A1 (zh)
TW (1) TWI323847B (zh)
WO (1) WO2003102723A2 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040098568A1 (en) * 2002-11-18 2004-05-20 Nguyen Hung T. Processor having a unified register file with multipurpose registers for storing address and data register values, and associated register mapping method
US7631307B2 (en) * 2003-12-05 2009-12-08 Intel Corporation User-programmable low-overhead multithreading
US7401206B2 (en) * 2004-06-30 2008-07-15 Sun Microsystems, Inc. Apparatus and method for fine-grained multithreading in a multipipelined processor core
US7516311B2 (en) * 2005-01-27 2009-04-07 Innovasic, Inc. Deterministic microcontroller context arrangement
US7562207B2 (en) * 2005-01-27 2009-07-14 Innovasic, Inc. Deterministic microcontroller with context manager
KR100728899B1 (ko) * 2005-10-27 2007-06-15 한국과학기술원 복수의 레지스터 집합과 하드웨어 작업 관리자를 가진고성능 멀티쓰레드 임베디드 프로세서
US7590774B2 (en) * 2005-12-01 2009-09-15 Kabushiki Kaisha Toshiba Method and system for efficient context swapping
WO2007143278A2 (en) 2006-04-12 2007-12-13 Soft Machines, Inc. Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
CN101627365B (zh) 2006-11-14 2017-03-29 索夫特机械公司 多线程架构
WO2009022371A1 (ja) * 2007-08-16 2009-02-19 Netcleus Systems Corporation タスク処理装置
WO2011048442A1 (en) * 2009-10-22 2011-04-28 Freescale Semiconductor, Inc. Integrated circuits and methods for debugging
KR101685247B1 (ko) 2010-09-17 2016-12-09 소프트 머신즈, 인크. 조기 원거리 분기 예측을 위한 섀도우 캐시를 포함하는 단일 사이클 다중 분기 예측
US20130275725A1 (en) * 2011-01-03 2013-10-17 Freescale Semiconductor, Inc. Integrated circuit device and method for performing conditional negation of data
US9766893B2 (en) 2011-03-25 2017-09-19 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
KR101826121B1 (ko) 2011-03-25 2018-02-06 인텔 코포레이션 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
EP2689330B1 (en) 2011-03-25 2022-12-21 Intel Corporation Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
WO2012131437A1 (en) * 2011-03-30 2012-10-04 Freescale Semiconductor, Inc. Integrated circuit device and method for enabling cross-context access
EP2710481B1 (en) 2011-05-20 2021-02-17 Intel Corporation Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines
US9442772B2 (en) 2011-05-20 2016-09-13 Soft Machines Inc. Global and local interconnect structure comprising routing matrix to support the execution of instruction sequences by a plurality of engines
US10078515B2 (en) * 2011-10-03 2018-09-18 International Business Machines Corporation Tracking operand liveness information in a computer system and performing function based on the liveness information
EP2783280B1 (en) 2011-11-22 2019-09-11 Intel Corporation An accelerated code optimizer for a multiengine microprocessor
US20150039859A1 (en) 2011-11-22 2015-02-05 Soft Machines, Inc. Microprocessor accelerated code optimizer
WO2013099414A1 (ja) 2011-12-26 2013-07-04 インターナショナル・ビジネス・マシーンズ・コーポレーション レジスタ・マッピング方法
WO2014108747A1 (en) * 2013-01-10 2014-07-17 Freescale Semiconductor, Inc. Integrated circuit processor and method of operating a integrated circuit processor
EP2972836B1 (en) 2013-03-15 2022-11-09 Intel Corporation A method for emulating a guest centralized flag architecture by using a native distributed flag architecture
KR101708591B1 (ko) 2013-03-15 2017-02-20 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US10031770B2 (en) * 2014-04-30 2018-07-24 Intel Corporation System and method of delayed context switching in processor registers
US9996353B2 (en) 2015-02-26 2018-06-12 International Business Machines Corporation Universal history buffer to support multiple register types
US9971604B2 (en) 2015-02-26 2018-05-15 International Business Machines Corporation History buffer for multiple-field registers
US10067766B2 (en) * 2015-02-26 2018-09-04 International Business Machines Corporation History buffer with hybrid entry support for multiple-field registers
US10802866B2 (en) * 2015-04-30 2020-10-13 Microchip Technology Incorporated Central processing unit with DSP engine and enhanced context switch capabilities
JP2017037370A (ja) 2015-08-06 2017-02-16 富士通株式会社 計算機、プロセス制御方法およびプロセス制御プログラム
GB2577729C (en) * 2018-10-04 2021-10-27 Advanced Risc Mach Ltd Processor with Register Bank having Banked Versions of a Register each Associated with an Operating State of the Processor
CN110928574A (zh) * 2019-11-20 2020-03-27 深圳市汇顶科技股份有限公司 微控制器、中断处理芯片、设备及中断处理方法
US11663010B2 (en) * 2021-03-08 2023-05-30 Unisys Corporation System and method for securely debugging across multiple execution contexts
US11816486B2 (en) 2022-01-18 2023-11-14 Nxp B.V. Efficient inter-thread communication between hardware processing threads of a hardware multithreaded processor by selective aliasing of register blocks

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142677A (en) 1989-05-04 1992-08-25 Texas Instruments Incorporated Context switching devices, systems and methods
JPH04242433A (ja) * 1991-01-17 1992-08-31 Nec Corp マイクロプロセッサ
US5386563A (en) * 1992-10-13 1995-01-31 Advanced Risc Machines Limited Register substitution during exception processing
GB2281986B (en) * 1993-09-15 1997-08-06 Advanced Risc Mach Ltd Data processing reset
US6029242A (en) 1995-08-16 2000-02-22 Sharp Electronics Corporation Data processing system using a shared register bank and a plurality of processors
US5701508A (en) 1995-12-19 1997-12-23 Intel Corporation Executing different instructions that cause different data type operations to be performed on single logical register file
US5812868A (en) 1996-09-16 1998-09-22 Motorola Inc. Method and apparatus for selecting a register file in a data processing system
US6145049A (en) 1997-12-29 2000-11-07 Stmicroelectronics, Inc. Method and apparatus for providing fast switching between floating point and multimedia instructions using any combination of a first register file set and a second register file set
US6154832A (en) 1998-12-04 2000-11-28 Advanced Micro Devices, Inc. Processor employing multiple register sets to eliminate interrupts
WO2000079394A1 (en) 1999-06-21 2000-12-28 Bops Incorporated Methods and apparatus for providing manifold array (manarray) program context switch with array reconfiguration control
EP1247195A4 (en) 1999-12-22 2005-01-05 Ubicom Inc SYSTEM AND METHOD FOR MULTITHREADING WORKING ON COMMAND LEVEL IN AN EMBEDDED PROCESSOR WITH ZERO-TIME CONTEXT SWITCHING

Also Published As

Publication number Publication date
KR20050010508A (ko) 2005-01-27
CN100472453C (zh) 2009-03-25
CN1856770A (zh) 2006-11-01
KR100989215B1 (ko) 2010-10-20
US20030226001A1 (en) 2003-12-04
JP4409427B2 (ja) 2010-02-03
WO2003102723A3 (en) 2006-04-06
JP2006502470A (ja) 2006-01-19
US7117346B2 (en) 2006-10-03
EP1573444A2 (en) 2005-09-14
AU2003225300A1 (en) 2003-12-19
TW200401195A (en) 2004-01-16
AU2003225300A8 (en) 2003-12-19
WO2003102723A2 (en) 2003-12-11

Similar Documents

Publication Publication Date Title
TWI323847B (en) Data processing system having multiple register contexts and method therefor
US10089229B2 (en) Cache allocation with code and data prioritization
US8468324B2 (en) Dual thread processor
US20200264917A1 (en) Directed interrupt virtualization with interrupt table
US20200264912A1 (en) Directed interrupt virtualization with fallback
US11314538B2 (en) Interrupt signaling for directed interrupt virtualization
ES2710887T3 (es) Utilización de palabras de dirección de datos indirectos de trasladador de datos asíncronos extendidos
TW200905566A (en) System comprising a plurality of processors and method of operating the same
JP2006503385A (ja) マルチスレッド・プロセッサの高速スレッド間割込みのための方法および装置
WO2007115425A1 (en) Method and apparatus for supporting heterogeneous virtualization
TW201203105A (en) Apparatus and method for handling exception events
KR20020000108A (ko) 병렬 처리 컴퓨팅 시스템에서의 메모리 할당 방법,프로그램 저장 장치, 병렬 처리 컴퓨팅 시스템에 사용하기위한 메모리 구성 및 병렬 컴퓨팅을 위한 컴퓨터 프로그램제품
CN113454591A (zh) 具有阻止指示符的定向中断虚拟化
KR20020000107A (ko) 병렬 컴퓨팅을 위한 컴퓨터 메모리 구성, 컴퓨터 프로그램제품, 병렬 처리 방법 및 프로그램 저장 장치
KR20020000487A (ko) 병렬 처리 방법 및 프로그램 저장 장치
JPH05257808A (ja) マイクロプロセッサ及びその動作変換方法
US20080010426A1 (en) Processor system and processing method for operating system program in processor system
US20080229054A1 (en) Method for performing jump and translation state change at the same time
CN115098244B (zh) 内核栈的分配方法、电子设备、芯片及存储介质
US9176738B2 (en) Method and apparatus for fast decoding and enhancing execution speed of an instruction
US7549026B2 (en) Method and apparatus to provide dynamic hardware signal allocation in a processor
JP2004110827A (ja) 複数の個別記憶アドレス領域内に記憶された可変長命令の実行
RU2320002C2 (ru) Способ переключения контекста задач и процедур в процессоре
EP0149858B1 (en) Data processing system
Hoffmann et al. Hardware multitasking within a softcore CPU

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees