TW202340967A - 在資料匯流排上編碼位元組資訊 - Google Patents

在資料匯流排上編碼位元組資訊 Download PDF

Info

Publication number
TW202340967A
TW202340967A TW112106256A TW112106256A TW202340967A TW 202340967 A TW202340967 A TW 202340967A TW 112106256 A TW112106256 A TW 112106256A TW 112106256 A TW112106256 A TW 112106256A TW 202340967 A TW202340967 A TW 202340967A
Authority
TW
Taiwan
Prior art keywords
data
code
byte
bytes
receiver device
Prior art date
Application number
TW112106256A
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 TW202340967A publication Critical patent/TW202340967A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • 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/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • 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
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

資料可以經由賦能或選擇的位元組位置或資料匯流排的其他資料位元組從發送器設備傳送到接收器設備。發送器設備可以決定要經由資料匯流排發送的資料值,並且可以決定哪些位元組位置被賦能或選擇以及哪些位元組位置未被選擇。發送器設備亦可以決定代碼。該代碼可以是未包括在要經由資料匯流排發送的資料值中的值。發送器設備隨後可以在資料匯流排的所選擇位元組位置發送所選擇的資料值並在資料匯流排的未被選擇位元組位置發送代碼。發送器設備亦可以將代碼與資料匯流排的資料位元通道分開發送到接收器設備。

Description

