CN101515261B - 集成电路内设备之间的数据传输 - Google Patents
集成电路内设备之间的数据传输 Download PDFInfo
- Publication number
- CN101515261B CN101515261B CN2009100071843A CN200910007184A CN101515261B CN 101515261 B CN101515261 B CN 101515261B CN 2009100071843 A CN2009100071843 A CN 2009100071843A CN 200910007184 A CN200910007184 A CN 200910007184A CN 101515261 B CN101515261 B CN 101515261B
- Authority
- CN
- China
- Prior art keywords
- equipment
- data value
- data transmission
- repeat pattern
- data
- 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.)
- Expired - Fee Related
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 5
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims description 131
- 238000000034 method Methods 0.000 claims description 53
- 230000015654 memory Effects 0.000 claims description 46
- 230000007261 regionalization Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 19
- 230000015572 biosynthetic process Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Abstract
本发明涉及集成电路内设备之间的数据传输。提供了集成电路2,其包含用于经由互连16进行通信的多个设备4、6、8、10、12和14。发送设备18包含边带信号,边带信号指示使用重复数据字的代表来代替该重复数据字本身。然后,接收设备可响应于接收到该代表而形成数据字的重复模式。这降低了互连16上消耗的带宽。
Description
技术领域
本发明涉及集成电路领域。更具体地,本发明涉及在集成电路内不同设备之间传输数据值。
背景技术
已知提供包含多个设备的集成电路,数据必须在这些设备之间进行传输。作为示例,集成电路可包含处理器和存储器,数据值必须在这二者之间进行传输。已知诸如广播总线和点对点互连之类的片上通信电路提供了这种设备间通信。
片上可使用不同的通信协议。某些通信协议旨在提供高带宽。其它通信协议旨在提供低功耗。这种片上总线协议的示例是英国剑桥的ARM有限公司设计的AXI互连架构中所使用的协议。
在集成电路领域内,在单一集成电路上提供大量设备的趋势日益明显。这些集成电路通常被称为片上系统(SoC)集成电路,并且可包含多个处理器、多个存储器、多个外围设备等等。利用这种片上系统集成电路,所提供的通信电路在允许集成电路内所需的数据传输得以有效进行方面扮演了重要作用。
已知在数据处理领域内使用诸如游程编码的数据压缩技术。游程编码对于压缩诸如其中大量数据共享同一值的图像数据之类的数据而言非常有用,例如,图像可包含若干具有共同像素值的大区域,因此允许将相邻像素值表示为一连串具有该共同像素值的像素值。
发明内容
本发明的一方面提供了一种集成电路,其包含:
第一设备;
第二设备;
通信电路,其耦合至所述第一设备和所述第二设备,所述通信电路提供所述第一设备和所述第二设备之间的数据通信;
传输形成(transfer forming)电路,其耦合至所述第一设备和所述通信电路以形成包含数据值的重复模式的代表在内的数据传输;
模式形成电路,其耦合至所述第二设备并响应于使用所述通信电路从所述第一设备接收的所述数据传输内的所述代表,以形成将被所述第二设备接收的数据值的所述重复模式。
本技术认识到设备之间的片上通信通常可包含对具有重复模式的数据值(诸如恒定值)的长序列的传输。作为示例,许多现实应用程序需要相对大区域的存储器被初始化为已知值(例如零)作为它们操作的一部分。将零值写入存储器位置限制了该初始化任务的速度,并且提高数据值传输至存储器的速度不会显著降低完成初始化过程所需的时间,因为通信和写入实际上是流水线化的。然而,本技术认识到,在许多集成电路中,总体运行速度因集成电路上多个设备之间争用通信电路以在设备之间传输数据值而被限制。作为示例,集成电路可包含多个处理器核,并且如果处理器核之一忙于通过将长序列的零值写入大块存储区域来初始化该存储器,则另一处理器核可能停止运转并且不再执行有用的处理操作,因为其无法使用通信电路来执行数据传输,而其需要这种数据传输来推进其处理活动。
本技术认识到上述情况,并且实现了:通过在设备之间的数据传输中使用数据值的重复模式的代表而不是使用数据值的该重复模式并且然后响应于该代表在接收设备处形成该重复模式,允许释放通信电路上的带宽以作它用,即使将数据值写入接收设备所需的时间或总体初始化过程本身可能并没有被大大加速。
本技术领域内的技术人员会认识到提供与第一设备和第二设备相关联的传输形成电路和模式形成电路代表集成电路内的额外门开销,所述集成电路在复杂度和功耗方面有其自身的成本。集成电路内的正常设计目标是在可能的情况下降低门的数量和功耗。本技术认识到数据值的重复模式在集成电路内的设备之间跨越通信电路的传输足够普遍(例如初始化过程),使得将通信电路联系起来以供其它用途所获得的优势足以补偿(more than compensate for)与传输形成电路和模式形成电路相关联的开销。作为示例,尽管重复恒定值的长传输可能不需在数据线上对信号值进行消耗功率的转换(toggling),但是其仍然涉及对许多其它寄存器和控制信号进行转换以控制重复模式的每个数据值的传输。因而,在数据值的重复模式的传输中功耗的降低(这在现实系统中是非常普遍的)足以补偿传输形成电路和模式形成电路的复杂度和功耗。
可以多种不同方式提供传输形成电路以生成数据值的重复模式的代表。在一些实施例中,传输形成电路可以采取耦合至第一设备的模式识别电路的形式,该模式识别电路响应于包含多个数据值的数据传输,以识别数据传输内的数据值的重复模式并用该重复模式的代表代替该重复模式。因而,第一设备会生成重复模式,并且在经由通信电路传送所述重复模式之前,模式识别电路会识别该重复模式并用该代表代替该重复模式,由此缩短数据传输。
在其它实施例中,第一设备实际上可能不生成数据值的重复模式,相反,传输形成电路可以响应于由第一设备执行的模式生成指令以直接生成重复模式的代表,而实际上不必在第一设备处形成数据值的重复模式。这需要提供特殊指令,但是避免了不必要地在第一设备处生成数据值的重复模式。
本技术领域的技术人员将理解,集成电路内的设备通常根据特定数据传输而被划分为总线主设备或总线从设备。总线主设备发起数据传输,而总线从设备响应于该传输。所发起的传输可以是从总线主设备到总线从设备的写入或者是总线主设备对总线从设备的读取。本技术可用在这两种情况下,例如,数据值的重复模式的代表可用作从总线主设备到总线从设备的写入的数据传输的一部分并且还可用作从总线从设备读取数据值的数据传输的一部分。因而,可在总线主设备和总线从设备之间的通信路径的任一端或两端提供传输形成电路和模式形成电路。
应当理解,数据值的重复模式可采取很多种不同的形式。在增加可被代表的重复模式的类型数量和与对所扩展类型的重复模式提供支持相关联的额外复杂度和开销之间存在平衡。在一些实施例中,可以被代表的重复模式将是正传送的恒定值的模式。一种可被支持的更为特殊的形式的重复值是重复零数据值传输。与支持用代表代替零值的重复模式相关联的电路开销和复杂度开销提供了高水平的回报,因为在集成电路内的设备之间传输的零值的这种重复模式在现实操作中是非常普遍的。在现实操作系统中,把一个应用程序的上下文复制到另一应用程序的上下文通常令人惊奇地包含复制大量重复模式数据,诸如大片的零值区域。
应当意识到,第一设备和第二设备可采取很多种不同的形式。作为示例,所述设备可以是处理器、存储器、或者高速缓冲存储器。其它形式的设备也是可能的。
应当意识到,需要修改集成电路内的设备,以便支持用代表代替数据值的重复模式。这种支持可能不在集成电路内的所有设备中提供。作为示例,可由不同实体设计具有集成电路的不同设备,并且一些设备可以是不经常使用的遗留设备(legacy device),其中重新设计该设备以支持本技术的成本并没有合理的理由(justify)。此外,一些具有集成电路的设备不打算被诸如定时器、中断控制器、看门狗、UART等的突发(burst)访问。支持本技术的门数量开销未针对这种设备进行论证。在某些设备可能支持本技术而某些设备可能不支持本技术的这种集成电路的背景下,可以使用能力(capability)信号,该能力信号在设备之间发送以指示是否可能使用代表。
在具有该能力信号的集成电路中,写数据传输序列中的第一数据传输可被发送而不使用代表(即使这是可能的),以从目标设备接收能力信号(在响应中)并且因而确定为后续数据传输使用该代表是否是可能的。
本领域内的技术人员会意识到,集成电路内的设备便利地使用存储器映射机制引导源和目的地之间的数据传输从而进行通信。通过该机制,为不同设备分配存储器地址空间的不同区域,并且所述不同设备将为数据传输提供服务,所述数据传输涉及在分配给它们的存储器地址空间内的存储器地址。在这个背景下,一种提供根据本技术的重复模式支持的便利方式如下布置:对于在跨越与任何设备相关联的最小存储器块尺寸之间的边界之后的至少第一数据传输,不使用数据值的任何重复模式的代表。因为最小尺寸的设备存储器块之间的边界被穿越,所以目标设备有可能发生变化并且因而对写数据传输中的代表作出响应的能力也可能发生变化。因而,在这样的边界跨越之后发送第一写数据传输而不使用该代表确保了适当的检查可以发现已进入的最小尺寸的新设备存储器块内的接收设备是否仍然能够用该代表代替数据值的重复模式。
应当意识到,通信电路可以采取多种不同的形式。例如,其可以是提供设备之间的点到点通信的互连电路,例如根据先前所提到的AXI互连机构。作为一个其他的示例性可选方案,可以总线电路的形式提供通信电路,所述总线电路在设备之间提供广播数据通信。
可通过使用边带信号来提供对本技术的支持,所述边带信号伴随数据传输,并且模式形成电路响应于该边带信号而形成重复模式。
在一些实施例中,数据传输可发送单一数据值,该单一数据值是被重复的数据值。这在集成电路包含遗留设备(例如监视设备)的实施例中是有用的,所述遗留设备不对边带信号作出响应,因为这种设备可将这种传输仅仅看作是该单一数据值的传输并且不需考虑边带信号,所述边带信号会指示接收设备(其不是所关心的遗留设备)从该单一数据值中形成数据值的重复模式。
在其它实施例中,边带信号本身可指定模式形成电路要使用的形成重复模式的数据值。该技术可适于代表统计上可能的重复数据值,诸如全“0”的二进制值或者全“1”的二进制值。
接收设备处所提供的模式形成电路可具有多种不同的形式。在一些实施例中,模式形成电路可用作向耦合至第二设备的缓冲器中的多个位置复制数据值,以在该缓冲器中形成数据值的重复模式,第二设备可从该缓冲器接收数据值的重复模式。在其它实施例中,模式形成电路可用于保持将被第二设备多次读取的数据值,以形成第二设备所接收的数据值的重复模式。
在包含模式识别电路的实施例的情况下,可以比较器电路的形式以相对低的开销提供模式识别电路,该比较器电路用于比较将被发送至第二设备并在发送那些数据值之前被存储在耦合至第一设备的缓冲器内的多个数据值。处于其它原因,在跨通信电路传送数据值之前在缓冲器内组装要发送的数据值在集成电路中相对比较普遍,诸如为了促进数据突发的形成,其中对相邻存储器位置的写入被执行为单一数据传输的一部分,而无需将数据值假设为任一类型的重复模式。假定已因为其它原因提供了这种缓冲器,本技术可利用这些具有其模式识别电路的缓冲器,以便识别数据值的重复模式的代表可用于替代数据值本身的情况。
根据另一方面,本发明提供了一种集成电路,其包含:
第一设备装置;
第二设备装置;
通信装置,其耦合至所述第一设备装置和所述第二设备装置,所述通信装置提供所述第一设备装置和所述第二设备装置之间的数据通信;
传输形成装置,其耦合至所述第一设备和所述通信电路以形成包含数据值的重复模式的代表在内的数据传输;
模式形成装置,其耦合至所述第二设备并响应于使用所述通信电路从所述第一设备接收的所述数据传输内的所述代表,以形成将被所述第二设备接收的数据值的所述重复模式。
根据又一方面,本发明提供了一种操作集成电路的方法,所述集成电路具有第一设备、第二设备以及耦合至所述第一设备和所述第二设备的通信电路,所述通信电路提供所述第一设备和所述第二设备之间的通信,所述方法包含以下步骤:
利用耦合至所述第一设备和所述通信电路的传输形成电路,形成包含数据值的重复模式的代表在内的数据传输;和
利用耦合至所述第二设备并响应于使用所述通信电路从所述第一设备接收的所述数据传输内的所述代表的模式形成电路,形成将被所述第二设备接收的数据值的所述重复模式。
在结合附图阅读下文中的说明性实施例的详细描述之后,本发明的上述及其它目标、特征和优势将会显而易见。
附图说明
图1示意性地示出了包含经由通信电路进行通信的多个设备的集成电路;
图2示意性地示出了第一设备,其配备有用于在数据传输中用数据值的重复模式的代表来代替那些数据值的机构;
图3示意性地示出了一设备,其具有用于在数据传输中接收代替数据值的那些数据值的重复模式的代表的机构;
图4示意性地示出了将存储器地址空间划分为块,在这些块中可以仅提供一个存储器映射设备;
图5是示意性地示出在一设备处执行的处理的流程图,该设备发送数据传输并支持使用数据值的重复模式的代表来代替那些数据值;
图6是示意性地示出在一接收设备处执行的处理的流程图,该接收设备可接收包含在数据传输中代替重复数据值的该重复数据值的代表的数据传输。
具体实施方式
图1示意性地示出了集成电路2,其包含经由采取支持点到点通信的互连16的形式的通信电路进行通信的多个设备4、6、8、10、12和14。应当意识到,在其它实施例中,可以用在设备4、6、8、10、12和14之间提供广播通信的总线替代互连16。
各种设备4、6、8、10、12和14包含多个主设备4、12和多个从设备6、8、10和14。这些设备可具有例如处理器、存储器和高速缓冲存储器的形式。本领域内的技术人员将意识到,许多其它不同形式的设备也是可能的。根据环境和其配置,个体设备可用作主设备和/或从设备。
图1中还示出了互连监视器8。该设备的功能是监视经由互连16发生的数据传输,以确保它们遵从所期望的数据传输协议。如果检测到有缺陷的数据传输,则互连监视器8可用来修复该数据传输或者响应于该错误而采取其它动作,诸如触发系统重置。互连监视器8可以是遗留设备并且因而不对指示使用数据值的重复模式的代表的边带信号作出响应。在这种情况下,如果使用这种边带信号的数据传输除了边带信号之外还包含单一数据值,则这将很有用,因为互连监视器8将能够将该数据传输解释为单一数据值的遗留数据传输,并且不会指示不存在的错误。
图2示出了可用于发送数据传输的第一设备。该第一设备18可具有处理器20的形式,处理器20具有相关联的高速缓冲存储器22和缓存控制器24。提供写入缓冲器26,在该写入缓冲器26内待写回至集成电路2上其它位置的存储器系统的数据值在经由互连16传输到目标设备(诸如图1中所示出的存储器6、14之一)之前被缓冲。写入缓冲器26允许在被作为数据传输经由互连16发送之前组装潜在突发的数据值,以更高效地使用互连16。在写入缓冲器26和互连16之间提供主接口28。该主接口28传送写入地址和控制信号、写入数据信号、读取地址和控制信号、读取数据信号和目标响应信号。图2中还示出了与写入地址和控制信号相关联的边带信号,其与数据传输一起发送以指示数据传输包含数据值的重复模式的代表。在一个实施例中,数据传输可具有高达最多八个字长和边带信号,该边带信号指示重复数据值可用于指示恒定数据值将被用于那八个字中的每个字。在一些实施例中,恒定值可被作为单一数据值传送,所述单一数据值作为该数据传输的一部分用一个数据值的传输长度发送。在其它实施例中,边带信号本身可指示哪个数据值将被重复。特别地,存在一种普遍情况,其中,将发送零的数据值并且因而可提供这样的边带信号:其本身指示发生八个零值的数据传输、并且零数据值本身不需传输。接收设备对边带信号作出响应以在接收设备处形成八个将被写入接收设备的零值。
图2中还示出了模式识别电路30。该模式识别电路30包含比较器,所述比较器用于监控(snoop)写入缓冲器26中的数据值以识别数据值的重复模式。在简单的情况下,模式识别电路30可用于识别将被写入接收设备的八个相邻零值的序列。当识别数据值的重复模式时,模式识别电路30将此发信号通知给接口28,接口28然后生成将与数据传输一起发送的边带信号,将该数据值的重复模式写入接收设备。然后,数据传输可被缩短至仅单一数据字长,并且代表重复数据字的单一数据字可被传送或者在边带信号本身代表该单一数据值的情况中不传送任何数据字。
作为使用模式识别电路30的可选方案(或者除了使用模式识别电路30之外),以虚线形式示出了处理器20所使用的特定存储重复指令。可在其架构中为处理器20提供指令,这些指令允许处理器20识别其希望将重复数据值写入存储器位置的情况。这种指令的使用可被指令解码器电路32检测到,并且该指令解码器电路32用于向接口28发送信号,指示应生成边带信号(并且如果正在使用一个边带信号,则插入必要的单一数据值)以代表重复数据值。
图3示出了支持使用重复数据值的代表的接收设备的示例。图3所示的示例中的该接收设备是具有相关联的缓冲器36的存储器34,其中存储器行在被写入存储器34之前被组装到缓冲器36中。从接口38连接至互连16并且将相同的信号与之相关联,所述相同的信号与图2的主接口28相关联。该接收设备配备了模式形成电路40,模式形成电路40响应于边带信号以在缓冲器36中形成重复模式数据值。边带信号本身可指示数据值的重复模式,并且通过多次将在相关联的数据传输中接收到的单一数据值复制到缓冲器36中,可以形成数据值的重复模式。
在没有缓冲器36的实施例中,将被重复使用的数据值相反可被保持在存储器34的读取输入处,并且控制存储器多次将该未保持(unheld)的值读入相应的存储器位置中,由此形成传输的数据值的重复模式。
图3中示出了(图2中也示出了)与接收设备发送至发送设备的响应信号相关联的能力信号。该能力信号可具有正值或负值,该正值指示接收设备能够支持使用数据值的重复模式的代表,该负值指示接收设备不具有这样的能力。在第一写入数据传输到接收设备后,发送设备可被配置为不使用重复数据值的代表,即使这是可能的,因为其还没有从该接收设备接收到指示是否支持这种代表的能力信号。在与接收设备的首次通信和返回能力信号之后,发送设备然后可在适当时使用或不使用该代表,这取决于接收设备是否支持这个功能。
在读取数据传输请求的情况下,从设备可利用伴随其正返回的读取数据的能力信号作出响应,以指示其正在使用该代表。从设备可根据边带信号(例如,与读取地址和控制信号相关联,未示出)确定发送读取请求的主设备能够支持使用重复值的代表。
图4示出了存储器地址空间,存储器映射设备可被映射到该地址空间中以寻址那些设备。本技术领域内的技术人员应当了解,最小尺寸的设备存储器块与存储器地址空间相关联。设计者受限于在这样的最小尺寸的设备存储器块中映射一个设备,以致于发送设备可假设最小尺寸的设备存储器块内的任何数据传输都发生于同一设备。当跨越这种最小尺寸的设备存储器块的边界时,该假设不再有效并且必须被重新检验。因而,图2中的模式识别电路30在其动作中通过先前接收到指示当前最小尺寸的设备存储器块内的接收设备能够对该代表做出响应的正能力信号而被选通(gate),并且将在穿越这种边界时重置该能力直到未使用该代表的其它数据传输已经发生并且已从该新的最小尺寸的设备存储器块内的设备接收到指示其能够支持重复数据值的代表的另一能力信号。
图5是示意性地示出写入主设备所执行的处理的流程图。在步骤42,确定将被传输的数据值突发是否包含都具有相同值的数据字。如果不是这样,则在步骤44使用不同的数据字发送该突发,并且处理返回步骤42。包含不同数据值的突发是正常的,因而将使用步骤44来处理大多数数据传输。然而,在初始化大存储器区域的情况下,或在将要写入大块的恒定数据值的其它情况下,则步骤42中的确定会识别突发内的所有数据字具有共同的数据值。然后,处理前进至步骤46。步骤46确定目标设备是否已经确认其支持用重复数据值的代表代替那些重复数据值的能力。如果目标设备还没有确认该能力,则处理前进至步骤48,其中即使所有的数据字都是恒定值,所有的数据字也被分别发送。步骤50然后观察来自于目标设备的响应,以发现其是否包含指示该目标设备能够支持重复数据字的代表的能力信号。如果目标设备有此能力,则该信息被锁存为当前目标设备的能力,以使得去往该目标设备的后续传输在可能的情况下可使用该代表来代替重复数据值。
如果在步骤46确定目标设备已确认重复字能力,则步骤52确定突发是否会跨越边界进入可能对应于目标设备的变化的存储器空间(例如跨越最小尺寸设备存储器块边界)。如果跨越了这种边界,则处理前进至步骤54,在步骤54中指示目标设备具有重复字能力的标记被清除,并且处理继续进行而不会在步骤48处进行该能力假设。如果在步骤52处确定没有跨越这样的边界,则处理前进至步骤56,在步骤56中使用该代表来代替发送数据值的重复模式。该示例中的数据传输将包含起始地址、为重复数据值的一个字、和指示这个字用于在接收设备处形成完整的字突发(例如,在八字突发系统的情况中的八个字)的边带信号。
图6是示出了可在接收设备处执行的处理的流程图。在步骤58,系统等待写入被接收。在步骤60,确定指示代表正用于重复数据值的边带信号是否被断言(assert)。如果没有断言该边带信号,则处理过程至步骤62,在步骤62处数据字被接收并且被写入存储器位置。步骤64确定突发是否已经结束,并且步骤66将分别接收到的数据字的写入之间的存储器位置前移。
如果在步骤60处确定指示正使用重复模式的代表的边带信号被断言,则处理前进至步骤68,在步骤68处接收将被用作重复模式的模板的单一数据字。该单一数据字然后被复制到多个存储器位置。
在步骤68之后或者当在步骤64确定突发内不再有字时,处理前进至步骤70,在步骤70处接收设备向发送设备发出接收到写入的响应。该响应将包含能力信号,所述能力信号指示接收设备包含使用重复数据字的代表的能力。如果其还没有被通知给发送设备,则该能力信号可用于触发发送设备对这种代表的使用。
应当意识到,图6中的处理示出了能够使用该代表的接收设备所执行的处理。不能使用该代表的接收设备将使用步骤58、62、64和66。这将省略步骤60和68。步骤70会发出响应但不包含指示存储器设备能够支持使用数据字的重复模式的代表的重复字能力(即,其将发送负的能力信号)。
尽管上文就写入传输的情况描述了本技术,但是其还可用于读取传输,在读取传输中如果两个设备都支持代表的使用,则从设备使用该代表来返回读取数据以用于重复数据值。
尽管这里结合附图详细描述了本发明的说明性实施例,但是应当理解,本发明并不限于这些具体的实施例,并且本领域技术人员可实现多种变化和修改而不脱离由所附权利要求书确定的范围和精神。
Claims (42)
1.一种集成电路,其包含:
第一设备;
第二设备;
通信电路,其耦合至所述第一设备和所述第二设备,所述通信电路提供所述第一设备和所述第二设备之间的数据通信;
传输形成电路,其耦合至所述第一设备和所述通信电路以形成包含数据值的重复模式的代表在内的数据传输;以及
模式形成电路,其耦合至所述第二设备并响应于使用所述通信电路从所述第一设备接收的所述数据传输内的所述代表,以形成将被所述第二设备接收的所述数据值的重复模式,
其中所述代表是伴随所述数据传输的边带信号,所述数据传输包括单一数据值,并且所述模式形成电路响应于所述边带信号以从所述单一数据值中形成所述重复模式,
其中耦合至所述通信电路并且不对所述边带信号作出响应的另一设备把所述数据传输检测为仅仅所述单一数据值的数据传输。
2.根据权利要求1所述的集成电路,其中所述传输形成电路包含耦合至所述第一设备的模式识别电路,并且该模式识别电路响应于包含待使用所述通信电路从所述第一设备发送至所述第二设备的多个数据值在内的所述数据传输,以识别所述数据传输内的所述数据值的重复模式并用所述重复模式的所述代表代替所述数据传输内的所述重复模式。
3.根据权利要求1所述的集成电路,其中所述传输形成电路响应于由所述第一设备执行的模式生成指令,以生成数据值的重复模式的所述代表作为所述数据传输的至少一部分。
4.根据权利要求1所述的集成电路,其中所述第一设备是总线主设备,所述第二设备是总线从设备,并且所述数据传输是向所述总线从设备的写入操作。
5.根据权利要求1所述的集成电路,其中所述第一设备是总线从设备,所述第二设备是总线主设备,并且所述数据传输是从所述总线从设备的读取操作。
6.根据权利要求1所述的集成电路,其中所述数据值的重复模式是重复的恒定数据值。
7.根据权利要求6所述的集成电路,其中所述数据值的重复模式是重复的零数据值。
8.根据权利要求1所述的集成电路,其中所述第一设备和所述第二设备中的至少一个是:
处理器;
存储器;和
高速缓冲存储器。
9.根据权利要求1所述的集成电路,其中所述第二设备响应于从所述第一设备接收的写入数据传输以返回正的能力信号,该正的能力信号指示所述第二设备能够对所述代表作出响应以形成所述数据值的重复模式,所述第一设备响应于所述正的能力信号以使用所述代表向所述第二设备发送包含数据值的重复模式在内的数据传输。
10.根据权利要求1所述的集成电路,其中所述第一设备响应于从所述第二设备接收的读取数据传输请求以返回正的能力信号,该正的能力信号指示所述第一设备能够提供代替所述数据值的重复模式的所述代表,所述第二设备响应于所述正的能力信号以使用所述代表从所述第一设备接收包含数据值的重复模式在内的数据传输。
11.根据权利要求1所述的集成电路,包含耦合至所述通信电路的第三设备。
12.根据权利要求11所述的集成电路,其中所述第三设备响应于从所述第一设备接收的写入数据传输以返回负的能力信号,该负的能力信号指示所述第三设备不能够对所述代表作出响应而无法形成所述数据值的重复模式,所述第一设备响应于所述负的能力信号以向所述第三设备发送包含数据值的重复模式在内的数据传输而不使用所述代表。
13.根据权利要求11所述的集成电路,其中所述第三设备响应于从所述第二设备接收的读取数据传输请求以返回负的能力信号,该负的能力信号指示所述第三设备不能够提供代替所述数据值的重复模式的所述代表,所述第二设备响应于所述负的能力信号以从所述第三设备接收包含数据值的重复模式在内的数据传输而不使用所述代表。
14.根据权利要求9所述的集成电路,其中发送至另一个设备的写入数据传输序列中的第一数据传输是不使用所述代表而被发送的。
15.根据权利要求9所述的集成电路,其中所述集成电路的存储器地址空间包含多个最小尺寸设备存储器块,所述最小尺寸设备存储器块具有最小的存储器块尺寸,仅仅一个设备可在该最小尺寸设备存储器块内进行存储器映射,并且在跨越最小尺寸设备存储器块之间的边界之后的第一写入数据传输是不使用所述代表而被发送的。
16.根据权利要求1所述的集成电路,其中所述通信电路是提供设备之间的点到点数据通信的互连电路。
17.根据权利要求1所述的集成电路,其中所述通信电路是提供设备之间的广播数据通信的总线电路。
18.根据权利要求1所述的集成电路,其中所述代表是伴随所述数据传输的边带信号,所述边带信号指定将被所述模式形成电路使用以形成所述重复模式的数据值。
19.根据权利要求1所述的集成电路,其中所述模式形成电路将数据值复制到耦合至所述第二设备的缓冲器内的多个位置,以形成将被所述第二设备接收的所述数据值的重复模式。
20.根据权利要求1所述的集成电路,其中所述模式形成电路保持将被所述第二设备多次读取的数据值,以形成将被所述第二设备接收的所述数据值的重复模式。
21.根据权利要求2所述的集成电路,其中所述模式识别电路包含比较器电路,所述比较器电路用于比较将被发送至所述第二设备并存储在耦合至所述第一设备的缓冲器内的多个数据值。
22.一种操作集成电路的方法,所述集成电路具有第一设备、第二设备以及耦合至所述第一设备和所述第二设备的通信电路,所述通信电路提供所述第一设备和所述第二设备之间的通信,所述方法包含以下步骤:
利用耦合至所述第一设备和所述通信电路的传输形成电路,形成包含数据值的重复模式的代表在内的数据传输;和
利用耦合至所述第二设备并响应于使用所述通信电路从所述第一设备接收的所述数据传输内的所述代表的模式形成电路,形成将被所述第二设备接收的所述数据值的重复模式,
其中所述代表是伴随所述数据传输的边带信号,所述数据传输包括单一数据值,并且所述模式形成电路响应于所述边带信号以从所述单一数据值中形成所述重复模式,
其中耦合至所述通信电路并且不对所述边带信号作出响应的另一设备把所述数据传输检测为仅仅所述单一数据值的数据传输。
23.根据权利要求22所述的方法,其中形成数据传输的所述步骤响应于包含待使用所述通信电路从所述第一设备发送至所述第二设备的多个数据值在内的所述数据传输,以识别所述数据传输内的所述数据值的重复模式并用所述重复模式的所述代表代替所述数据传输内的所述重复模式。
24.根据权利要求22所述的方法,其中所述形成步骤响应于由所述第一设备执行的模式生成指令,以生成数据值的重复模式的所述代表作为所述数据传输的至少一部分。
25.根据权利要求22所述的方法,其中所述第一设备是总线主设备,所述第二设备是总线从设备,并且所述数据传输是向所述总线从设备的写入操作。
26.根据权利要求22所述的方法,其中所述第一设备是总线从设备,所述第二设备是总线主设备,并且所述数据传输是从所述总线从设备的读取操作。
27.根据权利要求22所述的方法,其中所述数据值的重复模式是重复的恒定数据值。
28.根据权利要求27所述的方法,其中所述数据值的重复模式是重复的零数据值。
29.根据权利要求22所述的方法,其中所述第一设备和所述第二设备中的至少一个是:
处理器;
存储器;和
高速缓冲存储器。
30.根据权利要求22所述的方法,其中所述第二设备响应于从所述第一设备接收的数据传输以返回正的能力信号,该正的能力信号指示所述第二设备能够对所述代表作出响应以形成所述数据值的重复模式,所述第一设备响应于所述正的能力信号以使用所述代表向所述第二设备发送包含数据值的重复模式在内的数据传输。
31.根据权利要求22所述的方法,其中所述第一设备响应于从所述第二设备接收的读取数据传输请求以返回正的能力信号,该正的能力信号指示所述第一设备能够提供代替所述数据值的重复模式的所述代表,所述第二设备响应于所述正的能力信号以使用所述代表从所述第一设备接收包含数据值的重复模式在内的数据传输。
32.根据权利要求22所述的方法,其中第三设备耦合至所述通信电路。
33.根据权利要求32所述的方法,其中所述第三设备响应于从所述第一设备接收的数据传输以返回负的能力信号,该负的能力信号指示所述第三设备不能够对所述代表作出响应而无法形成所述数据值的重复模式,所述第一设备响应于所述负的能力信号以向所述第三设备发送包含数据值的重复模式在内的数据传输而不使用所述代表。
34.根据权利要求32所述的方法,其中所述第三设备响应于从所述第二设备接收的读取数据传输请求以返回负的能力信号,该负的能力信号指示所述第三设备不能够提供代替所述数据值的重复模式的所述代表,所述第二设备响应于所述负的能力信号以从所述第三设备接收包含数据值的重复模式在内的数据传输而不使用所述代表。
35.根据权利要求30所述的方法,其中发送至另一个设备的数据传输序列中的第一数据传输是不使用所述代表而被发送的。
36.根据权利要求30所述的方法,其中所述集成电路的存储器地址空间包含多个最小尺寸设备存储器块,所述最小尺寸设备存储器块具有最小的存储器块尺寸,仅仅一个设备可在该最小尺寸设备存储器块内进行存储器映射,并且在跨越最小尺寸设备存储器块之间的边界之后的第一数据传输是不使用所述代表而被发送的。
37.根据权利要求22所述的方法,其中所述通信电路是提供设备之间的点到点数据通信的互连电路。
38.根据权利要求22所述的方法,其中所述通信电路是提供设备之间的广播数据通信的总线电路。
39.根据权利要求22所述的方法,其中所述代表是伴随所述数据传输的边带信号,所述边带信号指定将被所述模式形成电路使用以形成所述重复模式的数据值。
40.根据权利要求22所述的方法,其中形成重复模式的所述步骤将数据值复制到耦合至所述第二设备的缓冲器内的多个位置,以形成将被所述第二设备接收的所述数据值的重复模式。
41.根据权利要求22所述的方法,其中形成重复模式的所述步骤保持将被所述第二设备多次读取的数据值,以形成将被所述第二设备接收的所述数据值的重复模式。
42.根据权利要求23所述的方法,其中形成数据传输的所述步骤比较将被发送至所述第二设备并存储在耦合至所述第一设备的缓冲器内的多个数据值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0803013.2 | 2008-02-19 | ||
GB0803013.2A GB2457667B (en) | 2008-02-19 | 2008-02-19 | Data transfer between devices within an integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101515261A CN101515261A (zh) | 2009-08-26 |
CN101515261B true CN101515261B (zh) | 2013-01-02 |
Family
ID=39271928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100071843A Expired - Fee Related CN101515261B (zh) | 2008-02-19 | 2009-02-19 | 集成电路内设备之间的数据传输 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7934029B2 (zh) |
JP (1) | JP5209461B2 (zh) |
CN (1) | CN101515261B (zh) |
GB (1) | GB2457667B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9223787B2 (en) * | 2008-09-26 | 2015-12-29 | Apple Inc. | Systems and methods for sideband communication between device and host to minimize file corruption |
US8850250B2 (en) * | 2010-06-01 | 2014-09-30 | Intel Corporation | Integration of processor and input/output hub |
US8782456B2 (en) | 2010-06-01 | 2014-07-15 | Intel Corporation | Dynamic and idle power reduction sequence using recombinant clock and power gating |
US9146610B2 (en) | 2010-09-25 | 2015-09-29 | Intel Corporation | Throttling integrated link |
ES2798115T3 (es) * | 2014-06-20 | 2020-12-09 | Nagravision Sa | Módulo de interfaz física |
US10222853B2 (en) | 2016-03-03 | 2019-03-05 | Qualcomm Incorporated | Power saving techniques for memory systems by consolidating data in data lanes of a memory bus |
US10394724B2 (en) * | 2016-08-22 | 2019-08-27 | Qualcomm Incorporated | Low power data transfer for memory subsystem using data pattern checker to determine when to suppress transfers based on specific patterns |
CN108228647B (zh) | 2016-12-21 | 2022-05-24 | 伊姆西Ip控股有限责任公司 | 用于数据拷贝的方法和设备 |
US10318178B1 (en) * | 2017-04-28 | 2019-06-11 | EMC IP Holding Company LLC | Accelerating copy of zero-filled data extents |
US11188377B2 (en) | 2019-10-04 | 2021-11-30 | Arm Limited | Writing zero data |
CN112148659B (zh) * | 2020-09-21 | 2022-02-01 | 牛芯半导体(深圳)有限公司 | 数据传输电路 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59171241A (ja) * | 1983-03-17 | 1984-09-27 | Fujitsu Ltd | デ−タ伝送方式 |
US5434568A (en) * | 1985-01-10 | 1995-07-18 | Moll; Edward W. | Data compression by removing repetition and unnecessary information |
US6144658A (en) * | 1996-12-20 | 2000-11-07 | Cisco Technology, Inc. | Repetitive pattern removal in a voice channel of a communication network |
JP2002368623A (ja) * | 2001-06-05 | 2002-12-20 | Nec Corp | 低速回線を使用したデータ転送システム及びその転送方法 |
US6744388B1 (en) * | 2002-06-19 | 2004-06-01 | Xilinx, Inc. | Hardware-friendly general purpose data compression/decompression algorithm |
US7908399B2 (en) * | 2003-05-30 | 2011-03-15 | Cisco Technology, Inc. | Compression of repeated patterns in full bandwidth channels over a packet network |
US7224297B2 (en) * | 2005-11-02 | 2007-05-29 | Lycos, Inc. | Compressing log files |
US7590778B2 (en) * | 2006-06-15 | 2009-09-15 | International Business Machines Corporation | Using operation codes to control a decoder's use of a buffer to generate data from an input data stream into an output data stream |
-
2008
- 2008-02-19 GB GB0803013.2A patent/GB2457667B/en not_active Expired - Fee Related
- 2008-12-26 JP JP2008334421A patent/JP5209461B2/ja not_active Expired - Fee Related
-
2009
- 2009-02-03 US US12/320,718 patent/US7934029B2/en active Active
- 2009-02-19 CN CN2009100071843A patent/CN101515261B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20090210595A1 (en) | 2009-08-20 |
US7934029B2 (en) | 2011-04-26 |
JP5209461B2 (ja) | 2013-06-12 |
GB0803013D0 (en) | 2008-03-26 |
JP2009217813A (ja) | 2009-09-24 |
GB2457667A (en) | 2009-08-26 |
GB2457667B (en) | 2012-01-11 |
CN101515261A (zh) | 2009-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101515261B (zh) | 集成电路内设备之间的数据传输 | |
US8904045B2 (en) | Opportunistic improvement of MMIO request handling based on target reporting of space requirements | |
US10061707B2 (en) | Speculative enumeration of bus-device-function address space | |
CN101930412B (zh) | 存储器微块化请求重排序 | |
CN1713164A (zh) | 可自主处理多事务传输要求的dma控制器及数据传输方法 | |
US20130173837A1 (en) | Methods and apparatus for implementing pci express lightweight notification protocols in a cpu/memory complex | |
CN1504913A (zh) | 数据访问环系统及采用环形总线的方法 | |
US9015380B2 (en) | Exchanging message data in a distributed computer system | |
CN105556503A (zh) | 动态的存储器控制方法及其系统 | |
CN114416632A (zh) | 一种基于多总线协议灵活转换的两级缓存互联结构 | |
US20060200633A1 (en) | Address snoop method and multi-processor system | |
KR20170038268A (ko) | 수눕 작동을 관리하는 코히런트 인터커넥트와 이를 포함하는 데이터 처리 장치들 | |
CN100587678C (zh) | 外部设备访问装置和系统大规模集成电路 | |
US8891523B2 (en) | Multi-processor apparatus using dedicated buffers for multicast communications | |
US6513090B1 (en) | Bidirectional data transfer during buffer flushing operations | |
CN101777030B (zh) | 数据传输系统的验证装置和方法 | |
CN101739367B (zh) | 多类总线存储控制的方法与装置 | |
CN101290602B (zh) | 存储器管理系统与方法 | |
CN116483259A (zh) | 一种数据处理方法以及相关装置 | |
US7073004B2 (en) | Method and data processing system for microprocessor communication in a cluster-based multi-processor network | |
CN101789118B (zh) | 绘图数据存取系统及方法 | |
CN115098019B (zh) | 一种ssd主控中的数据缓存管理系统 | |
CN112765086B (zh) | 固态存储中一种基于cache一致性的软硬件交互方法 | |
CN117435534B (zh) | 基于外围总线的数据传输电路、方法及处理器 | |
CN116860185B (zh) | Sram阵列的数据访问装置、系统、方法、设备、芯片和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130102 Termination date: 20160219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |