避免總線鎖死的事務排序的制作方法
【專利摘要】本發(fā)明提供用于避免總線鎖死的事務排序的方法和設備。在示范性方法中,基于網(wǎng)絡拓撲和業(yè)務設定檔定義用于多個主控器與多個受控器之間經(jīng)由多個互連件的數(shù)據(jù)輸送的定制投送規(guī)則。在實例中,所述定制規(guī)則允許在于所述多個互連件中的第二互連件處接收與請求地址相關聯(lián)的寫入數(shù)據(jù)之前所述請求地址在所述多個互連件中的第一互連件處在仲裁的第一階段中進行仲裁,且不允許所述請求地址在仲裁的后續(xù)第二階段期間進行仲裁,除非所述請求地址打敗其它競爭地址請求。
【專利說明】避免總線鎖死的事務排序
[0001] 根據(jù)35U. S. C. § 119豐張優(yōu)先權
[0002] 本專利申請案主張2012年1月23日申請的題為"避免總線鎖死的事務排序 (TRANSACTION ORDERING TO AVOID BUS DEADLOCKS) " 的美國臨時專利申請案第 61/589, 582 號的優(yōu)先權,且所述案已讓與給其受讓人,且以引用的方式特此明確并入本文中。
【技術領域】
[0003] 本發(fā)明大體來說涉及電子學,且更具體來說(但非排他地),涉及用于減輕總線鎖 死的事務排序的設備和方法。
【背景技術】
[0004] 在移動系統(tǒng)芯片(SoC)中,芯片性能正變得越來越重要。SoC集成電路(1C)為 執(zhí)行相關功能的電路的群組集成到單一裸片或襯底上且在單一裸片或襯底上制造的系統(tǒng)。 SoCIC -股包含電路的功能塊,例如,微處理器、數(shù)字信號處理器、存儲器陣列、緩沖器,等 等。電路的這些功能塊有時稱作核心。所述功能塊各自電連接到SoC 1C內的互連總線,所 述功能塊經(jīng)由所述互連總線彼此且與連接到所述總線的任何其它裝置交換數(shù)據(jù)。
[0005] 在SoC中,例如主控器(S卩,起始器)的功能塊經(jīng)由提供子系統(tǒng)間數(shù)據(jù)傳送路徑的 互連總線(即,芯片上網(wǎng)絡(NoC))與例如受控器(目標)的功能塊通信。主控器發(fā)出對數(shù) 據(jù)(例如,請求地址)的請求且響應于所述請求來接收所請求數(shù)據(jù)(例如,寫入數(shù)據(jù))。主 控器的實例為處理器核心。受控器接收對數(shù)據(jù)的請求且將所請求數(shù)據(jù)提供到發(fā)請求的主控 器。受控器的實例包含受控處理器、顯示裝置(例如,圖形處理器)、存儲器(例如,快取存 儲器)、存儲器接口、外圍裝置、外圍接口、用戶輸入和/或輸出裝置、用戶輸入和/或輸出裝 置接口(例如,通用串列總線端口)。
[0006] 當兩個或兩個以上主控器和/或受控器試圖將數(shù)據(jù)置于互連總線上或自互連總 線檢索數(shù)據(jù)時,經(jīng)由互連總線的數(shù)據(jù)傳送之間的競爭發(fā)生。為了減少經(jīng)由互連總線的數(shù)據(jù) 傳送之間的競爭,常規(guī)技術將總線控制器并入于SoC 1C內。在SoC中常見的是具有經(jīng)由單 一互連總線或互連結的NoC彼此通信的多個主控器和多個受控器。因此,總線控制器通常 包含一仲裁器,所述仲裁器選擇授予哪一主控器在任何給定時間對受控器進行存取。在典 型互連總線中,將數(shù)據(jù)寫入到受控器的次序總是遵循地址的數(shù)字次序。如果主控器"贏得" 仲裁,那么自"勝出"主控器到被發(fā)送請求的受控器的寫入數(shù)據(jù)路徑鎖定到所述"勝出"主 控器,直到被發(fā)送請求的受控器接收到所有數(shù)據(jù)。換句話說,常規(guī)仲裁器僅提供順序存取, 所述順序存取產(chǎn)生總線鎖死。因此,常規(guī)仲裁器相對較為緩慢且低效,且可由于產(chǎn)生總線鎖 死而不利地影響系統(tǒng)性能。
[0007] 當多個數(shù)據(jù)傳送具有循環(huán)依賴性和/或沖突的優(yōu)先級時,總線鎖死發(fā)生。總線鎖 死鎖定互連總線的至少一部分,從而使得互連總線的受影響部分不能夠傳送被鎖定數(shù)據(jù), 不能夠接受新請求地址,和/或不能夠接受寫入數(shù)據(jù)。
[0008] 圖1描繪關于常規(guī)方法和設備的相關內容。在圖1和本文中所描述的其它實例中, 由文數(shù)字代碼(例如,W17、A16)來表示數(shù)據(jù)和數(shù)據(jù)輸送裝置。由以下關鍵字來定義本文中 所使用的縮寫:
[0009] X#指示特定互連總線和其唯一識別編號。
[0010] M#指示特定主控器/起始器(例如,微處理器)和其唯一識別編號。
[0011] S#指示例如受控器/目標(例如,存儲器陣列)的端點和其唯一識別編號。
[0012] L#指示兩個互連總線/NoC之間的鏈路和其唯一識別編號。
[0013] MPT#指示主控器所耦合到的互連總線的端口和其唯一識別編號。
[0014] ARB#指示總線仲裁器和其唯一識別編號。
[0015] A#指示請求地址和其唯一識別編號。第二數(shù)字反映產(chǎn)生與彼地址相關聯(lián)的請求 的主控器的主控器編號。例如,地址A0#(例如,A01)對應于來自主控器編號M0的請求,且 Al#(例如,A14)對應于來自主控器編號Ml的請求。第三數(shù)字指示順序請求編號。
[0016] W#指示對于對應請求地址(例如,A#)的寫入數(shù)據(jù)。為了易于可讀,自主控器發(fā)送 的特定寫入數(shù)據(jù)的編號等同于對應請求地址的編號。繼續(xù)先前段落的實例,在與通過主控 器M0發(fā)送的請求地址A01相關聯(lián)的情況下自主控器M0發(fā)送寫入數(shù)據(jù)W01。
[0017] 參看圖1,互連件X0、X1和X3獨立地操作,因此在互連件X0、X1和X3之間不存在 協(xié)調以相對于彼此來排序在每一互連總線上起始的事務。來自主控器的以遠端受控器為目 標的請求必須在位于主控器與遠端受控器之間的若干互連件中的每一者處經(jīng)歷至少一輪 仲裁。在圖1中所描繪的示范性事務中,當將常規(guī)仲裁技術應用于數(shù)據(jù)傳送的以下序列時, 源自循環(huán)依賴性的總線鎖死發(fā)生。
[0018] 主控器M0經(jīng)由主控器端口 ΜΡ--、仲裁器ARB2、互連件X0、鏈路L0、主控器端口 MPT4、仲裁器ARB1和互連件XI將具有地址A00、A01、A02和A03的請求發(fā)送到受控器S1。 主控器M0也經(jīng)由主控器端口 ΜΡΤ0、仲裁器ARB0和互連件X0將具有地址A04的請求發(fā)送到 受控器S0。主控器M0的請求地址A00在互連件X0處贏得仲裁器ARB2中的第一級仲裁, 但地址A00必須在互連件XI處經(jīng)歷仲裁器ARB1中的第二級仲裁。常規(guī)技術指示在互連件 XI上的請求地址A00的仲裁之前界定在互連件X0上的針對主控器M0的數(shù)據(jù)投送次序。當 NoC/SoC具有互連件的級聯(lián)(例如,多層互連件)時,常規(guī)技術不界定跨越層(例如,多個互 連件)的數(shù)據(jù)投送次序。
[0019] 接著,主控器Ml經(jīng)由主控器端口 1、仲裁器ARB1和互連件XI將具有地址A19的請 求發(fā)送到受控器S1。主控器Ml也經(jīng)由主控器端口 MPT1、仲裁器ARB3、互連件XI、鏈路L1、 主控器端口 MPT5、仲裁器ARB0和互連件X0將具有地址A15、A16、A17和A18的請求發(fā)送到 受控器S0。
[0020] 在序列中的此點,在受控器S1處具有地址A19的請求在具有地址A00、A01、A02和 A03的請求之前。另外,在受控器S0處具有地址A04的請求在具有地址A15、A16、A17和 A18的請求之前。
[0021] 主控器M0試圖經(jīng)由主控器端口 ΜΡΤ0、仲裁器ARB2、互連件X0、鏈路L0、主控器端 口 MPT4、仲裁器ARB1和互連件XI將具有地址W00、W01、W02和W03的數(shù)據(jù)發(fā)送到受控器 S1。主控器M0也試圖經(jīng)由主控器端口 ΜΡΤ0、仲裁器ARB0和互連件X0將具有地址W04的數(shù) 據(jù)發(fā)送到受控器S0。然而,由于常規(guī)仲裁技術,在主控器M0中寫入數(shù)據(jù)W04被卡于具有地 址W00、W01、W02和W03的數(shù)據(jù)后面,因此在受控器S0處具有地址A04的對應請求無法被實 現(xiàn)。
[0022] 主控器Ml試圖經(jīng)由主控器端口 1、仲裁器ARBI和互連件XI將具有地址W15、W16、 W17和W18的數(shù)據(jù)發(fā)送到受控器SO。主控器Ml也試圖經(jīng)由主控器端口 MPT1、仲裁器ARB3、 互連件XI、鏈路L1、主控器端口 MPT5、仲裁器ARB0和互連件X0將具有地址W19的數(shù)據(jù)發(fā)送 到受控器S1。然而,由于常規(guī)仲裁技術,在主控器Ml中寫入數(shù)據(jù)W19被卡于具有地址W15、 W16、W17和W18的數(shù)據(jù)后面,因此在受控器S1處具有地址A19的對應請求無法被實現(xiàn)。因 此,如此實例中所展示,應用常規(guī)仲裁技術導致源自循環(huán)依賴性的總線鎖死。
[0023] 因此,存在對于改進常規(guī)方法和設備的方法和設備的長久以來的行業(yè)需要,包含 用于避免總線鎖死的事務排序的設備和方法。
【發(fā)明內容】
[0024] 本【
【發(fā)明內容】
】提供對本發(fā)明的教示的一些方面的基本理解。本【
【發(fā)明內容】
】在細 節(jié)上并非詳盡的,且既不希望識別所有關鍵特征,也不希望限制權利要求書的范圍。
[0025] 提供用于減輕總線鎖死的示范性方法和設備。一種示范性方法包含基于網(wǎng)絡拓撲 和業(yè)務設定檔來定義用于多個主控器與多個受控器之間經(jīng)由多個互連件的數(shù)據(jù)輸送的定 制投送規(guī)則。定制投送表的定義可為靜態(tài)的或動態(tài)的。所述定制規(guī)則可允許在于所述多個 互連件中的一個互連件處接收與請求地址相關聯(lián)的寫入數(shù)據(jù)之前所述請求地址在所述互 連件處于仲裁的第一階段中進行仲裁,且不允許所述請求地址在仲裁的后續(xù)第二階段期間 進行仲裁,除非所述請求地址具有對應寫入數(shù)據(jù)。所述定制規(guī)則可允許在于所述多個互連 件中的一個互連件處接收與第一請求地址和第二請求地址相關聯(lián)的相應寫入數(shù)據(jù)之前所 述第一請求地址和所述第二請求地址在所述互連件處進行仲裁,其中所述第一請求地址和 所述第二請求地址兩者皆以遠端受控器為目標。另外,如果遠端受控器地址請求以遠端受 控器為目標且以本地受控器為目標的本地受控器請求地址在所述遠端受控器地址請求之 后,那么所述定制規(guī)則阻斷所述本地受控器地址請求,直到遠端受控器寫入數(shù)據(jù)已從所述 多個互連件中的一個互連件的相應主控器端口去除。在另一方面,如果與本地受控器的寫 入數(shù)據(jù)相關聯(lián)的本地受控器地址請求以本地受控器為目標,遠端受控器地址請求以遠端受 控器為目標,且所述遠端受控器地址請求在所述本地受控器地址請求之后被接收,那么所 述定制規(guī)則阻斷所述遠端受控器地址請求,直到所述本地受控器的寫入數(shù)據(jù)自所述多個互 連件中的一個互連件上的相應主控器端口去除以后。
[0026] 在另一實例中,提供一種非暫時性計算機可讀媒體,其包括存儲于其上的指令,如 果由處理器執(zhí)行,那么所述指令使得所述處理器執(zhí)行前述方法的至少一部分。所述非暫時 性計算機可讀媒體可與裝置集成在一起,所述裝置例如移動裝置、音樂播放器、視頻播放 器、娛樂單元、導航裝置、通信裝置、個人數(shù)字助理(PDA)、固定位置數(shù)據(jù)單元和/或計算機。
[0027] 在另一實例中,提供一種經(jīng)配置以減輕總線鎖死的設備。所述設備包含用于基于 網(wǎng)絡拓撲和業(yè)務設定檔來定義用于多個主控器與多個受控器之間經(jīng)由多個互連件的數(shù)據(jù) 輸送的定制投送規(guī)則的裝置。定制投送表的定義可為靜態(tài)的或動態(tài)的。所述定制規(guī)則可允 許在于所述多個互連件中的一個互連件處接收與請求地址相關聯(lián)的寫入數(shù)據(jù)之前所述請 求地址在所述互連件處于仲裁的第一階段中進行仲裁,且不允許所述請求地址在仲裁的后 續(xù)第二階段期間進行仲裁,除非所述請求地址具有對應寫入數(shù)據(jù)。在另一方面,所述定制規(guī) 則可允許在于所述多個互連件中的一個互連件處接收與第一請求地址和第二請求地址相 關聯(lián)的相應寫入數(shù)據(jù)之前所述第一請求地址和所述第二請求地址在所述互連件處進行仲 裁,其中所述第一請求地址和所述第二請求地址兩者皆以遠端受控器為目標。如果遠端受 控器地址請求以遠端受控器為目標且以本地受控器為目標的本地受控器請求地址在所述 遠端受控器地址請求之后,那么所述定制規(guī)則可阻斷所述本地受控器地址請求,直到遠端 受控器寫入數(shù)據(jù)已從所述多個互連件中的一個互連件的相應主控器端口去除。在另一實例 中,如果與本地受控器的寫入數(shù)據(jù)相關聯(lián)的本地受控器地址請求以本地受控器為目標,遠 端受控器地址請求以遠端受控器為目標,且所述遠端受控器地址請求在所述本地受控器地 址請求之后被接收,那么所述定制規(guī)則阻斷所述遠端受控器地址請求,直到所述本地受控 器的寫入數(shù)據(jù)自所述多個互連件中的一個互連件上的相應主控器端口去除以后。
[0028] 所述設備的至少一部分可集成于半導體裸片中。另外,所述設備的至少一部分可 與裝置的至少一者集成在一起,所述裝置例如為移動裝置、機頂盒、音樂播放器、視頻播放 器、娛樂單元、導航裝置、通信裝置、個人數(shù)字助理(PDA)、固定位置數(shù)據(jù)單元、計算機、專用 集成電路、系統(tǒng)芯片(SoC)集成電路的一部分、基站、微控制器和/或數(shù)據(jù)處理裝置。在另 一實例中,提供一種非暫時性計算機可讀媒體,其包括存儲于其上的指令,如果由光刻裝置 執(zhí)行,那么所述指令使得所述光刻裝置制造所述設備的至少一部分。
[0029] 在另一實例中,提供一種經(jīng)配置以減輕總線鎖死的設備。所述設備包含處理器,所 述處理器經(jīng)配置以基于網(wǎng)絡拓撲和業(yè)務設定檔來定義用于多個主控器與多個受控器之間 經(jīng)由多個互連件的數(shù)據(jù)輸送的定制投送規(guī)則。定制投送表的定義可為靜態(tài)的或動態(tài)的。所 述定制規(guī)則可允許在于所述多個互連件中的第二互連件處接收與請求地址相關聯(lián)的寫入 數(shù)據(jù)之前所述請求地址在所述多個互連件中的第一互連件處于仲裁的第一階段中進行仲 裁,且不允許所述請求地址在仲裁的后續(xù)第二階段期間進行仲裁,除非所述請求地址打敗 其它競爭地址請求。所述定制規(guī)則可允許在于所述多個互連件中的一個互連件處接收與第 一請求地址和第二請求地址相關聯(lián)的相應寫入數(shù)據(jù)之前所述第一請求地址和所述第二請 求地址在所述互連件處進行仲裁,其中所述第一請求地址和所述第二請求地址兩者皆以遠 端受控器為目標。如果遠端受控器地址請求以遠端受控器為目標且以本地受控器為目標的 本地受控器請求地址在所述遠端受控器地址請求之后,那么所述定制規(guī)則可阻斷所述本地 受控器地址請求,直到遠端受控器寫入數(shù)據(jù)已從所述多個互連件中的一個互連件的相應主 控器端口去除。在另一實例中,如果與本地受控器的寫入數(shù)據(jù)相關聯(lián)的本地受控器地址請 求以本地受控器為目標,遠端受控器地址請求以遠端受控器為目標,且所述遠端受控器地 址請求在所述本地受控器地址請求之后被接收,那么所述定制規(guī)則阻斷所述遠端受控器地 址請求,直到所述本地受控器的寫入數(shù)據(jù)自所述多個互連件中的一個互連件上的相應主控 器端口去除以后。所述設備可與專用集成電路、系統(tǒng)芯片(SoC)集成電路的一部分、基站、 微控制器和/或數(shù)據(jù)處理裝置中的至少一者集成在一起。
[0030] 所述設備的至少一部分可集成于半導體裸片中。另外,所述設備的至少一部分可 與裝置的至少一者集成在一起,所述裝置例如移動裝置、機頂盒、音樂播放器、視頻播放器、 娛樂單元、導航裝置、通信裝置、個人數(shù)字助理(PDA)、固定位置數(shù)據(jù)單元、計算機、專用集 成電路、系統(tǒng)芯片(SoC)集成電路的一部分、基站、微控制器和/或數(shù)據(jù)處理裝置。在另一 實例中,提供一種非暫時性計算機可讀媒體,其包括存儲于其上的指令,如果由光刻裝置執(zhí) 行,那么所述指令使得所述光刻裝置制造所述設備的至少一部分,所述設備例如集成電路, 所述集成電路包括處理器,所述處理器經(jīng)配置以基于網(wǎng)絡拓撲和業(yè)務設定檔來定義用于多 個主控器與多個受控器之間經(jīng)由多個互連件的數(shù)據(jù)輸送的定制投送規(guī)則。
[0031] 前文已廣泛地概述了本發(fā)明的教示的一些特征和技術優(yōu)點以便可較佳理解【實施 方式】和圖式。額外特征和優(yōu)點也描述于【實施方式】中。概念和所揭示實施例可容易地用 作修改或設計用于進行本發(fā)明的教示的相同目的的其它結構的基礎。所述等效構造不脫離 如在權利要求書中所闡述的教示的技術。自【實施方式】和附圖較佳地理解為所述教示的 特性的新穎特征連同其它目標和優(yōu)點。諸圖中的每一者是僅出于說明和描述目的而提供, 且不限制本發(fā)明的教示。
【專利附圖】
【附圖說明】
[0032] 呈現(xiàn)隨附圖式以描述本發(fā)明教示的實例,但其并非限制性的。
[0033] 圖1描繪關于常規(guī)方法和設備的考慮。
[0034] 圖2描繪可有利地使用本發(fā)明的實施例的示范性通信系統(tǒng)。
[0035] 圖3描繪用于用以減輕總線鎖死的事務排序的示范性方法和設備。
[0036] 圖4描繪用于減輕總線鎖死的示范性方法。
[0037] 根據(jù)慣例,通過圖式所描繪的特征可能并未按比例繪制。因此,為了清楚起見,所 描繪特征的尺寸可任意地擴大或減小。根據(jù)慣例,為了清楚起見,簡化了圖式中的一些。因 此,圖式可不描繪特定設備或方法的所有組件。另外,貫穿本說明書和諸圖,相同參考數(shù)字 表示相同特征。
【具體實施方式】
[0038] 序言
[0039] 提供用于避免總線鎖死的事務排序的方法和設備。由本文中所揭示的示范性設備 和方法所提供的優(yōu)點為常規(guī)裝置的上總線鎖死的減少。另一優(yōu)點在于,本文中所揭示的示 范性設備和方法減輕了常規(guī)裝置的上總線鎖死的效應。
[0040] 在本申請案的正文和圖式中揭示當前教示的實例。所述實例有利地解決了長久以 來的行業(yè)需要,以及其它先前所未識別的需要,且減輕了常規(guī)方法和設備的缺點。在不脫離 本發(fā)明的范圍的情況下可設計出替代實施例。另外,當前教示的常規(guī)元件可能未詳細描述, 或可進行省略,以避免使得當前教示的方面模糊。
[0041] 在以下描述中,使用特定術語來描述特定特征且其并非限制性的。如本文中所使 用,除非上下文另外清楚地指示,否則單數(shù)形式"一"和"所述"希望也包含復數(shù)形式。另外, 術語"包括"和"包含"指定存在所陳述的特征、整數(shù)、步驟、操作、元件和/或組件,但不排 除存在或添加一或多個其它特征、整數(shù)、步驟、操作、元件、組件和/或其群組。
[0042] 本文中使用例如"第一"、"第二"等的指定對特征的任何引用不限制彼等特征的數(shù) 量和/或次序。實情為,將這些指定用作在兩個或兩個特征和/或特征的例項之間進行區(qū) 別的常規(guī)方法。因此,對第一和第二特征的引用并不需要僅可使用兩個特征,或第一特征必 須必要地在第二特征之前。又,除非另外陳述,否則一組特征可包括一或多個特征。另外, 描述或權利要求書中所使用的形式為"A、B或C中的至少一者"的術語可被解釋為"A或B 或C或這些特征的任何組合"。
[0043] 如本文中所使用,術語"示范性"意謂"充當實例、例項或圖解說明"。未必將描述 為"示范性"的任何實施例解釋為比其它實施例更佳或有利。同樣,術語"本發(fā)明的實施例" 并不要求本發(fā)明的所有實施例皆包含所論述的特征、優(yōu)點或操作模式。本說明書中對術語 "在一個實例中"、"一個實例"、"在一個特征中"和/或"一個特征"的使用未必指同一特征 和/或實例。另外,特定特征和/或結構可與一或多個其它特征和/或結構進行組合。
[0044] 應注意,術語"連接"、"耦合"或其任何變體意謂兩個或兩個以上元件之間直接或 間接的任何連接或耦合,且可涵蓋"連接"或"耦合"在一起的兩個元件之間的一或多個中 間元件的存在。元件之間的耦合或連接可為物理的、邏輯的或其一組合。如本文中所使用, 兩個元件可被視為采取以下方式"連接"或"耦合"在一起:通過使用一或多個電線、纜線和 /或印刷電連接,以及通過使用電磁能量,例如,具有在射頻區(qū)域、微波區(qū)域和/或光學(可 見的和不可見的兩者)區(qū)域(作為若干非限制性且非詳盡實例)中的波長的電磁能量。
[0045] 應理解,術語"信號"可包含例如數(shù)據(jù)信號、音頻信號、視頻信號和/或多媒體信號 的任何信號。可使用多種不同技藝和技術中的任一者來表不信息和信號。例如,可由電壓、 電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示此描述中所引用的數(shù)據(jù)、 指令、處理步驟、命令、信息、信號、位、符號和碼片。
[0046] 術語"移動裝置"包含但不限于移動電話、移動通信裝置、個人數(shù)字助理、移動掌上 計算機、無線裝置和/或通常由人攜帶和/或具有某一形式的通信能力(例如,無線、紅外 線、近程無線電,等等)的其它類型的便攜式電子裝置。
[0047] 諸圖的描沭
[0048] 圖2描繪可有利地使用本發(fā)明的實施例的示范性無線通信系統(tǒng)200。出于說明的 目的,圖2展示三個遠端單元220、230和250以及兩個基站240。無線通信系統(tǒng)200可具有 更多遠端單元和/或更多基站。遠端單元220、230和250包含如本文中進一步論述的本發(fā) 明的實施例225A到225C中的至少一部分。圖2也展示從基站240到遠端單元220、230和 250的前向鏈路信號280,以及從遠端單元220、230和250到基站240的反向鏈路信號290。
[0049] 在圖2中,將遠端單元220展示為移動電話,將遠端單元230展示為便攜式計算 機,且將遠端單元250展示為無線區(qū)域回路系統(tǒng)中的固定位置遠端單元。在實例中,遠端單 元230可為移動電話、手持型個人通信系統(tǒng)(PCS)單元、例如個人數(shù)據(jù)助理的便攜式數(shù)據(jù) 單元、具備GPS功能的裝置、導航裝置、機頂盒、音樂播放器、移動裝置、視頻播放器、娛樂單 元、存儲和/或檢索數(shù)據(jù)或計算機指令的任何其它裝置,和/或其任何組合。盡管圖2說明 了根據(jù)本發(fā)明的教示的遠端單元,但本發(fā)明并不限于這些示范性所說明單元。本發(fā)明的實 施例可合適地用于經(jīng)歷常規(guī)技術的問題和/或可受益于所揭示的方法和裝置的優(yōu)點的任 何裝置中。
[0050] 圖3描繪用于減輕總線鎖死的事務排序的示范性方法和設備。減輕總線鎖死需要 以不同于常規(guī)技術的次序的次序來投送請求。將請求和數(shù)據(jù)自一個互連總線上的主控器投 送到另一互連總線上的受控器受益于本文中所描述的事務排序規(guī)則?;谕負浜蜆I(yè)務設 定檔,定義用于每一主控器/受控器的定制規(guī)則提供了改進總線性能且減輕總線鎖死的優(yōu) 點。
[0051] 在示范性實施例中,用以解決常規(guī)技術的問題的一個解決方案為使用定制投送規(guī) 則來指導耦合到互連件的每一主控器端口基于受控器跨越來投送業(yè)務。例如,經(jīng)定制投送 規(guī)則可要求如果當前請求以與來自相應主控器的先前請求不同的受控器為目標那么主控 器端口必須總是阻斷來自彼相應主控器的所述當前請求。當前請求被阻斷,直到先前請求 的相關聯(lián)寫入數(shù)據(jù)已從主控器端口去除。此確保了在缺乏用于將相關聯(lián)數(shù)據(jù)投送到受控器 的清楚路徑的情況下請求不會在路徑上繞遠地投送到受控器。另外,如果連續(xù)請求以同一 受控器為目標,那么不進行請求的阻斷。
[0052] 在另一示范性實施例中,通過在本地受控器與遠端受控器之間進行區(qū)別來執(zhí)行請 求和數(shù)據(jù)操控。例如,參看圖3,受控器S0為針對主控器M0的本地受控器,這是因為本地受 控器S0和主控器M0兩者執(zhí)行經(jīng)由同一互連件X0進行的彼此數(shù)據(jù)傳送而不必經(jīng)由第二互 連件(例如,互連件XI)傳送數(shù)據(jù)。又,受控器S1為針對主控器M0的遠端受控器,這是因 為主控器M0與受控器S1之間的數(shù)據(jù)傳送需要經(jīng)由一個以上互連件進行傳送。類似地,受 控器S1為針對主控器Ml的本地受控器且受控器S0為針對主控器Ml的遠端受控器。在投 送期間,在主控器端口 MPT# (例如,用于主控器M#的相應主控器端口 MPT)處應用以下定制 投送規(guī)則中的至少一者:
[0053] 1.當以遠端受控器為目標的請求必須經(jīng)歷一個以上仲裁階段且在主控器端口 MPT中無數(shù)據(jù)可用時,允許僅在第一階段中仲裁所述請求。除仲裁的第一階段以外,所述請 求不可經(jīng)仲裁,直到所述請求具有在仲裁中打敗其它者的對應第一數(shù)據(jù)或在仲裁中打敗其 它者的所有數(shù)據(jù)。例如,在圖3中,請求地址A00可經(jīng)由鏈路L0發(fā)送到互連件XI,其中在主 控器端口 ΜΡΤ0中無寫入數(shù)據(jù)W00,但當請求地址A00到達主控器端口 MPT4時,在請求地址 A00可經(jīng)仲裁(經(jīng)由仲裁器ARB1)以被發(fā)送到受控器S1之前,請求地址A00必須等候寫入 數(shù)據(jù)W00在主控器端口 MPT4中可用。
[0054] 2.在仲裁的第一階段期間,不需要阻斷以相同或不同遠端受控器為目標的兩個連 續(xù)請求。例如,在圖3中,主控器M3可使連續(xù)請求在受控器S0與受控器S2之間往復,而不 等候對應寫入數(shù)據(jù)在仲裁中打敗其它隊列數(shù)據(jù)。
[0055] 3.當存在兩個連續(xù)請求時,其中第一請求以遠端受控器為目標且第二請求以本 地受控器為目標,本地受控器請求被阻斷直到遠端受控器寫入數(shù)據(jù)已從相應主控器端口去 除,這是因為不能保證遠端受控器請求將在仲裁的第二階段中勝出且將成為針對端點的隊 列的首領。例如,在圖3中,請求地址A04將不發(fā)送到受控器S0,直到寫入數(shù)據(jù)W00、W01、 W02和W03自主控器端口 ΜΡΤ0去除。
[0056] 4.當存在兩個連續(xù)請求時,其中第一請求以本地受控器為目標且第二請求以遠端 受控器為目標,遠端受控器請求不被阻斷直到相應寫入數(shù)據(jù)自相應主控器端口去除。即使 遠端受控器請求已轉遞到遠端受控器,但由于以上規(guī)則#1,因此所述遠端受控器請求必須 在另一互連件上等候。
[0057] 5.頻繁地(或總是)以本地受控器為目標和/或頻繁地(總是)以遠端受控器為 目標的主控器需要遵循以上規(guī)則,且可在不等候數(shù)據(jù)在相應互連件MPT中可用的情況下調 度請求。
[0058] 在一方面,可就每一主控器定義若干規(guī)則,但并非將總是應用所有規(guī)則。在特定情 形下,放松用于主控器和/或受控器的一些規(guī)則可改進輸送量。經(jīng)配置以執(zhí)行本文中所描 述的技術的硬件可自我檢測網(wǎng)絡拓撲、業(yè)務設定檔和數(shù)據(jù)流,且動態(tài)地改變規(guī)則設定。定義 不同規(guī)則和/或規(guī)則的集合給出了用以改變操作模式的軟件靈活性。
[0059] 在另一實例中,在規(guī)則的低功率模式切換期間,基于來自受控器和其它互連件的 狀態(tài),主控器可動態(tài)地切換排序規(guī)則以改進網(wǎng)絡性能且減輕總線鎖死。
[0060] 示范性設備包含耦合到圖3中所描繪的至少一裝置的處理器。所述處理器可經(jīng)配 置以執(zhí)行本文中所描述的方法的至少一部分。
[0061] 圖4描繪用于減輕總線鎖死的示范性方法400。用于減輕總線鎖死的方法可由特 此描述的設備來執(zhí)行,例如,圖3中所描繪的設備。
[0062] 在步驟405中,基于網(wǎng)絡拓撲和業(yè)務設定檔動態(tài)地定義用于多個主控器與多個受 控器之間經(jīng)由多個互連件的數(shù)據(jù)輸送的定制投送規(guī)則。在實例中,所述定制投送規(guī)則可為 本文中所詳述的投送規(guī)則中的至少一者(且可排除常規(guī)技術)。
[0063] 在步驟410中,使用定制投送規(guī)則在多個互連件之間投送數(shù)據(jù)。
[0064] 在示范性實施例中,經(jīng)配置以執(zhí)行本文中所描述的方法的至少一部分的電路可與 以下各者中的至少一者集成在一起:專用集成電路(ASIC)、系統(tǒng)芯片(SoC)集成電路的一 部分、基站、移動裝置、微控制器、數(shù)據(jù)處理裝置、和/或計算機。
[0065] 在一些方面,本文中的教示可在能夠通過共享可用系統(tǒng)資源(例如,通過指定帶 寬、傳輸功率、譯碼、交錯等中的一或多者)而支持與多個用戶的通信的多址系統(tǒng)中使用。 例如,本文中的教示可應用于以下技術中的任一者或組合:碼分多址(CDMA)系統(tǒng)、多載波 CDMA(MCCDMA)、寬頻CDMA(W-CDMA)、高速封包存取(HSPA,HSPA+)系統(tǒng)、時分多址(TDMA)系 統(tǒng)、頻分多址(FDMA)系統(tǒng)、單載波FDMA(SC-FDMA)系統(tǒng)、正交頻分多址(0FDMA)系統(tǒng)或其它 多址技術。使用本文中的教示的無線通信系統(tǒng)可經(jīng)設計以實施一或多個標準,例如,IS-95、 cdma2000、IS-856、W-CDMA、TDSCDMA和其它標準。CDMA網(wǎng)絡可實施例如通用陸地無線電 存?。║TRA)、cdma2000和某一其它技術的無線電技術。UTRA包含W-CDMA和低碼片速率 (LCR)。cdma2000技術涵蓋IS-2000、IS-95和IS-856標準。TDMA網(wǎng)絡可實施例如全球移動 通信系統(tǒng)(GSM)的無線電技術。0FDMA網(wǎng)絡可實施例如演進型UTRA(E-UTRA)、IEEE802. 11、 IEEE802. 16、IEEE802. 20、Flash-0FDM. RTM.等的無線電技術。UTRA、E-UTRA和 GSM 為通用移 動電信系統(tǒng)(UMTS)的一部分。本文中的教示可實施于3GPP長期演進(LTE)系統(tǒng)、超移動寬 頻(UMB)系統(tǒng)和其它類型的系統(tǒng)中。LTE為使用E-UTRA的UMTS的版本。UTRA、E-UTRA、GSM、 UMTS和LTE描述于來自名為"第3代合作伙伴計劃"(3GPP)的組織的文獻中,而cdma2000 描述于來自名為"第3代合作伙伴計劃2"(3GPP2)的組織的文獻中。盡管可使用3GPP術 語來描述本發(fā)明的特定方面,但應理解,本文中的教示可應用于3GPP(例如,Rel99、Rel5、 Rel6、Rel7)技術,以及 3GPP2(例如,1xRTT、1xEV-D0 RelO、RevA、RevB)技術和其它技術。 所述技術可用于新興和將來網(wǎng)絡和接口,包含長期演進(LTE)。
[0066] 所屬領域的技術人員將了解,可使用多種不同技藝和技術中的任一者來表示信息 和信號。例如,可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子和/或其任何組合來 表示可能貫穿以上描述而引用的數(shù)據(jù)、指令、命令、信息、信號、位、符號和碼片。
[0067] 另外,所屬領域的技術人員應了解,結合本文中所揭示的實施例所描述的各種說 明性邏輯塊、模塊、電路和算法步驟可實施為電子硬件、計算機軟件或電子硬件與計算機軟 件兩者的組合。為了清楚地說明硬件與軟件的此可互換性,已大體上在其功能性方面描述 了各種說明性組件、塊、模塊、電路和步驟。將所述功能性實施為硬件和/或軟件視特定系 統(tǒng)的應用和設計約束而定。所屬領域的技術人員可針對每一特定應用以變化的方式實施所 描述的功能性,但不應將所述實施決策解釋為導致脫離本發(fā)明的范圍。
[0068] 結合本文中所揭示的實施例所描述的方法、序列和/或算法的至少一部分可直接 以硬件體現(xiàn),以由處理器執(zhí)行的軟件模塊體現(xiàn),或以所述硬件和軟件模塊兩者的組合體現(xiàn)。 在實例中,處理器包含多個離散硬件組件。軟件模塊可駐存于RAM存儲器、快閃存儲器、ROM 存儲器、EPROM存儲器、EEPR0M存儲器、暫存器、硬盤、抽取式碟片、CD-ROM,和/或此項技術 中已知的任何其它形式的存儲媒體中。示范性存儲媒體可耦合到處理器,使得處理器可自 存儲媒體讀取信息和將信息寫入到存儲媒體。在替代例中,存儲媒體可與處理器成一體式。 本發(fā)明的實施例可包含體現(xiàn)本文中所描述的方法的計算機可讀媒體。因此,本發(fā)明并不限 于所說明實例且用于執(zhí)行本文中所描述的功能性的任何裝置包含于本發(fā)明的實施例中。實 施例可包含體現(xiàn)指令的機器可讀媒體和/或計算機可讀媒體,當由處理器執(zhí)行時所述指令 將處理器和任何其它合作裝置變換為用于執(zhí)行特此描述的功能的機器。
[0069] 另外,許多實施例是按照待由(例如)計算裝置的元件執(zhí)行的動作序列來進行描 述。本文中所描述的各種動作可由特定電路(例如,專用集成電路(ASIC))執(zhí)行、由正由一 或多個處理器執(zhí)行的程序指令執(zhí)行或由所述兩者的組合執(zhí)行。另外,本文中所描述的動作 的序列可被視為完全在其中存儲有計算機指令的對應集合的任何形式的計算機可讀存儲 媒體內體現(xiàn),所述計算機指令在執(zhí)行之后使相關聯(lián)處理器執(zhí)行本文中所描述的功能性。因 此,本發(fā)明的方面可以眾多不同形式體現(xiàn),所有所述不同形式已預期在所主張的標的物的 范圍內。另外,對于本文中所描述的實施例中的每一者來說,任何所述實施例的對應電路可 在本文中被描述為(例如)"經(jīng)配置以執(zhí)行所描述動作的邏輯"。
[0070] 所揭示的裝置和方法可經(jīng)設計且可經(jīng)配置到計算機可執(zhí)行文件中,所述計算機可 執(zhí)行文件呈圖形數(shù)據(jù)庫系統(tǒng)二(GDSII)兼容格式、開放式原圖系統(tǒng)交換標準(OASIS)兼容 格式和/或GERBER(例如,RS-274D、RS-274X等)兼容格式,所述格式存儲于計算機可讀媒 體上??蓪⑺鑫募峁┑街圃焯幹谜撸鲋圃焯幹谜呤褂盟鑫募硗ㄟ^光刻裝置制 造集成式裝置。在實例中,所述集成式裝置在半導體晶圓上制造??蓪雽w晶圓切割為 半導體裸片且封裝到半導體芯片中。半導體芯片可在本文中所描述的裝置(例如,移動裝 置)中使用。
[0071] 本文中所陳述或所說明的任何內容皆不希望造成任何組件、步驟、特征、物件、權 利、優(yōu)點或針對公眾的等效物的專用,而不管所述組件、步驟、特征、物件、權利、優(yōu)點或等效 物是否在權利要求書中得以敘述。雖然本發(fā)明描述了本發(fā)明的示范性實施例,但應注意,在 不脫離如由附加權利要求書所定義的本發(fā)明的范圍的情況下,可在本文中進行各種改變和 修改。
【權利要求】
1. 一種用于減輕總線鎖死的方法,其包括基于網(wǎng)絡拓撲和業(yè)務設定檔來定義用于多個 主控器與多個受控器之間經(jīng)由多個互連件的數(shù)據(jù)輸送的定制投送規(guī)則。
2. 根據(jù)權利要求1所述的方法,其中所述定制規(guī)則: 允許在于所述多個互連件中的一個互連件處接收與請求地址相關聯(lián)的寫入數(shù)據(jù)之前 所述請求地址在所述互連件處在仲裁的第一階段中進行仲裁;以及 不允許所述請求地址在仲裁的后續(xù)第二階段期間進行仲裁,除非所述請求地址具有對 應寫入數(shù)據(jù)。
3. 根據(jù)權利要求1所述的方法,其中所述定制規(guī)則允許在于所述多個互連件中的一個 互連件處接收與第一請求地址和第二請求地址相關聯(lián)的相應寫入數(shù)據(jù)之前所述第一請求 地址和所述第二請求地址在所述互連件處進行仲裁,其中所述第一請求地址和所述第二請 求地址兩者皆以遠端受控器為目標。
4. 根據(jù)權利要求1所述的方法,其中如果遠端受控器地址請求以遠端受控器為目標且 以本地受控器為目標的本地受控器請求地址在所述遠端受控器地址請求之后,那么所述定 制規(guī)則阻斷所述本地受控器請求地址,直到遠端受控器寫入數(shù)據(jù)已從所述多個互連件中的 一個互連件的相應主控器端口去除。
5. 根據(jù)權利要求1所述的方法,其中如果與本地受控器的寫入數(shù)據(jù)相關聯(lián)的本地受控 器地址請求以本地受控器為目標,遠端受控器地址請求以遠端受控器為目標,且所述遠端 受控器地址請求在所述本地受控器地址請求之后被接收,那么所述定制規(guī)則阻斷所述遠端 受控器地址請求,直到所述本地受控器的寫入數(shù)據(jù)從所述多個互連件中的一個互連件上的 相應主控器端口去除以后。
6. -種經(jīng)配置以減輕總線鎖死的設備,其包括用于基于網(wǎng)絡拓撲和業(yè)務設定檔來定義 用于多個主控器與多個受控器之間經(jīng)由多個互連件的數(shù)據(jù)輸送的定制投送規(guī)則的裝置。
7. 根據(jù)權利要求6所述的設備,其中所述定制規(guī)則: 允許在于所述多個互連件中的一個互連件處接收與請求地址相關聯(lián)的寫入數(shù)據(jù)之前 所述請求地址在所述互連件處在仲裁的第一階段中進行仲裁;以及 不允許所述請求地址在仲裁的后續(xù)第二階段期間進行仲裁,除非所述請求地址具有對 應寫入數(shù)據(jù)。
8. 根據(jù)權利要求6所述的設備,其中所述定制規(guī)則允許在于所述多個互連件中的一個 互連件處接收與第一請求地址和第二請求地址相關聯(lián)的相應寫入數(shù)據(jù)之前所述第一請求 地址和所述第二請求地址在所述互連件處進行仲裁,其中所述第一請求地址和所述第二請 求地址兩者皆以遠端受控器為目標。
9. 根據(jù)權利要求6所述的設備,其中如果遠端受控器地址請求以遠端受控器為目標且 以本地受控器為目標的本地受控器請求地址在所述遠端受控器地址請求之后,那么所述定 制規(guī)則阻斷所述本地受控器請求地址,直到遠端受控器寫入數(shù)據(jù)已從所述多個互連件中的 一個互連件的相應主控器端口去除。
10. 根據(jù)權利要求6所述的設備,其中如果與本地受控器的寫入數(shù)據(jù)相關聯(lián)的本地受 控器地址請求以本地受控器為目標,遠端受控器地址請求以遠端受控器為目標,且所述遠 端受控器地址請求在所述本地受控器地址請求之后被接收,那么所述定制規(guī)則阻斷所述遠 端受控器地址請求,直到所述本地受控器的寫入數(shù)據(jù)從所述多個互連件中的一個互連件上 的相應主控器端口去除以后。
11. 根據(jù)權利要求6所述的設備,其中所述設備的至少一部分集成在半導體裸片上。
12. 根據(jù)權利要求6所述的設備,其進一步包括專用集成電路、系統(tǒng)芯片SoC集成電路 的部分、基站、移動裝置、微控制器、數(shù)據(jù)處理裝置和計算機中的至少一者,所述設備與所述 至少一者集成在一起。
13. -種經(jīng)配置以減輕總線鎖死的設備,其包括處理器,所述處理器經(jīng)配置以基于網(wǎng)絡 拓撲和業(yè)務設定檔來定義用于多個主控器與多個受控器之間經(jīng)由多個互連件的數(shù)據(jù)輸送 的定制投送規(guī)則。
14. 根據(jù)權利要求13所述的設備,其中所述定制規(guī)則: 允許在于所述多個互連件中的一個互連件處接收與請求地址相關聯(lián)的寫入數(shù)據(jù)之前 所述請求地址在所述互連件處在仲裁的第一階段中進行仲裁;以及 不允許所述請求地址在仲裁的后續(xù)第二階段期間進行仲裁,除非所述請求地址具有對 應寫入數(shù)據(jù)。
15. 根據(jù)權利要求13所述的設備,其中所述定制規(guī)則允許在于所述多個互連件中的一 個互連件處接收與第一請求地址和第二請求地址相關聯(lián)的相應寫入數(shù)據(jù)之前所述第一請 求地址和所述第二請求地址在所述互連件處進行仲裁,其中所述第一請求地址和所述第二 請求地址兩者皆以遠端受控器為目標。
16. 根據(jù)權利要求14所述的設備,其中如果遠端受控器地址請求以遠端受控器為目標 且以本地受控器為目標的本地受控器請求地址在所述遠端受控器地址請求之后,那么所述 定制規(guī)則阻斷所述本地受控器請求地址,直到遠端受控器寫入數(shù)據(jù)已從所述多個互連件中 的一個互連件的相應主控器端口去除。
17. 根據(jù)權利要求15所述的設備,其中如果與本地受控器的寫入數(shù)據(jù)相關聯(lián)的本地受 控器地址請求以本地受控器為目標,遠端受控器地址請求以遠端受控器為目標,且所述遠 端受控器地址請求在所述本地受控器地址請求之后被接收,那么所述定制規(guī)則阻斷所述遠 端受控器地址請求,直到所述本地受控器的寫入數(shù)據(jù)從所述多個互連件中的一個互連件上 的相應主控器端口去除以后。
18. 根據(jù)權利要求15所述的設備,其中所述設備的至少一部分集成在半導體裸片上。
19. 根據(jù)權利要求15所述的設備,其進一步包括專用集成電路、系統(tǒng)芯片SoC集成電路 的部分、基站、移動裝置、微控制器、數(shù)據(jù)處理裝置和計算機中的至少一者,所述設備與所述 至少一者集成在一起。
20. -種非暫時性計算機可讀媒體,其包括存儲于其上的指令,如果由處理器執(zhí)行,那 么所述指令使所述處理器執(zhí)行包括以下的方法:基于網(wǎng)絡拓撲和業(yè)務設定檔來定義用于多 個主控器與多個受控器之間經(jīng)由多個互連件的數(shù)據(jù)輸送的定制投送規(guī)則。
21. 根據(jù)權利要求20所述的非暫時性計算機可讀媒體,其進一步包括專用集成電路、 系統(tǒng)芯片SoC集成電路的部分、基站、移動裝置、微控制器、數(shù)據(jù)處理裝置和計算機中的至 少一者,所述非暫時性計算機可讀媒體與所述至少一者集成在一起。
22. 根據(jù)權利要求20所述的非暫時性計算機可讀媒體,其中所述定制規(guī)則: 允許在于所述多個互連件中的第二互連件處接收與請求地址相關聯(lián)的寫入數(shù)據(jù)之前 所述請求地址在所述多個互連件中的第一互連件處在仲裁的第一階段中進行仲裁;以及 不允許所述請求地址在仲裁的后續(xù)第二階段期間進行仲裁,除非所述請求地址打敗其 它競爭地址請求。
23. 根據(jù)權利要求20所述的非暫時性計算機可讀媒體,其中所述定制規(guī)則允許在于所 述多個互連件中的一個互連件處接收與第一請求地址和第二請求地址相關聯(lián)的相應寫入 數(shù)據(jù)之前所述第一請求地址和所述第二請求地址在所述互連件處進行仲裁,其中所述第一 請求地址和所述第二請求地址兩者皆以遠端受控器為目標。
24. 根據(jù)權利要求20所述的非暫時性計算機可讀媒體,其中如果遠端受控器地址請求 以遠端受控器為目標且以本地受控器為目標的本地受控器請求地址在所述遠端受控器地 址請求之后,那么所述定制規(guī)則阻斷所述本地受控器請求地址,直到遠端受控器寫入數(shù)據(jù) 已從所述多個互連件中的一個互連件的相應主控器端口去除。
25. 根據(jù)權利要求20所述的非暫時性計算機可讀媒體,其中如果與本地受控器的寫入 數(shù)據(jù)相關聯(lián)的本地受控器地址請求以本地受控器為目標,遠端受控器地址請求以遠端受控 器為目標,且所述遠端受控器地址請求在所述本地受控器地址請求之后被接收,那么所述 定制規(guī)則阻斷所述遠端受控器地址請求,直到所述本地受控器的寫入數(shù)據(jù)從所述多個互連 件中的一個互連件上的相應主控器端口去除以后。
26. -種非暫時性計算機可讀媒體,其包括存儲于其上的指令,如果由光刻裝置執(zhí)行, 那么所述指令使所述光刻裝置制造集成電路的至少一部分,所述集成電路包括處理器,所 述處理器經(jīng)配置以基于網(wǎng)絡拓撲和業(yè)務設定檔來定義用于多個主控器與多個受控器之間 經(jīng)由多個互連件的數(shù)據(jù)輸送的定制投送規(guī)則。
【文檔編號】G06F13/40GK104067250SQ201380006136
【公開日】2014年9月24日 申請日期:2013年1月23日 優(yōu)先權日:2012年1月23日
【發(fā)明者】普魯?shù)戮S·N·努尼, 賈亞·普拉喀什·蘇布拉馬尼亞姆·賈納桑, 巴里·喬·沃爾福德 申請人:高通股份有限公司