在資料匯流排上編碼位元組資訊
本案係關於在資料匯流排上編碼位元組資訊。
計算設備可以包括多個子系統、核心或其他元件。此種計算設備可以是例如可攜式計算設備(「PCD」),例如膝上型或掌上型電腦、蜂巢式電話或智慧型電話、可攜式數位助理、可攜式遊戲機等。
計算設備的多個子系統、核心或其他元件可以被包括在同一積體電路晶片內或不同晶片內。「片上系統」或「SoC」是此類晶片的一個實例,其整合了眾多元件以提供系統級功能。例如,SoC可以包括一或多個類型的處理器,例如中央處理單元(「CPU」)、圖形處理單元(「GPU」)、數位訊號處理器(「DSP」)和神經處理單元 (「NPU」)。SoC可以包括其他處理子系統,例如提供無線連接的收發器或「數據機」子系統、記憶體子系統等。
各種子系統可以經由資料匯流排相互通訊。資料匯流排可以是串列的或並列的。並列資料匯流排包括多條信號線,亦被稱為位元、通道等。資料匯流排通道的數量可以被稱為資料匯流排寬度。記憶體匯流排是並列資料匯流排的常見實例。儘管更寬的資料匯流排可能有助於增加頻寬,但更寬的資料匯流排的一些缺點可能包括資料匯流排通道佔用更多的晶片面積、功耗增加、時序餘量更窄等。
根據應用或資料要求,某些類型的記憶體設備可以被配置為不同的資料寬度。具有可配置成不同資料寬度的記憶體的一些系統的特徵在於能夠選擇性地僅寫入最寬資料寬度的一部分或子集。一種被稱為「位元組賦能」的技術允許將所選擇的位元組寫入更寬的資料寬度區塊之內。例如,在32位元寬度(即四個位元組)的情況下,可以僅選擇寫入最低位元組而不是全部四個位元組。位元組賦能(「BE」)位元可以連同相應的資料位元組從發送子系統被傳送到接收子系統。發送設備(例如,處理器)可以選擇性地在資料匯流排的所有位元組或僅子集上發送資料。發送設備可以使用BE位元來指示資料匯流排上所選擇的或被賦能的位元組位置。基於BE位元,接收設備可以僅處理在資料匯流排上的賦能位元組位置接收到的資料,而忽略(亦即,不處理)在資料匯流排上非賦能位元組位置接收到的資料。例如,記憶體可以僅寫入BE位元指示被賦能的資料位元組。
在針對每個資料位元組包括一個BE位元的資料匯流排方案中,以位元組為單位的資料匯流排越寬,被保留用於BE位元而不是用於資料的通道數量就越多。期望提供一種BE功能以提高通道針對資料的使用效率。
揭示用於使用所選擇位元組位置或其他資料位元組經由資料匯流排將資料從發送器設備傳送到接收器設備的系統、方法、電腦可讀取媒體以及其他實例。
可以提供用於經由資料匯流排進行資料通訊的一種示例性方法。資料匯流排可以具有複數個資料位元組。每個資料位元組可以具有複數個資料位元通道。該方法可以包括:經由發送器設備決定要經由該資料匯流排發送的所選擇的資料值的集合。該方法亦可以包括:經由該發送器設備決定所選擇的資料位元組和未被選擇的資料位元組。該方法進一步可以包括:經由該發送器設備決定表示在該所選擇的資料值的集合中不包括的未被選擇資料值的代碼。該方法亦可以包括:經由該資料位元通道向接收器設備發送所選擇的資料位元組中的所選擇的資料值以及未被選擇的資料位元組中的該代碼。該方法亦可以包括:將該代碼與該資料位元通道分開發送到該接收器設備。
可以提供用於經由資料匯流排進行資料通訊的一種示例性系統。該資料匯流排可以具有複數個資料位元組。每個資料位元組可以具有複數個資料位元通道。該示例性系統可以包括編碼器和資料字格式化器。該編碼器可以被配置為:決定要經由該資料匯流排發送的所選擇的資料值的集合。該資料字格式化器可以被配置為:決定所選擇的資料位元組和未被選擇的資料位元組。該資料字格式化器亦可以被配置為:決定表示在該所選擇的資料值的集合中不包括的未被選擇資料值的代碼。該資料字格式化器進一步可以被配置為:經由該資料位元通道向接收器設備提供具有所選擇的資料位元組中的該所選擇的資料值以及未被選擇的資料位元組中的該代碼的資料字。該資料字格式化器亦可以被配置為:經由與該資料位元通道分開的複數個代碼位元通道向該接收器設備提供該代碼。
可以提供用於經由資料匯流排進行資料通訊的另一示例性系統。該資料匯流排可以具有複數個資料位元組。每個資料位元組可以具有複數個資料位元通道。該系統可以包括:用於決定要經由該資料匯流排發送的所選擇的資料值的集合的構件。該系統亦可以包括:用於決定所選擇的資料位元組和未被選擇的資料位元組的構件。該系統進一步可以包括:用於決定表示在該所選擇的資料值的集合中不包括的未被選擇資料值的代碼的構件。該系統亦可以包括:用於經由該資料位元通道向接收器設備發送所選擇的資料位元組中的所選擇的資料值以及未被選擇的資料位元組中的該代碼的構件。該系統亦可以包括:用於將該代碼與該資料位元通道分開發送到該接收器設備的構件。
可以提供用於經由資料匯流排進行資料通訊的一種示例性電腦可讀取媒體。該資料匯流排可以具有複數個資料位元組。每個資料位元組可以具有複數個資料位元通道。該電腦可讀取媒體可以包括非暫態電腦可讀取媒體,其上儲存有電腦可執行形式的指令。該等指令在由計算設備的處理系統執行時,可以配置該處理系統控制以下操作。該等指令可以配置該處理系統控制決定要經由該資料匯流排發送的所選擇的資料值的集合。該等指令亦可以配置該處理系統控制決定所選擇的資料位元組和未被選擇的資料位元組。該等指令進一步可以配置該處理系統控制決定表示在該所選擇的資料值的集合中不包括的未被選擇資料值的代碼。該等指令亦可以配置該處理系統控制:經由該資料位元通道向接收器設備發送所選擇的資料位元組中的所選擇的資料值以及未被選擇的資料位元組中的該代碼。該等指令亦可以配置該處理系統控制:將該代碼與該資料位元通道分開發送到該接收器設備。
本文中使用的「示例性的」一詞意謂「用作示例、實例或說明」。「說明性」一詞在本文中可與「示例性」同義使用。在本文中被描述為「示例性的」的任何態樣不一定被解釋為優選的或者比其他態樣更有優勢的。
如圖1所示,系統100可以包括發送器設備102和接收器設備104。發送器設備102和接收器設備104可以被包括在片上系統或「SoC」106上。亦即,發送器設備102和接收器設備104各自可以包括SoC 106上的電子電路。在實例中,發送器設備102可以包括處理器或處理電路,並且接收器設備104可以包括具有可配置資料寬度的記憶體設備。儘管在該示例性實施例中發送器設備102和接收器設備104在彼此相同的SoC 106上,但在其他實施例中,此種發送器設備和接收器設備可以在分開的晶片上。例如,發送器設備和接收器設備可以位於封裝中的分開的「小晶片」上。
包括多個(「N」個)資料位元通道的資料匯流排108可以互連發送器設備102和接收器設備104。每個資料位元通道可以是電信號導體或路徑,例如SoC 106上的金屬化條帶。資料匯流排108可以並列傳送N位元資訊或資料,每個資料位元通道傳送一位元資料。資料匯流排108可以具有以位元、位元組或任何其他單位表示的寬度。為了本案內容的目的,資料匯流排108的寬度可以用被稱為「資料位元組」的單位表示,每個資料位元組包括兩個或兩個以上資料位元通道。在實例中,每個資料位元組可以包括八個資料位元通道,即一個位元組,並且資料匯流排108可以具有256位元組的寬度,經由總共N=2048個通道(亦即,256位元組×每位元組8通道)傳送。
儘管在該實例中每個資料位元組包括八個位元(亦即,一個位元組),但在其他實例中,每個資料位元組可以包括任意數量的兩個或兩個以上位元。儘管術語「發送器」和「接收器」用於說明實例的目的,並且資料通訊的示例性方向由圖1中資料匯流排108上的箭頭指示,但是應當理解,資料匯流排108 在其他實例中可以是雙向的。此外,術語「資料匯流排」是為了方便而使用的,不應被解釋為限制性的。例如,資料匯流排108可以是複雜的資料互連,例如有時被稱為片上網路或「NoC」、互連「結構」等的資料互連類型。儘管未在圖1中示出,但根據本案內容的資料匯流排可以互連任何數量的不同設備。經由資料匯流排向另一此類設備發送資料的任何此類設備可以是「發送器」設備,如本文所使用的術語。同樣,經由資料匯流排從另一此類設備接收資料的任何此類設備可以是「接收器」設備,如本文所使用的術語。由於在一些實例中一些設備可以是雙向的(亦即,收發器),因此發送器設備可以是被配置為處於發送資料的模式的雙向設備,而接收器設備可以是被配置處於接收資料的模式的雙向設備。
此外,多個(「M」)代碼位元通道110可以互連發送器設備102和接收器設備104。類似於資料匯流排108的上述資料位元通道,每個代碼位元通道可以是電信號導體或路徑,例如SoC 106上的金屬化條帶。代碼位元通道110可以將包括M個並列代碼位元的代碼從發送器設備102傳送到接收器設備104。該代碼可以是與每個資料位元組相同的資料大小。在每個資料位元組由八個資料位元通道組成的實例中,代碼可以包括八個位元(亦即,M=8個代碼位元通道110)。然而,在其他實例中,代碼可以包括不與下文描述的操作原理不一致的任何其他數量的位元。代碼位元通道110可以是與資料匯流排108相同的互連結構的一部分,但是為了清楚起見,代碼位元通道110和資料匯流排108在圖1中被分開圖示。請注意,在圖1所示的實例中,至少N+M個通道互連或耦合發送器設備102和接收器設備104。
如圖2所示,示例性資料字配置200可以由256個位元組組成,256個位元組相應地可以經由具有N=2048個通道(亦即,256位元組×每位元組8個通道)的資料匯流排108(圖1)傳送。在圖示的資料字配置200中,位元組位置是上述資料匯流排108的資料位元組的實例(圖1)。因此,在圖2所示的實例中,資料字配置200包括:第一位元組位置202A(例如,在最低有效位元組位置);與第一位元組位置202A相鄰的第二位元組位置202B;與第二位元組位置202B相鄰的第三位元組位置202C,直到第256位元組位置202N(例如,在最高有效位元組位置)。在圖示實例中:第一位元組位置202A可以包含資料字的第一位元b0、資料字的第二位元b1、資料字的第三位元b2等,直到資料字的第8位元b7;第二位元組位置202B可以包含資料字的第9位元b8到資料字的第16位元b15;第三位元組位置202C可以包含資料字的第17位元b16到資料字的第24位元b23等,直到第256位元組位置202N,其可以包含資料字的第2041個位元b2040到資料字的第2048個位元b2047。
在圖3中,圖示用於經由資料匯流排傳送資料的方法300。資料匯流排可以如上文針對圖1-圖2所描述的一般配置。亦即,資料匯流排可以包括兩個或兩個以上資料位元組,例如兩個或兩個以上位元組,其中每個資料位元組包括兩個或兩個以上資料位元通道。發送器設備可以被配置為控制方法300的一些或全部。例如,在發送器設備包括處理器的實施例中,處理器可以由軟體或韌體配置以控制方法300的一些或全部。此外,發送器設備或其一部分(例如,處理器)可以是用於執行方法300中闡述的功能的構件的實例。方法300可包括方塊302-310中指示的以下特徵、功能、動作等,其可以以不與本文的描述不一致的任何循序執行或者可以以其他方式發生。以有助於理解示例性方法300的順序描述了方塊302-310,但是用於經由資料匯流排將資料從發送器設備傳送到接收器設備的方法不限於該順序。
如方塊302所示,方法300可包括:決定要經由資料匯流排發送的資料值的集合(亦即,所選擇的資料值)。例如,發送器設備可以從另一個源獲得資料並且安排或組織資料值以發送到接收器設備。在一些實例中,要發送到接收器設備的資料值可以是由發送器設備執行的計算的結果。再次參考圖2所示的實例,每個資料值可以是一個位元組,即八個位元。在此種實例中,資料值可以在從零到255的範圍內。在一些實例中,所選擇的資料值的集合的大小可以與資料字的大小相關。例如,最多可以選擇256個單字節資料值來經由資料匯流排發送。在此種實例中,發送器設備可以決定或提供要以一個256位元組資料字的形式發送的所選擇的資料值的集合。在此種實例中,方法300可以被重複任意次數以發送任意數量的資料字。
如方塊304所示,方法300進一步可以包括:決定所選擇的和未被選擇的資料位元組。例如,發送器設備可選擇在哪些資料位元組中發送所選擇的資料值,以及相反地,選擇在哪些資料位元組中不發送任何所選擇的資料值。發送器設備可以選擇任何或所有資料位元組來共同發送所選擇的資料值的集合。再次參考圖2中所示的實例,發送器設備可以選擇位元組位置202A-202N中的任何位元組位置以包含從發送器設備到接收器設備的傳輸或發送操作中的資料。所選擇的資料位元組(例如,位元組位置)亦可以被稱為賦能的資料位元組。在資料位元組是位元組位置的實例中,所選擇的位元組位置亦可以稱為被賦能的位元組位置或被賦能的位元組。如下所述,在方法300的一些實例中,發送器設備可以產生資料結構,例如位元陣列或位元向量,其可以指示哪些資料位元組被選擇(或被賦能)以及哪些資料位元組未被選擇。
如方塊306所示,方法300亦可以包括:決定表示未被選擇的資料值的代碼。代碼或未被選擇的資料值可以是未包括在所選擇的資料值的集合中的任何資料值。
如方塊308所示,方法300亦可以包括:經由資料位元通道向接收器設備發送所選擇的資料位元組中的所選擇的資料值和未被選擇的資料位元組中的代碼。換言之,在發送的資料字中,所選擇的資料值位於或被包含在所選擇的資料位元組中,而代碼位於或被包含在未被選擇的資料位元組中。如方塊310所示,方法300亦可以包括:將代碼與資料位元通道分開地發送到接收器設備。例如,再次參考圖1,發送器設備102可以經由代碼位元通道110向接收器設備發送代碼。
如圖4所示,系統400可以被配置為:輸出資料字,其中所選擇的資料值位於或被包含在所選擇的資料位元組中,並且代碼位於或包含在未被選擇的資料位元組中。系統400可以被配置為經由資料匯流排(圖4中未圖示)輸出或提供資料字。系統400可以是上述發送器設備102(圖1)的一部分的實例。系統400可以包括處理器邏輯(例如,由軟體或韌體程式設計)、個別電路(例如,有限狀態機、組合邏輯等),或者其任何組合。
輸入資料字402可以在與所選擇的資料位元組(例如,所選擇的位元組位置)相對應的位置(例如,位元組位置)中包括上述所選擇的資料值的集合。輸入資料字402中與所選擇的資料位元組不相對應的位置,或者相反地說,與未被選擇的資料位元組相對應的位置可以包含任何資料值(亦即,邏輯「無關」值)。輸入資料字402可以具有與上述資料字配置200(圖2)類似的配置。輸入BE向量404可由位元陣列或位元向量組成,其指示輸入資料字402中的哪些資料位元組被選擇以及哪些資料位元組未被選擇。例如,系統400可以以資料結構的形式維護輸入BE向量404。在其中接收器設備104(圖1)是具有帶可配置資料寬度的匯流排的記憶體的實例中,輸入BE向量404可以指示(例如,經由‘1’位元)被選擇的(亦即,賦能的)記憶體匯流排位元組並且可以指示(例如,經由‘0’位元)未被選擇的(即未賦能的)記憶體匯流排位元組。
二元到一元編碼器406可以被配置為:接收、獲得或以其他方式決定要經由資料匯流排發送的所選擇的資料值的集合。例如,二元到一元編碼器406可以被配置為決定輸入資料字402。決定輸入資料字402可以包括從資料來源,例如發送器設備的另一部分(未圖示),接收輸入資料字402。二元到一元編碼器406可以類似地接收或以其他方式決定輸入BE向量404。二元到一元編碼器406,其亦可以被稱為2的補數編碼器或轉換器,亦可以被配置為:使用輸入BE向量404將輸入資料字402轉換成所選擇的資料值408的位元向量。如下文針對實例所述,所選擇的資料值的位元向量408可以在每個位元位置包含‘1’位元,其中位元位置(亦即,數位索引)等於所選擇的資料值並且所選擇的資料值的位元向量408可以在每個位元位置包含‘0’位元,其中位元位置(即數位索引)不等於所選擇的資料值。如本領域一般技藝人士所理解的,二元到一元編碼器406可以使用邏輯閘極的直接配置來實現,並且方便地提供向量化方法來指示本文所述的所選擇的資料值。然而,二元到一元編碼器406僅是用於決定要經由資料匯流排發送的所選擇的資料值的集合的電路的一個實例,鑒於本文的描述,本領域一般技藝人士可以想到其他方法和實例。
資料字格式化器410可以被配置為:接收輸入資料字402、輸入BE向量404和所選擇的資料值的位元向量408。資料字格式化器410進一步可被配置為:使用所選擇的資料值的位元向量408來決定表示未被選擇的資料值的代碼。例如,資料格式化器410可以被配置為選擇包含‘0’位元的所選擇的資料值408的位元向量中的位元位置。若有兩個或兩個以上位元位置包含‘0’位元,則資料格式化器410可以選擇其中的任何一個。
資料格式化器410亦可以被配置為:決定所選擇的和未被選擇的位元組或其他資料位元組。在圖示實例中,資料格式化器410可以使用輸入BE向量404來決定所選擇的和未被選擇的位元組。
資料字格式化器410進一步可以被配置為:將輸出資料字提供到接收器設備(例如,經由上文針對圖1描述的資料位元通道108)。輸出資料字可以包含所選擇的資料位元組中的所選擇的資料值,並且可以包含未被選擇的資料位元組中的代碼。例如,資料字格式化器410可以將輸入資料字402中指示的所選擇的位元組值置於輸出資料字的相應位元組位置,並且可以將代碼置於輸出資料字的剩餘的、未被選擇的位元組位置。資料字格式化器410亦可以被配置為:將代碼與輸出資料字分開地提供給接收器設備(例如,經由上文針對圖1描述的代碼位元通道110)。
在圖5中,圖示上述系統400的操作實例。在圖示實例中,除了其他位元值之外(為了清楚起見未圖示所有位元值),256位元輸入BE向量包括:位元位置b255(即最高有效位元位置)中的‘1’,從而指示相應資料匯流排位元組位置B255被選擇;位元位置b254中的‘1’,其指示相應資料匯流排位元組位置B254被選擇;位元位置b253中的‘0’,從而指示相應資料匯流排位元組位置B253未被選擇;及位元位置b0(即最低有效位元位置)中的‘1’,從而指示相應資料匯流排位元組位置B0被選擇。示例性BE向量亦可以包括一些其他示例性(或第n個)位元位置「bn」,其具有‘0’,從而指示相應資料匯流排位元組位置Bn未被選擇。位元位置b252到b(n+1)中的位元值和位元位置b(n-1)到b1中的位元值為了清楚起見未圖示,但類似地可以具有值‘1’以指示所選擇的資料匯流排位元組位置,或者具有值‘0’以指示未被選擇的資料匯流排位元組位置。
在圖5所示的實例中,256位元組的輸入資料字除其他資料位元組值外亦包括(為了清楚起見,未圖示所有內容):位元組位置B255(即最高有效位元組位置)中的資料位元組值252;位元組位置B254中的資料位元組值0;位元組位置B0(即最低有效位元組位置)中的資料位元組值2。位元組位置B253中的位元組可以具有任何值,如「無關」符號「X」所指示的,因為如前述,該實例中的輸入BE向量指示資料匯流排位元組位置B253未被選擇。同樣,位元組位置Bn中的位元組可以具有任何值,如「無關」符號「X」所指示的,因為如前述,該實例中的輸入BE向量指示資料匯流排位元組位置Bn未被選擇。為了清楚起見,未圖示位元組位置B252到B(n+1)以及位元組位置B(n-1)到B1中的資料值,但可以具有任何值。請注意,由於所示實例中的資料位元組是一個位元組(即八個位元),因此每個位元組值可以在從0到255的範圍內。
在該實例中形成所選擇的資料值的位元向量時(圖5),二元到一元編碼器406(圖4)除了其他位元值(為了清楚起見未圖示所有位元值)以外可以:如箭頭502所示,將位元值‘1’置於位元位置b252中,因為輸入資料字中所選擇資料匯流排位元組位置B255中的資料位元組的值為252;如另一箭頭504所示,將位元值‘1’置於位元位置b0中,因為輸入資料字中所選擇資料匯流排位元組位置B254中的資料位元組的值為0;及如另一箭頭506所示,將位元值‘1’置於位元位置b2中,因為輸入資料字中所選擇資料匯流排位元組位置B0中的資料位元組的值為2。儘管沒有明確示出輸入資料字中資料值為255和1的資料位元組,但在該實例中,所選擇的資料值的位元向量的位元位置b255和b1中的位元值被類似地設置為‘1’,分別如虛線箭頭508和510所示。
請注意,所選擇的資料值的位元向量經由位元位置中存在‘1’指示:等於該位元位置(數位索引)的資料值在所選擇的資料值的集合中,即存在於輸入資料字中。例如,位元位置b255中的‘1’表示輸入資料字中存在資料值255,位元位置b252中的‘1’表示輸入資料字中存在資料值252,等等。同樣,所選擇的資料值的位元向量經由位元位置中存在‘0’指示:等於該位元位置(數位索引)的資料值不在所選擇的資料值的集合中。例如,位元位置b254中的‘0’指示資料值254不在所選擇的資料值的集合中,位元位置b253中的‘0’指示資料值253不在所選擇的資料值的集合中,位元位置b3中的‘0’指示資料值3不在所選擇的資料值的集合中,等等。
在該實例中形成輸出資料字時(圖5),資料格式化器410(圖4)首先可以決定表示未使用或未被選擇的資料值的代碼。為了決定代碼,資料格式化器410可以決定所選擇的資料值的位元向量中的哪些位元位置具有位元值‘0’。在圖5所示的實例中,資料格式化器410可以決定:所選擇的資料值的位元向量中的位元位置b254、b253、b3(可能亦有未圖示的其他位元)具有位元值‘0’,因此,資料值254、253和3(可能亦有未圖示的其他資料值)不在所選擇的資料值的集合中。在該實例中,資料格式化器410可以選擇該等未使用的資料值中的任何一個(亦即,不在所選擇的資料值的集合中的資料值),以用作或表示代碼。在圖示實例中,資料格式化器410選擇未使用的資料值3。然而,資料格式化器410可以替代地選擇未使用的資料值253或254。在存在多個未使用資料值的實例中,可以實現選擇未使用資料值的規則,例如選擇與最低有效位元位置最近的位元位置相對應的資料值。
在該實例中形成輸出資料字時(圖5),資料格式化器410隨後可以將代碼(在該實例中為3)置於每個未被選擇的資料匯流排位元組位置中。因此,資料格式化器410可以在該實例中將位元組值3置於資料匯流排位元組位置B253和Bn中,分別如箭頭512和514所指示的。資料格式化器410可以類似地將位元組值3置於在任何其他未被選擇的資料匯流排位元組位置(為了清楚起見未圖示)。儘管出於清楚的目的未圖示箭頭指示符,但資料格式化器410亦可以將每個所選擇的資料值,即輸入字中存在的每個資料值,置於輸出資料字中的相同資料匯流排位元組位置中,其中該資料值存在於輸入資料字中。因此,資料格式化器410可以將資料值252置於輸出資料字的資料匯流排位元組位置B255中,將資料值0置於輸出資料字的資料匯流排位元組位置B254中,將資料值2置於輸出資料字的資料匯流排位元組位置B0中,等等。資料格式化器410可以類似地將可能存在於輸入資料字中的其他資料值(為了清楚起見未圖示)置於輸出資料字中的相應資料匯流排位元組位置中。資料格式化器410可以使用輸入BE向量來決定哪些資料匯流排位元組位置被選擇以及哪些未被選擇。
如圖6所示,系統600可以被配置為經由資料匯流排(未圖示)來接收資料字。資料字可以具有上文針對圖5描述的輸出資料字的配置。亦即,在資料字中,所選擇的資料值位於或被包含在所選擇的資料匯流排位元組位置中,而代碼位於或被包含在未被選擇的資料匯流排位元組位置中。系統600可以是上述接收器設備104(圖1)的一部分的實例。系統600可以包括處理器邏輯(例如,由軟體或韌體程式設計)、個別電路(例如,有限狀態機、組合邏輯等),或者其任何組合。
系統600可以包括比較邏輯601。比較邏輯601可以包括一數量個位元組(例如位元組)比較器602,該數量等於資料匯流排位元組(例如位元組)位置的數量。例如,具有256個資料匯流排位元組位置的系統600可以包括256個比較器602(為清楚起見,未在圖6中示出所有比較器)。每個比較器602可以被配置為將在資料匯流排位元組位置之一中接收到的資料值與代碼進行比較。系統600可以被配置為重建BE向量。亦即,系統600可以形成類似於上文針對圖5描述的輸入BE向量的經重建BE向量。一旦系統600形成了重建的BE向量,系統600或接收器設備104(圖1)的另一部分可以以一般方式使用重建的BE向量來重建或決定資料字。
若比較器602之一的輸出指示接收到的資料值與代碼匹配,則系統600將位元值‘0’置於經重建的BE向量中的相應位元位置。若比較器602之一的輸出指示接收到的資料值與代碼不匹配,則系統600將位元值‘1’置於經重建的BE向量中的相應位元位置。比較器602(或其他實施例中的其他比較邏輯)因此使系統600能夠決定每個未被選擇的資料匯流排位元組位置,每個未被選擇的資料匯流排位元組位置由與代碼匹配的接收資料值指示。類似地,比較器602使系統600能夠決定每個所選擇的資料匯流排位元組位置,每個所選擇的資料匯流排位元組位置由與代碼不匹配的接收資料值指示。
系統600或接收器設備104的另一部分,例如處理器或其他處理邏輯(未圖示),隨後可以重建或決定資料字。例如,接收器設備104可以忽略在與經重建的BE向量中的相應位元位置中的位元值‘0’相對應的資料匯流排位元組位置之一中接收到的任何資料值,或將其視為邏輯「無關」。換言之,重建的BE向量使接收器設備104能夠決定哪些資料匯流排位元組位置被賦能,並因此決定哪些接收到的資料值是有效的。
在接收到的資料值是上文針對圖5描述的輸出資料字的彼等資料值的實例中,接收器設備104對資料字的重建可以包括以下內容。由於經重建位元組賦能向量指示了在資料匯流排位元組位置B255中的接收資料值252與代碼(本例中為3)不匹配,因此接收到資料值252被置於重建資料字中的相應位元組位置,如箭頭604所指示的。類似地,由於經重建位元組賦能向量指示了資料匯流排位元組位置B254中的接收資料值0與代碼不匹配,因此接收到資料值0被置於經重建資料字中的相應位元組位置,如箭頭606所指示的。然而,由於經重建位元組賦能向量指示了在資料匯流排位元組位置B253中的接收資料值3與代碼匹配,因此經重建資料字中的位元組位置B253是無效的。同理,由於經重建的位元組賦能向量指示資料匯流排位元組位置Bn中的接收資料值3與代碼匹配,因此經重建資料字中的相應位元組位置Bn是無效的。由於資料匯流排位元組位置B0中的接收資料值2與代碼不匹配,因此接收到資料值2被置於經重建資料字中的相應位元組位置,如箭頭608所指示的。
一旦接收器設備104已經重建或決定了資料字,接收器設備104就可以以一般方式處理所有有效的接收資料值(並且不處理任何無效的接收資料值)。在接收器設備104是記憶體設備的實例中,記憶體設備可以儲存有效的接收資料值(並且不儲存任何無效的接收資料值)。附加地或替代地,在一些實例中,接收器設備104可以在此種處理之前將零置於無效或未被選擇的位元組位置中。
在圖7中,圖示用於經由資料匯流排接收資料的方法700。接收器設備可以被配置為控制方法700的一些或全部。例如,在接收器設備包括處理器的實施例中,處理器可以由軟體或韌體配置以控制方法700的一些或全部。此外,接收器設備或其一部分(例如,處理器)可以是用於執行方法700中闡述的功能的構件的實例。方法700可包括由方塊702-712指示的以下特徵、功能、動作等,其可以以不與本文的描述不一致的任何循序執行或者可以以其他方式發生。以有助於理解示例性方法700的順序描述了方塊702-712,但是用於經由資料匯流排接收資料的方法不限於該順序。
如方塊702所示,方法700可包括:接收器設備經由資料匯流排(資料位元通道)接收所選擇的資料值,並經由代碼位元通道接收代碼。如方塊704所示,方法700可以包括:接收器設備將代碼與在每個資料匯流排位元組位置(或其他資料位元組)中接收到的每個資料值進行比較。如方塊706所示,方法700亦可以包括:接收器設備決定或識別具有與代碼匹配的資料值的每個資料匯流排位元組位置(亦即,識別所選擇的資料匯流排位元組位置)。類似地,如方塊708所示,方法700可以包括:接收器設備決定或識別具有與代碼不匹配的資料值的每個資料匯流排位元組位置(亦即,識別未被選擇的資料匯流排位元組位置)。
如方塊710所示,方法700進一步可以包括:接收器設備重建位元組賦能向量。如方塊712所示,方法700亦可以包括:接收器設備使用重建位元組賦能向量和接收資料值來重建資料字。在一些實例中,重建資料字可以包括將零置於無效或未被選擇的位元組位置。
如圖8所示,系統800可以包括SoC 806上的發送器設備802和接收器設備804。系統800可以類似於上述系統100(圖1),並且可以包括互連發送器設備802和接收器設備804的N個資料位元通道808和M個代碼位元通道810。此外,系統800可以包括互連發送器設備802和接收器設備804的Full_Payload信號路徑812。發送器設備可以在信號路徑812上斷言Full_Payload信號以指示所有資料位元組皆被選擇。例如,在有2048個資料位元通道808(亦即,N=2048),並且每個可選資料位元組是一個位元組的實施例中,發送器設備可以斷言Full_Payload信號以指示所有256個資料匯流排位元組位置皆被選擇。回應於偵測到Full_Payload信號的斷言,接收器設備804可以放棄上述用於重建資料字的方法的一部分,而是改為可以將在每個資料匯流排位元組位置中接收到的資料值視為有效。換言之,當接收器設備804決定Full_Payload信號被斷言時,接收器設備804可以對在所有資料匯流排位元組位置接收到的所有資料值進行處理。
另外,系統800可以包括互連發送器設備802和接收器設備804的Has_Payload信號路徑814。發送器設備802可以在沒有資料匯流排位元組位置(或其他資料位元組)被選擇時解除斷言信號路徑814上的Has_Payload信號,並且可以在至少一個資料匯流排位元組位置(或其他資料位元組)被選擇時斷言Has_Payload信號。Has_Payload信號的解除斷言可以向接收器設備804指示不要期望接收資料。
圖9圖示PCD 900的實例(例如行動電話或智慧手機),其中可以提供系統、方法、電腦可讀取媒體的示例性實施例以及經由資料匯流排傳送資料的其他實例。為清楚起見,一些資料匯流排、互連、信號等未在圖9中示出。儘管PCD 900被示為實例,但是可以在其他類型的計算設備或系統中提供系統、方法、電腦可讀取媒體的其他實施例以及經由資料匯流排傳送資料的其他實例。
PCD 900可以包括SoC 902。SoC 902可以包括中央處理單元(「CPU」)904、神經處理單元(「NPU」)905、圖形處理單元(「GPU」)906、數位訊號處理器(「DSP」)907、類比信號處理器908、數據機或收發器子系統954或者其他處理器。CPU 904可以包括一或多個CPU核心,例如第一CPU核心904A、第二CPU核心904B等,至第N CPU核心904N。
顯示控制器910和觸控式螢幕控制器912可以耦合至CPU 904。SoC 902外部的觸控式螢幕顯示器914可以耦合至顯示控制器910和觸控式螢幕控制器912。PCD 900進一步可以包括耦合至CPU 904的視訊解碼器916。視訊放大器918可以耦合至視訊解碼器916和觸控式螢幕顯示器914。視訊連接埠920可以耦合至視訊放大器918。通用串列匯流排(「USB」)控制器922亦可以耦合至CPU 904,並且USB埠924可以耦合至USB控制器922。用戶身份模組(SIM)卡926亦可以耦合至CPU 904。
一或多個記憶體可以耦合至CPU 904。一或多個記憶體可以包括揮發性記憶體和非揮發性記憶體。揮發性記憶體的實例包括靜態隨機存取記憶體(「SRAM」)928以及動態隨機存取記憶體(「DRAM」)930和931。此種記憶體可以在SoC 902外部,例如DRAM 930,或者在SoC 902內部,例如DRAM 931。耦合至CPU 904的DRAM控制器932可以控制向DRAM 930和931寫入資料以及從DRAM 931讀取資料。
儘管為了清楚起見未圖示,但耦合記憶體928、930、931等中的一或多個以及CPU 904或其他處理器(例如,NPU 905、GPU 906、DSP 907等)的資料匯流排可以是上文描述的資料匯流排108(圖1)或808(圖8)的實例。任何此種處理器或子系統可以是發送器設備102(圖1)或802(圖8)的實例、接收器設備104(圖1)或804(圖8)的實例,或者此種發送器設備和接收器設備(即收發器設備)的組合。記憶體928、930、931等中的任一個可以是接收器設備104(圖1)或804(圖8)的實例,其中記憶體具有可配置的寬度。此種處理器或子系統可以相應地具有如上文針對圖3-圖7所描述的一般配置的處理邏輯。為了清楚起見,耦合或互連此類發送器設備和接收器設備的資料匯流排或其他互連(例如,NoC)未在圖9中示出。然而,如本領域一般技藝人士所理解的,SoC 902可以包括任意數量的此類資料匯流排或者耦合或互連SoC 902上的各種類型的發送器和接收器設備的其他互連。其他資料匯流排可以將SoC 902與外部設備(例如外部DRAM 930)耦合。
身歷聲音訊編解碼器934可以耦合至類比信號處理器908。另外,音訊放大器936可以耦合至身歷聲音訊編解碼器934。第一和第二身歷聲揚聲器938和940可以分別耦合至音訊放大器936。另外,麥克風放大器942可以耦合至身歷聲音訊編解碼器934,並且麥克風944可以耦合至麥克風放大器942。頻率調制(「FM」)無線電調諧器946可以耦合至身歷聲音訊編解碼器934。FM天線948可以耦合至FM無線電調諧器946。此外,身歷聲耳機950可以耦合至身歷聲音訊編解碼器934。可以耦合至CPU 904的其他設備包括一或多個數位(例如,CCD或CMOS)相機952。
數據機或RF收發器954可以耦合至類比信號處理器908和CPU 904。RF開關956可以耦合至RF收發器954和RF天線958。另外,小鍵盤960、具有麥克風的單聲道頭戴式耳機962以及振動器設備964可以耦合至類比信號處理器908。
SoC 902可以具有一或多個內部或片上熱感測器970A並且可以耦合至一或多個外部或片外熱感測器970B。類比數位轉換器控制器972可以將熱感測器970A和970B產生的電壓降轉換成數位信號。電源974和PMIC 976可以向SoC 902供電。
韌體或軟體可以儲存在任何上述記憶體中,例如DRAM 930或931、SRAM 928等,或者可以儲存在軟體或韌體在其上執行的處理器硬體可直接存取的本端記憶體中。此種韌體或軟體的執行可以控制任何上述方法的態樣或配置任何上述系統的態樣。任何此種記憶體或具有以電腦可讀形式儲存在其中以供處理器硬體執行的韌體或軟體的其他非暫態儲存媒體可以是「電腦可讀取媒體」的實例,正如該術語在專利詞典中所理解的一般。
上述解決方案可以減少資料匯流排上資料位元通道的數量。減少資料位元通道的數量可能會對減少SoC或其他系統中資料匯流排的所需面積或佔用空間、改進資料匯流排的時序、降低功耗等產生影響。
在下列編號的條款中描述了實施方式實例:
1、一種用於經由具有複數個資料位元組的資料匯流排進行資料通訊的方法,每個資料位元組具有複數個資料位元通道,該方法包括:
經由發送器設備決定要經由該資料匯流排發送的所選擇的資料值的集合;
經由該發送器設備決定所選擇的資料位元組和未被選擇的資料位元組;
經由該發送器設備決定表示在該所選擇的資料值的集合中不包括的未被選擇資料值的代碼;
經由該資料位元通道向接收器設備發送所選擇的資料位元組中的所選擇的資料值以及未被選擇的資料位元組中的該代碼;及
將該代碼與該資料位元通道分開發送到該接收器設備。
2、根據條款1之方法,其中每個資料位元組由八個位元組成。
3、根據條款1或2之方法,其中發送該代碼包括:經由與該資料位元通道分開的複數個代碼位元通道發送該代碼。
4、根據條款1-3中任意條款所述的方法,進一步包括:
經由該發送器設備決定是否所有資料位元組皆被選擇;及
與該資料位元通道分開地向該接收器設備發送對所有資料位元組被選擇的指示。
5、根據條款1-4中任意條款所述的方法,進一步包括:
經由該發送器設備決定是否沒有資料位元組被選擇;及
與該資料位元通道分開地向該接收器設備發送對沒有資料位元組被選擇的指示。
6、根據條款1-5中任意條款所述的方法,進一步包括:
經由該資料位元通道接收資料值;
與該資料位元通道分開接收該代碼;
經由該接收器設備將該代碼與經由該資料位元通道接收的每個資料位元組之每一者資料值進行比較;
經由該接收器設備決定具有與該所選擇的資料位元組中的一個所選擇的資料位元組中的代碼匹配的資料值的每個資料位元組;
經由該接收器設備決定具有與該未被選擇的資料位元組中的一個未被選擇的資料位元組中的代碼不匹配的資料值的每個資料位元組;及
處理該所選擇的資料位元組中的資料值,而不處理該未被選擇的資料位元組中的資料值。
7、根據條款1-6中任意條款所述的方法,其中經由該資料位元通道將該所選擇的資料值發送到該接收器設備、將該代碼發送到該接收器設備、經由該資料位元通道接收該所選擇的資料值以及接收該代碼皆是在片上系統(「SoC」)中執行的。
8、一種用於經由具有複數個資料位元組的資料匯流排進行資料通訊的系統,每個資料位元組具有複數個資料位元通道,該系統包括:
編碼器,其被配置為:決定要在所選擇的資料位元組中經由該資料匯流排發送的所選擇的資料值的集合;及
資料字格式化器,其被配置為:決定所選擇的資料位元組和未被選擇的資料位元組;決定表示在該所選擇的資料值的集合中不包括的未被選擇資料值的代碼;經由該資料位元通道向接收器設備提供具有所選擇的資料位元組中的該所選擇的資料值以及未被選擇的資料位元組中的該代碼的資料字;及經由與該資料位元通道分開的複數個代碼位元通道向該接收器設備提供該代碼。
9、根據條款8之系統,其中該編碼器包括二元到一元編碼器,其被配置為:決定具有與該所選擇的資料值相對應的複數個位元位置的位元向量。
10、根據條款8或9之系統,其中每個資料位元組由八個位元組成。
11、根據條款8-10中任意條款所述的系統,其中該資料字格式化器進一步被配置為:決定是否所有資料位元組皆被選擇,並且經由信號通道向該接收器設備提供指示所有資料位元組皆被選擇的信號。
12、根據條款8-11中任意條款所述的系統,其中該資料字格式化器進一步被配置為:決定是否沒有資料位元組被選擇,並且經由信號通道向該接收器設備提供指示沒有資料位元組被選擇的信號。
13、根據條款8-12中任意條款所述的系統,進一步包括耦合至複數個資料位元通道和複數個代碼位元通道的接收器設備。
14、根據條款8-13中任意條款所述的系統,其中該接收器設備包括具有可配置資料寬度的記憶體設備。
15、根據條款8-14中任意條款所述的系統,其中該接收器被配置為:
經由該資料位元通道接收資料值;
經由該代碼位元通道接收該代碼;
將該代碼與經由該資料匯流排接收的每個資料位元組之每一者資料值進行比較;
決定具有與該所選擇的資料位元組中的一個所選擇的資料位元組中的代碼匹配的資料值的每個資料位元組;及
決定具有與該未被選擇的資料位元組中的一個未被選擇的資料位元組中的代碼不匹配的資料值的每個資料位元組。
16、根據條款8-15中任意條款所述的系統,其中用於資料通訊的該系統和該資料匯流排被包括在片上系統(「SoC」)中。
17、一種用於經由具有複數個資料位元組的資料匯流排進行資料通訊的系統,每個資料位元組具有複數個資料位元通道,該系統包括:
用於經由發送器設備決定要經由該資料匯流排發送的所選擇的資料值的集合的構件;
用於經由該發送器設備決定所選擇的資料位元組和未被選擇的資料位元組的構件;
用於經由該發送器設備決定表示在該所選擇的資料值的集合中不包括的未被選擇資料值的代碼的構件;
用於經由該資料位元通道向接收器設備發送所選擇的資料位元組中的所選擇的資料值以及未被選擇的資料位元組中的該代碼的構件;及
用於將該代碼與該資料位元通道分開發送到該接收器設備的構件。
18、根據條款17之系統,其中每個資料位元組由八個位元組成。
19、根據條款17或18之系統,其中用於發送該代碼的該構件包括:用於經由與該資料位元通道分開的複數個代碼位元通道發送該代碼的構件。
20、根據條款17-19中任意條款所述的系統,其中該接收器設備包括具有可配置寬度的記憶體設備。
21、根據條款17-20中任意條款所述的系統,進一步包括:
用於經由該發送器設備決定是否所有資料位元組皆被選擇的構件;及
用於與該資料位元通道分開地向該接收器設備發送對所有資料位元組被選擇的指示的構件。
22、根據條款17-21中任意條款所述的系統,進一步包括:
用於經由該發送器設備決定是否沒有資料位元組被選擇的構件;及
用於與該資料位元通道分開地向該接收器設備發送對沒有資料位元組被選擇的指示的構件。
23、根據條款17-22中任意條款所述的系統,進一步包括:
用於經由該資料位元通道接收資料值的構件;
用於與該資料位元通道分開接收該代碼的構件;
用於經由該接收器設備將該代碼與經由該資料位元通道接收的每個資料位元組之每一者資料值進行比較的構件;
用於經由該接收器設備決定具有與該所選擇的資料位元組中的一個所選擇的資料位元組中的代碼匹配的資料值的每個資料位元組的構件;
用於經由該接收器設備決定具有與該未被選擇的資料位元組中的一個未被選擇的資料位元組中的代碼不匹配的資料值的每個資料位元組的構件;及
用於處理該所選擇的資料位元組中的資料值,而不處理該未被選擇的資料位元組中的資料值的構件。
24、一種用於經由具有複數個資料位元組的資料匯流排進行資料通訊的電腦可讀取媒體,每個資料位元組具有複數個資料位元通道,該電腦可讀取媒體包括非暫態電腦可讀取媒體,其上儲存有電腦可執行形式的指令,該等指令在由計算設備的處理系統執行時,可以配置該處理系統控制:
決定要經由該資料匯流排發送的所選擇的資料值的集合;
決定所選擇的資料位元組和未被選擇的資料位元組;
決定表示在該所選擇的資料值的集合中不包括的未被選擇資料值的代碼;
經由該資料位元通道向接收器設備發送所選擇的資料位元組中的所選擇的資料值以及未被選擇的資料位元組中的該代碼;及
將該代碼與該資料位元通道分開發送到該接收器設備。
25、根據條款24之電腦可讀取媒體,其中每個資料位元組由八個位元組成。
26、根據條款24或25之電腦可讀取媒體,其中發送該代碼包括:經由與該資料位元通道分開的複數個代碼位元通道發送該代碼。
27、根據條款24-26中任意條款所述的電腦可讀取媒體,進一步包括配置該處理系統控制以下操作的指令:
決定是否所有資料位元組皆被選擇;及
與該資料位元通道分開地向該接收器設備發送對所有資料位元組被選擇的指示。
28、根據條款24-27中任意條款所述的電腦可讀取媒體,進一步包括配置該處理系統控制以下操作的指令:
經由該發送器設備決定是否沒有資料位元組被選擇;及
與該資料位元通道分開地向該接收器設備發送對沒有資料位元組被選擇的指示。
29、一種用於經由具有複數個資料位元組的資料匯流排進行資料通訊的方法,每個資料位元組具有複數個資料位元通道,該方法包括:
經由接收器設備與該資料位元通道分開接收該代碼;
由該接收器設備經由該資料匯流排的該資料位元通道接收資料值;
經由該接收器設備將該代碼與經由該資料匯流排接收的每個資料位元組之每一者資料值進行比較;
經由該接收器設備決定具有與該代碼匹配的資料值的每個資料位元組;
經由該接收器設備決定具有與該代碼不匹配的資料值的每個資料位元組;及
基於具有與該代碼匹配的資料值的資料位元組的決定來提供對所選擇的資料位元組的指示,以及基於具有與該代碼不匹配的資料值的資料位元組的決定來提供對未被選擇的資料位元組的指示。
30、根據條款29之方法,進一步包括:處理該所選擇的資料位元組中的資料值,而不處理該未被選擇的資料位元組中的資料值。
31、一種用於經由具有複數個資料位元組的資料匯流排進行資料通訊的系統,每個資料位元組具有複數個資料位元通道,該系統包括:
比較邏輯,其被配置為:經由該資料位元通道接收資料值;與該資料位元通道分開接收該代碼;將該代碼與每個資料位元組之每一者資料值進行比較以決定具有與該所選擇的資料位元組中的一個所選擇的資料位元組中的代碼匹配的資料值的每個資料位元組,以及決定具有與該未被選擇的資料位元組中的一個未被選擇的資料位元組中的代碼不匹配的資料值的每個資料位元組;及
處理邏輯,其被配置為:基於具有與該代碼匹配的資料值的資料位元組的決定來提供對所選擇的資料位元組的指示,以及基於具有與該代碼不匹配的資料值的資料位元組的決定來提供對未被選擇的資料位元組的指示。
32、根據條款31之系統,其中該處理邏輯被配置為:處理該所選擇的資料位元組中的資料值,而不處理該未被選擇的資料位元組中的資料值。
替換的實施例對本發明所涉及領域的一般技藝人士來說將變得顯而易見。因此,儘管所選擇的態樣已經被詳細說明和描述,但是應當理解,可以在其中進行各種替換和改變。
100:系統 102:發送器設備 104:接收器設備 106:片上系統 108:資料匯流排 110:代碼位元通道 200:資料字配置 202A:第一位元組位置 202B:第二位元組位置 202C:第三位元組位置 202N:第256位元組位置 300:方法 302:步驟 304:步驟 306:步驟 308:步驟 310:步驟 400:系統 402:輸入資料字 404:輸入BE向量 406:二元到一元編碼器 408:所選擇的資料值 410:資料字格式化器 502:箭頭 504:箭頭 506:箭頭 508:箭頭 510:箭頭 512:箭頭 514:箭頭 600:系統 601:比較邏輯 602:位元組比較器 604:箭頭 606:箭頭 608:箭頭 700:方法 702:步驟 704:步驟 706:步驟 708:步驟 710:步驟 712:步驟 800:系統 802:發送器設備 804:接收器設備 806:SoC 808:資料位元通道 810:代碼位元通道 812:信號路徑 814:信號路徑 900:PCD 902:SoC 904:中央處理單元 904A:第一CPU核心 904B:第二CPU核心 904N:第N CPU核心 905:神經處理單元 906:圖形處理單元 907:數位訊號處理器 908:類比信號處理器 910:顯示控制器 912:觸控式螢幕控制器 914:觸控式螢幕顯示器 916:視訊解碼器 918:視訊放大器 920:視訊連接埠 922:通用串列匯流排控制器 924:USB埠 926:用戶身份模組卡 928:記憶體 930:記憶體 931:記憶體 932:DRAM控制器 934:身歷聲音訊編解碼器 936:音訊放大器 938:第一身歷聲揚聲器 940:第二身歷聲揚聲器 942:麥克風放大器 944:麥克風 946:頻率調制無線電調諧器 948:FM天線 950:身歷聲耳機 952:數位相機 954:RF收發器 956:RF開關 958:RF天線 960:小鍵盤 962:具有麥克風的單聲道頭戴式耳機 964:振動器設備 970A:內部或片上熱感測器 970B:外部或片外熱感測器 972:類比數位轉換器控制器 974:電源 976:PMIC B0:位元組位置 b0:第一位元 b1:第二位元 b2:第三位元 b3:位元位置 b7:第8位元 b8:第9位元 b15:第16位元 b16:第17位元 b23:第24位元 b252:位元位置 B253:位元組位置 b253:位元位置 B254:位元組位置 b254:位元位置 B255:位元組位置 b255:位元位置 b2040:第2041個位元 b2047:第2048個位元 Bn:位元組位置 bn:位元位置
在附圖中,除非另有說明,否則相同的元件符號在各個圖中代表相同的部分。對於具有字母字元標示的元件符號,例如「102A」或「102B」,字母字元標示可以區分同一附圖中存在的兩個相同的部分或元素。當元件符號意欲涵蓋所有附圖中具有相同元件符號的所有部分時,可以省略元件符號的字母字元標示。
圖1是示出根據示例性實施例的、用於經由資料匯流排在發送器設備和接收器設備之間傳送資料的系統的方塊圖。
圖2是示出根據示例性實施例的、圖1的系統可以用來進行操作的示例性資料字配置的資料圖。
圖3是示出根據示例性實施例的、用於經由資料匯流排在發送器設備和接收器設備之間傳送資料的示例性方法的流程圖。
圖4是示出根據示例性實施例的、被配置為經由資料匯流排來傳輸或發送資料的設備的一部分的方塊圖。
圖5是示出圖4的發送器設備的操作實例的資料圖。
圖6是示出根據示例性實施例的、被配置為經由資料匯流排接收資料的設備的一部分的方塊圖。
圖7是示出根據示例性實施例的、用於經由資料匯流排接收資料的示例性方法的流程圖。
圖8是示出根據示例性實施例的、用於經由資料匯流排在發送器設備和接收器設備之間傳送資料的另一系統的方塊圖。
圖9是根據示例性實施例的計算設備的方塊圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
100:系統
102:發送器設備
104:接收器設備
106:片上系統
108:資料匯流排
110:代碼位元通道

