背景技术:
1、现代计算系统具有多个中央处理单元(cpu),其通常包括并依赖于高速缓存分级结构中的多个高速缓存来改善处理器和存储器性能。与主存储器相比,高速缓存是较小且较快的存储器设备,其存储频繁存取或预期在不久的将来使用的数据,使得可以以低等待时间存取数据。此类高速缓存设备通常实施于静态随机存取存储器(sram)中且通常位于发出存储器请求的处理单元与主存储器设备之间。存储器侧高速缓存是附接到特定存储器设备或分区的专用高速缓存,其对由其它装置写入到存储器设备及从存储器设备读取的数据进行高速缓存。
2、计算系统中的高速缓存子系统包括被配置为存储数据块的高速高速缓存存储器。如本文所用,“块”是存储在连续存储器位置中的一组字节,出于一致性目的,其被视为单元。如本文中所使用的,术语“高速缓存块”、“块”、“高速缓存行”及“行”中的每一者可互换。在一些实施方案中,块也可以是高速缓存中的分配和释放单元。块中字节的数目根据设计选择而变化,并且大小可变化。
3、在多节点计算机系统中,必须采取特殊的预防措施来维持由不同处理节点所使用的数据的一致性。例如,如果处理器尝试访问某个存储器地址处的数据,则它必须首先确定该存储器是否被存储在另一高速缓存中并且已经被修改。为了实施这种高速缓存一致性协议,高速缓存通常包含多个状态位以指示高速缓存行的状态以维持整个系统中的数据一致性。例如,一种一致性协议是“moesi”协议,其中每个字母表示高速缓存行的状态。这些状态如下:高速缓存行已被修改(m),高速缓存行是排他的(e)或共享的(s),或者高速缓存行是无效的(i)。拥有(o)状态指示:该行在一个高速缓存中被修改,在其他高速缓存中可能存在共享副本,并且存储器中的数据是陈旧的。每个高速缓存行包括高速缓存目录(其跟踪由系统当前使用的高速缓存行)中的状态位,以指示该行处于哪个moesi状态。
技术实现思路
1.一种用于处理高速缓存行逐出事务的方法,所述方法包括:
2.根据权利要求1所述的方法,其中,在处理所述高速缓存行逐出数据之前,释放所述高速缓存子系统以在接收到所述高速缓存行逐出数据之后处理其他事务。
3.根据权利要求1所述的方法,其中,处理所述高速缓存行逐出数据还包括:
4.根据权利要求3所述的方法,还包括:
5.根据权利要求4所述的方法,还包括:
6.根据权利要求4所述的方法,还包括:
7.根据权利要求3所述的方法,还包括:
8.根据权利要求3所述的方法,还包括:
9.一种处理高速缓存行逐出事务的设备,所述设备包括:
10.根据权利要求9所述的设备,其中:
11.根据权利要求9所述的设备,其中,所述一致性从控器通过以下方式处理所述高速缓存行逐出数据:
12.根据权利要求9所述的设备,还包括:
13.根据权利要求12所述的设备,还包括:
14.根据权利要求9所述的设备,还包括:
15.根据权利要求9所述的设备,还包括:
16.根据权利要求9所述的设备,其中,在所述一致性从控器处理所述高速缓存行逐出数据之后,所述第一一致性主控器:
17.一种用于处理高速缓存行逐出事务的方法,所述方法包括:
18.根据权利要求17所述的方法,其中,检测所述危害条件还包括:
19.根据权利要求17所述的方法,其中,检测所述危害条件还包括:
20.根据权利要求17所述的方法,其中,检测所述危害条件还包括: