TW201837726A - 用於匯流排存取之功率感知裁定 - Google Patents

用於匯流排存取之功率感知裁定 Download PDF

Info

Publication number
TW201837726A
TW201837726A TW107106277A TW107106277A TW201837726A TW 201837726 A TW201837726 A TW 201837726A TW 107106277 A TW107106277 A TW 107106277A TW 107106277 A TW107106277 A TW 107106277A TW 201837726 A TW201837726 A TW 201837726A
Authority
TW
Taiwan
Prior art keywords
words
word
transmission
data bus
subset
Prior art date
Application number
TW107106277A
Other languages
English (en)
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 TW201837726A publication Critical patent/TW201837726A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bus Control (AREA)

Abstract

本發明提供用於操作一匯流排介面單元之系統及方法,其包括用於自一或多個代理程式接收且儲存一或多個字以供傳輸至一資料匯流排上之佇列。自該一或多個字之至少一子集判定將在傳輸至該資料匯流排上時在該一或多個字之該子集當中消耗最小切換功率之一下一字,且選擇該下一字以供傳輸至該資料匯流排上,以降低該資料匯流排之動態功率功耗。該下一字可選作該一或多個字之該子集當中的離經排程以供傳輸至該資料匯流排上之一當前字具有一最小漢明距離(least Hamming distance)的一字。

Description

用於匯流排存取之功率感知裁定
所揭示態樣係針對一種資料匯流排。更特定言之,例示性態樣係針對藉由經由匯流排介面單元耦接至資料匯流排之一或多個代理程式降低在該資料匯流排上傳輸資料之功耗。
處理系統可使用不同匯流排架構來在不同組件之間傳送資料。取決於特定應用及實施方案,匯流排架構可包括如此項技術中已知之拓樸,諸如環形、網格、星狀等等,且可遵循用於在匯流排上發送且接收資料之各種協定及標準。 一或多個代理程式,諸如處理器、快取記憶體等等,可耦接至資料匯流排。在一些實施方案中,一或多個代理程式可經由諸如開關單元之匯流排介面單元連接至資料匯流排。匯流排介面單元可包括裁定器以管理自一或多個代理程式發送至資料匯流排上之資料訊務及由一或多個代理程式自資料匯流排接收到以供消耗之資料訊務。舉例而言,匯流排介面單元可使用用於儲存來自一或多個代理程式之請求的一或多個佇列,佇列亦被稱作虛擬通道。當多於一個請求未決時,使用裁定技術以選擇待發送出之請求。 裁定技術之一個考量係降低功耗。如對於涉及伺服器、行動式系統單晶片(system on chips,SoC)、電池供電及手持型裝置等等之處理應用將認識到,對於降低功耗之需要不斷增大。在此類處理應用,例如橫越長距離之高效能匯流排網路、不同開關單元之間的寬導線束等等,之資料匯流排的狀況下,動態功率佔據總體功耗之顯著部分。因此,在此項技術中使用了用於降低資料匯流排之動態功耗的技術。 一個此技術被稱作匯流排反寫碼,其中來自虛擬通道之未決字或該字之反量由連接至虛擬通道之匯流排介面單元選擇,以傳輸至資料匯流排上,該兩個字中的任一個將在資料匯流排上造成最少量之切換活動。匯流排反寫碼試圖最小化切換活動且因此降低功耗。在該等技術之實施方案中,發送狀態位元或類似資訊,同時亦匯流排介面單元傳輸,以指示傳輸屬於來自虛擬通道之最初所期望字還是該字之反量。因此,此類技術涉及添加用於狀態位元之導線及額外控制信令,且在導線跨越晶片或封裝邊界之狀況下,添加額外接腳及輸入/輸出埠。 此外,諸如匯流排反寫碼之技術不會考慮多於一個字之切換功率。因此,若存在多個未決字以供自連接至匯流排介面單元之多個虛擬通道傳輸,則習知裁定器可在自多個虛擬通道選擇字之過程中訴諸於連續工作輪循(work-conserving round robin)方法,此並不考慮跨越多個字之切換功率考量。舉例而言,基於輪循方法而自匯流排介面單元傳輸之兩個連續字可按高切換距離彼此遠離,高切換距離在此項技術中被稱作漢明距離。高漢明距離會引起高切換功率,因此增大在資料匯流排上傳輸字之動態功耗。 因此,在此項技術中需要用於降低資料匯流排之動態功耗同時避免上文所論述之已知方法之前述限制的改良型裁定技術。
例示性態樣係針對用於操作一匯流排介面單元之系統及方法。在該匯流排介面單元處自一或多個代理程式接收一或多個字以供傳輸至一資料匯流排上。自該一或多個字之至少一子集,判定將在傳輸至該資料匯流排上時在該一或多個字之該子集當中消耗最小切換功率之一下一字,且選擇該下一字以供傳輸至該資料匯流排上,以降低該資料匯流排之動態功耗。該下一字可選作該一或多個字之該子集當中的離經排程以供傳輸至該資料匯流排上之一當前字具有一最小漢明距離的一字。 舉例而言,一例示性態樣係針對一種操作一匯流排介面單元之方法。該方法包含自一或多個代理程式接收一或多個字以供傳輸至一資料匯流排上。該方法包括:自該一或多個字之至少一子集判定將在傳輸至該資料匯流排上時在該一或多個字之該子集當中消耗最小切換功率之一下一字;及選擇該下一字以供傳輸至該資料匯流排上。 另一例示性態樣係針對一種包含一資料匯流排、一或多個代理程式及一匯流排介面單元之設備。該匯流排介面單元經組態以:自該一或多個代理程式接收一或多個字以供傳輸至該資料匯流排上;自該一或多個字之至少一子集判定將在傳輸至該資料匯流排上時在該一或多個字之該子集當中消耗最小切換功率之一下一字;及選擇該下一字以供傳輸至該資料匯流排上。 又一例示性態樣係針對一種設備,其包含:自一或多個代理程式接收一或多個字以供傳輸至一資料匯流排上之構件;用於自該一或多個字之至少一子集判定將在傳輸至該資料匯流排上時在該一或多個字之該子集當中消耗最小切換功率之一下一字之構件;及用於選擇該下一字以供傳輸至該資料匯流排上之構件。 另一例示性態樣係針對一種包含程式碼之非暫時性電腦可讀儲存媒體,該程式碼在由一處理器執行時使得該處理器執行操作一匯流排介面單元之一方法。該非暫時性電腦可讀儲存媒體包含:用於自一或多個代理程式接收一或多個字以供傳輸至一資料匯流排上之程式碼;用於自該一或多個字之至少一子集判定將在傳輸至該資料匯流排上時在該一或多個字之該子集當中消耗最小切換功率之一下一字之程式碼;及用於選擇該下一字以供傳輸至該資料匯流排上之程式碼。
本發明之態樣揭示於以下描述及針對本發明之特定態樣的相關圖式中。可在不脫離本發明之範疇的情況下設計出替代性態樣。另外,本發明之眾所熟知的元件將不加以詳細描述或將被省略以免混淆本發明之相關細節。 字語「例示性」在本文中用以意謂「充當實例、例子或說明」。本文中被描述為「例示性」之任何態樣未必被認作比其他態樣更佳或更有利。同樣地,術語「本發明之態樣」並不要求本發明之所有態樣皆包括所論述特徵、優點或操作模式。 本文中所使用之術語僅係出於描述特定態樣之目的,且並不意欲限制本發明之態樣。如本文中所使用,除非上下文另外清晰地指示,否則單數形式「一」意欲亦包含複數形式。應進一步理解,術語“包含”及/或“包括”在本文中使用時係指定所陳述之特徵、整體、步驟、操作、元件及/或組件的存在,但不排除一或多個其他特徵、整體、步驟、操作、元件、組件及/或其群組的存在或添加。 此外,就待由例如計算裝置之元件執行之動作的序列而言描述許多態樣。應認識到,本文中所描述之各種動作可由具體電路(例如特殊應用積體電路(application specific integrated circuit,ASIC))、由正由一或多個處理器執行之程式指令或由兩者之組合執行。另外,可認為本文中所描述之此等動作序列完全體現於任何形式之電腦可讀儲存媒體內,電腦可讀儲存媒體中已儲存有相對應電腦指令的集合,電腦指令集合在被執行時將使得相關聯之處理器執行本文中所描述之功能性。因此,本發明之各種態樣可以數種不同形式實施,期望所有形式皆在所主張主題之範疇內。另外,對於本文所描述之態樣中每一者,任何此等態樣之對應形式可在本文中被描述為例如「經組態以執行所描述動作之邏輯」。 在本發明之例示性態樣中,降低了資料匯流排上之動態功耗。在一態樣中,一或多個代理程式(例如處理器、快取記憶體等等)可經由匯流排介面單元連接至資料匯流排。在實例匯流排介面單元處,一或多個虛擬通道可儲存自一或多個代理程式傳輸字之未決業務或請求。裁定器可經組態以將未決字當中之將具有最小切換功率或離經排程以供傳輸之當前字(或在一些實施方案中,先前傳輸之字)具有最低漢明距離的字選作以供在資料匯流排上傳輸之未來字。以此方式,未來字及當前字之背對背傳輸將引發低切換功率,從而引起資料匯流排之動態功耗的降低。 在例示性態樣中,裁定器選擇以供傳輸之字可係連續工作或非連續工作的,但針對於降低功耗。因而,在一些態樣中,例示性裁定技術可與連續工作輪循方法整合,但在一些狀況下可不遵循嚴格的輪循次序,在該等狀況下較低切換功率可起因於選擇將不接下來在輪循次序中之未來字。 在例示性態樣之一個實施方案中,待由匯流排介面單元傳輸至資料匯流排上之當前字可維持於輸出暫存器或管線級中。可計算當前字與一或多個虛擬通道中之準備好傳輸之一或多個未決字之間的漢明距離。具有最小漢明距離之未決字由多工器選作待自匯流排介面單元傳輸至資料匯流排上之下一字。 現參考圖1,描繪了例示性處理系統100之態樣。特定言之,展示經由匯流排介面單元連接至各種代理程式之資料匯流排106。資料匯流排106可係任何網路、介面、導線集合或系統匯流排,且經組態以根據此項技術中已知之各種協定而在各種方向上傳送資料,或更一般而言,傳送“字”。在本發明中,術語“資料”、“字”、“資料字”等等用以表達可經傳送之任何類型的數位資訊。在一些態樣中,術語“字”表達在一項業務中傳送之二進位位元之定量或區塊。因而,字在本發明中可包括而不限於任何數位資訊,諸如資料、控制資訊、位址資訊等等。此外,儘管未說明,但資料匯流排106之組態可係根據如此項技術中已知之拓樸,諸如星狀、環形、網格、等等。 在實例描繪中,N個代理程式(例如102a_0至102a_N-1;102b_0至102b_N-1;102c_0至102c_N-1)展示為連接至匯流排介面單元104a至104c中之每一者,其中匯流排介面單元104a至104c與資料匯流排106介接。連接至每一匯流排介面單元之代理程式的數目可變化,且該特定說明僅僅係為了易於解釋實例態樣。圖1中所展示之代理程式102a_0至102a_N-1;102b_0至102b_N-1;及102c_0至102c_N-1可包含一或多個元件,諸如一處理器(例如一處理器核心、一中央處理單元(CPU)、一通用處理器(GPU)、數位信號處理器(DSP)等等)、一快取記憶體(例如L1、L2、L3快取記憶體)、一橋接器單元、一轉發器、一直接記憶體存取(DMA)控制器、一記憶體控制器等等。此等代理程式可藉由對代理程式連接之各別匯流排介面單元104a至104c作出請求來將字傳輸至資料匯流排106。類似地,匯流排介面單元104a至104c可自資料匯流排106接收字,且將接收到之字轉發至連接至各別匯流排介面單元104a至104c之代理程式當中的所期望接收端。現將參考圖2論述待由連接至匯流排介面單元104a至104c中之一者的N個代理程式中之一或多者傳輸至資料匯流排106之字的特定實例。 在圖2中,展示了由參考標號104大體上所描繪之匯流排介面單元104a至104c中之一者的詳細視圖。待自連接至匯流排介面單元104之N個代理程式傳輸的字首先置放於由參考編號202_0至202_N-1所描繪之N個佇列0至N-1中。該N個佇列亦可被稱作虛擬通道。儘管在N個代理程式與N個佇列之間展示了一對一對應性,但應理解,此並非要求,且來自多於一個代理程式之字可饋送至佇列中及/或來自同一代理程式之字可由多於一個佇列接收到。 如所展示,當字自N個代理程式(例如匯流排介面單元104a之102a_0至102a_N-1)接收到以供傳輸至資料匯流排106上時,該等字置放於佇列0 202_0至N-1 202_N-1中。另外,當字在佇列中未決時,對匯流排介面單元104之裁定器212作出對應請求。對於佇列0 202_0至N-1 202_N-1中之每一者,當存在至少一個未決字時,或換言之,當對應佇列0 202_0至N-1 202_N-1不空時,確證對應請求0 203_0至N-1 203_N-1。將在圖3中進一步詳細論述裁定器212之實例實施方案。裁定器212可部分地實施可為連續工作或非連續工作的輪循裁定,且結合漢明比較區塊210,可選擇至多N個佇列0 202_0至N-1 202_N-1中之每一字,且可選擇對應字以供由多工器204傳輸。就此而言,若在至多N個佇列0 202_0至N-1 202_N-1中之一或多者中存在多於一個未決字,則在最低動態功函數方案(結合將在下文進一步詳細論述之輪循實施方案)中,可考慮僅至多N個佇列0 202_0至N-1 202_N-1中之每一者之頂部處的未決字(例如對應於各別佇列中之最舊請求的字)。在被稱作固定定量方案之另一實施方案中,可考慮具有未決字之至多N個佇列0 202_0至N-1 202_N-1中之每一者中的所有未決字(再次,結合將在下文進一步詳細論述之輪循實施方案)。 繼續參考圖2,對於來自佇列0 202_0至N-1 202_N-1之每一未決請求,將對應一或多個字(取決於是否僅考慮佇列頂部處之字或是否考慮佇列之所有未決字)提供給漢明比較區塊210作為下一字216。裁定器212將當前輪循(round robin,RR)指標222提供至漢明比較區塊210,其中RR指標222提供佇列0 202_0至N-1 202_N-1之指示,若應結合選擇具有最小漢明距離之下一字在該N個佇列當中維持輪循次序,則應比較來自該等佇列的請求。因此,在來自至多N個佇列0 202_0至N-1 202_N-1之可為未決的請求當中,僅考慮來自保持在輪循次序中之佇列的請求,如由RR指標222指示。 由匯流排介面單元104先前經選擇以供傳輸至資料匯流排106上的字展示為當前字206而儲存於暫存器(或管線級)中。漢明比較區塊210接著計算對應於由RR指標202及當前字206指示之剩餘請求與下一字216之N個字之間的漢明距離。在此等字中,離當前字206具有最小漢明距離之下一字216作為下一授與226提供至裁定器212。裁定器212使用下一授與226結合其輪循協定,且將選擇信號218提供至多工器204,基於此,多工器204自佇列0 202_0至N-1 202_N-1中之一者以輪循次序選擇剩餘請求之對應字作為待在下一週期或迭代中傳輸至資料匯流排106上之下一字。由多工器204輸出之下一字離儲存於暫存器當前字206中之字具有最小漢明距離,此確保當前字206之傳輸繼之以隨後週期中之下一字之傳輸將引發最小切換功率。以此方式,藉由考慮將涉及傳輸來自N個佇列0 202_0至N-1 202_N-1之所有未決字的切換功率,降低了資料匯流排106之動態功率。 在一些狀況下,為了實施連續工作方案,屏蔽具有裁定器212中之特定裁定輪中授與之對應請求0 203_0至N-1 203_N-1的佇列0 202_0至N-1 202_N-1,直至在輪循次序中回訪該等佇列為止。裁定器212提供掩碼220以請求待屏蔽之指示。僅未經掩蔽之字可用於計算離漢明比較區塊210中之當前字206的漢明距離。對應地,漢明比較區塊210在圖2中表示為經掩蔽漢明比較區塊210。 此外,在一些狀況下,可將展示為就緒流控制224之外部控制信號提供至裁定器212以靈活地啟用在由裁定器212使用之裁定程序中考慮未決請求之切換功率的上文所描述之特徵。若未啟用此等特徵,則裁定器212可在至多N個未決請求當中在其裁定中預設成連續工作或非連續工作輪循協定。 現組合參考圖2至圖3,更詳細地展示使用裁定器212結合漢明比較區塊210來選擇以供傳輸之下一字的例示性態樣。圖3展示實例狀況之裁定的若干輪1至5,在實例狀況係N = 16,亦即,對於待自圖2之至多16個佇列202_0至202_15傳輸之字可存在請求。對於16個佇列202_0至202_15中之每一者,代表性請求分別展示為請求0 203_0至請求15 203_15。對於展示為主動之每一請求0 203_0至15 203_15,對應佇列202_0至202_15可包括至少一個字;若請求0 203_0至15 203_15展示為非主動,則可能不存在待在對應佇列202_0至202_15中傳輸之未決字;且若請求0 203_0至15 203_15展示為正經掩蔽,則可存在待在對應佇列202_0至202_15中傳輸之未決字,但佇列已經掩蔽。在返回至次序之頂部至請求0 203_0之前,以輪循次序,RR指標222依序橫穿來自至多16個佇列之請求,自請求0 203_0至請求15 203_15。在圖3中,可基於離每一裁定輪中之當前字206的漢明距離(如圖2中解釋)而根據例示性技術來選擇來自對應於由RR指標222指向之位置下方之請求的佇列的字,而可不在彼裁定輪中選擇來自對應於RR指標222上方之請求之佇列的字。由漢明比較區塊210基於最小漢明距離而授與之請求展示為每一裁定輪之下一授與226。現將在下文更詳細地解釋圖3中所展示之裁定的輪1至5。 以第1輪開始,看見RR指標222在請求5 203_5下方,此意謂可針對下一授與選擇請求6 203_6至15 203_15當中的未決/就緒請求。在第1輪之實例描繪中,請求10 203_10由漢明比較區塊210判定為與請求6 203_6至15 203_15當中的當前字206具有最小漢明距離(例如考慮在固定定量(1)方案中具有主動請求之佇列中的所有未決字或僅考慮可變定量方案之最低動態功函數值中之佇列頂部處的未決字)。因此,為請求10 203_10提供下一授與226,且隨後,屏蔽自其中產生請求10 203_10之佇列202_10,此意謂若在RR指標222完成完整週期之前存在自佇列202_10就緒之另一請求,則將不考慮下一請求10 203_10,此允許保留輪循次序。 參考第2輪,看見RR指標222已移動以指向先前第1輪中之剩餘請求6 203_6至15 203_15當中的下一主動請求8 203_8。在第2輪中,將考慮請求8 203_8至15 203_15 (同時屏蔽了請求10 203_10)來計算離當前字206 (其將已經更新成對應於先前第1輪中之下一授與226的請求10 203_10)之最小漢明距離。基於最小漢明距離,針對第2輪中之下一授與226選擇請求14 203_14。對應地,產生請求14 203_14之佇列202_14將被視為經掩蔽佇列或經屏蔽,從而進入第3輪。 在第3輪中,RR指標222保持在請求8 203_8處,此係因為在第2輪中未授與請求8 203_8 (因此,選擇有利於嚴格輪循次序之最小漢明距離)。在第3輪中,看見請求8 203_8在請求8 203_8至15 203_15之剩餘主動請求當中與當前字206具有最小漢明距離(其將現已經更新成來自先前第2輪的請求14 203_14),且因此在第3輪中為請求8 203_8提供下一授與226,且屏蔽產生請求8 203_8之佇列202_8,從而進入第4輪。 在第4輪中,RR指標222移動至請求8 203_8下方之下一主動請求,該請求係請求11 203_11 (此係因為屏蔽了請求10 203_10)。然而,應注意,一旦RR指標222傳遞請求8 203_8及請求10 203_10,則可移除請求8 203_8及請求10 203_10上之掩碼,此係因為考慮自請求8 203_8及請求10 203_10之視角且對於下一輪橫越完整輪循週期,若在佇列202_8及/或佇列202_10上存在主動請求,則可針對下一授與考慮對應請求8 203_8及請求10 203_10。在第4輪中,請求11 203_11係剩餘請求11 203_11至15 203_15當中之僅有主動請求,且因而預設被提供下一授與226。RR指標222接著自頂部移動至下一主動請求,以保留連續工作輪循方案。 第5輪可以以下操作開始:將下一授與226提供至請求5 203_5以保留總體輪循次序,此係因為第1輪在請求5 203_5下方開始,此係因為否則,請求5 203_5可經跳過以有利於具有較低漢明距離之剩餘請求,且從不有機會來提供有授與。因此,為了確保每一主動請求獲得至少一個授與機會,在一些狀況下,諸如在第5輪中,輪循方案可比基於最小漢明距離而選擇下一授與之方案更有利。隨後,後續輪之裁定可以類似方式進行,同時考慮在裁定之第1輪至第5輪之以上實例中論述的考量。 另外,在一些態樣中,可能可將圖2之佇列202_0至202_N-1中的字分類成多種類別,諸如資料、控制資訊、位址資訊等等。在一些實施方案中,關於控制資訊或部分位址(例如位址之更有效或上部部分)之字可跨越依序業務保持恆定。舉例而言,此可藉由考慮關於自依序位置之記憶體存取的連續指令來得以理解。因此,在可基於字之類型而判定可不存在涉及來自一些佇列之依序業務之顯著切換功率之此類狀況下,可例如藉由在漢明比較區塊210中判定漢明距離時不考慮來自此等佇列之字來實現功率節省增益。實際上,可在漢明比較區塊210中考慮具有字之佇列,該等字諸如可具有更高展現變化機率(及因此,可能更高的漢明距離)的資料或全位址。 因此,應瞭解,例示性態樣可包括用於執行本文中所揭示之處理程序、函數或演算法之各種方法。舉例而言,如圖4中所說明,一例示性態樣可包括操作一匯流排介面單元(例如匯流排介面單元104)之方法(400)。 區塊402包含自一或多個代理程式(例如N個代理程式102a_0至102a_N-1)接收一或多個字以供傳輸至資料匯流排(例如資料匯流排106)上。 區塊404包含自該一或多個字之至少一子集(例如基於輪循次序中之剩餘字)判定將在傳輸至資料匯流排上時在一或多個字之該子集當中消耗最小切換功率的下一字(例如關於下一授與226)。舉例而言,下一字經判定為該一或多個字之該子集當中之離經排程以供傳輸至資料匯流排上之當前字(例如當前字206)具有最小漢明距離的字,其中最小漢明距離可基於一固定定量方案或一可變定量方案之最低動態功函數值。進一步詳言之,自該一或多個代理程式接收到之該一或多個字可儲存於一或多個佇列(例如N個佇列202_0至202_N-1)中,其中基於一或多個佇列之輪循次序而選擇一或多個字之該子集。實施輪循次序可包括維持用於以依序次序(例如以依序次序從上向下配置,自佇列0 202_0至佇列N-1 202_N-1)橫越具有未決字之佇列的輪循指標(例如RR指標222),及在一或多輪裁定中之每一者中自比輪循指標(亦即,RR指標222下方之剩餘請求)之位置具有更高依序次序的佇列選擇一或多個字之該子集。另外,在一些態樣中,對應於經選擇以供在輪中傳輸之下一字的佇列可針對後續輪而得以掩蔽,且不被選擇直至輪循指標已橫越所有佇列之完整週期為止。 區塊406包含選擇下一字(例如基於用於將選擇218提供至多工器204之下一授與226)以供傳輸至資料匯流排上。在一些態樣中,在傳輸至資料匯流排上之前,經排程以供傳輸之當前字可儲存於暫存器(例如當前字206)中。 現將關於圖5論述可在其中利用本發明之例示性態樣的實例設備。圖5展示計算裝置500之方塊圖。計算裝置500可對應於可經組態以實施圖4之方法400之處理系統的例示性實施方案。在圖5之描繪中,計算裝置500展示為包括經由匯流排介面單元504連接至資料匯流排506之處理器502。資料匯流排506可具有與圖1之資料匯流排106類似的功能性,且匯流排介面單元504可類似地經組態為圖1之匯流排介面單元104a至104c,與自至少包括處理器502之代理程式接收一或多個字,且在一些狀況下根據圖4之方法400而選擇供傳輸至資料匯流排506上之字。資料匯流排506展示為耦接至圖5中之記憶體510,但此係僅僅出於說明起見,且任何其他組態(例如具有處理器502與記憶體510之間的一或多級快取記憶體)可由計算裝置500支援。 圖5亦展示耦接至處理器502及顯示器528之顯示器控制器526。在一些狀況下,計算裝置500可用於無線通信,且圖5亦以短劃線展示可選區塊,諸如耦接至處理器502及揚聲器536之編解碼器(coder/decoder,CODEC) 534 (例如音訊及/或話音CODEC),且麥克風538可耦接至CODEC 534;及耦接至無線控制器540之無線天線542,無線控制器540耦接至處理器502。當此等可選區塊中之一或多者存在時,在一特定態樣中,處理器502、顯示器控制器426、記憶體110及無線控制器540包括於系統級封裝或系統單晶片裝置522中。 因此,在一特定態樣中,輸入裝置530及電源供應器544耦接至系統單晶片裝置522。此外,在一特定態樣中,如圖5中所說明,當存在一或多個可選區塊時,顯示器528、輸入裝置530、揚聲器536、麥克風538、無線天線542及電源供應器544在系統單晶片裝置522外部。然而,顯示器528、輸入裝置530、揚聲器536、麥克風538、無線天線542及電源供應器544中之每一者可耦接至系統單晶片裝置522之組件,諸如介面或控制器。 應注意,儘管圖5大體上描繪計算裝置,但處理器502及記憶體510亦可整合至機上盒、音樂播放器、視訊播放器、娛樂單元、導航裝置、個人數位助理(personal digital assistant,PDA)、固定位置資料單元、伺服器、膝上型電腦、平板電腦、通信裝置、行動電話或其他類似裝置中。更一般而言,處理器502及記憶體510亦可整合至至少一個半導體晶粒中。 熟習此項技術者應瞭解,可使用多種不同技術及技藝中之任一者來表示資訊及信號。舉例而言,可由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子,或其任何組合來表示在貫穿以上描述中可能引用之資料、指令、命令、資訊、信號、位元、符號及碼片。 此外,熟習此項技術者將瞭解,結合本文中所揭示之態樣而描述的各種說明性邏輯區塊、模組、電路及演算法步驟可實施為電子硬體、電腦軟體或兩者之組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體按其功能性加以了描述。將此功能性實施為硬體還是軟體取決於特定應用及強加於整個系統之設計約束。熟習此項技術者可針對每一特定應用以不同方式實施所描述功能性,但不應將此等實施決策解釋為導致脫離本發明之範疇。 結合本文中所揭示之態樣而描述的方法、序列及/或演算法可直接在硬體中、在由處理器執行之軟體模組中或在兩者之組合中直接體現。軟體模組可駐留於RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、可移式抽取式磁碟、CD-ROM,或此項技術中已知的任何其他形式之儲存媒體中。例示性儲存媒體耦接至處理器,使得處理器可自儲存媒體讀取資訊並將資訊寫入至儲存媒體。在替代方案中,儲存媒體可與處理器成一體式。 因此,本發明之一態樣可包括一種體現用於降低資料匯流之排功耗動態之方法的電腦可讀媒體。因此,本發明不限於所說明實例,且用於執行本文中所描述之功能性的任何構件皆包括於本發明之態樣中。 儘管前述揭示內容展示本發明之說明性態樣,但應注意,在不脫離如由所附申請專利範圍界定之本發明之範疇的情況下,可在此作出各種改變及修改。無需按任何特定次序來執行根據本文中所描述之本發明的態樣之方法請求項的功能、步驟及/或動作。此外,儘管可以單數形式描述或主張本發明之元件,但除非明確陳述限於單數形式,否則亦涵蓋複數形式。
100‧‧‧處理系統
102a_0‧‧‧代理程式
102a_N-1‧‧‧代理程式
102b_0‧‧‧代理程式
102b_N-1‧‧‧代理程式
102c_0‧‧‧代理程式
102c_N-1‧‧‧代理程式
104‧‧‧匯流排介面單元
104a‧‧‧匯流排介面單元
104b‧‧‧匯流排介面單元
104c‧‧‧匯流排介面單元
106‧‧‧資料匯流排
202_0‧‧‧佇列
202_1‧‧‧佇列
202_N-1‧‧‧佇列
203_0‧‧‧請求
203_1‧‧‧請求
203_2‧‧‧請求
203_3‧‧‧請求
203_4‧‧‧請求
203_5‧‧‧請求
203_6‧‧‧請求
203_7‧‧‧請求
203_8‧‧‧請求
203_9‧‧‧請求
203_10‧‧‧請求
203_11‧‧‧請求
203_12‧‧‧請求
203_13‧‧‧請求
203_14‧‧‧請求
203_15‧‧‧請求
203_N-1‧‧‧請求
204‧‧‧多工器
206‧‧‧當前字
210‧‧‧漢明比較區塊
212‧‧‧裁定器
216‧‧‧下一字
218‧‧‧選擇信號
220‧‧‧掩碼
222‧‧‧當前輪循(RR)指標
224‧‧‧就緒流控制
226‧‧‧下一授與
400‧‧‧方法
402‧‧‧區塊
404‧‧‧區塊
406‧‧‧區塊
500‧‧‧計算裝置
502‧‧‧處理器
504‧‧‧匯流排介面單元
506‧‧‧資料匯流排
510‧‧‧記憶體
522‧‧‧系統級封裝/系統單晶片裝置
526‧‧‧顯示器控制器
528‧‧‧顯示器
530‧‧‧輸入裝置
534‧‧‧編解碼器(CODEC)
536‧‧‧揚聲器
538‧‧‧麥克風
540‧‧‧無線控制器
542‧‧‧無線天線
544‧‧‧電源供應器
呈現附圖以輔助描述本發明之態樣,且提供圖式僅用於說明態樣而非對其加以限制。 圖1說明根據本發明之態樣組態之具有資料匯流排的處理系統。 圖2說明根據本發明之例示性態樣組態之匯流排介面單元的實施方案。 圖3說明本發明之例示性裁定程序之態樣。 圖4說明根據所揭示態樣之操作匯流排介面單元之方法的流程圖。 圖5描繪可在其中有利地使用本發明之一態樣之例示性計算裝置。

Claims (30)

  1. 一種操作一匯流排介面單元之方法,該方法包含: 自一或多個代理程式接收一或多個字以供傳輸至一資料匯流排上; 自該一或多個字之至少一子集判定將在傳輸至該資料匯流排上時在該一或多個字之該子集當中消耗最小切換功率之一下一字;及 選擇該下一字以供傳輸至該資料匯流排上。
  2. 如請求項1之方法,其包含將該下一字判定為該一或多個字之該子集當中的離經排程以供傳輸至該資料匯流排上之一當前字具有一最小漢明距離的一字。
  3. 如請求項2之方法,其包含基於一固定定量方案或一可變定量方案之一最低動態功函數值而判定該最小漢明距離。
  4. 如請求項2之方法,其包含在傳輸至該資料匯流排上之前儲存經排程以供在一暫存器中傳輸之當前字。
  5. 如請求項1之方法,其包含在一或多個佇列中儲存自該一或多個代理程式接收到之該一或多個字,其中基於該一或多個佇列之一輪循次序而選擇該一或多個字之該子集。
  6. 如請求項4之方法,其包含藉由一輪循指標維持該輪循次序,該輪循指標以依序次序橫越具有一未決字的佇列,且包含在一或多輪裁定中之每一者中自比該輪循指標之一位置具有更高依序次序的佇列選擇該一或多個字之該子集。
  7. 如請求項5之方法,其包含掩蔽對應於經選擇以供傳輸之該下一字的一佇列,且不包含自該經掩蔽佇列選擇一字直至該輪循指標已橫越所有該等佇列之一完整週期為止。
  8. 一種設備,其包含: 一資料匯流排; 一或多個代理程式;及 一匯流排介面單元,其經組態以: 自該一或多個代理程式接收一或多個字以供傳輸至該資料匯流排上; 自該一或多個字之至少一子集判定將在傳輸至該資料匯流排上時在該一或多個字之該子集當中消耗最小切換功率之一下一字;及 選擇該下一字以供傳輸至該資料匯流排上。
  9. 如請求項8之設備,其中該匯流排介面單元包含: 一暫存器,其經組態以儲存經排程以供傳輸至該資料匯流排上之一當前字; 一漢明比較區塊,其經組態以判定該一或多個字之該子集中之每一者與該當前字之間的漢明距離,且提供離該當前字具有最小漢明距離之該下一字的一指示; 一裁定器,其經組態以接收該下一字之該指示且提供一選擇信號;及 一多工器,其經組態以基於該選擇信號而自該一或多個字之該子集選擇該下一字。
  10. 如請求項9之設備,其中該漢明比較區塊經組態以基於一固定定量方案或一可變定量方案之一最低動態功函數值而判定該最小漢明距離。
  11. 如請求項9之設備,其中該匯流排介面單元進一步包含經組態以儲存自該一或多個代理程式接收到之該一或多個字的一或多個佇列,其中該裁定器經組態以基於該一或多個佇列之一輪循次序而自該一或多個佇列選擇該一或多個字之該子集。
  12. 如請求項11之設備,其中該裁定器經組態以接收具有一未決字之佇列的一指示。
  13. 如請求項12之設備,其中該裁定器經進一步組態以藉由一輪循指標維持該輪循次序,該輪循指標經組態以以依序次序橫越具有未決字之佇列,且該裁定器經進一步組態以在一或多輪裁定中之每一者中自比該輪循指標之一位置具有更高依序次序的佇列選擇該一或多個字之該子集。
  14. 如請求項13之設備,其中該裁定器經進一步組態以掩蔽包含經選擇以供傳輸之該下一字的一佇列。
  15. 如請求項14之設備,其中該裁定器經進一步組態以提供該選擇信號,使得不選擇來自該經掩蔽佇列之一字直至該輪循指標已橫越所有該等佇列之一完整週期為止。
  16. 如請求項8之設備,其整合於至少一個半導體晶粒中。
  17. 如請求項1之設備,其整合於一裝置中,該裝置選自由以下各者組成之群:一機上盒、一音樂播放器、一視訊播放器、一娛樂單元、一導航裝置、一個人數位助理(PDA)、一固定位置資料單元、一伺服器、一電腦、一膝上型電腦、一平板電腦、一通信裝置及一行動電話。
  18. 一種設備,其包含: 用於自一或多個代理程式接收一或多個字以供傳輸至一資料匯流排上之構件; 用於自該一或多個字之至少一子集判定將在傳輸至該資料匯流排上時在該一或多個字之該子集當中消耗最小切換功率之一下一字之構件;及 用於選擇該下一字以供傳輸至該資料匯流排上之構件。
  19. 如請求項18之設備,其包含用於將該下一字判定為該一或多個字之該子集當中的離經排程以供傳輸至該資料匯流排上之一當前字具有一最小漢明距離的一字之構件。
  20. 如請求項19之設備,其包含用於基於一固定定量方案或一可變定量方案之一最低動態功函數值而判定該最小漢明距離之構件。
  21. 如請求項19之設備,其包含用於在傳輸至該資料匯流排上之前儲存經排程以供傳輸之該當前字之構件。
  22. 如請求項18之設備,其包含用於儲存自該一或多個代理程式接收到之該一或多個字之構件,且用於選擇該一或多個字之該子集之構件係基於用於儲存該一或多個字之該構件的一輪循次序。
  23. 如請求項22之設備,其進一步包含用於掩蔽用於儲存包含經選擇以供傳輸之該下一字之該一或多個字的一構件之構件。
  24. 一種包含程式碼之非暫時性電腦可讀儲存媒體,該程式碼在由一處理器執行時使得該處理器執行操作一匯流排介面單元之一方法,該非暫時性電腦可讀儲存媒體包含: 用於自一或多個代理程式接收一或多個字以供傳輸至一資料匯流排上之程式碼; 用於自該一或多個字之至少一子集判定將在傳輸至該資料匯流排上時在該一或多個字之該子集當中消耗最小切換功率之一下一字之程式碼;及 用於選擇該下一字以供傳輸至該資料匯流排上之程式碼。
  25. 如請求項24之非暫時性電腦可讀儲存媒體,其包含用於將該下一字判定為該一或多個字之該子集當中的離經排程以供傳輸至該資料匯流排上之一當前字具有一最小漢明距離的一字之程式碼。
  26. 如請求項25之非暫時性電腦可讀儲存媒體,其包含用於基於一固定定量方案或一可變定量方案之一最低動態功函數值而判定該最小漢明距離之程式碼。
  27. 如請求項25之非暫時性電腦可讀儲存媒體,其包含用於在傳輸至該資料匯流排上之前儲存經排程以供在一暫存器中傳輸之當前字之程式碼。
  28. 如請求項24之非暫時性電腦可讀儲存媒體,其包含用於在一或多個佇列中儲存自該一或多個代理程式接收到之該一或多個字之程式碼,其中基於該一或多個佇列之一輪循次序而選擇該一或多個字之該子集。
  29. 如請求項28之非暫時性電腦可讀儲存媒體,其包含用於藉由一輪循指標維持該輪循次序之程式碼,該輪循指標以依序次序橫越具有一未決字的佇列,且包含用於在一或多輪裁定中之每一者中自比該輪循指標之一位置具有更高依序次序的佇列選擇該一或多個字之該子集之程式碼。
  30. 如請求項28之非暫時性電腦可讀儲存媒體,其包含用於掩蔽對應於經選擇以供傳輸之該下一字的一佇列之程式碼,及用於不自該經掩蔽佇列選擇一字直至該輪循指標已橫越所有該等佇列之一完整週期為止之程式碼。