Claims (32)

  1. 一種用於經由具有複數個資料位元組的一資料匯流排進行資料通訊的方法,每個資料位元組具有複數個資料位元通道,該方法包括以下步驟: 經由一發送器設備決定要經由該資料匯流排發送的所選擇的資料值的一集合; 經由該發送器設備決定所選擇的資料位元組和未被選擇的資料位元組; 經由該發送器設備決定表示在該所選擇的資料值的集合中不包括的一未被選擇資料值的一代碼; 經由該資料位元通道向一接收器設備發送在所選擇的資料位元組中的所選擇的資料值以及在未被選擇的資料位元組中的該代碼;及 將該代碼與該資料位元通道分開地發送給該接收器設備。
  2. 如請求項1所述之方法,其中每個資料位元組由八個位元組成。
  3. 如請求項1所述之方法,其中發送該代碼之步驟包括:經由與該資料位元通道分開的複數個代碼位元通道發送該代碼。
  4. 如請求項1所述之方法,進一步包括: 經由該發送器設備決定是否所有資料位元組皆被選擇;及 與該資料位元通道分開地向該接收器設備發送對所有資料位元組皆被選擇的一指示。
  5. 如請求項1所述之方法,進一步包括以下步驟: 經由該發送器設備決定是否沒有資料位元組被選擇;及 與該資料位元通道分開地向該接收器設備發送對沒有資料位元組被選擇的一指示。
  6. 如請求項1所述之方法,進一步包括以下步驟: 經由該資料位元通道接收資料值; 與該資料位元通道分開地接收該代碼; 經由該接收器設備將該代碼與經由該資料位元通道接收的每個資料位元組之每一者資料值進行比較; 經由該接收器設備決定具有與該所選擇的資料位元組中的一個所選擇的資料位元組中的該代碼匹配的一資料值的每個資料位元組; 經由該接收器設備決定具有與該未被選擇的資料位元組中的一個未被選擇的資料位元組中的該代碼不匹配的一資料值的每個資料位元組;及 處理該所選擇的資料位元組中的資料值,而不處理該未被選擇的資料位元組中的資料值。
  7. 如請求項6所述之方法,其中經由該資料位元通道將該所選擇的資料值發送給該接收器設備、將該代碼發送給該接收器設備、經由該資料位元通道接收該所選擇的資料值以及接收該代碼皆是在一片上系統(「SoC」)中執行的。
  8. 一種用於經由具有複數個資料位元組的一資料匯流排進行資料通訊的系統,每個資料位元組具有複數個資料位元通道,該系統包括: 一編碼器,其被配置為:決定要在所選擇的資料位元組中經由該資料匯流排發送的所選擇的資料值的一集合;及 一資料字格式化器,其被配置為:決定所選擇的資料位元組和未被選擇的資料位元組;決定表示在該所選擇的資料值的集合中不包括的一未被選擇資料值的一代碼;經由該資料位元通道向一接收器設備提供具有在所選擇的資料位元組中的該所選擇的資料值以及在未被選擇的資料位元組中的該代碼的一資料字;及經由與該資料位元通道分開的複數個代碼位元通道向該接收器設備提供該代碼。
  9. 如請求項8所述之系統,其中該編碼器包括:二元到一元編碼器,其被配置為決定具有與該所選擇的資料值相對應的複數個位元位置的一位元向量。
  10. 如請求項8所述之系統,其中每個資料位元組由八個位元組成。
  11. 如請求項8所述之系統,其中該資料字格式化器進一步被配置為:決定是否所有資料位元組皆被選擇,並且經由一信號通道向該接收器設備提供指示所有資料位元組皆被選擇的一信號。
  12. 如請求項8所述之系統,其中該資料字格式化器進一步被配置為:決定是否沒有資料位元組被選擇,並且經由一信號通道向該接收器設備提供指示沒有資料位元組被選擇的一信號。
  13. 如請求項8所述之系統,進一步包括耦合至該複數個資料位元通道和該複數個代碼位元通道的一接收器設備。
  14. 如請求項13所述之系統,其中該接收器設備包括具有一可配置資料寬度的一記憶體設備。
  15. 如請求項13所述之系統,其中該接收器設備被配置為: 經由該資料位元通道接收資料值; 經由該代碼位元通道接收該代碼; 將該代碼與經由該資料匯流排接收的每個資料位元組之每一者資料值進行比較; 決定具有與該所選擇的資料位元組中的一個所選擇的資料位元組中的該代碼匹配的一資料值的每個資料位元組;及 決定具有與該未被選擇的資料位元組中的一個未被選擇的資料位元組中的該代碼不匹配的一資料值的每個資料位元組。
  16. 如請求項8所述之系統,其中用於資料通訊的該系統和該資料匯流排被包括在一片上系統(「SoC」)中。
  17. 一種用於經由具有複數個資料位元組的一資料匯流排進行資料通訊的系統,每個資料位元組具有複數個資料位元通道,該系統包括: 用於經由一發送器設備決定要經由該資料匯流排發送的所選擇的資料值的一集合的構件; 用於經由該發送器設備決定所選擇的資料位元組和未被選擇的資料位元組的構件; 用於經由該發送器設備決定表示在該所選擇的資料值的集合中不包括的一未被選擇資料值的一代碼的構件; 用於經由該資料位元通道向一接收器設備發送在所選擇的資料位元組中的所選擇的資料值以及在未被選擇的資料位元組中的該代碼的構件;及 用於將該代碼與該資料位元通道分開地發送給該接收器設備的構件。
  18. 如請求項17所述之系統,其中每個資料位元組由八個位元組成。
  19. 如請求項17所述之系統,其中用於發送該代碼的該構件包括:用於經由與該資料位元通道分開的複數個代碼位元通道發送該代碼的構件。
  20. 如請求項17所述之系統,其中該接收器設備包括具有一可配置寬度的一記憶體設備。
  21. 如請求項17所述之系統,進一步包括: 用於經由該發送器設備決定是否所有資料位元組皆被選擇的構件;及 用於與該資料位元通道分開地向該接收器設備發送對所有資料位元組皆被選擇的一指示的構件。
  22. 如請求項17所述之系統,進一步包括: 用於經由該發送器設備決定是否沒有資料位元組被選擇的構件;及 用於與該資料位元通道分開地向該接收器設備發送對沒有資料位元組被選擇的一指示的構件。
  23. 如請求項17所述之系統,進一步包括: 用於經由該資料位元通道接收資料值的構件; 用於與該資料位元通道分開地接收該代碼的構件; 用於經由該接收器設備將該代碼與經由該資料位元通道接收的每個資料位元組之每一者資料值進行比較的構件; 用於經由該接收器設備決定具有與該所選擇的資料位元組中的一個所選擇的資料位元組中的代碼匹配的一資料值的每個資料位元組的構件; 用於經由該接收器設備決定具有與該未被選擇的資料位元組中的一個未被選擇的資料位元組中的該代碼不匹配的一資料值的每個資料位元組的構件;及 用於處理該所選擇的資料位元組中的資料值,而不處理該未被選擇的資料位元組中的資料值的構件。
  24. 一種用於經由具有複數個資料位元組的一資料匯流排進行資料通訊的電腦可讀取媒體,每個資料位元組具有複數個資料位元通道,該電腦可讀取媒體包括其上儲存有電腦可執行形式的指令的非暫態電腦可讀取媒體,該等指令在由一計算設備的一處理系統執行時,配置該處理系統控制以下操作: 決定要經由該資料匯流排發送的所選擇的資料值的一集合; 決定所選擇的資料位元組和未被選擇的資料位元組; 決定表示在該所選擇的資料值的集合中不包括的一未被選擇資料值的一代碼; 經由該資料位元通道向一接收器設備發送在所選擇的資料位元組中的所選擇的資料值以及在未被選擇的資料位元組中的該代碼;及 將該代碼與該資料位元通道分開地發送給該接收器設備。
  25. 如請求項24所述之電腦可讀取媒體,其中每個資料位元組由八個位元組成。
  26. 如請求項24所述之電腦可讀取媒體,其中發送該代碼包括:經由與該資料位元通道分開的複數個代碼位元通道發送該代碼。
  27. 如請求項24所述之電腦可讀取媒體,進一步包括配置該處理系統控制以下操作的指令: 決定是否所有資料位元組皆被選擇;及 與該資料位元通道分開地向該接收器設備發送對所有資料位元組皆被選擇的指示。
  28. 如請求項24所述之電腦可讀取媒體,進一步包括配置該處理系統控制以下操作的指令: 經由該發送器設備決定是否沒有資料位元組被選擇;及 與該資料位元通道分開地向該接收器設備發送對沒有資料位元組被選擇的一指示。
  29. 一種用於經由具有複數個資料位元組的一資料匯流排進行資料通訊的方法,每個資料位元組具有複數個資料位元通道,該方法包括以下步驟: 經由一接收器設備與該資料位元通道分開地接收一代碼; 由該接收器設備經由該資料匯流排的該資料位元通道接收資料值; 經由該接收器設備將該代碼與經由該資料匯流排接收的每個資料位元組之每一者資料值進行比較; 經由該接收器設備決定具有與該代碼匹配的一資料值的每個資料位元組; 經由該接收器設備決定具有與該代碼不匹配的一資料值的每個資料位元組;及 基於對具有與該代碼匹配的資料值的資料位元組的決定來提供對所選擇的資料位元組的指示,以及基於對具有與該代碼不匹配的資料值的資料位元組的決定來提供對未被選擇的資料位元組的指示。
  30. 如請求項29所述之方法,進一步包括以下步驟:處理該所選擇的資料位元組中的資料值,而不處理該未被選擇的資料位元組中的資料值。
  31. 一種用於經由具有複數個資料位元組的一資料匯流排進行資料通訊的系統,每個資料位元組具有複數個資料位元通道,該系統包括: 比較邏輯單元,其被配置為:經由該資料位元通道接收該所選擇的資料值;與該資料位元通道分開地接收該代碼;將該代碼與每個資料位元組之每一者資料值進行比較;決定具有與該代碼匹配的一資料值的每個資料位元組,以及決定具有與該代碼不匹配的一資料值的每個資料位元組;及 處理邏輯單元,其被配置為:基於對具有與該代碼匹配的資料值的資料位元組的決定來提供對所選擇的資料位元組的指示,以及基於對具有與該代碼不匹配的資料值的資料位元組的決定來提供對未被選擇的資料位元組的指示。
  32. 如請求項31所述之系統,其中該處理邏輯單元被配置為:處理該所選擇的資料位元組中的資料值,並且不處理該未被選擇的資料位元組中的資料值。
TW112106256A 2022-03-07 2023-02-21 在資料匯流排上編碼位元組資訊 TW202340967A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/688,607 US11940939B2 (en) 2022-03-07 2022-03-07 Encoding byte information on a data bus with separate code
US17/688,607 2022-03-07

Publications (1)

Publication Number Publication Date
TW202340967A true TW202340967A (zh) 2023-10-16

Family

ID=85685503

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112106256A TW202340967A (zh) 2022-03-07 2023-02-21 在資料匯流排上編碼位元組資訊

Country Status (5)

Country Link
US (1) US11940939B2 (zh)
KR (1) KR20240135059A (zh)
CN (1) CN118715513A (zh)
TW (1) TW202340967A (zh)
WO (1) WO2023172809A1 (zh)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812803A (en) * 1995-09-29 1998-09-22 Intel Corporation Method and apparatus for controlling data transfers between a bus and a memory device using a multi-chip memory controller
US5983300A (en) 1997-05-12 1999-11-09 Cirrus Logic, Inc. Dynamic window mechanism for preventing invalid information propagation from the PCI bus
JP3867494B2 (ja) 2000-10-31 2007-01-10 横河電機株式会社 データ処理装置、およびデータ処理方法
KR100660829B1 (ko) 2001-01-06 2006-12-26 삼성전자주식회사 유효 데이터를 검출해내는 dma를 구비하는 이더넷제어장치 및 유효 데이터의 검출방법
JP2002278924A (ja) * 2001-03-19 2002-09-27 Oki Electric Ind Co Ltd データの転送制御システム,転送制御方法およびそのプログラム
US7801033B2 (en) * 2005-07-26 2010-09-21 Nethra Imaging, Inc. System of virtual data channels in an integrated circuit
US7937495B2 (en) 2003-06-25 2011-05-03 Cisco Technology, Inc. System and method for modifying data transferred from a source to a destination
US7590130B2 (en) * 2004-12-22 2009-09-15 Exar Corporation Communications system with first and second scan tables
US7761645B2 (en) * 2007-06-19 2010-07-20 Standard Microsystems Corporation Physical device (PHY) support of the USB2.0 link power management addendum using a ULPI PHY interface standard
MX2010004146A (es) * 2007-10-15 2010-05-17 Thomson Licensing Aparatos y metodos para codificar y decodificar se?ales.
US8332725B2 (en) * 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8886055B1 (en) * 2011-05-24 2014-11-11 Clariphy Communications, Inc. Reduced data rate operation mode for high speed optical communication device
US11269638B2 (en) * 2017-06-28 2022-03-08 Texas Instruments Incorporated Exposing valid byte lanes as vector predicates to CPU
US10558602B1 (en) * 2018-09-13 2020-02-11 Intel Corporation Transmit byte enable information over a data bus

