CN103995786A - 高速缓存一致性消息的传输方法和装置 - Google Patents
高速缓存一致性消息的传输方法和装置 Download PDFInfo
- Publication number
- CN103995786A CN103995786A CN201410244943.9A CN201410244943A CN103995786A CN 103995786 A CN103995786 A CN 103995786A CN 201410244943 A CN201410244943 A CN 201410244943A CN 103995786 A CN103995786 A CN 103995786A
- Authority
- CN
- China
- Prior art keywords
- response
- expanding packet
- write
- request
- transmission
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种高速缓存一致性消息的传输方法和装置,包括:根据超传输HyperTransport协议,确定HyperTransport协议的NONPOST通道用于传输高速缓存Cache一致性消息中的读命令,POST通道用于传输所述高速缓存Cache一致性消息中的写命令,RESPONSE通道用于传输所述高速缓存Cache一致性消息中的读响应,新增的BRESPONSE通道用于传输所述高速缓存Cache一致性消息中的写响应;在所述HyperTransport协议中对应的通道上传输所述读命令、所述写命令、所述读响应与所述写响应中的至少一种。采用本发明实施例提供的技术方案,避免读响应和写响应在传输通道上堵塞,提高了读写响应的传输效率。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种高速缓存一致性消息的传输方法和装置。
背景技术
超传输(HyperTransport)协议是一种用于板级集成电路互连、高性能点到点、基于包交换的互连技术,主要用于处理器与外围设备通信、处理器片间互联等。
现有技术是基于HyperTransport1.0协议实现高速缓存(Cache)一致性消息的片间传输的。具体的,通过将HyperTransport1.0协议的NONPOST通道与Cache一致性协议的读命令通道对应,将HyperTransport1.0协议的POST通道与Cache一致性协议的写命令通道对应,并将HyperTransport1.0协议的响应通道与Cache一致性协议的响应通道对应,并自定义扩展包用于传输Cache一致性协议的读写命令及读写响应信息。
然而,现有技术中的Cache一致性消息的传输方法会出现读写响应堵塞在传输通道上的现象,传输效率低。
发明内容
本发明提供一种高速缓存一致性消息的传输方法和装置,用以解决现有技术中的Cache一致性传输方法会出现读写响应堵塞在传输通道上,传输效率低的问题。
本发明的第一方面,提供一种高速缓存一致性消息的传输方法,包括:
根据超传输HyperTransport协议,确定HyperTransport协议的NONPOST通道用于传输高速缓存Cache一致性消息中的读命令,POST通道用于传输所述高速缓存Cache一致性消息中的写命令,RESPONSE通道用于传输所述高速缓存Cache一致性消息中的读响应,新增的BRESPONSE通道用于传输所述高速缓存Cache一致性消息中的写响应;
在所述HyperTransport协议中对应的通道上传输所述读命令、所述写命令、所述读响应与所述写响应中的至少一种。
在第一种可能的实现方式中,根据第一方面,在所述HyperTransport协议中对应的通道上传输所述读命令,具体包括:
采用HyperTransport协议的请求Request控制包传输所述读命令;其中,所述Request控制包包括Request扩展包和Request标准包,所述Request扩展包包括地址扩展包和顺序号扩展包,所述顺序号扩展包用于传输读命令顺序号及读命令附加信息,所述地址扩展包用于传输读命令高位地址。
在第二种可能的实现方式中,根据第一方面,在所述HyperTransport协议中对应的通道上传输所述写命令,具体包括:
采用HyperTransport协议的Request控制包传输所述写命令;其中,所述Request控制包包括Request扩展包和Request标准包,所述Request扩展包包括地址扩展包和顺序号扩展包,所述顺序号扩展包用于传输写命令顺序号及写命令附加信息,所述地址扩展包用于传输写命令高位地址。
在第三种可能的实现方式中,根据第一方面,在所述HyperTransport协议中对应的通道上传输所述读响应,具体包括:
采用HyperTransport协议的应答Response标准包和新增的读响应扩展包传输所述读响应,所述新增的读响应扩展包用于传输所述读响应中的读响应信息。
进一步,所述读响应扩展包与所述Response标准包一起传输,以一起进行流量控制。
在第四种可能的实现方式中,根据第一方面,在所述HyperTransport协议中对应的通道上传输所述写响应,具体包括:
采用HyperTransport协议的目标TargetDone标准包和新增的写响应扩展包传输写响应,所述写响应扩展包用于传输所述写响应中的写响应信息。
进一步,所述写响应扩展包与所述TargetDone标准包一起传输,以一起进行流量控制。
在第五种可能的实现方式中,根据第一种可能的实现方式、第二种可能的实现方式、第三种可能的实现方式和第四种可能的实现方式,所述在所述HyperTransport协议中对应的通道上传输所述读命令、所述写命令、所述读响应与所述写响应中的至少一种,还包括:
若当前需要采用Request控制包传输的读命令中的Request扩展包与上一次传输读命令中的Request扩展包相同,则确定不再传输当前读命令中的Request扩展包;
若当前需要采用Request控制包传输的写命令中的Request扩展包与上一次传输写命令中的Request扩展包相同,则确定不再传输当前写命令中的Request扩展包;
若当前需要采用Response标准包和新增的读响应扩展包传输的读响应中的读响应扩展包与上一次传输读响应中的读响应扩展包相同,则确定不再传输当前读响应中的读响应扩展包;
若当前需要采用TargetDone标准包和新增的写响应扩展包传输的写响应中的写响应扩展包与上一次传输写响应中的写响应扩展包相同,则确定不再传输当前写响应中的写响应扩展包。
本发明的第二方面,提供一种高速缓存一致性消息的传输装置,包括:
确定模块,用于根据超传输HyperTransport协议,确定HyperTransport协议的NONPOST通道用于传输高速缓存Cache一致性消息中的读命令,POST通道用于传输所述高速缓存Cache一致性消息中的写命令,RESPONSE通道用于传输所述高速缓存Cache一致性消息中的读响应,新增的BRESPONSE通道用于传输所述高速缓存Cache一致性消息中的写响应;
传输模块,用于在所述HyperTransport协议中对应的通道上传输所述读命令、所述写命令、所述读响应与所述写响应中的至少一种。
在第一种可能的实现方式中,根据第二方面,所述传输模块包括:读命令传输单元、写命令传输单元、读响应传输单元和/或写响应传输单元;其中,
所述读命令传输单元,用于采用HyperTransport协议的请求Request控制包传输所述读命令;其中,所述Request控制包包括Request扩展包和Request标准包,所述Request扩展包包括地址扩展包和顺序号扩展包,所述顺序号扩展包用于传输读命令顺序号及读命令附加信息,所述地址扩展包用于传输读命令高位地址;
所述写命令传输单元,用于采用HyperTransport协议的Request控制包传输所述写命令;其中,所述Request控制包包括Request扩展包和Request标准包,所述Request扩展包包括地址扩展包和顺序号扩展包,所述顺序号扩展包用于传输写命令顺序号及写命令附加信息,所述地址扩展包用于传输写命令高位地址;
所述读响应传输单元,用于采用HyperTransport协议的应答Response标准包和新增的读响应扩展包传输所述读响应,所述新增的读响应扩展包用于传输所述读响应中的读响应信息;
所述写响应传输单元,用于采用HyperTransport协议的目标TargetDone标准包和新增的写响应扩展包传输写响应,所述写响应扩展包用于传输所述写响应中的写响应信息。
在第二种可能的实现方式中,根据第一种可能的实现方式,所述传输模块还包括:
第一执行单元,用于若当前所述读命令传输单元需要采用Request控制包传输的读命令中的Request扩展包与上一次传输读命令中的Request扩展包相同,则确定不再传输当前读命令中的Request扩展包;
第二执行单元,用于若当前所述写命令传输单元需要采用Request控制包传输的写命令中的Request扩展包与上一次传输写命令中的Request扩展包相同,则确定不再传输当前写命令中的Request扩展包;
第三执行单元,用于若当前所述读响应传输单元需要采用Response标准包和新增的读响应扩展包传输的读响应中的读响应扩展包与上一次传输读响应中的读响应扩展包相同,则确定不再传输当前读响应中的读响应扩展包;
第四执行单元,用于若当前所述写响应传输单元需要采用TargetDone标准包和新增的写响应扩展包传输的写响应中的写响应扩展包与上一次传输写响应中的写响应扩展包相同,则确定不再传输当前写响应中的写响应扩展包。
本发明实施例的高速缓存一致性消息的传输方法和装置,根据超传输HyperTransport协议,确定HyperTransport协议的NONPOST通道用于传输高速缓存Cache一致性消息中的读命令,POST通道用于传输高速缓存Cache一致性消息中的写命令,RESPONSE通道用于传输高速缓存Cache一致性消息中的读响应,新增的BRESPONSE通道用于传输高速缓存Cache一致性消息中的写响应;在HyperTransport协议中对应的通道上传输读命令、写命令、读响应与写响应中的至少一种。采用本发明实施例提供的技术方案,可以避免读响应和写响应在传输通道上堵塞,提高了读写响应的传输效率。
附图说明
图1为本发明实施例提供的一种高速缓存一致性消息的传输方法的流程图;
图2为本发明实施例提供的另一种高速缓存一致性消息的传输方法的流程图;
图3为本发明实施例提供的一种高速缓存一致性消息的传输装置的结构示意图。
具体实施方式
图1为本发明实施例提供的一种高速缓存一致性消息的传输方法的流程图。如图1所示,该方法包括:
步骤S100、根据HyperTransport协议,确定HyperTransport协议的NONPOST通道用于传输Cache一致性消息中的读命令,POST通道用于传输Cache一致性消息中的写命令,RESPONSE通道用于传输Cache一致性消息中的读响应,新增的BRESPONSE通道用于传输Cache一致性消息中的写响应。
步骤S101、在HyperTransport协议中对应的通道上传输读命令、写命令、读响应与写响应中的至少一种。
上述各步骤的执行主体为HyperTransport总线控制器。在实际中,可以采用专用芯片,例如专用集成电路(Application Specific Integrated Circuits,简称ASIC)芯片,实现上述HyperTransport总线控制器。
在传输Cache一致性消息时,首先可以将HyperTransport协议与Cache一致性消息,也即Cache一致性协议的传输通道相对应,以传输Cache一致性协议的读写命令和读写响应,然后再在HyperTransport协议中对应的通道上传输Cache一致性协议的读命令、写命令、读响应与写响应中的至少一种,以下将读命令和写命令简称为读写命令,将读响应和写响应简称为读写响应。
具体的,现有技术HyperTransport协议中的传输通道主要被划分为3个虚通道,分别为POST、NONPOST和RESPONSE,而Cache一致性协议的传输通道包括4个:用于传输读命令的读命令通道、用于传输写命令的写命令通道、用于传输读响应的读响应通道、用于传输写响应的写响应通道。在实际中,可以用先入先出存储机制的先入先出队列(First Input First Output,简称FIFO)实现上述传输通道。
因此,可以将HyperTransport协议的NONPOST通道用于Cache一致性消息中的读命令,POST通道用于传输Cache一致性消息中的写命令,RESPONSE通道用于传输Cache一致性消息中的读响应,并且,本发明新增BRESPONSE通道用于传输Cache一致性消息中的写响应。
进一步地,当确定了用于传输Cache一致性消息中的读写命令和读写响应的通道后,便可以在HyperTransport协议中对应的通道上传输上述读命令、写命令、读响应与写响应中的一种或多种。需要说明的是,由于上述读写命令及读写响应分别对应了不同通道,因此,当传输读命令、写命令、读响应与写响应中的多种时,并不限制其传输的先后顺序。此外,在实际中,上述读命令、写命令、读响应与写响应是通过HyperTransport总线传输的。
在实际中,上述过程可以是:首先由处理器发送Cache一致性消息,接着由HyperTransport总线控制器的发送端接收该Cache一致性消息,并根据HyperTransport协议的规定将该Cache一致性消息通过4个FIFO实现的传输通道发送出去,在HyperTransport总线控制器的接收端也通过对应的4个FIFO实现的传输通道接收一致性消息,并重新合并为Cache一致性消息发送给另外的处理器。
需要说明的是,这里并不限制发送读写命令和读写响应的处理器与接收相应的读写命令和读写响应的处理器为同一台处理器,也就是说,上述用于发送读写命令和读写响应的专用芯片可以与接收相应的读写命令和读写响应的专用芯片位于同一台处理器上,也可以位于不同的处理器上。
本实施例首先根据HyperTransport协议,确定HyperTransport协议的NONPOST通道用于传输Cache一致性消息中的读命令,POST通道用于传输Cache一致性消息中的写命令,RESPONSE通道用于传输Cache一致性消息中的读响应,新增的BRESPONSE通道用于传输Cache一致性消息中的写响应,然后再在HyperTransport协议中对应的通道上传输读命令、写命令、读响应与写响应中的至少一种。由于本实施例采用了HyperTransport协议定义的NONPOST通道、POST通道和RESPONSE通道分别传输读命令、写命令和读响应,并新增BRESPONS通道以传输写响应,由于本实施例中的Cache一致性消息中的读响应与写响应是分别用其各自对应的通道传输的,因此,避免读响应和写响应在传输通道上堵塞,从而提高了读写响应的传输效率。
图2为本发明实施例提供的另一种高速缓存一致性消息的传输方法的流程图。如图2所示,该方法包括:
步骤S200、根据HyperTransport协议,确定HyperTransport协议的NONPOST通道用于传输Cache一致性消息中的读命令,POST通道用于传输Cache一致性消息中的写命令,RESPONSE通道用于传输Cache一致性消息中的读响应,新增的BRESPONSE通道用于传输Cache一致性消息中的写响应。
上述步骤及以下各步骤的执行主体均为具备传输读写命令和读写响应功能的HyperTransport总线控制器,在实际中,可以用专用芯片ASIC实现上述传输功能。
可选的,这里的HyperTransport协议的版本可以为HyperTransport3.0协议。当然,本实施例的方法也适用于具有NONPOST、POST及RESPONSE通道,并且,各通道上也有下述的Request控制包和Response控制包的HyperTransport协议。
该步骤的具体描述与步骤S100相同,在此不再赘述。
步骤S201、在HyperTransport协议中的NONPOST通道上传输Cache一致性消息中的读命令。
具体的,可以采用HyperTransport协议的请求(Request)控制包在HyperTransport协议中的NONPOST通道上传输Cache一致性消息中的读命令。上述Request控制包包括Request扩展包和Request标准包,上述Request扩展包包括地址扩展包和顺序号扩展包,与现有技术不同的是,这里的地址扩展包和顺序号扩展包专门用于传输Cache一致性消息中的读命令信息。在传输时,Request扩展包与其对应的Request标准包一同传输,即传输一个Request扩展包的同时,传输一个Request标准包。
采用HyperTransport协议的Request控制包传输读命令时,可以采用顺序号扩展包传输读命令顺序号及读命令附加信息,采用地址扩展包传输读命令高位地址,采用HyperTransport协议规定的Request标准包传输读命令中的数据信息。
上述读命令附加信息可以为除读命令高位地址及读命令顺序号之外的其它由Cache一致性定义的字域,该字域用于指示Request控制包中放置读命令高位地址、读命令顺序号以及数据信息的位置。
需要说明的是,在传输读命令时,为了提高传输效率,可以将Request扩展包和Request标准包同时一起发送,并一起进行流量控制,即接收端只需向发送端反馈一个其可以接收的数据包数量,该数量即可表示接收端可以接收Request扩展包的数量和Request标准包的数量。举例来说,接收端可以向发送端反馈当前其可以接收的数据包的数量为5个,则发送端即可知道其可以向接收端发送5个Request控制包,即5个Request扩展包和5个Request标准包,这样便不用分别对Request扩展包和Request标准包进行流量控制,从而提高传输效率。
可选的,根据HyperTransport协议,在NONPOST通道上传输读命令可以用NONPOST WRITE命令,即用NONPOST WRITE命令传输上述用于传输读命令的Request扩展包和Request标准包。
步骤S202、在HyperTransport协议中的POST通道上传输Cache一致性消息中的写命令。
具体的,可以采用HyperTransport协议的Request控制包在HyperTransport协议中的POST通道上传输Cache一致性消息中的写命令。
采用HyperTransport协议的Request控制包传输写命令时,可以采用顺序号扩展包传输写命令顺序号及写命令附加信息,采用地址扩展包传输写命令高位地址,采用HyperTransport协议规定的Request标准包传输写命令中的数据信息。上述写命令附加信息可以为除写命令高位地址及写命令顺序号之外的其它由Cache一致性定义的字域,该字域用于指示Request控制包中放置写命令高位地址、写命令顺序号以及数据信息的位置。
该步骤在传输写命令时,也可以将Request扩展包和Request标准包一起进行流量控制,其具体描述与步骤S201类似,此处不再赘述。
可选的,根据HyperTransport协议,在NONPOST通道上传输写命令可以用POST WRITE命令,即用POST WRITE命令传输上述用于传输写命令的Request扩展包和Request标准包。
步骤S203、在HyperTransport协议中的RESPONSE通道上传输Cache一致性消息中的读响应。
具体的,可以采用HyperTransport协议的应答(Response)标准包和新增的读响应扩展包在HyperTransport协议中的RESPONSE通道上传输Cache一致性消息中的读响应。
上述新增的读响应扩展包用于传输Cache一致性消息中的读响应中的读响应信息,Response标准包用于按照HyperTransport协议的规定传输读响应的基本信息,如读响应的地址等。在传输时,上述新增的读响应扩展包与其对应的Response标准包一同传输。
需要说明的是,在传输读响应时,也可以将上述新增的读响应扩展包和Response标准包一起进行传输,一起进行流量控制,其具体描述与步骤S201类似,此处不再赘述。
步骤S204、在新增的BRESPONSE通道上传输Cache一致性消息中的写响应。
具体的,可以采用HyperTransport协议的目标(TargetDone)标准包和新增的写响应扩展包在新增的BRESPONSE通道上传输Cache一致性消息中的写响应。
上述新增的写响应扩展包用来传输Cache一致性消息中的写响应中的写响应信息,TargetDone标准包按照HyperTransport协议的规定用于传输写响应的基本信息,如写响应的地址等。在传输时,上述新增的写响应扩展包与其对应的TargetDone标准包一同传输。
需要说明的是,在传输写响应时,也可以将新增的写响应扩展包和TargetDone标准包一起传输,一起进行流量控制,其具体描述与步骤S201类似,此处不再赘述。
需要说明的是,这里并不限制步骤S201~S204的先后执行顺序,在实际中,只需根据实际传输的内容,执行对应的步骤即可,当传输读写命令和读写响应中的多种时,也无传输的先后顺序限制。
从上面的描述可知,在传输Cache一致性消息时,HyperTransport协议中的NONPOST通道传输用于传输读命令的Request扩展包和Request标准包;HyperTransport协议的POST通道传输用于传输写命令的Request扩展包和Request标准包;HyperTransport协议中的RESPONSE通道传输用于传输读响应的Response标准包和新增的读响应扩展包;新增的BRESPONSE通道传输用于传输写响应的TargetDone标准包和新增的写响应扩展包。
需要说明的是,发送端在发送读写命令和读写响应时,是将其Cache一致性消息拆分成多个包传输的,相应的,接收端为了接收上述Cache一致性消息,可以进行相应的还原操作,即可从对应的包中读取Cache一致性消息。
此外,为了提高传输效率,对于读命令的传输,若当前需要采用Request控制包传输的读命令中的Request扩展包与上一次传输读命令中的Request扩展包相同,则确定不再传输当前读命令中的Request扩展包,此时接收端并未收到上述Request扩展包,而使用上一次收到的Request扩展包。
对于写命令的传输,若当前需要采用Request控制包传输的写命令中的Request扩展包与上一次传输写命令中的Request扩展包相同,则确定不再传输当前写命令中的Request扩展包,此时接收端并未收到上述Request扩展包,而使用上一次收到的Request扩展包。
对于读响应的传输,若当前需要采用Response标准包和新增的读响应扩展包传输的读响应中的读响应扩展包与上一次传输读响应中的读响应扩展包相同,则确定不再传输当前读响应中的读响应扩展包,此时接收端并未收到上述读响应扩展包,而使用上一次收到的读响应扩展包。
对于写响应的传输,若当前需要采用TargetDone标准包和新增的写响应扩展包传输的写响应中的写响应扩展包与上一次传输写响应中的写响应扩展包相同,则确定不再传输当前写响应中的写响应扩展包,此时接收端并未收到上述写响应扩展包,而使用上一次收到的写响应扩展包。
下面总结一下上述步骤中描述的读写命令及读写响应的传输。
对于一次读命令的传输,也即一个Cache一致性消息的读操作,在HyperTransport总线上传输的数据包为:在HyperTransport协议中的NONPOST通道上发出一个用于传输读命令顺序号及读命令附加信息的顺序号扩展包;在HyperTransport协议中的NONPOST通道上发出一个用于传输读命令高位地址的地址扩展包;在HyperTransport协议中的NONPOST通道上发出一个用于传输读命令附加信息的Request标准包,上述顺序号扩展包、地址扩展包以及Request标准包需要同时一起传输。
对于一次读响应的传输,也即一个Cache一致性消息的读返回操作,在HyperTranspor总线上传输的数据包为:在HyperTransport协议中的RESPONSE通道上发出一个用来传输读响应信息的读响应扩展包;在HyperTransport协议中的RESPONSE通道上发出一个用于传输读响应的基本信息的Response标准包,上述读响应扩展包和Response标准包需要同时一起传输。
对于一次写命令的传输,也即一个Cache一致性消息的写操作,在HyperTransport总线上传输的数据包为:在HyperTransport协议中的NONPOST通道上发出一个用于传输写命令顺序号及写命令附加信息的顺序号扩展包;在HyperTransport协议中的NONPOST通道上发出一个用于传输写命令高位地址的地址扩展包;在HyperTransport协议中的NONPOST通道上发出一个用于传输写命令附加信息的Request标准包,上述顺序号扩展包、地址扩展包以及Request标准包需要同时一起传输。
对于一次写响应的传输,也即一个Cache一致性消息的写返回操作,在HyperTransport总线上传输的数据包为:在新增的BRESPONSE通道上发出一个用来传输写响应信息的写响应扩展包;在新增的BRESPONSE通道上发出一个用于传输写响应的基本信息的TargetDone标准包,上述写响应扩展包和TargetDone标准包需要同时一起传输。
需要说明的是,由于HyperTransport3.0协议中的比特写(ByteWrite)请求包最多携带32比特掩码信息,其对应32个字节线(Byte Line),而HyperTransport3.0协议中的字节写(DWordWrite)请求包不携带掩码信息,所以对于写命令来说,若其大于256比特,则用DWordWrite请求包传输用于传输写命令的Request标准包;若其在256比特以内,则可以用ByteWrite请求包传输用于传输写命令的Request标准包。
由于本实施例采用了HyperTransport协议定义的NONPOST通道、POST通道和RESPONSE通道分别传输读命令、写命令和读响应,并新增BRESPONS通道以传输写响应,由于本实施例中的Cache一致性读响应与写响应是分别用其各自对应的通道传输的,因此,避免读响应和写响应在传输通道上堵塞,从而提高了读写响应的传输通畅性,此外,仅在原有HyperTransport协议的基础上新增读响应扩展包和写响应扩展包,配合原有HyperTransport协议中规定的Response标准包、TargetDone标准包实现读写响应的传输,对HyperTransport协议的改动小,可以兼容现有的HyperTransport协议,提高了本发明方法的兼容性;此外,由于本实施例对扩展包和标准包一起进行流量控制,因而可以提高传输效率。
图3为本发明实施例提供的一种高速缓存一致性消息的传输装置的结构示意图。如图3所示,该传输装置1包括:确定模块10和传输模块11。
具体的,确定模块10用于根据超传输HyperTransport协议,确定HyperTransport协议的NONPOST通道用于传输高速缓存Cache一致性消息中的读命令,POST通道用于传输高速缓存Cache一致性消息中的写命令,RESPONSE通道用于传输高速缓存Cache一致性消息中的读响应,新增的BRESPONSE通道用于传输高速缓存Cache一致性消息中的写响应;传输模块11用于在HyperTransport协议中对应的通道上传输读命令、写命令、读响应与写响应中的至少一种。
进一步地,传输模块11包括:读命令传输单元、写命令传输单元、读响应传输单元和/或写响应传输单元;其中,
读命令传输单元,用于采用HyperTransport协议的请求Request控制包传输读命令;其中,Request控制包包括Request扩展包和Request标准包,Request扩展包包括地址扩展包和顺序号扩展包,顺序号扩展包用于传输读命令顺序号及读命令附加信息,地址扩展包用于传输读命令高位地址,采用Request标准包传输读命令中的数据信息。
在读命令传输单元传输读命令时,为了提高传输效率,可以将Request扩展包和Request标准包同时一起发送,并一起进行流量控制。
写命令传输单元,用于采用HyperTransport协议的Request控制包传输写命令;其中,Request控制包包括Request扩展包和Request标准包,Request扩展包包括地址扩展包和顺序号扩展包,顺序号扩展包用于传输写命令顺序号及写命令附加信息,地址扩展包用于传输写命令高位地址,采用Request标准包传输写命令中的数据信息。
在写命令传输单元传输写命令时,为了提高传输效率,也可以将Request扩展包和Request标准包同时一起发送,以一起进行流量控制。
读响应传输单元,用于采用HyperTransport协议的应答Response标准包和新增的读响应扩展包传输读响应,新增的读响应扩展包用于传输读响应中的读响应信息。
在读响应传输单元传输读响应时,为了提高传输效率,也可以将新增的读响应扩展包与其对应的Response标准包同时一起发送,以一起进行流量控制。
写响应传输单元,用于采用HyperTransport协议的目标TargetDone标准包和新增的写响应扩展包传输写响应,写响应扩展包用于传输写响应中的写响应信息。
在写响应传输单元传输写响应时,为了提高传输效率,也可以将新增的写响应扩展包与其对应的目标TargetDone标准包同时一起发送,以一起进行流量控制。
需要说明的是,本实施例的装置中的读响应传输单元和写响应单元仅在原有HyperTransport协议的基础上新增读响应扩展包和写响应扩展包,配合原有HyperTransport协议中规定的Response标准包、TargetDone标准包实现读写响应的传输,对HyperTransport协议的改动小,可以兼容现有的HyperTransport协议,提高了本发明实施例装置的兼容性;
更进一步地,传输模块11还包括:第一执行单元,用于若当前读命令传输单元需要采用Request控制包传输的读命令中的Request扩展包与上一次传输读命令中的Request扩展包相同,则确定不再传输当前读命令中的Request扩展包;第二执行单元,用于若当前写命令传输单元需要采用Request控制包传输的写命令中的Request扩展包与上一次传输写命令中的Request扩展包相同,则确定不再传输当前写命令中的Request扩展包;第三执行单元,用于若当前读响应传输单元需要采用Response标准包和新增的读响应扩展包传输的读响应中的读响应扩展包与上一次传输读响应中的读响应扩展包相同,则确定不再传输当前读响应中的读响应扩展包;第四执行单元,用于若当前写响应传输单元需要采用TargetDone标准包和新增的写响应扩展包传输的写响应中的写响应扩展包与上一次传输写响应中的写响应扩展包相同,则确定不再传输当前写响应中的写响应扩展包。
由于本实施例装置采用了HyperTransport协议定义的NONPOST通道、POST通道和RESPONSE通道分别传输读命令、写命令和读响应,并新增BRESPONS通道以传输写响应,由于本实施例中的Cache一致性读响应与写响应是分别用其各自对应的通道传输的,因此,避免读响应和写响应在传输通道上堵塞,从而提高了读写响应的传输效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种高速缓存一致性消息的传输方法,其特征在于,包括:
根据超传输HyperTransport协议,确定HyperTransport协议的NONPOST通道用于传输高速缓存Cache一致性消息中的读命令,POST通道用于传输所述高速缓存Cache一致性消息中的写命令,RESPONSE通道用于传输所述高速缓存Cache一致性消息中的读响应,新增的BRESPONSE通道用于传输所述高速缓存Cache一致性消息中的写响应;
在所述HyperTransport协议中对应的通道上传输所述读命令、所述写命令、所述读响应与所述写响应中的至少一种。
2.根据权利要求1所述的方法,其特征在于,在所述HyperTransport协议中对应的通道上传输所述读命令,具体包括:
采用HyperTransport协议的请求Request控制包传输所述读命令;其中,所述Request控制包包括Request扩展包和Request标准包,所述Request扩展包包括地址扩展包和顺序号扩展包,所述顺序号扩展包用于传输读命令顺序号及读命令附加信息,所述地址扩展包用于传输读命令高位地址。
3.根据权利要求1所述的方法,其特征在于,在所述HyperTransport协议中对应的通道上传输所述写命令,具体包括:
采用HyperTransport协议的Request控制包传输所述写命令;其中,所述Request控制包包括Request扩展包和Request标准包,所述Request扩展包包括地址扩展包和顺序号扩展包,所述顺序号扩展包用于传输写命令顺序号及写命令附加信息,所述地址扩展包用于传输写命令高位地址。
4.根据权利要求1所述的方法,其特征在于,在所述HyperTransport协议中对应的通道上传输所述读响应,具体包括:
采用HyperTransport协议的应答Response标准包和新增的读响应扩展包传输所述读响应,所述新增的读响应扩展包用于传输所述读响应中的读响应信息。
5.根据权利要求4所述的方法,其特征在于,所述读响应扩展包与所述Response标准包一起传输,以一起进行流量控制。
6.根据权利要求1所述的方法,其特征在于,在所述HyperTransport协议中对应的通道上传输所述写响应,具体包括:
采用HyperTransport协议的目标TargetDone标准包和新增的写响应扩展包传输所述写响应,所述写响应扩展包用于传输所述写响应中的写响应信息。
7.根据权利要求6所述的方法,其特征在于,所述写响应扩展包与所述TargetDone标准包一起传输,以一起进行流量控制。
8.根据权利要求2-7任一项所述的方法,其特征在于,所述在所述HyperTransport协议中对应的通道上传输所述读命令、所述写命令、所述读响应与所述写响应中的至少一种,还包括:
若当前需要采用Request控制包传输的读命令中的Request扩展包与上一次传输读命令中的Request扩展包相同,则确定不再传输当前读命令中的Request扩展包;
若当前需要采用Request控制包传输的写命令中的Request扩展包与上一次传输写命令中的Request扩展包相同,则确定不再传输当前写命令中的Request扩展包;
若当前需要采用Response标准包和新增的读响应扩展包传输的读响应中的读响应扩展包与上一次传输读响应中的读响应扩展包相同,则确定不再传输当前读响应中的读响应扩展包;
若当前需要采用TargetDone标准包和新增的写响应扩展包传输的写响应中的写响应扩展包与上一次传输写响应中的写响应扩展包相同,则确定不再传输当前写响应中的写响应扩展包。
9.根据权利要求8所述的方法,其特征在于,所述HyperTransport协议为HyperTransport3.0。
10.一种高速缓存一致性消息的传输装置,其特征在于,包括:
确定模块,用于根据超传输HyperTransport协议,确定HyperTransport协议的NONPOST通道用于传输高速缓存Cache一致性消息中的读命令,POST通道用于传输所述高速缓存Cache一致性消息中的写命令,RESPONSE通道用于传输所述高速缓存Cache一致性消息中的读响应,新增的BRESPONSE通道用于传输所述高速缓存Cache一致性消息中的写响应;
传输模块,用于在所述确定模块确定的所述HyperTransport协议中对应的通道上传输所述读命令、所述写命令、所述读响应与所述写响应中的至少一种。
11.根据权利要求10所述的装置,其特征在于,所述传输模块包括:读命令传输单元、写命令传输单元、读响应传输单元和/或写响应传输单元;其中,
所述读命令传输单元,用于采用HyperTransport协议的请求Request控制包传输所述读命令;其中,所述Request控制包包括Request扩展包和Request标准包,所述Request扩展包包括地址扩展包和顺序号扩展包,所述顺序号扩展包用于传输读命令顺序号及读命令附加信息,所述地址扩展包用于传输读命令高位地址;
所述写命令传输单元,用于采用HyperTransport协议的Request控制包传输所述写命令;其中,所述Request控制包包括Request扩展包和Request标准包,所述Request扩展包包括地址扩展包和顺序号扩展包,所述顺序号扩展包用于传输写命令顺序号及写命令附加信息,所述地址扩展包用于传输写命令高位地址;
所述读响应传输单元,用于采用HyperTransport协议的应答Response标准包和新增的读响应扩展包传输所述读响应,所述新增的读响应扩展包用于传输所述读响应中的读响应信息;
所述写响应传输单元,用于采用HyperTransport协议的目标TargetDone标准包和新增的写响应扩展包传输所述写响应,所述写响应扩展包用于传输所述写响应中的写响应信息。
12.根据权利要求11所述的装置,其特征在于,所述传输模块还包括:
第一执行单元,用于若当前所述读命令传输单元需要采用Request控制包传输的读命令中的Request扩展包与上一次传输读命令中的Request扩展包相同,则确定不再传输当前读命令中的Request扩展包;
第二执行单元,用于若当前所述写命令传输单元需要采用Request控制包传输的写命令中的Request扩展包与上一次传输写命令中的Request扩展包相同,则确定不再传输当前写命令中的Request扩展包;
第三执行单元,用于若当前所述读响应传输单元需要采用Response标准包和新增的读响应扩展包传输的读响应中的读响应扩展包与上一次传输读响应中的读响应扩展包相同,则确定不再传输当前读响应中的读响应扩展包;
第四执行单元,用于若当前所述写响应传输单元需要采用TargetDone标准包和新增的写响应扩展包传输的写响应中的写响应扩展包与上一次传输写响应中的写响应扩展包相同,则确定不再传输当前写响应中的写响应扩展包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410244943.9A CN103995786B (zh) | 2014-06-04 | 2014-06-04 | 高速缓存一致性消息的传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410244943.9A CN103995786B (zh) | 2014-06-04 | 2014-06-04 | 高速缓存一致性消息的传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103995786A true CN103995786A (zh) | 2014-08-20 |
CN103995786B CN103995786B (zh) | 2017-05-17 |
Family
ID=51309958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410244943.9A Active CN103995786B (zh) | 2014-06-04 | 2014-06-04 | 高速缓存一致性消息的传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103995786B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536473A (zh) * | 2017-03-03 | 2018-09-14 | 华为技术有限公司 | 读取数据的方法和装置 |
CN110121863A (zh) * | 2016-09-23 | 2019-08-13 | 萨托里环球有限责任公司 | 用于向多个订户提供消息的系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050081127A1 (en) * | 2003-10-14 | 2005-04-14 | Broadcom Corporation | Hypertransport exception detection and processing |
CN1754158A (zh) * | 2003-01-27 | 2006-03-29 | 先进微装置公司 | 将写入数据注入到高速缓存的方法和设备 |
CN101425051A (zh) * | 2008-11-24 | 2009-05-06 | 中国科学院计算技术研究所 | 基于HyperTransport协议的Cache一致性协议传输方法及系统 |
CN101430664A (zh) * | 2008-09-12 | 2009-05-13 | 中国科学院计算技术研究所 | 一种多处理器系统及Cache一致性消息传输方法 |
-
2014
- 2014-06-04 CN CN201410244943.9A patent/CN103995786B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1754158A (zh) * | 2003-01-27 | 2006-03-29 | 先进微装置公司 | 将写入数据注入到高速缓存的方法和设备 |
US20050081127A1 (en) * | 2003-10-14 | 2005-04-14 | Broadcom Corporation | Hypertransport exception detection and processing |
CN101430664A (zh) * | 2008-09-12 | 2009-05-13 | 中国科学院计算技术研究所 | 一种多处理器系统及Cache一致性消息传输方法 |
CN101425051A (zh) * | 2008-11-24 | 2009-05-06 | 中国科学院计算技术研究所 | 基于HyperTransport协议的Cache一致性协议传输方法及系统 |
Non-Patent Citations (3)
Title |
---|
刘云: "HyperTransport端设备接口的设计与实现", 《计算机工程与设计》 * |
王焕东等: "龙芯3号互联系统的设计与实现", 《计算机研究与发展》 * |
裘嵘: "新型高性能互连技术Hyper Transport研究", 《计算机应用研究》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110121863A (zh) * | 2016-09-23 | 2019-08-13 | 萨托里环球有限责任公司 | 用于向多个订户提供消息的系统和方法 |
CN108536473A (zh) * | 2017-03-03 | 2018-09-14 | 华为技术有限公司 | 读取数据的方法和装置 |
CN108536473B (zh) * | 2017-03-03 | 2021-02-23 | 华为技术有限公司 | 读取数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103995786B (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103559156B (zh) | 一种fpga与计算机之间的通信系统 | |
TWI718969B (zh) | 記憶體裝置、記憶體定址方法與包括非暫時性儲存媒體的物品 | |
KR102173089B1 (ko) | 인터페이스 회로 및 그것의 패킷 전송 방법 | |
CN109558344A (zh) | 一种适用于网络传输的dma传输方法及dma控制器 | |
CN103714027A (zh) | 一种直接内存存取控制器的数据传输方法及装置 | |
US9311044B2 (en) | System and method for supporting efficient buffer usage with a single external memory interface | |
CN103150278A (zh) | 基于pio和dma混合的网络接口卡描述符提交方法 | |
US10628369B2 (en) | Header improvements in packets accessing contiguous addresses | |
CN104932994A (zh) | 一种数据处理方法及装置 | |
WO2018125384A1 (en) | Techniques for coalescing doorbells in a request message | |
CN105260332A (zh) | 一种对cpld数据包进行有序存储的方法及系统 | |
CN103701680A (zh) | 一种跨PCIe域报文传输的方法、设备及系统 | |
CN102750245B (zh) | 报文接收方法、报文接收模块、装置及系统 | |
CN110941582B (zh) | 一种bmc芯片的usb总线结构及其通信方法 | |
CN105373511A (zh) | 一种与多个光模块可同时通信的装置和方法 | |
US10049076B2 (en) | Methods and systems for implementing high speed serial interface bus having inhomogeneous lane bundles and encodings | |
CN103995786A (zh) | 高速缓存一致性消息的传输方法和装置 | |
CN103914427A (zh) | 基于三根物理互连线的集成电路片上通讯方法及装置 | |
TW201907295A (zh) | 介面組件 | |
US9244824B2 (en) | Memory sub-system and computing system including the same | |
CN101561663A (zh) | 一种运动控制系统及其控制方法 | |
CN106325377B (zh) | 外部设备扩展卡及输入输出外部设备的数据处理方法 | |
CN103294560A (zh) | 跨进程传递字符串的方法及装置 | |
CN107302522A (zh) | 基于USB的SpaceWire网络即插即用基础协议 | |
CN114238156A (zh) | 处理系统以及操作处理系统的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |