TW202046094A - 處理輸入輸出儲存指令 - Google Patents
處理輸入輸出儲存指令 Download PDFInfo
- Publication number
- TW202046094A TW202046094A TW109101030A TW109101030A TW202046094A TW 202046094 A TW202046094 A TW 202046094A TW 109101030 A TW109101030 A TW 109101030A TW 109101030 A TW109101030 A TW 109101030A TW 202046094 A TW202046094 A TW 202046094A
- Authority
- TW
- Taiwan
- Prior art keywords
- input
- output
- data
- data processing
- asynchronous
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本發明提供一種資料處理系統(210)及一種用於處理一輸入輸出儲存指令(30)之方法,其包含藉由一輸入輸出匯流排控制器(20)通信耦接至至少一個輸入輸出匯流排(22)之一系統巢狀結構(18)。該資料處理系統(210)進一步至少包含一資料處理單元(216),其包含一核心(12)、一系統韌體(10)及一非同步核心-巢狀結構介面(14)。該資料處理單元(216)經由一彙總緩衝器(16)通信耦接至該系統巢狀結構(18)。該系統巢狀結構(18)經組態以非同步地自通信耦接至該輸入輸出匯流排(22)之至少一個外部裝置(214)載入資料及/或將資料儲存至該至少一個外部裝置。該資料處理單元(216)經組態以在該系統巢狀結構(18)中之該輸入輸出儲存指令(30)的一執行完成之前完成該輸入輸出儲存指令(30)。該非同步核心-巢狀結構介面(14)包含具有多個輸入輸出狀態緩衝器(24)之一輸入輸出狀態陣列(44)。
Description
本發明大體上係關於資料處理系統,特定而言,係關於一種用於處理至多個外部裝置之輸入輸出儲存指令的方法以及一種電腦程式產品及一種資料處理系統。
計算環境可包括一或多種類型之輸入輸出裝置,包括各種類型之配接器。一種類型之配接器為周邊組件互連(PCI)或高速周邊組件互連(PCIe)配接器。此配接器包括用於在配接器與配接器所附接至的系統之間傳達資料的一或多個位址空間。
在一些系統中,耦接至配接器之中央處理單元(CPU)的位址空間之一部分經映射至配接器之位址空間,從而使得存取儲存器之CPU指令能夠直接操縱配接器之位址空間中的資料。
與諸如PCI或PCIe配接器之配接器的通信可藉由控制指令來促進,該等控制指令經特定設計以用於將資料傳達至配接器及自配接器傳達資料且用於通信。
在目前先進技術中,一種用於將資料儲存於配接器中之儲存指令包括例如獲得機器指令以供執行,該機器指令經定義以用於根據電腦架構之電腦執行,該機器指令包括例如識別儲存至配接器指令之作業碼欄位。第一欄位識別包括待儲存於配接器中之資料的第一位置。第二欄位識別第二位置,其內容包括識別配接器之功能控點、配接器內待儲存有資料之位址空間的標識及位址空間內之位移。執行機器指令,該執行包括使用功能控點以獲得與配接器相關聯之功能表項目。使用功能表項目中之資訊及位移中之至少一者獲得配接器之資料位址。將資料自第一位置儲存於由位址空間之標識所識別的位址空間中之特定位置中,該特定位置由配接器之資料位址識別。
大型多處理器系統中之現有特徵為能夠使目標區內之所有處理器靜止。靜止功能操作以臨時暫停或更改一處理器或一組處理器之狀態,從而執行例如系統更新或備份。在一些情況下,靜止中斷僅適用於系統資源之子集。在此等情況下,系統可分成不同區。對於適用於一個區(目標區)之靜止操作,儘管可能會阻止新的轉譯,但准許在目標區外之處理器繼續執行。通常,至少一個系統控制器或其他機構將靜止廣播至系統中之所有實體處理器,處理收集靜止狀態資訊且向請求處理器指示何時已啟動所有處理器或忽略(篩選)靜止請求。
靜止控制器可通信耦接直至處理器系統中之處理器,且靜止狀態機經組態以接收靜止請求。該電腦系統經組態以執行一種方法,其包括:在靜止控制器處自請求處理器接收靜止請求,該請求處理器為多處理器系統中之複數個處理器中之一者;及基於靜止狀態機之狀態而判定不接受靜止請求。該方法亦包括:基於不接受請求,產生經組態以指示已拒絕靜止請求之拒絕訊息;保持拒絕訊息直至靜止命令被廣播至多處理器系統,該靜止命令係基於不同靜止請求;及基於靜止控制器偵測到靜止命令之廣播而將拒絕訊息發送至請求處理器。
提議一種資料處理系統,其用於處理輸入輸出儲存指令,該資料處理系統包含藉由輸入輸出匯流排控制器通信耦接至至少一個輸入輸出匯流排的系統巢狀結構。該資料處理系統進一步至少包含資料處理單元,其包含核心、系統韌體及非同步核心-巢狀結構介面。該資料處理單元經由彙總緩衝器通信耦接至系統巢狀結構。該系統巢狀結構經組態以非同步地自通信耦接至輸入輸出匯流排之至少一個外部裝置載入資料及/或將資料儲存至至少一個外部裝置。非同步核心-巢狀結構介面包含具有多個輸入輸出狀態緩衝器之輸入輸出狀態陣列,以及陣列管理及存取邏輯。
該資料處理系統經組態以執行:(i)在資料處理系統上執行之作業系統發出輸入輸出儲存指令,該輸入輸出儲存指令經由位址、待傳送之資料及/或指向待傳送之資料的指標及資料之長度來指定具有位移之至少一輸入輸出功能;(ii)該資料處理單元經組態以藉由在輸入輸出儲存指令中指定之位址來識別輸入輸出功能;(iii)該資料處理單元經組態以驗證在位址空間上及客體執行個體層級上是否允許存取輸入輸出功能,該客體在資料處理系統上執行;(iv)該資料處理單元經組態以在系統巢狀結構中之輸入輸出儲存指令的執行完成之前完成輸入輸出儲存指令;(v)該系統韌體經組態以:若在輸入輸出儲存指令之非同步執行期間,資料處理單元偵測到錯誤,則經由中斷通知作業系統傳輸失敗非同步執行之資料;(vi)屏障指令延遲儲存指令之處理直至所有先前儲存指令已完成。
有利地,可引入屏障指令以用於對非同步儲存指令進行排序。有利地,屏障指令可為PCI SMT執行緒屏障指令,其在所有先前PCI儲存指令已發送至用於彼SMT執行緒之PCIe匯流排時完成。
根據本發明之第一實施例的資料處理系統包含經由輸入輸出匯流排自資料處理系統之至少一個外部裝置載入及儲存至至少一個外部裝置的指令。非同步指令在資料已儲存至外部裝置之前完成,而同步指令在資料已儲存至外部裝置之後完成。在此處所描述之實施例內,PCI將可互換地用於任何其他輸入輸出技術,因此不將本發明之實施例限於PCI。
本發明之實施例描述以如可自架構邊界上方觀察到的嚴格有序方式執行輸入輸出儲存指令,而實際執行可在資料處理單元(CPU)之硬體內無次序。
根據本發明之實施例,可藉由PCIe儲存效應之非同步執行以及非同步狀態處理來執行PCI儲存指令。非同步可靠執行係基於本發明資料處理系統之微架構中的可靠轉遞機制。
現有的PCI儲存及儲存區塊指令通常同步,直至PCI儲存資料已遞送至PCIe介面且完成傳回至處理單元的點。
PCI標準僅需要PCI資訊之非同步發送命令,其通常經由使用非同步發出來彙總資料之處理器中的儲存佇列實施。
有利地,根據本發明之實施例,可藉由用輸入輸出儲存指令之可靠非同步發送程序替換同步PCI指令來達成關於每指令循環之改良。
替代待傳送之資料或除待傳送之資料外,根據本發明之實施例的儲存指令亦可指定指向主記憶體之指標,該指標應用以自主記憶體提取資料而非直接含有資料。
客體執行個體層級亦可意謂單一客體或主機可在資料處理系統上執行。
輸入輸出功能本身之位移的位址可為虛擬、實體、邏輯位址。虛擬及邏輯位址通常經由記憶體管理單元(MMU)轉譯成實體位址,且實體位址接著允許識別意圖使用哪一功能及位移。
在此上下文中,實體位址意謂「可自客體/作業系統內存取之位址轉譯階層中的最低位址」。
有利地,輸入輸出狀態緩衝器可收集來自系統巢狀結構及/或來自輸入輸出匯流排控制器之傳回狀態,特定而言為來自系統巢狀結構之完成訊息。此等輸入輸出狀態緩衝器可收集傳回狀態,其充當支援非同步傳輸程序之非同步系統訊息緩衝器。有利地,為快速回應,輸入輸出狀態緩衝器可直接整合於非同步核心-巢狀結構介面中。
根據本發明資料處理系統之有利實施例,屏障指令可限制至單一輸入輸出匯流排控制器之儲存指令的串列處理。因此,針對此輸入輸出匯流排控制器之儲存指令的高效率排序為可能的,以便保證訊息將到達特定外部裝置。
根據本發明資料處理系統之有利實施例,屏障指令可限制至單一輸入輸出功能、特定而言至單一外部輸入輸出裝置之儲存指令的串列處理。因此,針對此輸入輸出匯流排控制器之儲存指令的高效率排序為可能的,以便保證訊息將到達特定外部裝置。
根據本發明資料處理系統之有利實施例,用於輸入輸出狀態陣列之所有輸入輸出狀態緩衝器的摘要查詢能力可由陣列管理及存取邏輯提供,從而傳回輸入輸出狀態緩衝器之狀態的彙總資訊。以此方式,能夠以高效率方式自輸入輸出狀態緩衝器搜集資訊。
根據本發明資料處理系統之有利實施例,系統韌體可包含陣列管理邏輯,其分配/解除分配輸入輸出狀態陣列中之輸入輸出狀態緩衝器及/或起始新儲存指令之開始。因此,閒置狀態緩衝器可歸於其他儲存指令。能夠以高效率且節省時間之方式處理儲存指令之有序處理。
根據本發明資料處理系統之有利實施例,彙總緩衝器可經由非同步匯流排通信耦接至非同步核心-巢狀結構介面。因此,彙總緩衝器可連續地處理由非同步核心-巢狀結構介面直接發送的資料,直至待傳送至外部裝置之所有資料儲存於彙總緩衝器中。以此方式,可有利地支援用於自非同步核心-巢狀結構介面之資料傳送的非同步傳輸機制。
根據本發明資料處理系統之有利實施例,若源資料之長度超過八個位元組,則資料可藉由輸入輸出儲存指令經由使用提早完成訊息之非同步傳輸機制在多個資料封包中傳送至彙總緩衝器,否則,資料可在一個資料封包中傳送。因為發送裝置在較早狀態下自由再使用,所以非同步傳輸機制為有利的。
根據本發明資料處理系統之有利實施例,該系統韌體可包含用於處理輸入輸出儲存指令之非同步輸入輸出驅動程式碼。因此,非同步傳輸機制可用於將資料自資料處理單元傳送至外部裝置。另外,有利地,該核心可包含用於處理對非同步輸入輸出驅動程式碼之狀態資訊之記憶體要求的非同步設定碼。此非同步設定碼可進一步促進經由彙總緩衝器至系統巢狀結構及輸入輸出匯流排控制器之非同步傳輸機制。
根據本發明資料處理系統之有利實施例,該非同步核心-巢狀結構介面可包含用於在本端完成之情況下轉遞資料的非同步核心-巢狀結構介面轉遞組件。此組件可在非同步核心-巢狀結構介面中以硬體實施。因此,可支援用於將資料封包中之資料發送至彙總緩衝器的有利非同步傳輸模式。
根據本發明資料處理系統之有利實施例,彙總緩衝器可包含用於在發送請求之後遞送自由再使用訊息的提早完成邏輯。此使得能夠經由彙總緩衝器提早繼續資料至系統巢狀結構及輸入輸出匯流排控制器之傳輸程序。
有利地,系統韌體可包含陣列管理邏輯,其分配/解除分配輸入輸出狀態陣列中之輸入輸出狀態緩衝器及/或起始新儲存指令之開始。因此,閒置狀態緩衝器可歸於其他儲存指令。能夠以高效率且節省時間之方式處理儲存指令之有序處理。
根據本發明資料處理系統之有利實施例,系統訊息可包含以下各者中之一者:階層式實體目標位址;發起同時多執行緒化(SMT)執行緒或彙總緩衝器識別符;資料之長度;輸入輸出匯流排位址;或輸入輸出狀態緩衝器索引。因此,可保證相關資訊經由資料處理系統之有利傳遞。
另外,提議一種用於處理至資料處理系統之至少一個外部裝置之輸入輸出儲存指令的方法,該資料處理系統包含藉由輸入輸出匯流排控制器通信耦接至至少一個輸入輸出匯流排的系統巢狀結構。該資料處理系統進一步至少包含資料處理單元,其包含核心、系統韌體及非同步核心-巢狀結構介面。該資料處理單元經由彙總緩衝器通信耦接至系統巢狀結構。非同步核心-巢狀結構介面包含具有多個輸入輸出狀態緩衝器之輸入輸出狀態陣列,以及陣列管理及存取邏輯。
該方法包含:(i)在資料處理系統上執行之作業系統發出輸入輸出儲存指令,該輸入輸出儲存指令經由位址、待傳送之資料及/或指向待傳送之資料的指標及資料之長度來指定具有位移之至少一輸入輸出功能;(ii)該資料處理單元經組態以藉由在輸入輸出儲存指令中指定之位址來識別輸入輸出功能;(iii)該資料處理單元經組態以驗證在位址空間上及客體執行個體層級上是否允許存取輸入輸出功能,該客體在資料處理系統上執行;(iv)該資料處理單元經組態以在系統巢狀結構中之輸入輸出儲存指令的執行完成之前完成輸入輸出儲存指令;(v)該系統韌體經組態以:若在輸入輸出儲存指令之非同步執行期間,資料處理單元偵測到錯誤,則經由中斷通知作業系統傳輸失敗非同步執行之資料;(vi)屏障指令延遲儲存指令之處理直至所有先前儲存指令已完成。
有利地,可引入屏障指令以用於對非同步儲存指令進行排序。有利地,屏障指令可為PCI SMT執行緒屏障指令,其在所有先前PCI儲存指令已發送至用於彼SMT執行緒之PCIe匯流排時完成。
根據本發明之另一實施例的方法包含經由輸入輸出匯流排自資料處理系統之至少一個外部裝置載入指令及儲存至至少一個外部裝置。非同步指令在資料已儲存至外部裝置之前完成,而同步指令在資料已儲存至外部裝置之後完成。在此處所描述之實施例內,PCI將可互換地用於任何其他輸入輸出技術,因此不將本發明之實施例限於PCI。
本發明方法之實施例描述以如可自架構邊界上方觀察到的嚴格有序方式執行輸入輸出儲存指令,而實際執行可在資料處理單元(CPU)之硬體內無次序。
根據本發明方法之實施例,可藉由PCIe儲存效應之非同步執行以及非同步狀態處理來執行PCI儲存指令。非同步可靠執行係基於本發明資料處理系統之微架構中的可靠轉遞機制。
現有的PCI儲存及儲存區塊指令通常同步,直至PCI儲存資料已遞送至PCIe介面且完成傳回至處理單元的點。
PCI標準僅需要PCI資訊之非同步發送命令,其通常經由使用非同步發出來彙總資料之處理器中的儲存佇列實施。
有利地,根據本發明方法之實施例,可藉由用輸入輸出儲存指令之可靠非同步發送程序替換同步PCI指令來達成關於每指令循環之改良。
替代待傳送之資料或除待傳送之資料外,根據本發明之實施例的儲存指令亦可指定指向主記憶體之指標,該指標應用以自主記憶體提取資料而非直接含有資料。
客體執行個體層級亦可意謂單一客體或主機可在資料處理系統上執行。
輸入輸出功能本身之位移的位址可為虛擬、實體、邏輯位址。虛擬及邏輯位址通常經由記憶體管理單元(MMU)轉譯成實體位址,且實體位址接著允許識別意圖使用哪一功能及位移。
在此上下文中,實體位址意謂「可自客體/作業系統內存取之位址轉譯階層中的最低位址」。
根據本發明方法之有利實施例,屏障指令可限制至單一輸入輸出匯流排控制器之儲存指令的串列處理。因此,針對此輸入輸出匯流排控制器之儲存指令的高效率排序為可能的,以便保證訊息將到達特定外部裝置。
根據本發明方法之有利實施例,屏障指令可限制至單一輸入輸出功能、特定而言至單一外部輸入輸出裝置之儲存指令的串列處理。因此,針對此輸入輸出匯流排控制器之儲存指令的高效率排序為可能的,以便保證訊息將到達特定外部裝置。
根據本發明方法之有利實施例,用於輸入輸出狀態陣列之所有輸入輸出狀態緩衝器的摘要查詢能力可由陣列管理及存取邏輯提供,從而傳回輸入輸出狀態緩衝器之狀態的彙總資訊。以此方式,能夠以高效率方式自輸入輸出狀態緩衝器搜集資訊。
根據本發明方法之有利實施例,系統韌體可包含陣列管理邏輯,其分配/解除分配輸入輸出狀態陣列中之輸入輸出狀態緩衝器及/或起始新儲存指令之開始。因此,閒置狀態緩衝器可歸於其他儲存指令。能夠以高效率且節省時間之方式處理儲存指令之有序處理。
有利地,輸入輸出狀態緩衝器可收集來自系統巢狀結構及/或來自輸入輸出匯流排控制器之訊息狀態,特定而言為來自系統巢狀結構之完成狀態,其中訊息狀態及/或完成狀態由輸入輸出狀態緩衝器索引編號。以此方式,能夠以有序且高效率方式處理關於不同儲存指令之完成狀態的資訊。編號使得有可能以有序且高效率方式處理訊息且特定而言處理完成狀態以用於進一步處理其他儲存指令。
根據有利實施例,該方法可進一步包含:(i)作業系統發出輸入輸出儲存指令;(ii)系統韌體(10)分配自由輸入輸出狀態緩衝器索引;若無自由輸入輸出狀態緩衝器索引可用,則等待自由輸入輸出狀態緩衝器索引;(iii)系統韌體將儲存指令注入至非同步發送引擎中;若被另一儲存指令封鎖,則等待直至儲存指令已完成;(iv)取決於資料之長度:若資料之長度超過八個位元組,則系統韌體重複地發出系統訊息以將資料封包發送至彙總緩衝器,直至儲存區塊之所有資料已轉遞至彙總緩衝器,同時系統韌體等待直至資料已由系統訊息發送;否則,系統韌體發出系統訊息以將資料發送至彙總緩衝器;進一步獨立於資料之長度,(v)系統韌體將系統訊息發出至彙總緩衝器以將資料作為單一巢狀結構訊息非同步地轉遞至輸入輸出匯流排控制器,同時等待彙總緩衝器發送完成訊息;(vi)彙總緩衝器將巢狀結構訊息注入至系統巢狀結構中,其中彙總緩衝器在發送操作之後立即自由再使用,從而發信回至系統韌體;接著彙總緩衝器發送自由再使用訊息;(vii)系統巢狀結構將訊息轉遞至目標位置;(viii)輸入輸出匯流排控制器接收訊息且將資料訊框中之資料轉遞至輸入輸出匯流排;(ix)輸入輸出匯流排控制器將完成訊息發送至系統巢狀結構;(x)系統巢狀結構將完成訊息轉遞至發端彙總緩衝器;(xi)彙總緩衝器將完成轉遞至非同步核心-巢狀結構介面;(xii)非同步核心-巢狀結構介面針對輸入輸出狀態緩衝器索引將完成狀態儲存於輸入輸出狀態緩衝器中且將操作完成發信至系統韌體;(xiii)系統韌體藉由輸入輸出狀態緩衝器索引更新輸入輸出狀態緩衝器追蹤;及(xiv)系統韌體在錯誤之狀況下將缺陷非同步地發信至作業系統。
僅步驟(ii)取決於資料之長度且對於超過八個位元組之資料的長度,該步驟不同於不超過八個位元組之資料的長度。
根據本發明方法之實施例,資料係以圖塊傳輸至彙總緩衝器,直至儲存區塊之所有資料轉遞至彙總緩衝器,其中系統韌體等待直至資料已由非同步核心-巢狀結構介面發送。
因此,若資料小於八個位元組,則可跳過以具有資料封包之圖塊對彙總緩衝器的填充程序,且可在單一步驟中完成資料至外部裝置之傳輸程序。
根據本發明方法之有利實施例,若資料之長度超過八個位元組,則資料可藉由輸入輸出儲存指令經由使用提早完成訊息之非同步傳輸機制在多個資料封包中傳送至彙總緩衝器。因為發送裝置在較早狀態下自由再使用,所以非同步傳輸機制為有利的。
根據本發明方法之有利實施例,系統韌體可使用用於處理輸入輸出儲存指令之非同步輸入輸出驅動程式碼。因此,非同步傳輸機制可用於將資料自資料處理單元傳送至外部裝置。
根據本發明方法之有利實施例,該核心可使用用於處理對非同步輸入輸出驅動程式碼之狀態資訊之記憶體要求的非同步設定碼。此非同步設定碼可進一步促進經由彙總緩衝器至系統巢狀結構及輸入輸出匯流排控制器之非同步傳輸機制。
根據本發明方法之有利實施例,非同步核心-巢狀結構介面可使用用於在本端完成之情況下轉遞資料的非同步核心-巢狀結構介面轉遞組件。因此,可支援用於將資料封包中之資料發送至彙總緩衝器的有利非同步傳輸模式。
根據本發明方法之有利實施例,彙總緩衝器可使用用於在發送請求之後遞送自由再使用訊息的提早完成邏輯。此使得能夠經由彙總緩衝器提早繼續資料至系統巢狀結構及輸入輸出匯流排控制器之傳輸程序。
有利地,輸入輸出狀態緩衝器可收集來自系統巢狀結構及/或來自輸入輸出匯流排控制器之傳回狀態,特定而言為來自系統巢狀結構之完成訊息。此等輸入輸出狀態緩衝器可收集傳回狀態,其充當支援非同步傳輸程序之非同步系統訊息緩衝器。
根據本發明方法之有利實施例,系統訊息可包含以下各者中之一者:階層式實體目標位址;發起SMT執行緒或彙總緩衝器識別符;資料之長度;輸入輸出匯流排位址;或輸入輸出狀態緩衝器索引。因此,可保證相關資訊經由資料處理系統之有利傳遞。
另外,提議一種有利的電腦程式產品,其用於處理至資料處理系統之至少一個外部裝置的輸入輸出儲存指令,該資料處理系統包含藉由輸入輸出匯流排控制器通信耦接至至少一個輸入輸出匯流排的系統巢狀結構。該資料處理系統進一步至少包含資料處理單元,其包含核心、系統韌體及非同步核心-巢狀結構介面。該資料處理單元經由彙總緩衝器通信耦接至系統巢狀結構。該外部裝置通信耦接至輸入輸出匯流排。非同步核心-巢狀結構介面包含具有多個輸入輸出狀態緩衝器之輸入輸出狀態陣列,以及陣列管理及存取邏輯。
該電腦程式產品包含電腦可讀儲存媒體,其具有與其一起體現之程式指令,該等程式指令可由電腦系統執行以使得電腦系統執行一種方法,該方法包含:(i)在資料處理系統上執行之作業系統發出輸入輸出儲存指令,該輸入輸出儲存指令經由位址、待傳送之資料及/或指向待傳送之資料的指標及資料之長度來指定具有位移之至少一輸入輸出功能;(ii)該資料處理單元經組態以藉由在輸入輸出儲存指令中指定之位址來識別輸入輸出功能;(iii)該資料處理單元經組態以驗證在位址空間上及客體執行個體層級上是否允許存取輸入輸出功能,該客體在資料處理系統上執行;(iv)該資料處理單元經組態以在系統巢狀結構中之輸入輸出儲存指令的執行完成之前完成輸入輸出儲存指令;(v)該系統韌體經組態以:若在輸入輸出儲存指令之非同步執行期間,資料處理單元偵測到錯誤,則經由中斷通知作業系統傳輸失敗非同步執行之資料;(vi)屏障指令延遲儲存指令之處理直至所有先前儲存指令已完成。
另外,提議一種用於執行資料處理程式之資料處理系統,其包含用於執行上文所描述之方法的電腦可讀程式指令。
在圖式中,用相同元件符號來提及相同元件。該等圖式僅為示意性表示,其不意欲描繪本發明之特定參數。此外,該等圖式意欲僅描繪本發明之典型實施例,且因此不應被視為限制本發明之範疇。
本文中所描述之說明性實施例提供用於處理輸入輸出儲存指令之資料處理系統及方法,其包含藉由輸入輸出匯流排控制器通信耦接至至少一個輸入輸出匯流排的系統巢狀結構。該資料處理系統進一步至少包含資料處理單元,其包含核心、系統韌體及非同步核心-巢狀結構介面。該資料處理單元經由彙總緩衝器通信耦接至系統巢狀結構。該系統巢狀結構經組態以非同步地自通信耦接至輸入輸出匯流排之外部裝置載入資料及/或將資料儲存至外部裝置。非同步核心-巢狀結構介面包含具有多個輸入輸出狀態緩衝器之輸入輸出狀態陣列,以及陣列管理及存取邏輯。
說明性實施例可用於包含以下步驟之方法:(i)在資料處理系統上執行之作業系統發出輸入輸出儲存指令,該輸入輸出儲存指令經由位址、待傳送之資料及/或指向待傳送之資料的指標及資料之長度來指定具有位移之至少一輸入輸出功能;(ii)該資料處理單元經組態以藉由在輸入輸出儲存指令中指定之位址來識別輸入輸出功能;(iii)該資料處理單元經組態以驗證在位址空間上及客體執行個體層級上是否允許存取輸入輸出功能,該客體在資料處理系統上執行;(iv)該資料處理單元經組態以在系統巢狀結構中之輸入輸出儲存指令的執行完成之前完成輸入輸出儲存指令;(v)該系統韌體經組態以:若在輸入輸出儲存指令之非同步執行期間,資料處理單元偵測到錯誤,則經由中斷通知作業系統傳輸失敗非同步執行之資料;(vi)屏障指令延遲儲存指令之處理直至所有先前儲存指令已完成。
替代待傳送之資料或除待傳送之資料外,根據本發明之實施例的儲存指令亦可指定指向主記憶體之指標,該指標應用以自主記憶體提取資料而非直接含有資料。
客體執行個體層級亦可意謂單一客體或主機可在資料處理系統上執行。
輸入輸出功能本身之位移的位址可為虛擬、實體、邏輯位址。虛擬及邏輯位址通常經由記憶體管理單元(MMU)轉譯成實體位址,且實體位址接著允許識別意圖使用哪一功能及位移。
在此上下文中,實體位址意謂「可自客體/作業系統內存取之位址轉譯階層中的最低位址」。
圖1描繪根據本發明之實施例的用於處理至至少一個外部裝置214之輸入輸出儲存指令30的資料處理系統210之方塊圖。資料處理系統210包含:系統巢狀結構18,其藉由輸入輸出匯流排控制器20通信耦接至輸入輸出匯流排22;資料處理單元216,其包含核心12、系統韌體10及非同步核心-巢狀結構介面14。輸入輸出匯流排控制器20亦可經由多個輸入輸出匯流排22耦接至多個外部裝置214。
資料處理單元216經由彙總緩衝器16通信耦接至系統巢狀結構18。系統巢狀結構18經組態以經由作為系統巢狀結構18之部分的緩衝器-輸入輸出匯流排控制器介面28以及輸入輸出匯流排控制器20自通信耦接至輸入輸出匯流排22之外部裝置214非同步地載入資料及/或將資料儲存至外部裝置。
彙總緩衝器16通信耦接至非同步核心-巢狀結構介面14。系統韌體10包含用於處理輸入輸出儲存指令30之非同步輸入輸出驅動程式碼32。核心12包含用於處理對非同步輸入輸出驅動程式碼32之狀態資訊之記憶體要求的非同步設定碼34。非同步核心-巢狀結構介面14包含用於在本端完成之情況下轉遞資料的非同步核心-巢狀結構介面轉遞組件36。彙總緩衝器16包含用於在發送請求之後遞送自由再使用訊息的提早完成邏輯26。彙總緩衝器16經由非同步匯流排38耦接至非同步核心-巢狀結構介面14。非同步核心-巢狀結構介面14包含具有多個輸入輸出狀態緩衝器24之輸入輸出狀態陣列44以及陣列管理及存取邏輯46。輸入輸出狀態緩衝器24收集來自系統巢狀結構18及/或來自輸入輸出匯流排控制器20之傳回狀態,特定而言為來自系統巢狀結構18之完成訊息。輸入輸出狀態緩衝器24直接整合於非同步核心-巢狀結構介面14中。可由系統巢狀結構18接收具有陣列項目之識別碼的訊息48,例如至輸入輸出狀態緩衝器24中之一者的完成訊息。
系統韌體10包含陣列管理邏輯42,其分配/解除分配輸入輸出狀態陣列44中之輸入輸出狀態緩衝器24及/或起始新儲存指令30之開始。
根據本發明方法之實施例,在資料處理系統210上執行之作業系統發出輸入輸出儲存指令30,該輸入輸出儲存指令經由位址、待傳送之資料及/或指向待傳送之資料的指標及資料之長度來指定具有位移之至少一輸入輸出功能。資料處理單元216據此經組態以藉由在輸入輸出儲存指令30中指定之位址來識別輸入輸出功能。資料處理單元216經組態以驗證在位址空間上及客體執行個體層級上是否允許存取輸入輸出功能,該客體在資料處理系統210上執行。資料處理單元216經組態以在系統巢狀結構18中之輸入輸出儲存指令30的執行完成之前完成輸入輸出儲存指令30。系統韌體10經組態以:若在輸入輸出儲存指令30之非同步執行期間,資料處理單元216偵測到錯誤,則經由中斷通知作業系統傳輸失敗非同步執行之資料。屏障指令延遲儲存指令30之處理,直至所有先前儲存指令30已完成。
屏障指令限制至單一輸入輸出匯流排控制器20之儲存指令30的串列處理。屏障指令可進一步限制至單一輸入輸出功能、特定而言至單一外部輸入輸出裝置214之儲存指令30的串列處理。用於輸入輸出狀態陣列44之所有輸入輸出狀態緩衝器24的摘要查詢能力由陣列管理及存取邏輯46提供,從而傳回輸入輸出狀態緩衝器24之狀態的彙總資訊。
輸入輸出狀態緩衝器24收集來自系統巢狀結構18及/或來自輸入輸出匯流排控制器20之訊息狀態,特定而言為來自系統巢狀結構18之完成狀態。訊息狀態及/或完成狀態可有利地由輸入輸出狀態緩衝器索引編號。
輸入輸出儲存指令30在資料處理系統210中跨越架構邊界位於使用者介面40一側,該架構邊界分離系統硬體/韌體50與使用者側40。
因此,若源資料之長度超過八個位元組,則藉由輸入輸出儲存指令30經由使用提早完成訊息之非同步傳輸機制在多個資料封包中傳送資料至彙總緩衝器16,否則,在一個資料封包中傳送資料。
根據本發明資料處理系統之實施例的系統訊息包含以下各者中之一者:階層式實體目標位址;發起SMT執行緒或彙總緩衝器識別符;資料之長度;輸入輸出匯流排位址;或輸入輸出狀態緩衝器索引。
可如下文所描述有利地執行用於處理至多個外部裝置214之儲存指令30的排入佇列及排序語義。對於個別SMT執行緒與輸入輸出功能之關係,可相對於處理器單元216之單一執行緒來對所有舊有輸入輸出載入/儲存操作進行排序。新輸入輸出儲存指令彼此之間完全無序。相對於舊有輸入輸出指令來對新輸入輸出儲存指令進行排序。用於不同輸入輸出功能之所有輸入輸出指令相對於彼此不進行排序。
將兩種類型之額外排序指令添加至系統韌體10之規則集。首先為功能屏障,當屏障指令完成所有先前輸入輸出儲存指令已發送至此功能所駐留於的輸入輸出匯流排22時,自個別SMT執行緒之視角,功能屏障分離所有先前輸入輸出儲存指令與所有後續輸入輸出儲存指令。其次為輸入輸出SMT執行緒屏障指令,其在所有先前輸入輸出儲存指令已發送至用於彼SMT執行緒之輸入輸出匯流排22時完成。舉例而言,z系統開始解譯性執行(SIE)指令之輕型退出/進入對排序無影響,虛擬資料處理單元改變之完全SIE退出/進入由輸入輸出SMT執行緒屏障處理。
圖2描繪根據本發明之實施例的用於處理至外部裝置214之輸入輸出儲存指令30的方法之訊息序列圖。
如圖2中所展示,該方法開始於作業系統發出輸入輸出儲存指令30。在步驟S101中,系統韌體10分配自由輸入輸出狀態緩衝器索引。若無自由輸入輸出狀態緩衝器索引可用,則系統韌體10等待。在步驟S103中,系統韌體10檢查儲存指令是否可注入至非同步發送引擎中。若此注入為可能的,則程序繼續。若此注入不可能,則延遲儲存指令直至造成延遲之儲存指令已完成。
接下來,如由步驟S100及S104所指示,若資料之長度超過八個位元組,則系統韌體10重複地發出系統訊息以將資料封包發送至彙總緩衝器16,直至儲存區塊之所有資料已轉遞至彙總緩衝器16,同時系統韌體10等待直至資料已由系統訊息發送。在步驟S102及S106中,將本端完成訊息發送回至系統韌體10。
接著,在步驟S108中,系統韌體10將系統訊息發出至彙總緩衝器16以將資料作為單一巢狀結構訊息非同步地轉遞至輸入輸出匯流排控制器20,同時等待彙總緩衝器16發送完成訊息。
接下來,在步驟S110中,彙總緩衝器16將巢狀結構訊息注入至系統巢狀結構18中,其中彙總緩衝器16在發送操作之後立即自由再使用,從而發信回至系統韌體10。接著,彙總緩衝器16發送自由再使用訊息。
在步驟S112中,系統巢狀結構18將訊息轉遞至目標位置,其後接著步驟S114,輸入輸出匯流排控制器20接收訊息且將資料訊框中之資料轉遞至輸入輸出匯流排,其後接著在步驟S116中,輸入輸出匯流排控制器20將完成訊息發送至系統巢狀結構18。
接下來,在步驟S118中,系統巢狀結構18將完成訊息轉遞至發端彙總緩衝器16,其後接著在步驟S120中,彙總緩衝器16將完成轉遞至非同步核心-巢狀結構介面14。接著,在步驟S122中,非同步核心-巢狀結構介面14針對各別輸入輸出狀態緩衝器索引將狀態儲存於輸入輸出緩衝器24中,且將操作完成發信至系統韌體10。最後,在步驟S123中,系統韌體10藉由輸入輸出狀態緩衝器索引更新輸入輸出狀態緩衝器24追蹤。輸入輸出狀態緩衝器24現再次自由。
在資料傳送期間發生錯誤之狀況下,系統韌體10將缺陷非同步地發信至作業系統。
在待傳送之資料小於八個位元組的狀況下,跳過彙總緩衝器16之重複填充。
圖3描繪根據本發明之實施例的用於處理至外部裝置214之輸入輸出儲存指令30的流程圖之第一部分,而圖4描繪流程圖之第二部分。
資料處理單元之系統韌體在步驟S200中啟動。在步驟S202中,系統韌體經由訊息接收舊有輸入輸出儲存區塊指令。在步驟S208中,檢查是否存在未完成的新儲存指令30,其具有或不具有非同步回應。若為此狀況,則等待直至核心-巢狀結構介面14無更多的未完成非同步回應。若並非如此狀況,則程序緊接著以核心-巢狀結構介面14將舊有輸入輸出儲存指令30作為訊息來發送之步驟S212繼續。接著,系統等待(步驟S214),直至其在S216步驟中接收舊有回應訊息。接著,在步驟S218中,舊有儲存指令30以訊息完成,且系統韌體10在步驟S220中結束程序。
並列地,系統韌體10在步驟S204中藉由訊息接收新輸入輸出儲存指令30。在步驟S222中,檢查自由狀態時槽(亦即,輸入輸出狀態緩衝器24)是否可用。若為可用狀況,則在步驟S224中將該時槽標記為使用,且儲存程序以描繪於圖4中所描繪之流程圖之第二部分中的連接點A繼續。若並非如此狀況,則等待直至核心-巢狀結構介面14在步驟S226中具有可用自由時槽。
在步驟S206中,可接收非同步執行完成訊息,其後接著在步驟S228中,藉由各別輸入輸出狀態緩衝器索引更新時槽追蹤。接著,系統韌體10在步驟S230中結束程序。
在並列路徑中,系統韌體10在步驟S232中接收每儲存功能具有屏障指令之訊息。接下來,在步驟S234中檢查核心-巢狀結構介面狀態緩衝器24是否閒置。若為閒置狀況,則屏障指令在步驟S236中完成且系統韌體10在步驟S238中結束程序。若並非如此狀況,則系統韌體10在步驟S240中等待狀態緩衝器24之追蹤更新。若在步驟S242中狀態緩衝器24中之任一者對於功能仍為非閒置的,則廻圈以在步驟S240中等待繼續。若狀態緩衝器24中之任一者閒置,則程序以完成屏障指令之步驟S236繼續。
在步驟S244中接收屏障指令,其後接著在步驟S246中等待直至核心-巢狀結構介面14無更多的未完成非同步回應,其使用由陣列管理及存取邏輯46提供於核心-巢狀結構介面14中之摘要查詢能力。接著,屏障指令在步驟S248中完成,且系統韌體10在步驟S250中結束程序。
以連接點A開始之流程圖之第二部分描繪於圖4中。首先在步驟S304中,檢查是否待傳送大於8個位元組。若係如此狀況,則在步驟S306中,核心-巢狀結構介面藉由至多16個位元組訊息填充彙總緩衝器。系統韌體等待(步驟S308),直至在步驟S310中發送本端完成訊息,返回至步驟S304。若在步驟S304之檢查中剩餘小於8個位元組,則流程在步驟S312中以核心-巢狀結構介面發送非同步輸入輸出訊息繼續,其後接著在步驟S314中等待步驟S316中之緩衝器回應。接著,在步驟S318中,執行完成儲存區塊指令,且流程在步驟S320中以系統韌體中之結束而結束。
在步驟S328中,非同步核心-巢狀結構介面邏輯開始出埠程序廻圈,其後接著在步驟S322中接收彙總緩衝器完成訊息及在步驟S324中將資料訊息轉遞至彙總緩衝器,其後接著在步驟S326中將完成訊息發送回至系統韌體。在步驟S330中,接收非同步輸入輸出發送訊息,其後接著將輸入輸出發送訊息轉遞至彙總緩衝器。
在步驟S338中,彙總緩衝邏輯開始出埠程序廻圈,其後接著在步驟S334中接收資料及在步驟S336中,在彙總緩衝器中彙總資料。在步驟S340中,彙總緩衝器亦接收輸入輸出發送訊息,其後接著在步驟S342中,藉由輸入輸出發送訊息自彙總緩衝器轉遞資料。接下來,在步驟S344中,經由核心-巢狀結構介面將回應訊息自彙總緩衝器發送至系統韌體。
現參看圖5,展示資料處理系統210之實例的示意圖。資料處理系統210僅為合適的資料處理系統之一個實例,且並不意欲暗示對本文中所描述之本發明之實施例的使用或功能性之範疇的任何限制。無論如何,資料處理系統210能夠經實施及/或執行上文所闡述之功能性中之任一者。
在資料處理系統210中,存在電腦系統/伺服器212,其可與眾多其他通用或專用計算系統環境或組態一起操作。可能適合與電腦系統/伺服器212一起使用之熟知計算系統、環境及/或組態的實例包括但不限於:個人電腦系統、伺服器電腦系統、精簡型用戶端、複雜型用戶端、手持型或膝上型電腦裝置、多處理器系統、基於微處理器之系統、機上盒、可程式化消費型電子裝置、網路PC、小型電腦系統、大型電腦系統及包括以上系統或裝置中之任一者的分散式雲端計算環境,以及其類似者。
可在正由電腦系統執行之電腦系統可執行指令(諸如,程式模組)之一般內容背景下描述電腦系統/伺服器212。一般而言,程式模組可包括執行特定任務或實施特定抽象資料類型之常式、程式、物件、組件、邏輯、資料結構等。可在分散式雲端計算環境中實踐電腦系統/伺服器212,其中由經由通信網路而鏈接之遠端處理裝置執行任務。在分散式雲端計算環境中,程式模組可位於包括記憶體儲存裝置的本端及遠端電腦系統儲存媒體兩者中。
如圖5中所展示,以通用計算裝置之形式展示資料處理系統210中之電腦系統/伺服器212。電腦系統/伺服器212之組件可包括但不限於一或多個處理器或處理單元216、系統記憶體228及匯流排218,該匯流排將包括系統記憶體228之各種系統組件耦接至處理器216。
匯流排218表示任何幾種類型之匯流排結構中之一或多者,包括記憶體匯流排或記憶體控制器、周邊匯流排、加速圖形埠及使用多種匯流排架構中之任一者之處理器或本端匯流排。作為實例而非限制,此類架構包括工業標準架構(ISA)匯流排、微通道架構(MCA)匯流排、增強型ISA(EISA)匯流排、視訊電子標準協會(VESA)本端匯流排及周邊組件互連(PCI)匯流排。
電腦系統/伺服器212通常包括多種電腦系統可讀媒體。此類媒體可為可由電腦系統/伺服器212存取之任何可用媒體,且其包括揮發性及非揮發性媒體、抽取式及非抽取式媒體。
系統記憶體228可包括呈揮發性記憶體之形式的電腦系統可讀媒體,諸如隨機存取記憶體(RAM) 230及/或快取記憶體232。電腦系統/伺服器212可進一步包括其他抽取式/非抽取式、揮發性/非揮發性電腦系統儲存媒體。僅作為實例,可提供儲存系統234以用於自非抽取式、非揮發性磁性媒體(圖中未展示且通常被稱為「硬碟機」)讀取及寫入至非抽取式、非揮發性磁性媒體。儘管未展示,但可提供用於自抽取式、非揮發性磁碟(例如,「軟碟」)讀取及寫入至抽取式、非揮發性磁碟之磁碟機,及用於自抽取式、非揮發性光碟(諸如,CD-ROM、DVD-ROM或其他光學媒體)讀取及寫入至抽取式、非揮發性光碟之光碟機。在此等情況下,每一者可藉由一或多個資料媒體介面連接至匯流排218。如下文將進一步描繪及描述,記憶體228可包括具有經組態以進行本發明之實施例之功能的一組(例如,至少一個)程式模組之至少一個程式產品。
作為實例而非限制,具有一組(至少一個)程式模組242之程式/公用程式240以及作業系統、一或多個應用程式、其他程式模組及程式資料可儲存於記憶體228中。作業系統、一或多個應用程式、其他程式模組及程式資料或其某一組合中之每一者可包括網路連接環境之實施。程式模組242通常進行如本文中所描述之本發明之實施例的功能及/或方法。
電腦系統/伺服器212亦可與以下各者通信:諸如鍵盤、指標裝置、顯示器224等之一或多個外部裝置214;使得使用者能夠與電腦系統/伺服器212互動之一或多個裝置;及/或使得電腦系統/伺服器212能夠與一或多個其他計算裝置通信的任何裝置(例如,網路卡、數據機等)。此通信可經由輸入輸出(I/O)介面222發生。再另外,電腦系統/伺服器212可經由網路配接器220與諸如區域網路(LAN)、通用廣域網路(WAN)及/或公用網路(例如,網際網路)之一或多個網路通信。如所描繪,網路配接器220經由匯流排218與電腦系統/伺服器212之其他組件通信。應理解,儘管未展示,但可結合電腦系統/伺服器212使用其他硬體及/或軟體組件。實例包括但不限於:微碼、裝置驅動程式、冗餘處理單元、外部磁碟機陣列、RAID系統、磁帶機及資料存檔儲存系統等。
本發明可為系統、方法及/或電腦程式產品。該電腦程式產品可包括一(或多個)電腦可讀儲存媒體,其上具有電腦可讀程式指令以使處理器進行本發明之態樣。
電腦可讀儲存媒體可為有形裝置,其可持留及儲存指令以供指令執行裝置使用。電腦可讀儲存媒體可為例如但不限於電子儲存裝置、磁性儲存裝置、光學儲存裝置、電磁儲存裝置、半導體儲存裝置或前述各者之任何合適組合。電腦可讀儲存媒體之更特定實例的非窮盡性清單包括以下各者:攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可程式化唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、攜帶型光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)、記憶棒、軟碟、機械編碼裝置(諸如,上面記錄有指令之凹槽中之打孔卡片或凸起結構)及前述各者之任何合適組合。如本文中所使用,不應將電腦可讀儲存媒體本身解釋為暫時性信號,諸如無線電波或其他自由傳播之電磁波、經由波導或其他傳輸媒體傳播之電磁波(例如,經由光纖纜線傳遞之光脈衝),或經由導線傳輸之電信號。
本文中所描述之電腦可讀程式指令可自電腦可讀儲存媒體下載至各別計算/處理裝置或經由網路(例如,網際網路、區域網路、廣域網路及/或無線網路)下載至外部電腦或外部儲存裝置。網路可包含銅傳輸纜線、光學傳輸光纖、無線傳輸、路由器、防火牆、交換器、閘道器電腦及/或邊緣伺服器。每一計算/處理裝置中之網路配接卡或網路介面自網路接收電腦可讀程式指令且轉遞電腦可讀程式指令以用於儲存於各別計算/處理裝置內之電腦可讀儲存媒體中。
用於進行本發明之操作之電腦可讀程式指令可為以一或多種程式設計語言之任何組合編寫之組譯器指令、指令集架構(ISA)指令、機器指令、機器相關指令、微碼、韌體指令、狀態設定資料,或原始程式碼或目標程式碼,該一或多種程式設計語言包括諸如Smalltalk、C++或其類似者之物件導向式程式設計語言,及習知程序性程式設計語言,諸如「C」程式設計語言或類似程式設計語言。電腦可讀程式指令可完全在使用者電腦上執行,作為單獨套裝軟體部分地在使用者之電腦上執行,部分地在使用者之電腦上及部分地在遠端電腦上執行或完全在遠端電腦或伺服器上執行。在後一情形中,遠端電腦可經由任何類型之網路(包括區域網路(LAN)或廣域網路(WAN))連接至使用者之電腦,或可連接至外部電腦(例如,使用網際網路服務提供者經由網際網路)。在一些實施例中,電子電路系統(包括例如可程式化邏輯電路系統、場可程式化閘陣列(FPGA)或可程式化邏輯陣列(PLA))可藉由利用電腦可讀程式指令之狀態資訊來個人化電子電路系統而執行電腦可讀程式指令,以便執行本發明之態樣。
本文參考根據本發明之實施例之方法、設備(系統)及電腦程式產品之流程圖說明及/或方塊圖來描述本發明之態樣。應理解,可藉由電腦可讀程式指令實施流程圖說明及/或方塊圖中之每一區塊,及流程圖說明及/或方塊圖中的區塊之組合。
可將此等電腦可讀程式指令提供至通用電腦、專用電腦或其他可程式化資料處理設備之處理器以產生機器,使得經由該電腦或其他可程式化資料處理設備之處理器執行之指令建立用於實施該一或多個流程圖及/或方塊圖區塊中所指定之功能/動作之構件。亦可將此等電腦可讀程式指令儲存於電腦可讀儲存媒體中,該等指令可指導電腦、可程式化資料處理設備及/或其他裝置以特定方式起作用,使得儲存有指令之電腦可讀儲存媒體包含製品,該製品包括實施在該一或多個流程圖及/或方塊圖區塊中指定之功能/動作之態樣的指令。
電腦可讀程式指令亦可載入至電腦、其他可程式化資料處理設備或其他裝置上,以使一系列操作步驟在該電腦、其他可程式化設備或其他裝置上執行以產生電腦實施之處理程序,使得在該電腦、其他可程式化設備或其他裝置上執行之指令實施在該一或多個流程圖及/或方塊圖區塊中所指定之功能/動作。
諸圖中之流程圖及方塊圖說明根據本發明之各種實施例的系統、方法及電腦程式產品之可能實施之架構、功能性及操作。就此而言,流程圖或方塊圖中之每一區塊可表示指令之模組、區段或部分,其包含用於實施指定邏輯功能之一或多個可執行指令。在一些替代實施中,區塊中所提及之功能可不按諸圖中所提及之次序發生。舉例而言,以連續方式展示的兩個區塊實際上可實質上同時執行,或該等區塊有時可以相反次序執行,此取決於所涉及的功能性。亦應注意,可由執行指定功能或動作或進行專用硬體及電腦指令之組合的基於專用硬體之系統實施方塊圖及/或流程圖說明之每一區塊及方塊圖及/或流程圖說明中之區塊的組合。
已出於說明之目的呈現本發明之各種實施例的描述,但該等描述並不意欲為詳盡的或限於所揭示之實施例。在不脫離所描述實施例之範疇及精神的情況下,一般熟習此項技術者將顯而易見許多修改及變化。本文中所使用之術語經選擇以最佳解釋實施例之原理、實際應用或對市場中發現的技術之技術改良,或使得其他一般熟習此項技術者能夠理解本文中所揭示之實施例。
10:系統韌體
12:核心
14:非同步核心-巢狀結構介面
16:彙總緩衝器
18:系統巢狀結構
20:輸入輸出匯流排控制器
22:輸入輸出匯流排
24:輸入輸出狀態緩衝器
26:提早完成邏輯
28:緩衝器-輸入輸出匯流排控制器介面
30:輸入輸出儲存指令
32:非同步輸入輸出驅動程式碼
34:非同步設定碼/輸入輸出設定碼
36:非同步核心-巢狀結構介面轉遞組件
38:非同步匯流排
40:使用者介面/使用者側
42:陣列管理邏輯
44:輸入輸出狀態陣列
46:陣列管理及存取邏輯
48:具有陣列項目之識別碼的訊息
50:系統硬體/韌體
210:資料處理系統
212:電腦系統/伺服器
214:外部裝置
216:CPU/資料處理單元/處理器
218:I/O匯流排
220:網路配接器
222:輸入輸出(I/O)介面
224:顯示器
228:系統記憶體
230:隨機存取記憶體(RAM)
232:快取記憶體
234:儲存系統
240:程式/公用程式
242:程式模組
本發明連同上文所提及之目標及優點以及其他目標及優點可自實施例之以下實施方式最佳地理解,但不限於該等實施例。
圖1描繪根據本發明之實施例的用於處理至外部裝置之輸入輸出儲存指令的資料處理系統之方塊圖。
圖2描繪根據本發明之實施例的用於處理至外部裝置之輸入輸出儲存指令的方法之訊息序列圖。
圖3描繪根據本發明之實施例的用於處理至外部裝置之輸入輸出儲存指令的流程圖之第一部分。
圖4描繪根據本發明之實施例的用於處理至外部裝置之輸入輸出儲存指令的流程圖之第二部分。
圖5描繪根據本發明之用於執行方法的資料處理系統之實例實施例。
10:系統韌體
14:非同步核心-巢狀結構介面
16:彙總緩衝器
18:系統巢狀結構
20:輸入輸出匯流排控制器
S100:步驟
S101:步驟
S102:步驟
S103:步驟
S104:步驟
S106:步驟
S108:步驟
S110:步驟
S112:步驟
S114:步驟
S116:步驟
S118:步驟
S120:步驟
S122:步驟
S123:步驟
Claims (25)
- 一種資料處理系統(210),其用於處理一輸入輸出儲存指令(30),該資料處理系統包含藉由一輸入輸出匯流排控制器(20)通信耦接至至少一個輸入輸出匯流排(22)之一系統巢狀結構(18), 其進一步至少包含: 一資料處理單元(216),其包含一核心(12)、一系統韌體(10)及一非同步核心-巢狀結構介面(14), 其中該資料處理單元(216)經由一彙總緩衝器(16)通信耦接至該系統巢狀結構(18), 其中該系統巢狀結構(18)經組態以非同步地自通信耦接至該輸入輸出匯流排(22)之至少一個外部裝置(214)載入資料及/或將資料儲存至該至少一個外部裝置, 其中該非同步核心-巢狀結構介面(14)包含具有多個輸入輸出狀態緩衝器(24)之一輸入輸出狀態陣列(44)、一陣列管理及存取邏輯(46), 且其中 (i) 在該資料處理系統(210)上執行之一作業系統發出該輸入輸出儲存指令(30),該輸入輸出儲存指令經由一位址、待傳送之資料及/或指向待傳送之資料的一指標及該資料之一長度來指定具有一位移之至少一輸入輸出功能; (ii) 該資料處理單元(216)經組態以藉由在該輸入輸出儲存指令(30)中指定之該位址來識別該輸入輸出功能; (iii) 該資料處理單元(216)經組態以驗證在一位址空間上及一客體執行個體層級上是否允許存取該輸入輸出功能,該客體在該資料處理系統(210)上執行; (iv) 該資料處理單元(216)經組態以在該系統巢狀結構(18)中之該輸入輸出儲存指令(30)的一執行完成之前完成該輸入輸出儲存指令(30); (v) 該系統韌體(10)經組態以:若在該輸入輸出儲存指令(30)之非同步執行期間,該資料處理單元(216)偵測到一錯誤,則經由一中斷通知該作業系統; (vi) 一屏障指令延遲一儲存指令(30)之一處理,直至所有先前儲存指令(30)已完成。
- 如請求項1之資料處理系統,其中該屏障指令限制至一單一輸入輸出匯流排控制器(20)之儲存指令(30)的一串列處理。
- 如請求項1之資料處理系統,其中該屏障指令限制至一單一輸入輸出功能、特定而言至一單一外部輸入輸出裝置(214)之儲存指令(30)的一串列處理。
- 如請求項1或2之資料處理系統,其中用於該輸入輸出狀態陣列(44)之所有輸入輸出狀態緩衝器(24)的一摘要查詢能力係由一陣列管理及存取邏輯(46)提供,從而傳回該等輸入輸出狀態緩衝器(24)之一狀態的彙總資訊。
- 如請求項1之資料處理系統,其中該系統韌體(10)包含一陣列管理邏輯(42),其分配/解除分配該輸入輸出狀態陣列(44)中之輸入輸出狀態緩衝器(24)及/或起始一新儲存指令(30)之一開始。
- 如請求項1至3中任一項之資料處理系統,該彙總緩衝器(16)經由一非同步匯流排(38)通信耦接至該非同步核心-巢狀結構介面(14)。
- 如請求項1至3中任一項之資料處理系統,其中若該資料之該長度超過八個位元組,則藉由該輸入輸出儲存指令(30)經由使用一提早完成訊息之一非同步傳輸機制在多個資料封包中傳送該資料至該彙總緩衝器(16),否則,在一個資料封包中傳送該資料。
- 如請求項1至3中任一項之資料處理系統,該系統韌體(10)包含用於處理該輸入輸出儲存指令(30)之一非同步輸入輸出驅動程式碼(32),及/或該核心(12)包含用於處理對該非同步輸入輸出驅動程式碼(32)之狀態資訊之記憶體要求的一非同步設定碼(34)。
- 如請求項1至3中任一項之資料處理系統,該非同步核心-巢狀結構介面(14)包含用於在本端完成之情況下轉遞該資料的一非同步核心-巢狀結構介面轉遞組件(36)。
- 如請求項1至3中任一項之資料處理系統,該彙總緩衝器(16)包含用於在發送一請求之後遞送一自由再使用訊息的一提早完成邏輯(26)。
- 如請求項1至3中任一項之資料處理系統,一系統訊息包含以下各者中之一者: 一階層式實體目標位址, 發起一SMT執行緒或一彙總緩衝器識別符, 資料之一長度, 一輸入輸出匯流排位址, 一輸入輸出狀態緩衝器索引。
- 一種用於處理至一資料處理系統(210)之至少一個外部裝置(214)之一輸入輸出儲存指令(30)的方法,該資料處理系統(210)包含: 一系統巢狀結構(10),其藉由一輸入輸出匯流排控制器(20)通信耦接至至少一個輸入輸出匯流排(22), 且其進一步至少包含一資料處理單元(216),其包含一核心(12)、一系統韌體(10)及一非同步核心-巢狀結構介面(14), 其中該資料處理單元(216)經由一彙總緩衝器(16)通信耦接至該系統巢狀結構(18), 其中該外部裝置(214)通信耦接至該輸入輸出匯流排(22), 其中該非同步核心-巢狀結構介面(14)包含具有多個輸入輸出狀態緩衝器(24)之一輸入輸出狀態陣列(44),及一陣列管理及存取邏輯(46), 該方法包含: (i) 在該資料處理系統(210)上執行之一作業系統發出該輸入輸出儲存指令(30),該輸入輸出儲存指令經由一位址、待傳送之資料及/或指向待傳送之資料的一指標及該資料之一長度來指定具有一位移之至少一輸入輸出功能; (ii) 該資料處理單元(216)經組態以藉由在該輸入輸出儲存指令(30)中指定之該位址來識別該輸入輸出功能; (iii) 該資料處理單元(216)經組態以驗證在一位址空間上及一客體執行個體層級上是否允許存取該輸入輸出功能,該客體在該資料處理系統(210)上執行; (iv) 該資料處理單元(216)經組態以在該系統巢狀結構(18)中之該輸入輸出儲存指令(30)的一執行完成之前完成該輸入輸出儲存指令(30); (v) 該系統韌體(10)經組態以:若在該輸入輸出儲存指令(30)之非同步執行期間,該資料處理單元(216)偵測到一錯誤,則經由一中斷通知該作業系統; (vi) 一屏障指令延遲一儲存指令(30)之一處理,直至所有先前儲存指令(30)已完成。
- 如請求項12之方法,該屏障指令限制至一單一輸入輸出匯流排控制器(20)之儲存指令(30)的一串列處理。
- 如請求項12之方法,該屏障指令限制至一單一輸入輸出功能、特定而言至一單一外部輸入輸出裝置(214)之儲存指令(30)的一串列處理。
- 如請求項12至14中任一項之方法,用於該輸入輸出狀態陣列(44)之所有輸入輸出狀態緩衝器(24)的一摘要查詢能力係由一陣列管理及存取邏輯(46)提供,從而傳回該等輸入輸出狀態緩衝器(24)之一狀態的彙總資訊。
- 如請求項12至14中任一項之方法,該系統韌體(10)包含一陣列管理邏輯(42),其分配/解除分配該輸入輸出狀態陣列(44)中之輸入輸出狀態緩衝器(24)及/或起始一新儲存指令(30)之一開始。
- 如請求項12至14中任一項之方法,其進一步包含: (i) 該作業系統發出該輸入輸出儲存指令(30); (ii) 該系統韌體(10)分配一自由輸入輸出狀態緩衝器索引;若無自由輸入輸出狀態緩衝器索引可用,則等待一自由輸入輸出狀態緩衝器索引; (iii) 該系統韌體(10)將該儲存指令(30)注入至非同步發送引擎中;若被另一儲存指令封鎖,則等待直至該儲存指令已完成; (iv) 取決於該資料之該長度:若該資料之一長度超過八個位元組,則該系統韌體(10)重複地發出一系統訊息以將一資料封包發送至該彙總緩衝器(16),直至一儲存區塊之所有資料已轉遞至該彙總緩衝器(16),同時該系統韌體(10)等待直至該資料已由該系統訊息發送;否則 該系統韌體(10)發出一系統訊息以將該資料發送至該彙總緩衝器(16); (v) 該系統韌體(10)將一系統訊息發出至該彙總緩衝器(16)以將該資料作為單一巢狀結構訊息非同步地轉遞至該輸入輸出匯流排控制器(20),同時等待該彙總緩衝器(16)發送一完成訊息; (vi) 該彙總緩衝器(16)將該巢狀結構訊息注入至該系統巢狀結構(18)中,其中該彙總緩衝器(16)在發送操作之後立即自由再使用,從而發信回至該系統韌體(10);接著該彙總緩衝器(16)發送一自由再使用訊息; (vii) 該系統巢狀結構(18)將該訊息轉遞至目標位置; (viii) 該輸入輸出匯流排控制器(20)接收該訊息且將一資料訊框中之資料轉遞至該輸入輸出匯流排; (ix) 該輸入輸出匯流排控制器(20)將一完成訊息發送至該系統巢狀結構(18); (x) 該系統巢狀結構(18)將該完成訊息轉遞至發端彙總緩衝器(16); (xi) 該彙總緩衝器(16)將完成轉遞至該非同步核心-巢狀結構介面(14); (xii) 該非同步核心-巢狀結構介面(14)針對該輸入輸出狀態緩衝器索引將完成狀態儲存於該輸入輸出狀態緩衝器(24)中,且將操作完成發信至該系統韌體(10); (xiii) 該系統韌體(10)藉由該輸入輸出狀態緩衝器索引更新一輸入輸出狀態緩衝器追蹤; (xiv) 該系統韌體(10)在一錯誤之狀況下將缺陷非同步地發信至該作業系統。
- 如請求項12至14中任一項之方法,若該資料之該長度超過八個位元組,則進一步藉由該輸入輸出儲存指令(30)經由使用一提早完成訊息之一非同步傳輸機制在多個資料封包中將該資料傳送至該彙總緩衝器(16)。
- 如請求項12至14中任一項之方法,該系統韌體(10)進一步使用用於處理該輸入輸出儲存指令(30)之一非同步輸入輸出驅動程式碼(32)。
- 如請求項19之方法,該核心(12)進一步使用用於處理對該非同步輸入輸出驅動程式碼(32)之狀態資訊之記憶體要求的一非同步設定碼(34)。
- 如請求項12至14中任一項之方法,該非同步核心-巢狀結構介面(14)進一步使用用於在本端完成之情況下轉遞該資料的一非同步核心-巢狀結構介面轉遞組件(36)。
- 如請求項12至14中任一項之方法,該彙總緩衝器(16)進一步使用用於在發送一請求之後遞送一自由再使用訊息的一提早完成邏輯(26)。
- 如請求項12至14中任一項之方法,其中一系統訊息包含以下各者中之一者: 一階層式實體目標位址, 發起一SMT執行緒或一彙總緩衝器識別符, 資料之一長度, 一輸入輸出匯流排位址, 一輸入輸出狀態緩衝器索引。
- 一種用於處理至一資料處理系統(210)之至少一個外部裝置(214)之一輸入輸出儲存指令(30)的電腦程式產品,該資料處理系統(210)包含: 一系統巢狀結構(10),其藉由一輸入輸出匯流排控制器(20)通信耦接至至少一個輸入輸出匯流排(22), 且其進一步至少包含一資料處理單元(216),其包含一核心(12)、一系統韌體(10)及一非同步核心-巢狀結構介面(14), 其中該資料處理單元(216)經由一彙總緩衝器(16)通信耦接至該系統巢狀結構(18), 其中該外部裝置(214)通信耦接至該輸入輸出匯流排(22), 其中該非同步核心-巢狀結構介面(14)包含具有多個輸入輸出狀態緩衝器(24)之一輸入輸出狀態陣列(44)、一陣列管理及存取邏輯(46), 該電腦程式產品包含一電腦可讀儲存媒體,其具有與其一起體現之程式指令,該等程式指令可由該電腦系統(212)執行以使得該電腦系統(212)執行一種方法,該方法包含: (i) 在該資料處理系統(210)上執行之一作業系統發出該輸入輸出儲存指令(30),該輸入輸出儲存指令經由一位址、待傳送之資料及/或指向待傳送之資料的一指標及該資料之一長度來指定具有一位移之至少一輸入輸出功能; (ii) 該資料處理單元(216)經組態以藉由在該輸入輸出儲存指令(30)中指定之該位址來識別該輸入輸出功能; (iii) 該資料處理單元(216)經組態以驗證在一位址空間上及一客體執行個體層級上是否允許存取該輸入輸出功能,該客體在該資料處理系統(210)上執行; (iv) 該資料處理單元(216)經組態以在該系統巢狀結構(18)中之該輸入輸出儲存指令(30)的一執行完成之前完成該輸入輸出儲存指令(30); (v) 該系統韌體(10)經組態以:若在該輸入輸出儲存指令(30)之非同步執行期間,該資料處理單元(216)偵測到一錯誤,則經由一中斷通知該作業系統; (vi) 一屏障指令延遲一儲存指令(30)之一處理,直至所有先前儲存指令(30)已完成。
- 一種用於執行一資料處理程式(240)之資料處理系統(210),該資料處理程式包含用於執行一如請求項12至23中任一項之方法的電腦可讀程式指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19154737.1 | 2019-01-31 | ||
EP19154737 | 2019-01-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202046094A true TW202046094A (zh) | 2020-12-16 |
TWI767175B TWI767175B (zh) | 2022-06-11 |
Family
ID=65275984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109101030A TWI767175B (zh) | 2019-01-31 | 2020-01-13 | 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品 |
Country Status (10)
Country | Link |
---|---|
US (1) | US11334503B2 (zh) |
EP (1) | EP3918468A1 (zh) |
JP (1) | JP7479373B2 (zh) |
CN (1) | CN113366434A (zh) |
AU (1) | AU2020213829B2 (zh) |
CA (1) | CA3127840A1 (zh) |
IL (1) | IL283865B1 (zh) |
MX (1) | MX2021009159A (zh) |
TW (1) | TWI767175B (zh) |
WO (1) | WO2020156798A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11522883B2 (en) | 2020-12-18 | 2022-12-06 | Dell Products, L.P. | Creating and handling workspace indicators of compromise (IOC) based upon configuration drift |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI773959B (zh) | 2019-01-31 | 2022-08-11 | 美商萬國商業機器公司 | 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品 |
TWI767175B (zh) | 2019-01-31 | 2022-06-11 | 美商萬國商業機器公司 | 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品 |
JP7324282B2 (ja) | 2019-01-31 | 2023-08-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出力ストア命令をハンドリングする方法、システム、およびプログラム |
WO2020156797A1 (en) | 2019-01-31 | 2020-08-06 | International Business Machines Corporation | Handling an input/output store instruction |
US11893407B2 (en) * | 2020-09-24 | 2024-02-06 | Red Hat, Inc. | Overlay container storage driver for microservice workloads |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2273317B1 (zh) * | 1974-05-28 | 1976-10-15 | Philips Electrologica | |
US4947316A (en) * | 1983-12-29 | 1990-08-07 | International Business Machines Corporation | Internal bus architecture employing a simplified rapidly executable instruction set |
US5131081A (en) | 1989-03-23 | 1992-07-14 | North American Philips Corp., Signetics Div. | System having a host independent input/output processor for controlling data transfer between a memory and a plurality of i/o controllers |
US5548735A (en) | 1993-09-15 | 1996-08-20 | International Business Machines Corporation | System and method for asynchronously processing store instructions to I/O space |
US5553302A (en) * | 1993-12-30 | 1996-09-03 | Unisys Corporation | Serial I/O channel having independent and asynchronous facilities with sequence recognition, frame recognition, and frame receiving mechanism for receiving control and user defined data |
JPH07302200A (ja) * | 1994-04-28 | 1995-11-14 | Hewlett Packard Co <Hp> | 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。 |
US5548788A (en) * | 1994-10-27 | 1996-08-20 | Emc Corporation | Disk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory |
US6038646A (en) * | 1998-01-23 | 2000-03-14 | Sun Microsystems, Inc. | Method and apparatus for enforcing ordered execution of reads and writes across a memory interface |
US6247097B1 (en) | 1999-01-22 | 2001-06-12 | International Business Machines Corporation | Aligned instruction cache handling of instruction fetches across multiple predicted branch instructions |
US6189088B1 (en) | 1999-02-03 | 2001-02-13 | International Business Machines Corporation | Forwarding stored dara fetched for out-of-order load/read operation to over-taken operation read-accessing same memory location |
US6725348B1 (en) * | 1999-10-13 | 2004-04-20 | International Business Machines Corporation | Data storage device and method for reducing write misses by completing transfer to a dual-port cache before initiating a disk write of the data from the cache |
US6490647B1 (en) * | 2000-04-04 | 2002-12-03 | International Business Machines Corporation | Flushing stale data from a PCI bus system read prefetch buffer |
US7042881B1 (en) * | 2001-06-29 | 2006-05-09 | Cisco Technology, Inc. | Asynchronous transfer mode system and method to verify a connection |
US7178019B2 (en) | 2003-11-13 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | Networked basic input output system read only memory |
US7234004B2 (en) | 2003-12-19 | 2007-06-19 | International Business Machines Corporation | Method, apparatus and program product for low latency I/O adapter queuing in a computer system |
US7200626B1 (en) * | 2004-01-22 | 2007-04-03 | Unisys Corporation | System and method for verification of a quiesced database copy |
US7079978B2 (en) * | 2004-05-24 | 2006-07-18 | International Business Machines Corporation | Apparatus, system, and method for abbreviated library calibration |
US7631097B2 (en) | 2005-07-21 | 2009-12-08 | National Instruments Corporation | Method and apparatus for optimizing the responsiveness and throughput of a system performing packetized data transfers using a transfer count mark |
US7827433B1 (en) | 2007-05-16 | 2010-11-02 | Altera Corporation | Time-multiplexed routing for reducing pipelining registers |
US7870351B2 (en) * | 2007-11-15 | 2011-01-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesses |
US7991981B2 (en) * | 2008-02-01 | 2011-08-02 | International Business Machines Corporation | Completion of asynchronous memory move in the presence of a barrier operation |
US7941627B2 (en) * | 2008-02-01 | 2011-05-10 | International Business Machines Corporation | Specialized memory move barrier operations |
JP4623126B2 (ja) * | 2008-04-14 | 2011-02-02 | 株式会社日立製作所 | データ処理システム |
US8121032B2 (en) | 2008-05-30 | 2012-02-21 | Cisco Technology, Inc. | Efficient convergence of grouped VPN prefixes |
US8867344B2 (en) | 2008-07-21 | 2014-10-21 | Mediatek Inc. | Methods for bus data transmission and systems utilizing the same |
US8650335B2 (en) * | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Measurement facility for adapter functions |
US8566480B2 (en) * | 2010-06-23 | 2013-10-22 | International Business Machines Corporation | Load instruction for communicating with adapters |
US9652230B2 (en) * | 2013-10-15 | 2017-05-16 | Mill Computing, Inc. | Computer processor employing dedicated hardware mechanism controlling the initialization and invalidation of cache lines |
US10120681B2 (en) * | 2014-03-14 | 2018-11-06 | International Business Machines Corporation | Compare and delay instructions |
US9460019B2 (en) * | 2014-06-26 | 2016-10-04 | Intel Corporation | Sending packets using optimized PIO write sequences without SFENCEs |
US9477481B2 (en) | 2014-06-27 | 2016-10-25 | International Business Machines Corporation | Accurate tracking of transactional read and write sets with speculation |
US10489158B2 (en) * | 2014-09-26 | 2019-11-26 | Intel Corporation | Processors, methods, systems, and instructions to selectively fence only persistent storage of given data relative to subsequent stores |
US9542201B2 (en) | 2015-02-25 | 2017-01-10 | Quanta Computer, Inc. | Network bios management |
PL3812900T3 (pl) * | 2016-12-31 | 2024-04-08 | Intel Corporation | Systemy, sposoby i aparaty do obliczania heterogenicznego |
US10452278B2 (en) * | 2017-03-24 | 2019-10-22 | Western Digital Technologies, Inc. | System and method for adaptive early completion posting using controller memory buffer |
US10606591B2 (en) | 2017-10-06 | 2020-03-31 | International Business Machines Corporation | Handling effective address synonyms in a load-store unit that operates without address translation |
WO2020156797A1 (en) | 2019-01-31 | 2020-08-06 | International Business Machines Corporation | Handling an input/output store instruction |
TWI767175B (zh) | 2019-01-31 | 2022-06-11 | 美商萬國商業機器公司 | 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品 |
JP7324282B2 (ja) | 2019-01-31 | 2023-08-09 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出力ストア命令をハンドリングする方法、システム、およびプログラム |
TWI773959B (zh) | 2019-01-31 | 2022-08-11 | 美商萬國商業機器公司 | 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品 |
-
2020
- 2020-01-13 TW TW109101030A patent/TWI767175B/zh active
- 2020-01-14 JP JP2021534814A patent/JP7479373B2/ja active Active
- 2020-01-14 CN CN202080011289.0A patent/CN113366434A/zh active Pending
- 2020-01-14 IL IL283865A patent/IL283865B1/en unknown
- 2020-01-14 MX MX2021009159A patent/MX2021009159A/es unknown
- 2020-01-14 EP EP20700595.0A patent/EP3918468A1/en active Pending
- 2020-01-14 AU AU2020213829A patent/AU2020213829B2/en active Active
- 2020-01-14 CA CA3127840A patent/CA3127840A1/en active Pending
- 2020-01-14 WO PCT/EP2020/050760 patent/WO2020156798A1/en unknown
- 2020-01-29 US US16/775,716 patent/US11334503B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11522883B2 (en) | 2020-12-18 | 2022-12-06 | Dell Products, L.P. | Creating and handling workspace indicators of compromise (IOC) based upon configuration drift |
TWI793667B (zh) * | 2020-12-18 | 2023-02-21 | 美商戴爾產品有限公司 | 基於組態漂移創建及處置工作空間失陷指標(ioc) |
Also Published As
Publication number | Publication date |
---|---|
EP3918468A1 (en) | 2021-12-08 |
CA3127840A1 (en) | 2020-08-06 |
US20200250112A1 (en) | 2020-08-06 |
US11334503B2 (en) | 2022-05-17 |
AU2020213829A1 (en) | 2021-05-20 |
WO2020156798A1 (en) | 2020-08-06 |
MX2021009159A (es) | 2021-09-10 |
IL283865A (en) | 2021-07-29 |
CN113366434A (zh) | 2021-09-07 |
TWI767175B (zh) | 2022-06-11 |
AU2020213829B2 (en) | 2022-09-15 |
JP7479373B2 (ja) | 2024-05-08 |
IL283865B1 (en) | 2024-03-01 |
JP2022518351A (ja) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202046094A (zh) | 處理輸入輸出儲存指令 | |
TW202032378A (zh) | 處理輸入輸出儲存指令 | |
CN113366457B (zh) | 处理输入/输出存储指令 | |
JP7379491B2 (ja) | 入出力ストア命令をハンドリングする方法、システム、およびプログラム | |
US8874638B2 (en) | Interactive analytics processing | |
US8495261B2 (en) | Redispatching suspended tasks after completion of I/O operations absent I/O interrupts | |
CN109739799A (zh) | 异构多核处理器的数据交互方法、异构多核处理器和终端 | |
US9898227B2 (en) | Synchronous input/output virtualization |