1.一种片上多核处理器系统的高速缓存一致性协议的实现方法,所述片上多核处理器系统为基于单向分槽环的处理器系统,其特征在于,包括:步骤一,将高速缓存划分为一级Cache、二级Cache,该一级Cache为处理器系统中的各处理器私有,该二级Cache为各处理器共享,并分布于各处理器,将所述单向分槽环设置于该一级Cache、该二级Cache之间,并与各处理器、该一级Cache、该二级Cache连接;所述单向分槽环包括数据信息环和请求信息环,所述数据信息环用于传递数据信息槽,所述请求信息环用于传递各处理器的失效请求信息槽;步骤二,各处理器访问其私有的一级cache,访问失效时产生失效请求信息槽,并发送到所述请求信息环上,由所述请求信息环传递给其他处理器进行侦听;步骤三,数据提供者侦听到失效请求后产生数据信息槽,并发送到所述数据信息环上,由所述数据信息环传递给请求者,当处理器系统中同时有多个请求者,则这些请求者按照距离数据提供者的远近顺序,由近到远依次接收数据块,完成对应的访存操作,并将数据块传给下一个请求者,最终所有的请求者都能得到数据块并完成其访存操作;当处理器系统中同时仅有一个请求者,则由该请求者接收数据块,完成对应的访存操作。
2.根据权利要求1所述的高速缓存一致性协议的实现方法,其特征在于,所述步骤二中,包括:各处理器对失效请求信息槽进行侦听时需要对槽中的各域进行设置,具体为:在所述失效请求信息槽中加入第一域、第二域和第三域;该第一域用于告知数据提供者是否需要提供数据,在失效请求信息槽发出时该第一域置为0;该第二域用于在所述失效请求信息槽返回请求者时告知请求者是否可以安全地对得到的数据块进行写操作,在失效请求信息槽发出时该第二域置为0;该第三域用于表示所述失效请求信息槽发出时按照发出该槽的请求者处理器的程序顺序,在请求者对该请求块的操作之前是否有该请求者的其他失效请求块的操作未完成,如果有,则该第三域置为1,否则该第三域置为0;在处理器对读失效请求信息槽进行侦听时,若该处理器对该失效请求信息槽所请求的数据块发出读失效请求,且还未得到该数据块,则该处理器对该第一域置为1;在处理器对写失效请求信息槽进行侦听时,若该写失效请求信息槽已经过数据提供者,且该处理器发出对该写失效请求信息槽所请求数据块的写失效请求,且该处理器已经得到该数据块,但还未完成写操作,则该处理器对该第二域置为1。
3.根据权利要求2所述的高速缓存一致性协议的实现方法,其特征在于,所述步骤二中,包括:若该第一域已置位,则该第一域所在请求信息槽到达数据提供者时,数据提供者不需要提供数据,若该第一域未置位,则数据提供者需要提供数据。
4.根据权利要求2所述的高速缓存一致性协议的实现方法,其特征在于,所述步骤二中,包括:若该第二域已置位,则请求者获知其他处理器也得到该同一数据块且准备进行写操作,并等待其他处理器完成操作传来新的数据,对该新的数据进行写操作,若该第二域未置位,请求者对该同一数据块进行写操作。
5.根据权利要求1、2、3或4所述的高速缓存一致性协议的实现方法,其特征在于,所述步骤二中,包括:当所述失效请求为读失效请求时,若对该一级Cache、该二级Cache的侦听结果表明该读失效请求的数据块是M态时,接收到该读失效请求的处理器不再对该一级Cache和该二级Cache进行侦听,若对该一级Cache的侦听结果表明该读失效请求的数据块是S态时,仅对该二级Cache进行侦听。
6.根据权利要求1、2、3或4所述的高速缓存一致性协议的实现方法,其特征在于,所述步骤二中,包括:当所述失效请求为写失效请求时,若对该一级Cache、该二级Cache的侦听结果表明该写失效请求的数据块是M态时,接收到该写失效请求的处理器不再对该一级Cache和该二级Cache进行侦听,若对该一级Cache的侦听结果表明该写失效请求的数据块是S态时,对该一级Cache、该二级Cache继续进行侦听。
7.根据权利要求2、3或4所述的高速缓存一致性协议的实现方法,其特征在于,所述步骤二中,包括:当一处理器获得一个M态的数据块且未完成对该数据块的写操作,并侦听到其他处理器对该数据块的失效请求时,该处理器作为数据提供者按照其程序顺序判断在对该M态的数据块的写操作之前是否有对其他还未得到的失效数据块的未完成操作:若有,则需要根据该第三域判断,按照请求者的程序顺序,在请求者对该请求块的操作之前是否有该请求者的其他失效请求块的操作未完成,若该第三域表明有,则请求者需要等待数据提供者,数据提供者不用立刻提供数据,若该第三域表明没有,则数据提供者立刻向请求者提供数据,并等待请求者完成对该数据块的操作后再将该数据块传回,再完成未完成的操作;若无,则不需要根据该第三域判断在请求者对该请求块的操作之前是否有该请求者的其他失效请求块的操作未完成,等待自己的写操作完成后才向请求者提供该数据块。
8.根据权利要求1、2、3或4所述的高速缓存一致性协议的实现方法,其特征在于,所述步骤三中,包括:在所述数据信息槽中加入用于表示目的处理器的第四域,用于当请求者在得到数据块时根据该第四域判断是否需要将该数据块发送回所述数据信息环继续传播。
9.根据权利要求2、3或4所述的高速缓存一致性协议的实现方法,其特征在于,所述失效请求信息槽的信息包括:消息类型、请求者ID、数据块的地址、一级Cache侦听结果、二级Cache侦听结果、第一域、第二域以及第三域;所述数据信息槽的信息包括:消息类型、请求者ID、数据块的地址、数据块和目的处理器。
10.根据权利要求1、2、3或4所述的高速缓存一致性协议的实现方法,其特征在于,所述数据块的基本状态包括:M、S和I,暂时状态包括:IS、IM、SM、IMT和IMTT。
展开