TWI489288B - 避免匯流排鎖死之異動排序 - Google Patents
避免匯流排鎖死之異動排序 Download PDFInfo
- Publication number
- TWI489288B TWI489288B TW102102519A TW102102519A TWI489288B TW I489288 B TWI489288 B TW I489288B TW 102102519 A TW102102519 A TW 102102519A TW 102102519 A TW102102519 A TW 102102519A TW I489288 B TWI489288 B TW I489288B
- Authority
- TW
- Taiwan
- Prior art keywords
- request address
- request
- address
- write data
- controlled device
- Prior art date
Links
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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
- G06F13/4036—Coupling between buses using bus bridges with arbitration and deadlock prevention
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
- Information Transfer Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Description
本專利申請案主張2012年1月23日申請之題為「TRANSACTION ORDERING TO AVOID BUS DEADLOCKS」之美國臨時專利申請案第61/589,582號的優先權,且該案已讓與給其受讓人,且以引用之方式特此明確併入本文中。
本發明大體而言係關於電子學,且更具體而言(但非排他地)係關於用於用以減輕匯流排鎖死之異動排序的裝置及方法。
在行動晶片上系統(SoC)中,晶片效能正變得愈來愈重要。SoC積體電路(IC)為執行相關功能之電路之群組整合至單一晶粒或基板上且在單一晶粒或基板上製造的系統。SoC IC一般包括電路之功能區塊,諸如,微處理器、數位信號處理器、記憶體陣列、緩衝器,等等。電路之此等功能區塊有時稱作核心。該等功能區塊各自電連接至SoC IC內之互連匯流排,該等功能區塊經由該互連匯流排彼此且與連接至該匯流排之任何其他器件交換資料。
在SoC中,諸如主控器(亦即,起始器)之功能區塊經由提供子系統間資料傳送路徑之互連匯流排(亦即,晶片上網路(NoC))與諸如受控器(目標)之功能區塊通信。主控器發出對資料(例如,一請求位址)之請求且回應於該等請求來接收所請求資料(例如,寫入資料)。主控
器之一實例為處理器核心。受控器接收對資料之請求且將所請求資料提供至發請求之主控器。受控器之實例包括受控處理器、顯示器件(例如,圖形處理器)、記憶體(例如,快取記憶體)、記憶體介面、周邊器件、周邊介面、使用者輸入及/或輸出器件、使用者輸入及/或輸出器件介面(例如,通用串列匯流排埠)。
當兩個或兩個以上主控器及/或受控器試圖將資料置於互連匯流排上或自互連匯流排擷取資料時,經由互連匯流排之資料傳送之間的競爭發生。為了減少經由互連匯流排之資料傳送之間的競爭,習知技術將一匯流排控制器併入於SoC IC內。在SoC中常見的係具有經由單一互連匯流排或互鏈之NoC彼此通信之多個主控器及多個受控器。因此,匯流排控制器通常包括一仲裁器,該仲裁器選擇授予哪一主控器在任何給定時間對受控器進行存取。在典型互連匯流排中,將資料寫入至受控器之次序總是遵循位址之數字次序。若一主控器「贏得」仲裁,則自「勝出」主控器至被發送請求之受控器的寫入資料路徑鎖定至該「勝出」主控器,直至被發送請求之受控器接收到所有資料為止。換言之,習知仲裁器僅提供順序存取,該順序存取產生匯流排鎖死。因此,習知仲裁器相對較為緩慢且低效,且可由於產生匯流排鎖死而不利地影響系統效能。
當多個資料傳送具有循環依賴性及/或衝突之優先級時,匯流排鎖死發生。匯流排鎖死鎖定互連匯流排之至少一部分,從而使得互連匯流排之受影響部分不能夠傳送被鎖定資料,不能夠接受新請求位址,及/或不能夠接受寫入資料。
圖1描繪關於習知方法及裝置之相關內容。在圖1及本文中所描述之其他實例中,藉由文數字代碼(例如,W17、A16)來表示資料及資料輸送器件。藉由以下關鍵字來定義本文中所使用之縮寫:X#指示一特定互連匯流排及其唯一識別編號。
M#指示一特定主控器/起始器(例如,微處理器)及其唯一識別編號。
S#指示諸如受控器/目標(例如,記憶體陣列)之端點及其唯一識別編號。
L#指示兩個互連匯流排/NoC之間的鏈路及其唯一識別編號。
MPT#指示主控器所耦接至之互連匯流排的埠及其唯一識別編號。
ARB#指示匯流排仲裁器及其唯一識別編號。
A#指示請求位址及其唯一識別編號。第二數位反映產生與彼位址相關聯之請求之主控器的主控器編號。舉例而言,位址A0#(例如,A01)對應於來自主控器編號M0之請求,且A1#(例如,A14)對應於來自主控器編號M1之請求。第三數位指示順序請求編號。
W#指示對於對應請求位址(例如,A#)之寫入資料。出於可讀性之簡單,自主控器發送之特定寫入資料的編號等同於對應請求位址之編號。繼續先前段落之實例,在與藉由主控器M0發送之請求位址A01相關聯的情況下自主控器M0發送寫入資料W01。
參看圖1,互連件X0、X1及X3獨立地操作,因此在互連件X0、X1及X3之間不存在協調以相對於彼此來排序在每一互連匯流排上起始之異動。來自主控器之以遠端受控器為目標之請求必須在位於主控器與遠端受控器之間的若干互連件中之每一者處經歷至少一圈仲裁。在圖1中所描繪之例示性異動中,當將習知仲裁技術應用於資料傳送之以下序列時,源自循環依賴性之匯流排鎖死發生。
主控器M0經由主控器埠MPT0、仲裁器ARB2、互連件X0、鏈路L0、主控器埠MPT4、仲裁器ARB1及互連件X1將具有位址A00、A01、A02及A03之請求發送至受控器S1。主控器M0亦經由主控器埠MPT0、仲裁器ARB0及互連件X0將具有位址A04之請求發送至受控器
S0。主控器M0之請求位址A00在互連件X0處贏得仲裁器ARB2中之第一級仲裁,但位址A00必須在互連件X1處經歷仲裁器ARB1中之第二級仲裁。習知技術指示在互連件X1上之請求位址A00之仲裁之前界定在互連件X0上之針對主控器M0之資料投送次序。當NoC/SoC具有互連件之級聯(例如,多層互連件)時,習知技術不界定跨越層(例如,多個互連件)之資料投送次序。
接著,主控器M1經由主控器埠MPT1、仲裁器ARB1及互連件X1將具有位址A19之請求發送至受控器S1。主控器M1亦經由主控器埠MPT1、仲裁器ARB3、互連件X1、鏈路L1、主控器埠MPT5、仲裁器ARB0及互連件X0將具有位址A15、A16、A17及A18之請求發送至受控器S0。
關於此點,在序列中,在受控器S1處具有位址A19之請求在具有位址A00、A01、A02及A03之請求之前。另外,在受控器S0處具有位址A04之請求在具有位址A15、A16、A17及A18之請求之前。
主控器M0試圖經由主控器埠MPT0、仲裁器ARB2、互連件X0、鏈路L0、主控器埠MPT4、仲裁器ARB1及互連件X1將具有位址W00、W01、W02及W03之資料發送至受控器S1。主控器M0亦試圖經由主控器埠MPT0、仲裁器ARB0及互連件X0將具有位址W04之資料發送至受控器S0。然而,由於習知仲裁技術,在主控器M0中寫入資料W04被卡於具有位址W00、W01、W02及W03之資料後面,因此在受控器S0處具有位址A04之對應請求無法被實現。
主控器M1試圖經由主控器埠MPT1、仲裁器ARB1及互連件X1將具有位址W15、W16、W17及W18之資料發送至受控器S0。主控器M1亦試圖經由主控器埠MPT1、仲裁器ARB3、互連件X1、鏈路L1、主控器埠MPT5、仲裁器ARB0及互連件X0將具有位址W19之資料發送至受控器S0。然而,由於習知仲裁技術,在主控器M1中寫入資料W19被卡
於具有位址W15、W16、W17及W18之資料後面,因此在受控器S1處具有位址A19之對應請求無法被實現。因此,如此實例中所展示,應用習知仲裁技術導致源自循環依賴性之匯流排鎖死。
因此,存在對於改良習知方法及裝置之方法及裝置的長久以來之工業需要,包括用於用以避免匯流排鎖死之異動排序的裝置及方法。
本【發明內容】提供對本發明之教示之一些態樣的基本理解。本【發明內容】在細節上並非詳盡的,且既不意欲識別所有關鍵特徵,亦不意欲限制申請專利範圍之範疇。
提供用於減輕匯流排鎖死之例示性方法及裝置。一種例示性方法包括基於一網路拓撲及一訊務設定檔來定義用於複數個主控器與複數個受控器之間經由複數個互連件之資料輸送的一定製投送規則。定製投送表之定義可為靜態的或動態的。該定製規則可允許在於該複數個互連件中之一互連件處接收與一請求位址相關聯之寫入資料之前該請求位址在該互連件處於仲裁之一第一階段中進行仲裁,且不允許該請求位址在仲裁之一後續第二階段期間進行仲裁,除非該請求位址具有對應寫入資料。該定製規則可允許在於該複數個互連件中之一互連件處接收與第一請求位址及第二請求位址相關聯之各別寫入資料之前該第一請求位址及該第二請求位址在該互連件處進行仲裁,其中該第一請求位址及該第二請求位址兩者皆以遠端受控器為目標。另外,若一遠端受控器位址請求以一遠端受控器為目標且以一本端受控器為目標之一本端受控器請求位址在該遠端受控器位址請求之後,則該定製規則阻斷該本端受控器位址請求,直至遠端受控器寫入資料已自該複數個互連件中之一互連件之一各別主控器埠移除為止。在另一態樣中,若與一本端受控器之寫入資料相關聯的一本端受控器位址請求以
一本端受控器為目標,一遠端受控器位址請求以一遠端受控器為目標,且該遠端受控器位址請求在該本端受控器位址請求之後被接收,則該定製規則阻斷該遠端受控器位址請求,直至該本端受控器之寫入資料自該複數個互連件中之一互連件上之一各別主控器埠移除以後為止。
在另一實例中,提供一種非暫時性電腦可讀媒體,其包含儲存於其上之指令,若藉由一處理器執行,則該等指令使得該處理器執行前述方法之至少一部分。該非暫時性電腦可讀媒體可與一器件整合在一起,該器件諸如行動器件、音樂播放器、視訊播放器、娛樂單元、導航器件、通信器件、個人數位助理(PDA)、固定位置資料單元及/或電腦。
在另一實例中,提供一種經組態以減輕匯流排鎖死之裝置。該裝置包括用於基於一網路拓撲及一訊務設定檔來定義用於複數個主控器與複數個受控器之間經由複數個互連件之資料輸送之一定製投送規則的構件。定製投送表之定義可為靜態的或動態的。該定製規則可允許在於該複數個互連件中之一互連件處接收與一請求位址相關聯之寫入資料之前該請求位址在該互連件處於仲裁之一第一階段中進行仲裁,且不允許該請求位址在仲裁之一後續第二階段期間進行仲裁,除非該請求位址具有對應寫入資料。在另一態樣中,該定製規則可允許在於該複數個互連件中之一互連件處接收與第一請求位址及第二請求位址相關聯之各別寫入資料之前該第一請求位址及該第二請求位址在該互連件處進行仲裁,其中該第一請求位址及該第二請求位址兩者皆以遠端受控器為目標。若一遠端受控器位址請求以一遠端受控器為目標且以一本端受控器為目標之一本端受控器請求位址在該遠端受控器位址請求之後,則該定製規則可阻斷該本端受控器位址請求,直至遠端受控器寫入資料已自該複數個互連件中之一互連件之一各別主控器
埠移除為止。在另一實例中,若與一本端受控器之寫入資料相關聯的一本端受控器位址請求以一本端受控器為目標,一遠端受控器位址請求以一遠端受控器為目標,且該遠端受控器位址請求在該本端受控器位址請求之後被接收,則該定製規則阻斷該遠端受控器位址請求,直至該本端受控器之寫入資料自該複數個互連件中之一互連件上之一各別主控器埠移除以後為止。
該裝置之至少一部分可整合於一半導體晶粒中。另外,該裝置之至少一部分可與一器件之至少一者整合在一起,該器件諸如行動器件、機上盒、音樂播放器、視訊播放器、娛樂單元、導航器件、通信器件、個人數位助理(PDA)、固定位置資料單元、電腦、特殊應用積體電路、晶片上系統(SoC)積體電路之一部分、基地台、微控制器及/或資料處理器件。在另一實例中,提供一種非暫時性電腦可讀媒體,其包含儲存於其上之指令,若藉由一微影器件執行,則該等指令使得該微影器件製造該裝置之至少一部分。
在另一實例中,提供一種經組態以減輕匯流排鎖死之裝置。該裝置包括一處理器,該處理器經組態以基於一網路拓撲及一訊務設定檔來定義用於複數個主控器與複數個受控器之間經由複數個互連件之資料輸送之一定製投送規則。定製投送表之定義可為靜態的或動態的。該定製規則可允許在於該複數個互連件中之一第二互連件處接收與一請求位址相關聯之寫入資料之前該請求位址在該複數個互連件中之一第一互連件處於仲裁之一第一階段中進行仲裁,且不允許該請求位址在仲裁之一後續第二階段期間進行仲裁,除非該請求位址打敗其他競爭位址請求。該定製規則可允許在於該複數個互連件中之一互連件處接收與第一請求位址及第二請求位址相關聯之各別寫入資料之前該第一請求位址及該第二請求位址在該互連件處進行仲裁,其中該第一請求位址及該第二請求位址兩者皆以遠端受控器為目標。若一遠端
受控器位址請求以一遠端受控器為目標且以一本端受控器為目標之一本端受控器請求位址在該遠端受控器位址請求之後,則該定製規則可阻斷該本端受控器位址請求,直至遠端受控器寫入資料已自該複數個互連件中之一互連件之一各別主控器埠移除為止。在另一實例中,若與一本端受控器之寫入資料相關聯的一本端受控器位址請求以一本端受控器為目標,一遠端受控器位址請求以一遠端受控器為目標,且該遠端受控器位址請求在該本端受控器位址請求之後被接收,則該定製規則阻斷該遠端受控器位址請求,直至該本端受控器之寫入資料自該複數個互連件中之一互連件上之一各別主控器埠移除以後為止。該裝置可與特殊應用積體電路、晶片上系統(SoC)積體電路之一部分、基地台、微控制器及/或資料處理器件中之至少一者整合在一起。
該裝置之至少一部分可整合於一半導體晶粒中。另外,該裝置之至少一部分可與一器件之至少一者整合在一起,該器件諸如行動器件、機上盒、音樂播放器、視訊播放器、娛樂單元、導航器件、通信器件、個人數位助理(PDA)、固定位置資料單元、電腦、特殊應用積體電路、晶片上系統(SoC)積體電路之一部分、基地台、微控制器及/或資料處理器件。在另一實例中,提供一種非暫時性電腦可讀媒體,其包含儲存於其上之指令,若藉由一微影器件執行,則該等指令使得該微影器件製造該裝置之至少一部分,該裝置諸如一積體電路,該積體電路包含一處理器,該處理器經組態以基於一網路拓撲及訊務設定檔來定義用於複數個主控器與複數個受控器之間經由複數個互連件之資料輸送的一定製投送規則。
前文已廣泛地概述了本發明之教示的特徵及技術優點以便可較佳理解以下【實施方式】及圖式。額外特徵及優點亦描述於【實施方式】中。概念及所揭示實施例可容易地用作修改或設計用於進行本發明之教示之相同目的之其他結構的基礎。該等等效構造不脫離如在申
請專利範圍中所闡述之教示之技術。自【實施方式】及隨附諸圖較佳地理解為該等教示之特性的新穎特徵連同其他目標及優點。諸圖中之每一者係僅出於說明及描述目的而提供,且不限制本發明之教示。
200‧‧‧例示性無線通信系統
220‧‧‧遠端單元
225A‧‧‧實施例
225B‧‧‧實施例
225C‧‧‧實施例
230‧‧‧遠端單元
240‧‧‧基地台
250‧‧‧遠端單元
280‧‧‧前向鏈路信號
290‧‧‧反向鏈路信號
A00‧‧‧位址
A01‧‧‧位址
A02‧‧‧位址
A03‧‧‧位址
A04‧‧‧位址
A15‧‧‧位址
A16‧‧‧位址/文數字代碼
A17‧‧‧位址
A18‧‧‧位址
A19‧‧‧位址
ARB0‧‧‧仲裁器
ARB1‧‧‧仲裁器
ARB2‧‧‧仲裁器
ARB3‧‧‧仲裁器
L0‧‧‧鏈路
L1‧‧‧鏈路
M0‧‧‧主控器
M1‧‧‧主控器
M3‧‧‧主控器
MPT0‧‧‧主控器埠
MPT1‧‧‧主控器埠
MPT4‧‧‧主控器埠
MPT5‧‧‧主控器埠
S0‧‧‧受控器
S1‧‧‧受控器
S2‧‧‧受控器
W00‧‧‧位址/寫入資料
W01‧‧‧位址/寫入資料
W02‧‧‧位址/寫入資料
W03‧‧‧位址/寫入資料
W04‧‧‧位址/寫入資料
W15‧‧‧位址
W16‧‧‧位址
W17‧‧‧位址/文數字代碼
W18‧‧‧位址
W19‧‧‧位址/寫入資料
X0‧‧‧互連件
X1‧‧‧互連件
X3‧‧‧互連件
呈現隨附圖式以描述本發明教示之實例,但其並非限制性的。
圖1描繪關於習知方法及裝置之考慮。
圖2描繪可有利地使用本發明之一實施例的例示性通信系統。
圖3描繪用於用以減輕匯流排鎖死之異動排序的例示性方法及裝置。
圖4描繪用於減輕匯流排鎖死之例示性方法。
根據慣例,藉由圖式所描繪之特徵可能並未按比例繪製。因此,為了清楚起見,所描繪特徵之尺寸可任意地擴大或減小。根據慣例,為了清楚起見,簡化了圖式中之一些。因此,圖式可不描繪特定裝置或方法之所有組件。另外,貫穿本說明書及諸圖,相同參考數字表示相同特徵。
提供用於用以避免匯流排鎖死之異動排序的方法及裝置。由本文中所揭示之例示性裝置及方法所提供的一優點為習知器件之上匯流排鎖死之減少。另一優點在於,本文中所揭示之例示性裝置及方法減輕了習知器件之上匯流排鎖死之效應。
在本申請案之正文及圖式中揭示當前教示之實例。該等實例有利地解決了長久以來之工業需要,以及其他先前所未識別之需要,且減輕了習知方法及裝置之缺點。在不脫離本發明之範疇的情況下可設計出替代實施例。另外,當前教示之習知元件可能未詳細描述,或可進行省略,以避免使得當前教示之態樣模糊。
在以下描述中,使用特定術語來描述特定特徵且其並非限制性的。如本文中所使用,除非上下文另外清楚地指示,否則單數形式「一」及「該」意欲亦包括複數形式。另外,術語「包含」及「包括」指定存在所陳述之特徵、整數、步驟、操作、元件及/或組件,但不排除存在或添加一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組。
本文中使用諸如「第一」、「第二」等之指定對特徵之任何引用不限制彼等特徵之數量及/或次序。實情為,將此等指定用作在兩個或兩個特徵及/或一特徵之例項之間進行區別的習知方法。因此,對第一及第二特徵之引用並不需要僅可使用兩個特徵,或第一特徵必須必要地在第二特徵之前。又,除非另外陳述,否則一組特徵可包含一或多個特徵。另外,描述或申請專利範圍中所使用之形式為「A、B或C中之至少一者」的術語可被解釋為「A或B或C或此等特徵之任何組合」。
如本文中所使用,術語「例示性」意謂「充當實例、例項或說明」。未必將描述為「例示性」之任何實施例解釋為比其他實施例更佳或有利。同樣,術語「本發明之實施例」並不要求本發明之所有實施例皆包括所論述之特徵、優點或操作模式。本說明書中對術語「在一個實例中」、「一實例」、「在一個特徵中」及/或「一特徵」之使用未必指代同一特徵及/或實例。另外,特定特徵及/或結構可與一或多個其他特徵及/或結構進行組合。
應注意,術語「連接」、「耦接」或其任何變體意謂兩個或兩個以上元件之間直接抑或間接之任何連接或耦接,且可涵蓋「連接」或「耦接」在一起之兩個元件之間的一或多個中間元件之存在。元件之間的耦接或連接可為實體的、邏輯的或其一組合。如本文中所使用,兩個元件可被視為採取以下方式「連接」或「耦接」在一起:藉由使
用一或多個電線、纜線及/或印刷電連接,以及藉由使用電磁能量,諸如,具有在射頻區域、微波區域及/或光學(可見的及不可見的兩者)區域(作為若干非限制性且非詳盡實例)中之波長的電磁能量。
應理解,術語「信號」可包括諸如資料信號、音訊信號、視訊信號及/或多媒體信號之任何信號。可使用多種不同技藝及技術中之任一者來表示資訊及信號。舉例而言,可藉由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示此描述中所引用之資料、指令、處理步驟、命令、資訊、信號、位元、符號及碼片。
術語「行動器件」包括但不限於行動電話、行動通信器件、個人數位助理、行動掌上電腦、無線器件及/或通常由人攜帶及/或具有某一形式之通信能力(例如,無線、紅外線、近程無線電,等等)的其他類型之攜帶型電子器件。
圖2描繪可有利地使用本發明之一實施例的例示性無線通信系統200。出於說明之目的,圖2展示三個遠端單元220、230及250以及兩個基地台240。無線通信系統200可具有更多遠端單元及/或更多基地台。遠端單元220、230及250包括如本文中進一步論述之本發明之實施例225A至225C中的至少一部分。圖2亦展示自基地台240至遠端單元220、230及250之前向鏈路信號280,以及自遠端單元220、230及250至基地台240之反向鏈路信號290。
在圖2中,將遠端單元220展示為行動電話,將遠端單元230展示為攜帶型電腦,且將遠端單元250展示為無線區域迴路系統中之固定位置遠端單元。在實例中,遠端單元230可為行動電話、手持型個人通信系統(PCS)單元、諸如個人資料助理之攜帶型資料單元、具備GPS功能之器件、導航器件、機上盒、音樂播放器、行動器件、視訊播放器、娛樂單元、儲存及/或擷取資料或電腦指令的任何其他器
件,及/或其任何組合。儘管圖2說明了根據本發明之教示之遠端單元,但本發明並不限於此等例示性所說明單元。本發明之實施例可合適地用於經歷習知技術之問題及/或可受益於所揭示之方法及器件之優點的任何器件中。
圖3描繪用於用以減輕匯流排鎖死之異動排序的例示性方法及裝置。減輕匯流排鎖死需要以不同於習知技術之次序的次序來投送請求。將請求及資料自一個互連匯流排上之主控器投送至另一互連匯流排上之受控器受益於本文中所描述之異動排序規則。基於拓撲及訊務設定檔,定義用於每一主控器/受控器之定製規則提供了改良匯流排效能且減輕匯流排鎖死的優點。
在一例示性實施例中,用以解決習知技術之問題的一個解決方案為使用一定製投送規則來指導耦接至互連件之每一主控器埠基於受控器跨越來投送訊務。舉例而言,經定製投送規則可要求若當前請求以與來自各別主控器之先前請求不同之受控器為目標則主控器埠必須總是阻斷來自彼各別主控器之該當前請求。當前請求被阻斷,直至先前請求之相關聯寫入資料已自主控器埠移除為止。此確保了在缺乏用於將相關聯資料投送至受控器之清楚路徑的情況下請求不會在一路徑上繞遠地投送至受控器。另外,若連續請求以同一受控器為目標,則不進行請求之阻斷。
在另一例示性實施例中,藉由在本端受控器與遠端受控器之間進行區別來執行請求及資料操控。舉例而言,參看圖3,受控器S0為針對主控器M0之本端受控器,此係因為本端受控器S0及主控器M0兩者執行經由同一互連件X0進行之彼此資料傳送而不必經由第二互連件(例如,互連件X1)傳送資料。又,受控器S1為針對主控器M0之遠端受控器,此係因為主控器M0與受控器S1之間的資料傳送需要經由一個以上互連件進行傳送。類似地,受控器S1為針對主控器M1之本
端受控器且受控器S0為針對主控器M1之遠端受控器。在投送期間,在主控器埠MPT#(例如,用於主控器M#之各別主控器埠MPT)處應用以下定製投送規則中之至少一者:
1.當以遠端受控器為目標之請求必須經歷一個以上仲裁階段且在主控器埠MPT中無資料可用時,允許僅在第一階段中仲裁該請求。除仲裁之第一階段以外,該請求不可經仲裁,直至該請求具有在仲裁中打敗其他者之對應第一資料或在仲裁中打敗其他者之所有資料為止。舉例而言,在圖3中,請求位址A00可經由鏈路L0發送至互連件X1,其中在主控器埠MPT0中無寫入資料W00,但當請求位址A00到達主控器埠MPT4時,在請求位址A00可經仲裁(經由仲裁器ARB1)以被發送至受控器S1之前,請求位址A00必須等候寫入資料W00在主控器埠MPT4中可用。
2.在仲裁之第一階段期間,不需要阻斷以相同或不同遠端受控器為目標之兩個連續請求。舉例而言,在圖3中,主控器M3可使連續請求在受控器S0與受控器S2之間往復,而不等候對應寫入資料在仲裁中打敗其他排入佇列資料。
3.當存在兩個連續請求時,其中第一請求以遠端受控器為目標且第二請求以本端受控器為目標,本端受控器請求被阻斷直至遠端受控器寫入資料已自各別主控器埠移除為止,此係因為不能保證遠端受控器請求將在仲裁之第二階段中勝出且將成為針對端點之佇列之首領。舉例而言,在圖3中,請求位址A04將不發送至受控器S0,直至寫入資料W00、W01、W02及W03自主控器埠MPT0移除為止。
4.當存在兩個連續請求時,其中第一請求以本端受控器為目標且第二請求以遠端受控器為目標,遠端受控器請求不被阻斷直至各別寫入資料自各別主控器埠移除為止。即使遠端受控器請求已轉遞至遠端受控器,但由於以上規則#1,因此該遠端受控器請求必須在另一互連
件上等候。
5.頻繁地(或總是)以本端受控器為目標及/或頻繁地(總是)以遠端受控器為目標之主控器需要遵循以上規則,且可在不等候資料在各別互連件MPT中可用的情況下調度請求。
在一態樣中,可就每一主控器定義若干規則,但並非將總是應用所有規則。在特定情形下,放鬆用於主控器及/或受控器之一些規則可改良輸送量。經組態以執行本文中所描述之技術的硬體可自我偵測網路拓撲、訊務設定檔及資料流,且動態地改變規則設定。定義不同規則及/或規則之集合給出了用以改變操作模式之軟體靈活性。
在另一實例中,在規則之低功率模式切換期間,基於來自受控器及其他互連件之狀態,主控器可動態地切換排序規則以改良網路效能且減輕匯流排鎖死。
一例示性裝置包括一耦接至圖3中所描繪之至少一器件的處理器。該處理器可經組態以執行本文中所描述之方法的至少一部分。
圖4描繪用於減輕匯流排鎖死之例示性方法400。用於減輕匯流排鎖死之方法可藉由特此描述之裝置來執行,諸如,圖3中所描繪之裝置。
在步驟405中,基於網路拓撲及訊務設定檔動態地定義用於複數個主控器與複數個受控器之間經由複數個互連件的資料輸送之定製投送規則。在實例中,該定製投送規則可為本文中所詳述之投送規則中的至少一者(且可排除習知技術)。
在步驟410中,使用定製投送規則在複數個互連件之間投送資料。
在一例示性實施例中,經組態以執行本文中所描述之方法之至少一部分的電路可與以下各者中之至少一者整合在一起:特殊應用積體電路(ASIC)、晶片上系統(SoC)積體電路之一部分、基地台、行動
器件、微控制器、資料處理器件、及/或電腦。
在一些態樣中,本文中之教示可在能夠藉由共用可用系統資源(例如,藉由指定頻寬、傳輸功率、寫碼、交錯等中之一或多者)而支援與多個使用者之通信的多重存取系統中使用。舉例而言,本文中之教示可應用於以下技術中之任一者或組合:分碼多重存取(CDMA)系統、多載波CDMA(MCCDMA)、寬頻CDMA(W-CDMA)、高速封包存取(HSPA,HSPA+)系統、分時多重存取(TDMA)系統、分頻多重存取(FDMA)系統、單載波FDMA(SC-FDMA)系統、正交分頻多重存取(OFDMA)系統、或其他多重存取技術。使用本文中之教示的無線通信系統可經設計以實施一或多個標準,諸如IS-95、cdma2000、IS-856、W-CDMA、TDSCDMA及其他標準。CDMA網路可實施諸如通用陸地無線電存取(UTRA)、cdma2000及某一其他技術之無線電技術。UTRA包括W-CDMA及低碼片速率(LCR)。cdma2000技術涵蓋IS-2000、IS-95及IS-856標準。TDMA網路可實施諸如全球行動通信系統(GSM)之無線電技術。OFDMA網路可實施諸如演進型UTRA(E-UTRA)、IEEE 802.11、IEEE 802.16、IEEE 802.20、Flash-OFDM.RTM.等之無線電技術。UTRA、E-UTRA及GSM為通用行動電信系統(UMTS)之一部分。本文中之教示可實施於3GPP長期演進(LTE)系統、超行動寬頻(UMB)系統及其他類型之系統中。LTE為使用E-UTRA之UMTS之版本。UTRA、E-UTRA、GSM、UMTS及LTE描述於來自名為「第3代合作夥伴計劃」(3GPP)之組織之文獻中,而cdma2000描述於來自名為「第3代合作夥伴計劃2」(3GPP2)之組織之文獻中。儘管可使用3GPP術語來描述本發明之特定態樣,但應理解,本文中之教示可應用於3GPP(例如,Re199、Re15、Re16、Re17)技術,以及3GPP2(例如,1xRTT、1xEV-DO RelO、RevA、RevB)技術及其他技術。該等技術可用於新興及將來網路及介面,包括長期演
進(LTE)。
熟習此項技術者將瞭解,可使用多種不同技藝及技術中之任一者來表示資訊及信號。舉例而言,可藉由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子及/或其任何組合來表示可能貫穿以上描述而引用之資料、指令、命令、資訊、信號、位元、符號及碼片。另外,熟習此項技術者應瞭解,結合本文中所揭示之實施例所描述之各種說明性邏輯區塊、模組、電路及演算法步驟可實施為電子硬體、電腦軟體或電子硬體與電腦軟體兩者之組合。為了清楚地說明硬體與軟體之此可互換性,已大體上在其功能性方面描述了各種說明性組件、區塊、模組、電路及步驟。將該功能性實施為硬體及/或軟體視特定系統之應用及設計約束而定。熟習此項技術者可針對每一特定應用以變化之方式實施所描述之功能性,但不應將該等實施決策解釋為導致脫離本發明之範疇。
結合本文中所揭示之實施例所描述之方法、序列及/或演算法的至少一部分可直接以硬體體現,以由處理器執行之軟體模組體現,或以該硬體及軟體模組兩者之組合體現。在一實例中,處理器包括多個離散硬體組件。軟體模組可駐存於RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、抽取式碟片、CD-ROM,及/或此項技術中已知之任何其他形式之儲存媒體中。例示性儲存媒體可耦接至處理器,使得處理器可自儲存媒體讀取資訊及將資訊寫入至儲存媒體。在替代例中,儲存媒體可與處理器成一體式。本發明之一實施例可包括一體現本文中所描述之方法的電腦可讀媒體。因此,本發明並不限於所說明實例且用於執行本文中所描述之功能性的任何構件包括於本發明之實施例中。實施例可包括體現指令之機器可讀媒體及/或電腦可讀媒體,當藉由處理器執行時該等指令將處理器及任何其他合作器件變換為用於執行特此描述之功能之
機器。
另外,許多實施例係按照待由(例如)計算器件之元件執行之動作序列來進行描述。本文中所描述之各種動作可由特定電路(例如,特殊應用積體電路(ASIC))執行、由正由一或多個處理器執行之程式指令執行或由該兩者之組合執行。另外,本文中所描述之動作的序列可被視為完全在其中儲存有電腦指令之對應集合的任何形式之電腦可讀儲存媒體內體現,該等電腦指令在執行之後使得相關聯處理器執行本文中所描述之功能性。因此,本發明之態樣可以眾多不同形式體現,所有該等不同形式已預期在所主張之標的物之範疇內。另外,對於本文中所描述之實施例中的每一者而言,任何該等實施例之對應電路可在本文中被描述為(例如)「經組態以」執行所描述動作之「邏輯」。
所揭示之器件及方法可經設計且可經組態至一電腦可執行檔案中,該電腦可執行檔案呈圖形資料庫系統二(GDSII)相容格式、開放式原圖系統交換標準(OASIS)相容格式,及/或GERBER(例如,RS-274D、RS-274X等)相容格式,該等格式係儲存於電腦可讀媒體上。可將該檔案提供至製造處置者,該製造處置者使用該檔案來藉由微影器件製造整合式器件。在一實例中,該整合式器件係在半導體晶圓上製造。可該半導體晶圓切割為半導體晶粒且封裝至半導體晶片中。半導體晶片可在本文中所描述之器件(例如,行動器件)中使用。
本文中所陳述或所說明之任何內容皆不意欲導致任何組件、步驟、特徵、物件、權利、優點或針對公眾之等效物的專用,而不管該組件、步驟、特徵、物件、權利、優點或等效物是否在申請專利範圍中得以敍述。雖然本發明描述了本發明之例示性實施例,但應注意,在不脫離如由附加申請專利範圍所界定的本發明之範疇的情況下,可在本文中進行各種改變及修改。
A00‧‧‧位址
A01‧‧‧位址
A02‧‧‧位址
A03‧‧‧位址
A04‧‧‧位址
A15‧‧‧位址
A16‧‧‧位址/文數字代碼
A17‧‧‧位址
A18‧‧‧位址
A19‧‧‧位址
ARB0‧‧‧仲裁器
ARB1‧‧‧仲裁器
ARB2‧‧‧仲裁器
ARB3‧‧‧仲裁器
L0‧‧‧鏈路
L1‧‧‧鏈路
M0‧‧‧主控器
M1‧‧‧主控器
M3‧‧‧主控器
MPT0‧‧‧主控器埠
MPT1‧‧‧主控器埠
MPT4‧‧‧主控器埠
MPT5‧‧‧主控器埠
S0‧‧‧受控器
S1‧‧‧受控器
S2‧‧‧受控器
W00‧‧‧位址/寫入資料
W01‧‧‧位址/寫入資料
W02‧‧‧位址/寫入資料
W04‧‧‧位址/寫入資料
W15‧‧‧位址
W16‧‧‧位址
W17‧‧‧位址/文數字代碼
W18‧‧‧位址
W19‧‧‧位址/寫入資料
X0‧‧‧互連件
X1‧‧‧互連件
X3‧‧‧互連件
Claims (26)
- 一種用於在一互連器件減輕匯流排鎖死之方法,其包含:於該互連器件接收具有一第一請求位址之一第一投送請求;於該互連器件接收具有一第二請求位址之一第二投送請求;於該互連器件接收與該第一請求位址相關聯之寫入資料之前,相對該第二投送請求而第一階段仲裁該第一投送請求;及阻斷於該互連器件之第二階段仲裁該第一投送請求直至於該互連器件接收與該第一請求位址相關聯之該寫入資料為止。
- 如請求項1之方法,其進一步包含:於該互連器件接收與該第一請求位址相關聯之該寫入資料;及在接收與該第一請求位址相關聯之該寫入資料後,第二階段仲裁該第一請求位址。
- 如請求項1之方法,其中在接收與該第二請求位址相關聯之第二寫入資料前執行該第一階段仲裁,且其中該第一請求位址及該第二請求位址兩者皆以遠端受控器件為目標。
- 如請求項1之方法,其中該第一請求位址係一遠端受控器件請求位址,與該第一請求位址相關聯之該寫入資料係遠端受控器件寫入資料,該第二請求位址係在接收該第一請求位址之後隨即接收之一本地受控器件請求位址,且該方法進一步包含阻斷該本地受控器件請求位址直至該遠端受控器件寫入資料已自該互連器件之一各別主控器埠移除為止。
- 如請求項1之方法,其中該第一請求位址係一本地受控器件請求位址,與該第一請求位址相關聯之該寫入資料係本地受控器件寫入資料,該第二請求位址係在接收該第一請求位址之後隨即 接收之一遠端受控器件請求位址,且該方法進一步包含阻斷該遠端受控器件請求位址直至在該本地受控器件寫入資料已自該互連器件之一各別主控器埠移除為止。
- 一種經組態以在一互連器件減輕匯流排鎖死之裝置,其包含:用於在該互連器件接收具有一第一請求位址之一第一投送請求之構件;用於在該互連器件接收具有一第二請求位址之一第二投送請求之構件;用於在該互連器件接收與該第一請求位址相關聯之寫入資料之前相對該第二投送請求而第一階段仲裁該第一投送請求之構件;及用於阻斷於該互連器件之第二階段仲裁該第一投送請求直至於該互連器件接收與該第一請求位址相關聯之該寫入資料為止之構件。
- 如請求項6之裝置,其進一步包含:用於在該互連器件接收與該第一請求位址相關聯之該寫入資料之構件;及用於在接收與該第一請求位址相關聯之該寫入資料後第二階段仲裁該第一請求位址之構件。
- 如請求項6之裝置,其中在接收與該第二請求位址相關聯之第二寫入資料前執行該第一階段仲裁,且其中該第一請求位址及該第二請求位址兩者皆以遠端受控器件為目標。
- 如請求項6之裝置,其中該第一請求位址係一遠端受控器件請求位址,與該第一請求位址相關聯之該寫入資料係遠端受控器件寫入資料,該第二請求位址係在接收該第一請求位址之後隨即接收之一本地受控器件請求位址,且該裝置進一步包含用於阻 斷該本地受控器件請求位址直至該遠端受控器件寫入資料已自該互連器件之一各別主控器埠移除為止之構件。
- 如請求項6之裝置,其中該第一請求位址係一本地受控器件請求位址,與該第一請求位址相關聯之該寫入資料係本地受控器件寫入資料,該第二請求位址係在接收該第一請求位址之後隨即接收之一遠端受控器件請求位址,且該裝置進一步包含用於阻斷該遠端受控器件請求位址直至在該本地受控器件寫入資料已自該互連器件之一各別主控器埠移除為止之構件。
- 如請求項6之裝置,其中該裝置之至少一部分係整合在一半導體晶粒上。
- 如請求項6之裝置,其進一步包含一特殊應用積體電路、一晶片上系統(SoC)積體電路之一部分、一基地台、一行動器件、一微控制器、一資料處理器件或一電腦中之至少一者,該裝置與該至少一者整合在一起。
- 一種經組態以在一互連器件減輕匯流排鎖死之裝置,其包含一處理器,該處理器經組態以:於該互連器件接收具有一第一請求位址之一第一投送請求;於該互連器件接收具有一第二請求位址之一第二投送請求;於該互連器件接收與該第一請求位址相關聯之寫入資料之前,相對該第二投送請求而第一階段仲裁該第一投送請求;及阻斷於該互連器件之第二階段仲裁該第一投送請求直至於該互連器件接收與該第一請求位址相關聯之該寫入資料為止。
- 如請求項13之裝置,其中該處理器進一步經組態以:於該互連器件接收與該第一請求位址相關聯之該寫入資料;及在接收與該第一請求位址相關聯之該寫入資料後,第二階段 仲裁該第一請求位址。
- 如請求項13之裝置,其中在接收與該第二請求位址相關聯之第二寫入資料前執行該第一階段仲裁,且其中該第一請求位址及該第二請求位址兩者皆以遠端受控器件為目標。
- 如請求項13之裝置,其中該第一請求位址係一遠端受控器件請求位址,與該第一請求位址相關聯之該寫入資料係遠端受控器件寫入資料,該第二請求位址係在接收該第一請求位址之後隨即接收之一本地受控器件請求位址,且該處理器進一步經組態以阻斷該本地受控器件請求位址直至該遠端受控器件寫入資料已自該互連器件之一各別主控器埠移除為止。
- 如請求項15之裝置,其中該第一請求位址係一本地受控器件請求位址,與該第一請求位址相關聯之該寫入資料係本地受控器件寫入資料,該第二請求位址係在接收該第一請求位址之後隨即接收之一遠端受控器件請求位址,且該處理器進一步經組態以阻斷該遠端受控器件請求位址直至在該本地受控器件寫入資料已自該互連器件之一各別主控器埠移除為止。
- 如請求項15之裝置,其中該裝置之至少一部分係整合在一半導體晶粒上。
- 如請求項15之裝置,其進一步包含一特殊應用積體電路、一晶片上系統(SoC)積體電路之一部分、一基地台、一行動器件、一微控制器、一資料處理器件或一電腦中之至少一者,該裝置與該至少一者整合在一起。
- 一種非暫時性電腦可讀媒體,其包含儲存於其上之處理器可執行指令,該等指令經組態以使該處理器:於該互連器件接收具有一第一請求位址之一第一投送請求;於該互連器件接收具有一第二請求位址之一第二投送請求; 於該互連器件接收與該第一請求位址相關聯之寫入資料之前,相對該第二投送請求而第一階段仲裁該第一投送請求;及阻斷於該互連器件之第二階段仲裁該第一投送請求直至於該互連器件接收與該第一請求位址相關聯之該寫入資料為止。
- 如請求項20之非暫時性電腦可讀媒體,其進一步包含一特殊應用積體電路、一晶片上系統(SoC)積體電路之一部分、一基地台、一行動器件、一微控制器、一資料處理器件或一電腦,該非暫時性電腦可讀媒體與該至少一者整合在一起。
- 如請求項20之非暫時性電腦可讀媒體,其中該等指令經組態以進一步使該處理器:於該互連器件接收與該第一請求位址相關聯之該寫入資料;及在接收與該第一請求位址相關聯之該寫入資料後,第二階段仲裁該第一請求位址。
- 如請求項20之非暫時性電腦可讀媒體,其中該等指令進一步經組態以使該處理器在接收與該第二請求位址相關聯之第二寫入資料前執行該第一階段仲裁,且其中該第一請求位址及該第二請求位址兩者皆以目標遠端受控器件為目標。
- 如請求項20之非暫時性電腦可讀媒體,其中該第一請求位址係一遠端受控器件請求位址,與該第一請求位址相關聯之該寫入資料係遠端受控器件寫入資料,該第二請求位址係在接收該第一請求位址之後隨即接收之一本地受控器件請求位址,且該等指令進一步經組態以使該處理器阻斷該本地受控器件請求位址直至該遠端受控器件寫入資料已自該互連器件之一各別主控器埠移除為止。
- 如請求項20之非暫時性電腦可讀媒體,其中該第一請求位址係 一本地受控器件請求位址,與該第一請求位址相關聯之該寫入資料係本地受控器件寫入資料,該第二請求位址係在接收該第一請求位址之後隨即接收之一遠端受控器件請求位址,且該等指令進一步經組態以使該處理器阻斷該遠端受控器件請求位址直至在該本地受控器件寫入資料已自該互連器件之一各別主控器埠移除為止。
- 一種非暫時性電腦可讀媒體,其包含儲存於其上之微影器件可執行指令,該等指令經組態以使一微影器件製造一處理器,該處理器經組態以:於一互連器件接收具有一第一請求位址之一第一投送請求;於該互連器件接收具有一第二請求位址之一第二投送請求;於該互連器件接收與該第一請求位址相關聯之寫入資料之前,相對該第二投送請求而第一階段仲裁該第一投送請求;及阻斷於該互連器件之第二階段仲裁該第一投送請求直至於該互連器件接收與該第一請求位址相關聯之該寫入資料為止。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261589582P | 2012-01-23 | 2012-01-23 | |
US13/669,629 US20130191572A1 (en) | 2012-01-23 | 2012-11-06 | Transaction ordering to avoid bus deadlocks |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201346575A TW201346575A (zh) | 2013-11-16 |
TWI489288B true TWI489288B (zh) | 2015-06-21 |
Family
ID=48798191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102102519A TWI489288B (zh) | 2012-01-23 | 2013-01-23 | 避免匯流排鎖死之異動排序 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20130191572A1 (zh) |
EP (2) | EP2899642A1 (zh) |
JP (1) | JP2015508193A (zh) |
KR (1) | KR20140125391A (zh) |
CN (1) | CN104067250A (zh) |
TW (1) | TWI489288B (zh) |
WO (1) | WO2013112612A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8885510B2 (en) | 2012-10-09 | 2014-11-11 | Netspeed Systems | Heterogeneous channel capacities in an interconnect |
US20160062930A1 (en) * | 2013-03-25 | 2016-03-03 | Mitsubishi Electric Corporation | Bus master, bus system, and bus control method |
US9471726B2 (en) | 2013-07-25 | 2016-10-18 | Netspeed Systems | System level simulation in network on chip architecture |
US9473388B2 (en) | 2013-08-07 | 2016-10-18 | Netspeed Systems | Supporting multicast in NOC interconnect |
US9294354B2 (en) * | 2013-10-24 | 2016-03-22 | Netspeed Systems | Using multiple traffic profiles to design a network on chip |
US9699079B2 (en) | 2013-12-30 | 2017-07-04 | Netspeed Systems | Streaming bridge design with host interfaces and network on chip (NoC) layers |
US9473415B2 (en) | 2014-02-20 | 2016-10-18 | Netspeed Systems | QoS in a system with end-to-end flow control and QoS aware buffer allocation |
US9742630B2 (en) | 2014-09-22 | 2017-08-22 | Netspeed Systems | Configurable router for a network on chip (NoC) |
US9571341B1 (en) | 2014-10-01 | 2017-02-14 | Netspeed Systems | Clock gating for system-on-chip elements |
US9602464B2 (en) * | 2014-12-12 | 2017-03-21 | Intel Corporation | Apparatus, system and method for allocating identifiers to components of a control system |
US9660942B2 (en) | 2015-02-03 | 2017-05-23 | Netspeed Systems | Automatic buffer sizing for optimal network-on-chip design |
US9444702B1 (en) | 2015-02-06 | 2016-09-13 | Netspeed Systems | System and method for visualization of NoC performance based on simulation output |
US9928204B2 (en) | 2015-02-12 | 2018-03-27 | Netspeed Systems, Inc. | Transaction expansion for NoC simulation and NoC design |
US9568970B1 (en) | 2015-02-12 | 2017-02-14 | Netspeed Systems, Inc. | Hardware and software enabled implementation of power profile management instructions in system on chip |
US10050843B2 (en) | 2015-02-18 | 2018-08-14 | Netspeed Systems | Generation of network-on-chip layout based on user specified topological constraints |
US10348563B2 (en) | 2015-02-18 | 2019-07-09 | Netspeed Systems, Inc. | System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology |
US9825809B2 (en) | 2015-05-29 | 2017-11-21 | Netspeed Systems | Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip |
US9864728B2 (en) | 2015-05-29 | 2018-01-09 | Netspeed Systems, Inc. | Automatic generation of physically aware aggregation/distribution networks |
US10218580B2 (en) | 2015-06-18 | 2019-02-26 | Netspeed Systems | Generating physically aware network-on-chip design from a physical system-on-chip specification |
US10025741B2 (en) * | 2016-01-13 | 2018-07-17 | Samsung Electronics Co., Ltd. | System-on-chip, mobile terminal, and method for operating the system-on-chip |
US10452124B2 (en) | 2016-09-12 | 2019-10-22 | Netspeed Systems, Inc. | Systems and methods for facilitating low power on a network-on-chip |
KR20180062807A (ko) | 2016-12-01 | 2018-06-11 | 삼성전자주식회사 | 시스템 인터커넥트 및 이를 포함하는 시스템 온 칩 |
US20180159786A1 (en) | 2016-12-02 | 2018-06-07 | Netspeed Systems, Inc. | Interface virtualization and fast path for network on chip |
US10313269B2 (en) | 2016-12-26 | 2019-06-04 | Netspeed Systems, Inc. | System and method for network on chip construction through machine learning |
US10063496B2 (en) | 2017-01-10 | 2018-08-28 | Netspeed Systems Inc. | Buffer sizing of a NoC through machine learning |
US10084725B2 (en) | 2017-01-11 | 2018-09-25 | Netspeed Systems, Inc. | Extracting features from a NoC for machine learning construction |
US10469337B2 (en) | 2017-02-01 | 2019-11-05 | Netspeed Systems, Inc. | Cost management against requirements for the generation of a NoC |
US10298485B2 (en) | 2017-02-06 | 2019-05-21 | Netspeed Systems, Inc. | Systems and methods for NoC construction |
US20190020586A1 (en) * | 2017-07-14 | 2019-01-17 | Qualcomm Incorporated | Selective insertion of a deadlock recovery buffer in a bus interconnect for deadlock recovery |
US11144457B2 (en) | 2018-02-22 | 2021-10-12 | Netspeed Systems, Inc. | Enhanced page locality in network-on-chip (NoC) architectures |
US10547514B2 (en) | 2018-02-22 | 2020-01-28 | Netspeed Systems, Inc. | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation |
US10983910B2 (en) | 2018-02-22 | 2021-04-20 | Netspeed Systems, Inc. | Bandwidth weighting mechanism based network-on-chip (NoC) configuration |
US10896476B2 (en) | 2018-02-22 | 2021-01-19 | Netspeed Systems, Inc. | Repository of integration description of hardware intellectual property for NoC construction and SoC integration |
US11176302B2 (en) | 2018-02-23 | 2021-11-16 | Netspeed Systems, Inc. | System on chip (SoC) builder |
US11023377B2 (en) | 2018-02-23 | 2021-06-01 | Netspeed Systems, Inc. | Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA) |
FR3094810B1 (fr) * | 2019-04-03 | 2023-01-13 | Thales Sa | Système sur puce comprenant une pluralité de ressources maitre |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572734A (en) * | 1991-09-27 | 1996-11-05 | Sun Microsystems, Inc. | Method and apparatus for locking arbitration on a remote bus |
US6260093B1 (en) * | 1998-03-31 | 2001-07-10 | Lsi Logic Corporation | Method and apparatus for arbitrating access to multiple buses in a data processing system |
US20020174229A1 (en) * | 2001-04-04 | 2002-11-21 | Owen Jonathan M. | System and method of maintaining coherency in a distributed communication system |
US20050044128A1 (en) * | 2003-08-18 | 2005-02-24 | Scott Steven L. | Decoupled store address and data in a multiprocessor system |
TW200723501A (en) * | 2005-04-29 | 2007-06-16 | Taiwan Semiconductor Mfg Co Ltd | System on chip development with reconfigurable multi-project wafer technology |
US20100162197A1 (en) * | 2008-12-18 | 2010-06-24 | Brion Technologies Inc. | Method and system for lithography process-window-maximixing optical proximity correction |
TW201032064A (en) * | 2008-11-06 | 2010-09-01 | Via Tech Inc | Method and system for supporting interaction of a plurality of graphics processing units |
TW201044311A (en) * | 2009-04-08 | 2010-12-16 | Nvidia Corp | System and method for deadlock-free pipelining |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5673399A (en) * | 1995-11-02 | 1997-09-30 | International Business Machines, Corporation | System and method for enhancement of system bus to mezzanine bus transactions |
US8285912B2 (en) * | 2009-08-07 | 2012-10-09 | Arm Limited | Communication infrastructure for a data processing apparatus and a method of operation of such a communication infrastructure |
US20130054852A1 (en) * | 2011-08-24 | 2013-02-28 | Charles Fuoco | Deadlock Avoidance in a Multi-Node System |
-
2012
- 2012-11-06 US US13/669,629 patent/US20130191572A1/en not_active Abandoned
-
2013
- 2013-01-23 CN CN201380006136.7A patent/CN104067250A/zh active Pending
- 2013-01-23 KR KR1020147023269A patent/KR20140125391A/ko not_active Application Discontinuation
- 2013-01-23 TW TW102102519A patent/TWI489288B/zh not_active IP Right Cessation
- 2013-01-23 EP EP15158870.4A patent/EP2899642A1/en not_active Withdrawn
- 2013-01-23 EP EP13707467.0A patent/EP2807569B1/en not_active Not-in-force
- 2013-01-23 JP JP2014553538A patent/JP2015508193A/ja active Pending
- 2013-01-23 WO PCT/US2013/022785 patent/WO2013112612A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572734A (en) * | 1991-09-27 | 1996-11-05 | Sun Microsystems, Inc. | Method and apparatus for locking arbitration on a remote bus |
US6260093B1 (en) * | 1998-03-31 | 2001-07-10 | Lsi Logic Corporation | Method and apparatus for arbitrating access to multiple buses in a data processing system |
US20020174229A1 (en) * | 2001-04-04 | 2002-11-21 | Owen Jonathan M. | System and method of maintaining coherency in a distributed communication system |
US20050044128A1 (en) * | 2003-08-18 | 2005-02-24 | Scott Steven L. | Decoupled store address and data in a multiprocessor system |
TW200723501A (en) * | 2005-04-29 | 2007-06-16 | Taiwan Semiconductor Mfg Co Ltd | System on chip development with reconfigurable multi-project wafer technology |
TW201032064A (en) * | 2008-11-06 | 2010-09-01 | Via Tech Inc | Method and system for supporting interaction of a plurality of graphics processing units |
US20100162197A1 (en) * | 2008-12-18 | 2010-06-24 | Brion Technologies Inc. | Method and system for lithography process-window-maximixing optical proximity correction |
TW201044311A (en) * | 2009-04-08 | 2010-12-16 | Nvidia Corp | System and method for deadlock-free pipelining |
Also Published As
Publication number | Publication date |
---|---|
US20130191572A1 (en) | 2013-07-25 |
CN104067250A (zh) | 2014-09-24 |
KR20140125391A (ko) | 2014-10-28 |
JP2015508193A (ja) | 2015-03-16 |
EP2807569A1 (en) | 2014-12-03 |
EP2899642A1 (en) | 2015-07-29 |
EP2807569B1 (en) | 2017-09-13 |
TW201346575A (zh) | 2013-11-16 |
WO2013112612A1 (en) | 2013-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI489288B (zh) | 避免匯流排鎖死之異動排序 | |
US10853304B2 (en) | System on chip including clock management unit and method of operating the system on chip | |
US9053058B2 (en) | QoS inband upgrade | |
CN107078959B (zh) | 用于减轻分布式非核结构中的业务量引导低效的系统和方法 | |
US8041870B1 (en) | Method and apparatus for dynamically granting access of a shared resource among a plurality of requestors | |
AU2014318238B2 (en) | Ascertaining command completion in flash memories | |
JP4287489B2 (ja) | 制限されたバス・アクセスを伴う時間領域分離を実装する通信装置 | |
US7266632B2 (en) | Programmable logic device including programmable interface core and central processing unit | |
US7673087B1 (en) | Arbitration for an embedded processor block core in an integrated circuit | |
KR101582058B1 (ko) | 고정된 우선 순위 아비터를 위한 적응 대역폭 할당 제공 | |
US7779190B2 (en) | Arbitration device for arbitrating among a plurality of master devices, arbitration method, and video processing device including the arbitration device | |
US20150149673A1 (en) | Fence management over multiple busses | |
US20140181349A1 (en) | Per-source ordering | |
US11275708B2 (en) | System on chip including clock management unit and method of operating the system on chip | |
JP2019507415A (ja) | バス所有権ハンドオフ技法 | |
US20180067877A1 (en) | Maintaining Ordering Requirements While Converting Protocols In A Communications Fabric | |
EP1820109B1 (en) | Time-based weighted round robin arbiter | |
EP3213203A1 (en) | System and method for managing safe downtime of shared resources within a pcd | |
CN107408092B (zh) | 用于多端口物理层(phy)的锁相环(pll)的共享控制 | |
US9082118B2 (en) | Transaction flow control using credit and token management | |
US11836026B1 (en) | System-on-chip with DVFM protection circuit | |
KR102326892B1 (ko) | 적응형 트랜잭션 처리 방법 및 이를 위한 장치 | |
GB2557225A (en) | Interconnect system | |
US20150227481A1 (en) | System interconnect and operating method of system interconnect | |
JP2006048530A (ja) | バススイッチ回路及びバススイッチシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |