TWI384363B - 廣播寫入作業之系統、方法及電腦程式產品 - Google Patents

廣播寫入作業之系統、方法及電腦程式產品 Download PDF

Info

Publication number
TWI384363B
TWI384363B TW097122788A TW97122788A TWI384363B TW I384363 B TWI384363 B TW I384363B TW 097122788 A TW097122788 A TW 097122788A TW 97122788 A TW97122788 A TW 97122788A TW I384363 B TWI384363 B TW I384363B
Authority
TW
Taiwan
Prior art keywords
write
job
slot
broadcast
targets
Prior art date
Application number
TW097122788A
Other languages
English (en)
Other versions
TW200907674A (en
Inventor
Keith Langendorf Brian
P Reilley James
Ranjan Suyash
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of TW200907674A publication Critical patent/TW200907674A/zh
Application granted granted Critical
Publication of TWI384363B publication Critical patent/TWI384363B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)
  • Image Input (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Multi Processors (AREA)

Description

廣播寫入作業之系統、方法及電腦程式產品
本發明關於一種多裝置系統,尤指一種複製一寫入作業來橫跨多個裝置廣播寫入作業。
在多裝置系統中,經常需要寫入相同的資料到關聯於每一個裝置的記憶體。一種示例性多裝置系統包括NVIDIA可延展鏈結介面(SLI, "Scalable Link Interface")圖形系統。在使用這種系統期間,時常需要允許一相關的圖形驅動器來執行一單一寫入作業,但利用硬體寫入該相關的資料至關聯於該等多個裝置中每一裝置的記憶體。
當嘗試要支援這種能力時會產生的一種可能問題在由一第一裝置啟始的一寫入作業被傳遞到該驅動器時發生。依此寫入作業所複製的其他寫入作業,其不僅是用於該第一裝置以外的其它裝置,亦包括該第一裝置。在這種狀況下,其有可能該系統可能被無限迴圈、死鎖等而妨礙。因此其有需要處理關於先前技藝之這些及/或其它問題。
本發明關於一種系統、方法及電腦程式產品,用於在一多目標系統中廣播寫入作業。在使用上,一寫入作業在一位址空間之複數個隙孔之一處被接收。然後這種寫入作業即被複製來產生複數個寫入作業。為此目的,該等寫入作業可被廣播到複數個目標。這些目標當中至少一個包括產生至少一個額外寫入作業之該等隙孔當中的另一個。
第一圖為根據一具體實施例在一多目標系統中廣播寫入作業的方法100。如所示,在一位址空間之複數個隙孔之一處接收到一寫入作業。參見作業102。在本說明的內文中,所謂的隙孔是指該位址空間的每個參照到唯一部份在收到一寫入作業時去複製所接收到的寫入作業。例如,在多種具體實施例中,該等隙孔之每一個可包括(但不限於)一位址範圍、位址的不連續集合,及/或任何其它可滿足以上定義的隙孔。
在多種具體實施例中,該位址空間可包括任何邏輯及/或實體位址空間。再者,該位址空間可關聯於一單一記憶體或不同記憶體之不同部份(即不同記憶體積體電路等)。再者,這種記憶體可為一般記憶體及/或關聯於一或多個處理器(例如圖形處理器等)。
請繼續參照第一圖,該接收的寫入作業即被複製來產生複數個寫入作業。請參見作業104。這種複製可包括任何的機制,藉此接收一單一寫入作業即造成複數個這種寫入作業。
為此目的,該等複製產生的寫入作業可被廣播到複數個目標。請參見作業106。在本說明的內文中,前述的目標代表該位址空間的任何部份,且可以重疊或不重疊於作業102的隙孔。另外,這種廣播參照到造成接收該相對應寫入作業之目標的任何種類的通訊。
其必須注意到任何數目(1、2-N)個隙孔、目標及複製都有可能被應用到多種本發明的具體實施例中。例如,配置以寫入某些資料到一特定目標之寫入作業的接收可造成寫入相同的某個資料到多個目標之多個作業。在這種範例中,當被寫入的資料為相同時,其必須注意到關聯於該複製的寫入作業之協定、格式及/或其它態樣根據系統配置等可以相同或可不同(其 仍可視為「複製」)。
在使用上,作業106之目標中至少一目標包括該等隙孔中另一隙孔,所以即產生至少一額外的寫入作業。為此目的,在一示例性具體實施例中,一第一寫入作業不僅造成在作業104中進行的複製,但亦有額外的複製來產生額外的寫入作業。
再者,於一些具體實施例中,可重複前述的動作。例如,該額外的寫入作業可被複製來對於複數個額外目標進行複數個額外寫入作業,其中至少一個額外目標包括產生至少一額外寫入作業之該等隙孔的另一隙孔。當然,任何數目的額外隙孔可依此種方式來產生任何想要數目的寫入作業。
為了進行這種寫入作業的複製而仍可避免無限迴圈等,可以過濾掉將產生這些問題的寫入作業。例如,如果發現到一寫入作業對準到其本身的一隙孔時,即不允許這個寫入作業。
在設計來提供對於寫入作業會影響某些目標之方法有額外彈性的具體實施例中,該等隙孔在等級上可以組織化。例如,該等隙孔可被指定不同的等級(0、1、2-N)。在一種可能的具體實施例中,這些等級可以是被預先設定的。
為此目的,作業106之寫入作業可有條件地被允許使用前述的等級。例如,該等寫入作業可基於根據那些隙孔被一特定寫入作業所指定的一寫入作業層級以及被該特定寫入作業所對準之該等隙孔之一的等級而有條件地被允許。在一具體實施例中,一特定寫入作業可僅在當一寫入作業層級(根據那些隙孔可以被該特定寫入作業所指定者)大於被該特定寫入作業對準的該等隙孔之一的等級時而被允許。
現在將進行關於多種選擇性架構及特徵來提出更多例示性資訊,藉此前述的架構可根據使用者的需要來實施。其必須特別注意到以下的資訊係為了例示性目的而提出,且不應以任 何方式視為其限制。任何以下的特徵可以視需要加入或排除所述的其它特徵。
第二圖為根據一具體實施例中廣播寫入作業之一多重隙孔位址空間200。做為一種選項,本位址空間200可被實施成執行第一圖之方法100。但是當然位址空間200可在任何想要的環境中實施。其亦應注意到前述的定義亦可在本說明中來應用。
如所示,位址空間200包括第一階隙孔202,其可調整來提示在收到一第0階寫入作業0時會將其複製。在一具體實施例中,第0階寫入作業0可來自於一中央處理單元(CPU),或為了該目的之任何其它來源。
在本範例中,第一階隙孔202複製第0階寫入作業0兩次來以所示的方法產生兩個第1階寫入作業1。如所示,該兩個第1階寫入作業1被廣播到兩個相同大小的目標,其型式為兩個第2階隙孔204。如所示,第0階寫入作業0應用到第1階隙孔202時的一偏移205即在該兩個第1階寫入作業1之應用中複製到第2階隙孔204。
其必須注意到在本範例中提出一雙重複製,但其可使用任何數目的複製。當然,有更多或更少的目標可與該等寫入作業相關,這些目標的隙孔可是重疊或可不重疊。再者,該等目標可關聯於一單一記憶體或任何數目不同記憶體之不同部份(即關聯於不同裝置之不同記憶體積體電路等)。藉此設計,可提供一非常彈性的架構。
其事實上該等目標採取第2階隙孔204的型式,這種第1階寫入作業1在此範例中複製且廣播四個第2階寫入作業2到多個目標。這些目標可以包括三個非隙孔目標206,這些非隙孔目標206其並不複製如第1階隙孔所進行之額外的寫入作 業,。
因此,現在可以瞭解到,多個隙孔中每一個係關聯於一預定的等級層級(1、2-N)。另外,一寫入作業的層級被設計成X,其中X包括最後移動之隙孔的層級(及原始寫入作業為X=0)。上述只是提出來釐清位址空間200的描述,其他任何可行的方式均有可能被使用。
在本等級式架構中,建立一種規則,其中一廣播寫入作業的層級不會超過一目標的隙孔之層級。這種規則因為多種理由而建立,其包括但不限於避免無限迴圈等。藉由此設計,對於第1階隙孔202之第2階寫入作業2可被過濾掉。當然,亦可想像其它具體實施例可具有或不具有這種等級規則的設計。另外,任何目標及隙孔的重疊可用任何想要方式來配置。
現在將提出關於第三圖到第十圖之說明當中多種不同配置。當然,以下的資訊係僅提供做為例示性目的,且不是用來限制本發行的專利涵蓋範圍。
第三圖所示為根據一具體實施例之具有兩個目標A、B之配置300,其可關聯兩個裝置(例如圖形處理器等)。如所示,該等目標與廣播隙孔1並沒有重疊。
第四圖所示為根據另一具體實施例之具有兩個目標A、B之配置400,其可關聯兩個裝置(例如圖形處理器等)。如所示,目標A與廣播隙孔1有重疊。在一可能的具體實施例中,這種配置可在當多個圖形處理器透過使用一PCIE橋接晶片或類似者而連接至單一PCIE控制器。
第五圖所示為根據又另一具體實施例之具有四個目標A、B、C、D之配置500,其可關聯四個裝置(例如圖形處理器等)。該等目標A、B、C、D及三個廣播隙孔1、2、3並沒有重疊。如所示,於廣播隙孔3處接收到一寫入作業,並由其複 製,並被廣播到非隙孔目標A, B。
第六圖所示為根據又另一具體實施例之具有四個目標A、B、C、D之另一配置600,其可關聯四個裝置(例如圖形處理器等)。類似於第五圖的配置500,該等目標A、B、C、D及三個廣播隙孔1、2、3並沒有重疊。但是於廣播隙孔2處接收到一寫入作業會被複製並被廣播到非隙孔目標C、D。
第七圖所示為根據又另一具體實施例之具有四個目標A、B、C、D之另一配置700,其可關聯四個裝置(例如圖形處理器等)。類似於第五到六圖之配置500、600,該等目標A、B、C、D及三個廣播隙孔1、2、3並沒有重疊。但是如所示,於第一廣播隙孔1處接收到一寫入作業會被複製並廣播到第二及第三廣播隙孔2、3。而於第二廣播隙孔2處接收的寫入作業則會被複製並廣播到非隙孔目標C、D。另外於第三廣播隙孔3處接收的寫入作業會被複製並廣播到非隙孔目標A、B。
第八圖所示為根據另一具體實施例之具有四個目標A、B、C、D之配置800,其可關聯四個裝置(例如圖形處理器等)。如所示,目標A與一第三廣播隙孔3,目標C與一第二廣播隙孔2,以及目標D與一第一廣播隙孔1有重疊。如另外所示,於目標A/第三廣播隙孔3處所接收到的一寫入作業會被複製而廣播到非隙孔目標B,及目標A/第三廣播隙孔3。藉由對準目標A(其重合於第三廣播隙孔3),一通過寫入會產生(所謂的通過寫入係指無其它寫入作業會由第三廣播隙孔3所複製)。
第九圖所示為根據另一具體實施例之具有四個目標A、B、C、D之配置900,其可關聯四個裝置(例如圖形處理器等)。如所示,目標A與第三廣播隙孔3,目標C與一第二廣播隙孔2,以及目標D與一第一廣播隙孔1有重疊。如另外所示,於目標C/第二廣播隙孔2處接收到的一寫入作業會被複製而廣 播到目標C/第二廣播隙孔2,及目標D/第一廣播隙孔1。類似於第八圖的狀況,於目標C處所接收的寫入作業,除了對準目標D/第一廣播隙孔1之外即造成一通過寫入。
在本具體實施例中,一等級規則可被建立,使得由第二及第三廣播隙孔2、3產生的目標位址可對準第一廣播隙孔1之基礎位址範圍,但這些並不會產生額外的寫入作業。因此,藉由對準目標D(其重合於第一廣播隙孔1),即可排除任何進一步的寫入作業複製。
第十圖所示為根據另一具體實施例之具有四個目標A、B、C、D之配置1000,其可關聯四個裝置(例如圖形處理器等)。如所示,目標A與一第三廣播隙孔3,目標C與一第二廣播隙孔2,及目標D與一第一廣播隙孔1有重疊。如進一步所示,於目標D/第一廣播隙孔1處接收到一寫入作業會被複製與廣播到目標A/第三廣播隙孔3,及目標C/第二廣播隙孔2。
類似於第八圖到第九圖之狀況,於目標C處接收的寫入作業除了對準目標D/第一廣播隙孔1外,於目標C/第二廣播隙孔造成一通過寫入。亦類似於第九圖的具體實施例,一等級規則可被建立,使得由第二及第三廣播隙孔2、3產生的目標位址可對準第一廣播隙孔1之基礎位址範圍,但這些不會產生額外的寫入作業。因此,藉由對準目標D(其重合於第一廣播隙孔1),即可排除任何關於額外寫入作業的複製動作。
另一方面,來自對準目標A/第三廣播隙孔3之第一隙孔1的寫入作業可造成複製的寫入作業被廣播到非隙孔目標B,及目標A/第三廣播隙孔3。藉由對準目標A(其重合於第三廣播隙孔3),造成一通過寫入(例如由第三廣播隙孔3不會有其它的寫入作業的複製)。如目前配置1000所示,重疊該廣播隙孔基礎及目標範圍可允許在四個多裝置系統中保持最大的彈性。
現在為了提供一實施範例的目的將提出關於一例示性架構之更多的資訊。其應特別注意到以下的細節必須不能以任何方式視為限制。在這種可能的具體實施例中,三個廣播隙孔可藉由設定在一CPU PCI配置空間中一控制暫存器中多個位元來獨立地被致能。在這種具體實施例中,每個隙孔可包括位在一系統實體位址空間中的一記憶體區域,如由一基礎暫存器與一遮罩暫存器所定義。基礎與遮罩暫存器可為12位元寬,且例如關聯於位址位元35:24。
在這種範例的內文中,該遮罩暫存器決定一請求的那個位址位元35:24匹配基礎[35:24]。換言之,一位址A係在當例如(A[35:24]& Mask[11:0])==(Base[11:0]& Mask[11:0])時即位在一廣播隙孔中。這種示例性定義造成大小的範圍由16MB到64MB,且自然地對準之廣播隙孔。
在本具體實施例中,兩個目標暫存器可關聯於每個廣播隙孔,例如目標A及目標B。每個目標暫存器可為12位元寬,並關聯於位址位元35:24。當一寫入作業對準一致能的廣播隙孔時,其可被重新導向到由目標A所描述的一位址區域,且一第二寫入可被複製帶有相同資料,並傳送到由目標B所描述的該位址區域。
在每個目標位址區域內重新導向的寫入之偏移可相同於在該廣播隙孔內原始寫入作業的偏移。換言之,一用來寫入到在該廣播隙孔內的位址A的寫入將造成兩個下游寫入作業,如以下之表1所示。
表1 WriteA[35:24]=(TargetA[11:0]& Mask[11:0])|(~Mask[11:0]& A[35:24]) WriteA[23:0]=A[23:0]WriteB[35:24]=(TargetB[11:0]& Mask[11:0])|(~Mask[11:0]& A[35:24])WriteB[23:0]=A[23:0]
在一具體實施例中,該廣播隙孔僅會影響已刊登的寫入。已刊登的寫入代表並不需要或尋求來自該目標的回應之寫入作業。讀取或非刊登的寫入到任何廣播隙孔可以不受廣播隙孔的影響,而仍然被導引至它們未修正過的位址。
在一具體實施例中,該等廣播隙孔中第三個可以不同於其它兩個廣播隙孔,其中其目標可重疊於前兩個廣播隙孔。此可用於產生一系列的廣播,其中來自該CPU之一單一寫入作業造成寫入作業到多個(如四個)目標位址。
表2所示為多種可能規則,其可視需要被應用在相關具體實施例的內文中。當然,這些資訊僅為了例示性目標來提出,其必須不能以任何方式做為限制本發明的專利涵蓋範圍。
表2 .每個廣播隙孔之目標A及目標B彼此不會重疊;.致能的廣播隙孔基礎位址範圍不會重疊其它廣播隙孔基礎位址範圍;.在設定為「1」之遮罩暫存器中所有位元為連續,且比重置為「0」之相同遮罩暫存器的任何位元要有更大的意義;.該廣播機制能夠利用所產生的寫入而飽和一下游FPCI匯流排;及.該廣播機制不會造成下游CPU寫入作業之壓制,除非下游FPCI已飽和。
在多種具體實施例中,其必須注意到一系統在功能上可以是也可以不是點對點交通。點對點寫入作業,例如來自一PCIE控制器寫入到另一個,其並非必要被修正不可,或由某些廣播機制來改變。換言之,如果一點對點寫入對凖一啟動的廣播隙孔之位址範圍,即不會發生額外的寫入或位址修正(即該點對點寫入之原始位址即被維持,並送到下游等)。當然,可考慮其它允許點對點交通之具體實施例。
在多種具體實施例中,可使用一些軟體驅動器支援來保證適當的功能性。例如在一具體實施例中,一圖形處理器之區域記憶體可位在一系統實體位址空間中由該圖形處理器所定義的位址範圍處。為了進行運作,該廣播隙孔目標範圍會需要指向到該系統圖形處理器之區域記憶體。雖然該圖形處理器區域記憶體之位址指定正常情況下為靜態,其有可能為了多種目的而由一作業系統重新配置(例如在一熱插拔事件之後對於一新的裝置在該位址空間中騰出位置等)。因此可使用一種機制來允許關連於該等廣播隙孔之目標範圍以追蹤任何這種改變。
在額外可能的具體實施例中,配置該等廣播隙孔及相對應目標範圍之暫存器可以關聯於一CPU。再者,一些作業系統不需要允許一驅動器來參照關聯到它們所關聯的之外的其它裝置的資源。因此,在使用這種作業系統之平台中,該驅動器不需要能夠直接移動該廣播目標範圍。在此例中,一晶片組驅動器可被提供來視需要對於CPU配置做改變,以維持該等廣播隙孔之功能性。
在一具體實施例中,可提供允許驅動器到驅動器通訊之一些軟體介面。這些介面可處理少見的事件,例如於重列舉期間來重新程式化一圖形處理器基礎位址暫存器(BAR, "Base address register")。在當一作業系統裝置驅動器模型並未提供這種介面來用於圖形驅動器的狀況下,可提供一過濾器驅動器,其中止對於先前服務的請求,並代表該圖形驅動器來與前述的晶片組裝置驅動器進行通訊。
在一具體實施例中,可進行如下表3中所述之圖形處理器BAR之更新。
表3 1.放置過濾器驅動器在一圖形迷你驅動器之上;2.SBIOS可提供先進的配置及電源介面(ACPI, "Advanced configuration and power interface")方法來程式化在一CPU中的廣播暫存器;3.偵測何時BAR被一上階作業系統所移動;及4.(一旦偵測到一移動)觸發該ACPI驅動器(使用該過濾器驅動器)來啟動在BIOS中ACPI方法來更新CPU暫存器。
第十一圖所示為可以實施多種先前具體實施例之多種架構及/或功能性之示例性系統1100。如所示,一系統1100之提供包括有至少一主控處理器1101,其連接至一通訊匯流排1102。系統1100亦包括一主記憶體1104。控制邏輯(軟體)及資料係儲存在主記憶體1104中,其型式可為隨機存取記憶體(RAM, "Random Access Memory")。
系統1100亦包括一圖形處理器1106及一顯示器1108,即一電腦螢幕。在一具體實施例中,一或多個圖形處理器1106之每一個可包括複數個陰影器模組,一格柵化模組等。每個前 述模組甚至可位在一單一半導體平台上來形成一圖形處理單元(GPU, "Graphics Processing Unit")。
在本說明中,一單一半導體平台可代表一專用單一半導體為主的積體電路或晶片。其必須注意到該用語「單一半導體平台」亦可代表多晶片模組,其具有可模擬晶片上作業之增加的連接器,並在利用一習用中央處理單元(CPU, "Central Processing Unit")及匯流排實施當中進行實質的改善。當然,多種模組亦可獨立放置或根據使用者的需要而置於多種半導體平台的組合中。
系統1100亦可包括一次級儲存器1110。次級儲存器1110包括例如硬碟機及/或可移除式儲存驅動器,代表軟碟機、磁帶機、光碟機等。該可移除式儲存驅動器以熟知的方式讀取及/或寫入一可移除的儲存單元。
電腦程式或電腦控制邏輯演算法可以儲存在主記憶體1104及/或次級儲存器1110中。這些電腦程式在當被執行時可致能系統1100來執行多種功能。記憶體1104、儲存器1110及/或任何其它儲存器皆為電腦可讀取媒體之可能範例。
在一具體實施例中,多種先前圖面之架構及/或功能性可實施成主控處理器1101、圖形處理器1106、能夠同時具有主控處理器1101及圖形處理器1106之能力中至少一部份的積體電路(未示出)、一晶片組(即設計成以執行相關功能之單元來工作及銷售的一積體電路群組),及/或為該目的之任何其它積體電路之內容中。
再者,多種先前圖面之架構及/或功能性可實施成一通用電腦系統、一電路板系統、一專屬於娛樂目的之遊戲主機系統,一特定應用系統及/或任何其它想要系統之內容中。例如,系統1100可採用的型式有桌上型電腦、膝上型電腦、及/或任 何其它類型的邏輯。另外,系統1100可採取多種其它裝置的型式,其包括但不限於一個人數位助理(PDA)裝置、一行動電話裝置、一電視等。
另外,雖然未示出,系統1100為了通訊的目的可耦合於一網路(例如電信網路、區域網路(LAN)、無線網路、廣域網路(WAN),像是網際網路、點對點網路、纜線網路等)。
當多種具體實施例已在上述說明之後,其應可瞭解到它們係藉由範例來提出,而非限制性。因此,一較佳具體實施例之廣度及範疇並不限於任何上述的示例性具體實施例,但必須僅根據下列申請專利範圍及其同等者來定義。
1‧‧‧廣播隙孔
2‧‧‧廣播隙孔
3‧‧‧廣播隙孔
200‧‧‧位址空間
202‧‧‧第一階隙孔
204‧‧‧第二階隙孔
205‧‧‧偏移
206‧‧‧非隙孔目標
300‧‧‧配置
400‧‧‧配置
500‧‧‧配置
600‧‧‧配置
700‧‧‧配置
800‧‧‧配置
1000‧‧‧配置
1100‧‧‧系統
A‧‧‧目標
B‧‧‧目標
C‧‧‧目標
D‧‧‧目標
第一圖為根據一具體實施例在一多目標系統中廣播寫入作業的方法。
第二圖為根據一具體實施例中廣播寫入作業之多重隙孔位址空間。
第三圖到第十圖為根據不同具體實施例具有可重疊或不重疊之不同數目的目標及隙孔之多種配置。
第十一圖為可以實施多種先前具體實施例之多種架構及/或功能性之示例性系統。

Claims (19)

  1. 一種廣播寫入作業的方法,其包含:於一位址空間之複數個隙孔中之一隙孔接收到一寫入作業;複製該寫入作業來產生複數個寫入作業;及廣播該等寫入作業到複數個目標;其中該等目標中之一個包含該等隙孔中之另一個隙孔,其產生至少一個額外之寫入作業。
  2. 如申請專利範圍第1項之方法,其中該等隙孔為等級式的組織。
  3. 如申請專利範圍第1項之方法,其中該等隙孔被指定不同的等級。
  4. 如申請專利範圍第3項之方法,其中該不同的等級係被預先設定。
  5. 如申請專利範圍第3項之方法,其中該等寫入作業可基於根據那些該隙孔被一特定寫入作業所指定的一寫入作業層級以及被該特定寫入作業所對準之該等隙孔之一的等級而有條件地被允許寫入。
  6. 如申請專利範圍第3項之方法,其中一特定寫入作業可僅在當根據那些隙孔被該特定寫入作業所指定的一寫入作業層級大於被該特定寫入作業對準的該等隙孔之一的等級時即被允許寫入。
  7. 如申請專利範圍第1項之方法,另包含過濾該等寫入作業來避免一無限迴圈。
  8. 如申請專利範圍第1項之方法,其中該等目標包括一單一記憶體的不同部份。
  9. 如申請專利範圍第1項之方法,其中該等目標包括不同記憶體積體電路之不同部份。
  10. 如申請專利範圍第1項之方法,其中該等目標包括至少一 圖形處理器之記憶體的不同部份。
  11. 如申請專利範圍第10項之方法,其中該位址空間包括複數個圖形處理器之記憶體。
  12. 如申請專利範圍第11項之方法,其中該等圖形處理器包括圖形處理單元。
  13. 如申請專利範圍第1項之方法,其中該至少一個額外之寫入作業被複製來產生複數個額外目標之複數個額外寫入作業,其中至少一個該額外目標包括產生至少一額外寫入作業之該等隙孔中的另一隙孔。
  14. 一種實施在一電腦可讀取媒體上的廣播寫入作業的電腦程式產品,其包含:用於在一位址空間之複數個隙孔中之一隙孔接收一寫入作業的電腦碼;及用於複製該寫入作業來為複數個目標產生複數個寫入作業的電腦碼;其中該等目標當中至少一個包含該等隙孔中之另一個隙孔,其產生至少一個額外之寫入作業。
  15. 如申請專利範圍第14項之電腦程式產品,其中該等隙孔為等級式的組織。
  16. 如申請專利範圍第14項之電腦程式產品,其中該等隙孔被指定不同的等級。
  17. 如申請專利範圍第16項之方法,其中該不同的等級係被預先設定。
  18. 一種廣播寫入作業的裝置,其包含:一驅動器,用於在一位址空間的複數個隙孔中之一隙孔接收一寫入作業,並複製該寫入作業來為複數個目標產生複數個寫入作業;其中該等目標當中至少一個包含該等隙孔中之另一個隙孔,其產生至少一個額外之寫入作業。
  19. 如申請專利範圍第18項之裝置,其中該驅動器經由一匯流排連接到維持與記憶體通訊的一處理器及一顯示器。
TW097122788A 2007-06-20 2008-06-19 廣播寫入作業之系統、方法及電腦程式產品 TWI384363B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/765,676 US7969445B2 (en) 2007-06-20 2007-06-20 System, method, and computer program product for broadcasting write operations

Publications (2)

Publication Number Publication Date
TW200907674A TW200907674A (en) 2009-02-16
TWI384363B true TWI384363B (zh) 2013-02-01

Family

ID=40136328

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097122788A TWI384363B (zh) 2007-06-20 2008-06-19 廣播寫入作業之系統、方法及電腦程式產品

Country Status (5)

Country Link
US (1) US7969445B2 (zh)
JP (1) JP4985982B2 (zh)
KR (1) KR20080112165A (zh)
CN (1) CN101339517B (zh)
TW (1) TWI384363B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237921A (ja) * 2009-03-31 2010-10-21 Hitachi Software Eng Co Ltd 利用者端末装置及びその制御方法、並びにプログラム
CN104126172B (zh) * 2011-12-22 2018-03-20 英特尔公司 用于掩码寄存器扩充操作的装置和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200521675A (en) * 2003-08-28 2005-07-01 Micron Technology Inc Multiple processor system and method including multiple memory hub modules
US20050190190A1 (en) * 2004-02-27 2005-09-01 Nvidia Corporation Graphics device clustering with PCI-express

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537574A (en) * 1990-12-14 1996-07-16 International Business Machines Corporation Sysplex shared data coherency method
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
WO2001090902A1 (en) * 2000-05-23 2001-11-29 Sangate Systems, Inc. Method and apparatus for data replication using scsi over tcp/ip
US6819320B2 (en) * 2002-03-04 2004-11-16 Sun Microsystems, Inc. Reading or writing a non-super sampled image into a super sampled buffer
US7015915B1 (en) * 2003-08-12 2006-03-21 Nvidia Corporation Programming multiple chips from a command buffer
US7075541B2 (en) * 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US7065630B1 (en) * 2003-08-27 2006-06-20 Nvidia Corporation Dynamically creating or removing a physical-to-virtual address mapping in a memory of a peripheral device
US7640155B2 (en) * 2004-06-01 2009-12-29 Quickturn Design Systems, Inc. Extensible memory architecture and communication protocol for supporting multiple devices in low-bandwidth, asynchronous applications
EP1851662A2 (en) * 2005-02-24 2007-11-07 Xeround Systems Ltd. Method and apparatus for distributed data management in a switching network
US7970956B2 (en) * 2006-03-27 2011-06-28 Ati Technologies, Inc. Graphics-processing system and method of broadcasting write requests to multiple graphics devices
US7634507B2 (en) * 2006-08-30 2009-12-15 Inmage Systems, Inc. Ensuring data persistence and consistency in enterprise storage backup systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200521675A (en) * 2003-08-28 2005-07-01 Micron Technology Inc Multiple processor system and method including multiple memory hub modules
US20050190190A1 (en) * 2004-02-27 2005-09-01 Nvidia Corporation Graphics device clustering with PCI-express

Also Published As

Publication number Publication date
US20080316842A1 (en) 2008-12-25
JP4985982B2 (ja) 2012-07-25
CN101339517B (zh) 2012-01-11
US7969445B2 (en) 2011-06-28
KR20080112165A (ko) 2008-12-24
TW200907674A (en) 2009-02-16
JP2009003935A (ja) 2009-01-08
CN101339517A (zh) 2009-01-07

Similar Documents

Publication Publication Date Title
US10210120B2 (en) Method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch
CN110032405B (zh) 系统开机码存储器管理方法、存储器装置与应用其的电子系统
US20190391945A1 (en) High performance interconnect physical layer
KR101343704B1 (ko) 공유된 비휘발성 메모리 아키텍쳐
US20220237121A1 (en) Host-managed coherent device memory
EP2015161B1 (en) Event delivery for processors
US11288124B2 (en) Methods and apparatus for in-field mitigation of firmware failures
US7743194B2 (en) Driver transparent message signaled interrupts
US9372702B2 (en) Non-disruptive code update of a single processor in a multi-processor computing system
US9886408B2 (en) Data access protection for computer systems
US20070239965A1 (en) Inter-partition communication
JP2009140489A (ja) Vmmシステムにおけるユーザosがサービスosによって使用されている装置の電源を切らないようにするためのシステム及び方法
US6611912B1 (en) Method and apparatus having a system BIOS write configuration data of a riser card to a controller configuration space when connecting the riser card to a motherboard
US10659052B2 (en) Regional partial reconfiguration of a programmable device
TWI384363B (zh) 廣播寫入作業之系統、方法及電腦程式產品
JP2007058716A (ja) データ転送バスシステム
JP2022541001A (ja) リンク分岐可用性を判定する方法及び装置
JPH1055331A (ja) プログラム可能な読み出し/書き込みアクセス信号とその方法
JP2004334410A (ja) 情報処理装置及びプロセッサ
WO2012124431A1 (ja) 半導体装置
US11023244B2 (en) System, apparatus and method for recovering link state during link training
WO2024113295A1 (en) System, method and apparatus for filtering configuration accesses to unimplemented devices
US20230089863A1 (en) Executable passing using mailbox registers
JP6459566B2 (ja) 半導体装置の設計方法及び半導体装置
US20060026321A1 (en) Increasing the number of I/O decode ranges using SMI traps