Also Published As

Publication number Publication date
WO2023172809A1 (en) 2023-09-14
US20230281143A1 (en) 2023-09-07
CN118715513A (zh) 2024-09-27
KR20240135059A (ko) 2024-09-10
US11940939B2 (en) 2024-03-26

Similar Documents

Publication Publication Date Title
US7594061B2 (en) Motherboard with multiple graphics interfaces
US6931470B2 (en) Dual access serial peripheral interface
US20070143512A1 (en) Communication circuit of serial peripheral interface (spi) devices
JPH1153169A (ja) 低電力で相互接続の簡単なマイクロプロセッサ及びメモリー・インターフェース
US20120331194A1 (en) Interface extender for portable electronic devices
CN115516428A (zh) 具有可配置错误校正码(ecc)数据保护的系统和存储器及相关方法
US20220100248A1 (en) Expanded function datagram in a system power management interface (spmi) system
CN109062846B (zh) 通用串行总线装置及其操作方法
WO2023009241A1 (en) Data re-encoding for energy-efficient data transfer in a computing device
US20040143693A1 (en) Data storage apparatus of multiple serial interfaces
WO2007057832A2 (en) Vector shuffle unit
TW202340967A (zh) 在資料匯流排上編碼位元組資訊
US9817759B2 (en) Multi-core CPU system for adjusting L2 cache character, method thereof, and devices having the same
US10909060B2 (en) Data transmission using flippable cable
US9311261B2 (en) Universal serial interface and semiconductor device including the same
US6725369B1 (en) Circuit for allowing data return in dual-data formats
US11093434B2 (en) Communication system and operation method
US20120102250A1 (en) Bus system
US9442788B2 (en) Bus protocol checker, system on chip including the same, bus protocol checking method
US8384468B2 (en) Multi-supply voltage compatible I/O ring
US12026369B2 (en) Configurable flash memory physical interface in a host device
US20160291678A1 (en) Power reduction in bus interconnects
CN118170705B (zh) 一种总线指令控制方法及相关设备
CN116303184A (zh) Type-c接口电路、控制方法、装置及终端设备
CN118170705A (zh) 一种总线指令控制方法及相关设备