本发明涉及一种缺失状态保持寄存器,尤指用于高速缓存中的缺失状态保持寄存器。
背景技术:
1、高速缓存是一种速度极快但容量极小的储存设备,设置在中央处理器及内存之间,可大幅减少运行进程时须一再读取内存的时间。为了使高速缓存可在等待先前进入的请求的数据从内存返回的期间同时处理后续进入高速缓存的请求,在高速缓存的设计中包含有缺失状态保持寄存器,以用来储存关联于请求的信息(例如对应的高速缓存线地址、命中测试结果及请求种类等)并等待对应的数据返回时执行后续流程。然而,现有的缺失状态保持寄存器无法保持进入其中的多个请求的顺序,可能使已可被执行的部分请求长时间未被调度,进而减低缺失状态保持寄存器的性能。此外,部分缺失状态保持寄存器虽通过链表结构以维持多个请求的顺序,但设计上也具有较高的复杂度。因此,如何设计一种低复杂度的高性能缺失状态保持寄存器为本领域亟待解决的问题。
技术实现思路
1、本申请的目的之一在于公开一种缺失状态保持寄存器及其相关计算器系统,以解决上述问题。
2、本申请的一实施例涉及一种缺失状态保持寄存器,设置于高速缓存中,其特征在于,用来通过第一接口从命中测试单元接收对应多个请求的多个命中测试结果,以及通过第二接口从数据返回指示单元接收地址,其中所述地址对应的请求的数据已从内存返回高速缓存。缺失状态保持寄存器包括条目存储器、地址比较器、指标产生器及存取地址产生器。条目存储器根据多个命中测试结果储存对应多个请求的多个条目,其中依据所述条目存储器中各条目的编号顺序,所述多个请求进入所述缺失状态保持寄存器的时间顺序被标识,以及对应各请求的各条目包括高速缓存线地址、读写请求指示信息、条目有效指示信息及条目可执行指示信息。高速缓存线地址记录各请求在高速缓存中被分配的高速缓存线的地址;读写请求指示信息指示各请求为写请求或读请求;条目有效指示信息指示各条目是否已被使用;条目可执行指示信息指示各条目对应的各请求是否已可被执行。地址比较器比较从数据返回指示单元接收的地址与多个条目中的多个高速缓存线地址是否相同。指标产生器用来依据所述多个请求进入所述缺失状态保持寄存器的所述时间顺序,产生读取指标、最旧写请求指标、写入指标。读取指标指示多个条目中的最旧条目;最旧写请求指标指示多个条目中的最旧写请求条目;写入指标指示多个条目中的最新条目。存取地址产生器根据多个条目的多个条目可执行指示信息,产生存取地址,存取地址对应多个条目中的将执行条目。
3、本申请的另一实施例涉及一种计算器系统,包括高速缓存、计算引擎及内存。其中高速缓存包括缺失状态保持寄存器,以及计算引擎传送多个请求到高速缓存。
4、本申请的缺失状态保持寄存器在储存进入高速缓存的多个请求时可维持所述多个请求进入缺失状态保持寄存器的先后顺序,进而提高缺失状态保持寄存器整体的性能。此外,数个指标的设定及逻辑设计也保持缺失状态保持寄存器的低复杂度,从而使缺失状态保持寄存器达成高性能及低复杂度的设计。
1.一种缺失状态保持寄存器,设置于高速缓存中,其特征在于,用来通过第一接口从命中测试单元接收对应多个请求的多个命中测试结果,以及通过第二接口从数据返回指示单元接收地址,其中所述地址对应的请求的数据已从内存返回所述高速缓存,所述缺失状态保持寄存器包括:
2.依据权利要求1所述的缺失状态保持寄存器,其特征在于,当请求进入所述缺失状态保持寄存器时,所述缺失状态保持寄存器分配所述多个条目中的条目给所述请求,所述条目的条目有效指示信息指示所述条目未被使用。
3.依据权利要求2所述的缺失状态保持寄存器,其特征在于,在所述条目被分配给所述请求后,所述条目有效指示信息被更新为指示所述条目已被使用。
4.依据权利要求3所述的缺失状态保持寄存器,其特征在于,当所述请求为读请求,以及所述请求的命中测试结果指示所述请求为缓存命中时,所述请求对应的条目的所述读写请求指示信息被更新为指示所述请求为所述读请求,以及所述条目的所述条目可执行指示信息被更新为指示所述请求已可被执行。
5.依据权利要求3所述的缺失状态保持寄存器,其特征在于,当所述请求为读请求,以及所述请求的命中测试结果指示所述请求为缓存缺失时,所述请求对应的条目的所述读写请求指示信息被更新为指示所述请求为所述读请求,以及所述条目的所述条目可执行指示信息被更新为指示所述请求暂时不可被执行。
6.依据权利要求3所述的缺失状态保持寄存器,其特征在于,当进入所述缺失状态保持寄存器的请求为写请求时,所述请求对应的条目的所述读写请求指示信息被更新为指示所述请求为所述写请求,以及所述条目的所述条目可执行指示信息被更新为指示所述请求已可被执行。
7.依据权利要求1所述的缺失状态保持寄存器,其特征在于,若所述地址与所述多个条目的所述高速缓存线地址相同,所述地址比较器更新所述多个条目的所述条目可执行指示信息为指示所述多个条目对应的所述多个请求已可被执行。
8.依据权利要求1所述的缺失状态保持寄存器,其特征在于,若所述最旧条目对应的当下最早进入所述缺失状态保持寄存器的请求已被执行,所述缺失状态保持寄存器更新所述最旧条目的条目有效指示信息为指示所述最旧条目未被使用,以及更新所述读取指标。
9.依据权利要求1所述的缺失状态保持寄存器,其特征在于,若所述最旧写请求条目对应的所述写请求已被执行,所述缺失状态保持寄存器更新所述最旧写请求条目的条目有效指示信息为指示所述最旧写请求条目未被使用,以及更新所述最旧写请求指标。
10.依据权利要求1所述的缺失状态保持寄存器,其特征在于,若所述最新条目的条目有效指示信息指示所述最新条目未被使用,即将进入所述缺失状态保持寄存器的请求被写入所述最新条目中。
11.依据权利要求1所述的缺失状态保持寄存器,其特征在于,若所述最新条目的条目有效指示信息指示所述最新条目已被使用,即将进入所述缺失状态保持寄存器的请求暂缓被写入所述最新条目中。
12.依据权利要求1所述的缺失状态保持寄存器,其特征在于,若所述最新条目已被写入进入所述缺失状态保持寄存器的请求,所述缺失状态保持寄存器更新所述写入指标。
13.依据权利要求1所述的缺失状态保持寄存器,其特征在于,所述最新条目对应的即将进入所述缺失状态保持寄存器的请求进入所述缺失状态保持寄存器的时间晚于所述最旧条目对应的当下最早进入所述缺失状态保持寄存器的请求进入所述缺失状态保持寄存器的时间。
14.依据权利要求1所述的缺失状态保持寄存器,其特征在于,以所述读取指标指示的所述最旧条目为起点,依照所述多个条目对应的所述多个请求进入所述缺失状态保持寄存器的所述时间顺序,所述存取地址产生器决定所述存取地址对应的所述将执行条目,所述将执行条目对应当下即将被执行的请求。
15.依据权利要求1所述的缺失状态保持寄存器,其特征在于,所述缺失状态保持寄存器另包括:
16.依据权利要求15所述的缺失状态保持寄存器,其特征在于,所述多个条目包括可执行条目集合,所述可执行条目集合包括所述多个条目中所述条目可执行指示信息指示其对应的请求已可被执行的所有可执行条目,以及所述所有可执行条目包括最旧可执行条目,所述最旧可执行条目对应所述可执行条目集合中当下最早进入所述缺失状态保持寄存器的请求。
17.依据权利要求16所述的缺失状态保持寄存器,其特征在于,若所述读取指标所指示的所述最旧条目与所述最旧可执行条目相同,所述存取地址对应所述最旧可执行条目。
18.依据权利要求16所述的缺失状态保持寄存器,其特征在于,若所述最旧写请求指标所指示的所述最旧写请求条目与所述最旧可执行条目相同,在排除所述多个读请求条目及所述最旧写请求条目的所述所有可执行条目中,所述存取地址对应当下最早进入所述缺失状态保持寄存器的请求的条目。
19.依据权利要求16所述的缺失状态保持寄存器,其特征在于,若所述多个读请求条目不包括任何条目,所述存取地址对应所述最旧可执行条目。
20.一种计算机系统,其特征在于,包括: