專利名稱::直接啟動中斷主動權(quán)的設(shè)置的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明通常涉及輸入/輸出(I/O)中斷處理,特別是涉及通過外部適配器啟動I/O中斷主動權(quán)(interruptioninitiative)的設(shè)置。
背景技術(shù):
:中斷被用于警告處理器將要進(jìn)行的動作?,F(xiàn)在存在著不同類型的中斷,包括由處理環(huán)境的1/0組件啟動的輸入/輸出(I/O)中斷。例如,位于外部但耦合于中央處理綜合體的適配器啟動該中央處理綜合體的處理器的I/O中斷。在一些處理環(huán)境、包含該中央處理綜合體基于國際商業(yè)機(jī)器公司提供的z/體系結(jié)構(gòu)的一個或多個那樣的環(huán)境中,由外部適配器啟動的I/O中斷首次4皮視為對該環(huán)境的處理器的警報注意。該警報注意由固件處理以確定是否要設(shè)置主動權(quán)。該確定需要不同固件組件間的通信和固件與適配器間的通信。如果確定要設(shè)置主動權(quán),那么處理器在鎖的控制下,在中斷隊(duì)列頭(IQH)中設(shè)置該主動權(quán)。當(dāng)該隊(duì)列由空轉(zhuǎn)換至非空狀態(tài)時,處理器向環(huán)境中的所有處理器廣播一個命令,指令這些處理器設(shè)置在處理器處的主動權(quán)。每個處理器設(shè)置在該處理器的掛起(pending)中斷陣列中的比特。當(dāng)使得處理器能夠用于掛起的I/O中斷時,進(jìn)行處理該中斷的嘗試。由于可以使得多個處理器能夠用于同一中斷,則存在竟?fàn)幥樾?。該中斷的裁斷由硬件來進(jìn)行,將選擇一個處理器來控制該中斷的主動權(quán)。
發(fā)明內(nèi)容雖然由外部適配器設(shè)置I/O中斷主動權(quán)的技術(shù)已存在,但是仍然需要使外部適配器能夠直接啟動I/O中斷的設(shè)置的能力。例如,存在對外部適配器能夠直接啟動I/0中斷的設(shè)置的需要,從而消除警報注意和相關(guān)的固件處理。通過提供在處理環(huán)境中啟動中斷主動權(quán)的設(shè)置的方法,克服了現(xiàn)有技術(shù)的缺點(diǎn),且產(chǎn)生了其它優(yōu)點(diǎn)。該方法包括,例如通過位于處理環(huán)境的至少一個處理器外部的適配器,直接啟動在該處理環(huán)境的一個或者多個處理器中的中斷主動權(quán)的設(shè)置,其中該直接啟動不需要使用處理環(huán)境的固件。涉及本發(fā)明的一個或多個方面的制造產(chǎn)品和系統(tǒng)也將在這里描述和要求。通過本發(fā)明的技術(shù)實(shí)現(xiàn)其它特征和優(yōu)點(diǎn)。本發(fā)明的其它實(shí)施例和方面在這里詳細(xì)描述,并作為被要求的發(fā)明的一部分。本發(fā)明的一個或多個方面被特別指出,且被清楚地要求作為說明書的結(jié)論處的權(quán)利要求中的例子。本發(fā)明前述和其它的目的,特征和優(yōu)點(diǎn)可以明顯地從下面詳細(xì)的說明并且結(jié)合附圖得出,其中附圖1描述了合并和使用本發(fā)明的一個或多個方面的處理環(huán)境的一個實(shí)施例;附圖2描述了根據(jù)本發(fā)明的方面所使用的區(qū)域掩碼表(zonemasktable)和掛起中斷陣列的一個實(shí)施例;附圖3描述了根據(jù)本發(fā)明的方面所使用的過濾器掛起中斷陣列的一個實(shí)施例;附圖4描述了根據(jù)本發(fā)明的方面、與設(shè)置在掛起中斷陣列和過濾器掛起中斷陣列中的指示符相關(guān)的邏輯的一個實(shí)施例;附圖5描述了根據(jù)本發(fā)明的方面、與復(fù)位掛起中斷陣列的指示符相關(guān)的邏輯的一個實(shí)施例;附圖6描述了根據(jù)本發(fā)明的方面、與復(fù)位過濾器掛起中斷陣列的指示符相關(guān)的邏輯的一個實(shí)施例;和附圖7描述了合并了本發(fā)明的一個或多個方面的計(jì)算機(jī)程序產(chǎn)品的一個實(shí)施例。具體實(shí)施方式根據(jù)本發(fā)明的方面,位于處理環(huán)境的一個或多個處理器外部的適配器能夠直接啟動在一個或多個處理器中的中斷主動權(quán)的設(shè)置,例如I/O中斷主動權(quán)。作為一個示例,該適配器直接向耦合于適配器和處理器的系統(tǒng)控制器(如硬件)發(fā)送請求。該請求指定在將要設(shè)置掛起中斷的處理環(huán)境中的特定區(qū)域和I/O中斷子集。該系統(tǒng)控制器建立基于該請求的命令,并發(fā)送該命令至一個或多個處理器(如耦合于系統(tǒng)控制器的處理器)。響應(yīng)于處理器接收了命令,該處理器設(shè)置一個或多個掛起中斷陣列指示符。例如每個處理器為在命令中指定的區(qū)域和中斷子集,設(shè)置在其處理器的桂起中斷陣列和過濾器掛起中斷陣列中的指示符。通過允許適配器直接發(fā)布命令,取消了以前需要的警報注意和相關(guān)固件處理。參照附圖1描述了合并和使用本發(fā)明的一個或多個方面的處理環(huán)境的一個實(shí)施例。例如處理環(huán)境100基于由位于紐約Armonk的國際商業(yè)機(jī)器公司提供的z/體系結(jié)構(gòu)。該z/體系結(jié)構(gòu)在IBM出版號為SA22-7832-04,2005年9月出版的題為"z/ArchitectrePrincipleofOperation"的IBM②出版物中被描述,其整體在這里通過參照一并引入。在一個示例中,基于z/體系結(jié)構(gòu)的處理環(huán)境包含由紐約Armonk的國際商業(yè)機(jī)器公司提供的eServer2861"163@服務(wù)器。(IBM和zSeries,和下面提到的2/08@,是美國紐約Armonk的國際商業(yè)機(jī)器公司的注冊商標(biāo)。這里使用的其它名稱可能是IBM公司或其它公司的注冊商標(biāo)、商標(biāo)或產(chǎn)品名稱。)作為一個示例,處理環(huán)境100包含耦合于輸入/輸出(I/O)子系統(tǒng)120的中央處理器綜合體(CPC)102。中央處理器綜合體102包括例如一個或多個分區(qū)104(如邏輯分區(qū)LPl-LPn)、一個或多個中央處理器106(如CPl-CPm)、管理程序108(如邏輯分區(qū)管理器)和系統(tǒng)控制器110,其每一個在下面被描述。每個邏輯分區(qū)104可以如單獨(dú)的系統(tǒng)那樣運(yùn)行。也就是說,每個邏輯分區(qū)可以被獨(dú)立復(fù)位,如果需要的話可以初始地^皮加載操作系統(tǒng),并可以與不同程序一同運(yùn)行。運(yùn)行在邏輯分區(qū)中的操作系統(tǒng)或應(yīng)用程序似乎具有對全部和完整的系統(tǒng)的訪問,但是實(shí)際上,只可以訪問其一部分。硬件和固件的結(jié)合防止邏輯分區(qū)中的程序與不同邏輯分區(qū)中的程序沖突。這允許幾個不同的邏輯分區(qū)以分時的方式在單個處理器或多個物理處理器上操作。在這個特定示例中,每個邏輯分區(qū)含有常駐操作系統(tǒng)112,其可以區(qū)分一個或多個邏輯分區(qū)。在一個實(shí)施例中,操作系統(tǒng)112是由紐約州Armonk的國際商業(yè)機(jī)器公司提供的2/08@操作系統(tǒng)。另外,在該示例中,每個邏輯分區(qū)已經(jīng)向其分配了系統(tǒng)主存儲(存儲器)的一個部分,其被稱為區(qū)域。邏輯分區(qū)104包含一個或多個邏輯處理器。每個中央處理器106可以被永久地分派給特定邏輯處理器,或可以在可用于動態(tài)分派給邏輯處理器的任意組的中央處理器106的池中,可能跨越多個邏輯分區(qū)104。由運(yùn)行在處理器106上的固件所實(shí)現(xiàn)的管理程序108對邏輯分區(qū)104進(jìn)行管理。邏輯分區(qū)104和管理程序108每個包含駐留在與中央處理器相關(guān)的中央存儲器的各個部分上的一個或多個程序。管理程序108的一個示例是由紐約州Armonk的國際商業(yè)機(jī)器公司提供的處理器資源/系統(tǒng)管理器(PR/SM)。中央處理器106耦合于系統(tǒng)控制器110,但與系統(tǒng)控制器IIO分離。系統(tǒng)控制器110是例如控制對處理器中的存儲器和緩存的訪問、并且在處理器和輸入/輸出子系統(tǒng)120間進(jìn)行通信的硬件組件。系統(tǒng)控制器負(fù)責(zé)排隊(duì),串行化和執(zhí)行由中央處理單元和I/O子系統(tǒng)產(chǎn)生的請求。在一個示例中,其負(fù)責(zé)發(fā)送命令至特定處理器和/或廣播命令至多個處理器。系統(tǒng)控制器可以是集中式組件或其功能可以被分布。系統(tǒng)控制器不是處理器或內(nèi)核。例如,它不執(zhí)行用戶應(yīng)用。相反,它是i/o子系統(tǒng)和處理器的通信機(jī)構(gòu)。根據(jù)本發(fā)明的方面,系統(tǒng)控制器110直接從I/O子系統(tǒng)接收請求,且基于那些請求將命令廣播至耦合于系統(tǒng)控制器的處理器。具體地,在一個實(shí)施例中,I/O子系統(tǒng)120包含直接轉(zhuǎn)發(fā)請求至系統(tǒng)控制器的一個或多個適配器122。這些請求啟動在處理器上的中斷主動權(quán)的設(shè)置。響應(yīng)于接收請求,系統(tǒng)控制器將基于請求的命令廣播至處理器,這依次在它們各自處理器中設(shè)置中斷主動權(quán)。作為例子,I/O子系統(tǒng)通過一個或多個總線124耦合至系統(tǒng)控制器。另外,1/0子系統(tǒng)通過一個或多個鏈接130耦合于其它系統(tǒng)126(如其它CPC等等)和/或I/0裝置128(如,控制單元、輸入裝置、打印機(jī)、其它輸出裝置等等)。作為例子,該鏈接包括以太網(wǎng),111611^011(1@和/或光纖信道連接。Infmiband是Infmiband貿(mào)易協(xié)會的注冊商標(biāo)。I/O子系統(tǒng)的適配器將系統(tǒng)控制器的協(xié)議轉(zhuǎn)變?yōu)殒溄拥膮f(xié)議(反之亦然),以允許在中央處理綜合體與其它系統(tǒng)和/或I/O裝置間進(jìn)行高效通信。適配器通過鏈接130接收分組,同時響應(yīng)于其,可以確定在處理環(huán)境的處理器上將設(shè)置中斷主動權(quán)為掛起。當(dāng)要設(shè)置中斷主動權(quán)時,適配器直接發(fā)送請求至系統(tǒng)控制器,且系統(tǒng)控制器指令處理器設(shè)置掛起的中斷主動權(quán)。通過在參照附圖2-3所描述的設(shè)置掛起中斷陣列和過濾器掛起中斷陣列中的指示符來設(shè)置這些主動4又。初始地參照附圖2,掛起中斷陣列(PIA)200是位于中央處理器106中的硬件組件。它包含處理環(huán)境內(nèi)每個區(qū)域(如分配給邏輯分區(qū)的存儲器)的條目(如行)202。在一個實(shí)施例中,處理環(huán)境包含64個區(qū)域,因此在掛起中斷陣列中存在64個條目。每個條目包含用于與區(qū)域相關(guān)的每個1/0中斷子集(ISC)的指示符204。中斷子集表示多個可能的中斷子集中的一個,且在一個示例中存在8個中斷子集。因此,在這個例子中每個條目中有8個指示符。每個中斷子集與一個或多個中斷的資源相關(guān)。當(dāng)掛起中斷陣列中一個比特處于打開狀態(tài),它表明對于那個區(qū)域的特定中斷子集(即ZONE.ISC)而言,中斷正在掛起。每個中斷子集(如ISC0-ISC7)具有含有一個或多個掛起中斷的相應(yīng)的1/0終端隊(duì)列。該I/0中斷隊(duì)列(如在該例子中為8)位于系統(tǒng)存儲器(如硬件系統(tǒng)區(qū)域)中,且每個含有與其相關(guān)的中斷隊(duì)列頭(IQH)。該中斷隊(duì)列頭包含掛起的主動權(quán)。為了處理掛起的中斷,使用了區(qū)域掩碼表(ZMT)250。該區(qū)域掩碼表還包含用于處理綜合體的每個區(qū)域的條目252和用于每個區(qū)域的每個中斷子集的指示符254。使用區(qū)域掩碼表和與掛起中斷陣列相關(guān)的進(jìn)一步細(xì)節(jié)在Chou等在1993年6月22公布的美國專利號5222215題為"CPUExpansiveGradationofI/OInterruptionSubclassRecognition"中被描述,其通過引用在這里被一并引入。根據(jù)本發(fā)明的方面,采用另一個掛起中斷陣列(這里被稱為過濾器掛起中斷陣列或過濾器PIA)。參考附圖3,過濾器PIA300是硬件陣列,其包含與掛起中斷陣列相同數(shù)目的條目302和指示符304。也就是說,過濾器PIA300包含用于PIA200中的每個條目202的條目302和用于PIA200的每個指示符204的指示符304。該過濾器PIA用作對于掛起中斷陣列的硬件過濾器。當(dāng)允許適配器直接啟動指示符的設(shè)置時,它使能在設(shè)置指示符的過程中維持控制。參考附圖4-6進(jìn)一步詳細(xì)描述過濾器PIA的使用。具體地,附圖4描述了與設(shè)置指示符相關(guān)的邏輯的一個實(shí)施例,且附圖5-6描述了與復(fù)位指示符相關(guān)的邏輯的一個實(shí)施例。參考附圖4,初始地,位于CPC的處理器外部的并且因而被稱為外部適配器的適配器發(fā)布從該適配器直接發(fā)送至系統(tǒng)控制器的中斷請求,步驟400。該中斷請求可以響應(yīng)于由適配器接收的分組。該分組來自與中斷子集相關(guān)的9來源,且前往與區(qū)域相關(guān)的特定邏輯分區(qū)。因此,適配器啟動用于該區(qū)域的中斷掛起的設(shè)置和具體地該區(qū)域(即ZONE.ISC)的中斷子集的設(shè)置。被發(fā)送至系統(tǒng)控制器的請求包含ZONE.ISC以及這類請求的指示。適配器直接發(fā)送請求至系統(tǒng)控制器,而不用如前所需地首先將其發(fā)送至處理器用于處理。系統(tǒng)控制器接收請求,且基于該請求產(chǎn)生排隊(duì)命令,這里被稱為過濾器SIGI排隊(duì)命令,步驟402。例如,基于請求中的指示符,系統(tǒng)控制器知道該請求是中斷請求,為其將要建立過濾器SIGI排隊(duì)命令。系統(tǒng)控制器從請求中檢索區(qū)域和ISC,且將其包含在命令以及指示過濾器PIA排隊(duì)將由處理器處理的子命令中。系統(tǒng)控制器廣播所建立的排隊(duì)命令至耦合至系統(tǒng)控制器的所有處理器,步驟403。在另一個實(shí)施例中,該排隊(duì)命令被發(fā)送至一個或多個處理器。響應(yīng)于處理器接收該過濾器PIA排隊(duì)命令,處理器檢查與在命令中規(guī)定的ZONE.ISC對應(yīng)的過濾器PIA中的指示符(如一個比特),步驟404。如果該比特被設(shè)置為0,表明另一個處理器沒有設(shè)置掛起中斷,查詢406,然后在一個示例里,設(shè)置在過濾器PIA中的比特為1,步驟408。另外,設(shè)置在PIA中相對應(yīng)的比特,步驟410。這樣結(jié)束排隊(duì)處理。返回查詢406,如果該比特已經(jīng)被設(shè)置,那么對于該處理器結(jié)束排隊(duì)處理。上述處理允許適配器直接啟動在一個或多個處理器中的中斷主動權(quán)的設(shè)置。該過濾器PIA如過濾^li構(gòu)一樣工作,且在一個地方聚集中斷以防止PIA的不可控更新和防止I/O中斷裁斷機(jī)制的沖突。一個或多個處理器被使能以處理該中斷,如在Chou等在1993年6月22公布的美國專利號5222215題為"CPUExpansiveGradationofI/OInterruptionSubclassRecognition"中被描述,其通過引用在這里被一并引入。被使能的處理器裁斷處理該中斷,以至于只有一個處理器一次獲得對于同樣ZONE.ISC的中斷的控制。參考附圖5-6描述裁斷處理。參考附圖5,為中斷而使能的每個處理器發(fā)布出隊(duì)命令,其在這里被稱為SIGI出隊(duì)命令,步驟500。該出隊(duì)命令包含源處理器指示符、即發(fā)布出隊(duì)命令的處理器的指示符,以及ZONE.ISC。該命令向所有處理器廣播。響應(yīng)于處理器接收到該命令,處理器檢查在出隊(duì)命令中的處理器id,步驟502。如果在出隊(duì)命令中的處理器id與處理該命令的處理器的處理器id相匹配,查詢504,然后處理器可以贏得裁斷以處理該中斷。因此,處理器抬r查在對應(yīng)于在出隊(duì)命令中所規(guī)定的區(qū)域和ISC的處理器的掛起中斷陣列(PIA)中的指示符(如比特),步驟506。如果該指示符凈皮:沒置為1,查詢508,則處理器設(shè)置可由在該處理器上的固件感知的硬件條件,以表明肯定的響應(yīng),表示該處理器優(yōu)先于該中斷,步驟510。另外,該處理器關(guān)閉PIA中的指示符,步驟512。返回查詢508,如果指示符沒有被設(shè)置為1,那么處理器設(shè)置可由固件感知的硬件條件,指示否定響應(yīng)。這表示另一個處理器贏得裁斷以處理中斷。返回查詢504,如果處理器id不與出隊(duì)命令中的標(biāo)識符匹配,那么處理器關(guān)閉PIA中的比特,步驟516,處理結(jié)束。除了復(fù)位PIA比特之外,當(dāng)適當(dāng)?shù)臅r候,過濾器PIA比特也需要復(fù)位。參考附圖6描述該處理。在一個示例中,由贏得裁斷并獲得對ZONE.ISC的中斷處理的控制的處理器來進(jìn)行該處理。參考附圖6,初始地,確定對于該特定ZONE.ISC而言是否要處理其它中斷,步驟600。在一個示例中,通過檢查中斷隊(duì)列頭(IQH)以確定是否存在為該ZONE.ISC而排隊(duì)的其它中斷,且通過^r查該ZONE.ISC的過濾器PIA標(biāo)識符來進(jìn)行確定。在一個示例中,提供硬件以查詢特定ZONE.ISC的過濾器PIA以確定該指示符對于ZONE.ISC是否處于打開。如果在中斷隊(duì)列頭上存在中斷或存在過濾器掛起中斷的指示,查詢602,則選擇一個中斷,步驟604。在一個示例中,基于公平技術(shù)來選擇要被處理的中斷。例如,如果先前處理傳統(tǒng)掛起中斷(即IQH上的一個),則這時處理過濾器掛起中斷。也可以使用其它技術(shù)。然后,確定是否選擇了過濾器PIA中斷,查詢606。如果過濾器PIA是選擇的中斷,則該過濾掛起中斷比特被復(fù)位,步驟608,且進(jìn)一步確定是否存在要被處理的其它中斷,查詢610。如果存在將被處理的進(jìn)一步的中斷,則發(fā)布排隊(duì)PIA命令,步驟612。該排隊(duì)命令使中斷掛起以允許處理器處理其它中斷。返回查詢602和610,如果沒有其它中斷,處理結(jié)束。另外,返回查詢606,如果被選擇的中斷不是過濾器PIA中斷,則發(fā)布排隊(duì)PIA命令以允許處理器處理該中斷,步驟612。通過使用上述出隊(duì)機(jī)制,保證只有一個處理器在任意時間點(diǎn)及時地處理特定中斷。以上詳細(xì)描述的是在一個或多個處理器中通過外部適配器直接設(shè)置I/O中斷主動權(quán)的能力。該能力去除了對設(shè)置啟動I/O中斷主動權(quán)的固件(如毫碼(millicode)和/或系統(tǒng)碼)處理的需要。本發(fā)明的一個或多個方面可以被包含于具有例如計(jì)算機(jī)可用媒介的制作產(chǎn)品(如一個或多個計(jì)算機(jī)程序產(chǎn)品)中。在這該々某介可以含有例如計(jì)算機(jī)可讀程序碼工具或邏輯(如指令、碼、命令等)以提供和促進(jìn)本發(fā)明的能力。該制作產(chǎn)品可以被包括作為計(jì)算機(jī)系統(tǒng)的一部分或被單獨(dú)出售。參考附圖7描述并入了本發(fā)明的一個或多個方面的制作產(chǎn)品或計(jì)算機(jī)程序產(chǎn)品的一個示例。計(jì)算機(jī)程序產(chǎn)品700包含例如,在其上面存儲計(jì)算機(jī)可讀程序代碼工具或邏輯704以提供和促進(jìn)本發(fā)明的一個或多個方面的一個或多個計(jì)算機(jī)可用媒介702。該媒介可以是電子的、磁的、光學(xué)的、電磁的、紅外線的或半導(dǎo)體系統(tǒng)(設(shè)備或裝置)或傳播媒介。計(jì)算機(jī)可讀媒介的例子包含半導(dǎo)體或固態(tài)存儲器、磁帶、可移動計(jì)算機(jī)磁盤、隨機(jī)訪問存儲器(RAM)、只讀存儲器(ROM)、和剛性磁盤和光盤。光盤例子包含緊致盤只讀存儲器(CD-ROM)、緊致盤寫/讀(CD-R/W)和DVD。由一個或多個計(jì)算機(jī)可讀程序代碼工具或邏輯定義的一個或多個相關(guān)模塊的程序指令序列或邏輯部件指揮本發(fā)明的一個或多個方面的執(zhí)行。有利地,提供使如適配器的外部I/O組件在一個或多個處理器中直接設(shè)置I/O中斷主動權(quán)的能力,因此避免了外部警報注意的過量以及通常需要串行化和設(shè)置I/O中斷主動權(quán)的相關(guān)固件處理。使用這種能力,例如主機(jī)信道適配器的適配器直接發(fā)送請求給耦合于I/O子系統(tǒng)和處理環(huán)境的處理器的系統(tǒng)控制器。依次,系統(tǒng)控制器廣播SIGI入隊(duì)命令,其指令處理器接收該命令以在處理器的PIA和過濾器PIA內(nèi)設(shè)置主動權(quán)。這消除了警報注意以及相關(guān)的固件注意處理層。ZONE.ISC的SIGI隊(duì)列,因此也提供了一種機(jī)制以防止與I/O中斷仲裁機(jī)制的沖突。該機(jī)制控制允許多個處理器處理從將由適配器產(chǎn)生的SIGI隊(duì)列流量中產(chǎn)生的用于相同ZONE.ISC的中斷的隱含性能。該機(jī)制包括硬件過濾器,被稱為過濾器PIA。該過濾器PIA提供從適配器產(chǎn)生中斷主動權(quán)的硬件的集合,以防止PIA的不受控制的更新以及防止與正常I/O處理仲裁機(jī)制的沖突。雖然在另一個實(shí)施例中,在出列處理中,過濾器PIA指示符以集合的方式被處理,但在過濾器PIA中可以存在對于特定的ZONE.ISC而掛起的多個中斷并且每一個可以一皮獨(dú)立處理。如這里所使用的,通過系統(tǒng)控制器進(jìn)行的獲得包括接收、取得、具有、被提供等等。盡管在上面描述了不同的實(shí)施例,但這些僅僅是示例。例如,不同于這里描述的處理環(huán)境可以合并和/或使用本發(fā)明的一個或多個方面。作為示例,中央處理綜合體可以包括更多的、更少的或者不同的組件。例如,處理綜合體可以包括一個或多個處理器和系統(tǒng)控制器,并且可以或者不被邏輯分區(qū)。作為進(jìn)一步的示例,處理器可以基于不同于由國際商業(yè)機(jī)器公司所提供的z/體系結(jié)構(gòu)的體系結(jié)構(gòu),并且每一個邏輯分區(qū)可以執(zhí)行不同于z/OS⑧操作系統(tǒng)的操作系統(tǒng)。另外,1/0子系統(tǒng)可以包括與這里所描述的組件不同的組件,包括不同類型的適配器或者接收請求且想啟動I/O中斷的其它類型的I/O組件。另外,處理環(huán)境可以包括比在這里的例子中使用的64個區(qū)域更多的或更少的區(qū)域,以及可以有比8個中斷子集更多的或更少的中斷子集。此外,系統(tǒng)控制器可以與這里所描繪的例子不同。例如,它可以具有不同的功能和/或它可以由軟件、固件、硬件或它們的組合來實(shí)現(xiàn)。存在可以被包括并且是這里所要求的發(fā)明的一部分的許多其它的變化。此外,環(huán)境可以包括仿真器(例如,軟件或其它仿真機(jī)制),其中特定的體系結(jié)構(gòu)或它的子集被仿真。在這樣一個環(huán)境中,仿真器的一個或多個仿真功能可以實(shí)現(xiàn)本發(fā)明的一個或多個方面,即使執(zhí)行該仿真器的計(jì)算機(jī)可以具有不同于被仿真的能力的體系結(jié)構(gòu)。作為一個例子,在仿真模式中,解碼被仿真的特定的命令或操作,并且構(gòu)建合適的仿真功能以實(shí)現(xiàn)單獨(dú)的命令或操作。在仿真環(huán)境中,主機(jī)計(jì)算機(jī)包括例如,存儲指令和數(shù)據(jù)的存儲器;指令取得單元,從存儲器取得指令以及可選擇地提供被取得指令的本地緩沖;指令解碼單元,接收指令取得單元以及確定已經(jīng)被取得的指令的類型;和執(zhí)行指令的指令執(zhí)行單元。執(zhí)行可以包括將數(shù)據(jù)載入寄存器以進(jìn)行存儲;將數(shù)據(jù)從寄存器存回存儲器;或者執(zhí)行如解碼單元所確定的一些類型的算法或邏輯操作。在一個示例中,在軟件中實(shí)現(xiàn)每一個單元。例如,由這些單元執(zhí)行的操作可以被實(shí)施作為在仿真器軟件中的一個或多個子例程。另外,可使用適合于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng),包括通過系統(tǒng)總線與存儲器元件直接或間接耦合的至少一個處理器。該存儲器元件包括例如,在程序代碼的實(shí)際執(zhí)行期間使用的本地存儲器;大容量存儲器;以及高速緩存,其提供至少一些程序代碼的暫時性存儲,以便減少在執(zhí)行期間必須要從大容量存儲器取回代碼的次數(shù)。輸入/輸出或1/0設(shè)備(包括但是不限于鍵盤、顯示器、頂點(diǎn)設(shè)備等等)能夠被直接地或者通過介入的I/O控制器來耦合于系統(tǒng)。網(wǎng)絡(luò)適配器也可以被耦合于系統(tǒng)以使得數(shù)據(jù)處理系統(tǒng)能夠通過介入的私有或公共網(wǎng)而變得耦合于其它數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲設(shè)備。調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器以及以太網(wǎng)卡只是網(wǎng)絡(luò)適配器的少量可用類型。本發(fā)明的一個或多個方面的能力可以在軟件、固件、硬件或它們的組合中實(shí)現(xiàn)。執(zhí)行本發(fā)明性能的,可以提供可由機(jī)器讀取的至少一個程序存儲設(shè)備,其中該機(jī)器實(shí)現(xiàn)可由該機(jī)器執(zhí)行的指令的至少一個程序。這里所描述的流程圖僅僅是示例。在不脫離本發(fā)明的精神的情況下,這里所描述的這些圖或步驟(或操作)可以有很多變化。例如,可以以不同的順序執(zhí)行步驟,或者可以增加、刪除或修改步驟。所有這些變化都被認(rèn)為是所要求的發(fā)明的一部分。盡管在這里詳細(xì)地描述了實(shí)施例,但是本領(lǐng)域技術(shù)人員將得知,可以在不脫離本發(fā)明的精神的情況下做出不同的修改、增加、替換等等,并且因此這些被認(rèn)為是在隨后的權(quán)利要求所定義的發(fā)明的范圍之內(nèi)。權(quán)利要求1.一種在處理環(huán)境中啟動中斷主動權(quán)的設(shè)置的方法,所述處理環(huán)境包括至少一個處理器,并且所述方法包括通過位于所述處理環(huán)境的至少一個處理器外部的適配器,直接啟動在所述處理環(huán)境的一個或多個處理器處的中斷主動權(quán)的設(shè)置,其中所述直接啟動不使用所述處理環(huán)境的固件。2、如權(quán)利要求1的方法,其中所述直接啟動包括從所述適配器直接發(fā)送請求給被耦合于所述適配器和所述一個或多個處理器的系統(tǒng)控制器,所述請求啟動中斷主動權(quán)的設(shè)置。3、如權(quán)利要求2的方法,進(jìn)一步包括從所述系統(tǒng)控制器轉(zhuǎn)發(fā)基于所述請求的命令到一個或多個處理器以指令所述一個或多個處理器設(shè)置在所述一個或多個處理器處的中斷主動權(quán)。4、如權(quán)利要求3的方法,其中所述轉(zhuǎn)發(fā)包括將所述命令廣播給被耦合于所述系統(tǒng)控制器的所述處理環(huán)境的所述一個或多個處理器。5、如權(quán)利要求3的方法,進(jìn)一步包括通過所述一個或多個處理器中的一個處理器來設(shè)置在所述處理器處的中斷主動權(quán),其中所述設(shè)置包括設(shè)置在所述處理器的過濾器掛起中斷陣列中的過濾器指示符和在所述處理器的掛起中斷陣列中的指示符。6、如權(quán)利要求5的方法,其中所述過濾器掛起中斷陣列是控制在所述掛起中斷陣列中的所述指示符的設(shè)置或復(fù)位的至少一個的硬件過濾器,且其中所述在過濾器掛起中斷陣列中的指示符的設(shè)置防止在所述掛起中斷陣列中的相應(yīng)指示符的重復(fù)設(shè)置。7、一種在處理環(huán)境中啟動中斷主動權(quán)的設(shè)置的系統(tǒng),所述系統(tǒng)包括輸入/輸出組件;以及耦合于所述輸入/輸出組件且位于所述輸入/輸出組件外部的系統(tǒng)控制器,用于獲得從所述輸入/輸出組件直接發(fā)送到所述系統(tǒng)控制器的請求,所述請求啟動在被耦合到所述輸入/輸出組件且位于所述輸入/輸出組件外部的一個或多個處理器處的中斷主動權(quán)的設(shè)置。8、如權(quán)利要求7的系統(tǒng),其中該系統(tǒng)控制器被進(jìn)一步適用于從所述系統(tǒng)控制器轉(zhuǎn)發(fā)基于所述請求的、指令所述一個或多個處理器設(shè)置在所述一個或多個處理器處的中斷主動權(quán)的命令到一個或多個處理器。9、如權(quán)利要求8的系統(tǒng),其中所述一個或多個處理器中的一個處理器被適用于設(shè)置在所述處理器處的中斷主動權(quán),其中所述設(shè)置包括設(shè)置在所述處理器的過濾器掛起中斷陣列中的過濾器指示符和在所述處理器的掛起中斷陣列中的指示符。10、如權(quán)利要求9的系統(tǒng),其中所述過濾器掛起中斷陣列是控制在掛起中斷陣列中的指示符的設(shè)置或復(fù)位的至少一個的硬件過濾器,且其中所述設(shè)置在過濾器掛起中斷陣列中的指示符防止在所述掛起中斷陣列中的相應(yīng)指示符的重復(fù)設(shè)置。11、一種啟動中斷主動權(quán)的設(shè)置的方法,包括通過處理環(huán)境的系統(tǒng)控制器獲得從輸入/輸出組件直接發(fā)送給所述系統(tǒng)控制器的請求,所述輸入/輸出組件位于所述系統(tǒng)控制器的外部,所述請求啟動中斷主動權(quán)的設(shè)置;以及從所述系統(tǒng)控制器轉(zhuǎn)發(fā)基于所述請求的、指令所述一個或多個處理器設(shè)置在所述一個或多個處理器處的中斷主動權(quán)的命令到被耦合于所述系統(tǒng)控制器且位于所述輸入/輸出組件外部的一個或多個處理器。12、如權(quán)利要求11的方法,進(jìn)一步包括從所述輸入/輸出組件直接發(fā)送所述請求到所述系統(tǒng)控制器而不使用所述處理環(huán)境的固件。13、如權(quán)利要求ll的方法,其中所述轉(zhuǎn)發(fā)包括將所述命令廣播到被耦合于所述系統(tǒng)控制器的一個或多個處理器。14、如權(quán)利要求ll的方法,進(jìn)一步包括通過所述一個或多個處理器中的一個處理器來設(shè)置在所述處理器處的中斷主動權(quán),其中所述設(shè)置包括設(shè)置在所述處理器的過濾器掛起中斷陣列中的過濾器指示符和在所述處理器的掛起中斷陣列中的指示符。15、如權(quán)利要求14的方法,其中所述過濾器掛起中斷陣列是控制在所述掛起中斷陣列中的所述指示符的設(shè)置或復(fù)位的至少一個的硬件過濾器。16、如權(quán)利要求14的方法,其中所述過濾器指示符和所述指示符對應(yīng)于在所述請求中規(guī)定的區(qū)域和中斷子集。17、如權(quán)利要求14的方法,進(jìn)一步包括復(fù)位在所述一個或多個處理器處的中斷主動4又。18、如權(quán)利要求17的方法,其中所述復(fù)位通過獲得該中斷處理的控制的一個處理器來執(zhí)行,并且其中所述復(fù)位包括復(fù)位在所述掛起中斷陣列中的所述指示符;以及響應(yīng)于確定對于在所述請求中規(guī)定的區(qū)域和中斷子集而言沒有中斷要被處理,復(fù)位在所述過濾器掛起中斷陣列中的所述過濾器指示符。19、如權(quán)利要求18的方法,進(jìn)一步包括確定對于所述區(qū)域和中斷子集而言過濾器掛起中斷是否要被處理,其中所述確定使用硬件以詢問所述過濾器掛起中斷陣列。20、如權(quán)利要求11的方法,其中所述輸入/輸出組件包括適配器,所述系統(tǒng)控制器包括硬件,以及所述中斷主動權(quán)包括輸入/輸出中斷主動權(quán)。全文摘要通過外部適配器直接啟動中斷主動權(quán)的設(shè)置。位于在其上主動權(quán)被掛起的處理器的外部的適配器直接發(fā)送請求給被耦合于該適配器和該處理器的系統(tǒng)控制器。該系統(tǒng)控制器接著將命令廣播到處理器以指示該處理器設(shè)置中斷主動權(quán)。文檔編號G06F13/20GK101256540SQ20081009201公開日2008年9月3日申請日期2008年1月4日優(yōu)先權(quán)日2007年1月5日發(fā)明者加里·E·斯特雷特,庫爾萬特·M·潘迪,托馬斯·A·格雷格,查爾斯·F·韋布,珍妮特·R·伊斯頓,邁克爾·D·坎貝爾,道格拉斯·G·巴拉齊克,馬克·S·法雷爾申請人:國際商業(yè)機(jī)器公司