CN113517893A - 通信总线上的数据启用掩模压缩 - Google Patents

通信总线上的数据启用掩模压缩 Download PDF

Info

Publication number
CN113517893A
CN113517893A CN202110366717.8A CN202110366717A CN113517893A CN 113517893 A CN113517893 A CN 113517893A CN 202110366717 A CN202110366717 A CN 202110366717A CN 113517893 A CN113517893 A CN 113517893A
Authority
CN
China
Prior art keywords
data payload
data
control signal
compressed data
payload
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202110366717.8A
Other languages
English (en)
Other versions
CN113517893B (zh
Inventor
L·O·尤利亚诺
D·拉约万
A·R·兰科伊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Priority to CN202211084357.3A priority Critical patent/CN115441879A/zh
Publication of CN113517893A publication Critical patent/CN113517893A/zh
Application granted granted Critical
Publication of CN113517893B publication Critical patent/CN113517893B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • H03M7/6023Parallelization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0264Arrangements for coupling to transmission lines
    • H04L25/0272Arrangements for coupling to multiple lines, e.g. for differential transmission
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Transfer Systems (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

本公开涉及通信总线上的数据启用掩模压缩。本发明公开了一种装置,该装置包括编码电路和通信总线,该通信总线具有导电迹线,该导电迹线被配置为传输数据有效载荷,该数据有效载荷包括控制信号和最多至最大数量的数据字。该编码电路被配置为接收未压缩数据有效载荷和掩模值,并且使用掩模值创建控制信号,该控制信号指示未压缩数据有效载荷是否包括一个或多个未启用的数据字。响应于确定该控制信号指示未压缩数据有效载荷包括一个或多个未启用的数据字,该编码电路被配置为由未压缩数据有效载荷创建压缩数据有效载荷,并且经由通信总线的多个导电迹线向解码电路发送压缩数据有效载荷和控制信号。压缩数据有效载荷包括掩模值。

Description

通信总线上的数据启用掩模压缩
背景技术
技术领域
本文所述实施方案涉及集成电路领域,并且更具体地涉及通信总线上的数据通信。
相关技术描述
计算机系统中的通信总线可包括用于在两个或更多个功能电路之间并行传输多个数据字的许多导线或迹线。数据有效载荷对应于可在通信总线上并行传输的一组数据字。然而,在一些情况下,要在单个数据有效载荷中发送的数据字的数量可小于通信总线能够传输的数据字的最大数量。在此类情况下,掩模值可用于向接收数据有效载荷的功能电路指示哪些数据字被启用以及哪些数据字未被启用。
发明内容
广义地讲,设想了装置和方法,其中装置包括编码电路和具有导电迹线的通信总线,该导电迹线被配置为传输数据有效载荷,该数据有效载荷包括控制信号和最多至最大数量的数据字。编码电路被配置为接收未压缩数据有效载荷和掩模值,并且使用掩模值创建控制信号。控制信号指示未压缩数据有效载荷是否包括一个或多个未启用的数据字。响应于确定所述控制信号指示所述未压缩数据有效载荷包括一个或多个未启用的数据字,所述编码电路被配置为由所述未压缩数据有效载荷创建压缩数据有效载荷,并且经由通信总线的多个导电迹线向解码电路发送压缩数据有效载荷和控制信号。压缩数据有效载荷包括掩模值。
在另一个示例中,未压缩数据有效载荷的每个数据字可被放置到未压缩数据有效载荷内的相应位置中。为了创建压缩数据有效载荷,编码电路被配置为将特定启用的数据字从未压缩数据有效载荷中的特定位置移动到压缩数据有效载荷中的不同位置。
在一个示例中,为了创建压缩数据有效载荷,编码电路被进一步配置为将启用的数据字从未压缩数据有效载荷中的较低有效位置移位到压缩数据有效载荷中的较高有效位置,直到到达未启用的数据字。在另一个示例中,为了创建压缩数据有效载荷,编码电路被进一步配置为将掩模值置于压缩数据有效载荷的最低有效位置中。
在一个实施方案中,编码电路被进一步配置为,响应于确定控制信号指示未压缩数据有效载荷中包括的所有数据字是启用的数据字,由未压缩数据有效载荷创建压缩数据有效载荷。压缩数据有效载荷不包括掩模值。编码电路被进一步配置为经由通信总线的多个导电迹线向解码电路发送压缩数据有效载荷和控制信号而不包括掩模值。
在一个示例中,编码电路可通过在至少一个数据字未被启用时断言控制信号并且否则解除断言控制信号来通过单个导电迹线发送控制信号。在另一个示例中,掩模值的每个位可对应于未压缩数据有效载荷中的一个相应数据字位置。
附图说明
下面的详细描述参照附图,现在对这些附图进行简要说明。
图1示出了包括编码电路的计算设备的实施方案的框图。
图2示出了包括解码电路的计算设备的实施方案的框图。
图3描绘了包括编码电路的计算设备的另一个实施方案的框图。
图4示出了包括解码电路的计算设备的另一个实施方案的框图。
图5示出了包括耦接到通信总线的若干功能电路的计算设备的实施方案的框图。
图6描绘了用于压缩包括至少一个未启用的数据字的数据有效载荷的方法的实施方案的流程图。
图7示出了用于压缩其中所有数据字都被启用的数据有效载荷的方法的实施方案的流程图。
图8示出了用于解压缩包括至少一个未启用的数据字的数据有效载荷的方法的实施方案的流程图。
图9描绘了用于解压缩其中所有数据字都被启用的数据有效载荷的方法的实施方案的流程图。
图10示出了包括系统的计算设备的实施方案的框图。
图11示出了根据一些实施方案的描绘示例性计算机可读介质的框图。
尽管本公开容易作出各种修改形式和替代形式,但附图中以举例的方式示出并将在本文中详细描述其具体实施方案。然而,应当理解,附图及具体实施方式并非旨在将本公开限制于例示的特定形式,而正相反,其目的在于覆盖落在由所附权利要求书限定的本公开的实质和范围内的所有修改形式、等同形式和替代形式。如在整个本专利申请中所使用的那样,以允许的意义(即,意味着具有可能性)而非强制的意义(即,意味着必须)使用字词“可”。类似地,字词“包括”意味着包括但不限于。
各种单元、电路或其他部件可被描述为“被配置为”实行一个或多个任务。在此类上下文中,“被配置为”是一般意味着“具有”在操作期间实行一个或多个任务的“电路”的结构的宽泛表述。如此,即使在单元/电路/部件当前未接通时,单元/电路/部件也可被配置为执行任务。通常,形成与“被配置为”对应的结构的电路可包括硬件电路。类似地,为了描述中方便,可将各种单元/电路/部件描述为执行一个或多个任务。此类描述应当被解释为包括短语“被配置为”。表述被配置为执行一项或多项任务的单元/电路/部件明确地旨在对该单元/电路/部件不援引对35 U.S.C.§112第f段的解释。更一般地,对任何元件的表述都明确旨在不调用35 U.S.C.§112第f段针对该元件的解释,除非特别表述了“用于……的装置”或“用于……的步骤”的语言。
如本文所用,术语“基于”用于描述影响确定的一个或多个因素。此术语不排除可能有附加因素可影响确定。也就是说,确定可仅基于指定的因素或基于所指定的因素及其他未指定的因素。考虑短语“基于B确定A”。此短语指定B是用于确定A的因素或者B影响A的确定。此短语并不排除A的确定也可基于某个其他因素诸如C。该短语还旨在涵盖A仅基于B来确定的实施方案。短语“基于”因此与短语“至少部分地基于”是同义的。
具体实施方式
为了在两个或更多个功能电路之间传输信息,计算设备可包括一个或多个通信总线。此类通信总线通常包括用于并行传输包括多个数据字的数据有效载荷的许多导线或迹线。并行传输信息可导致信息比信息被串行发送的情况更快地到达其目的地。如本文所用,“数据有效载荷”是旨在在通信总线上并行传输的一组一个或多个数据字。另外,“数据字”是作为单个单元由通信总线电路分组在一起并操纵的多个信息位。在各种实施方案中,数据字可包括任何数量的位,诸如八位字节、16位字、32位字或任何其他合适的大小。
在一些情况下,要在单个数据有效载荷中发送的数据字的数量可以少于通信总线能够传输的数据字的最大数量。例如,通信总线可以包括用于并行传输八个16位数据字的128个导电迹线。此类通信总线可用于传输具有少于八个数据字(例如,5个数据字)的数据有效载荷。五个数据字可以被置于通信总线的八个可能的数据字位置中的任何五个中。在此类情况下,掩模值可用于向接收数据有效载荷的功能电路指示哪五个数据字位置包括正在传输的五个数据字(称为“启用的”数据字)中的一个,以及哪三个数据字位置未启用。然而,掩模值使得需要八个附加导电迹线与数据有效载荷并行发送掩模值,或者使用携带数据有效载荷的相同的128个导线在发送数据有效载荷之前或之后发送掩模值。发明人已经认识到允许与数据有效载荷并行发送掩模值而无需增加通信总线中导线的数量的系统的益处。
本发明公开了装置和方法的实施方案,其中利用编码电路来准备用于在通信总线上传输的数据有效载荷。通信总线被配置为传输数据有效载荷(包括最多至最大数量的数据字)和控制信号。所述编码电路基于与所述数据有效载荷一起接收的掩模值创建控制信号,所述控制信号指示所述数据有效载荷的一个或多个数据字是否未被启用。所述编码电路使用所述掩模值创建压缩数据有效载荷,并且将所述掩模值包括在所述压缩数据有效载荷中。经由通信总线将单个控制信号与压缩数据有效载荷并联地发送到解码电路。
应当注意,“并行”发送数据和控制信号是指在同一时间段内具有有效状态的多个信号,但并非旨在暗示信号必须完全同时开始和/或停止。例如,通过针对数据有效载荷和针对控制信号的相应位线发送信号的电路可被配置为响应于相同控制或时钟信号的断言而开始发送,但是由于制造过程中的相应电路设计和变化,电路可以在不同时间点开始和/或结束其相应发送。
图1中示出了计算设备的实施方案的框图。如图所示,计算设备100包括编码电路101,该编码电路还包括控制电路105。控制电路105被配置为接收未压缩数据有效载荷120和掩模值125,并且使用这些值生成控制信号128和压缩数据有效载荷130。压缩数据有效载荷130和控制信号128经由通信总线110发送到解码电路。计算设备100可以是移动计算设备、台式计算设备或任何合适类型的计算设备,诸如台式计算机、膝上型计算机、智能电话、平板电脑、可穿戴设备等。在一些实施方案中,计算设备100可在片上系统(SoC)或其他类型的集成电路(IC)上实现。
如图所示,计算设备包括在两个或更多个功能电路之间传输信息的通信总线110,其中一个功能电路包括耦接到通信总线110的编码电路101。通信总线110具有多个导电迹线112,该多个导电迹线被配置为传输数据有效载荷(诸如压缩数据有效载荷130)和控制信号128,该数据有效载荷包括最多至最大数量的数据字。如本文所用,“导电迹线”是指耦接在两个或更多个电路之间以在两个或更多个电路之间传导电信号的金属物质。例如,导电迹线112可被实现为在一个或多个电路板上的IC和/或金属蚀刻的一个或多个层中形成的金属线,和/或被实现为耦接在两个或更多个电路板之间的电缆中的多根线。通信总线110的导电迹线112的数量对应于包括在数据有效载荷中的最大数量的数据字加上控制信号128中的位的数量。为了经由通信总线110发送压缩数据有效载荷130,编码器电路101被配置为并行发送压缩数据有效载荷130的所有位和控制信号128。
如图所示,编码电路101被配置为接收未压缩数据有效载荷120和掩模值125。掩模值125指示未压缩数据有效载荷120中的启用和未启用的数据字。如本文所用,“启用的数据字”是指包括在数据有效载荷中表示将由功能电路发送和接收的有效数据的数据字。以类似的方式,“未启用的数据字”是指包括在数据有效载荷中无效而是用作数据有效载荷内的占位符的数据。除了根据需要保持数据字在数据有效载荷中的放置之外,在功能电路之间是否发送未启用的数据字是不相关的。例如,计算设备100的包括编码电路101的功能电路具有六个数据字要发送到另一个功能电路。如图所示,通信总线110能够并行传输八个数据字。要发送的六个数据字以特定顺序布置在未压缩数据有效载荷120中,使得两个未启用的数据字与要发送的六个数据字穿插在一起。因此,未压缩数据有效载荷120具有六个启用的数据字(122h、122f、122e、122c、122b和122a)和两个未启用的数据字(124g和124d)。未启用的数据字124d和124g用于保持启用的数据字的顺序。
掩模值125包括用于指示未压缩数据有效载荷120中的哪些数据字位置被启用以及哪些数据字位置未被启用的位数。掩模值125中包括的总位数不超过数据字中的位数。因此,如果数据字是一个字节,则掩模值125不超过一个字节的大小。掩模值125中的位可以任何合适的方式用于指示给定数据有效载荷的哪些数据字被启用。例如,掩模值125的每个位可对应于未压缩数据有效载荷120中的一个相应数据字位置,其中逻辑值“1”指示启用的数据字,并且反之亦然。在其他实施方案中,掩模值125的两个或更多位可用于指示关于每个数据字的附加信息。例如,可使用两个位,使得值“00”指示未启用的数据字,“01”指示包括命令的启用的数据字,“10”指示包括地址的启用的数据字,并且“11”指示包括数据的启用的数据字。设想了用于编码掩模值125的附加方法。
如图所示,编码电路101中的控制电路105被配置为使用掩模值125创建控制信号128。控制信号128指示未压缩数据有效载荷120是否包括一个或多个未启用的数据字。未压缩数据有效载荷120包括未启用的数据字124g和124d两者,并且生成控制信号128以指示这两个未启用的数据字的存在。例如,控制电路105响应于确定控制信号128指示未压缩数据有效载荷120包括一个或多个未启用的数据字而断言逻辑值,编码电路101由未压缩数据有效载荷120来创建压缩数据有效载荷130。压缩数据有效载荷130还包括掩模值125。
为了创建压缩数据有效载荷130,控制电路105使用掩模值125来识别未压缩数据有效载荷120中的未启用的数据字(在例示的示例中,未启用的数据字124d),并且移位启用的数据字122a-122c的位置,从而为将掩模值125添加到压缩数据有效载荷130提供可用位置。编码电路101被进一步配置为经由通信总线110的多个导电迹线112向解码电路发送压缩数据有效载荷130和控制信号128。
通过压缩所接收的数据有效载荷并添加掩模值125以创建压缩数据有效载荷130,仅添加单个附加导电迹线以用于将控制信号128发送到解码电路。如果未压缩数据有效载荷120经由通信总线110发送,则将需要添加多个导电迹线112,掩模值125的每个位对应一个导电迹线。附加导电迹线的布线可能消耗IC上的管芯区域和/或电路板上的板区域。此外,每个附加导电迹线还将包括驱动器电路,该驱动器电路在附加导电迹线上提供或吸收电流以生成相应的逻辑值,从而潜在地增加计算设备100的功率消耗。因此,减少导电迹线的数量可减小管芯和/或电路板面积以及降低功率消耗。
如图所示,编码电路101被进一步配置为响应于确定控制信号指示未压缩数据有效载荷120中包括的所有数据字都是启用的数据字,由未压缩数据有效载荷120创建压缩数据有效载荷130,其中压缩数据有效载荷130不包括掩模值125。为了创建压缩数据有效载荷130,编码电路101将未压缩数据有效载荷120中包括的所有数据字传输到压缩数据有效载荷130中。编码电路101被进一步配置为经由通信总线110的导电迹线112向解码电路发送压缩数据有效载荷130和控制信号128而不包括掩模值125。由于所有数据字位置都被启用,因此编码电路101省略掩模值125的发送。控制信号128的状态将向解码电路指示所有数据字位置都被启用。
需注意,图1中所示的计算设备100仅为一个示例。图1的图示经简化以突出与本公开相关的特征结构。各种实施方案可包括电路框的不同配置,包括未压缩数据有效载荷和压缩数据有效载荷中的不同数量的数据字。在一些实施方案中,可在功能电路中实现多个编码电路以压缩较大大小的数据有效载荷,其中每个编码电路压缩较大数据有效载荷的相应部分。
图1所示的编码电路被描述为向解码电路发送压缩数据有效载荷。解码电路的示例在图2中示出。
移至图2,示出了计算设备的另一个实施方案的框图。如图所示,计算设备200包括解码电路203,该解码电路还包括控制电路205。控制电路205被配置为接收压缩数据有效载荷130和控制信号128,并且使用这些值生成掩模值125和未压缩数据有效载荷120。经由通信总线110从编码电路(例如,图1中的编码电路101)接收压缩数据有效载荷130和控制信号128。计算设备200可以是移动计算设备、台式计算设备或任何合适类型的计算设备,诸如台式计算机、膝上型计算机、智能电话、平板电脑、可穿戴设备等。在一些实施方案中,计算设备200可在片上系统(SoC)或其他类型的集成电路(IC)上实现。在此类实施方案中,计算设备100和200可以是相同的计算设备,并且编码电路101和解码电路203可在相同的SoC上实现。
如图所示,解码电路203经由通信总线110从一个或多个编码电路诸如图1中的编码电路101接收数据有效载荷。通信总线110具有多个导电迹线112,该多个导电迹线被配置为传输数据有效载荷(包括最多至最大数量的数据字140)和控制信号128。通信总线110的导电迹线112的数量对应于包括在最大数量的数据字140中的位的数量加上控制信号128中的位的数量。如图所示,通信总线110可以传输八个数据字加上控制信号128。例如,如果数据字包括八位并且控制信号128为一位,则导电迹线112的数量为65。在不同的示例中,如果数据字是32位并且控制信号是两位,则导电迹线112的数量是258。在各种情况下,所接收的数据有效载荷可被压缩或可不被压缩。未压缩数据有效载荷包括最大数量的启用的数据字,而压缩数据有效载荷包括少于最大数量的启用的数据字。
解码电路203被配置为经由通信总线110从编码电路接收压缩数据有效载荷130和控制信号128。控制信号128指示压缩数据有效载荷130是否被压缩。例如,可经由导电迹线112中的单个导电迹线来接收控制信号128。单个导电迹线上的控制信号128的断言状态可指示与控制信号128并行接收的压缩数据有效载荷130被压缩,而控制信号128的解除断言状态指示并行接收的数据有效载荷未被压缩。需注意,在一些实施方案中,断言状态和解除断言状态分别对应于逻辑高状态和逻辑低状态,而在其他实施方案中,逻辑状态相反。
响应于确定控制信号128指示压缩数据有效载荷130被压缩,解码电路203被配置为从压缩数据有效载荷130提取掩模值125,并且使用掩模值125,由压缩数据有效载荷130创建未压缩数据有效载荷120。如图所示,解码电路203被配置为接收最大数量的数据字,其在例示的示例中为八个。解码电路203接收压缩数据有效载荷130,其包括六个启用的数据字(启用的数据字122a-122c、122e、122f和122h)以及未启用的数据字124g和掩模值125。解码电路203内的控制电路205与压缩数据有效载荷130并行地接收控制信号128。控制信号128的断言状态指示压缩数据有效载荷130被压缩。响应于该指示,控制电路205从压缩数据有效载荷130提取掩模值125。例如,掩模值125可存储在压缩数据有效载荷130内的特定位置中,并且控制电路205从该特定位置读取数据并将该数据解释为掩模值125。
如图所示,掩模值125指示压缩数据有效载荷130中的剩余数据字中的哪些被启用。使用掩模值125,控制电路205将被指示为启用的数据字映射到未压缩数据有效载荷120中的对应位置。因此,未压缩数据有效载荷120包括启用的数据字122a-122c、122e、122f和122h,其中包括未启用的数据字124d和124g以向未压缩数据有效载荷提供最大数量的数据字140。解码电路203可将未压缩数据有效载荷120发送到特定功能电路,或者可存储未压缩数据有效载荷120以供特定功能电路稍后检索。虽然启用的数据字的值基于所接收的启用的数据字,但是未启用的数据字124d和124g的值可以被设置为默认值。在其他实施方案中,为了减少特定功能电路中电路的切换量,未启用的数据字124d和124g的值可以留给先前数据有效载荷上使用的先前值。
如果解码电路203接收到指示并行接收的不同数据有效载荷未压缩的控制信号128的值,则控制电路205被配置为使用掩模值125的默认值,而不是从不同数据有效载荷提取值。由于在未压缩数据有效载荷中,所有数据字都被启用,因此掩模值125可具有指示所有数据字都被启用的单个值。控制电路205使用掩模值125的该单个值来将不同数据有效载荷的所有数据字映射到未压缩数据有效载荷120中,然后该未压缩数据有效载荷可由特定功能电路利用。
需注意,图2的实施方案仅仅是用于演示所公开概念的示例。在其他实施方案中,可包括电路的不同组合。例如,在其他实施方案中,压缩数据有效载荷和未压缩数据有效载荷中可包括不同数量的数据字。可并行使用多个解码电路203以并行接收更大量的数据字。
图1和图2示出了可在一个或多个计算设备中使用以并行传输多个数据字的编码和解码电路的框图。在这些电路的描述中,描述了执行编码和解码操作的控制电路。在图3和图4中,下文示出并描述了相应控制电路的更详细型式。
转到图3,描绘了编码电路101的另一个实施方案的框图。如上所述,编码电路101接收未压缩数据有效载荷120和掩模值125。控制电路105使用掩模值125由未压缩数据有效载荷120生成压缩数据有效载荷130。控制电路105包括一组多路复用电路(MUX)306a-306h(简称MUX 306)、与非门307和一组与门308b-308h。
如图所示,未压缩数据有效载荷120的每个数据字被放置到未压缩数据有效载荷120内的相应位置中。未压缩数据有效载荷120和压缩数据有效载荷130中的数据字从最低有效位置371布置到最高有效位置378。需注意,术语“最高有效”和“最低有效”仅用于指示有效载荷内的位置。在其他实施方案中,可以使用其他术语。在一些实施方案中,数据字在数据有效载荷内的位置可以指示数据字的特定特性。例如,最低有效位置371可对应于由发送或接收数据有效载荷的功能电路使用的特定寄存器的值。图形处理器可以接收具有与图像中的特定像素对应的每个数据字或特定数量的连续数据字的图像数据。因此,未压缩数据有效载荷120中启用的数据字的顺序可以保留在压缩数据有效载荷130中,以使得在接收功能电路处对压缩数据有效载荷进行解码时数据字位置能够恢复。
如图所示,启用的数据字122a在未压缩数据有效载荷120中处于最低有效位置371,而启用的数据字122h被示出处于最高有效位置378,而剩余的启用和未启用的数据字按照从位置372到位置377的有效性增加的顺序布置。为了创建压缩数据有效载荷130,编码电路101被配置为将特定启用的数据字(例如,启用的数据字122a)从未压缩数据有效载荷120中的特定位置(最低有效位置371)移动到压缩数据有效载荷130中的不同位置(次最低有效位置372)。编码电路101被进一步配置为将其他启用的数据字(例如,启用的数据字122b和122c)从较低有效位置(位置372和373)移位到较高有效位置(位置373和374),直到到达未启用的数据字(未启用的数据字124d)。为了压缩未压缩数据有效载荷120,控制电路105以启用的数据字122a所在的最低有效位置371开始,并且将启用的数据字移位到下一个较高有效位置。在图3中,控制电路105将每个启用的数据字122a-122c移位到其相应的下一个较高位置。由于未压缩数据有效载荷120中的位置374保持未启用的数据字124d,因此不执行附加移位。启用的数据字122c移位到压缩数据有效载荷130的位置374中,并且省略未启用的数据字124d。编码电路101被进一步配置为将掩模值125置于最低有效位置371。
为了识别未压缩数据有效载荷120的哪些数据字被启用并且哪些数据字未被启用,控制电路105使用掩模值125。在例示的实施方案中,掩模值125针对未压缩数据有效载荷120中的每个数据字位置包括一位。特定位的值“1”指示未压缩数据有效载荷120中的对应位置中的数据字被启用,并且如果特定位的值为“0”,则指示对应位置中的数据字未启用。在其他实施方案中,该逻辑可相反。为了实现数据字的移位,控制电路105以两种方式利用掩模值125。首先,通过使用掩模值125的每个位作为与非门307的输入来生成控制信号128。如果未压缩数据有效载荷120中的所有数据字都被启用,则掩模值125中的每个对应位将被设置为“1”,从而导致与非门307的输出(控制信号128)被设置为“0”。否则,如果未压缩数据有效载荷120中的至少一个数据字未被启用,则掩模值125的对应位为“0”,并且与非门307将控制信号128设置为“1”。控制信号128用作与门308b-308h中的每个的一个输入。
控制电路105利用掩模值125的第二方式是使用掩模值125的每个位作为与门308b-308h中的相应一个的第二输入,对应于最高有效位置的位除外。如图所示,每个与门308b-308h的输出由MUX 306b-306h中的相应一个用作控制信号。没有与门用于MUX 306a的控制信号,只有控制信号128。控制信号128提供是否未压缩数据有效载荷120的所有数据字都被启用的指示。如果所有数据字都被启用(控制信号128为“0”),则掩模值125不被发送到接收数据有效载荷的解码电路,因此不执行未压缩数据有效载荷120的压缩。控制信号128的“0”值是到MUX 306a的输入,导致MUX 306a选择启用的数据字122a而不是掩模值125作为输入,并且将启用的数据字122a的值传输到压缩数据有效载荷130的最低有效位置371中。控制信号128的“0”值进一步使得与门308b将输出设定为“0”,从而使得MUX 306b选择未移位的输入而不是移位的输入。例如,MUX 306b接收启用的数据字122b作为未移位的输入并接收启用的数据字122a作为移位的输入,并且当与门308b的输出为“0”时选择启用的数据字122b。
与门308b的输出也用作与门308c的输入。与门308c的输出是与门308d的输入,依此类推直到最终的与门308h。第一与门308b到最终的与门308h的输出的这种链接使得输出为“0”的第一次出现导致所有后续与门均具有为“0”的输出。在上述所有数据字启用示例中,与门308b的“0”输出导致所有与门308c-308h具有为“0”的输出值。
如图3所示,掩模值125是指示两个数据字未被启用的“10110111”。因此,控制信号128被设置为“1”以指示至少一个数据字未被启用。基于控制信号128的“1”值,MUX 306a选择掩模值125作为输入并将掩模值125的值传输到压缩数据有效载荷130的最低有效位置371中。控制信号128的“1”值进一步使得与门308b的输出由掩模值125的相应位确定。如果最低有效位置371中的数据字被启用,则MUX 306b选择移位的数据字作为输入,并且否则选择未移位的数据字。如图所示,掩模值125的位0对应于最低有效位置371,并且用作与门308b的第二输入以提供用于MUX 306b的选择信号。掩模值125的位0的“1”值与控制信号128的“1”值组合,使得在与门308b的输出处设置值“1”,从而使得MUX 306b选择移位的数据字(启用的数据字122a)作为输入。启用的数据字122a被放置到压缩数据有效载荷130的位置372中。控制电路105中的逻辑门进一步使用掩模值125的下两位(位1和位2)以使MUX 306c和306d选择移位的数据字(启用的数据字122b和122c)并将这些数据字传输到压缩数据有效载荷130的下两个位置(373和374)中。
与门308e接收与门308d的输出(“1”)和掩模值125的位3,该位为“0”以指示未压缩数据有效载荷120的位置374保持未启用的数据字124d。该位3值“0”使得与门308e的输出被设置为“0”,从而使得MUX 306e选择未移位的数据字即启用的数据字122e,而不是移位的数据字即未启用的数据字124d。与门308e的“0”值连同掩模值125的位4一起用作与门308f的输入。从与门308e接收的“0”使得与门308f以及剩余的与门308g和308h将其输出设置为“0”。因此,MUX 306e-306h都选择未移位的数据字以传输到压缩数据有效载荷130。
在已经生成压缩数据有效载荷130之后,编码电路101被配置为经由通信总线110的导电迹线将压缩数据有效载荷130发送到解码电路。编码电路101被进一步配置为通过在至少一个数据字未被启用时断言控制信号128并且否则解除断言控制信号128来通过导电迹线112的单个导电迹线发送控制信号128。
需注意,图3的示例仅展示了所公开的概念。在其他实施方案中,可包括电路的不同组合。例如,在其他实施方案中,掩模值和/或控制值可以利用不同的值来表示启用和未启用的数据字。因此,此类实施方案可利用不同的逻辑门来向多路复用电路提供选择信号和/或来生成控制信号。在一些实施方案中,可以使用与多路复用电路不同类型的切换电路来在移位的数据字和未移位的数据字之间进行选择。
图3示出了用于编码电路中的控制电路的示例性实施方式。类似的具体实施可用于解码电路中使用的控制电路。图4描绘了解码电路的此类实施方案。
前进至图4,描绘了解码电路203的另一个实施方案的框图。如上所述,解码电路203接收压缩数据有效载荷130和控制信号128。控制电路205使用控制信号128来提取掩模值125,并且由压缩数据有效载荷130和所提取的掩模值生成未压缩数据有效载荷120。控制电路205包括一组多路复用电路(MUX)406a-406h(简称MUX 406)和一组与门408b-408h。
如图所示,压缩数据有效载荷130的每个数据字被放置成从压缩数据有效载荷130内的最低有效位置471到最高有效位置478的特定顺序。如上所述,数据字在数据有效载荷内的位置可以指示数据字的特定特性。因此,当生成未压缩数据有效载荷120时,可以保留压缩数据有效载荷130中启用的数据字的顺序,以恢复数据字位置。
如上所述,控制信号128指示压缩数据有效载荷130是否包括移位的数据字,并且如果包括,则指示哪些数据字被移位的对应掩模值。如图所示,如果压缩数据有效载荷130中的任何数据字已移位,则控制信号128为“1”,否则,如果压缩数据有效载荷130中没有数据字移位,则控制信号128为“0”。如果控制信号128为“0”,则解码电路203的控制电路205不执行压缩数据有效载荷130中的数据字的移位。此外,压缩数据有效载荷130中不包括掩模值125,并且控制电路205使用默认值440作为掩模值。默认值440对应于指示所接收的数据有效载荷的所有数据字都被启用的掩模值125的值。例如,如上所述,掩模值125针对未压缩数据有效载荷120中的每个数据字包括一位。值“0”指示未启用的数据字,而值“1”指示启用的数据字。因此,对于此类实施方案,默认值440全部为一(例如,“1111111”)。
以与针对控制电路105所述类似的方式,控制电路205使用控制信号128和提取的掩模值125或默认值440来控制与门408b-408h和MUX 406a-406h,以将数据字从所接收的压缩数据有效载荷130放置到未压缩数据有效载荷120中。对于控制信号128为“0”的情况,MUX406a使用控制信号128来选择默认值440作为掩模值125。与门408b-408h串联链接,如上文针对与门308b-308h所述。因此,与门308b-308h的“0”输出的第一实例导致所有后续与门也生成为“0”的输出。控制信号128是与门408b的一个输入(耦接到MUX 406b的选择输入)。在控制信号为“0”的情况下,该“0”值使得与门408b将其输出设置为“0”,而不管掩模值125的值如何。与门408b的“0”输出传播通过剩余的与门408c-408h,使得所有与门408b-408h生成为“0”的输出值。因此,所有MUX 406b-406h从压缩数据有效载荷130选择其相应的未移位值。例如,MUX 406b选择最低有效位置471作为未移位的数据字,并且选择位置472作为移位的数据字。在例示的示例中,压缩数据有效载荷包括移位的数据字,因此最低有效位置471保持掩模值125,并且位置472保持启用的数据字122a。如果压缩数据有效载荷130不包括移位的数据字,则将不包括掩模值125,并且启用的数据字122a-122c将向右移位一个位置(例如,位置471-473)。
在控制信号128为“1”的情况下,MUX 406a使用控制信号128从压缩数据有效载荷130的最低有效位置471检索掩模值125。如图所示,掩模值125为“10110111”。来自掩模值125的位0和控制信号128用作与门408b的两个输入。这两个输入均为“1”,从而得到为“1”的输出。与门408b的该“1”输出使得MUX 406b选择移位的数据字(在这种情况下为启用的数据字122a),并且将启用的数据字122a传输到未压缩数据有效载荷120的最低有效位置471。基于掩模值125的位1和位2以及控制信号128的值,MUX 406c和406d还选择移位的数据字,从而导致启用的数据字122b和122c被选择并传输到未压缩数据有效载荷120中的下两个较低有效位置(472和473)。掩模值125的位4为“0”,这使得与门408e从压缩数据有效载荷130选择未移位的数据字。该值在图4中示出为未启用的数据字124d。然而,在当前示例中,未启用的数据字124d将具有与启用的数据字122c相同的值。由于该数据字位置被指示为未被掩模值125启用,因此接收未压缩数据有效载荷120的功能电路可忽略位置474中的数据字,使得该值不相关。
来自与门408e的为“0”的输出传播到与门408f-408h,从而使MUX 406f-406h选择未移位的数据字并将这些所选择的数据字传输到具有相同有效性的未压缩数据有效载荷120的数据字中。需注意,如图所示,未压缩数据有效载荷120的最高有效位置478中的数据字将总是来自压缩数据有效载荷130的最高有效位置478的数据字。如果给定数据有效载荷的最高有效位置478中的数据字被启用,则无论其他数据字的状态如何,其都将始终保持在压缩数据有效载荷130的最高有效位置478中。相比之下,如果给定数据有效载荷的最高有效位置478中的数据字未被启用并且位置477处的数据字移位到压缩数据有效载荷130的最高有效位置478中,则在解码操作期间,未压缩数据有效载荷120的最高有效位置478将具有值等于未压缩数据有效载荷120的位置477中的数据字的未启用的数据字。
在解码操作已完成并且未压缩数据有效载荷120的所有位置471-478已被设置之后,解码电路203可向相关联的功能电路发送数据有效载荷准备好被检索的指示。在其他实施方案中,解码电路203可将未压缩数据有效载荷120和掩模值125发送到关联功能电路。
需注意,图4描绘了解码电路的一个示例。在其他实施方案中可使用不同的电路组合。例如,其他实施方案可利用不同的逻辑电路来执行所述操作。在一些实施方案中,数据字的有效性和/或移位可以与所描述的那些相反或以其他方式进行修改。
图1至图4聚焦于用于传输数据有效载荷的编码和解码电路的各个方面。功能电路已被描述为向编码电路发送数据有效载荷并从解码电路接收数据有效载荷。图5示出了包括使用编码和解码电路来发送和接收数据有效载荷的多个功能电路的系统。
现在移至图5,示出了包括经由通信总线通信的各种功能电路的计算设备的实施方案。计算设备500包括四个功能电路:处理电路501、通信端口505、图形处理器515和处理电路520。四个功能电路可经由通信总线110彼此通信。为了支持通信总线110的使用,四个功能电路中的每一个包括编码电路101和解码电路203的相应实施方式。在各种实施方案中,处理电路501、通信端口505、图形处理器515和处理电路520可在单个IC诸如SoC上实现,或者每个功能电路可在单独的IC上实现,或它们的组合。因此,通信总线110可包括导电迹线,该导电迹线被实现为IC中的金属线、电路板上的金属迹线和耦接在电路板之间的电缆中的导线的任何合适的组合。
在各种实施方案中,处理电路501可包括一个或多个处理内核,诸如被配置为实现任何合适的指令集架构(ISA)的通用处理内核。在一些实施方案中,处理电路可包括定制处理内核,诸如专用IC(ASIC)或可编程逻辑阵列(PLA)。通信端口505可包括被配置为实现用于与另一计算设备和/或一个或多个计算外围设备交换信息的任何合适的通信协议的电路。例如,通信端口505可支持通用串行总线(USB)、以太网和/或外围部件互连(PCI)。图形处理器515包括一个或多个处理内核,该一个或多个处理内核被配置为处理图像信息和视频信息,例如以在屏幕上显示。处理电路520可对应于被配置为在计算系统中接收、修改和/或发送信息的任何其他合适类型的数据处理电路。例如,处理电路520可以是音频处理器、数字信号处理器、加密/安全处理器等。处理电路501、通信端口505、图形处理器515和处理电路520仅仅是可利用本文所述的编码和解码电路的实施方案的功能电路的四个示例。
处理电路501、通信端口505、图形处理器515和处理电路520被配置为使用传输到通信总线110和从通信总线110传输的多个数据有效载荷经由通信总线110发送和接收信息。这些功能电路中的每个功能电路利用编码电路101a-101d中的相应一个对正在发送的特定数据有效载荷进行编码,并且利用解码电路203a-203d中的相应一个对给定的所接收数据有效载荷进行解码。编码电路101a-101d和解码电路203a-203d描绘了上文关于图1至图4所述的编码和解码电路的实施方式。
作为数据有效载荷传输的示例,图形处理器515可将一个或多个数据有效载荷发送到通信端口505,例如,以将视频文件存储到USB连接的存储驱动器上或显示在以太网连接的屏幕上。图形处理器515生成一系列包括视频文件的数据有效载荷以及包含例如与视频文件相关联的元数据或用于存储设备或显示屏的指令的数据有效载荷。因此,数据有效载荷中的一些中所有数据字都被启用,而一些数据有效载荷具有未被启用的一个或多个数据字。
为了发送特定数据有效载荷,如图所示,图形处理器515将特定数据有效载荷连同相关联的掩模值一起发送到编码电路101c。使用上述技术,编码电路101c使用掩模值来生成控制信号并压缩特定数据有效载荷。响应于就绪线544c指示通信总线110可用,编码电路101c分别使用数据有效载荷线530c和控制线528c将压缩数据有效载荷和控制信号发送到通信总线110。编码电路101c断言数据有效线540c以指示数据有效载荷线530c和控制线528c何时准备好被访问。
通信端口505使用解码电路203b从图形处理器515接收压缩数据有效载荷。响应于数据有效线540b指示通信总线110准备好被访问,解码电路203b从数据有效载荷线530b接收压缩数据有效载荷,并且并行地从控制线528b接收控制信号。使用上文公开的技术,解码电路203b使用控制信号来确定压缩数据有效载荷是否包括移位的数据。如果压缩数据有效载荷包括移位的数据,则解码电路203b使用从压缩数据有效载荷提取的掩模值对压缩数据有效载荷进行解码以识别移位的数据字。否则,如果控制信号指示没有数据字移位,则解码电路203b使用默认掩模值解码压缩数据有效载荷。解码电路203b由压缩数据有效载荷生成未压缩数据有效载荷,并且使未压缩数据有效载荷可用于通信端口505中的适当电路以经由USB发送到存储设备或使用以太网发送到显示屏。
在图5的示例中使用所公开的技术允许减少包括在通信总线110中的导电迹线的数量。除了用于掩模值的多个迹线之外,代替支持未压缩数据有效载荷,可将掩模值的多个位减小到单个控制信号。无论用于数据有效载荷和控制信号的迹线的数量如何,都可能需要用于数据有效和就绪信号的附加迹线。
需注意,图5所示的计算设备为一个示例。为清楚起见,简化了计算设备500的框图。在其他实施方案中,可包括附加电路框,诸如存储器框、电源管理电路、时钟产生电路等。尽管功能电路中的每个被示出为具有编码电路和解码电路的单个具体实施,但在其他实施方案中,每个功能电路可包括编码电路和解码电路的多个具体实施,以增加并行发送和接收的数据有效载荷的数量。
上文在图1和图3中描述的电路可使用多种方法执行编码操作。由编码电路压缩数据有效载荷的两种方法在图6和图7中有所描述。
现在转向图6,示出了用于由编码电路压缩具有未启用的数据字的数据有效载荷的方法的实施方案的流程图。方法600可由编码电路(例如,图1和图3中的编码电路101)执行。在一些实施方案中,方法600可以由计算机系统(例如,计算设备100)执行,该计算机系统可以访问具有存储在其上的程序指令的非暂态计算机可读介质,所述程序指令可由该计算机系统执行以引起参考图6所述的操作。共同参见图3和图6,方法600从框601开始。
在框610处,方法600包括由编码电路101接收包括最大数量的数据字的未压缩数据有效载荷120。未压缩数据有效载荷120接收自功能电路,例如,如图5所示的处理电路501、通信端口505、图形处理器515和处理电路520中的任一个。未压缩数据有效载荷120中包括的数据可包括任何合适的信息,诸如正被传输的文件的一部分、正被发送到不同功能电路的命令等。最大数量的数据字由可经由通信总线110并行传输的最大数量的数据字确定。因此,数据字的最大数量取决于耦接在编码电路101和通信总线110之间的导电迹线的数量。
方法600还包括在框620处,由编码电路101接收掩模值125,该掩模值指示未压缩数据有效载荷120中的启用和未启用的数据字。经由编码电路101传输的各种有效载荷可具有从单个数据字到最大数量的任何数量的启用的数据字。如图所示,未压缩数据有效载荷120包括启用的数据字122a-122c、122e、122f和122h,以及未启用的数据字124d和124g。未启用的数据字124d和124g可用于保持未压缩数据有效载荷120内的启用的数据字的特定布置。由于未压缩数据有效载荷120内的每个数据字不包括是否启用的指示,因此掩模值125与未压缩数据有效载荷120并行接收以识别未压缩数据有效载荷120中的哪些位置被启用。在图3中,掩模值125以值“10110111”示出。在例示的实施方案中,位值“1”指示未压缩数据有效载荷120中的对应位置保持启用的数据字,而位值“0”指示对应位置中的数据字未启用。“10110111”中的六个“1”值对应于启用的数据字122a-122c、122e、122f和122h,而两个“0”值对应于未启用的数据字124d和124g。
在框630处,方法600还包括使用掩模值125和未压缩数据有效载荷120创建压缩数据有效载荷130,其中压缩数据有效载荷130包括掩模值125。为了在压缩数据有效载荷130中为掩模值125腾出空间,去除未启用的数据字124d和124g中的一个。如图所示,控制电路105使用掩模值125来确定未压缩数据有效载荷120的三个最低有效位置(371-373)保持启用的数据字122a-122c。这三个数据字被左移到压缩数据有效载荷130的位置372-374中,例如,移位到比其在未压缩数据有效载荷120中的位置具有一个更高有效性的位置中。使用掩模值125,控制电路105确定未压缩数据有效载荷120(未启用的数据字124d)中的下一个较高位置(374)未启用。作为响应,该数据字中的数据不传输到压缩数据有效载荷130中。剩余的四个数据字(启用的数据字122e、122f、122h和未启用的数据字124g)被传输到压缩数据有效载荷中而不移位。控制电路105将掩模值125传输到通过移位而可用的压缩数据有效载荷130的最低有效位置371中。
方法600还包括在框640处经由通信总线110向解码电路发送压缩数据有效载荷130和指示压缩数据有效载荷130包括掩模值125的控制信号128,其中通信总线110具有多个导电迹线112,该数量对应于数据字的最大数量。编码电路101使用通信总线110将压缩数据有效载荷130传输到不同的功能电路。在一些实施方案中,编码电路101可响应于指示通信总线110可用的信号(诸如就绪信号)而传输压缩数据有效载荷130。压缩数据有效载荷130和控制信号128经由导电迹线112传输到通信总线110。方法在框690中结束。
现在前进至图7,示出了用于由编码电路压缩所有数据字均被启用的数据有效载荷的方法的实施方案的方法的流程图。以与方法600类似的方式,方法700可由编码电路诸如图1和图3中的编码电路101执行。在一些实施方案中,方法700可由计算机系统(例如,计算设备100)执行,该计算机系统可访问其上存储有程序指令的非暂态计算机可读介质,该程序指令可由计算机系统执行以引起关于图7描述的操作。共同参见图3和图7,该方法从框701开始。
在框710处,方法700包括由编码电路101接收包括最大数量的数据字的不同未压缩数据有效载荷和指示不同未压缩数据有效载荷的所有数据字都被启用的不同掩模值。编码电路101接收未压缩数据有效载荷,其中所有位置都保持启用的数据字。此类数据有效载荷的不同掩模值为“11111111”。
方法700还包括在框720处,通过响应于不同掩模值指示不同未压缩数据有效载荷的所有数据字都被启用而解除断言控制信号128来由编码电路101生成控制信号128。不同掩模值的各个位用作与非门307的输入。“11111111”的值导致与非门307为控制信号128生成值“0”。如本文所述,“解除断言”信号是指逻辑值为“0”的信号,并且“断言”信号是指逻辑值为“1”的信号。然而,需注意,在其他实施方案中,信号可具有“低态有效”逻辑,使得逻辑值“0”对应于断言信号并且逻辑值“1”对应于接触断言信号。
在框730处,方法700还包括使用不同未压缩数据有效载荷创建不同压缩数据有效载荷,其中不同压缩数据有效载荷不包括不同掩模值。由于不同未压缩数据有效载荷的所有数据字都被启用,因此控制电路105将不同未压缩数据有效载荷的所有数据字传输到不同压缩数据有效载荷,而不移位任何数据字。由于所有数据字都被启用,因此从不同压缩数据有效载荷中排除不同掩模值。
方法700还包括在框740处,经由通信总线110的多个导电迹线112向解码电路发送不同压缩数据有效载荷和控制信号128,而不发送不同掩模值。编码电路101可响应于指示通信总线110可用的就绪信号而传输不同压缩数据有效载荷。由于不同压缩数据有效载荷不包括不同掩模值,因此不将不同掩模值发送到解码电路。当所有数据字都被启用时,掩模值可以从压缩数据有效载荷中省略,因为在所述实施方案中,单个掩模值(例如,“11111111”)对应于所有数据字启用的情况。因此,当控制信号128指示全启用情况时,解码电路可使用单个值作为默认掩模值。方法在框790中结束。
应当注意,图6和图7的方法600和700仅为示例。设想了所公开方法的变型。例如,方法600的框610和620被示出为连续地执行。在各种实施方案中,未压缩数据有效载荷和掩模值被并行接收。
以上在图2和图4中描述的解码电路可使用多种方法执行解码操作。由解码电路解压数据有效载荷的两种方法在图8和图9中有所描述。
移至图8,示出了用于由解码电路解压包括掩模值的所接收的数据有效载荷的方法的实施方案的流程图。方法800可由解码电路执行,例如,图2和图4中的解码电路203。在一些实施方案中,方法800可以由计算机系统(例如,计算设备200)执行,该计算机系统可以访问具有存储在其上的程序指令的非暂态计算机可读介质,所述程序指令可由计算机系统执行以引起参考图8所述的操作。共同参考图4和图8,方法800可开始于框801。
方法800包括在框810处,由解码电路203接收包括最大数量的数据字的压缩数据有效载荷130。由解码电路203经由导电迹线112从通信总线110接收压缩数据有效载荷130。压缩数据有效载荷130可由任何合适的功能电路发送,例如,如图5所示的处理电路501、通信端口505、图形处理器515和处理电路520中的任一者。压缩数据有效载荷130包括信息,诸如正在传输的文件的一部分、用于与解码电路203相关联的功能电路的命令、或任何其他合适的数据。如前所公开的,最大数量的数据字由可经由通信总线110并行传输的最大数量的数据字确定。
在框820处,该方法包括由解码电路203接收指示压缩数据有效载荷130是否包括掩模值的控制信号128。所接收的控制信号128具有指示压缩数据有效载荷130是否包括掩模值的值,以识别压缩数据有效载荷130中包括的特定数据字是被启用还是未被启用。如图所示,控制信号128经由导电迹线112中的单个导电迹线接收并且包括单个位值。在各种实施方案中,逻辑“0”或逻辑“1”可指示掩模值的存在,而相反的逻辑值指示不包括掩模值。在一些实施方案中,控制信号可包括附加位以提供关于压缩数据有效载荷130中包括的数据的附加信息,诸如类型数据、启用的数据字的数量、数据字的大小等。
此外,在框830处,方法800包括确定控制信号128指示压缩数据有效载荷130包括掩模值125。解码电路203确定所接收的控制信号128的值指示压缩数据有效载荷130包括掩模值125。因此,解码电路203进一步确定压缩数据有效载荷130包括未启用的至少一个数据字。
该方法还包括在框840处,从压缩数据有效载荷130提取掩模值125。为了确定压缩数据有效载荷130中的哪些数据字被启用并且哪些数据字未被启用,解码电路203中的控制电路205从压缩数据有效载荷130提取掩模值125。如上文关于图4所述,当掩模值125被包括在压缩数据有效载荷中时,其位于有效载荷中的最低有效位置(例如,471)。控制信号128的断言值使得控制电路205使用最低有效位置471中的数据字作为掩模值125。在例示的示例中,掩模值125是“10110111”。
在框850处,方法800还包括使用掩模值125由压缩数据有效载荷130创建未压缩数据有效载荷120。为了生成未压缩数据有效载荷120,控制电路205使用掩模值125来控制MUX406b-406h上的选择输入。基于掩模值125,启用的数据字122a-122c从其在压缩数据有效载荷130中的位置472-474移位到未压缩数据有效载荷120中的较低有效位置471-473。该移位为未包括在压缩数据有效载荷130中的未启用的数据字124d打开位置474。如图4所示,用于未启用的数据字124d的值与启用的数据字122c的值相同。压缩数据有效载荷130中的位置475-478中的数据字保持启用的数据字122e、122f、122h和未启用的数据字124g。位置475-478中的这些数据字被传输到未压缩数据有效载荷120的相同位置475-478而不移位。需注意,未启用的数据字124g的数据值从压缩数据有效载荷130保存。在一些实施方案中,默认值可以在未压缩数据有效载荷120中用于未启用的数据字,以代替从压缩数据有效载荷130传输的数据值。例如,控制电路205可保留来自先前未压缩数据有效载荷的未启用的数据字124d和124g的数据值,而不是复制来自压缩数据有效载荷130的数据值,从而减少存储元件中的电路切换的量,该存储元件保持解码电路203中的未压缩数据有效载荷120。方法在框890中结束。
转到图9,示出了用于由解码电路解压所有数据字均被启用的压缩数据有效载荷的方法的实施方案的方法的流程图。以与方法800类似的方式,方法900可由解码电路诸如图2和图4中的解码电路203来执行。在一些实施方案中,方法900可由计算机系统(例如,计算设备200)执行,该计算机系统可访问其上存储有程序指令的非暂态计算机可读介质,该程序指令可由计算机系统执行以引起关于图9描述的操作。共同参见图4和图9,该方法在框901中开始。
在框910处,该方法包括由解码电路203接收包括最大数量的数据字的不同压缩数据有效载荷130和指示压缩数据有效载荷130不包括掩模值的不同控制信号128。在所公开的实施方案中,当压缩数据有效载荷130不包括掩模值时,控制信号128被解除断言。然而,如上所述,控制信号可利用其他值来指示压缩数据有效载荷130不包括掩模值。
在框920处,方法900还包括针对掩模值125使用默认值440。如图4所示,控制电路205使用控制信号128来在压缩数据有效载荷130中的最低有效位置471中的数据字与用作掩模值125的默认值440之间进行选择。响应于控制信号128的解除断言值,默认值440被选择为掩模值125。在当前实施方案中,默认值440为“11111111”。
在框930处,方法900还包括使用默认值440由压缩数据有效载荷130创建未压缩数据有效载荷120,其中默认值440使得解码电路203不使任何数据字在压缩数据有效载荷130和未压缩数据有效载荷120之间移位。如上文针对方法800所述,控制电路205使用掩模值125来控制MUX 406b-406h的选择输入。默认值440(“11111111”)与控制信号128组合使得所有MUX 406b-406h选择未移位的输入,从而导致压缩数据有效载荷130中的数据字被置于未压缩数据有效载荷120中的相同位置471-478中。在用来自压缩数据有效载荷130的数据字更新未压缩数据有效载荷120之后,解码电路203可向相关联的功能电路(例如,图5中公开的功能电路中的一个功能电路)指示未压缩数据有效载荷120准备好被检索。在其他实施方案中,解码电路203可将未压缩数据有效载荷120存储在存储电路中以供功能电路稍后访问。方法在框990中结束。
需注意,图8和图9的方法800和900是用于展示所公开的概念的示例。在其他实施方案中,操作可以不同的顺序执行,并且一些操作可以并行地执行。尽管方法800的框810和820被示出为连续地执行,但在一些实施方案中,压缩数据有效载荷和控制信号被并行地接收。
图1至图9示出了用于计算设备中的编码和解码电路的装置和方法。编码和解码电路,诸如上文所述的那些,可用于各种计算机系统,诸如台式计算机、膝上型计算机、智能电话、平板电脑、可穿戴设备等。在一些实施方案中,上述电路可在片上系统(SoC)或其他类型的集成电路上实现。图10中示出了例示包括所公开的电路的计算机系统1000的实施方案的框图。在一些实施方案中,计算机系统1000可对应于图1至图5中的计算设备100、200和/或500。如图所示,计算机系统1000包括处理器复合体1001、存储器电路1002、输入/输出电路1003、时钟产生电路1004、模拟/混合信号电路1005和电力管理单元1006。这些功能电路通过通信总线1011彼此耦接。在一些实施方案中,通信总线1011对应于图1至图5中的通信总线110。如图所示,处理器复合体1001和输入/输出电路1003两者包括编码电路101和解码电路203的相应实施方案。
在各种实施方案中,处理器复合体1001可表示执行计算操作的通用处理器。例如,处理器复合体1001可为中央处理单元(CPU)诸如微处理器、微控制器、专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施方案中,处理器复合体1001可对应于专用处理内核,诸如图形处理器、音频处理器或神经处理器,而在其他实施方案中,处理器复合体1001可对应于被配置和/或编程为执行一个此类功能的通用处理器。在一些实施方案中,处理器复合体1001可包括多个通用和/或专用处理器内核以及用于管理例如功率信号、时钟信号和存储器请求的支持电路。此外,处理器复合体1001可包括一个或多个级别的高速缓存存储器以满足由所包括的处理器内核发出的存储器请求。如图所示,处理器复合体1001包括编码电路101和解码电路203的具体实施。在各种实施方案中,处理器复合体1001可包括每个电路的单个实施方案,或者可包括供多个内核使用的多个实施方案。处理器复合体1001可利用编码电路101和解码电路203分别通过通信总线1011或未示出的其他总线结构发送和接收数据有效载荷。
在例示的实施方案中,存储器电路1002包括用于存储将由处理器复合体1001在计算机系统1000内使用的指令和数据的一个或多个存储器电路。在各种实施方案中,存储器电路1002可包括任何合适类型的存储器,诸如例如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)或非易失性存储器。需注意,在计算机系统1000的实施方案中,示出了单个存储器电路。在其他实施方案中,可采用任何合适数量的存储器。在一些实施方案中,存储器电路1002可包括存储器控制器电路以及用于访问计算机系统1000外部的存储器电路的通信电路。
输入/输出电路1003可被配置为协调计算机系统1000和一个或多个外围设备之间的数据传输。此类外围设备可包括但不限于存储设备(例如,基于磁或光媒体的存储设备,包括硬盘驱动器、磁带驱动器、CD驱动器、DVD驱动器等)、音频处理子系统或任何其他合适类型的外围设备。在一些实施方案中,输入/输出电路1003可被配置为实现通用串行总线(USB)协议或IEEE 1394
Figure BDA0003007387160000241
协议的版本。
输入/输出电路1003还可被配置为协调计算机系统1000与经由网络耦接到计算机系统1000的一个或多个设备(例如,其他计算系统或集成电路)之间的数据传输。在一个实施方案中,输入/输出电路1003可被配置为执行实现以太网(IEEE 802.3)联网标准诸如例如千兆位以太网或10千兆位以太网所必需的数据处理,但预期可实现任何合适的联网标准。如图所示,输入/输出电路1003包括编码电路101和解码电路203的一个或多个实例,以支持向和从各种通信接口传输数据有效载荷。
时钟产生电路1004可被配置为启用、配置和管理一个或多个时钟源的输出。在各种实施方案中,时钟源可位于模拟/混合信号电路1005中,位于时钟产生电路1004内,位于具有计算机系统1000的其他框中,或者来自计算机系统1000外部的源,通过一个或多个I/O引脚耦接。在一些实施方案中,时钟产生电路1004可以能够在分配遍布计算机系统1000之前启用和禁用(例如,选通)所选择的时钟源。时钟产生电路1004可包括用于选择锁相环(PLL)、延迟锁定环(DLL)、频率锁定环(FLL)或能够调节时钟或时序信号的频率、占空比或其他特性的其他类型的电路的输出频率的寄存器。
另外,模拟/混合信号电路1005可包括被配置为生成由计算机系统1000使用的信号的多种电路,包括例如晶体振荡器、PLL或FLL、以及数模转换器(DAC)(均未示出)。在一些实施方案中,模拟/混合信号电路1005也可包括可被配置用于通过蜂窝电话网络操作的射频(RF)电路。模拟/混合信号电路1005可以包括能够生成特定电压电平的参考电压的一个或多个电路,诸如稳压器或带隙电压参考。
电力管理单元1006可被配置为在处理器复合体1001、输入/输出电路1003、存储器电路1002和计算机系统1000中的其他电路的电源信号上生成经调节的电压电平。在各种实施方案中,电力管理单元1006可包括被配置为基于外部电源(未示出)生成经调节的电压电平的一个或多个稳压器电路,诸如例如降压稳压器电路。在一些实施方案中,可生成任何合适数量的经调节的电压电平。另外,电力管理单元1006可以包括用于管理一个或多个功率信号到计算机系统1000中的各种电路的分配的各种电路,包括保持和调节这些功率信号的电压电平。电力管理单元1006可包括用于监测计算机系统1000的功率使用的电路,包括确定或估计特定电路的功率使用。
需注意,图10所示的实施方案包括计算机系统的一个示例。为简单起见,示出了有限数量的电路框。在其他实施方案中,可包括任何合适数量的电路框和电路框的组合。例如,在其他实施方案中,可包括安全和/或加密电路框。
图11是示出根据一些实施方案的存储电路设计信息的非暂态计算机可读存储介质的示例的框图。图11的实施方案可在用于设计和制造集成电路诸如例如包括图10的计算机系统1000的IC的工艺中使用。在例示的实施方案中,半导体制造系统1120被配置为处理存储于非暂态计算机可读存储介质1110上的设计信息1115并基于该设计信息1115来制造集成电路1130。
非暂态计算机可读存储介质1110可以包括各种适当类型的存储器设备或存储设备中的任一个。非暂态计算机可读存储介质1110可以是安装介质,例如CD-ROM、软盘或磁带设备;计算机系统存储器或随机存取存储器诸如DRAM、DDR RAM、SRAM、EDO RAM、Rambus RAM等;非易失性存储器诸如闪存、磁介质,例如,硬盘驱动器或光学存储装置;寄存器、或其他类似类型的存储器元件等。非暂态计算机可读存储介质1110可包括其他类型的非暂态存储器或它们的组合。非暂态计算机可读存储介质1110可包括可驻留于不同位置例如通过网络连接的不同计算机系统中的两个或更多个存储器介质。
设计信息1115可使用各种适当的计算机语言中的任何语言来指定,包括硬件描述语言诸如但不限于:VHDL、Verilog、SystemC、SystemVerilog、RHDL、M、MyHDL等。设计信息1115可以能被半导体制造系统1120用来制造集成电路1130的至少一部分。设计信息1115的格式可被至少一个半导体制造系统(诸如例如半导体制造系统1120)识别。在一些实施方案中,设计信息1115可包括指定单元库的元素以及其连接性的网表。在包括在集成电路1130中的电路的逻辑合成期间使用的一个或多个单元库也可被包括在设计信息1115中。此类单元库可包括指示被包括在单元库中的单元的设备或晶体管级网表、掩模设计数据、表征数据等的信息。
在各种实施方案中,集成电路1130可以包括一个或多个定制宏单元,诸如存储器、模拟或混合信号电路等。在这种情况下,设计信息1115可包括与包括的宏单元相关的信息。此类信息可以包括但不限于电路图捕获数据库、掩模设计数据、行为模型以及设备或晶体管级网表。如本文所用,掩模设计数据可以根据图形数据系统(暂态)或任何其他合适的格式来格式化。
半导体制造系统1120可包括被配置为制造集成电路的各种适当元件中的任何元件。这可包括例如用于(例如在可包括掩模的晶片上)沉积半导体材料、移除材料、改变所沉积材料的形状、(例如通过掺杂材料或使用紫外处理来修改介电常数)对材料进行改性等的元件。半导体制造系统1120还可被配置为针对正确操作执行所制造电路的各种测试。
在各种实施方案中,集成电路1130被配置为根据由设计信息1115所指定的电路设计来操作,这可包括执行本文所描述功能中的任何功能。例如,集成电路1130可包括所示或本文所述各种元件中的任何元件。另外,集成电路1130可被配置为执行本文结合其他部件所描述的各种功能。另外,本文所述的功能性可由多个连接的集成电路来执行。
如本文所用,形式为“指定被配置为…的电路的设计的设计信息”的短语并不暗示为了满足该要素就必须制造所涉及的电路。相反,该短语表明设计信息描述了一种电路,该电路在被制造时将被配置为执行所指示的动作或者将包括所指定的部件。
尽管上文已经描述了具体实施方案,但这些实施方案并非要限制本公开的范围,即使仅相对于特定特征描述单个实施方案的情况下也是如此。本公开中提供的特征示例意在进行例示,而非限制,除非做出不同表述。上述说明书意在涵盖此类替代形式、修改形式和等价形式,这对知晓本公开有效效果的本领域技术人员将是显而易见的。
本公开的范围包括本文(明确或暗示)公开的任意特征或特征的组合或其任意概括,而无论其是否减轻本文解决的任何或所有问题。因此,在本专利申请(或要求享有其优先权的专利申请)进行期间可针对特征的任何此类组合作出新的权利要求。具体地,参考所附权利要求书,可将从属权利要求的特征与独立权利要求的特征进行组合,并可通过任何适当的方式而不是仅通过所附权利要求书中所列举的特定组合来组合来自相应独立权利要求的特征。

Claims (20)

1.一种装置,所述装置包括:
通信总线,所述通信总线具有多个导电迹线,所述多个导电迹线被配置为传输数据有效载荷,所述数据有效载荷包括控制信号和最多至最大数量的数据字;以及
编码电路,所述编码电路被配置为:
接收未压缩数据有效载荷和掩模值,其中所述掩模值指示所述未压缩数据有效载荷中启用和未启用的数据字;以及
使用所述掩模值创建指示所述未压缩数据有效载荷是否包括一个或多个未启用的数据字的所述控制信号;
响应于确定所述控制信号指示所述未压缩数据有效载荷包括一个或多个未启用的数据字:
由所述未压缩数据有效载荷创建压缩数据有效载荷,其中所述压缩数据有效载荷包括所述掩模值;以及
经由所述通信总线的所述多个导电迹线向解码电路发送所述压缩数据有效载荷和所述控制信号。
2.根据权利要求1所述的装置,其中所述未压缩数据有效载荷的每个数据字被放置到所述未压缩数据有效载荷内的相应位置中,并且其中为了创建所述压缩数据有效载荷,所述编码电路被配置为将特定启用的数据字从所述未压缩数据有效载荷中的特定位置移动到所述压缩数据有效载荷中的不同位置。
3.根据权利要求2所述的装置,其中为了创建所述压缩数据有效载荷,所述编码电路被进一步配置为将启用的数据字从所述未压缩数据有效载荷中的较低有效位置移位到所述压缩数据有效载荷中的较高有效位置,直到到达未启用的数据字。
4.根据权利要求3所述的装置,其中为了创建所述压缩数据有效载荷,所述编码电路被进一步配置为将所述掩模值放置到所述压缩数据有效载荷的最低有效位置中。
5.根据权利要求1所述的装置,其中所述编码电路被进一步配置为响应于确定所述控制信号指示包括在所述未压缩数据有效载荷中的所有数据字是启用的数据字来进行以下操作:
由所述未压缩数据有效载荷创建所述压缩数据有效载荷,其中所述压缩数据有效载荷不包括所述掩模值;以及
经由所述通信总线的所述多个导电迹线向所述解码电路发送所述压缩数据有效载荷和所述控制信号而不包括所述掩模值。
6.根据权利要求1所述的装置,其中所述编码电路被进一步配置为通过在至少一个数据字未被启用时断言所述控制信号并且否则解除断言所述控制信号来在单个导电迹线上发送所述控制信号。
7.根据权利要求1所述的装置,其中所述掩模值的每个位对应于所述未压缩数据有效载荷中的一个相应数据字位置。
8.一种方法,包括:
由编码电路接收包括最大数量的数据字的未压缩数据有效载荷;
由所述编码电路接收掩模值,所述掩模值指示所述未压缩数据有效载荷中启用和未启用的数据字;
使用所述掩模值和所述未压缩数据有效载荷创建压缩数据有效载荷,其中所述压缩数据有效载荷包括所述掩模值;以及
经由通信总线向解码电路发送所述压缩数据有效载荷和指示所述压缩数据有效载荷包括所述掩模值的控制信号,其中所述通信总线具有多个导电迹线,所述数量对应于数据字的所述最大数量。
9.根据权利要求8所述的方法,其中所述未压缩数据有效载荷的所述接收包括以从最低有效位置到最高有效位置的特定布置中接收所述未压缩数据有效载荷的所述数据字;并且
其中所述压缩数据有效载荷的所述创建包括由所述编码电路将启用的数据字从所述最低有效位置移位到次最低有效位置。
10.根据权利要求9所述的方法,其中所述压缩数据有效载荷的所述创建还包括将启用的数据字从所述未压缩数据有效载荷中的较低有效位置移位到所述压缩数据有效载荷中的较高有效位置,直到到达未启用的数据字。
11.根据权利要求9所述的方法,其中所述压缩数据有效载荷的所述创建还包括将所述掩模值放置到所述最低有效位置中。
12.根据权利要求8所述的方法,还包括:
由所述编码电路接收包括所述最大数量的数据字的不同未压缩数据有效载荷和指示所述不同未压缩数据有效载荷的所有数据字都被启用的不同掩模值;
使用所述不同未压缩数据有效载荷创建不同压缩数据有效载荷,其中所述不同压缩数据有效载荷不包括所述不同掩模值;以及
经由所述通信总线的所述多个导电迹线向所述解码电路发送所述不同压缩数据有效载荷和所述控制信号而不发送所述不同掩模值。
13.根据权利要求8所述的方法,其中将所述压缩数据有效载荷和所述控制信号发送到所述解码电路包括通过所述通信总线并行地发送所述压缩数据有效载荷和所述控制信号。
14.根据权利要求8所述的方法,还包括通过响应于所述掩模值指示所述未压缩数据有效载荷的至少一个数据字未被启用而断言所述控制信号并且否则解除断言所述控制信号来由所述编码电路生成所述控制信号。
15.一种装置,所述装置包括:
通信总线,所述通信总线具有多个导电迹线,所述多个导电迹线被配置为传输包括最多至最大数量的数据字的压缩数据有效载荷和控制信号;以及
解码电路,所述解码电路被配置为:
经由所述通信总线从编码电路接收所述压缩数据有效载荷和所述控制信号,其中所述控制信号指示所述压缩数据有效载荷是否包括掩模值;
响应于确定所述控制信号指示所述压缩数据有效载荷包括所述掩模值:
从所述压缩数据有效载荷提取所述掩模值;以及
使用所述掩模值由所述压缩数据有效载荷创建未压缩数据有效载荷。
16.根据权利要求15所述的装置,其中所述压缩数据有效载荷的每个数据字以从最低有效位置到最高有效位置的特定顺序放置,并且为了提取所述掩模值,所述解码电路被配置为从所述最低有效位置检索所述掩模值。
17.根据权利要求16所述的装置,其中为了创建所述未压缩数据有效载荷,所述解码电路被配置为使用所提取的掩模值将所述数据字中的数据字从所述压缩数据有效载荷中的较高有效位置移位到所述未压缩数据有效载荷中的较低有效位置。
18.根据权利要求17所述的装置,其中所述掩模值的每个位对应于所述未压缩数据有效载荷中的一个相应数据字位置,并且其中要移位所述数据字中的所述数据字,所述解码电路被配置为响应于确定所述掩模值的对应位被设置并且下一个较低有效位置中的不同数据字被移位而移位特定数据字。
19.根据权利要求15所述的装置,其中所述解码电路被进一步配置为,响应于确定所述控制信号指示所述压缩数据有效载荷不包括所述掩模值来进行以下操作:
使用所述掩模值的默认值;以及
使用所述默认值由所述压缩数据有效载荷创建所述未压缩数据有效载荷;
其中所述默认值使得所述解码电路不使任何数据字在所述压缩数据有效载荷和所述未压缩数据有效载荷之间移位。
20.根据权利要求15所述的装置,其中所述通信总线的导电迹线的数量对应于包括在所述最大数量的数据字加上所述控制信号中的位的数量,并且其中要经由所述通信总线接收所述压缩数据有效载荷,所述解码电路被配置为并行地接收所述压缩数据有效载荷和所述控制信号。
CN202110366717.8A 2020-04-10 2021-04-06 通信总线上的数据启用掩模压缩 Active CN113517893B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211084357.3A CN115441879A (zh) 2020-04-10 2021-04-06 通信总线上的数据启用掩模压缩

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/845,865 US10911267B1 (en) 2020-04-10 2020-04-10 Data-enable mask compression on a communication bus
US16/845,865 2020-04-10

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211084357.3A Division CN115441879A (zh) 2020-04-10 2021-04-06 通信总线上的数据启用掩模压缩

Publications (2)

Publication Number Publication Date
CN113517893A true CN113517893A (zh) 2021-10-19
CN113517893B CN113517893B (zh) 2022-09-06

Family

ID=74260866

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202211084357.3A Pending CN115441879A (zh) 2020-04-10 2021-04-06 通信总线上的数据启用掩模压缩
CN202110366717.8A Active CN113517893B (zh) 2020-04-10 2021-04-06 通信总线上的数据启用掩模压缩

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202211084357.3A Pending CN115441879A (zh) 2020-04-10 2021-04-06 通信总线上的数据启用掩模压缩

Country Status (5)

Country Link
US (2) US10911267B1 (zh)
EP (1) EP3893398A1 (zh)
KR (1) KR102326361B1 (zh)
CN (2) CN115441879A (zh)
DE (1) DE202021004376U1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7643505B1 (en) * 2006-11-30 2010-01-05 Qlogic, Corporation Method and system for real time compression and decompression
CN101689863A (zh) * 2007-03-15 2010-03-31 线性代数技术有限公司 用于压缩数据的电路和利用该电路的处理器
CN107003851A (zh) * 2014-12-27 2017-08-01 英特尔公司 用于压缩掩码值的方法和装置
CN107220027A (zh) * 2011-12-23 2017-09-29 英特尔公司 用于执行掩码位压缩的系统、装置以及方法
CN108702160A (zh) * 2016-01-29 2018-10-23 零点科技公司 用于压缩和解压缩数据的方法、设备和系统
CN109661780A (zh) * 2016-09-08 2019-04-19 高通股份有限公司 实现对基于处理器的系统中的小数据块的高效无损压缩
CN109783008A (zh) * 2017-11-13 2019-05-21 爱思开海力士有限公司 数据存储装置及其操作方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122189A (en) 1998-10-02 2000-09-19 Rambus Inc. Data packet with embedded mask
ATE421823T1 (de) 2004-08-12 2009-02-15 Koninkl Philips Electronics Nv Integrierte schaltung und verfahren zur paketvermittlungssteuerung
KR20110012804A (ko) 2009-07-31 2011-02-09 삼성전자주식회사 데이터 마스크 시스템 및 데이터 마스크 방법
US8307270B2 (en) 2009-09-03 2012-11-06 International Business Machines Corporation Advanced memory device having improved performance, reduced power and increased reliability
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US9916251B2 (en) * 2014-12-01 2018-03-13 Samsung Electronics Co., Ltd. Display driving apparatus and cache managing method thereof
US10177782B2 (en) * 2015-12-26 2019-01-08 Intel Corporation Hardware apparatuses and methods for data decompression
US10540304B2 (en) * 2017-04-28 2020-01-21 Advanced Micro Devices, Inc. Power-oriented bus encoding for data transmission
EP3404867B1 (en) 2017-05-18 2020-01-08 ID Quantique S.A. Configurable service packet engine exploiting frames properties
EP3425829B1 (en) * 2017-07-06 2021-03-24 Peraso Technologies Inc. Method and apparatus for configurable mimo processing in wireless communications

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7643505B1 (en) * 2006-11-30 2010-01-05 Qlogic, Corporation Method and system for real time compression and decompression
CN101689863A (zh) * 2007-03-15 2010-03-31 线性代数技术有限公司 用于压缩数据的电路和利用该电路的处理器
CN107220027A (zh) * 2011-12-23 2017-09-29 英特尔公司 用于执行掩码位压缩的系统、装置以及方法
CN107003851A (zh) * 2014-12-27 2017-08-01 英特尔公司 用于压缩掩码值的方法和装置
CN108702160A (zh) * 2016-01-29 2018-10-23 零点科技公司 用于压缩和解压缩数据的方法、设备和系统
CN109661780A (zh) * 2016-09-08 2019-04-19 高通股份有限公司 实现对基于处理器的系统中的小数据块的高效无损压缩
CN109783008A (zh) * 2017-11-13 2019-05-21 爱思开海力士有限公司 数据存储装置及其操作方法

Also Published As

Publication number Publication date
CN113517893B (zh) 2022-09-06
US20210320826A1 (en) 2021-10-14
EP3893398A1 (en) 2021-10-13
US10911267B1 (en) 2021-02-02
DE202021004376U1 (de) 2024-01-02
US11303478B2 (en) 2022-04-12
KR20210127096A (ko) 2021-10-21
KR102326361B1 (ko) 2021-11-15
CN115441879A (zh) 2022-12-06

Similar Documents

Publication Publication Date Title
US10289313B2 (en) Method and apparatus for improving sequential reading in NAND flash
US9513658B2 (en) Multi-bit flip-flop reorganization techniques
US20220345117A1 (en) Hybrid Pulse/Two-Stage Data Latch
US10055135B2 (en) Method and apparatus for compressing a data set using incremental deltas and a variable reference value
KR102562051B1 (ko) 데이터 로드 연산의 완료 이전에 사전 판독 연산을 착수하기 위한 방법 및 장치
CN113906403B (zh) 具有决策反馈均衡的串行数据接收器
TW202125517A (zh) 具有最佳化叢發讀取及寫入資料存取之能量效率記憶體陣列、以及用於從重安排記憶體子陣列讀取資料及將資料寫入至重安排記憶體子陣列且其中未使用的元資料係儲存於一稀疏地圖之方案
CN113517893B (zh) 通信总线上的数据启用掩模压缩
US9824171B2 (en) Register file circuit design process
JP2001043129A (ja) 半導体装置及びその設計方法
US11487548B2 (en) Dynamic re-evaluation of parameters for non-volatile memory using microcontroller
EP3926840A1 (en) Transmit crosstalk cancellation system
US20140177344A1 (en) Method and apparatus for clock power saving in multiport latch arrays
US11706150B2 (en) Data encoding and packet sharing in a parallel communication interface
US20230281114A1 (en) Memory control method, memory storage device and memory control circuit unit
US20160291678A1 (en) Power reduction in bus interconnects
CN118103908A (zh) 存储器的动态设置时间和保持时间调节
EP1849084B1 (en) Bus arbitration controller with reduced energy consumption

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant