TWI232375B - Cross partition sharing of state information - Google Patents

Cross partition sharing of state information Download PDF

Info

Publication number
TWI232375B
TWI232375B TW092130387A TW92130387A TWI232375B TW I232375 B TWI232375 B TW I232375B TW 092130387 A TW092130387 A TW 092130387A TW 92130387 A TW92130387 A TW 92130387A TW I232375 B TWI232375 B TW I232375B
Authority
TW
Taiwan
Prior art keywords
memory
processor
partition
address
data
Prior art date
Application number
TW092130387A
Other languages
English (en)
Other versions
TW200419347A (en
Inventor
Ravi Kumar Arimilli
Robert Alan Cargnoni
Guy Lynn Guthrie
William John Starke
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of TW200419347A publication Critical patent/TW200419347A/zh
Application granted granted Critical
Publication of TWI232375B publication Critical patent/TWI232375B/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/22Microcontrol or microprogram arrangements
    • 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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/30105Register structure
    • G06F9/30116Shadow registers, e.g. coupled registers, not forming part of the register space
    • 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/3017Runtime instruction translation, e.g. macros
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Plural Heterocyclic Compounds (AREA)
  • Farming Of Fish And Shellfish (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Hardware Redundancy (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Description

1232375 玫、發明說明: 【共同專利申請案之參考】 本發明係與於相同日期申請之下列共同受讓,審理中之 事務所案號 --(事務所案號 --(事務所案號 一~X事務所案號 --(事務所案號 —(事務所案號 美國專利申請案··序號第09/_ AUS920020161US1)號;序號第 〇9/_ AUS920020162US1)號;序號第 〇9/_ AUS920020164US1)號;序號第 09/_ AUS920020165US1)號;序號第 09/_ AUS920020166US1)號;序號第 09/_ AUS920020167US1)號主題有關。上述參考之申請案内容藉 由提及之方式由此整體納入本文中。 【發明所屬之技術領域】 本發明一般係有關於資料處理之領域,以及更特別地是 與處置中斷之改良之資料處理系統及方法有關。 【先前技術】 當執行一組電腦指令時,一處理器被頻繁地中斷。此 斷可能由一中斷或是一異常造成。 一中斷為與當中斷產生時正在執行之指令無關之一非 步岔斷事件。也就是,中斷經常由處理器外部之某事件 成’如輸入/輸出(岡裝置之輸入、另—處理器之操作的 叫等。其他中斷可能由内部造成,例如,控制工作交換 計時器的逾期。 之指令執行直接產生 器内部之一事件,如 異吊為當異常發生時由正在執行 的同步事件。也就是,一異常為處理
O:\89\89073.DOC -6- 1232375 算綱、定時之維護檢測、一内部效能監視、一機载工 作負載官理者等。通常,異常遠比中斷頻繁。 該等術語”中斷,,及”異常”經常被互換。為了此揭示的目 的,該術語,,令斷”將被用以說明,,令斷"及”異常,,二者之岔 斷0 由於電腦軟體及硬體已經變成更複雜,所以"之數目 及頻率已經戲劇性地增加。這些中斷是必要的,因為它們 支援多處理的執行、多周邊裝置之處置以及各種不同組件 之效能監視。雖然此等態樣是有利的,但是因為中斷所引 起的計算能力耗損為如此戲劇性增加以致於勝過該等處理 器之處理速度改良。因*匕’於許多案例中儘管增加處理器 時鐘頻率,系統效能實際上於即時項目為減低。 圖1解釋-傳統處理器核心100。處理器核心1〇〇内,一層 級1指令高速緩衝記憶體(L1快取)102提供指令至指令序 列邏輯104,其發出該等指令至合適之執行單元1〇8以供執 行。執行單it⑽’可以包含—浮點執行單n點執行單 兀、分支執行單元等,包含一載入/儲存單元(LSU)108a。 LSU 108a執行載入及儲存指令,其分別由層級1資料高速緩 衝記憶體(L1 D·快取)112載人資料至架構暫存器⑴内以及 由木構暫存器u〇儲存資料至u D-快取Η〗。錯過Η快取 102及112之育料及指令的請求可以經由記憶體匯流排1 存取系統記憶體118而解析。 如上文所解釋,處理器核心i 〇〇遭受由外部中斷線工14表 示之卉多來源之中斷。當一中斷信號由處理器核心工〇〇接收
O:\89\89073.DOC 1232375 W例如,經由其中之_中斷線114),現行處理之執行被縣 置以及該中斷由已知為中斷處置器之中斷特定軟體加以: 置。於其他活動之間,該中斷處置器經由⑽⑽a之健存 及,入指令的執行儲存以及回復中斷執行時之處理的架: 狀態。L S U丨〇 8 a之此使用以傳送架構狀態至系統記憶體⑴ 以及由系統記憶體118傳送架構狀態至咖购由中斷處 置器阻斷其他記憶體存取指令之執行,(或是—超級電腦= 例:另-處理)直到該狀態傳送完成為止。因此,經由該處 理器之執行單元儲存以及後續回復—處理之㈣狀態造^ 中斷之處理以及中斷處置器二者執行的延時。此延時結果 造成該處理器總體效能的衰減。因此,本發明認知到具有 最小化儲存及回復架構狀態,特別是回應中斷招致之處理 延時之一種方法及系統之必要性。 【發明内容】 本發明應用於供改良一資料處理系統之—處理器内中斷 處置之歹法及系統。 當一中斷信號於處理器被接收時,現行執行之一處理的 硬性架構狀態被載入於至少一專屬影子暫存器内。該硬性 架構狀態包含該處理器内之資訊,該資訊為中斷之處理執 行之基本資訊。進一步儲存此硬性架構狀態之一有利方法 包含高頻寬匯流排之用以直接由該影子暫存器傳送硬性架 構狀態至一系統記憶體,而不用使用(因此繫住)該處理器正 常載入/儲存通道及執行。於該硬性架構狀態已經被載入於 該影子暫存器内之後,該中斷處置器立即開始執行。該處
O:\89\89073 DOC 1232375 里之lu生狀愁,包含快取記憶體内容,亦至少部分被儲存 广·己L'冑$加速该軟十生狀態之儲存以及避免與執行 中斷處置器之資料衝突,該軟性狀態為較佳地使用掃描鏈 、由該處理&傳运’其於先前技術t僅於製造測試期間 被正常使用以及於正常操作期間不被使用。 ,:中斷處置器完成時’該硬性架構狀態以及該軟性狀態 為一中斷之處理回復,該處理能夠於該硬性架構狀態載入 時立即執行。 為提供對可能執行不同作業系統之其他處理器以及其他 分區之存取,該等硬性以及軟性狀態可以被儲存於系統記 隐姐之{呆留區域,該區域由任何處理器及,或分區可存 取。 本考X明上述與額外目的、態樣以及優點將由下列詳細撰 寫之說明顯得明顯。 【實施方式】 斤參考圖2,描繪一多處理器(Mp)資料處理系統2〇ι之一典 範八體貫如例之一兩p皆方塊圖。雖然該Mp資料處理系統 2〇1被描緣為-對稱多處理器(SMp),但是對熟知電腦架構 技藝之那些人士而言,本發明可以與任何Mp資料處理系統 起使用,包含不限於非一致記憶體存取(NUMA)Mp或是 唯快取記憶體架構(c〇MA)Mp。 根據本發明,MP資料處理系統201包含複數個處理單元 描缘為處理單元·至鳥,由一互連如耗合以供 通信。於-較佳具體實施例巾,吾人可瞭解各處理單元
O:\89\89073 DOC 1232375 2〇〇(包含處理單元200a及處理單元2〇此)於Mp資料處理系 統20”在架構上類似或是相同。處理單元2〇〇a為—單 體=路超級處理器,如下文進—步討論,包含各種不同執 行早凡、暫存器、緩衝器、記憶體以及其他所有由積體電 路形成之功能單元。於ΜΡ資料處理系統2〇1中,各處理單 元·由-高頻寬私有匯流排116耦合至個別系統記憶體 118 ’描緣為處理單元2_之系統記憶體⑽以及處理單元 2〇〇η之系統記憶體118η。 處理單元20〇a包含一指令序列單元(ISU)2〇2,其包含提 取、排程以及發指令之邏輯’肖等指令將由執行單元 (EU)204執行。ISU 2〇2及EU 2〇4之細節於圖3以典範形式規 定。 、 與EU 204相關的為"硬性,,狀態暫存器2〇6,包含處理單元 200a内之資訊,該資訊為執行現行執行處理之基本資訊, 柄合至硬性狀態暫存器為次硬性狀態暫存器21〇,包含 將被執行,例如’當處理終止或是被中斷時之次處理之硬 性狀態。亦且與硬性狀態暫存器206相關的為影子暫存器 208田現行執行之處理終止或是被中斷時,該等暫存器包 含(或是將包含)硬性狀態暫存器2〇6内容之複製。 各處理單元2〇〇尚包含一快取層級212,其可 級快取記憶體。由系統記憶體118載入之指令及資料之一: 載(一1P)儲存可以藉由,例如快取層級2丨2完成,該快: 層級可以包括一層級1指令高速緩衝記憶體(L1快 取)18、層級丨資料高速緩衝記憶體(L1 D_快取)2〇、以及統
O:\89\89073.DOC -10- 1232375 層級2快取(L 2快取)1 6 ’如圖3所示。快取層級2 12被經由 快取資料路徑2 1 8,以及如至少一具體實施例,掃描鏈通道 2 14 _合至系統記憶體11 8之一晶載整合記憶體控制器 (IMC)220。由於掃描鏈通道2 14為一串列通道,所以序列_ 至-平行介面216被麵合於掃描鏈通道214與IMC 220之間。 處理單元200a之描繪之組件功能於下文詳述。 現在參考圖3 a ’其顯示處理單元2 〇 〇之額外細節。處理單 元200包含晶載多層級快取階層,其分別包含一統一層級 2(L2)快取16以及雙叉式層級i(li)指令⑴及資料(D)快取18 及20。如熟知相關技藝之那些人士所知,快取16、以及2〇 提供對相對應於系統記憶體11 8之記憶體位置之快取線之 低潛伏存取。 回應常駐於指令提取位址暫存器(IFAR)3〇之有效位址 (EA),由LI I-快取18提取指令以供處理。於各循環期間, 一新指令提取位址可以被由三個來源之一載入於IFAR 3〇 内·为支預測單元(BPU)36,其提供由條件分支指令之預測 形成之推測目標路徑及順序位址;總體完成表(Gct)3 8,其 和:供清除及中斷位址以及分支執行單元(Beu)92,其提供由 預測之條件分支指令解析形成之非推測位址。與Βρυ 3 6相 關為一分支歷史表(BHT)35,條件分支指令之解析被記錄於 其中以輔助未來分支指令之預測。 一有效位址(EA),如IFAR 30内之指令提取位址為由一處 理器產生之資料或一指令的位址。該EA制定一區段暫存器 或是該區段内之偏移資訊。為存取記憶體之資料(包含指 O:\89\89073.DOC -11 - 1232375 令),該EA被轉換為一真實位址(RA),經由至少一層級之翻 譯,與資料或指令被儲存之實際位址結合。 處理單元200内,有效-至-真實位址轉換由記憶體管理單 元(Μ M U)以及相關位址翻譯設施執行。較佳地是,一分離 之MMU被提供於指令存取以及資料存取。於圖3a中,一單 一 MMU 112被解釋,為了清楚之目的,顯示僅連接至ISU 202。然而,將被熟知相關技藝之那些人士瞭解的是mmu 112亦較佳地包含至載入/儲存單元(LSU)96& 98以及管理 記憶體存取所需要之其他組件之連接(未顯示)。MMU 112 包含資料翻譯平行查看緩衝器(DTLB)l 13以及指令翻譯平 行查看緩衝器(ITLB)115。各TLB包含最近參考頁表登錄, 其被存取以翻譯資料(DTLB 113)或指令(ITLB 115)之EA為 RA。ITLB 115之最近參考之EA-至-RA翻譯被儲存於EOP有 效-至-真實位址表(ERAT)32。 假使命中/未中邏輯22於包含於IFAR 30之ERAT 32執行 之EA轉換以及I-快取目錄34之真實位址(RA)之查找之後決 定相對應於IFAR 30中EA之指令快取線不常駐於LI I-快取 18内’則命中/未中邏輯22經由I-快取請求匯流排24提供RA 至L 2快取1 6為一請求位址。此請求位址亦可以由L 2快取1 6 内之預提取邏輯基於最近存取圖案產生。回應一請求位 址’ L2快取1 6輸出一快取線之指令,其經由I-快取重載匯 流排26載入至預提取緩衝器(PB)28及LI I-快取18内,可能 於通過選擇性的預解碼邏輯144之後。 一旦由IFAR 30之EA制訂的快取線常駐於L1快取18時, O:\89\89073.DOC -12- 1232375
Ll I-快取18輸出該快取線至分支預測單元(BPU)36及指令 提取緩衝器(吓6)40。3?1;3 6掃描該分支指令之快取線指令 以及預測條件分支指令結果,假使有任何結果的話。接著 一分支預測,BPU 36提供一推測指令提取位址至IFAR 30, 如上文討論,以及傳遞該預測至分支指令佇列64,所以當 該條件分支指令後續被分支執行單元92解析時預測之準確 性可以被決定。 IFB 40暫態緩衝由Ll I-快取18接收之快取線指令直到該 快取線指令可以被指令翻譯單元(ITU)42翻譯為止。於處理 單元200之解釋具體實施例中,ITU 42由使用者指令集架構 (UISA)指令翻譯指令為一可能不同數目之内部ISA(IISA) 指令,該等指令由處理單元200之執行單元直接可執行。此 翻譯可以由例如參考儲存於唯讀記憶體(ROM)模板之微碼 加以執行。於至少某些具體實施例中,UISA-至IISA翻譯造 成與UISA指令不同數目之IISA指令及/或與相對應UISA指 令不同長度之IISA指令。形成之IISA指令由總體完成表38 指定至一指令群組,該群組成員被允許相對於另一成員調 度以及無序地執行。總體完成表38追蹤各指令群組之指令 執行是否已經被至少一相關EA完成,該EA較佳地是指令群 組最老指令之EA。 接著UISA-至-IISA指令翻譯,指令基於指令類別被調度 至閂44、46、48及50其中之一,可能無序。也就是,分支 指令以及其他條件暫存器(CR)修正指令被調度至閂44 ;定 點及載入-儲存指令被調度至閂46或48以及浮點指令被調 O:\89\89073.DOC -13 - 1232375 度至閂50。需要一重命名暫存器以供暫態儲存執行結果之 各指令之後被CR映像程式52、鏈結及計數(LC)暫存器映像 程式54、異常暫存器(XER)映像程式56、一般目的暫存器 (GPR)映像程式58以及浮點暫存器(FPR)映像程式60之合適 之一指定至少一重命名暫存器。 該等調度之指令之後被暫態置放於CR發出佇列 (CRIQ)62、分支發出佇列(BIQ)64、定點發出佇列(FXIQ)66 及68以及浮點發出佇列(FPIQ)70及72之合適之一佇列。由 發出佇列62、64、66、68、70及72,指令可以被視機會發 出給處理單元10之執行單元以供執行,只要資料相關性及 非相關性被觀察到。然而,該等指令被維護於發出佇列 62-72中直到該等指令之執行被完成以及該結果資料,假使 有的話被寫回為止,假使任何指令需要被重新發出。 如解釋,處理單元204之執行單元包含一 CR單元(CRU)90 以供執行CR-修正指令、分支執行單元(BEU)92以供執行分 支指令、二定點單元(FXU)94及100以供執行定點指令、二 載入-儲存單元(LSU)96及98以供執行載入及儲存指令以及 二浮點執行單元(FPU) 102及104以供執行浮點指令。執行單 元90-1 04之各執行單元為較佳地製作為具有許多管線階段 之一執行管線。 於執行單元90-104之一執行單元内的執行期間,一指令 由耦合至執行單元之一暫存器檔案内之至少一架構及/或 重命名暫存器接收運算元,假使有的話。當執行CR-修正或 是CR-相關指令時,CRU 92及BEU 92存取該CR暫存器檔案 O:\89\89073.DOC -14- 1232375 80,其於一較佳具體實施例中包含一 CR及許多CR重命名暫 存器,該等暫存器各包括至少一位元形成之許多明確欄 位。於這些欄位間為LT、GT以及EQ攔位,分別指示是否一 值(通常為一指令之結果或是運算元)小於0、大於0或是等於 0。鏈結及計數暫存器(LCR)檔案82包含一計數暫存器 (CTR)、鏈結暫存器(LR)以及重命名暫存器,藉由各暫存器 該BEU 92亦可以解析條件分支以獲得一路徑位址。一般目 的暫存器檔案(GPR)84及86被同步,複製暫存器檔案、儲存 由FXU 94與100以及LSU 96與98存取以及產生之定點及整 數值。浮點暫存器檔案(FPR)88,類似GPR 84及86亦可以被 製作為複製同步暫存器組,包含浮點值,該浮點值為由FPU 102及104執行之浮點指令以及LSU 96及98執行之浮點載入 指令的執行形成之結果。 於一執行單元完成一指令之執行之後,該執行通知GCT 3 8,其以程式順序排程指令之完成。為完成由CRU 90、FXU 94及100或FPU 102及104其中之一執行一指令,GCT 38對該 執行單元發出信號,其由指令之重命名暫存器寫回結果資 料至合適暫存器檔案内之至少一架構暫存器,假使有的 話。該指令之後由該發出彳宁列移除,以及一旦其指令群組 内之所有指令已經完成時,由GCT 38移除。然而,其他類 型之指令被不同地完成。 當BEU 92解析一條件式分支指令以及決定必須被採用之 執行路徑的路徑時,該路徑位址與由BPU 36預測之推測路 徑位址做比較。假使該位址路徑位址匹配時,不需要任何 O:\89\89073 DOC -15 - 1232375 其他處理。,假使該計算之路徑位址與該預測之路徑 位址不匹配時,BEU92供應正確之路徑位址給IFAR3〇。於 任-事件中,該分支指令則可以由_ 64移除,以及當相 同指令群組内之所有其他指令已經完成時,則由GCT卿 除0 接著-載入指令之執行之後,藉由執行該載入指令計算 之有效位址由一資料ERAT(未解釋)翻譯為一真實位址以及 之後被提重L1D-快取20為一請求位址。此時,該載入指令 由FXIQ 66或68移除以及置放於載人重排序❹(l尋14 中,直到指示之載入被執行為止。假使該請求位址於u & 快取20未中時,該請求位址被置放於載入未中仔列 (LMQ)116 ,由此該請求位址由L2快取16擷取,以及失效 t由另處理單元200或疋系、統記憶體i i 8(圖2顯示)榻 取。LRQU4窺察互斥之存取請求(例如,㈣.讀取·修正), 於互連222(圖2顯示)上對空中之载入清除或取消;以及假使 命中發生日夺,取消及重發出該載入指令。儲存指令為類似 利用-儲存仔mSTQ)m完成,儲存之有效位址於該等儲 存指令執行之後被載入於該仔列中。由STQ110,資料可以 被儲存於LI D-快取20及L2快取16其中之一或是二者内。 處理器狀態 -處理器之狀態包含—特別時間儲存之資料、指令以及 硬體狀態,以及由此定義為"硬性”或”軟性”。該”硬性"狀態 被定義為一處理器内之資訊,兑么 貝Λ 具為一處理器架構所需以由 該處理之目前點執行一處理。相軔 相钗之下,該”軟性”狀態被 O:\89\89073 DOC -16· 1232375 定義為一處理為内之資訊’其將改善一處理之執行效率, 但不是達成一架構正確結果所必需。於圖3a之處理單元2〇〇 中,該π硬性”狀態包含使用者-層級暫存器,如CRR 8〇、L(:r 82、GPR 84及86、FPR 88以及監督器層級暫存器51。該處 理單元200之π軟性π狀態包含π效能-關鍵’,資訊,如L1 ^-快取 1 8、LI D-快取20之内容;位址翻譯資訊,如DTLB } η及 ITLB 115 ;以及較不關鍵資訊,如βητ 35以及L2快取16所 有或部分内容。 暫存器 於上文說明中,處理單元200之暫存器檔案,如GpR86、 FPR 88、CRR 80以及lCR 82—般被定義為”使用者_層級暫 存器”,因為這些暫存器可以被具有使用者或監督器權限之 所有軟體存取。監督器層級暫存器51包含通常被一作業系 統使用之那些暫存器,通常於作業系統核心程式中,使用 於如記憶體管理、組態以及異常處置之操作。就其本身而 論,存取監督器層級暫存器51通常限於具有足夠存取許可 之一些處理(亦即,監督器層級處理)。 如圖3b所描繪,監督器層級暫存器5 1通常包含組態暫存 器302、記憶體管理暫存器3〇8、異常處置暫存器μ以及雜 項暫存器322,將於下文更詳細說明。 組恶暫存為302包含一機器狀態暫存器(MSR)3〇6以及一 處理器版本暫存器(PVR)3〇4。MSR 306定義該處理器之狀 態。也就是’ MSR306識別指令執行於一指令中斷(異常)被 处置之後必品由何處回復。pVR 3料識別處理單元2⑼之特
O:\89\89073 DOC -17- 1232375 定類型(版本)。 記憶體管理暫存器308包含塊位址翻譯(BA丁)暫存器 wo。bat暫存器310為軟體控制陣列,其儲存可使用晶載 塊位址翻譯。較佳地,具有分離之指令及資料ΒΑΤ暫存器, 顯示為ΙΒΑΤ 309及DBAT311。記憶體管理暫存器亦包含區 段暫存器(SRN2,當ΒΑΤ翻譯失效時其被用以翻譯εα為虛 擬位址(VA)。 異#處置暫存裔314包含一貧料位址暫存器(DAR)3i6、特 j目的暫存器(SPR)3丨8以及機器狀態儲存/回復(SSR)暫存 器320。該DAR316包含假使該存取造成—異常時由一記憶 體存取產生之有效位址’如-調正異常。spR被用於由作業 系統定義之特殊目的’例如識別由第一層級異常處置器 (FLIH)保留使用之—記憶體區域。此記憶體區域對該系統 之各處理器為♦-。-SPR318可以被FL则為—暫存暫存 器以儲存-般目的暫存器(GPR)之内容,可以由spR 318載 入以及使用為-基底暫存器以儲存其他⑽至記憶體。现 暫存器320儲存異常(中斷)時之機器狀態以及當由中斷指令 回轉被執行時回復機器狀態。 雜項暫存器322包含—時基㈣暫存器324以供維護日期 時間、減量暫存器(DEC)326以供減量計數以及資料位址斷 點暫存(DA卿淑於假使—特定f料位址被遭遇時造成 一斷點發生。此外,雜項暫存器322包含一時基中斷⑽⑻ 暫存器33(m於-預先衫之時間週期之後啟動—中斷。此 時基中斷可以與週期性維護常式_起使用以於處理單元
O:\89\89073.DOC -18- 1232375 200上執行。 軟體組織 少;⑽貝料處理系統中,如圖2之MP資料處理系統20卜 1數應用&式可關時執行,可能於*同作業系統之下同 日守執仃。圖4描緣如本發明之⑽資料處理系統2〇ι之一典範 軟體組態之一分層圖示。 次如解釋,該軟體組態包含一超管理器4〇2,其為分配财 貝料處理系統201之貧源至多數分區内,以及之後與該等多 Μ㈣之多數(可能不同)作業系統之執行協調之監督器 軟體例如’超官理器4〇2可以分配處理單元細&、第一系 ’充。己隐區11 8a以及其他資源至作業系統彻a於其中操作 之第一分區。類似地是,超管理器4〇2可以分配處理單元 2〇〇a、第二系統記憶體區H8n以及其他資源至作業系統 400η於其中操作之第二分區。 於一作業系統404控制之下的執行可以為多數應用程式 傷,如文字處理器、試算表、劉覽器等。例如,應用程式 406a至406χ全部於作業系統4〇4a控制下執行。 各作業系統404及應用程式傷通常包括多處理。例如, 應用程式406a被顯示具有多處理彻&至4〇8z。各處理單元 200能夠獨立執行-處理’假設該處理單元2⑼具有必要之 指令、資料以及該處理之狀態資訊。 中斷處置 現在參考圖5a及5b’描繪一典範方法之一流程圖,藉由 該方法-處理單元如處理單元2叫本發明處置—中斷^ O:\89\89073.DOC -19- 1232375 方塊502所示,一中斷由該處理器接收。此中斷可以為一異 常(例如溢出)、一外部中斷(例如由一 I/C)裝置產生)或是一 内部中斷。 於接收该中斷時,該現行執行處理之硬性架構狀態(方塊 504)以及|人丨生狀悲(方塊5〇5)被儲存。如本發明之儲存及管 理硬性及軟性狀態之較佳處理之細節於下文參考圖6^硬 性)及圖6b(軟性)加以說明。於該處理之硬性狀態被儲存至 記憶體之後,至少一第一層級中斷處置器(fuh)&第二層 級中斷處置(SLIH)被執行以服務該中斷。 該FLIH為接收該處理器控制為結果之一常式。於一中斷 通知日寸’该FLIH藉由讀取一中斷控制檔案決定該中斷之原 因。較佳地是,此決定為經由一向量暫存器之使用而做出。 也就是,該FLIH讀取一表以與處置該中斷之啟始處理之一 異常向量位址匹配一中斷。 該SLIH為-中斷相關常式,& 一特定中斷源處置一中斷 之處理。也就是,該FLIH呼叫該SLIH,其處置該裝置中斷, 但不疋该裝置驅動程式本身。 於圖5a中,圓506内顯示之步驟由該FLm執行,方塊爾 所解釋,豸中斷為唯-識別’如上文說明,較佳地使用一 向量暫存H。依據何中斷被接收,此中斷識別之後使該處 理器跳越至記憶體之一特別位址。 如熟知相關技藝之那些人士所瞭解,任何儿冚可以建立 與一輸入/輸出(1/〇)裝置或是另一處理器(外部中斷)通信之 -通信程序,或是可以在作業系統或是控制該中斷之處理
O:\89\89073.DOC -20- 1232375 器之超管理器控制之下執行一組指令。例如,第—中斷可 以使该處理器跳越至向量位址丨,結果造成SUH a之執行, 如方塊510及516所示。如所示,SLm A完成該中斷處置而 不用呼叫任何額外軟體常式。類似地是’如方塊512、52〇 以及526所解釋,一分支至向量位址3結果造成典範slih匸 之執行,其之後執行屬於該作業系統4〇4或超管理器4〇2(二 者於圖4顯示)之至少一指令以服務該中斷。或者,假使該 中斷指引該處理器跳越至向量位址2,則典範suh B被執 行,如方塊514及518所示。SLIHB之後呼叫(方塊524)發出 該中斷之一裝置之裝置驅動程式。 接著方塊516、524或526之任何方塊之後,該處理經由頁 連接符號"A”行進至圖5b之方塊528。一旦中斷已經被服務 時,則該SLIH及FLIH被解析以及重新建立以反應該中斷之 執行及完成,如方塊528及530所示。此後,次處理被載入 以及執行,如方塊532_536所說明。該中斷處置處理則終止。 至於何處理接著被執行(方塊532)以及在何處理器上(方 塊534)(假使於—MP電腦系統中),一選擇,通常由該處理 。。之作業系統或是該MP電腦系統之超管理器做成,該處理 器為該MP電腦系統之部分。該選擇之處理可以為在目前處 理器上被中斷之處理,或是可以為新處理之另一處理或是 於目前處理器或是另一處理器上執行時被中斷之另一處 理。 如方塊536所解釋,一旦處理及處理器被選擇,該選擇之 處理器以將被執行之次處理的狀態使用圖2顯示之次硬性
O:\89\89073.DOC -21 - 1232375 狀怨暫存為210啟動。次硬性狀態暫存器21〇包含該次,,最熱 門處理之硬性架構狀態。㉟常,4匕次最熱門處理為先前被 中斷之一處理’以及現在被回復。很少,該次最熱門處理 為先兩不被中斷之一新處理。 4 -人取熱門處理為被決定之具有最高執行優先順序之處 理。優先順序可以為基於一處理對總體應用為如何關鍵、 /處理之…果的必要性或是優先順序化之任何其他理由而 決=。由於多處理被執行,等待回復之各處理的優先順序 絰Φ改k。因此,該等硬性架構狀態被動態指定更新優先 順序層級。也就是,該硬性架構狀態在任何規定時刻,次 硬性狀態暫存n 210包含由系統記憶體丨18連續及動態更新 之硬性架構狀態以包含需要被執行之次”最熱門,,處理。 儲存硬性架構狀態 於先別技術中,該等硬性架構狀態經由處理器核心之載 入/儲存單兀儲存至系統記憶體,其阻斷該中斷處置器或是 另處理之執行多數處理器時鐘循環。於本發明中,如圖 5a之方塊504所描繪之儲存一硬性狀態之步驟被如圖^解 釋之方法加it,其#考圖2圖式解釋之硬體加以說明。 於中斷之接收時,處理單元200懸置一現行執行處理之 執行,如方塊602解釋。儲存於硬性狀態暫存器2〇6之硬性 架構狀態則被直接複製至影子暫存器2〇8,如方塊6〇4解 釋。(或者,影子暫存器2〇8經由以現行硬性架構狀態連續 更新衫子暫存态208之一處理而已經具有該硬性架構狀態 之複製)β亥硬性架構狀態之影子複製,當由處理單元2〇〇 O:\89\89073.DOC -22- 1232375 檢視時’較佳為不可 統記憶體118, ^ 控制下被儲存至系 制广山 °塊606解釋。該硬性架構狀態之影子複 ^㈣寬記憶體匯流排116被傳送至系統記憶體⑴。 :健存現行硬性架構狀態之複製㈣子暫存器細内最 、—了釦循%,所以處理單元2〇〇能夠快速開始處 置申斷或是執行一次處理之”真實工作,,。 該硬性架構狀態之影子複製較佳地被料於系統記憶體 内之特殊δ己憶體區域,該區域為硬性架構狀態保留, 如下文參考圖10說明。 儲存軟性狀態 當-中斷處置器由—傳統處理器執行時,該中斷之處理 之軟性狀態通常被污染。也就是,該中斷處置器軟體之執 行以該中斷處置器使用之資料(包含指令)移植該處理器之 快取記憶體、位址翻譯設施以及歷史表。因此,t該中斷 之處理於中斷被處置之後而回復時,該處理將經歷增加之 才曰?及資料快取未中、增加之翻譯未中以及增加之分支錯 決預測。此未中及錯誤預測嚴重地衰減處理效能直到該中 斷處置之« f訊由該^里器及快取記憶體清除以及儲存 該處理之軟性狀態之其他組件被以該處理之相關資訊重新 移植為止。所以本發明儲存以及回復至少一處理之一部份 軟性狀態以降低中斷處置相關之效能損失。 現在參考圖6b以及圖2及3a描繪之相對應硬體,Li I-快取 1 8及LI D-快取20之整體内容被儲存至系統記憶體i 18之一 專屬區域,如方塊610解釋。同樣地,βητ 35(方塊612)、 O:\89\89073.DOC -23 - 1232375 1丁1^115及0丁1^113(方塊614)^入丁32(方塊616)以及乙2 快取16(方塊618)可以被儲存至系統記憶體ι18。 因為L2快取1 6可以為相當大(例如,大小為多數百萬位元 組),所以儲存L2快取16之全部就系統記憶體之其覆蓋區以 及傳送資料所需之時間/頻寬而論可能被禁止。所以,於一 較佳具體實施例中,僅有最近使用(MRU)集合之子集合(例 如兩個一組)被儲存於各同全等類別之内。 將瞭解的是雖然圖6b解釋一處理之軟性狀態的許多不同 組件之各組件的儲存,但是被儲存之這些組件的數目以及 被儲存之組件的順序可以在製作實施間變化以及為軟體可 程式或是經由硬體模式位元控制。 因此,當中斷處置器常式(或是次處理)正被執行時,本發 明流出軟性狀態。此非同步操作(與中斷處置器之執行獨立) 可以造成軟性狀態之互調和(中斷之處理之那些軟性狀態 以及中斷處置器之那些軟性狀態)。但是,資料之互調和為 可接受,因為軟性狀態之精確保留對架構之正確性而言不 是所需要的以及因為由於執行中斷處置器之較短延時改善 之效能被達成。 再次參考圖2, LI I-快取18、L1 1快取2〇以及L2快取16 之軟性狀態經由資料路徑2 18被傳輸至IMC 22〇,而其他軟 性狀態如BHT 35經由類似内部資料路徑(未顯示)被傳輸至 IMC 220。或者或是除此以外,於—較佳具體實施例中至少 某些軟性狀怨經由掃描鏈通道214被傳輸至220。 經由掃描鏈通道儲存軟性狀態 O:\89\89073.DOC -24- 1232375 因為其複雜度,處理器及其⑽通常包含電路,加強該 ic之測試。該測試電路包含-邊界掃描鏈,如國際電機電 子工程師學會(IEEE)標準⑽丄啊之,,標準測試存取璋 及邊界掃描架構,,所說明,該標準由此以提及的方式整體併 入本文中。該邊界掃描鏈通常經由封裝之積體電路上之專 屬接腳存取,提供介於一積體電路之組件之間之一測試資 料通道。 ' 現在參考圖7,具有依據如本發明之一積體電路彻描緣 之方塊圖。積體電路700較佳為—處理器,㈣2之處理單 元2〇〇。積體電路700包含邏輯組件(邏輯)7〇2、7〇4以及7〇6, 為了解釋本發明之目的包括儲存該處理之軟性狀態之記憶 體元件之三元件。例如,邏輯7〇2可以為圖“顯示之li D_ 快取20 ;邏輯704可以為ERAT 32以及邏輯7〇6可以為如上述 之L2快取16的一部份。 於積體電路700之製造測試期間,一信號經由該掃描鏈邊 界扣708傳送,其較佳為時鐘控制閂。由掃描鏈邊界格川心 輸出之一信號提供一測試輸入至邏輯7〇2,其之後輸出一信 唬至掃描鏈邊界格708b,其依序經由其他掃描鏈邊界格7〇8 傳运該測試信號至其他邏輯(7〇4及7〇6)直到該信號到達掃 描鏈邊界格708c為止。因為,具有一骨牌效應,其中邏輯 702-706僅有期待之輪出由掃描鏈邊界格7〇8c接收時通過 該測試。 根據以往歷史,積體電路之邊界掃描鏈於製造之後未被 使用。然而,本發明利用說明之測試通道為一通道以快取/
O:\89\89073 DOC -25- 1232375 暫存器璋,㈣斷方式傳送軟性架構狀態至圖2之舰 220。也就疋’藉由使用該掃描鏈測試通道,該軟性架構狀 悲於IH或疋處理正執行時可以不用阻斷存取快取/暫存哭 而由次處理或中斷處置器流出快取/暫存器。 的 由於掃描鏈214為一串列通道,串列-至-平行邏輯216,圖 2解釋’提供平行資料至職2胸供軟性狀態適當傳輸至 系統記憶體118。於一較佳具體實施例中,串列_至_平行邏 輯2 16亦包含識別何資料由何快取/暫存器產生之邏輯。此 識別可以利用熟知相關技藝之那些人士所知的任何方法, 包含該串列資料上之前導識別標籤之識別等。於轉換該軟 性狀態資料至平行格式之後,IMC22〇則、經由高步員寬記憶體 匯流排222傳輸該軟性狀態至系統記憶體丨丨8。 請注意這些相同的掃描鏈通道可以被進一步使用以傳輪 如包含於圖2描繪之影子暫存器2〇8之硬性架構狀態。 SLIH/FLIH快閃唯讀記憶體 於先前技藝系統中’第一層級中斷處置器(FLIH)及第二 層級中斷處置器(SLIH)被儲存於系統記憶體中,以及當呼 叫時移植於該快取記憶體階層中。起初由傳統系統之系統 記憶體呼叫一 FLIH或SLIH時,結果造成一長的潛伏(於一快 取未中之後由系統記憶體定位及載入FLIH/SLIH)。以 FLIH/SLIH指令及資料移植快取記憶體以後續處理不需要 之資料及指令”污染’’快取記憶體。 為降低FLIH及SLIH之存取潛伏以及避免快取污染,處理 單元200儲存至少一些FLIH及SLIH於一特殊晶載記憶體(例 O:\89\89073.DOC -26- 1232375 如,快閃唯讀記憶體(R〇M)802)上,如圖3a及8a所描繪。 FLIH 804及SLIH 806於製造時可以被燒錄至快閃ROM 802 内或是於製造之後可以藉由熟知相關技藝之那些人士所知 的快閃程式設計技術燒錄。當一中斷被處理單元200接收時 (圖2描繪),該FLIH/SLIH被直接由快閃ROM 802存取而非 由系統記憶體11 8或是快取層級212存取。 SLIH預測 通常,當一中斷發生於處理單元200時,一 FLIH被呼叫, 其之後呼叫一 SLIH,其完成該中斷處置。何SLIH被呼叫以 及該SLIH執行如何變化與包含傳遞之參數、條件狀態等之 各種不同因素有關。例如,於圖8b中,呼叫FLIH 8 12結果 造成SLIH 814之呼叫及執行,其結果造成位於點B執行指 〇 因為程式行為可以重複,所以經常是一中斷將發生多次 之情況,結果造成相同FLIH及SLIH(例如,FLIH 8 12及SLIH 8 14)之執行。因此,本發明認知一中斷後續之發生的中斷 處置可以藉由預測中斷處置處理之控制圖形將被重複以及 藉由推測執行部分SLIH而不用首先執行FLIH而加速。 為加強中斷處置預測,處理單元200被配置一中斷處置器 預測表(IHPT)808,圖8c較詳細顯示。IHPT 808包含多數 FLIH之一列表基底位址816(中斷向量)。依據各FLIH位址 816,IHPT 808儲存至少一 SLIH位址8 18之一個別集合,先 前已經被相關FLIH呼叫。當IHPT 808以一特定FLIH之基底 位址存取時,預測邏輯820選擇該IHPT 808之特定FLIH位址 O:\89\89073.DOC -27- 1232375 816相關之一31^111位址818為31^111之位址,相同地將被該特 疋F LIΗ呼叫。明注思该解釋之預測之§ l IΗ位址雖然可以如 圖8b指示為SLIH之基底位址814,但是該位址亦可以為開始 點(例如,點B)後續之SLIH 8 14内之一指令之一位址。 預測邏輯820使用一演算法預測何SLIH將被該特定FLm 呼叫。於一具體實施例中,此演算法選擇一 slih,與該特 定FLIH相關,已經被最新使用。於另一具體實施例中,此 演算法選擇一 SLIH,與該特定flih相關,根據以往歷史已 經最頻繁被使用。於其中之一具體實施例中,該演算法選 擇一 SLIH,與該特定fUH相關,依據以往歷史已經最頻繁 地被呼叫。於上述其中之較佳具體實施例中,該演算法可 以依據預測之SLIH之一請求加以執行,或是該預測之SLm 可以被連續更新以及被儲存於111?丁 808。 值付注意本發明與先前技術已知的分支預測方法不同。 首先,上文說明之方法造成一跳越至一特定中斷處置器, 以及非基於一分支指令位址。也就是,先前技術使用之分 支預測方法預測一分支操作的結果,然而本發明基於(可能) 非分支指令預測一跳越至一特定中斷處置器。此情形導致 第一不同,其為一較大量的程式碼如本發明與先前技術 分支預測比較之教導被中斷處置器預測略過,因為本發明 允許繞道任何數目之指令(如FUH之指令),然而一分支預 測於預測之分支之前允許僅僅—有限數目指令,因為可以 由-傳統分支預測機制掃描之指令視窗大小的固有限制。 第三’如本發明之中斷處置器預測不限於如先前技術之採
O:\89\89073.DOC -28- 1232375 用/不採用分支預測之二元決定。因此,再次參考圖8c,預 測邏輯820可以由任何數目之歷史SLIH位址8 18選擇預測 之SLIH位址822,然而一分支預測設計方案僅於依序執行路 徑及一分支路徑間選擇。 現在參考圖9,其解釋如本發明預測一中斷處置器之一典 範方法之一流程圖。當一中斷由一處理器(方塊902)接收 時,由同時多線(SMT)執行之並行執行依據該中斷呼叫之 FLIH(方塊904)以及由IHPT 808基於先前執行歷史指示之 一預測之SLIH(方塊906)開始。 於一較佳具體實施例中,跳越至預測之SLIH(方塊906)可 以回應監視,於接收一中斷時而執行該呼叫之FLIH。例如, 再次參考IHPT 808,圖8所示。當中斷被接收時,該FLIH 與儲存於IHPT 808之FLIH位址816比較。假使IHPT 808之 儲存之FLIH位址8 16顯露由該中斷呼叫之相同FLIH位址, 則IHPT 808提供預測之SLIH位址822以及於該預測之SLIH 位址822之位址啟動之碼執行立即開始。 已知正確之SLIH與預測之SLIH的後續比較較佳地藉由 儲存該預測之SLIH位址822於包含具有一預測旗標之FLIH 位址之一 SLIH預測暫存器而執行,其使用IHPT 808呼叫。 於本發明之一較佳具體實施例中,當一指令已知由FLIH呼 叫一 SLIH時,如一 ’’跳越’’指令被執行時,由該跳越呼叫之 位址與位於該預測暫存器之預測之SLIH位址822之位址(以 及由該預測旗標識別為已經預測以及目前正執行)比較。該 預測暫存器之預測之SLIH位址822以及由該執行之FLIH選 O:\89\89073.DOC -29- 1232375 擇之SLIH被比較(方塊910)。假使該正確SLIH被預測時,則 違預測之SLIH完成執行(方塊9 14),因此加速中斷處置。 然而’假使該SLIH被錯誤預測時,則該預測之slih的進一 v執行被取消,以及該正確SLIH反而被執行(方塊91 6)。 狀態管理 現在芩考圖1 〇,具有描繪之一觀念圖示,其以圖形解釋 "於儲存於系統記憶體與一典範MP資料處理系統之各種 不同處理為及記憶體分區之硬性狀態與軟性狀態之間的邏 輯關係。如圖10所示,所有硬性架構狀態以及軟性狀態被 儲存於超官理器402分配之一特殊記憶體分區,該狀態由任 何分區内之處理器存取。也就是,處理器A及處理器B起初 可以由超官理器402建構以於分區χ内作用為一SMp,而處 理器c及處理器D於分區γ内被建構為一 SMp。當執行時, 處理器A_D可以被中斷,使得處理器A-D之各處理器以上文 。寸娜之方式儲存個別之一硬性狀態A-D以及軟性狀態 至記憶體。不同於先前技術系統不允許不同分區之處理器 存取相同記憶體空間,任何處理器可以存取任何硬性或軟 性狀態A-D以回復相關之中斷之處理。例如,除了硬性及軟 f生狀心C及D以外,其於其分區内被建立,處理器d亦可以 存取硬性及軟性狀態AAB。因此,任何處理狀態可以被任 何刀區或處理器存取。因此,超管理器4〇2於分區之間具有 負載平衡之較大自由及彈性。 軟性狀態快取連慣性 如上文討論’中斷之處理之軟性狀態可以包含快取記憶
O:\89\89073.DOC -30· 1232375 體如圖3a解釋之Ll I-快取18、Ll D-快取20及L2快取16之 内容。雖然這些軟性狀態被儲存系統記憶體,如上文參考 圖6b所述,很可能包括軟性狀態之至少某些資料將因為被 其他處理器所做之資料修正而變成陳舊。所以本發明提供 一機制以保持儲存於系統記憶體之軟性狀態為連貫性。 如圖11解釋,儲存於系統記憶體118之軟性狀態可以被觀 念化為儲存於”虛擬快取,,。例如,L2快取丨6之軟性狀態於 L2虛擬快取11〇2中。L2虛擬快取包括包含由L2快取16儲 存之各快取線資料1110之標籤11〇4及索引11〇6之一位址部 分。類似地是,L1虛擬I-快取1112包括包含由快取18 儲存之指令1120之標籤1114及索引U16之一位址部分,以 及LI D-快取1122包括一位址部分,包含由[丨D_快取2〇儲 存之各快取線資料1130之標籤1124及索引1126之一位址部 刀。故些虛擬快取’’之各”虛擬快取”被整合記憶體控制器 (IMC)220經由互連222管理以維持連貫性。 IMC 220窺探系統互連222上之各操作。無論何時一操作 被窺探吟,可此需要一快取線之無效性,IMC 22〇對虛擬快 取目錄1132窺探該等操作。假使一窺探命中被偵測時,imc 220藉由更新合適之虛擬快取目錄使系統記憶體} 1 8之虛擬 快取線無效。雖然可能需要窺探之正確位址匹配無效(亦 即,彳示藏及索引之匹配),製作一精確位址匹配將需要imc 220之大里電路(特別是用於64-位元及較大位址)。因此,於 -較佳具體實施例中,窺探無效性為不精確,以及具有選 擇之匹配該窺棟位址之最高有效位元(MSB)無效。何msb O:\89\89073 DOC -31 - 1232375 被用以決定何快取線於虛擬快取記憶體為無效為特定之實 施以及可以經由模式位元而為軟體可控制或硬體可控制。 因此,位址可以被相對於標籤或是僅有一部份標籤(如1〇個 最尚有效位元)窺探。該虛擬快取記憶體之此一無效機制具 有使仍然包含有效資料之快取線無效的容許缺點,但是此 缺點由藉由提供維持虛擬快取線連貫性之一非常快速方法 完成之效能優點給超越。 製造層級測試 於製造期間,積體電路在各種不同操作條件下受到電池 測試。其中之一種測試為一資料測試,其中該積體電路之 内部問極為全部以使用上文說明之IEEE 1149.1之測試資料 流之測試掃描鏈加以測試。於先前技術中,於積體電路在 一知作環境之安裝之後此測試程式不再執行,部分是因為 於大多數環境中連接一積體電路至一測試設備以執行測試 疋不貫際的以及因為測試防止積體電路之使用於其意圖目 的。例如,於處理器100中該硬性架構狀態必須經由負載/ 儲存路徑被儲存於系統記憶體以及由系統記憶體回復,於 測试期間防止大量工作的實行以及導引嚴重潛伏。 然而,使用上文說明之硬性架構狀態儲存方法,雖然該 免里器被安裝於一正常操作環境(例如,電腦系統);因為儲 子及回復硬性架構狀態之時間很短,較佳是數個時鐘循枣 處理器可以固定執行一製造層級測試程式。 現在參考圖12,描繪如本發明之製造層級測試程式之一 /、乾方法之一流程圖。因此,如方塊12〇2及丨2〇4所描繪,
O:\89\89073.DOC -32- J232375 於經過預定時間量時’一中斷於處理器中被啟動(方塊 12〇6)。因為使用本發明之任何中斷,當測試程式開始執行 、及^出中斷時,<吏用上文說明之用於儲存硬性架構狀態 之^佳方法,現行執行之處理的硬性架構狀態立即被儲存 (通常於2_3時鐘循環内),如方塊而所騎。並行地是, 現行執行處理之至少―部份軟性狀態被儲存(方塊㈣),較 佳地是以圖6b之上文說明之方式。 .· 製造測試程式之硬性架構狀態可選擇性被載入於處理器 - 内如方塊1212說明。於本發明之一較佳具體實施例中, 鲁 該製造層級測試程式被由快閃R〇M 8〇2載入之一製造層級 測試程式810載入,圖8a描繪。當處理單元2〇〇首先被製造 時,製造層級測試程式810可以被燒錄於快閃R〇M 8〇2内; 或是該製造層級測試程式810後續可以被燒錄。假使多數製 造層級測試程式被儲存於快閃ROM 802内時,則其中之一 製造層級測試程式被選擇於執行。於本發明之一較佳具體 貫施例中’該製造層級測試程式每次於一計時器中斷被執 行時而被執行,如上文之方塊1202及1204所說明。 · 只要硬性架構狀態一被載入處理器内時,該製造層級測 · 試程式就開始執行(方塊1214),較佳地使用上文說明之 · IEEE 1149.1測試掃描鏈。並行地是,該軟性架構狀態流入 _ 處理器内(方塊1216),較佳地是以上文說明之軟性狀態更新 · 方式(圖6b)。於製造層級測試程式之執行完成時,該中斷完 成以及次處理藉由載入該處理之硬性架構狀態及軟性狀態 而被執行(方塊12 1 8)。 O:\89\89073 DOC -33- 1232375 由於 孩石吏性架構狀態之載入僅需要數個時 行測試程式本身所需之時間限制之内,該製造4二執 式可以如設計者所期望地娘木袖/ a、,及測4程 丁有所,月望地經常執行。製造測試程 可以由使用者、作業系統或是超管理器啟動。 仃 因此’本發明提供-方法及系統以於其 斷相關之潛伏問題。例如, 門耠出中 器為非頻繁”之一…“技藝中’値使中斷處置 呼^處理時,則通常較低快取層級甚至系 統吕己憶體為合適之中斷處置器尋找時具有一長潛伏。當中、 斷處置器正執行時,豆以雲盘考 田 王…“ 八乂而要處置中斷之指令/資料移植處 理為之快取階層,因此當中斷之處翻復於執行時,,污染" «取P白層。本發明利用由此說明之發明性處理解決這些 問題。 一 雖然本發明之特徵已經參考_電腦處判及軟體加以說 明’但必須瞭解的是至少本發明之某些特徵可以另一方式 ,料與資料儲存系統或電腦系統-起使用之-程式產 品。定義本發明之功能的程式可以被經由各種不同的信號 載送媒體遞送至-資料儲存系統或電腦系統,其沒有限制 地包含不可寫儲存媒體(例如cd_R()m)、可寫儲存媒體(例 如軟碟、硬碟機、讀/寫CD_R〇M、光學媒體)以及通信媒體, 如電腦及電話網路,包含乙太網路。所以,必須瞭解此信 號載C媒冑s運載或編碼指引本發明之方法功能之電腦 可讀取指令時代表本發明之另一具體實施例。此外,將瞭 解的疋本七明可以由一系統製作為由此說明之硬體、軟體 或是軟體及硬體之組合形式之裝置或是其等效裝置。
O:\89\89073.DOC -34- 1232375 、本毛月已經特別翏考一較佳具體實施例而顯示及說 月c疋沾知相闕技藝之人士所瞭解的是形式及細節之各 種不同改3C可以在不脫離本發明之精神及範傳下加以製 L圖式簡單說明】 本發明新賴態樣受信任之特徵於專利申請範圍被陳述。 然而,本發明本身以及其中之一較佳使用模式、目的以及 優財與_聯合閱讀時藉由參考一解釋性具體實施例之 下列ό羊細說明將為最佳瞭解,其中·· 圖1描緣一傳統電腦系統 万塊圖,该系統利用一先前 技術之方法使用一鸯入/辟产时一 t 戟儲存早兀儲存該處理器之架構狀 態; 圖2解釋如本發明之一資 、丁叶處理糸統之一典範具體實施 例之一方塊圖; 圖3a及3b描繪圖2解釋之一處理單元之額外細節; 圖4解釋如本發明之—典範軟體組態之-分層圖示; 圖域5b-起形成如本發明之一典範中斷處置處理之一 流程圖; 圖6a及6b為顯示圖5a顯示之 μ 戈本七明用於儲存一硬性架 構狀態及軟性狀態之步驟進一步細節· 圖7描繪本發明用以通信一處 M^^ 處理之至少軟性狀態至記憶 體之知彳田鏈通道; 圖8a-8c解釋圖2描繪之如本 如“以 、明使用之儲存至少第-層 級中斷處置器(FLIH)、第二層 τ斷處置器(SLIH)以及製
O:\89\89073.DOC -35 . 1232375 造層級測試指令之快閃唯讀記憶體(R〇M)之額外細節· 圖9為說明如本發明之一處理器接收一中斷時跳越至 測之SLIH之一流程圖; 預 』圖1〇描料於儲存之硬性架構狀態、儲存之軟性狀態、 。己憶體分區以及處理器之間之邏輯以及通信關係· 圖U解釋用於儲存軟性狀態於記憶體之_典範資料結 稱,以及 圖12為於—電腦系統正㈣作„經由 程式執行測試一處理^ ^ 衣&層級測3式 r 益之—典範方法之一流程圖。 【圖式代表符號說明】 16 22 24 28 30 層級2快取 命中/未中邏輯 I-快取請求匯流排 預提取緩衝器 指令提取位址暫存器 有效-至-真實位址表 35 36 38 40 42 44 、 46 、 48 、 50 51 I-快取目錄 分支歷史表 分支預測單元 總體完成表 指令提取緩衝器 指令翻譯單元 閂 監督器層級暫存器
O:\89\89073.DOC -36- 1232375 52 CR映像程式 54 鏈結及計數(LC)暫存器映像程式 56 異常暫存器(XER)映像程式 58 一般目的暫存器(GPR)映像程式 60 浮點暫存器(FPR)映像程式 62 CR發出佇列 64 分支指令彳宁列 64 分支發出佇列 66 ^ 68 定點發出佇列 70 ^ 72 浮點發出佇列 80 CR暫存器檔案 84、86 一般目的暫存器檔案 88 浮點暫存器檔案 90 CR單元 92 分支執行單元 94 、 100 定點單元 96 > 98 載入-儲存單元 100 處理器核心 102 、 104 浮點執行單元 102 、 18 層級1指令高速緩衝記憶體 104 指令序列邏輯 108 、 204 執行單元 108a、96、98 載入/儲存單元 110 架構暫存器 O:\89\89073.DOC 37- 1232375 110 112 112 、 20 113 114 114 115 116 116 118 、 118a 、 118η 144 200 、 200a 、 200η 、 10 201 202 206 208 210 212 214 216 218 220 222 302 儲存佇列 記憶體管理單元 層級1資料高速緩衝記憶體 資料翻譯平行查看緩衝器 中斷線 載入重排序佇列 指令翻譯平行查看緩衝器 記憶體匯流排 載入未中仔列 糸統記憶體 預解碼邏輯 處理單元 多處理器(ΜΡ)資料處理系統 指令序列單元 硬性狀態暫存器 影子暫存器 次硬性狀態暫存器 快取階層 掃描鏈通道 串列-至-平行邏輯 快取資料路徑 整合記憶體控制器 互連 組態暫存器 O:\89\89073.DOC -38- 1232375 304 306 308 309 310 311 312 314 316 318 320 322 324 326 328 330 402 404a 、 404η 406 、 406a-406x 408a-408z 700 702 、 704 、 706 708 、 708a 、 708b 、 708c 802 處理器版本暫存器 機器狀態暫存器 記憶體管理暫存器 指令塊位址翻譯暫存器 塊位址翻譯暫存器 資料塊位址翻譯暫存器 區段暫存器 異常處置暫存器 資料位址暫存器 特殊目的暫存器 機器狀態儲存/回復暫存器 雜項暫存器 時基暫存器 減量暫存器 資料位址斷點暫存 時基中斷暫存器 超管理器 作業系統 應用程式 處理 積體電路 邏輯組件 掃描鏈邊界格 快閃唯讀記憶體 O:\89\89073.DOC 39- 1232375 804、 806、 808 810 816 818 82 820 822 1102 1104 1106 1110 1112 1120 1132 812 814 、1114 、 1124 、1116 、 1126 、1130 第一層級中斷處置器 第二層級中斷處置器 中斷處置器預測表 製造層級測試程式 基底位址 SLIH位址 鏈結及計數暫存檔案 預測邏輯 預測之SLIH位址 L 2虛擬快取 標籤 索引 資料 L1虛擬I-快取 指令 虛擬快取目錄 O:\89\89073 DOC -40-

Claims (1)

1232375 拾、申請專利範圍: 1. 一種用於管理包含一第一分區及第二分區之一資料處理 系統之記憶體儲存之處理狀態的方法,該第一分區執行 一第一作業系統,其與該第二分區執行之一第二作業系 統無關.,該方法包括: 忒第一分區内之一第一處理器,其於該第一作業系統 下執行一處理;該第一處理器具有一硬性架構狀態; 該第一處理器懸置該處理之執行; ^第一處理為由處理器儲存處理之硬性架構狀態至該 資料處理系統之一記憶體;以及 該第二分區内之一第二處理器,其存取該處理之硬性 木構狀悲以及於該第二作業系統下利用該硬性架構狀態 回復該處理之執行。 2.如申請專利範圍第丨項之方法,尚包括: 該第-處理器儲存該處理之—軟性狀態至記憶體;以及 ,該第二處理器由該記憶體存取該處理之軟性狀態以促 進遠處理之執行。 3. 如申請專利範圍第1之方法,纟中該資料處理系統執行 官理該第-及第二作業系統之一超管理器,其中 理器分配: 該記憶體之-第-區域,其至僅可以由該第一分區内 之處理器存取之第一分區; 該記憶體之-第二區域,其至僅可以由該第二分區内 之處理器存取之第二分區;以及 O:\89\89073.DOC 1232375 該記憶體之可存取之第三區域,其可存取該第一分區 内之處理器以及該第二分區内之處理器。 4.如申請專利範圍第丨項之方法,其中該記憶體包括一揮發 性記憶體階層,該方法尚包括: 儲存一閒置處理之一軟性狀態於一系統記憶體内並於 該揮發性記憶體階層之一最低層; 回應該系統記憶體之一記憶體控制器接收規定一位址 之一取消類型操作,對該系統記憶體之軟性狀態窺探該 取消類型操作;以及 回應造成一窥探命 態内之資料無效。 5_如申請專利範圍第4項之方法,其中該位址具有—些位 元,以及其中使該資料無效包括回應基於小於所有Ζ元 數目所決定之一窥探命中使資料無效。 6.如f請專利範圍第4項之方法,其中該儲存包括儲存之一 虛擬快取目錄於該系統記憶體内,以及該窥探包括對該 虛擬快取記憶體窺探該位址。 X 入如申請專利範圍第4項之方法,其中該儲存包括儲存—虛 擬快取陣列,以及其中使該資料無效包括使該虛擬快: 陣列内之虛擬快取線無效。 8. 一種用於管理複數個作掌系统之雷日似叮放ro 户糸矛、、兄之電驷可使用媒體,該雷 腦可使用媒體包括: 电 2於由帛—作業系統提供對―第m統可存取 之一圮憶體之一區域存取之電腦程式碼。 O:\89\89073 DOC 1232375 9.如申請專利範圍第8項之電腦可使用媒體,其中該第一作 ::系先及第-作業系統包括-相同作業系統之二實例。 Η).如申請專利範圍第8項之電腦可使用媒體,其中該第一作 業系統及第二作業系統不同。 11 · 一種資料處理系統,包括·· — 分區,包含至少一第一處理器,該第一分區執 行一第一作業系統; 一第二分區,包含至少一第二處理器,該第二分區執 行與第-分區内執行之—第—作業系統無關; 。己隐體系統’耦合至該第—及第二處理器,該記憶 體系統包含: • 〜 乐一眭域,該第一區域僅$ 由該第一分區内之處理器存取; 刀配至該第二分區之一第二區域,該第二區域僅石 由該第二分區内之處理器存取;以及 其中該第二分區内之第二處理器存取記憶體第三區域 之處理之硬性架構狀態以及回復該處理之執行。π 5 12.如申請專利範圍第丨丨項之資料 Ϊ田口口 A X、 〃〒该資料處 為G 3複數個處理器,該資料處理系統尚包括· 連接該等複數個處理器之一互連。 —第三區域,可由該第一&第二分區之處王里器存取; 力其中該第-處理器’彳回應一中斷,懸置具有—硬伯 架構狀態之-處理之執行,以及由第—處理器儲存該處 理之硬性架構狀態至記憶體之該第三區域;以及 O:\89\89073.DOC 1232375 13·如申請專利範圍第u項之資料處理系統,尚包括: 該第-處理器包含用於儲存該處理之一軟性狀態至記 憶體之裝置;以及 該第二處理器包含用於由記憶體存取該處理之軟性狀 態以加速該處理之執行之裝置。 U.如申請專利範圍第n項之資料處理系統,尚包括記憶體 内以及由該第一及第二處理器可執行之一超管理器,其 中該超管理器分配記憶體之第一、第二以及第三區域。/、 15. 如申請專利範圍第n項之資料處理系統,其中該記憶體 系統包括-揮發性記憶體階層,該資料處理系統尚包括: 用於儲存一系統記憶體内之一閒置處理之一軟性狀態 於該揮發性記憶體階層之一最低層之裝置; 窥探裝置,可回應該系統記憶體之一記憶體控制器接 制疋位址《取消類型操作,用於對該系統記憶體 之軟性狀態窺探該取消類型操作;以及 無效裝置,可回應造成一窥探命中之窺探,用於使該 位址相關之軟性狀態内之資料無效。 16. 如申請專利範圍第15項之資料處理系統,其中該位址具 有一些位元,以及其中該無效裝置包括用於回應基於小 於所有位元數目所決定之一窥探命中使資料無效之裝 置。 17·如中睛專利範圍第15項之f料處理系統,其中該儲存裝 用於储存虛擬快取目錄之裝置於該系統記憶體 内以及用於窺棟之裝置包括用於對該虛擬快取記憶體 O:\89\89073.DOC 1232375 窺探該位址之裝置。 18.如申請專利範圍第15項之資料處理系統,其 置包括用於儲存一虛擬快取陣列之裝置,以 使資料無效之裝置包括用於使該虛擬快取陣 擬快取線無效之裝置。 中該儲存裝 及其中用於 列内之一虛 O:\89\89073.DOC
TW092130387A 2002-12-05 2003-10-31 Cross partition sharing of state information TWI232375B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/313,330 US7272664B2 (en) 2002-12-05 2002-12-05 Cross partition sharing of state information

Publications (2)

Publication Number Publication Date
TW200419347A TW200419347A (en) 2004-10-01
TWI232375B true TWI232375B (en) 2005-05-11

Family

ID=32468226

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092130387A TWI232375B (en) 2002-12-05 2003-10-31 Cross partition sharing of state information

Country Status (11)

Country Link
US (1) US7272664B2 (zh)
EP (1) EP1570351B8 (zh)
KR (1) KR100570415B1 (zh)
CN (1) CN100368996C (zh)
AT (1) ATE429674T1 (zh)
AU (1) AU2003292268A1 (zh)
CA (1) CA2508044C (zh)
DE (1) DE60327362D1 (zh)
IL (1) IL168977A (zh)
TW (1) TWI232375B (zh)
WO (1) WO2004051471A2 (zh)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680972B2 (en) * 2005-02-04 2010-03-16 Sony Computer Entertainment Inc. Micro interrupt handler
JP4368320B2 (ja) * 2005-03-16 2009-11-18 富士通株式会社 情報処理システム,パイプライン処理装置,ビジー判定プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2006260407A (ja) 2005-03-18 2006-09-28 Fujitsu Ltd 情報処理装置
US20070118633A1 (en) * 2005-11-10 2007-05-24 Kumar C P V Cluster command testing
US7613918B2 (en) * 2006-02-16 2009-11-03 Finjan Software Ltd. System and method for enforcing a security context on a downloadable
US20120144485A9 (en) 2005-12-12 2012-06-07 Finjan Software, Ltd. Computer security method and system with input parameter validation
US7814307B2 (en) 2006-03-16 2010-10-12 Microsoft Corporation Fast booting a computing device to a specialized experience
US9867530B2 (en) 2006-08-14 2018-01-16 Volcano Corporation Telescopic side port catheter device with imaging system and method for accessing side branch occlusions
US8082431B2 (en) * 2006-09-29 2011-12-20 Intel Corporation System and method for increasing platform boot efficiency
US20080162866A1 (en) * 2006-12-28 2008-07-03 Siddiqi Faraz A Apparatus and method for fast and secure memory context switching
JP5524835B2 (ja) 2007-07-12 2014-06-18 ヴォルカノ コーポレイション 生体内撮像用カテーテル
WO2009009802A1 (en) 2007-07-12 2009-01-15 Volcano Corporation Oct-ivus catheter for concurrent luminal imaging
US9596993B2 (en) 2007-07-12 2017-03-21 Volcano Corporation Automatic calibration systems and methods of use
US8266634B2 (en) 2007-10-12 2012-09-11 Microsoft Corporation Resource assignment system with recovery notification
US8707318B2 (en) * 2007-10-12 2014-04-22 Microsoft Corporation Partitioning system including a generic partitioning manager for partitioning resources
US20090172125A1 (en) * 2007-12-28 2009-07-02 Mrigank Shekhar Method and system for migrating a computer environment across blade servers
US9047468B2 (en) 2007-12-28 2015-06-02 Intel Corporation Migration of full-disk encrypted virtualized storage between blade servers
US9785700B2 (en) 2008-02-11 2017-10-10 Nuix Pty Ltd Systems and methods for load-balancing by secondary processors in parallelized indexing
US8359365B2 (en) 2008-02-11 2013-01-22 Nuix Pty Ltd Systems and methods for load-balancing by secondary processors in parallel document indexing
US9928260B2 (en) 2008-02-11 2018-03-27 Nuix Pty Ltd Systems and methods for scalable delocalized information governance
US9015727B2 (en) * 2008-04-02 2015-04-21 Qualcomm Incorporated Sharing operating system sub-processes across tasks
US8131982B2 (en) * 2008-06-13 2012-03-06 International Business Machines Corporation Branch prediction instructions having mask values involving unloading and loading branch history data
US8239938B2 (en) * 2008-12-08 2012-08-07 Nvidia Corporation Centralized device virtualization layer for heterogeneous processing units
US10338923B2 (en) * 2009-05-05 2019-07-02 International Business Machines Corporation Branch prediction path wrong guess instruction
US8521999B2 (en) * 2010-03-11 2013-08-27 International Business Machines Corporation Executing touchBHT instruction to pre-fetch information to prediction mechanism for branch with taken history
US11141063B2 (en) 2010-12-23 2021-10-12 Philips Image Guided Therapy Corporation Integrated system architectures and methods of use
US11040140B2 (en) 2010-12-31 2021-06-22 Philips Image Guided Therapy Corporation Deep vein thrombosis therapeutic methods
US9703706B2 (en) * 2011-02-28 2017-07-11 Oracle International Corporation Universal cache management system
WO2013033592A1 (en) 2011-08-31 2013-03-07 Volcano Corporation Optical-electrical rotary joint and methods of use
CN103049318B (zh) * 2011-10-11 2017-10-17 北京科银京成技术有限公司 分区操作系统的虚拟中断方法
US9229884B2 (en) 2012-04-30 2016-01-05 Freescale Semiconductor, Inc. Virtualized instruction extensions for system partitioning
US9152587B2 (en) * 2012-05-31 2015-10-06 Freescale Semiconductor, Inc. Virtualized interrupt delay mechanism
US9442870B2 (en) 2012-08-09 2016-09-13 Freescale Semiconductor, Inc. Interrupt priority management using partition-based priority blocking processor registers
US9436626B2 (en) 2012-08-09 2016-09-06 Freescale Semiconductor, Inc. Processor interrupt interface with interrupt partitioning and virtualization enhancements
US9324141B2 (en) 2012-10-05 2016-04-26 Volcano Corporation Removal of A-scan streaking artifact
US9292918B2 (en) 2012-10-05 2016-03-22 Volcano Corporation Methods and systems for transforming luminal images
EP2904671B1 (en) 2012-10-05 2022-05-04 David Welford Systems and methods for amplifying light
US9286673B2 (en) 2012-10-05 2016-03-15 Volcano Corporation Systems for correcting distortions in a medical image and methods of use thereof
US9858668B2 (en) 2012-10-05 2018-01-02 Volcano Corporation Guidewire artifact removal in images
US9367965B2 (en) 2012-10-05 2016-06-14 Volcano Corporation Systems and methods for generating images of tissue
US10070827B2 (en) 2012-10-05 2018-09-11 Volcano Corporation Automatic image playback
US10568586B2 (en) 2012-10-05 2020-02-25 Volcano Corporation Systems for indicating parameters in an imaging data set and methods of use
US11272845B2 (en) 2012-10-05 2022-03-15 Philips Image Guided Therapy Corporation System and method for instant and automatic border detection
US9307926B2 (en) 2012-10-05 2016-04-12 Volcano Corporation Automatic stent detection
US9840734B2 (en) 2012-10-22 2017-12-12 Raindance Technologies, Inc. Methods for analyzing DNA
CA2894403A1 (en) 2012-12-13 2014-06-19 Volcano Corporation Devices, systems, and methods for targeted cannulation
US11406498B2 (en) 2012-12-20 2022-08-09 Philips Image Guided Therapy Corporation Implant delivery system and implants
CA2895989A1 (en) 2012-12-20 2014-07-10 Nathaniel J. Kemp Optical coherence tomography system that is reconfigurable between different imaging modes
EP2934282B1 (en) 2012-12-20 2020-04-29 Volcano Corporation Locating intravascular images
US10939826B2 (en) 2012-12-20 2021-03-09 Philips Image Guided Therapy Corporation Aspirating and removing biological material
US10942022B2 (en) 2012-12-20 2021-03-09 Philips Image Guided Therapy Corporation Manual calibration of imaging system
WO2014099899A1 (en) 2012-12-20 2014-06-26 Jeremy Stigall Smooth transition catheters
US10191220B2 (en) 2012-12-21 2019-01-29 Volcano Corporation Power-efficient optical circuit
WO2014100606A1 (en) 2012-12-21 2014-06-26 Meyer, Douglas Rotational ultrasound imaging catheter with extended catheter body telescope
US9612105B2 (en) 2012-12-21 2017-04-04 Volcano Corporation Polarization sensitive optical coherence tomography system
US10413317B2 (en) 2012-12-21 2019-09-17 Volcano Corporation System and method for catheter steering and operation
US9486143B2 (en) 2012-12-21 2016-11-08 Volcano Corporation Intravascular forward imaging device
CA2895940A1 (en) 2012-12-21 2014-06-26 Andrew Hancock System and method for multipath processing of image signals
EP2936426B1 (en) 2012-12-21 2021-10-13 Jason Spencer System and method for graphical processing of medical data
US10058284B2 (en) 2012-12-21 2018-08-28 Volcano Corporation Simultaneous imaging, monitoring, and therapy
US10166003B2 (en) 2012-12-21 2019-01-01 Volcano Corporation Ultrasound imaging with variable line density
EP2936626A4 (en) 2012-12-21 2016-08-17 David Welford SYSTEMS AND METHODS FOR REDUCING LIGHT WAVE LENGTH TRANSMISSION
CN113705586A (zh) 2013-03-07 2021-11-26 飞利浦影像引导治疗公司 血管内图像中的多模态分割
US10226597B2 (en) 2013-03-07 2019-03-12 Volcano Corporation Guidewire with centering mechanism
CN105228518B (zh) 2013-03-12 2018-10-09 火山公司 用于诊断冠状微脉管疾病的系统和方法
US11154313B2 (en) 2013-03-12 2021-10-26 The Volcano Corporation Vibrating guidewire torquer and methods of use
US11026591B2 (en) 2013-03-13 2021-06-08 Philips Image Guided Therapy Corporation Intravascular pressure sensor calibration
CN105120759B (zh) 2013-03-13 2018-02-23 火山公司 用于从旋转血管内超声设备产生图像的系统和方法
US9301687B2 (en) 2013-03-13 2016-04-05 Volcano Corporation System and method for OCT depth calibration
US20160030151A1 (en) 2013-03-14 2016-02-04 Volcano Corporation Filters with echogenic characteristics
US10219887B2 (en) 2013-03-14 2019-03-05 Volcano Corporation Filters with echogenic characteristics
US10292677B2 (en) 2013-03-14 2019-05-21 Volcano Corporation Endoluminal filter having enhanced echogenic properties
US10826930B2 (en) 2014-07-22 2020-11-03 Nuix Pty Ltd Systems and methods for parallelized custom data-processing and search
GB2533414B (en) 2014-12-19 2021-12-01 Advanced Risc Mach Ltd Apparatus with shared transactional processing resource, and data processing method
US11200249B2 (en) 2015-04-16 2021-12-14 Nuix Limited Systems and methods for data indexing with user-side scripting
KR102303417B1 (ko) * 2015-06-19 2021-09-23 삼성전자주식회사 복수의 운영 체제를 지원하는 전자 장치 제어 방법
US9619393B1 (en) 2015-11-09 2017-04-11 International Business Machines Corporation Optimized use of hardware micro partition prefetch based on software thread usage
US11681624B2 (en) * 2020-07-17 2023-06-20 Qualcomm Incorporated Space and time cache coherency

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484274A (en) 1982-09-07 1984-11-20 At&T Bell Laboratories Computer system with improved process switch routine
JPS6027031A (ja) 1983-07-25 1985-02-12 Nec Corp 情報処理装置
JPS60164840A (ja) 1984-02-08 1985-08-27 Nec Corp レジスタセ−ブ,リカバ−方式
JPS61241838A (ja) 1985-04-19 1986-10-28 Nec Corp 記憶装置
US5057997A (en) 1989-02-13 1991-10-15 International Business Machines Corp. Interruption systems for externally changing a context of program execution of a programmed processor
JPH03201032A (ja) 1989-12-28 1991-09-02 Toshiba Corp 演算処理装置
JPH04288625A (ja) 1991-02-18 1992-10-13 Mitsubishi Electric Corp マイクロコンピュータ
JP3085899B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 マルチプロセッサシステム
US6026471A (en) 1996-11-19 2000-02-15 International Business Machines Corporation Anticipating cache memory loader and method
US20020016891A1 (en) * 1998-06-10 2002-02-07 Karen L. Noel Method and apparatus for reconfiguring memory in a multiprcessor system with shared memory
US6260068B1 (en) * 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6226734B1 (en) * 1998-06-10 2001-05-01 Compaq Computer Corporation Method and apparatus for processor migration from different processor states in a multi-processor computer system
US6633916B2 (en) * 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
US5987495A (en) 1997-11-07 1999-11-16 International Business Machines Corporation Method and apparatus for fully restoring a program context following an interrupt
US6189112B1 (en) 1998-04-30 2001-02-13 International Business Machines Corporation Transparent processor sparing
US6247109B1 (en) 1998-06-10 2001-06-12 Compaq Computer Corp. Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space
US6308290B1 (en) 1999-05-20 2001-10-23 International Business Machines Corporation Look ahead scan chain diagnostic method
CA2335561A1 (en) * 2000-05-31 2001-11-30 Frank J. Degilio Heterogeneous client server method, system and program product for a partitioned processing environment
US6574748B1 (en) * 2000-06-16 2003-06-03 Bull Hn Information Systems Inc. Fast relief swapping of processors in a data processing system
FR2814555B1 (fr) * 2000-09-25 2003-02-28 Thomson Multimedia Sa Systeme et procede de gestion memoire de coherence de donnees et reseau multiprocesseur associe
US6854021B1 (en) * 2000-10-02 2005-02-08 International Business Machines Corporation Communications between partitions within a logically partitioned computer
US20020129172A1 (en) * 2001-03-08 2002-09-12 International Business Machines Corporation Inter-partition message passing method, system and program product for a shared I/O driver
US6886064B2 (en) * 2002-03-28 2005-04-26 International Business Machines Corporation Computer system serialization control method involving unlocking global lock of one partition, after completion of machine check analysis regardless of state of other partition locks
US7213248B2 (en) * 2002-10-10 2007-05-01 International Business Machines Corporation High speed promotion mechanism suitable for lock acquisition in a multiprocessor data processing system
US6983347B2 (en) * 2002-12-05 2006-01-03 International Business Machines Corporation Dynamically managing saved processor soft states
US6981083B2 (en) 2002-12-05 2005-12-27 International Business Machines Corporation Processor virtualization mechanism via an enhanced restoration of hard architected states
US7039832B2 (en) * 2002-12-05 2006-05-02 International Business Machines Corporation Robust system reliability via systolic manufacturing level chip test operating real time on microprocessors/systems