TW107106277A 2017-02-27 2018-02-26 用於匯流排存取之功率感知裁定 TW201837726A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/444,273 US10216671B2 (en) 2017-02-27 2017-02-27 Power aware arbitration for bus access
US15/444,273 2017-02-27

Publications (1)

Publication Number Publication Date
TW201837726A true TW201837726A (zh) 2018-10-16

Family

ID=61283354

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107106277A TW201837726A (zh) 2017-02-27 2018-02-26 用於匯流排存取之功率感知裁定

Country Status (3)

Country Link
US (1) US10216671B2 (zh)
TW (1) TW201837726A (zh)
WO (1) WO2018156379A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113013864A (zh) * 2021-04-14 2021-06-22 无锡市产品质量监督检验院 直流电源转接控制电路及具有其的直流电源转接柜

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243779B1 (en) * 1996-11-21 2001-06-05 Integrated Device Technology, Inc. Noise reduction system and method for reducing switching noise in an interface to a large width bus
US8341332B2 (en) 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
ATE384296T1 (de) 2004-06-21 2008-02-15 Nxp Bv Datenverarbeitungssystem und verfahren zur verbindungs-arbitrierung
US7397395B2 (en) * 2005-02-16 2008-07-08 Intel Corporation Representative majority voter for bus invert coding
US7373462B2 (en) 2005-03-29 2008-05-13 International Business Machines Corporation Snoop filter for filtering snoop requests
US8363668B2 (en) * 2009-12-17 2013-01-29 Juniper Networks, Inc. Avoiding unfair advantage in weighted round robin (WRR) scheduling
US8966291B2 (en) 2010-12-23 2015-02-24 Qualcomm Incorporated Method and apparatus for reducing dynamic power within system-on-a-chip routing resources
TW201346572A (zh) 2012-01-27 2013-11-16 Marvell World Trade Ltd 發送器設備及發送器系統
US9304953B2 (en) 2012-06-29 2016-04-05 Cypress Semiconductor Corporation Memory controller devices, systems and methods for translating memory requests between first and second formats for high reliability memory devices
US9747048B2 (en) 2014-06-02 2017-08-29 Micron Technology, Inc. Systems and methods for packing data in a scalable memory system protocol

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113013864A (zh) * 2021-04-14 2021-06-22 无锡市产品质量监督检验院 直流电源转接控制电路及具有其的直流电源转接柜
CN113013864B (zh) * 2021-04-14 2024-05-03 无锡市产品质量监督检验院 直流电源转接控制电路及具有其的直流电源转接柜

