CN101390065A - Cooperative writing via an address channel of a bus - Google Patents
Cooperative writing via an address channel of a bus Download PDFInfo
- Publication number
- CN101390065A CN101390065A CNA2007800062595A CN200780006259A CN101390065A CN 101390065 A CN101390065 A CN 101390065A CN A2007800062595 A CNA2007800062595 A CN A2007800062595A CN 200780006259 A CN200780006259 A CN 200780006259A CN 101390065 A CN101390065 A CN 101390065A
- Authority
- CN
- China
- Prior art keywords
- payload
- channel
- bus
- address
- receiving device
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明揭示一种用于在处理系统中经由总线进行通信的处理系统及方法。所述处理系统包含接收装置、具有第一、第二及第三信道的总线及发送装置,所述发送装置经配置以在所述第一信道上寻址所述接收装置,并在所述第二信道上从所述接收装置读取有效负载,所述发送装置进一步经配置以在所述第一信道上向所述接收装置写入有效负载的第一部分且在所述第三信道上向所述接收装置写入所述有效负载的第二部分。
The present invention discloses a processing system and method for communicating over a bus in a processing system. The processing system includes a receiving device, a bus having first, second, and third channels, and a sending device, the sending device being configured to address the receiving device on the first channel and read a payload from the receiving device on the second channel, the sending device being further configured to write a first portion of the payload to the receiving device on the first channel and a second portion of the payload to the receiving device on the third channel.
Description
相关申请交叉参考案Related Application Cross-References
本专利申请案主张基于在2006年2月24日提出申请的名称为“经由地址信道的协作写入(Cooperative Writes Over Address Channel)”的临时申请案第60/776,529号的优先权,且受让于本发明受让人且以此以引入方式明确并入本文中。This patent application claims priority based on Provisional Application No. 60/776,529, filed February 24, 2006, entitled "Cooperative Writes Over Address Channel," and is assigned to the assignee of the present invention and is hereby expressly incorporated herein by reference.
本专利申请案涉及下列与本文同时提出申请且名称为“经由地址信道的辅助写入(Auxiliary Writes Over Address Channel)”的同在申请中的代理档案号第060485号美国专利申请案,其受让于本发明受让人且以引用的方式明确地并入本文中。This patent application is related to the following co-pending U.S. Patent Application No. 060485, filed concurrently herewith and entitled "Auxiliary Writes Over Address Channel," assigned to To the assignee of the present invention and expressly incorporated herein by reference.
技术领域 technical field
本发明大体来说涉及处理系统,且更具体来说涉及用于经由具有总线背景的地址信道来执行协作写入的系统及技术。The present disclosure relates generally to processing systems, and more particularly to systems and techniques for performing cooperative writes over address channels with a bus context.
背景技术 Background technique
大多数现代处理系统的核心是称作总线的互连。所述总线在所述系统中的各种处理实体之间移动信息。如今,大多数总线架构是极为标准的。这些标准总线架构通常具有独立及单独的读取、写入及地址信道。At the heart of most modern processing systems is an interconnect known as a bus. The bus moves information between the various processing entities in the system. Today, most bus architectures are pretty standard. These standard bus architectures usually have independent and separate read, write and address channels.
在处理系统中,这种类型的总线架构常被发现具有由存储器支持的一个或一个以上一般用途。在这些系统中,所述存储器提供存储媒体,所述存储媒体可保存处理器执行其功能所需要的程序及数据。处理器可通过将地址设置在地址信道上并发送适当的读取/写入控制信号来读取或写入到存储器。根据读取/写入控制的状态,处理器经由写入信道写入到存储器或经由读取信道从存储器中读取。在这些类型的处理系统以及许多其它处理系统中,可需要减小写入延迟及增大写入带宽。In processing systems, this type of bus architecture is often found to have one or more general uses supported by memory. In these systems, the memory provides the storage medium that holds the programs and data that the processor needs to perform its functions. The processor can read from or write to the memory by setting the address on the address channel and sending the appropriate read/write control signals. Depending on the state of the read/write control, the processor writes to the memory via the write channel or reads from the memory via the read channel. In these types of processing systems, as well as many others, it may be desirable to reduce write latency and increase write bandwidth.
发明内容 Contents of the invention
以下揭示一种处理系统的一个方面。所述处理系统包含:接收装置;总线,其具有第一、第二及第三信道;及发送装置,其经配置以在所述第一信道上寻址所述接收装置并在所述第二信道上从所述接收装置读取有效负载,所述发送装置进一步经配置以在第一信道上向接收装置写入有效负载的第一部分且在第三信道上向接收装置写入所述有效负载的第二部分。One aspect of a processing system is disclosed below. The processing system includes: a receiving device; a bus having first, second and third channels; and a transmitting device configured to address the receiving device on the first channel and to address the receiving device on the second channel. reading a payload from the receiving device on a channel, the sending device further configured to write the first portion of the payload to the receiving device on a first channel and write the payload to the receiving device on a third channel the second part of .
以下揭示一种处理系统的另一方面。所述处理系统包含:接收装置;总线,其具有第一、第二及第三信道;用寻址装置,其用于在所述第一信道上寻址所述接收装置;读取装置,其用于在所述第二信道上从接收装置读取有效负载;及写入装置,其用于在所述第一信道上向接收装置写入有效负载的第一部分且在所述第三信道上向接收装置写入所述有效负载的第二部分。Another aspect of a processing system is disclosed below. The processing system comprises: receiving means; a bus having first, second and third channels; addressing means for addressing the receiving means on the first channel; reading means, which for reading a payload from a receiving device on said second channel; and writing means for writing a first portion of a payload to a receiving device on said first channel and on said third channel A second portion of the payload is written to a receiving device.
以下揭示一种经由总线在发送装置与接收装置之间进行通信的方法的一个方面。所述总线包含第一、第二及第三信道。所述方法包含:在第一信道上寻址接收装置;在第二信道上从所述接收装置读取有效负载;及在第一信道上向所述接收装置写入有效负载的第一部分且在所述第三信道上向所述接收装置写入所述有效负载的第二部分。An aspect of a method of communicating between a sending device and a receiving device via a bus is disclosed below. The bus includes first, second and third channels. The method includes: addressing a receiving device on a first channel; reading a payload from the receiving device on a second channel; and writing a first portion of the payload to the receiving device on the first channel and A second portion of the payload is written to the receiving device on the third channel.
以下揭示总线主控装置的一个方面。所述总线主控装置包含:处理器;及总线接口,其经配置以将所述处理器介接到具有第一、第二及第三信道的总线,所述总线接口进一步经配置以在所述第一信道上寻址从属装置、在所述第二信道上从所述从属装置接收有效负载并在第一信道上向从属装置写入有效负载的第一部分且在第三信道上向从属装置写入所述有效负载的第二部分。One aspect of a bus master is disclosed below. The bus mastering device includes: a processor; and a bus interface configured to interface the processor to a bus having first, second and third channels, the bus interface further configured to operate at the addressing the slave device on the first channel, receiving a payload from the slave device on the second channel and writing the first part of the payload to the slave device on the first channel and writing to the slave device on the third channel Write the second part of the payload.
本发明还揭示一种总线主控装置的另一方面。所述总线主控装置包含:处理器;及介接装置,其用于将所述处理器介接到具有第一、第二及第三信道的总线;介接装置,其用于将处理器介接到所述总线,其中包括用于在第一信道上寻址从属装置的装置;接收装置,其用于在第二信道上从从属装置接收有效负载;及写入装置,其用于在第一信道上向从属装置写入有效负载的第一部分且在第三信道上向从属装置写入有效负载的第二部分。The invention also discloses another aspect of the bus master control device. The bus master device includes: a processor; and interfacing means for interfacing the processor to a bus with first, second and third channels; interfacing means for interfacing the processor Interfaced to said bus, which includes means for addressing a slave device on a first channel; receiving means for receiving a payload from a slave device on a second channel; and writing means for receiving a payload on a second channel A first portion of the payload is written to the slave device on the first channel and a second portion of the payload is written to the slave device on the third channel.
以下揭示一种从属装置的一个方面。所述从属装置包含:存储器;及总线接口,其经配置以将存储器介接到具有第一、第二及第三信道的总线,所述总线接口经配置以在第一信道上从总线主控装置接收地址及有效负载的第一部分、在第二信道上向总线主控装置发送有效负载并在第三信道上从总线主控装置接收所述有效负载的第二部分。An aspect of a slave device is disclosed below. The slave device includes: a memory; and a bus interface configured to interface the memory to a bus having first, second and third channels, the bus interface configured to slave a bus master on the first channel The device receives the address and a first portion of the payload, sends the payload to the bus master on a second channel, and receives a second portion of the payload from the bus master on a third channel.
以下揭示一种从属装置的另一方面。所述从属装置包含:存储器;及介接装置,其用于将所述存储器介接到具有第一、第二及第三信道的总线;介接装置,其用于将存储器介接到所述总线,其中包括用于在第一信道上从总线主控装置接收地址及有效负载的第一部分的装置;发送装置,其用于在第二信道上向总线主控装置发送有效负载;及接收装置,其用于在第三信道上从总线主控装置接收所述有效负载的第二部分。Another aspect of a slave device is disclosed below. The slave device includes: a memory; and interfacing means for interfacing the memory to a bus having first, second and third channels; interfacing means for interfacing the memory to the A bus comprising means for receiving an address and a first portion of a payload from a bus master on a first channel; sending means for sending a payload to the bus master on a second channel; and receiving means , for receiving the second portion of the payload from the bus master on a third channel.
应了解,根据下文详细说明,所属技术领域的技术人员将易于了解本发明的其它实施例,其中以图解说明的方式显示及描述本发明的各种实施例。正如人们将要了解,本发明能够具有其它及不同实施例,且能够以各种其它方面对其若干细节进行修改,所有这些均不背离本发明。因此,应将本文的图式及说细说明视为具图解说明性质而非限定性。It is understood that other embodiments of the invention will become readily apparent to those skilled in the art from the following detailed description, wherein various embodiments of the invention are shown and described by way of illustration. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various other respects, all without departing from the invention. Accordingly, the drawings and description herein should be regarded as illustrative in nature and not limiting.
附图说明 Description of drawings
本文以举例方式而非限定方式在附图中图解说明本发明的各个方面,其中:Various aspects of the invention are illustrated herein, by way of example and not limitation, in the accompanying drawings, in which:
图1是图解说明处理系统中经由总线进行通信的两个装置的实例的简化方块图;1 is a simplified block diagram illustrating an example of two devices communicating via a bus in a processing system;
图2是显示图1的处理系统中的总线的地址及写入信道上的信息流动的图解说明,其中所述地址信道提供用于地址及数据的类属媒体;2 is a diagram showing the flow of information on the address and write channels of the bus in the processing system of FIG. 1, wherein the address channels provide a generic medium for address and data;
图3是显示在图1的处理系统中经由总线的两个写入操作的时序图;3 is a timing diagram showing two write operations via the bus in the processing system of FIG. 1;
图4是图解说明高速缓存一致性处理系统的简化方块图,所述系统具有通过总线互连与共享资源进行通信的两个处理装置;4 is a simplified block diagram illustrating a cache coherency processing system having two processing devices communicating with shared resources via a bus interconnect;
图5是显示在图4的高速缓存一致性处理系统中的一个处理装置与总线互连之间的地址及写入信道上的信息流动的图解说明。5 is a diagrammatic illustration showing the flow of information on address and write channels between a processing device and a bus interconnect in the cache coherent processing system of FIG. 4. FIG.
图6是图解说明在处理系统中经由4信道的总线进行通信的两个装置的实例的简化方块图。6 is a simplified block diagram illustrating an example of two devices communicating via a 4-channel bus in a processing system.
图7是显示图6的处理系统中的4信道总线的地址及写入信道上的信息流动的图解说明,其中读取及写入地址信道提供用于地址及数据的属类媒体。7 is a diagram showing the flow of information on the address and write channels of the 4-channel bus in the processing system of FIG. 6, wherein the read and write address channels provide generic media for addresses and data.
具体实施方式 Detailed ways
下文结合附图列举的详细说明打算作为本发明各种实施例的说明,而不打算代表本发明仅可实施为这些实施例。为使读者透彻地了解本发明,在详细说明中包含若干具体细节。然而,所属技术领域的技术人员将易于了解,可不以这些具体细节来实践本发明。在某些实例中,为避免模糊本发明的概念,以方块图形式显示众所周知的结构及组件。The detailed description set forth below in conjunction with the accompanying drawings is intended as a description of various embodiments of the invention, and is not intended to represent that the invention can be practiced only in these embodiments. In order to provide the reader with a thorough understanding of the invention, several specific details are included in the detailed description. It will be readily apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form in order to avoid obscuring the concepts of the present invention.
图1是图解说明在处理系统中经由总线进行通信的两个装置的实例的简化方块图。处理系统100可以是协作以执行一个或一个以上处理功能的硬件装置的集合。处理系统100的典型应用包含但不限于:桌上型计算机、膝上型计算机、服务器、蜂窝电话、个人数字助理(PDA)、游戏控制台、传呼机、调制解调器、音频设备、医疗装置、机动车、视频设备、工业设备或任何其它能够处理、检索及存储信息的机器或装置。1 is a simplified block diagram illustrating an example of two devices communicating via a bus in a processing system.
图中显示处理系统100具有经由总线106与接收装置104通信的发送装置102。总线106包含三个信道:地址信道106a、写入信道106b及读取信道106c。将“信道”定义为一组电导体,所述电导体可用于在两个装置之间携载信息且具有一组共用的控制信号。在此实例中,每一信道为32位宽。通常,总线互连(未显示)将用于经由总线106在发送装置102与接收装置104之间建立点对点通信路径。或者,总线106可以是专用总线、共享总线或任何其它类型的合适总线架构。
发送装置102可以是任何类型的总线主控装置。在此实例中,发送装置102包含处理器108及总线接口110。处理器108可以是通用处理器(例如微处理器)、专用处理器(例如数字处理器(DSP))、专用集成电路(ASIC)、直接存储器存取(DMA)控制器、桥接器、可编程逻辑组件或任何其它需要对总线106的存取的实体。总线接口110用于驱动地址及写入信道106a、106b以及提供适当的控制信号。总线接口110还充当读取信道106c的接收器。The transmitting
接收装置104可以是任何类型的从属装置。接收装置104可以是临时存储器(例如,SDRAM、DRAM或RAM)或较长期存储装置(例如,快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、CD-ROM、DVD、磁盘、可重写光盘等)。或者,接收装置104可以是桥接器或任何其它能够检索及存储信息的装置。在此实例中,接收装置104包含接口总线112及存储器114。接口总线112用于驱动读取信道106c及适当的控制信号。总线接口112还充当用于地址及写入信道106a、106b的接收器。存储器114可以是内容可被任意存取(即,读取及写入)的任何装置。The receiving device 104 may be any type of slave device. Receiving device 104 may be a temporary memory (e.g., SDRAM, DRAM, or RAM) or a longer term storage device (e.g., flash memory, ROM memory, EPROM memory, EEPROM memory, CD-ROM, DVD, magnetic disk, rewritable optical disk, etc. ). Alternatively, receiving device 104 may be a bridge or any other device capable of retrieving and storing information. In this example, receiving device 104 includes
在此总线架构中,发送装置102可从接收装置104读取或写入到接收装置104。当发送装置102执行写入操作时,用适当的控制信号在地址信道106a上向接收装置104发送地址。有效负载可在地址信道106a、写入信道106b或这两者上发送。所述“有效负载”是指与特定读取或写入操作相关联的数据,且在此情况下为写入操作。当发送装置执行读取操作时,其用适当的控制信号在地址信道106a上向接收装置104发送地址。作为响应,接收装置104在读取信道106c上向发送装置102发送有效负载。In this bus architecture, the sending
现在将参照图2描述两个写入操作的实例。图2是显示地址及写入信道上的信息流动的图解说明。在此实例中,所述发送装置起始两个16字节的写入操作。Two examples of write operations will now be described with reference to FIG. 2 . Figure 2 is a diagram showing addresses and information flow on a write channel. In this example, the sending device initiates two 16-byte write operations.
参照图2,在第一时钟循环202上,发送装置通过用适当的控制信号在地址信道106a上向接收装置发送4字节的地址A1来起始第一16字节写入操作。在相同时钟循环202期间,发送装置还可在写入信道106b上向接收装置发送第一有效负载的第一4个字节W1(1)。Referring to FIG. 2, on a
在第二时钟循环204上,发送装置使用地址信道106a及写入信道106b两者来发送数据。发送装置在写入信道106b上发送第一有效负载的第二4个字节W1(2)且在地址信道106a上发送第一有效负载的第三4个字节W1(3)。On a
发送装置通过用适当的控制信号在地址信道106a上向接收装置发送4字节地址A2而在第三时钟循环206期间起始下一16字节写入操作。发送装置通过在写入信道106b上向接收装置发送最后4个字节W1(4)而在下一写入操作的相同时钟循环期间完成第一有效负载的传输。The sending device initiates the next 16-byte write operation during the
然后,发送装置使用下两个时钟循环来向接收装置发送第二有效负载。在第四时钟循环208上,发送装置在写入信道106b上向接收装置发送第二有效负载的第一4个字节W2(1),且在地址信道106a上向所述接收装置发送第二有效负载的第二4个字节W2(3)。在下一时钟循环210上,发送装置在写入信道106b上向接收装置发送第二有效负载的第三4个字节W2(3),且在地址信道106a上向所述接收装置发送第二有效负载的最后4个字节W2(4)。The sending device then uses the next two clock cycles to send the second payload to the receiving device. On the
可使用两种类型的控制信号来支持用于地址及数据传输的媒体。第一控制信号称作“地址/数据”信号,其用于地址信道106a上来指示所传输的信息是地址还是数据。在此实例中,当断定地址/数据信号时,在地址信道106a上传输地址。相反,当去断定地址/数据信号时,在地址信道106a上传输数据。Two types of control signals can be used to support the medium for address and data transfer. A first control signal, referred to as an "address/data" signal, is used on the
第二控制信号称作“节拍ID”,其用于地址及写入信道106a、106b两者上以指示正在传输的当前有效负载的节拍。应注意,所述“节拍ID“为基于零的指示符,从而值”0“指示正在传输的有效负载的第一节拍。在此实例中,每一有效负载均在传输下一有效负载之前被整体地传输,且因此不需要信令来识别每一有效负载。在所述处理系统的替代实施例中,其中所述负载不按次序传输,或不同有效负载的节拍是交错的,所述信令可包含有效负载序列号。A second control signal called "tick ID" is used on both address and write
现在将参照图3来描述图解说明可如何使用两个控制信号的实例。地址及写入信道106a、106b的总线协议显示于下文表1中。此总线协议用于图解说明本发明处理系统的各方面,且应了解,本发明的这些方面可用于其它总线协议。所属技术领域的技术人员在对本文描述的总线架构的实际实施中将能够容易地改变及/或将信号添加到此协议中。An example illustrating how two control signals may be used will now be described with reference to FIG. 3 . The address and bus protocol for writing to the
表1Table 1
表2Table 2
图3是显示用于上文结合图2描述的相同的两个16字节写入操作的控制信号的时序图。可使用系统时钟306来同步发送与接收装置之间的通信。显示系统时钟306具有五个时钟循环,其中每一时钟循环均被依序编号。FIG. 3 is a timing diagram showing control signals for the same two 16-byte write operations described above in connection with FIG. 2 . A system clock 306 may be used to synchronize communications between sending and receiving devices. The system clock 306 is shown to have five clock cycles, where each clock cycle is numbered sequentially.
可由发送装置在第一时钟循环301期间在地址信道106a上起始写入操作。此写入操作可通过在32位的地址媒体308上传输第一写入操作的地址A1来实现。发送装置断定A有效312信号以指示正在地址信道106a上传输有效信息。发送装置102还断定地址/数据信号313以指示正在地址信道上传输的信息106a为地址。发送装置102去断定读取/写入信号316以请求写入操作。可使用有效负载大小318来指示有效负载的大小,所述大小在此情况下为16字节。在地址信道106a上地址使用期限期间地址节拍ID314的状态可忽略。A write operation may be initiated on
在相同的第一时钟循环301期间,发送装置使用写入媒体320来传输第一有效负载的第一4个字节W1(1)并将写入节拍ID326设置为“0”。发送装置还断定W有效信号324以指示正在写入信道106b上传输有效信息。During the same first clock cycle 301, the sending device uses the write medium 320 to transmit the first 4 bytes W1(1) of the first payload and sets the write tick ID 326 to "0". The sending device also asserts the W valid signal 324 to indicate that valid information is being transmitted on the
在第一时钟循环301末端,发送装置检验已断定的地址传送Ack信号310以确认地址A1经由地址信道106a到接收装置的成功递送。发送装置还检验已断定的写入传送Ack信号322以确认第一有效负载的第一4个字节W1(1)经由写入信道106b到接收装置的成功递送。At the end of the first clock cycle 301, the sending device checks the asserted Address Transfer Ack signal 310 to acknowledge the successful delivery of address A1 to the receiving device via
在第二时钟循环302上,发送装置使用写入媒体320来发送第一有效负载的第二4个字节W1(2)并将写入节拍ID326设置为“01”。此发送装置还断定W有效信号324以指示正在写入信道106b上传输有效信息。On the second clock cycle 302, the sending device uses the write medium 320 to send the second 4 bytes W1(2) of the first payload and sets the write tick ID 326 to "01". The sending device also asserts the W valid signal 324 to indicate that valid information is being transmitted on the
在相同的第二时钟循环302期间,发送装置在地址媒体308上向接收装置传输第一有效负载的第三4个字节W1(3)并将地址节拍ID314设置为“10”。发送装置还断定A有效312信号以指示正在地址信道106a上传输有效信息,且去断定地址/数据信号313以指示正在地址信道106a上传输的信息为数据。在地址信道106a上数据使用期限期间,读取/写入信号316及有效负载大小318的状态可忽略。在图3中,读取/写入信号316及有效负载大小318保持不变,但可被设置为任何状态。During the same second clock cycle 302, the sending device transmits the third 4 bytes W1(3) of the first payload on the address medium 308 to the receiving device and sets the address tick ID 314 to "10". The sending device also asserts the A Valid 312 signal to indicate that valid information is being transmitted on the
在第二时钟循环302的末端,发送装置检验已断定的写入传送Ack信号322以确认第一有效负载的第二4个字节W1(2)经由写入信道106b到接收装置的成功递送。发送装置还检验已断定的地址传送Ack信号310以确认第一有效负载的第三4个字节W1(3)经由地址信道106a到接收装置的成功递送。At the end of the second clock cycle 302, the sending device checks the asserted Write Transfer Ack signal 322 to confirm successful delivery of the second 4 bytes W1(2) of the first payload to the receiving device via the
在第三时钟循环303上,发送装置使用写入媒体320来发送第一有效负载的最后4个字节W1(4)并将写入节拍ID 326设置为“11”。发送装置还断定W有效信号324以指示正在写入信道106b上传输有效信息。On the third clock cycle 303, the sending device uses the write medium 320 to send the last 4 bytes W1(4) of the first payload and sets the write tick ID 326 to "11". The sending device also asserts the W valid signal 324 to indicate that valid information is being transmitted on the
在完成第一写入操作的相同的第三时钟循环303期间,发送装置在地址媒体308上传输用于第二16字节写入操作的地址A2。发送装置断定A有效312信号以指示正在地址信道106a上传输有效信息。发送装置102还断定地址/数据信号313以指示正在地址信道106a上传输的信息为地址A2。发送装置102去断定读取/写入信号316以请求写入操作。有效负载大小318可用于指示有效负载大小,所述大小在此情况下为16字节。在地址信道106a上地址使用期限期间,地址节拍ID 314的状态可忽略。During the same third clock cycle 303 in which the first write operation is completed, the sending device transmits on the address medium 308 the address A2 for the second 16-byte write operation. The sending device asserts the A Valid 312 signal to indicate that valid information is being transmitted on
在第三时钟循环303的末端,发送装置检验已断定的地址传送Ack信号310以确认地址A2经由地址信道106a到接收装置的成功递送。发送装置还检验已断定的写入传送Ack信号322以确认第一有效负载的最后4个字节W1(4)经由写入信道106b到接收装置的成功递送。At the end of the third clock cycle 303, the sending device checks the asserted address transfer Ack signal 310 to confirm the successful delivery of address A2 to the receiving device via the
发送装置使用下两个时钟循环来向接收装置发送第二有效负载。在第四时钟循环304上,发送装置使用写入媒体320向接收装置发送第二有效负载的第一4个字节W2(1),并将写入节拍ID 326设置为“00”。发送装置继续断定W有效信号324以指示写入信道106b上正传输有效信息。The sending device uses the next two clock cycles to send the second payload to the receiving device. On the fourth clock cycle 304, the sending device sends the first 4 bytes W2(1) of the second payload to the receiving device using the write medium 320 and sets the write tick ID 326 to "00". The sending device continues to assert the W valid signal 324 to indicate that valid information is being transmitted on the
在相同的第四时钟循环304期间,发送装置在地址媒体308上传输第二有效负载的第二4个字节W2(2),并将地址节拍ID 314设置为“0”。发送装置还断定A有效312信号以指示正在地址信道106a上传输有效信息,且去断定地址/数据信号313以指示正在地址信道106a上传输的信息为数据。在地址信道106a上数据使用期限期间,读取/写入信号316及有效负载大小318的状态可忽略。During the same fourth clock cycle 304, the sending device transmits the second 4 bytes W2(2) of the second payload on the address medium 308 and sets the address tick ID 314 to "0". The sending device also asserts the A Valid 312 signal to indicate that valid information is being transmitted on the
在第四时钟循环304的末端,发送装置检验已断定的写入传送Ack信号322以确认第二有效负载的第一4个字节W2(2)经由写入信道106b到接收装置的成功递送。发送装置还检验已断定的地址传送Ack信号310以确认第二有效负载的第二4个字节W2(2)经由地址信道106a到接收装置的成功递送。At the end of the fourth clock cycle 304, the sending device checks the asserted Write Transfer Ack signal 322 to confirm successful delivery of the first 4 bytes W2(2) of the second payload to the receiving device via the
在第五时钟循环305上,发送装置使用写入媒体320向接收装置发送第二有效负载的第三4个字节W2(3),并将写入节拍ID 326设置为“10”。发送装置断定W有效信号324以指示正在写入信道106b上传输有效信息。On the fifth clock cycle 305, the sending device sends the third 4 bytes W2(3) of the second payload to the receiving device using the write medium 320 and sets the write tick ID 326 to "10". The sending device asserts the W valid signal 324 to indicate that valid information is being transmitted on the
在相同的第五时钟循环305期间,发送装置在地址媒体308上传输第二有效负载的最后4个字节W2(4)并将地址节拍ID 314设置为“11”。发送装置还断定A有效312信号以指示正在地址信道106a上传输有效信息,且去断定地址/数据信号313以指示正在地址信道106a上传输的信息是数据。在地址信道106a上数据使用期限期间,读取/写入信号316的状态及有效负载大小318可忽略。During the same fifth clock cycle 305, the sending device transmits the last 4 bytes W2(4) of the second payload on the address medium 308 and sets the address tick ID 314 to "11". The sending device also asserts the A Valid 312 signal to indicate that valid information is being transmitted on the
在第五时钟循环305的末端,发送装置检验已断定的写入传送Ack信号322以确认第二有效负载的第三4个字节W2(3)经由写入信道106b到接收装置的成功递送。发送装置还检验已断定的地址传送Ack信号310以确认第二有效负载的最后4个字节W2(4)经由地址信道106a到接收装置的成功递送。At the end of the fifth clock cycle 305, the sending device checks the asserted Write Transfer Ack signal 322 to confirm successful delivery of the third 4 bytes W2(3) of the second payload to the receiving device via the
信令的减少可通过用隐含的寻址方案取代节拍ID来实现。这一隐含寻址方案的实例显示于图2中。在此实例中,隐含的寻址方案要求在可用的最早的时钟循环上传输当前有效负载的下4个字节序列,优选地要求写入信道106b而不是地址信道106a。Signaling reduction can be achieved by replacing the tick ID with an implicit addressing scheme. An example of this implicit addressing scheme is shown in Figure 2. In this example, the implicit addressing scheme requires that the next 4-byte sequence of the current payload be transmitted on the earliest clock cycle available, preferably requiring
参照图2,可用于发送第一有效负载的第一4个字节W1(1)的最早时钟循环为第一时钟循环202,且写入信道106b在时钟循环202期间可用。可用于发送第一有效负载的第二4个字节W1(2)的最早时钟循环为第二时钟循环204,且写入信道106b同样可用。第二时钟循环204也可用于传输第一有效负载的第三4个字节W1(3),但写入信道106b不可用。因此,第一有效负载的第三4个字节W1(3)在地址信道106a上传输。可用于发送第一有效负载的最后4个字节W1(4)的最早时钟循环为第三时钟循环206,且写入信道106b同样可用。Referring to FIG. 2 , the earliest clock cycle available to send the first 4 bytes W1 ( 1 ) of the first payload is the
在第三时钟循环206期间,向接收装置传输用于第二写入操作的地址A2。然而,写入信道106a不能用于发送第二有效负载的第一4个字节W2(1),因为在第三时钟循环206期间需要发送第一有效负载的最后4个字节W1(4)。可用于发送第二有效负载的第一4个字节W2(1)的最早时钟循环为第四时钟循环208,且写入信道106b在时钟循环208期间可用。第四时钟循环208可用于传输第二有效负载的第二4个字节W2(2),但写入信道106b不可用。因此,第二有效负载的第二4个字节W2(2)在地址信道106a上传输。可用于发送第二有效负载的最后8个字节W2(3)、W2(4)的最早时钟循环为第五时钟循环210。第二有效负载的第三4个字节W2(3)在写入信道306b(即,优选信道)上传输,且第二有效负载的最后4个字节W2(4)在地址信道106a上传输。During the
将地址信道用作传输地址及数据的媒体可用于各种处理环境中。举例来说,可使用此技术来减小处理器从硬件强制的高速缓存一致性系统中的另一处理器获得高速缓存线所花费的时间量。将参照图4进一步描述此实例。图4中显示高速缓存一致性处理系统400具有通过总线互连406与共享资源(例如存储器装置404)通信的两个处理装置402a、402b。在此实例中,第一处理装置402a通过用适当的控制信号在其地址信道406a1上设置地址来从存储器装置404读取。所述地址由总线互连406在存储器的地址信道406a3上转发给存储器装置404。作为响应,总线接口408从存储器410检索数据块并将其设置在存储器的读取信道406c3上。总线互连406经由第一处理器装置的读取信道406c1将数据从存储器装置404a转发到第一处理装置402a。一旦第一处理装置402a接收到数据,即可将数据设置在高速缓存器412中、由处理器414进行修改,并由总线接口416将其写入回存储器装置404。可与上文结合图2及图3描述的相同的方式来执行写入操作。The use of address channels as the medium for transmitting addresses and data can be used in a variety of processing environments. For example, this technique can be used to reduce the amount of time it takes a processor to obtain a cache line from another processor in a hardware-enforced cache coherency system. This example will be further described with reference to FIG. 4 . A cache coherency processing system 400 is shown in FIG. 4 having two
高速缓存一致性处理第二处理装置402b随后试图从相同地址读取的情形。由于不具备可确保高速缓存一致性的机构,所以如果第一处理装置402a中的高速缓存器412中的数据已被修改但尚未写回到存储器装置404,则第二处理装置402b可从存储器装置404接收过期数据。Cache coherency handles the situation where the
通常使用一种称作“探听”的过程来维持高速缓存器与存储器之间的一致性。探听是这样的过程:处理装置(例如此实例中的第二处理装置402b)向存储器装置404中不存在于其自身的高速缓存器418中的可高速缓存地址发布读取请求,从而导致总线互连406在将所述读取请求转发给用于数据的存储器装置404之前向系统中的其它处理装置广播探听地址。如果另一处理装置(例如第一处理装置402a)将所请求的数据以修改后的状态存储在其高速缓存器412中,则其将修改后的数据写入回存储器装置404。同时,总线互连406将经由中间的读取信道406c2将修改后的数据发送给第二处理装置402b。第二处理装置402将修改后的数据设置在高速缓存器418中以供处理器422使用。Coherency between cache and memory is typically maintained using a process called "snooping". Snooping is the process by which a processing device (such as the
图5是显示第一处理装置402a与总线互连406之间的地址及写入信道406a1、406b1上的信息流动的图解说明。参照图4及图5,第一处理装置402a响应于总线互连406所广播的探听地址将32字节的有效负载从其高速缓存器412写入到存储器装置404。写入操作是通过使用地址及写入信道406a1、406b1两者将32字节的有效负载发送给总线互连406来执行的。在第一时钟循环502上,第一处理装置402a用适当的控制信号在其地址信道406a1上将已探听地址A发送给总线互连406。在相同的时钟循环502期间,有效负载的第一4个字节W(1)由第一处理装置402a在写入信道406b1上发送给总线互连406。FIG. 5 is a diagram showing the address and information flow on the
有效负载的剩余部分经由下四个时钟循环被从第一处理装置402a发送给总线互连406。在第二时钟循环504上,第一处理装置402a在写入信道406b1上发送有效负载的第二4个字节W(2)并在地址信道406a1上发送有效负载的第三4个字节W(3)。有效负载的第四4个字节W(4)、有效负载的第六4个字节W(6)及有效负载的最后4个字节W(8)由第一处理装置402a经由下三个时钟循环506、508、510在写入信道406b1上发送给总线互连406。有效负载的第五4个字节W(5)及有效负载的第七4个字节W(7)由第一处理装置402a经由下两个时钟循环506、508在地址信道406a1上发送给总线互连406。The remainder of the payload is sent from the
总线互连406可使用地址及写入信道406a3、406b3两者以类似方式将32字节的有效负载发送给存储器装置404以在5个时钟循环中发送所述有效负载。总线互连406还响应于处理装置402b的原始读取请求在8个时钟循环中在读取信道406c2上将32字节的有效负载发送给第二处理装置402b。32字节的有效负载到存储器装置404及第二处理装置402的传输可与有效负载在第一处理装置402a与总线互连406之间的传输重叠或在其之后。The
对控制信令的解释已结合图3详细描述,且此处将不再重复,只指出一点:地址及写入信道406a1、406b1两者的节拍ID均需要扩充为3位代码以处理8节拍有效负载。The explanation of the control signaling has been described in detail in conjunction with FIG. 3, and will not be repeated here, only one point is pointed out: the address and the beat ID written in both
图6为图解说明在处理系统600中经由4信道的总线进行通信的两个装置的实例的简化方块图。为每一读取及写入信道提供一个单独且独立的地址信道。在此实例中,每一信道均为32位宽,但在实践中也可以是任何宽度,这取决于特定应用及整体设计约束。可通过在写入地址信道606a上向接收装置604发送地址且在写入地址信道606a、写入信道606b及/或读取地址信道606d上向接收装置604发送数据来执行经由4信道总线的写入操作。通过在读取地址信道606d上向接收装置604发送地址来执行经由4信道总线的读取操作。作为响应,接收装置604在读取信道606c上向发送装置602发送有效负载。FIG. 6 is a simplified block diagram illustrating an example of two devices communicating via a 4-channel bus in a
图7是显示经由4信道总线在发送装置与接收装置之间的写入地址信道、读取地址信道及写入信道上的信息流的图解说明。在第一时钟循环702上,发送装置通过用适当的控制信号在写入地址信道606a上向接收装置发送4字节的地址A1来起始第一16个字节的写入操作。在相同的时钟循环702期间,发送装置还在写入信道606b上传输第一有效负载的第一4个字节W1(1)且在读取地址信道606d上发送相同有效负载的第二4个字节W1(2)。7 is a diagram showing information flow on a write address channel, a read address channel, and a write channel between a sending device and a receiving device via a 4-channel bus. On the first clock cycle 702, the sending device initiates a write operation of the first 16 bytes by sending 4 bytes of address A1 to the receiving device on
在第二时钟循环704上,由发送装置向接收装置发送第一有效负载的剩余部分。更具体来说,在完成第一写入操作的第二时钟循环704上,发送装置在写入信道606b上传输第一有效负载的第三4个字节W1(3)且在读取地址信道606d上传输第一有效负载的最后4个字节W1(4)。在相同的时钟循环704期间,发送装置在写入地址信道606a上向接收装置发送用于第二16字节写入操作的地址A2。On a second clock cycle 704, the remainder of the first payload is transmitted by the transmitting device to the receiving device. More specifically, on the second clock cycle 704 that completes the first write operation, the sending device transmits the third 4 bytes W1(3) of the first payload on the
然后发送装置使用下两个时钟循环向接收装置发送第二有效负载。在第三时钟循环706上,发送装置在写入信道606b上向接收装置发送第二有效负载的第一4个字节W2(1)、在读取地址信道606d上向接收装置发送第二有效负载的第二4个字节W2(2)且在写入地址信道606a上向接收装置发送第二有效负载的第三4个字节W2(3)。在下一时钟循环708上,发送装置在写入信道606b上向接收装置发送第二有效负载的最后4个字节W2(4)。The sending device then uses the next two clock cycles to send the second payload to the receiving device. On the third clock cycle 706, the sending device sends the first 4 bytes W2(1) of the second payload to the receiving device on the
与本文所揭示实施例结合来描述的各种说明性逻辑块、模块及电路均可由下列装置实施或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件、或其经设计以用于执行本文所描述的功能的任何组合。通用处理器可以是微处理器,但另一选择为,所述处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可实施为计算组件的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合或任何其它这种配置。The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed by a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable Gate arrays (FPGAs) or other programmable logic components, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing components, e.g., a DSP in combination with a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
结合本文所揭示实施例来描述的方法或算法可直接包含在硬件、可由处理器执行的软件模块或两者的组合中。软件模块可驻留于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬磁盘、可装卸磁盘、CD-ROM或所属技术领域中已知的任何其它形式的存储媒体中。存储媒体可耦合到处理器以使所述处理器可从存储媒体读取信息或将信息写入到存储媒体。另一选择为,存储媒体可与处理器成一体。处理器和存储媒体可驻留在ASIC中。所述ASIC可驻留在发送及/或接收组件中或别处。另一选择为,处理器及存储媒体可作为离散组件而驻留在发送及/或接收组件中或别处。The methods or algorithms described in connection with the embodiments disclosed herein may be directly embodied in hardware, software modules executable by a processor, or a combination of both. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. A storage medium may be coupled to the processor such that the processor can read information from, and write information to, the storage medium. Alternatively, the storage medium may be integrated with the processor. The processor and storage medium can reside in an ASIC. The ASIC may reside in the transmit and/or receive components or elsewhere. Alternatively, the processor and storage medium may reside as discrete components in the transmitting and/or receiving components or elsewhere.
提供上文对所揭示实施例的说明以使所属技术领域的技术人员能够制作或使用本发明。所属技术领域的技术人员将易于得知这些实施例的各种修改方式,且本文所定义的一般原理也可适用于其它实施例而不背离本发明的精神或范围。因此,本文并不打算将本发明限定为本文所示实施例,而将赋予其与本文所揭示原理及新颖特征相一致的最宽广范围。The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the intention is not to limit the present invention to the embodiments shown herein but to give it the widest scope consistent with the principles and novel features disclosed herein.
Claims (42)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410424746.5A CN104199798B (en) | 2006-02-24 | 2007-02-23 | Cooperative writes over the address channel of a bus |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US77652906P | 2006-02-24 | 2006-02-24 | |
| US60/776,529 | 2006-02-24 | ||
| US11/468,908 | 2006-08-31 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201410424746.5A Division CN104199798B (en) | 2006-02-24 | 2007-02-23 | Cooperative writes over the address channel of a bus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN101390065A true CN101390065A (en) | 2009-03-18 |
Family
ID=40478423
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNA2007800062595A Pending CN101390065A (en) | 2006-02-24 | 2007-02-23 | Cooperative writing via an address channel of a bus |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN101390065A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106257436A (en) * | 2015-06-16 | 2016-12-28 | Arm 有限公司 | Transmitter, receptor, data transmission system and data transferring method |
-
2007
- 2007-02-23 CN CNA2007800062595A patent/CN101390065A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106257436A (en) * | 2015-06-16 | 2016-12-28 | Arm 有限公司 | Transmitter, receptor, data transmission system and data transferring method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101081301B1 (en) | Cooperative writes over the address channel of a bus | |
| US7822903B2 (en) | Single bus command having transfer information for transferring data in a processing system | |
| CN103003808B (en) | System and method for accessing resources of a PCI Express compliant device | |
| CN111373382B (en) | Fast failure in Peripheral Component Interconnect (PCI) express (PCIe) Address Translation Services (ATS) | |
| CN104737142A (en) | Multislot link layer flit | |
| KR100881049B1 (en) | Multiple address two channel bus structure | |
| US8521914B2 (en) | Auxiliary writes over address channel | |
| CN100481053C (en) | Scalable bus architecture | |
| CN101390065A (en) | Cooperative writing via an address channel of a bus | |
| HK1128789A (en) | Auxiliary writes over address channel | |
| HK1128789B (en) | Auxiliary writes over address channel | |
| HK1112763A (en) | Scalable bus structure |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C12 | Rejection of a patent application after its publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090318 |