CN101052953A - 用于在总线的发射信道上分配带宽的方法和设备 - Google Patents
用于在总线的发射信道上分配带宽的方法和设备 Download PDFInfo
- Publication number
- CN101052953A CN101052953A CNA2005800378461A CN200580037846A CN101052953A CN 101052953 A CN101052953 A CN 101052953A CN A2005800378461 A CNA2005800378461 A CN A2005800378461A CN 200580037846 A CN200580037846 A CN 200580037846A CN 101052953 A CN101052953 A CN 101052953A
- Authority
- CN
- China
- Prior art keywords
- service load
- broadcasting
- receiving unit
- sending assembly
- send channel
- 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
Links
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/14—Handling requests for interconnection or transfer
-
- 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
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- 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
-
- 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
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
- Bus Control (AREA)
Abstract
本发明揭示一种在处理系统内通信的处理系统和方法。所述处理系统可包括:总线,其具有发射信道;接收组件;和发送组件,其经配置以:在所述发射信道上将有效负载广播到所述接收组件;中断所述有效负载的广播以在所述发射信道上将新的总线操作的信号发出到所述接收组件;和恢复所述有效负载在所述发射信道上的广播。所述处理系统可包括算法,所述算法防止小的有效负载被中断以起始新的总线操作。所述算法还可用于限制为起始新的总线操作而可使单个写入操作中断的次数。
Description
技术领域
本发明一般来说涉及使用总线结构的处理系统,且更具体地说,涉及用于在总线的发射信道上分配带宽的方法和设备。
背景技术
计算机已经通过使得用键盘的仅仅几次敲击即可执行复杂的处理任务而使电子产业发生了变革。这些复杂的任务涉及难以置信地高的数目的复杂组件,所述组件使用总线以快速且有效的方式与彼此通信。总线是计算机中的组件之间的信道或路径。
典型的计算机包括具有系统存储器的微处理器。系统总线可用于支持所述两者之间的通信。另外,还可存在其它外围总线,其用于将数据传送到各种外围设备。在一些情况下,还可存在配置总线,其用于对各种资源进行规划的目的。桥接器可用于在较高带宽总线与较低带宽总线之间有效地传送数据,以及提供必要的协议翻译。
驻存在计算机中的很多总线传统上已经实施为共享总线。共享总线提供了任何数目的组件在共用路径或信道上通信的方式。近年来,共享总线技术已经在较大程度上被点到点切换连接代替。点到点切换连接在总线上的两个组件彼此通信时提供所述两个组件之间的直接连接。多个直接链接可用于允许若干组件同时通信。
常规总线设计包括独立和分离的读取、写入和一个或一个以上地址信道。微处理器(例如)可通过将地址位置放置在地址信道上且发送适当的读取/写入控制信号来读取或写入到系统存储器。当微处理器将数据写入到系统存储器时,微处理器在写入信道上发送数据。当微处理器从系统存储器读取数据时,微处理器在读取信道上接收数据。
尽管此特定总线结构提供相当标准化的方式来在计算机的组件之间通信,但所述总线结构需要若干专用信道。这些信道需要驱动器、接收器和缓冲器电路,所有这些均消耗功率。在集成电路应用中,这些信道占用较有价值的芯片面积。因此,此项技术中需要一种简化的总线结构。
发明内容
在本发明的一个方面中,一种处理系统包括:总线,其具有发射信道;接收组件;和发送组件,其经配置以:在所述发射信道上将有效负载广播到所述接收组件;中断所述有效负载的广播以在发射信道上将新的总线操作的信号发出到接收组件;和恢复所述有效负载在所述发射信道上的广播。
在本发明的另一方面中,一种处理系统包括:总线,其具有发射信道;接收组件;和发送组件,其经配置以:在所述发射信道上将有效负载广播到所述接收组件;中断所述有效负载的广播以进行在有效负载广播期间起始的每个新的总线操作,所述中断至多达最大中断数目;在所述中断的每一者期间,在发射信道上将新的总线操作中的不同一者发出到接收组件;和在所述中断的每一者后,恢复所述有效负载在所述发射信道上的广播。
在本发明的又一方面中,一种处理系统包括:总线,其具有发射信道;接收组件;和发送组件,其经配置以:在所述发射信道上将有效负载广播到所述接收组件;在紧随有效负载广播的开始的时间周期期间,起始新的总线操作;允许所述有效负载在所述时间周期期间无中断的情况下广播;如果有效负载广播延长超过所述时间周期,那么中断所述有效负载的广播,以在所述时间周期后在发射信道上将新的总线操作的信号发出到接收组件;和恢复有效负载的广播(如果被中断)。
在本发明的又一实施例中,一种处理系统包括:总线,其具有发射信道;接收组件;和发送组件,其具有:用于在所述发射信道上将有效负载广播到所述接收组件的装置;用于中断所述有效负载的广播以在发射信道上将新的总线操作的信号发出到接收组件的装置;和用于恢复有效负载的广播的装置。
在本发明的另一方面中,一种在具有发射信道的总线上在发送组件与接收组件之间通信的方法,所述方法包括:在所述发射信道上将有效负载从所述发送组件广播到所述接收组件;中断所述有效负载的广播,以在发射信道上将新的总线操作的信号发出到接收组件;和恢复有效负载在发射信道上从发送组件到接收组件的广播。
在本发明的又一方面中,一种在具有发射信道的总线上在发送组件与接收组件之间通信的方法,所述方法包括:在所述发射信道上将有效负载从所述发送组件广播到所述接收组件;中断有效负载的广播以进行在有效负载广播期间由发送组件起始的每个新的总线操作,所述中断至多达最大中断数目;在所述中断的每一者期间,由发送组件在发射信道上将新的总线操作中的不同一者发出到接收组件;和在所述中断的每一者后,由发送组件恢复有效负载在发射信道上到接收组件的广播。
在本发明的又一方面中,一种在具有发射信道的总线上在发送组件与接收组件之间通信的方法,所述方法包括:在第一和第二时间周期期间,在发射信道上将有效负载从发送组件广播到接收组件;在所述第一时间周期期间,起始新的总线操作,第一时间周期紧随有效负载广播的开始;在第二时间周期期间,中断有效负载的广播以在发射信道上由发送组件将新的总线操作的信号发出到接收组件,第二时间周期紧随第一时间周期;和恢复有效负载的广播。
应了解,根据以下具体实施方式,所属领域的技术人员将容易明了本发明的其它实施例,其中以说明的方式展示并描述了本发明的各个实施例。将认识到,本发明能够具有其它且不同实施例,且其若干细节能够在各个其它方面作修改,所有这些均不脱离本发明的精神和范围。因此,应将附图和具体实施方式视为本质上是说明性的而不是限制性的。
附图说明
在附图中,以实例的方式,而不是以限制的方式说明了本发明的多个方面,其中:
图1是说明在处理系统中的两个组件之间的经由总线的点到点连接的实例的概念方框图;
图2是说明在处理系统中的两个组件之间经由总线的写入操作被中断以起始读取操作的时序图;
图3是说明对处理系统中的两个组件之间经由总线的写入操作的中断函数进行控制的算法的实施的概念方框图;
图4是说明对处理系统中的两个组件之间经由总线的写入操作的中断函数进行控制的算法的功能的流程图。
具体实施方式
下文结合附图所陈述的具体实施方式希望成为对本发明各个实施例的描述,而不希望代表本发明可在其中实践的唯一实施例。具体实施方式包括特定细节以便提供对本发明的全面理解。然而,所属领域的技术人员将明了,可在没有这些特定细节的情况下实践本发明。在一些情况下,以方框图的形式展示众所周知的结构和组件,以便避免使本发明的概念变得模糊。
图1是说明在处理系统中的两个组件之间经由总线的点到点连接的实例的概念方框图。处理系统100可为合作以执行一个或一个以上处理功能的组件的集合。通常,处理系统将为计算机,或驻存在计算机中,且能够处理、检索和存储信息。
展示处理系统100具有发送组件102,其在总线106上与接收组件104通信。在处理系统100的一个实施例中,总线106为发送组件102与接收组件104之间的专用总线。在处理系统100的另一实施例中,发送组件102通过总线互连(未图示)在总线106上以点到点连接与接收组件104通信。提供总线的这些实施例,以有助于在了解本发明并非限于专用总线或点到点切换连接,而是可应用于任何类型的总线技术(包括(例如)共享总线)的情况下全面阐释本发明。
发送组件102可为任何类型的总线主控组件,包括(例如)微处理器、数字信号处理器(DSP)、直接存储器存取控制器、桥接器、可编程逻辑组件、离散门或晶体管逻辑或任何其它信息处理组件。
接收组件104可为任何存储组件,包括(例如)寄存器、存储器、桥接器、互连或任何其它能够检索和存储信息的组件。接收组件的每个地址位置处的存储容量可视特定应用和总体设计限制而变化。出于阐释的目的,接收组件将被描述为具有每地址位置1字节的存储容量。
可通过取消常规总线结构中所使用的地址信道来减小总线106的复杂性。可通过将写入信道重新定义为“发射信道”108来实现地址信道的取消。发射信道108可用作一般媒介,其用于以时分多路复用的方式在发送组件102与接收组件104之间广播信息。此信息可包括读取和写入地址信息、传送限定符、写入字节启用(write byte enable)、待写入到接收组件的数据(“写入数据”)或任何其它与总线有关的信息。接收信道110可用于将从接收组件104读取的数据(“读取数据”)广播到发送组件102。
术语“传送限定符”是指描述读取操作、写入操作或任何其它与总线有关的操作的属性的参数。传送限定符的实例为指示读取或写入操作的有效负载的大小的信号。术语“有效负载”是指与单个读取或写入操作相关的数据。如果有效负载为多个字节,那么接收组件104可写入到连续地址位置区块或从连续地址位置区块读取,所述连续地址位置以结合所述操作而在发射信道108上广播的地址位置开始。
“字节写入启用”可用于指示发射信道108上的哪些字节通道将用于广播写入操作的有效负载。举例来说,32位发射信道108上的2字节有效负载广播可使用四个字节通道中的两个字节通道。字节写入启用可用于向接收组件102指示发射信道108上的两个字节通道中的哪一者将用于广播写入操作的有效负载。
发送组件102可通过在发射信道108上广播地址位置、传送限定符、写入字节启用和有效负载来写入到接收组件104。有效负载的大小或在发射信道108上广播有效负载所需的时钟的数目可由发送组件102来确定,且可由实施方案来固定或为可编程的。在大多数情况下,希望在发射信道108上广播较大有效负载以利用突发协议(burstingprotocol),这常导致可用带宽的较高总效率。然而,较大有效负载具有的缺点是延迟用于读取操作的下一地址位置在发射信道108上向接收组件104的呈现。这可能增加发送组件102可能使其等待的后续的较高优先权读取操作的等待时间。
发送组件102可经配置以在发射信道108上分配地址信息和有效负载带宽,以有助于减小此等待时间并增加处理系统100的性能。更具体地说,发送组件102可经配置以通过将用于读取操作的地址位置与传送限定符交错在所述有效负载内来中断较大有效负载在发射信道108上的广播,以起始较高优先权读取操作。接着,较高优先权读取操作的有效负载可与在发射信道108上广播的写入操作的有效负载的剩余部分并行地在接收信道110上广播。
发送组件102还可经配置以中断较大有效负载在发射信道108上的广播,以有助于发射信道108上的后续写入操作的流水线操作(pipelining)。在接收组件104为经配置以存取芯片外存储器的存储器控制器的情况下,从地址位置呈现到芯片外存储器的时刻直到可将有效负载写入到存储器为止,可能存在若干时钟周期延迟。因此,通过允许用于写入操作的地址位置、传送限定符和写入字节启用可在当前有效负载的广播完成之前在发射信道108上广播,接收组件104可能能够更有效地对写入操作进行流水线操作。
可使用任何数目的协议来实施至此所述的各种概念。在以下的详细描述内容中,将呈现总线协议的实例。呈现此总线协议以说明处理系统的发明性方面,其中应了解,此类发明性方面可与任何合适协议一起使用。下文在表1中展示发射信道的基本信令协议。所属领域的技术人员在实际实施本文所述的总线结构的过程中将容易能够改变此协议和/或将信号添加到此协议。
表1
信号 | 定义 | 由何者驱动 |
时钟 | 参考时钟信号 | 处理系统 |
发射有效 | 有效信息在发射信道上广播 | 发送组件 |
发射类型(2:0) | 指示在发射信道上广播的信息的类型 | 发送组件 |
发射传送确认 | 指示接收组件准备好接收发射信道上的广播 | 接收组件 |
发射信道 | 由发送组件驱动以将信息广播到接收组件的信道 | 发送组件 |
同一信令协议可用于下文在表2中所示的接收信道。
表2
信号 | 定义 | 由何者驱动 |
时钟 | 参考时钟信号 | 系统 |
接收有效 | 有效信息在接收信道上广播 | 接收组件 |
接收类型(2:0) | 指示在接收信道上广播的信息的类型 | 接收组件 |
接收传送确认 | 指示发送组件准备好接收接收信道上的广播 | 发送组件 |
接收信道 | 由接收组件驱动以将信息广播到发送组件的信道 | 接收组件 |
在表3中展示此信令协议中所使用的类型字段的定义。
表3
类型值 | 定义 |
000 | 保留 |
001 | 有效写入地址位置 |
010 | 有效写入传送限定符 |
011 | 有效写入数据 |
100 | 保留 |
101 | 有效读取地址位置 |
110 | 有效读取传送限定符 |
111 | 有效读取数据 |
图2是说明可如何中断写入操作以起始读取操作的时序图。在此实例中,发射信道的宽度为64个位,且写入操作的有效负载为64个字节。这需要八个时钟周期以在发射信道上广播所述有效负载。通常,在写入操作的有效负载的广播完成之前不能起始读取操作。然而对于至此所述的在发射信道上分配带宽的方法,一旦读取操作由发送组件起始,读取操作的地址位置就可与写入操作的有效负载交错,从而减小读取等待时间,并改进发射和接收信道的利用率。
参看图2,时钟222可用于使发送组件与接收组件之间的通信同步。在第一时钟周期201期间,写入操作可由发送组件起始。这可通过确立发射有效信号224和设置发射类型字段226以发出写入操作的有效写入地址位置的广播来实现。同时,地址位置可在发射信道228上广播到接收组件。接收组件检测发射有效信号224的确立,并根据发射类型字段226确定在发射信道228上广播的地址位置为写入操作的有效地址。作为响应,接收组件将所述地址位置存储在其地址队列中。接收组件还可确立发射传送确认(Transmit Transfer Ack)信号230,其指示接收组件已经接收到广播。
地址位置的广播后可接以第二时钟周期202中的写入操作的传送限定符的广播。发送组件可通过使发射有效信号224保持确立和适当地改变类型字段226来向接收组件警告此广播。传送限定符可包括指示写入操作的有效负载为64个字节的信令。在此情况下,传送限定符可包括指示所有字节通道将用于广播有效负载的写入字节启用。或者,可使用边带信令来广播写入字节启用。接收组件检测发射有效信号224的确立,并根据发射类型字段226确定在发射信道228上广播的传送限定符对于写入操作有效。接收组件可根据传送限定符确定(其中)有效负载将在八个时钟周期中广播,且将被写入到64个连续地址位置的区块,所述64个连续地址位置以存储在接收组件的地址队列中的地址位置开始。
假定不存在具有更高优先权的其它读取或写入操作,有效负载的广播在第三时钟周期203中可通过使用发射信道228的所有字节通道以8字节有效负载数据节拍开始。发送组件可通过使发射有效信号224保持确立并相应地改变发射类型字段226来向接收组件警告有效负载广播。接收组件检测发射有效信号224的确立,并根据发射类型字段226确定有效写入数据在发射信道228上广播。作为响应,可将8个字节写入到接收组件。
在此实例中,发送组件在接下来的三个时钟周期中继续每次8个字节地广播有效负载。在第七时钟周期207期间,写入操作的有效负载被中断以进行高优先权读取操作。确立发射有效信号224并设置发射类型字段226,以发出用于读取操作的有效读取地址位置的广播。同时,地址位置可在发射信道228上广播到接收组件。接收组件检测发射有效信号224的确立,并根据发射类型字段226确定写入操作的有效负载广播已经暂停以有利于用于读取操作的地址位置的广播。作为响应,接收组件将所述地址位置存储在其地址队列中。接收组件还可确立发射传送确认信号230,其指示接收组件已经接收到广播。
地址位置的广播可接以第八时钟周期208中的读取操作的传送限定符的广播。发送组件可通过使发射有效信号224保持确立和适当地改变发射类型字段226来向接收组件警告此广播。传送限定符可包括指示读取操作的有效负载也为64字节的信令。接收组件检测发射有效信号224的确立,并根据发射类型字段226确定在发射信道228上广播的传送限定符对于读取操作有效。假定接收信道240的宽度为8个字节,接收组件根据传送限定符确定(其中)有效负载将在八个时钟周期中广播,且将从64个连续地址位置的区块被读取,所述64个连续地址位置以存储在接收组件的地址队列中的地址位置开始。
发送组件可在第九时钟周期209开始时恢复写入操作的有效负载在发射信道228上的广播,在第十二时钟周期212结束时完成所述广播。在这四个时钟周期的每个时钟周期期间,发送组件通过使发射有效信号224保持确立且设置发射类型字段226以发出有效写入数据来向接收组件警告有效负载广播。接收组件在每个时钟周期中均检测发射有效信号224的确立,并根据发射类型字段226确定有效写入数据在发射信道228上广播。在每个时钟周期结束时,将发射信道228上的有效负载的8个字节写入到接收组件,直到在第十二时钟周期212结束时有效负载的整个广播完成为止。
同时,发送组件在第九时钟周期209期间恢复写入操作的有效负载的广播,接收组件开始存取写入操作的有效负载。由于接收组件的读取等待时间的缘故,在有效负载变得可用之前,可能经历一个时钟周期的延迟。一旦有效负载(或至少有效负载的前8个字节)在第十时钟周期210开始时变得可用,接收组件就可确立接收有效信号234,并设置接收类型字段236,从而在接收信道238上发出有效读取数据。接着,接收组件可开始在接收信道238上将读取操作的有效负载广播到发送组件。在读取操作的有效负载的整个广播过程中,接收有效信号234和接收类型字段236设置将被维持,在此情况下,读取操作的有效负载的整个广播将延长八个时钟周期,所述八个时钟周期开始于第十时钟周期210且完成于第十七时钟周期217的结束。只要发送组件处的接收传送确认信号240保持确立,读取操作的有效负载广播就可在此时间范围中完成。
如果在写入操作的有效负载的广播期间尚未起始读取操作,那么读取操作的有效负载的返回在第十四时钟周期214之前将不会开始。因此,与常规技术相比,上述实例中的读取操作的等待时间已经减少了四个时钟周期。
减少读取等待时间的益处在某些情况下可能会被写入操作的有效负载广播的延迟的增加抵消。为了优化总线上的性能,发送组件可使用算法来防止由发送组件起始的新的读取操作中断小的有效负载的广播,从而控制处理系统中所经历的最大读取等待时间。所述算法还可用于限制为起始新的读取操作而可使发射信道上的单个有效负载广播中断的次数,从而控制广播写入操作的有效负载所花费的最大时间。
所述算法可以硬件、软件、固件或其任何组合形式而构建为发送组件的一部分。举例来说,发送组件可包括能够起始读取和写入操作的微处理器,和以硬件方式构建且并入有所述算法的总线接口。或者,所述算法可为经配置以在微处理器上运行的软件。在另一实施例中,发送组件可包括DSP,且所述算法可为嵌入式软件层。在处理系统的一些实施例中,所述算法可为单独且与发送组件分离的独立实体。出于本发明的目的,术语“发送组件”意欲包括所述算法,无论所述算法在处理系统内的实际位置如何。
图3是说明实施所述算法的发送组件的实例的高级方框图。发送组件102可包括微处理器302和硬件构建的总线接口304。总线接口304可包括微处理器302与总线106之间的接口306。可在具有状态机308的总线接口304中实施所述算法,所述算法防止发送组件中断小的有效负载的广播以起始新的总线操作。寄存器312中的可编程值表示有效负载在可被中断以将新的总线操作的信号发出到接收组件之前必须在总线106上广播的时钟周期的最小数目。当写入操作被起始时,所述值可由状态机308加载到计数器310中,且随着有效负载广播的每个时钟周期而递减计数。在计数器含有非零值的时间期间,不能中断有效负载广播以发出新的总线操作的信号。总线接口304将延迟发出所有新的总线操作的信号,直到计数器达到零或有效负载广播完成为止。
所述算法还可使用第二寄存器316,其可用于限制为将新的总线操作的信号发出到接收组件而可使有效负载广播中断的次数。可将值编程到第二寄存器316中以指示在单个有效负载广播期间中断的最大数目。当写入操作被起始时,所述值可由状态机308加载到第二计数器314中,且在每次有效负载广播被中断时递减计数。在第二计数器314含有非零值的时间期间,可中断有效负载广播以发出新的总线操作的信号。一旦计数器达到零,总线接口304就将延迟发出所有新的总线操作的信号,直到当前有效负载广播完成为止。
图4是说明所述算法的功能性的流程图。在步骤402中,发送组件通过在发射信道上将地址位置和传送限定符广播到接收组件来起始写入操作。同时,或在其后不久,在步骤404中,发送组件加载两个计数器。第一计数器(其将被称为“计数器A”)可加载有等于必须在有效负载广播的开始之后且在发送组件将中断广播以发出新的总线操作的信号之前发生的时钟周期的最小数目(或有效负载数据节拍的最小数目)的值。第二计数器(其将被称为“计数器B”)可加载有等于发送组件为发出新的总线操作的信号而将使单个有效负载广播中断的次数的最大数目的值。一旦接收组件确认用于写入操作的地址位置和传送限定符的广播,发送组件就可开始将有效负载广播到接收组件。这可通过在步骤406中在发射信道上广播有效负载数据节拍来实现。在至此所述的处理系统的实施例中,有效负载数据节拍包括利用发射信道的所有字节通道广播的8个字节。
在步骤408中,发送组件确定有效负载广播是否完成,且如果完成,那么在步骤410中终止写入操作。相反,如果有效负载广播未完成,那么在步骤412中,发送组件等待下一时钟周期。当这种情况发生时,在步骤414中,发送组件确定是否需要新的总线操作。如果发送组件确定不需要新的总线操作,那么发送组件在步骤416中使计数器A中的值递减,且在步骤406中广播另一有效负载数据节拍。另一方面,如果在步骤414中,发送组件确定需要新的总线操作,那么在步骤418中,检查计数器A中的值以查看其是否已经达到零。如果计数器A中的值是非零值,那么将不会中断有效负载在发射信道上的广播以将新的总线操作的信号发出到接收组件。在那种情况下,新的总线操作将延迟。在步骤416中将递减计数器A中的值,且在步骤406中将广播另一有效负载数据节拍。如果计数器A中的值为零,那么发送组件可中断有效负载广播以将新的总线操作的信号发出到接收组件,只要有效负载广播尚未被中断发送组件所允许的最大次数。
在步骤420中,发送组件检查以查看计数器B中的值是否已经达到零。如果计数器B中的值为零,那么有效负载广播已经被中断了发送组件所允许的最大次数。在那种情况下,新的总线操作将延迟,以有利于步骤406中的另一有效负载数据节拍的广播。另一方面,如果计数器B中的值为非零值,那么在步骤422中,将中断有效负载广播以将新的总线操作的信号发出到接收组件。发送组件在步骤424中使计数器B中的值递减,在步骤426中重新加载计数器A,且在步骤406中广播另一有效负载数据节拍。可用寄存器中的同一值重新加载计数器A,因此在中断之间需要同一延迟。或者,可用某一其它值加载计数器A。在至少一个实施例中,可用零加载计数器A,其指示在从有效负载广播的开始算起的初始延迟后,有效负载广播可被中断至多达由发送组件设置的最大量的连续时钟周期。
图4的流程图描述了在每一有效负载数据节拍后均使计数器A递减直到计数器A达到零为止的算法。此途径确保有效负载在最小量的数据被广播前不被中断。或者,可能希望限制在有效负载广播开始后总线操作将被延迟的最大时间。这可通过随每一时钟周期而不是每一有效负载数据节拍使计数器A递减的算法来实现。通过此途径,如果发射传送确认被接收组件解除确立持续发射信道上的有效负载广播的早期部分期间的任何长度的时间,那么总线操作将不会被过度延迟。
本发明中所述的各种说明性实施例涉及使地址信息和传送限定符与写入操作的有效负载交错。然而,这些概念可扩展到发射信道上的其它类型的总线操作。举例来说,TLB使无效命令(TLB invalidate command)可与有效负载交错。可对每种类型的广播使用单独的可编程寄存器。针对每种类型的广播,单独的可编程寄存器可允许不同数目的中断。此外,通过用零值来对寄存器进行编程,可针对所述特定类型的广播禁用中断功能。
结合本文所揭示的实施例所描述的各种说明性逻辑区块、模块、电路、元件和/或组件可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文所述的功能的任何组合来构建或实施。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可构建为计算机组件的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微处理器,或任何其它此类配置。
结合本文所揭示的实施例所描述的方法或算法可直接以硬件的方式、以由处理器执行的软件模块的方式或以两者的组合的方式来实施。软件模块可驻存在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒介中。存储媒介可耦合到处理器,使得处理器可从所述存储媒体读取信息,和将信息写入到所述存储媒介。在替代方案中,存储媒介可与处理器成一体。
提供所揭示实施例的前述描述内容,以使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易明了对这些实施例的各种修改,且在不脱离本发明的精神或范围的情况下,可将本文所定义的一般原理应用于其它实施例。因此,本发明不希望限于本文所示的实施例,而是符合与权利要求书一致的完整范围,其中涉及以单数形式表示的元件不希望意指“一个且仅一个”(除非明确地这样规定),而是希望表示“一个或一个以上”。所属领域的技术人员已知或以后将知道的贯穿本发明而描述的各种实施例的元件的所有结构和功能均等物以引用的方式明确地并入本文中,且希望由权利要求书所包括。此外,不论权利要求书中是否明确地陈述了此揭示内容,本文所公开的所有内容均不属于对社会公众的奉献。除非使用短语“用于...的装置”来明确阐述所主张的元件,或者在方法项的情况下,使用短语“用于...的步骤”来阐述所述元件,否则都不应在35U.S.C.§112第六章的条款下解释所主张的元件。
Claims (41)
1.一种处理系统,其包含:
总线,其具有发射信道;
接收组件;和
发送组件,其经配置以:在所述发射信道上将有效负载广播到所述接收组件;中断所述有效负载的广播以在所述发射信道上将新的总线操作的信号发出到所述接收组件;和恢复所述有效负载在所述发射信道上的广播。
2.根据权利要求1所述的处理系统,其中所述新的总线操作包含读取操作。
3.根据权利要求2所述的处理系统,其中所述总线进一步包含接收信道,且其中所述接收组件经配置以响应于到达所述接收组件的用于所述读取操作的信号而在所述接收信道上将有效负载广播到所述发送组件。
4.根据权利要求3所述的处理系统,其中所述接收组件进一步经配置以在所述接收信道上广播所述有效负载的至少一部分,这与所述发送组件在所述发射信道上广播的所述有效负载的至少一部分的广播同时进行。
5.根据权利要求3所述的处理系统,其中用于所述读取操作的信号包含地址位置和传送限定符。
6.根据权利要求1所述的处理系统,其中所述发送组件进一步经配置以在广播所述有效负载之前,在所述发射信道上将写入操作的信号发出到所述接收组件。
7.根据权利要求6所述的处理系统,其中用于所述写入操作的信号包含地址位置和传送限定符。
8.一种处理系统,其包含:
总线,其具有发射信道;
接收组件;和
发送组件,其经配置以:在所述发射信道上将有效负载广播到所述接收组件;为在所述有效负载广播期间起始的每个新的总线操作而中断所述有效负载的广播,所述中断至多达最大中断数目;在所述中断的每一者期间,在所述发射信道上将所述新的总线操作中的不同一者的信号发出到所述接收组件;和在所述中断的每一者后,恢复所述有效负载在所述发射信道上的广播。
9.根据权利要求8所述的处理系统,其中所述新的总线操作中的至少一者包含读取操作。
10.根据权利要求8所述的处理系统,其中所述最大中断数目是可编程的。
11.根据权利要求8所述的处理系统,其中所述发送组件进一步经配置以延迟将所述有效负载广播期间起始的所述新的总线操作中的在所述有效负载广播已经被中断所述最大次数后发生的每一新的总线操作的信号发出到所述接收组件。
12.根据权利要求8所述的处理系统,其中所述发送组件进一步包含计数器,所述发送组件进一步经配置以:用等于所述最大中断数目的值来加载所述计数器;在每次所述有效负载广播被中断时使所述值递减;和一旦所述值达到零,就在无中断情况下完成所述有效负载广播。
13.一种处理系统,其包含:
总线,其具有发射信道;
接收组件;和
发送组件,其经配置以:在所述发射信道上将有效负载广播到所述接收组件;在紧随所述有效负载广播开始后的时间周期期间,起始新的总线操作;允许所述有效负载在所述时间周期期间在无中断的情况下广播;如果所述有效负载广播延伸超过所述时间周期,那么在所述时间周期后,中断所述有效负载的广播以在所述发射信道上将所述新的总线操作的信号发出到所述接收组件;和如果所述有效负载的广播被中断,那么恢复所述有效负载的广播。
14.根据权利要求13所述的处理系统,其中所述新的总线操作包含读取操作。
15.根据权利要求13所述的处理系统,其中所述发送组件进一步经配置以仅在所述有效负载广播开始后的特定数目的时钟周期之后,中断所述有效负载广播以将所述新的总线操作的信号发出到所述接收组件。
16.根据权利要求15所述的处理系统,其中所述时钟周期的特定数目是可编程的。
17.根据权利要求15所述的处理系统,其中所述发送组件进一步包含计数器,所述发送组件进一步经配置以:用等于所述时钟周期的特定数目的值来加载所述计数器;在所述有效负载广播开始后的时钟周期的每一者之后,使所述值递减;和仅在所述值达到零之后,中断所述有效负载广播以将所述新的总线操作的信号发出到所述接收组件。
18.根据权利要求13所述的处理系统,其中所述发送组件进一步经配置以仅在已经广播特定数目的有效负载数据节拍之后,中断所述有效负载广播以将所述新的总线操作的信号发出到所述接收组件。
19.根据权利要求18所述的处理系统,其中所述有效负载数据节拍的特定数目是可编程的。
20.根据权利要求18所述的处理系统,其中所述发送组件进一步包含计数器,所述发送组件进一步经配置以:用等于所述有效负载数据节拍的特定数目的值来加载所述计数器;和仅在所述值达到零之后,中断所述有效负载广播以将所述新的总线操作的信号发出到所述接收组件。
21.一种处理系统,其包含:
总线,其具有发射信道;
接收组件;和
发送组件,其具有:用于在所述发射信道上将有效负载广播到所述接收组件的装置;用于中断所述有效负载的广播以在所述发射信道上将新的总线操作的信号发出到所述接收组件的装置;和用于恢复所述有效负载的广播的装置。
22.一种在具有发射信道的总线上在发送组件与接收组件之间通信的方法,所述方法包含:
在所述发射信道上将有效负载从所述发送组件广播到所述接收组件;
中断所述有效负载的广播以在所述发射信道上将新的总线操作的信号发出到所述接收组件;和
恢复所述有效负载在所述发射信道上从所述发送组件到所述接收组件的广播。
23.根据权利要求22所述的方法,其中所述新的总线操作包含读取操作。
24.根据权利要求23所述的方法,其中所述总线进一步包含接收信道,所述方法进一步包含响应于到达所述接收组件的用于所述读取操作的信号而在所述接收信道上将有效负载从所述接收组件广播到所述发送组件。
25.根据权利要求24所述的方法,其中所述有效负载的至少一部分在所述接收信道上从所述接收组件到所述发送组件的广播与在所述发射信道上从所述发送组件广播到所述接收组件的所述有效负载的广播的至少一部分同时发生。
26.根据权利要求24所述的方法,其中用于所述读取操作的信号包含地址位置和传送限定符。
27.根据权利要求22所述的方法,其进一步包含在广播所述有效负载之前,由所述发送组件在所述发射信道上将写入操作的信号发出到所述接收组件。
28.根据权利要求27所述的方法,其中用于所述写入操作的信令包含地址位置和传送限定符。
29.一种在具有发射信道的总线上在发送组件与接收组件之间通信的方法,所述方法包含:
在所述发射信道上将有效负载从所述发送组件广播到所述接收组件;
为在所述有效负载广播期间由所述发送组件起始的每个新的总线操作而中断所述有效负载,所述中断至多达最大中断数目;
在所述中断的每一者期间,由所述发送组件在所述发射信道上将所述新的总线操作中的不同一者的信号发出到所述接收组件;和
在所述中断的每一者后,由所述发送组件恢复所述有效负载在所述发射信道上到所述接收组件的广播。
30.根据权利要求29所述的方法,其中所述新的总线操作中的至少一者包含读取操作。
31.根据权利要求29所述的方法,其中所述最大中断数目是可编程的。
32.根据权利要求29所述的方法,其进一步包含延迟所述发送组件将所述有效负载广播期间起始的所述新的总线操作中的在所述有效负载广播已经被中断所述最大次数后发生的每一新的总线操作的信号发出到所述接收组件。
33.根据权利要求29所述的方法,其中所述发送组件进一步包含计数器,所述方法进一步包含:用等于所述最大中断数目的值来加载所述计数器;在每次所述有效负载广播被中断时使所述值递减;和一旦所述值达到零,就在无中断的情况下完成所述有效负载广播。
34.一种在具有发射信道的总线上在发送组件与接收组件之间通信的方法,所述方法包含:
在第一和第二时间周期期间,在所述发射信道上将有效负载从所述发送组件广播到所述接收组件;
在所述第一时间周期期间,起始新的总线操作,所述第一时间周期紧随所述有效负载广播的开始;
在所述第二时间周期期间,中断所述有效负载的广播以由所述发送组件在所述发射信道上将所述新的总线操作的信号发出到所述接收组件,所述第二时间周期紧随所述第一时间周期;和
恢复所述有效负载的广播。
35.根据权利要求34所述的方法,其中所述新的总线操作包含读取操作。
36.根据权利要求34所述的方法,其中仅在所述有效负载开始后的特定数目的时钟周期之后,响应于所述新的总线操作的起始而中断所述有效负载广播。
37.根据权利要求36所述的方法,其中所述时钟周期的特定数目是可编程的。
38.根据权利要求36所述的方法,其中所述发送组件进一步包含计数器,所述方法进一步包含:用等于所述时钟周期的特定数目的值来加载所述计数器;在所述有效负载广播开始后的时钟周期中的每一者之后,使所述值递减;和仅在所述值达到零之后,响应于所述新的总线操作的起始而中断所述有效负载广播。
39.根据权利要求34所述的方法,其中仅在已经广播特定数目的有效负载数据节拍之后,响应于所述新的总线操作的起始而中断所述有效负载广播。
40.根据权利要求39所述的方法,其中所述时钟周期的特定数目是可编程的。
41.根据权利要求39所述的方法,其中所述发送组件进一步包含计数器,所述方法进一步包含:用等于所述特定有效负载数据节拍的值来加载所述计数器;在广播所述有效负载数据节拍中的每一者之后,使所述值递减;和仅在所述值达到零之后,响应于所述新的总线操作的起始而中断所述有效负载广播。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/942,291 | 2004-09-15 | ||
US10/942,291 US7185123B2 (en) | 2004-09-15 | 2004-09-15 | Method and apparatus for allocating bandwidth on a transmit channel of a bus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101052953A true CN101052953A (zh) | 2007-10-10 |
CN100476772C CN100476772C (zh) | 2009-04-08 |
Family
ID=35429408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800378461A Expired - Fee Related CN100476772C (zh) | 2004-09-15 | 2005-09-12 | 用于在总线的发射信道上分配带宽的方法和设备 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7185123B2 (zh) |
EP (1) | EP1839164A1 (zh) |
JP (1) | JP2008513886A (zh) |
KR (1) | KR100874073B1 (zh) |
CN (1) | CN100476772C (zh) |
BR (1) | BRPI0515294A (zh) |
IL (1) | IL181846A0 (zh) |
WO (1) | WO2006031850A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100529326B1 (ko) * | 2003-06-24 | 2005-11-17 | 삼성전자주식회사 | 프린팅 데이타의 처리 방법과 장치 및 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체 |
US7209998B2 (en) * | 2004-02-04 | 2007-04-24 | Qualcomm Incorporated | Scalable bus structure |
US7536479B2 (en) * | 2004-11-09 | 2009-05-19 | Intel Corporation | Local and remote network based management of an operating system-independent processor |
US7526570B2 (en) * | 2005-03-31 | 2009-04-28 | Intel Corporation | Advanced switching optimal unicast and multicast communication paths based on SLS transport protocol |
WO2008013968A2 (en) | 2006-07-28 | 2008-01-31 | Vast Systems Technology Corporation | Virtual processor generation model for co-simulation |
WO2008091575A2 (en) | 2007-01-22 | 2008-07-31 | Vast Systems Technology Corporation | Method and system for modeling a bus for a system design incorporating one or more programmable processors |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1915944A (en) * | 1931-04-16 | 1933-06-27 | Robert Forgie Hunter | Projection screen |
JPS63231665A (ja) * | 1987-03-20 | 1988-09-27 | Fujitsu Ltd | バス有効利用方式 |
US5386532A (en) * | 1991-12-30 | 1995-01-31 | Sun Microsystems, Inc. | Method and apparatus for transferring data between a memory and a plurality of peripheral units through a plurality of data channels |
US5388237A (en) * | 1991-12-30 | 1995-02-07 | Sun Microsystems, Inc. | Method of and apparatus for interleaving multiple-channel DMA operations |
JPH0998362A (ja) * | 1995-09-29 | 1997-04-08 | Nec Corp | マルチメディア通信システム |
US6631435B1 (en) * | 1996-02-02 | 2003-10-07 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
US5991520A (en) * | 1996-02-02 | 1999-11-23 | Sony Corporation | Application programming interface for managing and automating data transfer operations between applications over a bus structure |
US5794072A (en) * | 1996-05-23 | 1998-08-11 | Vlsi Technology, Inc. | Timing method and apparatus for interleaving PIO and DMA data transfers |
JPH10334039A (ja) * | 1997-05-27 | 1998-12-18 | Shikoku Nippon Denki Software Kk | バースト転送装置 |
US5937199A (en) * | 1997-06-03 | 1999-08-10 | International Business Machines Corporation | User programmable interrupt mask with timeout for enhanced resource locking efficiency |
JP2000082019A (ja) * | 1998-09-07 | 2000-03-21 | Hitachi Ltd | データ転送制御装置 |
US6748442B1 (en) * | 1998-12-21 | 2004-06-08 | Advanced Micro Devices, Inc. | Method and apparatus for using a control signal on a packet based communication link |
US6295573B1 (en) * | 1999-02-16 | 2001-09-25 | Advanced Micro Devices, Inc. | Point-to-point interrupt messaging within a multiprocessing computer system |
EP1059588A1 (en) * | 1999-06-09 | 2000-12-13 | Texas Instruments Incorporated | Multi-channel dma with request scheduling |
US6904079B2 (en) * | 2000-02-08 | 2005-06-07 | Ipr Licensing, Inc. | Access channel structure for wireless communication system |
NO315264B1 (no) * | 2001-01-23 | 2003-08-11 | Tomra Systems Asa | Deteksjonssystem |
US8051212B2 (en) * | 2001-04-11 | 2011-11-01 | Mellanox Technologies Ltd. | Network interface adapter with shared data send resources |
US6748412B2 (en) * | 2001-09-26 | 2004-06-08 | Intel Corporation | Square-and-multiply exponent processor |
US6868264B2 (en) * | 2001-12-13 | 2005-03-15 | International Business Machines Corporation | Method and apparatus for managing audio broadcasts in an automobile |
-
2004
- 2004-09-15 US US10/942,291 patent/US7185123B2/en not_active Expired - Fee Related
-
2005
- 2005-09-12 JP JP2007532412A patent/JP2008513886A/ja not_active Ceased
- 2005-09-12 BR BRPI0515294-1A patent/BRPI0515294A/pt not_active IP Right Cessation
- 2005-09-12 CN CNB2005800378461A patent/CN100476772C/zh not_active Expired - Fee Related
- 2005-09-12 KR KR1020077008483A patent/KR100874073B1/ko not_active IP Right Cessation
- 2005-09-12 WO PCT/US2005/032653 patent/WO2006031850A1/en active Application Filing
- 2005-09-12 EP EP05795194A patent/EP1839164A1/en not_active Withdrawn
-
2007
- 2007-03-11 IL IL181846A patent/IL181846A0/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2006031850A1 (en) | 2006-03-23 |
EP1839164A1 (en) | 2007-10-03 |
CN100476772C (zh) | 2009-04-08 |
KR100874073B1 (ko) | 2008-12-12 |
IL181846A0 (en) | 2007-07-04 |
BRPI0515294A (pt) | 2008-07-15 |
US7185123B2 (en) | 2007-02-27 |
US20060136615A1 (en) | 2006-06-22 |
KR20070053340A (ko) | 2007-05-23 |
JP2008513886A (ja) | 2008-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1934557A (zh) | 可伸缩总线结构 | |
CN1930563A (zh) | 多地址两信道总线结构 | |
CN1205527C (zh) | 用于管理电源状态之间切换的装置、系统和方法 | |
CN1934554A (zh) | 支持地址信息、数据、及传送合格号的双通道总线结构 | |
CN1703687A (zh) | 用于通用串行总线及类似应用的直接存储器存取控制器 | |
CN1556956A (zh) | 用于器件间通信的多通道接口 | |
CN101052953A (zh) | 用于在总线的发射信道上分配带宽的方法和设备 | |
US7222201B2 (en) | Virtual endpoint for USB devices | |
CN101067794A (zh) | 多核处理器及其串口复用方法 | |
CN101034384A (zh) | 一种能同时进行读写操作的dma控制器及传输方法 | |
CN1159657C (zh) | 总线系统和其数据传输方法 | |
CN1908925A (zh) | 提高pci通信可靠性及效率的方法 | |
US20070150683A1 (en) | Dynamic memory buffer allocation method and system | |
CN101056316A (zh) | 一种pci以太网媒体访问控制器传输数据的方法 | |
US6253275B1 (en) | Interrupt gating method for PCI bridges | |
JP2007272554A (ja) | データ処理装置 | |
US5671370A (en) | Alternating data valid control signals for high performance data transfer | |
CN1275737A (zh) | 消息传输总线的结构 | |
US7984212B2 (en) | System and method for utilizing first-in-first-out (FIFO) resources for handling differences in data rates between peripherals via a merge module that merges FIFO channels | |
CN100338592C (zh) | 通信接口电路及其控制方法、微型计算机 | |
KR100927310B1 (ko) | 스케일러블 버스 구조 | |
CN1869860A (zh) | 一种异步时钟域参数的配置方法及装置 | |
CN1157667C (zh) | 外围元件互连总线兼容主控器及其判定器与判定方法 | |
WO2022261836A1 (zh) | 存储控制方法及装置、存储方法及装置、电子设备及介质 | |
CN1882929A (zh) | 具有dma能力的usb主机控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1108189 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090408 Termination date: 20110912 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1108189 Country of ref document: HK |