Also Published As

Publication number Publication date
US10216671B2 (en) 2019-02-26
US20180246829A1 (en) 2018-08-30
WO2018156379A1 (en) 2018-08-30

Similar Documents

Publication Publication Date Title
KR101429990B1 (ko) 저 전력 메모리 액세스를 위한 버스 중재 방법들
US10936533B2 (en) GPU remote communication with triggered operations
US20230388216A1 (en) NETWORK-ON-CHIP (NoC) WITH A BROADCAST SWITCH SYSTEM
US8725873B1 (en) Multi-server round robin arbiter
JPWO2012120769A1 (ja) 中継装置、中継装置の制御方法、およびプログラム
US11269661B2 (en) Providing, in a configuration packet, data indicative of data flows in a processor with a data flow manager
US10540300B2 (en) Optimizing network driver performance and power consumption in multi-core processor-based systems
US10101996B2 (en) Arithmetic processing apparatus, information processing apparatus, and method of controlling information processing apparatus
CA3139693A1 (en) Dynamic allocation of computing resources
EP3440547B1 (en) Qos class based servicing of requests for a shared resource
WO2021259098A1 (zh) 一种基于卷积神经网络的加速系统、方法及存储介质
CN104765701A (zh) 数据访问方法及设备
TW201837726A (zh) 用於匯流排存取之功率感知裁定
CN112418389A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
US20090240892A1 (en) Selective interconnect transaction control for cache coherency maintenance
US7657682B2 (en) Bus interconnect with flow control
CN115391053A (zh) 基于cpu和gpu混合计算的在线服务方法及装置
TW201346712A (zh) 聲頻加速器之輕量級功率管理
US9940270B2 (en) Multiple request notification network for global ordering in a coherent mesh interconnect
US20180004692A1 (en) Direct memory access (dma) unit with address alignment
WO2020087248A1 (zh) 多核芯片数据总线布线结构和数据发送的方法
EP4064771A1 (en) System and method for dynamic allocation of resources
WO2019060526A1 (en) MEMORY MANAGEMENT UNIT TRANSACTION DISTRIBUTOR
CN111083717B (zh) 一种数据传输方法及装置
WO2018013335A1 (en) Flow control protocol for an audio bus