基于HyperTransport协议的Cache一致性协议传输方法及系统的利记博彩app

文档序号:6471238阅读:189来源:国知局

专利名称::基于HyperTransport协议的Cache一致性协议传输方法及系统的利记博彩app
技术领域
:本发明涉及HyperTransport协议,尤其涉及基于HyperTransport协议的Cache—致性协议传输方法及系统。
背景技术
:HyperTransport协议是一种片外总线传输协议,主要应用于处理器与外围设备通信,处理器片间互联等。HyperTransport协议传输基于消息包(PACKET)方式,协议包分为命令包与数据包两种,各个命令包通过包头的6位编码来区分各种命令,各个命令包内部各字段拥有各自特定的定义。协议中的数据包紧随各自的命令包,无需使用特别的字段来区别属于哪个控制包。HyperTransport协议中,一个包的基本单位是32比特,不带地址的命令包长度为32比特,而带地址的命令包长度为64比特,其中地址宽度最大为40位。HyperTransport协议中,传输通道主要被划分为3个虚通道,分别为POST、NONPOST、RESPONSE。其中,POST通道主要用于传输不需要应答的协议包,包括POSTWRITE(POST写)、Broadcast(广播)、Fence;NONPOST通道主要用于传输需要应答的协议包以及与之相关的一些包,包括Flush、NONPOSTWRITE、READ(读)、Atomic-RMW(原子操作);RESPONSE通道用于返回读写结果,包括RdResponse(读返回)、TgtDone(写返回)。与之对应的,需要通过HyperTransport协议传输的Cache—致性协议有如下特点地址位48比特;传输通道包括4个读命令通道,写命令通道,读返回通道,写返回通道;读写之间不可有依赖关系,也即读命令与写命令不可共用一个通道;每个读写命令有12比特顺序号及多个不同字域。因为上述的各个差异,通过HyperTransport总线传输Cache—致性协议就需要增加一套额外的机制,为了同时与HyperTransport协议兼容,做尽可能小的改动。
发明内容为了解决上述的技术问题,提供了基于HyperTransport协议的Cache—致性协议传输方法及系统,其目的在于,通过HyperTransport总线传输定制的Cache—致性协议,同时使得总线本身可以与原有的HyperTransport设备相接正常工作。本发明提供了HyperTransport协议的Cache—致性协议传输方法,包括步骤1,将HyperTransport协议的NONPOST通道与Cache—致性协议的读命令通道对应,将HyperTransport协议的POST通道与Cache—致性协议的写命令通道对应,并将HyperTransport协议的响应通道与Cache—致性协议的响应通道对应;步骤2,新增用于传输写命令附加信息的写命令扩展包、用于传输写命令高位地址的写地址扩展包、用于传输读命令附加信息的读命令扩展包、用于传输读命令高位地址的读地址扩展包、以及用于传输读写响应返回附加信息的响应扩展包;步骤3,在HyperTransport协议的POST通道中传输写命令扩展包、写地址扩展包、写命令,在HyperTransport协议的NONPOST通道中传输读命令扩展包、读地址扩展包、读命令,在HyperTransport协议的响应通道中传输响应扩展包、读响应、写响应。所述HyperTransport协议为HyperTransport1.03。步骤3中对于读操作,在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的NONPOST通道上发出一个读命令扩展包;在HyperTransport协议的NONPOST通道上发出一个读地址扩展包;在HyperTransport协议的NONPOST通道上发出一个读包;对于读返回操作,在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的RESPONSE通道上发出一个响应扩展包;在HyperTransport协议的RESPONSE通道上发出一个读响应包;对于写操作,在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的POST通道上发出一个写命令扩展包;在HyperTransport协议的POST通道上发出一个写地址扩展包;在HyperTransport协议的POST通道上发出一个写包;对于写返回操作,在HyperTransport总线上传输的数据包如下在HyperTransport协议的RESPONSE通道上发出一个响应扩展包;在HyperTransport协议的RESPONSE通道上发出一个写响应包。写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包、以及响应扩展包分别由32比特构成。步骤3中,如果当前需要传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包与上一次传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包内容相同,则不再传输需要传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包。步骤3中,写目标接收到POSTWRITE命令后返回写响应包。步骤3中写地址扩展包的缓冲与写命令扩展包的缓冲位于NOP包的PostCmd域;读地址扩展包的缓冲与读命令扩展包的缓冲位于NOP包的NonPostCmd域;响应扩展包的缓冲位于NOP包的Response域。本发明提供了HyperTransport协议的Cache—致性协议传输系统,包括关系映射模块,用于将HyperTransport协议的NONPOST通道与Cache一致性协议的读命令通道对应,将HyperTransport协议的POST通道与Cache一致性协议的写命令通道对应,并将HyperTransport协议的响应通道与Cache一致性协议的响应通道对应;数据包新增模块,用于新增用于传输写命令附加信息的写命令扩展包、用于传输写命令高位地址的写地址扩展包、用于传输读命令附加信息的读命令扩展包、用于传输读命令高位地址的读地址扩展包、以及用于传输读写响应返回附加信息的响应扩展包;数据包发送模块,用于在HyperTransport协议的POST通道中传输写命令扩展包、写地址扩展包、写命令,在HyperTransport协议的NONPOST通道中传输读命令扩展包、读地址扩展包、读命令,在HyperTransport协议的响应通道中传输响应扩展包、读响应、写响应。所述HyperTransport助、议为HyperTransport1.03。对于读操作,数据包发送模块在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的NONPOST通道上发出一个读命令扩展包;在HyperTransport协议的NONPOST通道上发出一个读地址扩展包;在HyperTransport协议的NONPOST通道上发出一个读包;对于读返回操作,数据包发送模块在HyperTmnsport协议总线上传输的数据包如下在HyperTransport协议的RESPONSE通道上发出一个响应扩展包;在HyperTransport协议的RESPONSE通道上发出一个读响应包;对于写操作,数据包发送模块在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的POST通道上发出一个写命令扩展包;在HyperTransport协议的POST通道上发出一个写地址扩展包;在HyperTransport协议的POST通道上发出一个写包;对于写返回操作,数据包发送模块在HyperTransport总线上传输的数据包如下在HyperTransport协议的RESPONSE通道上发出一个响应扩展包;在HyperTransport协议的RESPONSE通道上发出一个写响应包。写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包、以及响应扩展包分别由32比特构成。如果当前需要传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包与上一次传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包内容相同,则数据包发送模块不再传输需要传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包。写目标的数据包发送模块接收到POSTWRITE命令后返回写响应包。写地址扩展包的缓冲与写命令扩展包的缓冲位于NOP包的PostCmd域;读地址扩展包的缓冲与读命令扩展包的缓冲位于NOP包的NonPostCmd域;响应扩展包的缓冲位于NOP包的Response域。本发明不影响对标准HyperTransport1.03协议的兼容,仅对协议作了一定的扩充,使得使用本发明的HyperTransport桥或设备可以与只使用标准HyperTransport协议的主桥或设备正常连接工作,而与同样使用本方法的主桥或设备相连时,则可以通过HyperTransport总线传输Cache—致性协议。图1是本发明提供的基于HyperTransport协议的Cache—致性协议传输方法流程图2是本发明提供的基于HyperTransport协议的Cache—致性协议传输系统示意图。具体实施例方式本发明基于HyperTransport1.03(以下的HyperTransport协议都特指HyperTransport1.03)。本发明中,将HyperTransport三个通道划分为与Cache—致性协议对应的如下通道1、读命令通道使用原有的NONPOST通道,使得NONPOST通道只使用原有的READ包;2、写命令通道使用原有的POST通道,使得所有的写命令都只出现在POST通道上而不使用NONPOST通道,也即只使用POSTWRITE命令,同时赋予POSTWRITE新的意义,使所有的写操作都需要写响应返回。对于原有的Hypertransport协议而言,一个写命令如果通过POST通道的POSTWRITE命令发出,就意味着这个写命令不需要从响应通道接收其写目标发回的写响应来完成这个写命令。但是,对我们重新定义后的POSTWRITE命令而言,它虽是通过POST通道的写命令,但仍然需要写目标发回一个写响应才能完成这个写命令。3、响应通道即原有的Response通道,包括读响应与写响应。Cache—致性协议中,对读与写的响应顺序没有依赖关系,所以可以通过同一个通道进行传输。对于各个通道,用HyperTransport协议上的原有的协议包,无法传输所有的附加信息,如40比特以上的地址位,附加信息域等等,对此,本发明增加了多个协议包,用于传输附加信息。各个新增的包也通过原有的三个通道进行传输,使用原有的包控制机制。新增的命令包如下所示1、写命令扩展,32比特,用于传输写命令附加信息,使用POST通道;2、写地址扩展,32比特,用于传输写命令高位地址,使用POST通道;3、读命令扩展,32比特,用于传输读命令附加信息,使用NONPOST通道;4、读地址扩展,32比特,用于传输读命令高位地址,使用NONPOST通道;5、响应扩展包,32比特,用于传输读写响应返回附加信息,使用Response通道。由此,对于基于HyperTransport总线的Cache—致性传输方法在各个通道上传输的包如下1、POST通道写命令扩展、写地址扩展、写命令(POSTWRITE),其他原有POST通道协议包由于在Cache—致性传输时不会使用而不会出现;2、NONPOST通道读命令扩展、读地址扩展、读命令(READ),其他原有NONPOST通道协议包由于在Cache—致性协议中不会使用而不会出现;3、Response通道响应扩展包、读响应(RdResponse)、写响应(TgtDone);此外,HyperTransport总线另有不属于以上三个通道的NOP包,用于HyperTransport协议上的包控制。原HyperTransport协议中,NOP包中包含六个用于释放各个通道缓冲区的域,分另'J是PostCmd,PostData,Response,ResponseData,NonPostCmd,NonPostData,新增的5种包中,写地址扩展与写命令扩展的缓冲位于PostCmd,读地址扩展与读命令扩展的缓冲位于NonPostCmd,响应扩展包的缓冲位于Response,按原有HyperTransport协议流控机制调度。对于一个Cache—致性的读操作,在HyperTransport总线上传输的包如下1、在NONPOST通道上发出一个读命令扩展包;2、在NONPOST通道上发出一个读地址扩展包;3、在NONPOST通道上发出一个读(READ)包。对于读返回操作,在HyperTransport总线上传输的包如下1、在RESPONSE通道上发出一个响应扩展包;2、在RESPONSE通道上发出一个读响应(RdResponse)包。对于写操作,在HyperTransport总线上传输的包如下1、在POST通道上发出一个写命令扩展包;2、在POST通道上发出一个写地址扩展包;3、在POST通道上发出一个写(POSTWRITE)包。对于写返回,在HyperTransport总线上传输的包如下1、在RESPONSE通道上发出一个响应扩展包;2、在RESPONSE通道上发出一个写响应(TgtDone)包。在hyperTransport总线上被拆成多个包的Cache—致性协议操作,应该在接收端进行相应的还原操作。为了提高传输效率,对于新增的五种扩展包,如果内容与上一次传输的扩展包完全一致,就可以省略本次的扩展包传输。本发明提供的HyperTransport协议的Cache—致性协议传输方法如图1所示,包括步骤101,将HyperTransport协议的NONPOST通道与Cache—致性协议的读命令通道对应,将HyperTransport协议的POST通道与Cache—致性协议的写命令通道对应,并将HyperTransport协议的响应通道与Cache—致性协议的响应通道对应;步骤102,新增用于传输写命令附加信息的写命令扩展包、用于传输写命令高位地址的写地址扩展包、用于传输读命令附加信息的读命令扩展包、用于传输读命令高位地址的读地址扩展包、以及用于传输读写响应返回附加信息的响应扩展包;步骤103,在HyperTransport协议的POST通道中传输写命令扩展包、写地址扩展包、写命令,在HyperTransport协议的NONPOST通道中传输读命令扩展包、读地址扩展包、读命令,在HyperTransport协议的响应通道中传输响应扩展包、读响应、写响应。本发明提供的HyperTransport协议的Cache—致性协议传输系统如图2所示,包括关系映射模块201,用于将HyperTransport协议的NONPOST通道与Cache—致性协议的读命令通道对应,将HyperTransport协议的POST通道与Cache—致性协议的写命令通道对应,并将HyperTransport协议的响应通道与Cache—致性协议的响应通道对应;数据包新增模块202,用于新增用于传输写命令附加信息的写命令扩展包、用于传输写命令高位地址的写地址扩展包、用于传输读命令附加信息的读命令扩展包、用于传输读命令高位地址的读地址扩展包、以及用于传输读写响应返回附加信息的响应扩展包;数据包发送模块203,用于在HyperTransport协议的POST通道中传输写命令扩展包、写地址扩展包、写命令,在HyperTransport协议的NONPOST通道中传输读命令扩展包、读地址扩展包、读命令,在HyperTransport协议的响应通道中传输响应扩展包、读响应、写响应。下面对在龙芯三号中实现的基于HyperTransport协议的Cache—致性协议传输方法进行说明对于龙芯三号,实现的Cache—致性协议相对HyperTransport协议本身有如下特点1、每个通道的ID号为12位,在实现中,低四位使用读/写/返回包中的SrcTagId传输,高位ID号使用读命令扩展/写命令扩展/响应扩展包进行传输;2、读写命令地址宽度为48位,其中ADDR[39:2]使用读写命令中的相应比特传输,其它的位置在读/写地址扩展中进行传输;3、写通道相应增力B了以下4言号awport/awcache/awdirqid/awcmd/awburst/awsize/awscseti/awstate。全部在写命令扩展包中实5见;4、读通道相应增力口了以下1W号arprot/arcache/arcpuno/arcmd/arburst。全总在读命令扩展包中实现;5、读返回相应增力口以下信号arresponse/rrequest/rscseti/rstate。全部在响应扩展包中实现。而新增的这些包的包编码使用了协议中保留使用的编码,对于的包如下所示1写命令扩展110100<table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table>本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。权利要求1.HyperTransport协议的Cache一致性协议传输方法,其特征在于,包括步骤1,将HyperTransport协议的NONPOST通道与Cache一致性协议的读命令通道对应,将HyperTransport协议的POST通道与Cache一致性协议的写命令通道对应,并将HyperTransport协议的响应通道与Cache一致性协议的响应通道对应;步骤2,新增用于传输写命令附加信息的写命令扩展包、用于传输写命令高位地址的写地址扩展包、用于传输读命令附加信息的读命令扩展包、用于传输读命令高位地址的读地址扩展包、以及用于传输读写响应返回附加信息的响应扩展包;步骤3,在HyperTransport协议的POST通道中传输写命令扩展包、写地址扩展包、写命令,在HyperTransport协议的NONPOST通道中传输读命令扩展包、读地址扩展包、读命令,在HyperTransport协议的响应通道中传输响应扩展包、读响应、写响应。2.如权利要求1所述的HyperTransport协议的Cache—致性协议传输方法,其特征在于,所述HyperTransport协议为HyperTransport1.03。3.如权利要求1所述的HyperTransport协议的Cache—致性协议传输方法,其特征在于,步骤3中对于读操作,在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的NONPOST通道上发出一个读命令扩展包;在HyperTransport协议的NONPOST通道上发出一个读地址扩展包;在HyperTransport协议的NONPOST通道上发出一个读包;对于读返回操作,在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的RESPONSE通道上发出一个响应扩展包;在HyperTransport协议的RESPONSE通道上发出一个读响应包;对于写操作,在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的POST通道上发出一个写命令扩展包;在HyperTransport协议的POST通道上发出一个写地址扩展包;在HyperTransport协议的POST通道上发出一个写包;对于写返回操作,在HyperTransport总线上传输的数据包如下在HyperTransport协议的RESPONSE通道上发出一个响应扩展包;在HyperTransport协议的RESPONSE通道上发出一个写响应包。4.如权利要求1所述的HyperTransport协议的Cache—致性协议传输方法,其特征在于,写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包、以及响应扩展包分别由32比特构成。5.如权利要求1所述的HyperTransport协议的Cache—致性协议传输方法,其特征在于,歩骤3中,如果当前需要传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包与上一次传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包内容相同,则不再传输需要传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包。6.如权利要求1所述的HyperTransport协议的Cache—致性协议传输方法,其特征在于,步骤3中,写目标接收到POSTWRITE命令后返回写响应包。7.如权利要求1所述的HyperTransport协议的Cache—致性协议传输方法,其特征在于,步骤3中写地址扩展包的缓冲与写命令扩展包的缓冲位于NOP包的PostCmd域;读地址扩展包的缓冲与读命令扩展包的缓冲位于NOP包的NonPostCmd域;响应扩展包的缓冲位于NOP包的Response域。8.HyperTransport协议的Cache—致性协议传输系统,其特征在于,包括关系映射模块,用于将HyperTransport协议的NONPOST通道与Cache一致性协议的读命令通道对应,将HyperTransport协议的POST通道与Cache一致性协议的写命令通道对应,并将HyperTransport协议的响应通道与Cache一致性协议的响应通道对应;数据包新增模块,用于新增用于传输写命令附加信息的写命令扩展包、用于传输写命令高位地址的写地址扩展包、用于传输读命令附加信息的读命令扩展包、用于传输读命令高位地址的读地址扩展包、以及用于传输读写响应返回附加信息的响应扩展包;数据包发送模块,用于在HyperTransport协议的POST通道中传输写命令扩展包、写地址扩展包、写命令,在HyperTransport协议的NONPOST通道中传输读命令扩展包、读地址扩展包、读命令,在HyperTransport协议的响应通道中传输响应扩展包、读响应、写响应。9.如权利要求8所述的HyperTransport协议的Cache—致性协议传输系统,其特征在于,所述HyperTransport协议为HyperTransport1.03。10.如权利要求8所述的HyperTransport协议的Cache—致性协议传输系统,其特征在于,对于读操作,数据包发送模块在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的NONPOST通道上发出一个读命令扩展包;在HyperTransport协议的NONPOST通道上发出一个读地址扩展包;在HyperTransport协议的NONPOST通道上发出一个读包;对于读返回操作,数据包发送模块在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的RESPONSE通道上发出一个响应扩展包;在HyperTransport协议的RESPONSE通道上发出一个读响应包;对于写操作,数据包发送模块在HyperTransport协议总线上传输的数据包如下在HyperTransport协议的POST通道上发出一个写命令扩展包;在HyperTransport协议的POST通道上发出一个写地址扩展包;在HyperTransport协议的POST通道上发出一个写包;对于写返回操作,数据包发送模块在HyperTransport总线上传输的数据包如下在HyperTransport协议的RESPONSE通道上发出一个响应扩展包;在HyperTransport协议的RESPONSE通道上发出-一个写响应包。11.如权利要求8所述的HyperTransport协议的Cache—致性协议传输系统,其特征在于,写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包、以及响应扩展包分别由32比特构成。12.如权利要求8所述的HyperTransport协议的Cache—致性协议传输系统,其特征在于,如果当前需要传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包与上一次传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包内容相同,则数据包发送模块不再传输需要传输的写命令扩展包、写地址扩展包、读命令扩展包、读地址扩展包或响应扩展包。13.如权利要求8所述的HyperTransport协议的Cache—致性协议传输系统,其特征在于,写目标的数据包发送模块接收到POSTWRITE命令后返回写响应包。14.如权利要求8所述的HyperTransport协议的Cache—致性协议传输系统,其特征在于,写地址扩展包的缓冲与写命令扩展包的缓冲位于NOP包的PostCmd域;读地址扩展包的缓冲与读命令扩展包的缓冲位于NOP包的NonPostCmd域;响应扩展包的缓冲位于NOP包的Response域。全文摘要本发明涉及基于HyperTransport协议的Cache一致性协议传输方法及系统。该包括将HyperTransport协议的通道与Cache一致性协议的通道对应;新增用于传输写命令附加信息的写命令扩展包、用于传输写命令高位地址的写地址扩展包、用于传输读命令附加信息的读命令扩展包、用于传输读命令高位地址的读地址扩展包、以及用于传输读写响应返回附加信息的响应扩展包;在HyperTransport协议的通道中传输写命令扩展包、写地址扩展包、写命令、读命令扩展包、读地址扩展包、读命令、传输响应扩展包、读响应、写响应。本发明仅对协议作了一定的扩充,使得使用本发明的HyperTransport桥或设备可以与只使用标准HyperTransport协议的主桥或设备正常连接工作,而与同样使用本方法的主桥或设备相连时,则可以通过HyperTransport总线传输Cache一致性协议。文档编号G06F13/42GK101425051SQ20081022715公开日2009年5月6日申请日期2008年11月24日优先权日2008年11月24日发明者王焕东,翔高申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1