TWI516954B - 單晶片系統(soc)中的控制頻寬分配 - Google Patents

單晶片系統(soc)中的控制頻寬分配 Download PDF

Info

Publication number
TWI516954B
TWI516954B TW103101168A TW103101168A TWI516954B TW I516954 B TWI516954 B TW I516954B TW 103101168 A TW103101168 A TW 103101168A TW 103101168 A TW103101168 A TW 103101168A TW I516954 B TWI516954 B TW I516954B
Authority
TW
Taiwan
Prior art keywords
counter
soc
write
transaction
read completion
Prior art date
Application number
TW103101168A
Other languages
English (en)
Other versions
TW201443659A (zh
Inventor
荷西 尼爾
拉瑪達斯 納加拉占
Original Assignee
英特爾股份有限公司
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 英特爾股份有限公司 filed Critical 英特爾股份有限公司
Publication of TW201443659A publication Critical patent/TW201443659A/zh
Application granted granted Critical
Publication of TWI516954B publication Critical patent/TWI516954B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

單晶片系統(SOC)中的控制頻寬分配
本發明係關於一種單晶片系統(SoC)中的控制頻寬分配。
許多電腦平台,特別是可攜式及其他低電力裝置,合併單晶片系統(SoC)作為主要處理器。該些SoC經組配為支援平台的編程模型,確保軟體適當地運行。若干依循基於個人電腦(PC)標準之SoC實施依據週邊組件高速互連(PCI ExpressTM(PCIeTM))規格定義之程式排序語意,例如PCI ExpressTM基本規格規格版本2.0中所說明(2007年1月17日發佈),典型地使用硬體。
排序架構之一值得注意的方面為從主機代理程式至輸入/輸出(IO)代理程式之下游記憶體映射輸入輸出(MMIO)寫入,其行進與從記憶體返回至IO代理程式之讀取完成資料的相同路徑。該路徑稱為離埠路徑,因為其係從SoC之根複合體離開。按照PCIeTM規則,針對 IO代理程式之記憶體讀取完成無法繞過已於相同虛擬通道上發表之任何之前代理程式MMIO寫入。實質上,離埠路徑上之最終流量是無法控制的,可導致飢餓及分配不當問題。
100‧‧‧單晶片系統
110‧‧‧同調結構
120、1201-120n‧‧‧快取代理程式
1301-130z‧‧‧非快取IO代理程式
135‧‧‧開關結構
1401-140x‧‧‧整合非快取代理程式
1501-150n、2501、2502‧‧‧記憶體控制器
200、800‧‧‧系統
210、2101-210n‧‧‧CPU模組
212、252‧‧‧選擇器
215‧‧‧資料緩衝器
220‧‧‧選擇邏輯
225‧‧‧追蹤器
230‧‧‧離埠寫入請求佇列
235、500‧‧‧離埠節流邏輯
24001‧‧‧命令佇列
24002‧‧‧資料佇列
24003‧‧‧順序佇列
24004、24011、24012‧‧‧完成佇列
24005-24010‧‧‧輸出佇列
245‧‧‧離埠VC仲裁者
2501、2502‧‧‧記憶體控制器
270‧‧‧有序域
300‧‧‧方法
310、320、330、350、370、420、440、460、480‧‧‧方塊
340、360、380、425、430、435、465、470、475‧‧‧菱形
400、500‧‧‧狀態機器
410‧‧‧第一狀態機器
450‧‧‧第二狀態機器
510‧‧‧離埠狀態機器
520‧‧‧讀取完成計數器
522、527‧‧‧邏輯方塊
525‧‧‧發表交易計數器
530‧‧‧離埠VC0讀取完成權重儲存裝置
532‧‧‧致能離埠節流器儲存裝置
534‧‧‧離埠VC0發表MMIO權重儲存裝置
540‧‧‧第一比較器
550‧‧‧第二比較器
810‧‧‧處理器
815‧‧‧系統記憶體
820‧‧‧大量儲存裝置
822‧‧‧快閃裝置
824‧‧‧顯示器
825‧‧‧觸控螢幕
830‧‧‧觸控墊
835‧‧‧嵌入式控制器
836‧‧‧鍵盤
837‧‧‧風扇
838‧‧‧信賴平台模組
839、846‧‧‧熱感測器
840‧‧‧感測器集線器
841‧‧‧加速計
842‧‧‧周遭光感測器
843‧‧‧羅盤
844‧‧‧陀螺儀
845‧‧‧近場通訊單元
850‧‧‧WLAN單元
852‧‧‧藍牙單元
854‧‧‧相機模組
855‧‧‧GPS模組
856‧‧‧WWAN單元
857‧‧‧用戶識別模組
860‧‧‧數位信號處理器
862‧‧‧編碼器/解碼器及放大器
863‧‧‧輸出揚聲器
864‧‧‧耳機插孔
865‧‧‧麥克風
圖1為依據本發明之實施例之SoC之高階視圖的方塊圖。
圖2為方塊圖,描繪依據本發明之實施例之離埠分配中所包含之系統代理程式的組件細節。
圖3為依據本發明之實施例用於控制具有不同類型資訊流之離埠通道之頻寬的方法流程圖。
圖4為依據本發明之實施例用於實施離埠頻寬節流之狀態機器的方塊圖。
圖5為依據本發明之實施例之離埠節流邏輯的方塊圖。
圖6為依據本發明之實施例之電腦系統中呈現的組件方塊圖。
【發明內容及實施方式】
在各式實施例中,服務機構之可組配品質可於根複合體離埠路徑之SoC系統代理程式中配置。如此,可調整來自諸如快取代理程式之主機代理程式之下游MMIO請求的頻寬分配及來自諸如非快取代理程式之輸入 /輸出(IO)代理程式之上游記憶體讀取的完成,同時亦履行排序需求。此控制頻寬分配之機構係於進入系統代理程式之有序域之前實施。儘管本發明之範圍不侷限於此,在實施例中,此頻寬分配調整係在基本輸入/輸出系統(BIOS)內實施。
現在參照圖1,顯示依據本發明之實施例之SoC之高階視圖的方塊圖。如圖1中所示,SoC 100包括各式代理程式及其他組件。為互連各式代理程式及提供某些系統級控制技術之目的,提供同調結構110,文中亦稱為系統代理程式。如以下將進一步說明,系統代理程式110包括依據本發明之實施例之下游分配邏輯以及各式其他組件,諸如佇列、緩衝器、追蹤器、控制邏輯等。
如所見,同調結構110作為複數不同代理程式及其他組件間之主要晶片上互連。在上游側,提供複數快取代理程式1201-120n。儘管本發明之範圍不侷限於此,該些快取代理程式可相應於中央處理單元(CPU),其通常包括一或多處理器核心及一或多級快取記憶體。因而,該些代理程式為快取代理程式,其經組配為經由內部代理程式快取而以同調方式維持資料。儘管說明為CPU,理解的是其他類型快取代理程式,諸如核心、繪圖引擎、或與快取記憶體相關聯之其他專用處理邏輯,在若干實施例中可作為快取代理程式。亦理解的是發送MMIO寫入之代理程式不侷限於快取代理程式,諸如非快取代理程式之其他代理程式亦發送MMIO交易。
相反地,SoC 100之其他代理程式可組配為非快取代理程式。可呈現不同類型非快取代理程式,諸如IO代理程式,其可採取諸如擷取裝置、呈現裝置、週邊裝置等許多形式。若干該些非快取代理程式,諸如非快取IO代理程式1301及1302,係經由符合PCIeTM排序規則之晶片上互連而直接耦接至系統代理程式110。非快取代理程式於此晶片上互連之主要介面上發佈上游窺探及非窺探記憶體請求。IO代理程式可於SoC支援之任何虛擬通道(VC)上發佈記憶體請求(請注意,若干SoC支援1 VC,若干支援2 VC,若干支援3 VC等)。
請求及寫入資料抵達入站路徑上之系統代理程式110。讀取完成資料返回離埠路徑上之代理程式。快取代理程式使用埠IO或記憶體映射讀取/寫入發佈下游請求至IO裝置。在實施例中,該些請求於第一虛擬通道(即VC0)上行進。當來自快取代理程式120之每一請求整體有序時,接收來自系統代理程式110之指示。當來自快取代理程式120之MMIO寫入通過進入系統代理程式110之有序域時為整體有序。此通過稱為發表下游寫入進入離埠路徑。一旦離埠讀取完成已進入有序域,便無法繞過已發表進入有序域之相同VC的任何之前MMIO寫入。
接著,其他非快取IO代理程式1303-130z經由開關結構135耦接至晶片上互連主要介面或橋接至不同協定。在所示範例中,該些非快取代理程式之每一者(及開關結構)可經由晶片上互連之主要介面而耦接至同調結 構110。在實施例中,主要介面包括一或多VC,不同VC間無排序需求。此外,SoC 100進一步包括複數整合非快取代理程式1401-140x,其可經由不同互連技術之請求者介面而直接耦接至同調結構110。再進一步,複數記憶體控制器1501-150n亦可耦接至同調結構110以提供耦接至SoC之記憶體(為圖1中易於描繪而未顯示)的互連及控制功能,在實施例中,該記憶體實施為動態隨機存取記憶體(DRAM)。儘管圖1之實施例中顯示此範例,理解的是本發明之範圍不侷限於此,且許多不同類型SoC及其他半導體裝置可利用依據本發明之實施例的下游分配邏輯。
現在參照圖2,顯示方塊圖描繪依據本發明之實施例之離埠分配中所包含之系統代理程式的組件細節。如圖2中所示,系統200包括系統代理程式內之各式組件以及SoC之其他組件。
在圖2之實施例中,該些SoC組件包括上游組件,即CPU模組2101-210n,其通常如以上所說明之可組配為圖1之快取代理程式。此外,呈現複數記憶體控制器2501及2502。為此處討論的目的,該些記憶體控制器回應於上游讀取請求而提供從記憶體所接收之匯入資料。即,經由該些記憶體控制器提供讀取完成資料,接著穿越選擇器252,至資料緩衝器215,其為共用緩衝器,來自各式虛擬通道之額外寫入資料均進入此緩衝器,並經由另一選擇器212提供其他代理程式。
資料緩衝器215可經控制以回應於來自選擇 邏輯220之控制信號而輸出資料之特定部分,例如緩衝器中之條目,在實施例中其可提供位址及讀取致能信號,因而致能例如儲存於共用緩衝器215之特定條目中之選擇之位址的資料,進行輸出。共用資料緩衝器215儲存轉移至/自記憶體、至/自快取代理程式、及至/自IO代理程式之所有資料。請注意,在若干實施例中,可依據專用記憶體通道而提供不同資料緩衝器。而且,不同資料緩衝器可專用於代理程式或功能(例如,MMIO寫入資料具有資料緩衝器),或不同資料緩衝器可提供用於每一VC。
更具體地如圖2中所示,資料可輸出至適當目的地,諸如至CPU模組2101-210n或至另一代理程式之上游資料。此外,以離埠方向提供之資料係從資料緩衝器215輸出至有序域270內之適當佇列,其可經組配而具複數輸出佇列24001-24012。儘管顯示此有限數量佇列,理解的是本發明之範圍不侷限於此,在其他實施例中可呈現與特別虛擬通道及資訊類型相關聯之更多或更少該等佇列。
為讀取以離埠方向提供之資料,資料可儲存於識別的該些佇列之一者中。具體來說,讀取完成資料可儲存於若干完成佇列24004、24011及24012之一者中,每一者相應於特定虛擬通道之完成佇列,即虛擬通道VC0-VCN。此外,從資料緩衝器215輸出之資料可進一步提供至資料佇列24002,其可經組配為儲存虛擬通道0之發表及未發表資料。如將進一步說明,包括從資料緩衝器215輸出之資料之有關進入VC0之交易的資訊亦可儲存於順 序佇列24003中,其係用以指出呈現於虛擬通道之其他佇列中之資訊的排序。此外,命令佇列24001亦可與發表及未發表交易相關聯。
仍參照圖2,追蹤器225係用以維持所有未決請求之追蹤。如所見,追蹤器225提供信號至選擇邏輯220。此外,離埠寫入請求佇列230耦接於追蹤器225及選擇邏輯220之間,並於認可離埠寫入請求時提供指示。當條目抵達佇列頭端時,便被提供至選擇邏輯220,其接著發送控制信號至資料緩衝器215,致使與特別離埠寫入請求相關聯之資料傳遞而從資料緩衝器215輸出至有序域內適當佇列中之儲存裝置。
在作業中,來自快取代理程式(例如,CPU模組210)之MMIO寫入請求首先載入請求追蹤器225。接著,MMIO寫入資料從CPU模組210發送至資料緩衝器215。追蹤器225亦窺探所有快取代理程式以確保MMIO資料之一致性。窺探可發生於從CPU模組210發送寫入資料之前或之後。其次,請求被發表至VC0發表佇列24001(穿越有序域)。此時,CPU模組210被通知:現在請求為有序,及「載入存取MMIO寫入資料之請求」亦被載入認可之離埠寫入請求佇列230。當請求抵達佇列頭端時,系統代理程式安排從資料緩衝器215讀取,並將MMIO寫入資料轉移至VC0發表資料佇列24002中。
仍參照圖2,可呈現離埠節流邏輯235並可用以控制離埠發表之請求及離埠讀取完成之通訊,因而於其 導入有序域270之前,致能控制發表寫入交易之頻寬分配,諸如記憶體映射IO(MMIO)寫入交易及離埠讀取完成。如以下將在實施例中進一步說明,可於節流邏輯235內呈現多狀態有限狀態機器,以依據本發明之實施例而可控制地共用該些離埠寫入交易及讀取完成交易間之頻寬。
現在參照圖3,顯示依據本發明之實施例之用於控制具有不同類型資訊流之離埠通道頻寬的方法流程圖。請注意,圖3中所說明之作業關於多資訊類型間共用之單一通道。在文中所說明之特別實施例中,其可為虛擬通道0(VC0),包括多個輸出佇列以儲存通過進入通訊通道之各式資訊類型。關於一範例,如以上所討論,該些佇列可包括發表/未發表命令佇列、寫入完成佇列、發表/未發表資料佇列及順序佇列。當然,多個通道之每一可依據方法300更新,或多個通道可具有其以此方式分配之頻寬。
如圖3中所示,可由例如系統代理程式之離埠節流邏輯或其他結構實施方法300。如所見,方法300始自將組態值儲存於某組態儲存裝置中。具體來說,可於邏輯內呈現讀取組態權重儲存裝置及寫入請求權重儲存裝置,並可由例如儲存該些權重值之暫存器實施,該些權重值可經組配並由BIOS儲存於該些儲存裝置中。在實施例中,該些權重值可相應於最大數量特定類型交易,而可於致能另一類型資訊流至離埠有序域之前,連續地以離埠方向發送至例如離埠有序域。
仍參照圖3,其次控制行至方塊320,其中致能離埠節流(方塊310)。例如,節流器可回應於BIOS、韌體、或驅動器之控制而致能重置,其組配正常作業期間活動之節流器。在其他實施例中,節流器之致能可為動態控制,例如依據工作量及/或使用者控制。在實施例中,離埠節流邏輯可包括組態儲存裝置,其具有致能欄位以指出邏輯係被致能或停用。控制其次行至方塊330,其中清除各式計數器。該些計數器包括讀取完成計數器及寫入請求計數器。在實施例中,該些計數器可經組配為於相應交易類型之資訊的閾值量設定為離埠有序域時增量計數器。
此時,離埠節流邏輯準備正常作業。如所見,控制行至菱形340,其中判斷讀取完成資料是否已發送進入離埠有序域。若然,控制便回頭行至方塊350,其中讀取完成計數器可按照傳遞之閾值資料長度更新。關於一範例,計數器可按發送進入離埠有序域之每一64位元組(B)資料塊增量1。當然,理解的是本發明之範圍不侷限於此,在其他實施例中,不同資料可組配量致使計數器之增量。
若在菱形340判斷完成資料未發送進入離埠有序域,控制則行至菱形360,其中判斷寫入請求是否已發送進入離埠有序域。若然,控制便行至方塊370,其中寫入請求計數器依據寫入請求之尺寸更新。即,若寫入請求小於第一長度,便發生更新之第一量,若寫入請求大於 此長度,則發生更新之第二量。
從任何以上路徑,控制行至菱形380,其中判斷二計數器是否在其組態值。即,二計數器可組配為飽和計數器,使得當抵達組態值時,計數器未重置或轉過,其簡單地保持在飽和值。因而,當二計數器在其飽和值時,控制行至方塊330,其中該些計數器可持續重置及作業。若二計數器未在其組態值,則控制回頭行至菱形340實施進一步作業。儘管在圖3之實施例中以此高度討論,理解的是本發明之範圍不侷限於此。
現在參照圖4,顯示依據本發明之實施例之實施離埠頻寬節流之狀態機器的方塊圖。如圖4中所示,狀態機器400包括第一狀態410,即節流寫入請求狀態;及第二狀態450,即節流讀取完成狀態。如同系統進行之作業,狀態依據某些狀況而轉變為另一狀態。
關於第一狀態機器410,其作業始自方塊420,其中預防寫入請求發送進入離埠有序域。儘管本發明之範圍不侷限於此,在實施例中,可從離埠節流器邏輯發送節流信號至追蹤器,其控制寫入請求輸出進入離埠有序域。其次,控制行至菱形425,其中判斷是否有發表之寫入請求可發送。儘管本發明之範圍不侷限於此,此判斷可依據追蹤器中之資訊,諸如追蹤器之每一條目之信息類型欄位的分析。
若判斷有發表之寫入可發送,則控制便行至菱形430,其中判斷讀取完成計數器值是否大於計數器之 組態值。換言之,其可判斷讀取完成計數器是否已飽和。若否,控制便行至菱形435,其中可判斷是否無準備返回進入離埠有序域之讀取完成。若無該等讀取完成,控制便行至方塊440,其中狀態機器可轉變為其他狀態,即節流讀取完成狀態。請注意,若讀取完成計數器值大於讀取完成組態值,則控制亦行至方塊440。
關於第二狀態機器450,其作業始自方塊460,其中預防讀取完成發送進入離埠有序域。儘管本發明之範圍不侷限於此,在實施例中,可從離埠節流器邏輯發送節流信號至選擇邏輯,接著控制讀取完成之輸出從共用資料緩衝器進入離埠有序域。其次,控制行至菱形465,其中可判斷是否有讀取完成可發送。儘管本發明之範圍不侷限於此,此判斷可依據共用資料緩衝器中之資訊,諸如緩衝器之每一條目之有效欄位的分析。
若判斷有讀取完成可發送,則控制便行至菱形470,其中可判斷寫入請求計數器值是否大於計數器之組態值。換言之,其可判斷寫入請求計數器是否已飽和。若否,則控制行至菱形475,其中可判斷請求追蹤器是否無呈現準備發送進入離埠有序域之寫入請求。若無該等寫入請求,則控制行至方塊480,其中狀態機器可轉變為其他狀態,即節流寫入請求狀態。請注意,若寫入請求計數器值大於寫入請求組態值,則控制亦行至方塊480。
現在參照圖5,顯示依據本發明之實施例之離埠節流邏輯500的方塊圖。如圖5中所示,離埠狀態機器 510可實施為微碼、可程控邏輯、硬編碼邏輯、控制邏輯、處理器抽象化結構層等。其通常可實施關於圖4中所討論之不同狀態而說明之作業。在實施例中,為控制頻寬分配,BIOS組配3狀態,其可儲存於組態暫存器中,即致能離埠節流器儲存裝置532;離埠VC0讀取完成權重儲存裝置530,其值指出節流VC0讀取完成之前允許轉移之64B的數量;以及離埠VC0發表MMIO權重儲存裝置534,其值指出節流VC0發表MMIO寫入之前允許轉移之64B的數量。
如所見,狀態機器510接收指出交易流量已達其權重或組態等級之特定類型的輸入。具體來說,當發送至有序域之讀取完成的數量超過組態等級時,便從第一比較器540接收指示。因此,比較器540比較儲存於組態儲存裝置530中之組態值與來自讀取完成計數器520之值,如所見,當特定讀取完成交易已跨越進入有序域時(在實施例中,其可由從結構之選擇邏輯所提供之信號指出),便經由邏輯方塊522增量(例如,增加1)。
當發送至有序域之發表交易的數量超過組態等級時,狀態機器510便接收來自第二比較器550之指示。因此,比較器550比較儲存於組態儲存裝置534中之組態值與來自發表交易計數器525之值,如所見,當特定發表之交易已跨越進入有序域時(在實施例中,其可由從結構之選擇邏輯所提供之信號指出),便經由邏輯方塊527增量(例如,增加1或2)。
因而,讀取完成計數器520可於重置清除,每次1-32B從資料緩衝器轉移進入離埠有序域則增量1。此計數器可於計數器之最大值飽和(且未回繞)。寫入計數器525可於重置清除,每次長度1-32B之寫入請求從請求追蹤器轉移進入離埠有序域則增量1,及每次長度33-64B之寫入請求從請求追蹤器轉移進入離埠有序域則增量2。此計數器可於計數器之最大值飽和(且未回繞)。當二計數器抵達其組配權重時,則均予以清除。
在實施例中,狀態機器500重置為狀態0,即節流離埠發表之MMIO請求狀態。在此狀態中,請求追蹤器停止發送任何發表之MMIO寫入進入離埠路徑有序域。若有下游發表之MMIO請求可發送至有序域,則發生轉變為狀態1;下列狀況,則發生二狀況之任一者:(1)讀取完成計數器中若干位元組大於組配之離埠讀取完成權重;或(2)資料緩衝器中並無讀取資料完成準備返回VC0離埠路徑。
在狀態1,即節流離埠記憶體讀取完成狀態,系統代理程式停止安排讀取資料從資料緩衝器返回至離埠路徑有序域。若資料緩衝器中有讀取完成資料準備返回離埠路徑,則發生轉變為狀態0;下列狀況,則發生二狀況之任一者:(1)發表之MMIO寫入BW完成計數器中若干位元組大於組配之離埠發表之MMIO權重;或(2)請求追蹤器中並無發表之MMIO寫入準備發送至離埠有序域。請注意,針對VC0以外之其他VC的讀取完成未於無 序域中節流,因為分配流量頻寬之有序域中的不同仲裁器跨越VC。
使用本發明之實施例,BIOS或其他系統軟體可動態調整離埠流量特性,不需矽之重製。基於本發明之實施例,SoC可實施由許多不同驅動器控制之不同知識產權(IP)邏輯方塊。此外,實施例可預防驅動器免於造成使用者可見的品質錯誤,其可超額認購針對裝置之MMIO頻寬而接著可影響記憶體讀取頻寬及/或諸如USB3主機控制器之另一裝置之等待時間。因此,可微調流量型態而不需重寫驅動器。再進一步實施例可針對惡意嘗試使用過度頻寬之不良裝置驅動器提供彈性。例如,如文中所說明,嘗試超額認購針對MMIO發表寫入之離埠流量的裝置驅動器可具有其頻寬限制。
現在參照圖6,顯示依據本發明之實施例之電腦系統中呈現之組件的方塊圖。如圖6中所示,系統800可包括許多不同組件。該些組件部分可實施為IC、分立電子裝置、或調適用於諸如電腦系統之主機板或附加卡之電路板的其他模組,或作為併入電腦系統機身之組件。亦注意的是,圖6之方塊圖希望顯示電腦系統之許多組件的高階視圖。然而,將理解的是額外組件可呈現於某實施中,此外,所示組件之不同配置可發生於其他實施中。
如圖6中所見,處理器810可為低電力多核心處理器連接點,諸如極低電壓處理器,可作為主處理單元及用於與系統之各式組件通訊的中央集線器。該等處理 器可實施為文中所說明之SoC。在一實施例中,處理器810可為基於Intel® Architecture CoreTM之處理器,諸如i3、i5、i7或美國加州聖克拉拉Intel公司之另一該等處理器,諸如組合一或多基於CoreTM之核心及一或多基於Intel® ATOMTM之核心的處理器,因而實現單一SoC中高電力及低電力核心。然而,理解的是諸如美國加州桑尼維爾超微半導體公司(AMD)、ARM控股有限公司之基於ARM之設計、美國加州桑尼維爾MIPS科技公司之基於MIPS之設計、或其受權者或採用者之其他低電力處理器可替代地呈現於諸如Apple A5或A6處理器之其他實施例中。
處理器810可與系統記憶體815通訊,其在實施例中可經由多個記憶體裝置實施以提供用於特定量之系統記憶體。為提供用於諸如資料、應用程式、一或多作業系統等資訊的永久儲存裝置,大量儲存裝置820亦可耦接至處理器810。圖6中亦顯示,快閃裝置822可耦接至處理器810,例如經由串列週邊介面(SPI)。此快閃裝置可提供用於系統軟體之非揮發性儲存裝置,包括基本輸入/輸出軟體(BIOS)以及系統之其他韌體。
各式輸入/輸出(IO)裝置可呈現於系統800內。圖6之實施例中具體地顯示組配於機身之蓋部內之高清晰度LCD或LED面板的顯示器824。此顯示器面板亦可例如適於從外部在顯示器面板上提供用於觸控螢幕825,使得經由使用者與觸控螢幕互動,使用者輸入可提 供至系統以致能所欲作業,例如關於資訊之顯示、資訊之存取等。在一實施例中,顯示器824可經由顯示器互連而耦接至處理器810,其可實施為高性能圖形互連。觸控螢幕825可經由另一互連而耦接至處理器810,其在實施例中可為I2C互連。如圖6中進一步顯示,除了觸控螢幕825以外,藉由碰觸,亦可經由組配於機身內並可如觸控螢幕825耦接至相同I2C互連的觸控墊830,而發生使用者輸入。
為感知運算及其他用途,各式感測器可呈現於系統內,並可以不同方式耦接至處理器810。某些慣性及環境感測器可經由感測器集線器840,例如經由I2C互連,而耦接至處理器810。在圖6中所示之實施例中,該些感測器可包括加速計841、周遭光感測器(ALS)842、羅盤843及陀螺儀844。在一實施例中,其他環境感測器可包括一或多熱感測器846,其可經由系統管理匯流排(SMBus)而耦接至處理器810。
圖6中亦見到各式週邊裝置可經由低接腳計數(LPC)互連而耦接至處理器810。在所示實施例中,各式組件可經由嵌入式控制器835耦接。該等組件可包括鍵盤836(例如經由PS2介面耦接)、風扇837、及熱感測器839。在若干實施例中,觸控墊830亦可經由PS2介面耦接至EC 835。此外,諸如依據2003年10月2日信賴電腦群組(TCG)TPM規格版本1.2之信賴平台模組(TPM)838的安全處理器亦可經由此LPC互連而耦接至 處理器810。
系統800可以各種方式與外部裝置通訊,包括無線。在圖6中所示之實施例中,呈現各式無線模組,各可相應於經組配用於特別無線通訊協定之無線電。在諸如近場之短距離中用於無線通訊之一方式可為經由近場通訊(NFC)單元845,在一實施例中,其可經由SMBus與處理器810通訊。請注意,經由NFC單元845,彼此極接近之裝置可通訊。例如,使用者可經由調適二裝置密切關係並致能資訊轉移,諸如識別資訊、付款資訊、諸如圖像資料之資料等,而致能系統800與諸如使用者之智慧手機的另一(例如)可攜式裝置通訊。亦可使用NFC系統實施無線電力傳輸。
如圖6中進一步所見,額外無線單元可包括其他短距離無線引擎,包括WLAN單元850及藍牙單元852。使用WLAN單元850可實現依據特定電氣及電子工程師學會(IEEE)802.11標準之Wi-FiTM通訊,同時經由藍牙單元852,可發生經由藍牙協定之短距離通訊。該些單元可經由USB鏈路或通用異步收發器(UART)鏈路而與處理器810通訊。或該些單元可經由互連而耦接至處理器810,其係依據週邊組件高速互連(PCI ExpressTM(PCIeTM))基本規格規格版本3.0(2007年1月17日發佈)之PCI ExpressTM協定,或諸如串列資料輸入/輸出(SDIO)標準之另一該等協定。當然該些週邊裝置間之實際實體連接,其可組配於一或多附加卡上,可藉由適於 主機板之下一代外形尺寸(NGFF)連接器。
此外,例如依據行動電話或其他無線廣域通訊之無線廣域協定可經由WWAN單元856而發生,WWAN單元856接著可耦接至用戶識別模組(SIM)857。此外,為致能收到及使用位置資訊,亦可呈現GPS模組855。請注意,在圖6中所示之實施例中,WWAN單元856及諸如相機模組854之整合擷取裝置可經由諸如USB 2.0或3.0鏈路之特定USB協定或UART或I2C協定通訊。而且該些單元之實際實體連接可經由調適NGFF附加卡至組配於主機板上之NGFF連接器。
為提供用於音頻輸入及輸出,可經由數位信號處理器(DSP)860實施音頻處理器,其可經由高清晰度音頻(HDA)鏈路而耦接至處理器810。類似地,DSP 860可與整合編碼器/解碼器(CODEC)及放大器862通訊,其接著可耦接至於機身內實施之輸出揚聲器863。類似地,放大器及CODEC 862可耦接以從麥克風865接收音頻輸入,在實施例中,其可經由雙陣列麥克風實施,以提供用於高品質音頻輸入而致能系統內之各式作業的語音致動控制。亦注意的是,音頻輸出可從放大器/CODEC 862提供至耳機插孔864。儘管圖6之實施例中顯示該些特定組件,理解的是本發明之範圍不侷限於此。
下列範例關於進一步實施例。在實施例中,SoC包括用以互連該SoC之複數代理程式的結構。此結構包括:至少一資料緩衝器,包括複數條目,每一條目儲存 與該複數代理程式間及與耦接至該SoC之記憶體間來回傳輸的資料;請求追蹤器,用以維持將輸出至該結構之有序域之待決請求的追蹤;以及離埠節流邏輯,用於控制進入來自核心代理程式的寫入交易及來自該記憶體的讀取完成交易間之該有序域的分配。
在實施例中,離埠節流邏輯包括第一計數器,用以傳遞第一計數,及第二計數器,用以傳遞第二計數。第一計數器可組配為於寫入交易組態值飽和,及第二計數器可組配為於讀取完成交易組態值飽和。第一組態儲存裝置可儲存寫入交易組態值,及第二儲存裝置可儲存讀取完成交易組態值。該些儲存裝置可由BIOS、韌體、或驅動器寫入。當寫入交易分配進入該有序域時,該第一計數器更新,及當讀取完成交易分配進入該有序域時,該第二計數器更新。而且,當該寫入交易小於第一閾值時,由第一量更新該第一計數器,及當該寫入交易大於該第一閾值時,由第二量更新該第一計數器。
在實施例中,離埠節流邏輯包括狀態機器,其具有第一狀態,用以預防該寫入交易分配進入該有序域;以及第二狀態,用以預防該讀取完成交易分配進入該有序域。
離埠節流邏輯可進一步包括:第一比較器,用以比較該第一計數與該寫入交易組態值,並將指示該比較之第一比較信號輸出至該狀態機器;以及第二比較器,用以比較該第二計數與該讀取完成交易組態值,並將指示 該比較之第二比較信號輸出至該狀態機器,其中,該狀態機器至少部分依據該第二比較信號而從該第一狀態轉變為該第二狀態。
在實施例中,結構進一步包括寫入請求佇列,耦接至該請求追蹤器以儲存複數條目,每一條目相應於寫入交易;以及選擇邏輯,耦接至該請求追蹤器、該離埠節流邏輯、及該寫入請求佇列,其中,該選擇邏輯用於選擇該至少一資料緩衝器之條目以輸出至該有序域。
有序域包括複數通道,其中第一通道包括複數佇列,其包括請求佇列、資料佇列、讀取完成佇列、及順序佇列以識別進入該請求佇列、該資料佇列、及該讀取完成佇列之每一者之資訊的收到順序。第一仲裁器可耦接至第一通道以依據該順序佇列中該資訊而於該請求佇列、該資料佇列及該讀取完成佇列之間仲裁。而且,第二仲裁器可耦接至該第一仲裁器及該些通道之其他者以仲裁及選擇來自該結構之輸出的交易。
在另一實施例中,方法包括:致能SoC之系統代理程式的離埠節流器,其中該系統代理程式互連該SoC之複數代理程式,包括至少一主機代理程式及至少一IO代理程式;將第一組態值儲存於讀取完成權重儲存裝置中,及將第二組態值儲存於寫入請求權重儲存裝置中,其中該些組態值係於SoC初始化期間儲存;以及至少部分依據與該寫入請求及該讀取完成之該另一者相關聯之計數器值,而節流將發送進入該系統代理程式之有序域的寫入 請求及讀取完成之一者。
在實施例中,方法進一步包括回應於將發送進入該有序域之讀取完成的讀取完成資料,而更新每閾值資料長度之讀取完成計數器,回應於將發送進入該有序域之第一長度的寫入請求而以第一量更新寫入計數器,及回應於將發送進入該有序域之第二長度的寫入請求而以第二量更新該寫入計數器。
方法可進一步回應於準備發送至該有序域之讀取完成資料,及大於該第二組態值之該寫入計數器的計數器值,而節流寫入請求。
方法可進一步回應於準備發送至該有序域之至少一寫入請求,及大於該第一組態值之該讀取完成計數器的計數器值,而節流讀取請求。
請注意,節流可包括分配進入該有序域之第一通道的頻寬,其中該頻寬係依據該第一組態值及該第二組態值分配。
在另一實施例中,系統包括SoC,其具有第一核心及第一快取記憶體;第二核心及第二快取記憶體;以及記憶體控制器,用以耦接至DRAM。SoC進一步包括多個非快取代理程式,及結構用以耦接核心、非快取代理程式、及記憶體控制器,其中該結構包括有序域及無序域,並進一步包括離埠節流邏輯,用於控制進入來自該些核心之寫入交易及來自該些非快取代理程式之讀取完成交易間之該有序域的分配。
在實施例中,離埠節流邏輯包括:第一計數器,用以傳遞第一計數,其中,該計數器可組配為於寫入交易組態值飽和;以及第二計數器,用以傳遞第二計數,其中,該計數器可組配為於讀取完成交易組態值飽和。請注意,該些組態值係於該SoC之初始化期間設定。耦接至該結構之下游通道的頻寬係至少部分依據該些組態值而於該寫入交易及該讀取完成交易之間分配。該頻寬依據BIOS、韌體或驅動器而為可調。
在另一範例中,通訊裝置可經配置以實施文中所說明之任何方法。
如進一步範例,至少一機器可讀取媒體包含複數指令,回應於該指令於電腦裝置上執行,而致使該電腦裝置實施文中所說明之任何方法。
用於處理指令之設備可經組配為實施文中所說明之任何方法的方法。且設備可進一步包括實施文中所說明之任何方法的機制。
實施例可用於許多不同類型系統中。例如,在一實施例中,通訊裝置可經配置以實施文中所說明之各式方法及技術。當然,本發明之範圍不侷限於通訊裝置,且其他實施例可導向用於處理指令之其他類型設備,或包括指令之一或多機器可讀取媒體,其回應於指令在電腦裝置上執行,而致使裝置實施文中所說明之一或多種方法及技術。
實施例可以代碼實施並可儲存於具有儲存於 上之指令的非暫時性儲存裝置媒體上,其可用以程控系統以實施指令。儲存裝置媒體可包括但不侷限於任何類型碟片,包括軟碟、光碟、固態硬碟(SSD)、光碟唯讀記憶體(CD-ROM)、可重寫光碟(CD-RW)、及磁性光碟;半導體裝置,諸如唯讀記憶體(ROM);隨機存取記憶體(RAM),諸如動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM);可抹除可程控唯讀記憶體(EPROM);快閃記憶體;電可抹除可程控唯讀記憶體(EEPROM);磁卡或光學卡;或適於儲存電子指令之任何其他類型媒體。
雖然本發明已關於有限實施例予以說明,熟悉本技藝之人士將理解由此之許多修改及變化。希望下列申請項涵蓋所有該等修改及變化而落於本發明之真實精神及範圍內。
100‧‧‧單晶片系統
110‧‧‧同調結構
120、1201-120n‧‧‧快取代理程式
1301-130z‧‧‧非快取IO代理程式
135‧‧‧開關結構
1401-140x‧‧‧整合非快取代理程式
1501-150n‧‧‧記憶體控制器

Claims (24)

  1. 一種單晶片系統(SoC),包含:結構,用以互連該SoC之複數代理程式,該結構包含:至少一資料緩衝器,包括複數條目,每一條目儲存與該複數代理程式間及與耦接至該SoC之記憶體間來回傳輸的資料;請求追蹤器,用以維持將輸出至該結構之有序域之待決請求的追蹤,該有序域耦接至該SoC之複數下游代理程式,且其中通道的讀取完成交易用以防止傳送該通道的寫入交易,其中,該有序域包括複數通道,其中,該複數通道之第一通道包括複數佇列,其包括請求佇列、資料佇列、讀取完成佇列、及順序佇列用以識別進入該請求佇列、該資料佇列、及該讀取完成佇列之每一者之資訊的收到順序;以及離埠節流邏輯,用以控制先於導入進入來自指向該複數下游代理程式的其中之一的該複數代理程式之核心代理程式的寫入交易及來自指向該複數下游代理程式的其中之一的該記憶體的讀取完成交易間之該有序域的頻寬分配,其中該離埠節流邏輯用以基於工作量動態地被致能。
  2. 如申請專利範圍第1項之SoC,其中,該離埠節流邏輯包含:第一計數器,用以傳遞第一計數,其中,該第一計數器可組配為於寫入交易組態值飽和;以及 第二計數器,用以傳遞第二計數,其中,該第二計數器可組配為於讀取完成交易組態值飽和。
  3. 如申請專利範圍第2項之SoC,進一步包含:第一組態儲存裝置,用以儲存該寫入交易組態值;以及第二儲存裝置,用以儲存該讀取完成交易組態值,該第一儲存裝置及該第二儲存裝置將由基本輸入/輸出系統(BIOS)、韌體、或驅動器寫入。
  4. 如申請專利範圍第3項之SoC,其中,當寫入交易分配進入該有序域時,該第一計數器更新,及當讀取完成交易分配進入該有序域時,該第二計數器更新。
  5. 如申請專利範圍第4項之SoC,其中,當該寫入交易小於第一閾值時,由第一量更新該第一計數器,及當該寫入交易大於該第一閾值時,由第二量更新該第一計數器。
  6. 如申請專利範圍第2項之SoC,其中,該離埠節流邏輯進一步包含狀態機器,其包括:第一狀態,用以預防該寫入交易分配進入該有序域;以及第二狀態,用以預防該讀取完成交易分配進入該有序域。
  7. 如申請專利範圍第6項之SoC,其中,該離埠節流邏輯進一步包含:第一比較器,用以比較該第一計數與該寫入交易組態 值,並將指示該比較之第一比較信號輸出至該狀態機器;以及第二比較器,用以比較該第二計數與該讀取完成交易組態值,並將指示該比較之第二比較信號輸出至該狀態機器,其中,該狀態機器至少部分依據該第二比較信號而從該第一狀態轉變為該第二狀態。
  8. 如申請專利範圍第1項之SoC,其中,該結構進一步包含:寫入請求佇列,耦接至該請求追蹤器以儲存複數條目,每一條目相應於寫入交易;以及選擇邏輯,耦接至該請求追蹤器、該離埠節流邏輯、及該寫入請求佇列,其中,該選擇邏輯用以選擇該至少一資料緩衝器之條目以輸出至該有序域。
  9. 如申請專利範圍第1項之SoC,進一步包含耦接至該第一通道之第一仲裁器,以依據該順序佇列中該資訊而於該請求佇列、該資料佇列及該讀取完成佇列之間仲裁。
  10. 如申請專利範圍第9項之SoC,進一步包含耦接至該第一仲裁器及該複數通道之其他者的第二仲裁器以仲裁及選擇來自該結構之輸出的交易。
  11. 一種方法,包含:基於工作量動態地致能單晶片系統(SoC)之系統代理程式的離埠節流器,該系統代理程式互連該SoC之複數代理程式,包括至少一主機代理程式及至少一輸入/輸出 (IO)代理程式;將第一組態值儲存於讀取完成權重儲存裝置中,及將第二組態值儲存於寫入請求權重儲存裝置中,該第一組態值及該第二組態值係於該SoC之初始化期間儲存;以及至少部分依據與該寫入請求及該讀取完成之該另一者相關聯之計數器值,而先於導入進入該系統代理程式的有序域節流將發送進入該系統代理程式之該有序域的寫入請求及讀取完成之一者,該有序域耦接至該SoC之複數下游代理程式,且其中通道的讀取完成交易用以防止傳送該通道的寫入交易。
  12. 如申請專利範圍第11項之方法,進一步包含回應於將發送進入該有序域之讀取完成的讀取完成資料,而更新每閾值資料長度之讀取完成計數器。
  13. 如申請專利範圍第12項之方法,進一步包含回應於將發送進入該有序域之第一長度的寫入請求而以第一量更新寫入計數器,及回應於將發送進入該有序域之第二長度的寫入請求而以第二量更新該寫入計數器。
  14. 如申請專利範圍第11項之方法,進一步包含回應於下列各項而節流該寫入請求:準備發送至該有序域之讀取完成資料;以及大於該第二組態值之該寫入計數器的計數器值。
  15. 如申請專利範圍第11項之方法,進一步包含回應於下列各項而節流該讀取請求:準備發送至該有序域之至少一寫入請求;以及 大於該第一組態值之該讀取完成計數器的計數器值。
  16. 如申請專利範圍第11項之方法,其中,節流該寫入請求及該讀取完成之該一者包含分配進入該有序域之第一通道的頻寬,該頻寬係依據該第一組態值及該第二組態值分配。
  17. 一種系統,包含:單晶片系統(SoC),包括:第一核心及第一快取記憶體;第二核心及第二快取記憶體;至少一記憶體控制器,用以耦接至動態隨機存取記憶體(DRAM);第一非快取代理程式;第二非快取代理程式;結構,用以耦接該第一核心及該第二核心、該第一非快取代理程式及該第二非快取代理程式及該至少一記憶體控制器,該結構包含有序域及無序域,該有序域耦接至該第一非快取代理程式及該第二非快取代理程式,且其中通道的讀取完成交易用以防止傳送該通道的寫入交易,其中,該複數通道包括複數佇列,其包括請求佇列、資料佇列、讀取完成佇列、及順序佇列用以識別進入該請求佇列、該資料佇列、及該讀取完成佇列之每一者之資訊的收到順序,並進一步包括:離埠節流邏輯,用以控制先於導入進入來自指向該 第一非快取代理程式及該第二非快取代理程式的其中之一的該第一核心及該第二核心之寫入交易及來自指向該第一非快取代理程式及該第二非快取代理程式的其中之一之讀取完成交易間之該有序域的頻寬分配,其中該離埠節流邏輯用以基於工作量動態地被致能;以及耦接至該SoC之該DRAM。
  18. 如申請專利範圍第17項之系統,其中,該離埠節流邏輯包含:第一計數器,用以傳遞第一計數,其中,該第一計數器可組配為於寫入交易組態值飽和;以及第二計數器,用以傳遞第二計數,其中,該第二計數器可組配為於讀取完成交易組態值飽和,其中,該寫入交易組態值及該讀取完成交易組態值係於該SoC之初始化期間設定。
  19. 如申請專利範圍第18項之系統,其中,耦接至該結構之下游通道的頻寬係至少部分依據該寫入交易組態值及該讀取完成交易組態值而於該寫入交易及該讀取完成交易之間分配。
  20. 如申請專利範圍第19項之系統,其中,該頻寬依據基本輸入/輸出系統(BIOS)、韌體或驅動器而為可調。
  21. 一種通訊裝置,經配置以實施申請專利範圍第11至16項之任一項之方法。
  22. 至少一機器可讀取媒體,包含複數指令,回應於 該指令於電腦裝置上執行,而致使該電腦裝置實施申請專利範圍第11至16項之任一項之方法。
  23. 一種用於處理指令之設備,經組配為實施申請專利範圍第11至16項之任一項之方法。
  24. 一種設備,包含用於實施申請專利範圍第11至16項之任一項之方法的機制。
TW103101168A 2013-01-17 2014-01-13 單晶片系統(soc)中的控制頻寬分配 TWI516954B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/743,833 US9075952B2 (en) 2013-01-17 2013-01-17 Controlling bandwidth allocations in a system on a chip (SoC)

Publications (2)

Publication Number Publication Date
TW201443659A TW201443659A (zh) 2014-11-16
TWI516954B true TWI516954B (zh) 2016-01-11

Family

ID=51166179

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103101168A TWI516954B (zh) 2013-01-17 2014-01-13 單晶片系統(soc)中的控制頻寬分配

Country Status (6)

Country Link
US (1) US9075952B2 (zh)
EP (1) EP2815330A4 (zh)
KR (1) KR101682980B1 (zh)
CN (1) CN104885070B (zh)
TW (1) TWI516954B (zh)
WO (1) WO2014113237A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569362B2 (en) * 2014-11-13 2017-02-14 Cavium, Inc. Programmable ordering and prefetch
US10013385B2 (en) 2014-11-13 2018-07-03 Cavium, Inc. Programmable validation of transaction requests
US9996487B2 (en) * 2015-06-26 2018-06-12 Intel Corporation Coherent fabric interconnect for use in multiple topologies
TWI548216B (zh) 2015-07-02 2016-09-01 威盛電子股份有限公司 控制晶片及具有控制晶片的控制裝置
US11042656B2 (en) 2015-07-24 2021-06-22 Hewlett Packard Enterprise Development Lp Data porch for throttling data access
US9942631B2 (en) * 2015-09-25 2018-04-10 Intel Corporation Out-of-band platform tuning and configuration
US10410311B2 (en) * 2016-03-07 2019-09-10 Intel Corporation Method and apparatus for efficient submission of workload to a high performance graphics sub-system
US10846126B2 (en) * 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
US10228884B2 (en) 2017-03-08 2019-03-12 Hewlett Packard Enterprise Development Lp Issuing write requests to a fabric
US10963183B2 (en) * 2017-03-20 2021-03-30 Intel Corporation Technologies for fine-grained completion tracking of memory buffer accesses
US10649829B2 (en) 2017-07-10 2020-05-12 Hewlett Packard Enterprise Development Lp Tracking errors associated with memory access operations
KR102062332B1 (ko) * 2018-04-03 2020-01-03 서울대학교산학협력단 처리 시간에 민감한 워크로드에 대한 메모리 대역폭 할당 방법 및 장치
US10417146B1 (en) 2018-05-15 2019-09-17 Apple Inc. Real-time resource handling in resource retry queue
US10467175B1 (en) * 2018-11-29 2019-11-05 Qualcomm Incorporated Secure digital (SD) direct command for improving throughput with a reduced memory footprint
US11789878B2 (en) * 2019-12-19 2023-10-17 Intel Corporation Adaptive fabric allocation for local and remote emerging memories based prediction schemes
CN112241390B (zh) * 2020-10-22 2022-08-30 上海兆芯集成电路有限公司 主机互连装置及其方法
US11675722B2 (en) * 2021-04-16 2023-06-13 Apple Inc. Multiple independent on-chip interconnect
US20230053530A1 (en) 2021-08-23 2023-02-23 Apple Inc. Scalable System on a Chip

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052744A (en) * 1997-09-19 2000-04-18 Compaq Computer Corporation System and method for transferring concurrent multi-media streams over a loosely coupled I/O bus
US6470238B1 (en) * 1997-11-26 2002-10-22 Intel Corporation Method and apparatus to control device temperature
WO2003019393A1 (en) * 2001-08-24 2003-03-06 Intel Corporation A general intput/output architecture, protocol and related methods to implement flow control
US6973544B2 (en) 2002-01-09 2005-12-06 International Business Machines Corporation Method and apparatus of using global snooping to provide cache coherence to distributed computer nodes in a single coherent system
US7525986B2 (en) * 2004-10-28 2009-04-28 Intel Corporation Starvation prevention scheme for a fixed priority PCI-Express arbiter with grant counters using arbitration pools
JP4996929B2 (ja) 2007-01-17 2012-08-08 株式会社日立製作所 仮想計算機システム
US20090249046A1 (en) 2008-03-31 2009-10-01 Mips Technologies, Inc. Apparatus and method for low overhead correlation of multi-processor trace information
US8392667B2 (en) * 2008-12-12 2013-03-05 Nvidia Corporation Deadlock avoidance by marking CPU traffic as special
US8103837B2 (en) * 2008-12-17 2012-01-24 Hewlett-Packard Development Company, L.P. Servicing memory read requests
US8144582B2 (en) 2008-12-30 2012-03-27 International Business Machines Corporation Differentiating blade destination and traffic types in a multi-root PCIe environment
US8489791B2 (en) * 2010-03-12 2013-07-16 Lsi Corporation Processor bus bridge security feature for network processors or the like
US8266389B2 (en) * 2009-04-29 2012-09-11 Advanced Micro Devices, Inc. Hierarchical memory arbitration technique for disparate sources
CN102025934B (zh) * 2010-10-15 2012-01-11 西安交通大学 基于AXI总线的数字电视SoC的存储控制方法
KR101855399B1 (ko) * 2011-03-24 2018-05-09 삼성전자주식회사 데이터 트래픽을 개선한 SoC 및 이의 동작 방법
EP3451176B1 (en) * 2011-09-30 2023-05-24 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes

Also Published As

Publication number Publication date
WO2014113237A1 (en) 2014-07-24
US9075952B2 (en) 2015-07-07
CN104885070A (zh) 2015-09-02
US20140201500A1 (en) 2014-07-17
TW201443659A (zh) 2014-11-16
EP2815330A1 (en) 2014-12-24
EP2815330A4 (en) 2016-07-06
KR20150087324A (ko) 2015-07-29
KR101682980B1 (ko) 2016-12-20
CN104885070B (zh) 2018-07-17

Similar Documents

Publication Publication Date Title
TWI516954B (zh) 單晶片系統(soc)中的控制頻寬分配
US11036650B2 (en) System, apparatus and method for processing remote direct memory access operations with a device-attached memory
JP5886470B2 (ja) 共有メモリ・ファブリックを介したメモリ・アクセスの調停
US8516177B2 (en) Avoiding non-posted request deadlocks in devices by holding the sending of requests
TWI522792B (zh) 用以產生要求之設備、用於記憶體要求之方法、及運算系統
US20160191420A1 (en) Mitigating traffic steering inefficiencies in distributed uncore fabric
TWI772279B (zh) 用於具有可重配置多端口的快捷外設互聯標準儲存系統的服務品質感測輸入輸出管理的方法、系統及設備
CN107003962B (zh) 保持计算系统中高速缓存一致性的方法、装置和计算系统
KR101861471B1 (ko) 플래시 메모리 기반의 저장 디바이스의 입/출력 가상화 (iov) 호스트 제어기 (hc) (iov-hc) 에서의 커맨드 트랩
US11372674B2 (en) Method, apparatus and system for handling non-posted memory write transactions in a fabric
US9971711B2 (en) Tightly-coupled distributed uncore coherent fabric
KR20170013882A (ko) 플래시 메모리 기반 저장 디바이스의 멀티 호스트 전력 제어기(mhpc)
CN116340250A (zh) 分立图形的加速器结构
US11182103B1 (en) Dedicated communications cache