專利名稱:用于仿真數(shù)據(jù)處理系統(tǒng)內的中斷體系結構的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明一般地涉及數(shù)據(jù)處理系統(tǒng),并且更具體地涉及用于數(shù)據(jù)處理系統(tǒng)內的中斷處理的方法,系統(tǒng)和程序產品。更具體地,本發(fā)明涉及用于仿真數(shù)據(jù)處理系統(tǒng)內的中斷體系結構的方法,系統(tǒng)和程序產品。
背景技術:
在計算機系統(tǒng)中,中斷通常被用于向處理器報告需要特殊處理的事件的發(fā)生。例如,中斷可以被用于從接受處理器請求服務,報告錯誤狀態(tài)或對數(shù)據(jù)的接收,或僅是在設備之間傳遞信息。
在傳統(tǒng)的多處理器(MP)計算機系統(tǒng)中,使用硬件和/或軟件機制,以各種方法處理中斷。傳統(tǒng)的MP計算機系統(tǒng)可以使用全局中斷控制器,全局中斷控制器基于(例如)中斷的優(yōu)先級和正由各個處理器執(zhí)行的處理(如果有的話)的優(yōu)先級選擇處理器,以便為外部或處理器間的中斷服務。為了便于對與中斷有關的通信的高效的處理,全局中斷控制器和處理器使用專用的硬件寄存器和/或預先定義的存儲器地址偏移量傳遞中斷請求,中斷結束(EOI)消息,處理器優(yōu)先級和其它與中斷有關的信息。
與實現(xiàn)數(shù)據(jù)處理系統(tǒng)中的中斷方案有關的一個困難是設計者可能希望包括在所述數(shù)據(jù)處理系統(tǒng)內的各種硬件和軟件組件可能不服從單一的中斷標準,諸如由Santa Clara,California的Intel公司開發(fā)的非專有的OpenPIC(開放的可編程中斷控制器)體系結構或專有的I/O APIC(輸入/輸出高級可編程中斷控制器)體系結構。各種中斷體系結構在中斷通信,位次序,中斷優(yōu)先級指定等之間的不一致可以造成中斷硬件以及操作系統(tǒng)軟件的不兼容。
本發(fā)明意識到,盡管有這種明顯的不兼容,以實現(xiàn)異類的中斷體系結構的硬件和軟件組件開發(fā)數(shù)據(jù)處理系統(tǒng)也是希望的。
發(fā)明內容
鑒于上面所述,本發(fā)明提供了用于仿真數(shù)據(jù)處理系統(tǒng)中的中斷體系結構的方法,系統(tǒng)和程序產品。
根據(jù)至少一個實施例,為了仿真數(shù)據(jù)處理系統(tǒng)中的中斷體系結構,中斷仿真代碼從操作系統(tǒng)接收請求訪問第一中斷體系結構中的第一資源的第一調用。響應由中斷仿真代碼對第一調用的接收,中斷仿真代碼將第一資源映射到所述數(shù)據(jù)處理系統(tǒng)的中斷硬件中的第二資源。映射操作包括確定不同的第二中斷體系結構內的第二資源的標識符。然后中斷仿真代碼發(fā)起對由所述中斷硬件實現(xiàn)的第二資源的訪問。
在下面詳細的書面說明中,本發(fā)明的所有目的,特征和優(yōu)點將成為是明顯的。
在所附的權利要求中提出了被認為是本發(fā)明的特點的新的特征。然而當結合附圖進行閱讀時,通過參考下面對示例實施例的詳細描述,將更好地理解本發(fā)明以及優(yōu)選的使用模式,其中圖1是一種數(shù)據(jù)處理系統(tǒng)的高層方框圖,其中可以有利地采用本發(fā)明;圖2是一個層次圖,說明根據(jù)本發(fā)明使用中斷仿真軟件諸如固件和/或操作系統(tǒng)管理程序(管理程序)仿真數(shù)據(jù)處理系統(tǒng)內的中斷體系結構;圖3是現(xiàn)有技術的PowerPC中斷體系結構的邏輯視圖;圖4A和4B分別示出了根據(jù)傳統(tǒng)的OpenPIC中斷體系結構的中斷源單元內的向量優(yōu)先級和目的地寄存器;圖4C給出了根據(jù)本發(fā)明的實施例用于仿真中斷體系結構的影子屏蔽位,優(yōu)先級值和服務器值;圖5A是在包括硬件屏蔽位的本發(fā)明的實施例中用于在啟動或重置時初始化仿真的中斷體系結構的示例處理的高層邏輯流程圖;圖5B是在不包括硬件屏蔽位的本發(fā)明的實施例中用于在啟動或重置時初始化仿真的中斷體系結構的示例處理的高層邏輯流程圖;圖6A是在包括硬件屏蔽位的本發(fā)明的實施例中用于設置仿真的外部中斷向量入口(XIVE)的示例處理的高層邏輯流程圖;圖6B是在不包括硬件屏蔽位的本發(fā)明的實施例中用于設置仿真的外部中斷向量入口(XIVE)的示例處理的高層邏輯流程圖;圖6C是在包括硬件屏蔽位的本發(fā)明的實施例中用于讀仿真的外部中斷向量入口(XIVE)的示例處理的高層邏輯流程圖;圖6D是在不包括硬件屏蔽位的本發(fā)明的實施例中用于讀仿真的外部中斷向量入口(XIVE)的示例處理的高層邏輯流程圖;圖7A是在包括硬件屏蔽位的本發(fā)明的實施例中用于禁止外部中斷源的示例處理的高層邏輯流程圖;圖7B是在不包括硬件屏蔽位的本發(fā)明的實施例中用于禁止外部中斷源的示例處理的高層邏輯流程圖;圖7C是在包括硬件屏蔽位的本發(fā)明的實施例中用于允許外部中斷源的示例處理的高層邏輯流程圖;圖7D是在不包括硬件屏蔽位的本發(fā)明的實施例中用于允許外部中斷源的示例處理的高層邏輯流程圖;圖8是根據(jù)本發(fā)明用于寫仿真的當前處理器優(yōu)先級寄存器(CPPR)的示例處理的高層邏輯流程圖;圖9是根據(jù)本發(fā)明用于發(fā)送信號通知處理器間中斷(IPI)的示例處理的高層邏輯流程圖;圖10A是根據(jù)本發(fā)明用于讀仿真的外部中斷請求寄存器(XIRR)的示例處理的高層邏輯流程圖;和圖10B是根據(jù)本發(fā)明用于發(fā)送中斷結束(EOI)的示例處理的高層邏輯流程圖。
具體實施例方式
參考附圖并且尤其是參考圖1,示出了示例的數(shù)據(jù)處理系統(tǒng)100的高層方框圖,本發(fā)明可以被有利地實施在該數(shù)據(jù)處理系統(tǒng)內。如圖所示,數(shù)據(jù)處理系統(tǒng)100是包括用于處理數(shù)據(jù)和指令的處理單元102a-102n的多處理器數(shù)據(jù)處理系統(tǒng)。根據(jù)本發(fā)明的優(yōu)選實施例,處理單元102實現(xiàn)精簡指令集計算機(RISC)硬件體系結構,諸如由New York,Armonk的IBM公司開發(fā)的POWER體系結構。在本發(fā)明的其它可供選擇的實施例中,可以使用復雜指令集計算機(CISC)硬件體系結構。
處理單元102被連接到系統(tǒng)互連104以便進行通信,系統(tǒng)互連104可以包括用于在被附加在其上的設備之間傳輸?shù)刂罚瑪?shù)據(jù)和控制信息的一個或多個總線和/或開關。在給出的實施例中,被附加的設備包括提供與系統(tǒng)存儲器108的接口的存儲器控制器106和一個或多個主橋110a,110b,每個主橋提供到相應的中間總線112a,112b的接口。例如,在一個實施例中,每個中間總線112是外圍組件互連(PCI)總線,并且每個主橋110是PCI主橋。如圖1中進一步示出的,中間總線112a,112b又分別提供了用于附加另外的設備116a-h和116i-116p的插槽,所述的設備可以包括網絡接口卡,I/O適配器,非易失存儲設備適配器,另外的總線橋等。在數(shù)據(jù)處理系統(tǒng)100的操作過程中,各種這些設備116可以異步地(通過未示出的中斷線)向相關聯(lián)的主橋110要求中斷,以便請求某種類型的服務。這些外部中斷請求(被這樣稱呼是因為它們是在處理單元102外部產生的)最初被主橋110a,110b中的下行中斷源單元(ISU)114a,114b管理。
被連接到系統(tǒng)互連104的設備還包括中斷提交單元(IPU)118,其接收處理單元102產生的中斷(即,處理器間中斷(IPI))和接收自下行ISU114的外部中斷,并且將其提交給處理單元102a-102n以便進行處理。中斷提交單元118(可以執(zhí)行中斷提交軟件的處理單元102和/或專用的中斷硬件實現(xiàn)中斷提交單元118)可以通過系統(tǒng)互連104,或可替換地通過專用的中斷線122a-122n中的一個將中斷傳遞到一個或多個處理單元102。如圖所示,IPU118包括上行ISU120,上行ISU120作為IPU118和下行ISU114的接口,并且在由主橋110實現(xiàn)的中斷體系結構和由IPU118實現(xiàn)的中斷體系結構之間提供任何必要的轉換。
在數(shù)據(jù)處理系統(tǒng)100的操作過程中,處理單元102執(zhí)行來自系統(tǒng)存儲器108以及電可擦寫可編程只讀存儲器(EEPROM)116a的各種指令,以便執(zhí)行所希望的任務。這些指令包括固件136,應用134,一個或多個操作系統(tǒng)132的一個或多個實例,和創(chuàng)建,管理和調度操作系統(tǒng)132的實例以便執(zhí)行的管理程序(操作系統(tǒng)管理程序)130。如下面進一步討論的,固件136和管理程序130包括用于獨立于由IPU114,主橋110和設備116實現(xiàn)的實際的下層硬件中斷體系結構(多個體系結構),仿真被選擇的中斷體系結構的指令。
現(xiàn)在參考圖2,以下層中斷硬件200給出了表示數(shù)據(jù)處理系統(tǒng)100的示例軟件環(huán)境的層次圖。在圖1的數(shù)據(jù)處理系統(tǒng)100中,中斷硬件200至少包括中斷提交單元118,主橋110和設備116。
如圖2所示,在最高邏輯層應用134在一個或多個下層操作系統(tǒng)實例132的控制下,并且使用由一個或多個下層操作系統(tǒng)實例132提供的資源執(zhí)行。與操作系統(tǒng)通過定義完善的中斷寄存器接口直接與中斷硬件通信的傳統(tǒng)的實現(xiàn)相反,操作系統(tǒng)132通過中斷仿真代碼與中斷硬件200通信,在優(yōu)選實施例中所述的中斷仿真代碼包括固件136和管理程序130。即,操作系統(tǒng)132的與中斷有關的調用被固件136或管理程序130內的運行時抽象服務(RTAS)202接收,操作系統(tǒng)132假定存在仿真的中斷體系結構。RTAS202和管理程序130(它們至少了解緊接著的下層中斷硬件200的中斷體系結構)將所述與中斷有關的調用轉換為中斷硬件200的適當?shù)男问健?br>
例如,響應對調用210a的接收,RTAS202將仿真的中斷體系結構的操作系統(tǒng)調用210a轉換為緊接著的下層硬件中斷體系結構的不同的調用210b,并且將調用210b傳遞到中斷硬件200。可替換地或另外,RTAS202可以將調用210a轉換為中間調用210c,中間調用210c進一步被管理程序130轉換為緊接著的下層硬件中斷體系結構的調用210d。管理程序130可以類似地將直接從操作系統(tǒng)132接收的仿真的中斷體系結構中的調用212a轉換為所述緊接著的下層硬件中斷體系結構中的不同的調用212b,并且將調用212b傳遞到下層中斷硬件200。
在一個優(yōu)選實施例中,取決于中斷調用的預期目標,可以或是由RTAS202或是由管理程序130處理操作系統(tǒng)中斷調用。例如,屬于外部中斷源的中斷調用被RTAS 202接收和轉換,并且指向中斷提交單元118的中斷調用被管理程序130接收和轉換。還應當理解,對這些調用的響應(如果有的話)也需要適當?shù)霓D換。
雖然沒有被要求以便實現(xiàn)本發(fā)明,固件136或OS(多個OS)132可以可選擇地還包括平臺抽象層(PAL)204。PAL 204進一步從產生操作系統(tǒng)調用諸如調用210a和處理單元(多個處理單元)102或被實際用于服務于這些調用的硬件資源之間的獨立性的軟件中“抽象”硬件資源。
根據(jù)本發(fā)明,由操作系統(tǒng)132實現(xiàn)的中斷體系結構獨立于由IPU118實現(xiàn)的下層中斷體系結構,由IPU118實現(xiàn)的下層中斷體系結構又獨立于由主橋110實現(xiàn)的下層中斷體系結構。因此,為了正確地處理數(shù)據(jù)處理系統(tǒng)100內的異步的中斷,可能需要兩層或多層仿真或轉換(1)主橋110和IPU118的中斷體系結構之間的轉換,和(2)IPU118和操作系統(tǒng)(多個操作系統(tǒng))132的中斷體系結構(多個體系結構)之間的轉換。
為了促使更好地理解本發(fā)明,下面參考特定的實施例描述本發(fā)明,其中在實現(xiàn)OpenPIC中斷體系結構的IPU118和實現(xiàn)IntelI/O APIC中斷體系結構的主橋上仿真PowerPC中斷體系結構(與AIX和Linux操作系統(tǒng)兼容的一種兼容RISC平臺體系結構(RPA)的中斷體系結構)。在被與本申請共同受讓的美國專利No.5,701,495中詳細描述了PowerPC中斷體系結構,并且通過引用將其完整地結合在此。在可從Santa Clara,CA的Intel公司得到的Intel82093AA I/O高級可編程中斷控制器(I/O APIC)數(shù)據(jù)表中描述了I/O APIC中斷體系結構。
作為對PowerPC中斷體系結構的一個介紹,現(xiàn)在參考圖3,圖3使用三個層示出了PowerPC中斷體系結構的邏輯實現(xiàn)中斷源層300,中斷路由層302和中斷提交層304。中斷源層300包括各個中斷源314,它們可以要求中斷(即,發(fā)送信號,指出中斷源314處的中斷狀態(tài)的出現(xiàn))以便請求服務。中斷源層300標識中斷源,并且給其分配優(yōu)先級和服務器號。中斷路由層302將所有中斷狀態(tài)路由到中斷提交層304內的中斷管理區(qū)域的適當?shù)膶嵗V袛嗵峤粚?04溝通中斷源和這樣的軟件,所述軟件接受所述中斷狀態(tài),指出對中斷的接受,通知中斷提交層304它已經處理的該中斷,并且重置中斷狀態(tài)。
如所說明的,每個中斷源314為每個支持的中斷源線包括一個外部中斷向量入口(XIVE)316。外部中斷源314通過相關的XIVE 316發(fā)送信號通知相應的中斷源的中斷請求的存在。XIVE 316是4字節(jié)的寄存器,高位的兩個字節(jié)(位0-15)被保留,緊接著低位字節(jié)的字節(jié)(位16-23)指明PowerPC中斷服務器號,并且低位字節(jié)(位24-31)指明中斷優(yōu)先級。在服務器號字節(jié)中,低的值被用于指定個別的處理單元,并且高的值被用于指定全局服務器(即,處理單元組)。在中斷優(yōu)先級字節(jié)中,最低的中斷優(yōu)先級(0XFF)起禁止該中斷源的作用,并且0X00被為專用中斷源保留。除了這些專用的優(yōu)先級值之外,AIX僅使用值0X01到0X04,并且Linux僅使用值0X05。
中斷提交層304包括與處理器或服務器(即,用于中斷處理的處理器的邏輯組)相關聯(lián)的寄存器(根據(jù)本發(fā)明,仿真的寄存器),所述操作系統(tǒng)(多個操作系統(tǒng))與所述處理器或服務器接合以便創(chuàng)建和處理各個中斷。在PowerPC中斷體系結構中,中斷提交層304的定義根據(jù)系統(tǒng)內的處理器或服務器的數(shù)目而改變,并且包括下面的寄存器(1)排隊的中斷請求寄存器(QIRR)308-至少每個處理器一個,并且每個非特定處理器服務器隊列一個,包括兩個寄存器(a)最優(yōu)先的請求寄存器(MFRR)-一個8位的寄存器,保持著為特定處理器而排隊的最優(yōu)先的處理器間的優(yōu)先級;和(b)中斷源規(guī)格寄存器(ISSR),被用于配置MFRR的源規(guī)格。
(2)外部中斷請求寄存器(XIRR)310-被在每個處理器上實現(xiàn),以便給用于中斷的系統(tǒng)軟件提供單一的源標識符,并且包括兩個寄存器(a)當前處理器優(yōu)先級寄存器(CPPR)-一個8位的寄存器,以256個優(yōu)先級值中的一個指出當前處理器的優(yōu)先級。最低優(yōu)先級是0XFF,并且最高優(yōu)先級是0X00。中斷提交層僅向具有比CPPR的當前設置更優(yōu)先的中斷狀態(tài)的相關處理器發(fā)送信號;和(b)外部中斷源寄存器(XISR)-一個24位的寄存器,包含被發(fā)送信號的中斷源的系統(tǒng)范圍內的唯一的標識符。低位的4位指出16個中斷等級中的一個,或總線單元控制器(BUC)318內的源(SRC)。高位的20個位表示總線單元控制器的總線單元ID(BUID)(通過以多個順序的BUID報告它自己,單個物理的BUC可以支持多于16個等級)。值0表示當前沒有掛起的外部中斷,并且值2表示MFRR包含比CPPR更優(yōu)先的等級。
(3)LINK寄存器312-一種僅見于II型中斷提交控制器內的寄存器,并且被用于形成每個處理單元(per-processing-unit)的中斷提交控制器的環(huán)形鏈表,所述的中斷提交控制器包括服務于一服務器隊列的組。該環(huán)形鏈表替代I型的中斷提交控制器內的中斷路由層的相應功能。
中斷提交層304中的這些寄存器中的每一個在邏輯上在中斷路由層302內具有各自相關的輸入和/或輸出端口320-334,以便允許進行到或來自中斷源層300的通信。
如下面表I中所示,在傳統(tǒng)的PowerPC中斷體系結構中,通過用于各個處理單元的存儲器映射中斷管理區(qū)域(IMA)表達中斷提交層304。處理單元的IMA的起始地址被稱為它的基地址(BA),并且每個處理單元的基地址都不同。各個處理單元的BA被在配置時設置,并且具有下面表I中提出的結構。
表I
雖然具有與PowerPC中斷體系結構的某些類似處,OpenPIC中斷體系結構為中斷提交層采用不同的IMA。具體地,OpenPIC中斷體系結構采用表II中提出的數(shù)據(jù)結構。
表II
如通過表I和II的比較可見,在PowerPC和OpenPIC中斷體系結構的寄存器之間存在某些功能的對應關系。例如,4個OpenPIC IPI發(fā)送命令端口在功能上相應于單個PowerPC MFRR,OpenPIC CTPR相應于PowerPC CPPR,OpenPIC IAR相應于PowerPC XISR,并且OpenPICEOI寄存器相應于向PowerPC XIRR寫。
然而,還有使得不同的中斷體系結構之間映射變得復雜的若干難點。例如,OpenPIC中斷體系結構定義每個處理器4個IPI寄存器,它們中的每一個可以被設置為傳遞不同優(yōu)先級的IPI。在另一方面,PowerPC中斷體系結構僅實現(xiàn)每個處理器一個MFRR。因為兩個感興趣的操作系統(tǒng),AIX和Linux這兩者僅傳遞一種優(yōu)先級的IPI,僅有一個IPI寄存器被使用。然而,為了遵從OpenPIC中斷體系結構,為每個處理器在IMA中出現(xiàn)全部的4個IPI寄存器,但是它們的內容被邏輯或(OR),并且軟件被約束為僅設置一個寄存器(例如,在BA+0X040)。此外,重要的是要注意,在OpenPIC中斷體系結構中,IPI不需要明確的EOI調用,因為對中斷的確認被認為暗示著EOI調用。然而在PowerPC中斷體系結構內,包括IPI在內的所有中斷必須接收EOI調用;因此,在OpenPIC中斷體系結構上仿真PowerPC中斷體系結構時,對IPI的EOI調用(由0X02的XISR值標識)被忽略。
必須被管理以便仿真PowerPC中斷體系結構的OpenPIC和PowerPC中斷體系結構之間的另一個不同是在OpenPIC中斷體系結構內缺少用于外部中斷的真正的查詢功能。即,如在上面表I內可注意到的,對PowerPC中斷體系結構內的BA+0的讀允許不對中斷進行確認的XIRR的非破壞性的讀(通過BA+4的破壞性的讀確認中斷)。OpenPIC中斷體系結構沒有定義對中斷寄存器的查詢。
鑒于上述PowerPC和OpenPIC中斷體系結構之間相應的和不同的特征,本發(fā)明引入了若干由管理程序130實現(xiàn)的中斷提交層例程,以便在OpenPIC中斷提交層實現(xiàn)上仿真PowerPC中斷體系結構。在表III中總結了并且在下面詳細描述了這些中斷提交層例程。
表III
如上所見,在服從OpenPIC的IPU 118上仿真PowerPC中斷體系結構還需要進行中斷源層調用轉換,在本發(fā)明的一個優(yōu)選實施例中所述轉換由RTAS 202執(zhí)行。IPU 118的上行ISU 120實現(xiàn)了每個外部中斷源兩個由OpenPIC定義的寄存器向量優(yōu)先級寄存器(VecPri)和目的地寄存器(Dest)。一般地,這些每個中斷源的寄存器對相應于下行ISU 114內的IOAPIC中斷源寄存器對。由上行ISU 120處理OpenPIC和IOAPIC中斷源寄存器對之間的不同格式的必要的轉換。
如圖4A所示,OpenPIC VecPri寄存器400包括標識外部中斷源的向量字段402,保留字段404,408和412,表示該中斷源的優(yōu)先級的優(yōu)先級字段406,表示中斷信號是正沿觸發(fā)(‘0’)還是有效低電平觸發(fā)(‘1’)的感知字段410,表示用于該源的向量,優(yōu)先級和目的地信息當前是否正被中斷控制器使用,并且從而不應改變的有效位(ACT),和MASK位416,當MASK位被設置時,禁止來自該源的任何其它中斷。
在優(yōu)選實施例中,相應于VecPri寄存器400,中斷仿真代碼(例如,管理程序130和固件136)在存儲器中保持相應于VecPri寄存器400的圖4C的影子VecPri“寄存器”430。如圖所示,影子VecPri寄存器430包括相應于前面所述的字段406和416的優(yōu)先級字段436和屏蔽位446。此外,影子VecPri寄存器430還包括服務器字段432,其被用于確定如何設置在下面以圖4B說明的VecPri寄存器的相關的目的地寄存器。
如圖4B所示,OpenPIC目的地(Dest)寄存器是32位的向量,它使用每個目的地一個位指明了該中斷的目的地(多個目的地)。如果選擇了單個目的地,則來自相關中斷源的中斷將被指引到該目的地。如果選擇了多個目的地,則來自該中斷源的中斷被使用特定于實現(xiàn)的分布算法分布在所選擇的目的地處理器之間。
為了在OpenPIC VecPri和Dest寄存器上仿真PowerPC中斷體系結構的XIVE,RTAS 202支持若干不同的例程以便將對XIVE的訪問轉換為VecPri和Dest訪問。在下面的表IV中總結了這些例程表IV
如下面詳細的說明,取決于中斷硬件是否實現(xiàn)了如圖4A中所示的用于每個外部中斷源的硬件屏蔽位416,本發(fā)明支持上述例程的不同的實施例。
現(xiàn)在參考圖5A,給出了引導處理的一部分的高層邏輯流程圖,通過該流程,在包括硬件屏蔽位的數(shù)據(jù)處理系統(tǒng)100的第一實施例內的仿真的中斷環(huán)境內,固件136初始化中斷處理。如圖所示,處理在方框500開始(或從早先的處理繼續(xù)),并且然后進入方框502,方框502示出固件136通過將IPU 118內的每個OpenPIC VecPri寄存器400的優(yōu)先級字段406寫為最低優(yōu)先值禁止所有的外部中斷源。
在方框502中示出的禁止外部中斷源中,重要的是要注意,對于IPI和外部中斷兩者,PowerPC和OpenPIC中斷體系結構采用不同的優(yōu)先級值大小和含義。在下面的表V中總結了用于IPI和外部中斷兩者的PowerPC和OpenPIC優(yōu)先級值之間的映射。
表V
在方框502之后,處理進入方框506,其所給出固件136重置每個VecPri寄存器400內的屏蔽位416,以便允許外部中斷源中斷。此外,在方框508,固件136初始化IPU 118內的每個處理單元102的OpenPICCTPR為最高優(yōu)先值(0XF)。此后,在方框510,固件136將控制傳遞給操作系統(tǒng)132的實例以便繼續(xù)引導處理。
在引導處理中的該點,中斷被解除屏蔽(被允許),但是操作系統(tǒng)實例132被保護不受中斷的影響直到它至少將一個處理器的優(yōu)先級從最高優(yōu)先級降低,并且將至少一個中斷源的優(yōu)先級從最低優(yōu)先級升高為止。以這種方式,操作系統(tǒng)實例132可以推遲中斷直到它準備好并且能夠正確地處理該中斷為止。
現(xiàn)在參考圖5B,其給出了引導處理的一部分的高層邏輯流程圖,通過該流程,在不包括硬件屏蔽位的數(shù)據(jù)處理系統(tǒng)100的第二實施例內的仿真的中斷環(huán)境內,固件136初始化中斷處理。如圖所示,處理在方框520開始(或從早先的處理繼續(xù)),并且然后進入方框522,方框522示出固件136通過將IPU 118內的每個OpenPIC VecPri寄存器400的優(yōu)先級字段406寫為最低優(yōu)先值禁止所有的外部中斷源。
在方框522之后,處理進入方框524,方框524示出固件136還將每個中斷源的影子OpenPIC VecPri寄存器430中的優(yōu)先級字段436設置為最低優(yōu)先級。接著,處理進行到方框526,方框526示出固件136將每個影子OpenPIC VecPri寄存器430中的MASK位446設置為允許外部中斷源中斷。此外,在方框528,固件136初始化IPU118內的每個處理單元102的OpenPIC CTPR,以及相應的仿真的CPPR為最優(yōu)先值(0XF)。此后,在方框530,固件136將控制傳遞給操作系統(tǒng)132的實例以便繼續(xù)引導處理。
現(xiàn)在參考圖6A,其給出了根據(jù)實現(xiàn)了硬件MASK位416的本發(fā)明的第一實施例,用于設置仿真的外部中斷向量入口(XIVE)的示例處理的高層邏輯流程圖。示出的處理可以被執(zhí)行,例如,以便響應在操作系統(tǒng)實例132上的設備驅動注冊,能夠由外部中斷源進行中斷。
如圖所示,響應固件136從操作系統(tǒng)實例132接收set_XIVE調用,處理從方框600開始,set_XIVE調用在由操作系統(tǒng)實例132采用的仿真的中斷體系結構內指明中斷源標識符,服務于來自該源的中斷的所希望的服務器以及中斷優(yōu)先級。如上所述,在由操作系統(tǒng)實例132設想(assumed)的PowerPC中斷體系結構內,在數(shù)據(jù)處理系統(tǒng)100內中斷源被唯一地以BUID/SRC對標識。如方框602所示,響應對中斷源標識符的接收,固件136將PowerPC中斷源標識符映射為相應的OpenPIC和IOAPIC中斷源標識符,以便標識用于該中斷源的VecPri和Dest寄存器400,420,和相應的影子寄存器430。
接著,在方框603,固件136在影子服務器字段432中保存用于該中斷源的指定的服務器。此外,如方框604所示,固件136確定用于該中斷源的所述指定的服務器是否是包括多個處理單元102的全局服務器。如方框606所示,如果是的,固件136在IPU 118內為該中斷源設置OpenPICDest寄存器420,以便指出被指定的處理單元組。在另一方面,如方框610所示,如果被指定的服務器不是全局服務器,固件136為指出的中斷源設置OpenPIC Dest寄存器420,以便標識被指定的處理單元102。
在方框606或610之后,處理進入方框614,方框614示出固件136將中斷源內的VecPri寄存器400的優(yōu)先級字段406更新為相應于set_XIVE調用中指明的PowerPC的值的OpenPIC優(yōu)先級值。此后,處理在方框616結束。
現(xiàn)在參考圖6B,其給出了根據(jù)本發(fā)明的沒有實現(xiàn)硬件MASK位416的第二實施例,用于設置仿真的外部中斷向量入口(XIVE)的示例處理的高層邏輯流程圖。如圖所示,響應固件136從操作系統(tǒng)實例132接收set_XIVE調用,處理從方框620開始,set_XIVE調用在由操作系統(tǒng)實例132采用的仿真的中斷體系結構內指明中斷源標識符,服務于來自該源的中斷的所希望的服務器以及中斷優(yōu)先級。如上所述,在由操作系統(tǒng)實例132設想的PowerPC中斷體系結構內,在數(shù)據(jù)處理系統(tǒng)100內中斷源被唯一地以BUID/SRC對標識。如方框622所示,響應對中斷源標識符的接收,固件136將PowerPC中斷源標識符映射為相應的OpenPIC和IOAPIC中斷源標識符,以便標識用于該中斷源的VecPri和Dest寄存器400,420和相應的影子寄存器430。
接著,在方框623,固件136分別在在影子服務器字段432和影子優(yōu)先級字段436中保存用于該中斷源的指定的服務器和中斷優(yōu)先級。此外,如方框624所示,固件136確定用于該中斷源的所述指定的服務器是否是包括多個處理單元102的全局服務器。如方框626所示,如果是的,固件136在IPU 118內為該中斷源設置OpenPIC Dest寄存器420,以便指出被指定的處理單元組。在另一方面,如方框630所示,如果被指定的服務器不是全局服務器,固件136為指出的中斷源設置OpenPIC Dest寄存器420,以便標識被指定的處理單元102。
在方框626或630之后,處理進入方框632,方框632示出固件136確定用于該中斷源的影子MASK位446是否被設置以便允許(取消屏蔽)中斷。如果不是,處理簡單地在方框636終止,這是因為該中斷源的中斷被屏蔽了。然而,如果固件136在方框632確定影子MASK位446被設置為允許中斷,固件136將該中斷源的VecPri寄存器400的優(yōu)先級字段406更新為相應于set_XIVE調用中指明的PowerPC值的OpenPIC優(yōu)先值。此后,處理在方框636結束。
現(xiàn)在參考圖6C,其示出了在實現(xiàn)了硬件MASK位406的本發(fā)明的第一實施例內用于讀仿真的外部中斷源向量入口(XIVE)的示例處理的高層邏輯流程圖。響應固件136從操作系統(tǒng)實例132接收get_XIVE調用,處理從方框640開始,get_XIVE調用請求特定中斷源的XIVE316的值。如上所述,在PowerPC中斷體系結構內該中斷源被以BUID/SRC對標識。
響應對get_XIVE調用的接收,如方框642所示,固件136將PowerPC中斷源標識符映射為相應的OpenPIC和IOAPIC中斷源標識符,以便標識用于該中斷源的VecPri和Dest寄存器400,420,和相應的影子寄存器430。接著,在方框644,固件136將被與從影子服務器字段432獲得的相關的PowerPC服務器號連接在一起的用于該中斷源的VecPri寄存器400的優(yōu)先級字段406的值(在正確地映射為PowerPC優(yōu)先級值之后)返回給操作系統(tǒng)實例132。此后,處理在方框626終止。
現(xiàn)在參考圖6D,其示出了在沒有實現(xiàn)硬件MASK位406的本發(fā)明的第二實施例內用于讀仿真的外部中斷源向量入口(XIVE)的示例處理的高層邏輯流程圖。如圖所示,響應固件136從操作系統(tǒng)實例132接收get_XIVE調用,處理從方框650開始,get_XIVE調用請求特定中斷源的XIVE 316的值。如上所述,在PowerPC中斷體系結構內該中斷源被以BUID/SRC對標識。
如方框652所示,響應對get_XIVE調用的接收,固件136將PowerPC中斷源標識符映射為相應的OpenPIC和IOAPIC中斷源標識符,以便標識用于該中斷源的VecPri和Dest寄存器400,420,和相應的影子寄存器430。接著,在方框654,固件136將被與從影子服務器字段432獲得的相關的PowerPC服務器號連接在一起的用于該中斷源的影子優(yōu)先級字段436的值(在正確地映射為PowerPC優(yōu)先級值之后)返回給操作系統(tǒng)實例132。此后,處理在方框656終止。
現(xiàn)在參考圖7A,其示出了根據(jù)本發(fā)明的第一實施例,用于禁止中斷源的示例處理的高層邏輯流程圖,在本發(fā)明的第一實施例中假設上行ISU120實現(xiàn)了物理MASK416位以便允許和禁止中斷源的中斷。如圖所示,響應固件從操作系統(tǒng)實例132接收int_off調用,處理從方框700開始,int_off調用包括標識將被禁止中斷的中斷源的PowerPC BUID/SRC對。處理進入方框702,其示出了固件136將BUID/SRC對映射為OpenPIC和IOAPIC中斷源標識符。接著,如方框704所示,固件136將用于被標識的中斷源的VecPri寄存器400的MASK位416設置為禁止(屏蔽)中斷。此后,處理在方框706結束。
現(xiàn)在參考圖7B,其示出了根據(jù)本發(fā)明的第二實施例,用于禁止中斷源的示例處理的高層邏輯流程圖,在本發(fā)明的第二實施例中假設上行ISU120沒有實現(xiàn)了物理MASK位以便允許和禁止中斷源的中斷。如圖所示,響應固件從操作系統(tǒng)實例132接收int_off調用,處理從方框710開始,int_off調用包括標識將被禁止中斷的中斷源的PowerPC BUID/SRC對。然后,處理進入方框712,其示出了固件136將BUID/SRC對映射為OpenPIC和IOAPIC中斷源標識符。接著,如方框714和716所示,固件136將用于被標識的中斷源的影子VecPri寄存器430的影子MASK位446設置為禁止(屏蔽)中斷,并且將VecPri寄存器400的優(yōu)先級字段406的值設置為最低優(yōu)先級。此后,處理在方框718結束。
應當注意,在圖7B示出的處理中,兩個分離的機構被用于禁止中斷源進行中斷-影子MASK位416和優(yōu)先級字段406的值。這兩個機制都被使用,從而中斷不會不注意地被共享同一中斷線的其它中斷源的設備驅動器將優(yōu)先級字段406的值設置為不是最低優(yōu)先級的其它優(yōu)先級而被允許。
現(xiàn)在參考圖7C,其示出了根據(jù)本發(fā)明的第一實施例用于允許外部中斷源進行中斷的示例處理的高層邏輯流程圖,在本發(fā)明的第一實施例中,上行ISU 120實現(xiàn)了物理的MASK位416以便允許和禁止由中斷源進行中斷。
如圖所示,響應由固件136從操作系統(tǒng)實例132接收int_on調用,圖7C的處理從方框720開始,其中int_on調用包括標識著將被禁止中斷的中斷源的PowerPC BUID/SRC對。然后,處理進入方框722,其示出固件136將BUID/SRC對映射為相應的OpenPIC和IOAPIC中斷源標識符。接著如方框724所示,固件136將用于被標識的中斷源的VecPri寄存器400的MASK位416重置為允許(解除屏蔽)中斷。此后,處理在方框728終止。
現(xiàn)在參考圖7D,其示出了根據(jù)本發(fā)明的第二實施例,用于允許外部中斷源進行中斷的示例處理的高層邏輯流程圖,在本發(fā)明的第二實施例中,上行ISU 120沒有實現(xiàn)物理的MASK位416以便允許和禁止由中斷源進行中斷。
如圖所示,響應由固件136從操作系統(tǒng)實例132接收int_on調用,圖7D的處理從方框730開始,其中int_on調用包括標識著將被禁止中斷的中斷源的PowerPC BUID/SRC對。然后,處理進入方框732,其示出固件136將BUID/SRC對映射為相應的OpenPIC和IOAPIC中斷源標識符。接著如方框734和736所示,固件136將用于被標識的中斷源的影子MASK位446重置為允許(解除屏蔽)中斷,并且從影子優(yōu)先級字段436恢復VecPri優(yōu)先級字段406的值。此后,處理在方框738終止。
現(xiàn)在參考圖8,其示出了根據(jù)本發(fā)明用于寫仿真的當前處理器優(yōu)先級寄存器(CPPR)的示例處理的高層邏輯流程圖。如上所述,PowerPC CPPR指明了有關的處理器的當前優(yōu)先級。
如圖所示,響應管理程序120從操作系統(tǒng)實例132接收H_CPPR調用,圖8的處理從方框800開始,其中H_CPPR調用包括用于指明的處理單元102的所希望的優(yōu)先級。然后處理進入方框802,其示出固件136將PowerPC優(yōu)先級值映射為相應的OpenPIC優(yōu)先級。接著如方框804和806所示,管理程序130將該PowerPC優(yōu)先級值寫到指明的處理單元102的影子CPPR,并且將相應的OpenPIC優(yōu)先級值寫到被指明的處理單元102的CTPR。此后,處理在方框808終止。應當理解,雖然示出的方法在影子CPPR內存儲PowerPC優(yōu)先級值,可替換地影子CPPR可以存儲OpenPIC格式的優(yōu)先級值。
現(xiàn)在參考與9,其示出了根據(jù)本發(fā)明用于發(fā)送信號通知處理器間中斷(IPI)的示例處理的高層邏輯流程圖。響應管理程序130從操作系統(tǒng)實例132接收H_IPI調用,圖9的處理從方框900開始,H_IPI調用指明了在仿真的PowerPC體系結構中進行中斷的所希望的服務器(處理單元),以及被請求的處理器間中斷的優(yōu)先級。響應對H_IPI調用的接收,管理程序130將被指出的服務器從PowerPC中斷體系結構映射到處理單元102。
接著,管理程序130在方框904確定指出的處理單元102的OpenPICIPI發(fā)送端口0寄存器當前是否被設置為由H_IPI請求指出的優(yōu)先級。如上所述,雖然OpenPIC中斷體系結構規(guī)定每個處理器4個IPI發(fā)送命令端口,優(yōu)選地管理程序130邏輯地對這些寄存器的值進行或運算,以便如同PowerPC中斷體系結構中那樣實現(xiàn)單個IPI發(fā)送端口(即,MFRR)。如方框912所示,如果在方框904做出IPI發(fā)送端口0被設置為所需要的優(yōu)先級的確定,管理程序130通過在做出請求的處理單元102的目的地寄存器內設置用于目標處理單元102的適當?shù)奈灰?assert)被請求的IPI。
然而,如果當前沒有在OpenPIC IPI發(fā)送端口0寄存器內設置正確的優(yōu)先級,管理程序130在方框906確定OpenPIC IPI發(fā)送端口0寄存器當前是否正被使用。在優(yōu)選實施例中,為各個處理單元102在存儲器內實現(xiàn)相應的影子“在使用中”標志,并且通過參考用于指出的處理單元102的“在使用中”標志做出該確定。如果用于指出的處理單元102的OpenPICIPI發(fā)送端口0寄存器當前正被使用,在方框908處理在等待一個被選擇的時間段之后返回方框906。一旦影子“在使用中”標志指出OpenPIC IPI發(fā)送端口0寄存器不再被使用,在在方框912要求IPI之前,在方框910,管理程序130在做出請求的處理單元102的OpenPIC IPI發(fā)送端口0寄存器內設置所希望的OpenPIC優(yōu)先級。然后,在方框914管理程序130為指出的處理單元102設置影子“在使用中”標志。在方框914之后,處理在方框916終止。
現(xiàn)在參考圖10A,其示出了根據(jù)本發(fā)明,用于讀仿真的外部中斷請求寄存器(XIRR)的示例處理的高層邏輯流程圖。響應管理程序130從操作系統(tǒng)實例132接收H_XIRR調用,處理從方框1000開始,H_XIRR調用請求向處理單元102提出中斷的中斷源的身份。如方框1002所示,響應對H_XIRR調用的接收,管理程序130從OpenPIC IMA讀OpenPIC IAR的值,并且將該IAR值映射為形成做出請求的中斷源的仿真的XISR值的PowerPC BUID/SRC對,所述的IAR值是用于該中斷源的VecPri向量402的值。如方框1004所示,為了形成仿真的XIRR310的值,管理程序130將影子CPPR值預先計劃(prepend)為所述BUID/SRC對。
此外,如方框1006和1008所示,管理程序130將影子CPPR的值設置為中斷源的PowerPC的優(yōu)先級,并且將影子XISR設置為0以便確認該中斷,并且指出當前沒有中斷被掛起。然后管理程序130在方框1010將在方框1004形成的被連接的CPPR/XISC值作為被請求的XIRR值返回給操作系統(tǒng)實例132。此后,處理在方框1012終止。
現(xiàn)在參考圖10B,其示出了根據(jù)本發(fā)明用于發(fā)送中斷結束(EOI)的示例處理的高層邏輯流程圖。響應管理程序130從操作系統(tǒng)實例132接收H_EOI調用,圖10B的處理從方框1020開始。因為PowerPC中斷體系結構規(guī)定每個外部中斷源和IPI接收一個特定的,相應的EOI,該EOI包括由進行處理的處理單元102的新的CPPR值和做出請求的中斷源的BUID/SRC組成的XIRR值。此后,處理進入方框1022,其示出從H_EOI調用中接收到的XIRR值中提取組成的CPPR和XISR值。如方框1024所示,管理程序130在用于做出調用的處理單元102的影子CPPR中保存CPPR值,并且在方框1026確定XISR值是否是0X02,即,該EOI是否屬于IPI。如果是的,如方框1028所示,管理程序130重置OpenPIC IPI發(fā)送端口0內的“在使用中”標記,但是忽略該EOI調用,這是因為OpenPIC不需要IPI的EOI。此后,處理在方框1040終止。
在另一方面,如果管理程序130在方框1026確定該EOI不屬于IPI,處理進入方框1030。方框1030示出管理程序130將在方框1022提取的XISR值映射到上行ISU 120內的OpenPIC VecPri和Dest寄存器對以及下行ISU114內的相應的IOAPIC寄存器對。然后管理程序130在方框1032將‘0’值寫到OpenPIC EOI寄存器OpenPIC IMA。管理程序130還向下行ISU114中的相應的IOAPIC寄存器發(fā)出EOI。此后,處理在方框1040終止。
如上所述,本發(fā)明提供了用于在數(shù)據(jù)處理系統(tǒng)內仿真中斷體系結構的方法,系統(tǒng)和程序產品。根據(jù)本發(fā)明,由一個或多個操作系統(tǒng)實例實現(xiàn)的中斷體系結構獨立于由中斷提交單元實現(xiàn)的下層中斷體系結構,由中斷提交單元實現(xiàn)的下層中斷體系結構又獨立于由下行中斷源單元實現(xiàn)的下層中斷體系結構。通過以這種方式對中斷體系結構分層,由中斷體系結構不兼容帶來的數(shù)據(jù)處理系統(tǒng)設計中的限制被消除了。
雖然參考優(yōu)選實施例進行說明特別地示出了本發(fā)明,本領域的技術人員應當理解,可以對其進行形式上和細節(jié)上的各種改變而不脫離本發(fā)明的精神和范圍。例如,雖然以操作本發(fā)明的功能的計算機執(zhí)行軟件描述了本發(fā)明的方面,應當理解,可替換地本發(fā)明可以被實現(xiàn)為用于數(shù)據(jù)處理系統(tǒng)的程序產品。定義本發(fā)明的功能的程序可以被通過各種信號承載介質傳遞到數(shù)據(jù)處理系統(tǒng),所述的各種信號承載介質包括但不限于不可寫存儲介質(例如,CD-ROM),可寫存儲介質(例如,軟盤或硬盤驅動器),和通信介質,諸如數(shù)字和模擬網絡。因此應當理解,這種信號承載介質,當載有或編碼有操作本發(fā)明的功能的計算機可讀指令時,提供了本發(fā)明的可替代的實施例。
權利要求
1.一種數(shù)據(jù)處理系統(tǒng)內的數(shù)據(jù)處理方法,所述方法包括中斷仿真代碼,其從操作系統(tǒng)接收請求訪問第一中斷體系結構內的第一資源的第一調用;響應所述中斷仿真代碼對第一調用的接收所述中斷仿真代碼將所述第一資源映射到所述數(shù)據(jù)處理系統(tǒng)的中斷硬件內的第二資源,所述映射包括確定所述第二資源在不同的第二中斷體系結構內的標識符;和所述中斷仿真代碼發(fā)起對由所述中斷硬件實現(xiàn)的所述第二資源的訪問。
2.如權利要求1的方法,其中所述中斷仿真代碼包括第一和第二中斷仿真代碼;所述第一資源屬于所述數(shù)據(jù)處理系統(tǒng)內的處理器的中斷管理區(qū)域;所述映射包括所述第一中斷仿真代碼將所述第一資源映射到第二資源;和所述方法還包括響應所述中斷仿真代碼對操作系統(tǒng)以與所述數(shù)據(jù)處理系統(tǒng)內的外部中斷源有關的第三資源為目標的第二調用的接收,所述第二中斷仿真代碼將所述第三資源映射到所述第二中斷體系結構內的第四資源。
3.如權利要求1的方法,其中所述發(fā)起訪問包括將所述第二資源的標識符從所述第二中斷體系結構轉換到不同的第三中斷體系結構。
4.如權利要求1的方法,其中所述映射包括映射所述第一資源的存儲位置。
5.如權利要求1的方法,其中所述映射包括將所述第一調用內指出的優(yōu)先級值從所述第一中斷體系結構映射到所述第二中斷體系結構。
6.如權利要求1的方法,其中所述第二資源包括優(yōu)先級字段,它指出外部中斷源在所述第二中斷體系結構內的優(yōu)先級;所述方法還包括提供相應于所述優(yōu)先級字段的影子優(yōu)先級字段;和在訪問所述優(yōu)先級字段之前,將所述優(yōu)先級字段的值拷貝到所述影子優(yōu)先級字段。
7.一種程序產品,包括計算機可使用的介質;和所述計算機可使用介質內的中斷仿真代碼,其中所述中斷仿真代碼響應從操作系統(tǒng)接收請求訪問第一中斷體系結構內的第一資源的第一調用(1)通過確定第二資源在不同的第二中斷體系結構內的標識符,將所述第一資源映射到數(shù)據(jù)處理系統(tǒng)的中斷硬件內的所述第二資源;和(2)發(fā)起對由所述中斷硬件實現(xiàn)的所述第二資源的訪問。
8.如權利要求7的程序產品,其中所述中斷仿真代碼包括第一和第二中斷仿真代碼;所述第一資源屬于所述數(shù)據(jù)處理系統(tǒng)內的處理器的中斷管理區(qū)域;所述第一中斷仿真代碼將所述第一資源映射到第二資源;和其中所述中斷仿真代碼響應對操作系統(tǒng)以與所述數(shù)據(jù)處理系統(tǒng)內的外部中斷源有關的第三資源為目標的第二調用的接收,使用所述第二中斷仿真代碼將所述第三資源映射到所述第二中斷體系結構內的第四資源。
9.如權利要求7的程序產品,其中所述中斷仿真代碼通過將所述第二資源的標識符從所述第二中斷體系結構轉換到不同的第三中斷體系結構,發(fā)起對所述第二資源的訪問。
10.如權利要求7的程序產品,其中所述中斷仿真代碼映射所述第一資源的存儲位置。
11.如權利要求7的程序產品,其中所述中斷仿真代碼將所述第一調用內指出的優(yōu)先級值從所述第一中斷體系結構映射到所述第二中斷體系結構。
12.如權利要求7的程序產品,其中所述第二資源包括優(yōu)先級字段,它指出外部中斷源在所述第二中斷體系結構內的優(yōu)先級;所述中斷仿真代碼提供了相應于所述優(yōu)先級字段的影子優(yōu)先級字段,并且在訪問所述優(yōu)先級字段之前,將所述優(yōu)先級字段的值拷貝到所述影子優(yōu)先級字段。
13.一種數(shù)據(jù)處理系統(tǒng),包括一個或多個處理單元;被連接到所述一個或多個處理單元的中斷硬件;被連接到所述一個或多個處理單元的存儲器,所述存儲器包括操作系統(tǒng);和中斷仿真代碼,其響應從操作系統(tǒng)接收請求訪問第一中斷體系結構內的第一資源的第一調用(1)通過確定第二資源在不同的第二中斷體系結構內的標識符,將所述第一資源映射到數(shù)據(jù)處理系統(tǒng)的中斷硬件內的所述第二資源;和(2)發(fā)起對由所述中斷硬件實現(xiàn)的所述第二資源的訪問。
14.如權利要求13的數(shù)據(jù)處理系統(tǒng),其中所述中斷仿真代碼包括第一和第二中斷仿真代碼;所述第一資源屬于所述一個或多個處理單元內的一個處理單元的中斷管理區(qū)域;所述第一中斷仿真代碼將所述第一資源映射到第二資源;和其中所述中斷仿真代碼響應對操作系統(tǒng)以與所述數(shù)據(jù)處理系統(tǒng)內的外部中斷源有關的第三資源為目標的第二調用的接收,使用所述第二中斷仿真代碼將所述第三資源映射到所述第二中斷體系結構內的第四資源。
15.如權利要求13的數(shù)據(jù)處理系統(tǒng),其中所述中斷仿真代碼通過將所述第二資源的標識符從所述第二中斷體系結構轉換到不同的第三中斷體系結構,發(fā)起對所述第二資源的訪問。
16.如權利要求13的數(shù)據(jù)處理系統(tǒng),其中所述中斷仿真代碼映射所述第一資源的存儲位置。
17.如權利要求13的數(shù)據(jù)處理系統(tǒng),其中所述中斷仿真代碼將所述第一調用內指出的優(yōu)先級值從所述第一中斷體系結構映射到所述第二中斷體系結構。
18.如權利要求13的數(shù)據(jù)處理系統(tǒng),其中所述第二資源包括優(yōu)先級字段,它指出在所述中斷硬件內的外部中斷源在所述第二中斷體系結構內的優(yōu)先級;所述存儲器包括相應于所述優(yōu)先級字段的影子優(yōu)先級字段;和所述中斷仿真代碼在訪問所述優(yōu)先級字段之前,將所述優(yōu)先級字段的值拷貝到所述影子優(yōu)先級字段。
全文摘要
為了在數(shù)據(jù)處理系統(tǒng)中仿真中斷體系結構,中斷仿真代碼從操作系統(tǒng)接收請求訪問第一中斷體系結構內的第一資源的第一調用。響應所述中斷仿真代碼對第一調用的接收,所述中斷仿真代碼將所述第一資源映射到所述數(shù)據(jù)處理系統(tǒng)的中斷硬件內的第二資源。所述映射操作包括確定在不同的第二中斷體系結構內所述第二資源的標識符。然后所述中斷仿真代碼發(fā)起對由所述中斷硬件實現(xiàn)的所述第二資源的訪問。
文檔編號G06F13/26GK1760845SQ20051010839
公開日2006年4月19日 申請日期2005年10月13日 優(yōu)先權日2004年10月14日
發(fā)明者M·E·哈克, M·S·威廉姆斯 申請人:國際商業(yè)機器公司