Also Published As

Publication number Publication date
WO2004051471A3 (en) 2004-07-08
KR100570415B1 (ko) 2006-04-11
CA2508044A1 (en) 2004-06-17
AU2003292268A1 (en) 2004-06-23
US20040111552A1 (en) 2004-06-10
CN100368996C (zh) 2008-02-13
EP1570351B1 (en) 2009-04-22
CA2508044C (en) 2010-04-13
KR20040049253A (ko) 2004-06-11
CN1726468A (zh) 2006-01-25
WO2004051471A2 (en) 2004-06-17
IL168977A (en) 2009-12-24
EP1570351B8 (en) 2009-07-08
EP1570351A2 (en) 2005-09-07
US7272664B2 (en) 2007-09-18
ATE429674T1 (de) 2009-05-15
TW200419347A (en) 2004-10-01
DE60327362D1 (de) 2009-06-04

Similar Documents

Publication Publication Date Title
TWI232375B (en) Cross partition sharing of state information
EP1570352B1 (en) Method and apparatus for switching between processes
US7849298B2 (en) Enhanced processor virtualization mechanism via saving and restoring soft processor/system states
JP3874287B2 (ja) 割込み時のプロセッサのアーキテクチャ状態の管理
US9983880B2 (en) Method and apparatus for improved thread selection
TWI240205B (en) Interrupt handler prediction method and system
JP3872470B2 (ja) メモリにおいてセーブされたプロセス状態を管理する方法、処理ユニットおよびデータ処理システム
Becker et al. Measuring software performance on linux
US7039832B2 (en) Robust system reliability via systolic manufacturing level chip test operating real time on microprocessors/systems