一种数据高速缓存的访问装置的制造方法_2

文档序号:8258378阅读:来源:国知局
[k-l:0]表示,其中[M-1:0]表示M个子信息,[k-l:0]表示一个子信息所记录的位置信息,当这k位中某一位为1,则代表此表项记录的对应缓存行位于k路-组相联数据高速缓存中的对应一路。
[0044]本实施例中,锁定位字段的位宽为1,用lock表示,lock = I表示此表项被锁定,需要一直保留,创建控制单元不能将新的地址写入该表项;lock = O表示此表项未被锁定,创建控制单元可以将新的地址写入该表项。
[0045]参照图4所示,为地址比较单元的组成的实施例图。输入的数据地址在访问高速缓存之前,先进入地址比较单元,与访问记录表中所有表项的地址进行比较,确定其是否与访问记录表的某一有效表项相等,此比较结果将返回给访问控制单元、创建控制单元以及反馈单元。在本实施例中,返回的结果用η位的独热码match[n-1:0]表示,当输入的访问地址与访问记录表的某个表项地址相等并且此表项有效时,则将match[n-l:0]的这一位置为I,否则置为O。
[0046]当创建单元检测到地址比较单元输出的比较结果显示输入地址不与任何历史访问记录表表项的有效地址相等时,在本实施例中即match[n_l:0]全为0,创建控制单元则将输入地址写入创建指针所指向的访问记录表表项的地址区域中,并将表项的有效位置起,位置信息清零。同时创建指针将指向下次创建表项时需要写入的表项。本实施例中表项替换的维护机制为先进先出算法。
[0047]当反馈单元检测到地址比较单元输出的比较结果显示输入地址不与任何历史访问记录表表项的有效地址相等时,反馈单元则把此次访问地址对高速缓存进行访问所得到的命中信息更新到相应表项中。
[0048]参照图5所示,为访问控制单元的一个实施例图。当访问控制单元检测到地址比较结果显示访问地址匹配到访问记录表的某一有效表项的地址,并且这一表项的位置信息中对应的子信息显示此地址位于数据高速缓存中的某一路,访问控制单元则会仅使能那一路数据阵列,而不使能k路标签阵列和其余k-Ι路数据阵列。而当以上条件不完全满足时,则还是按照传统的访问方式,根据访问类型(读/写)同时开启k路数据或标签的使能信号,具体为访问类型为读时,同时开启k路数据和标签阵列的使能信号,访问类型为写时,开启k路标签阵列的使能信号。
[0049]在本实施例中当match [n-Ι: O]的第x位为I时,则选取第x个表项的位置信息的子信息Px[y] [k-l:0],其中y表示输入的数据地址的位置信息存于第y个子信息中。定义tag_en[k-l:0]为标签阵列的使能信号,data_en[k_l:O]为数据阵列的使能信号,当使能信号的某位为I时,表征开启对应的阵列,否则关闭阵列。若Px[y][k-1:0]的某一位为I时,对于读访问请求,则将tag_en[k_l:0]置为全0,将data_en [k_l: O]置为选出的Px[y] [k-1:0]的值,对于写访问请求,则将tag_en[k_l:0]与data_en [k_l:O]置为全0,并保存Px[y][k-1:0]的值在后续操作中将数据写到指定的数据阵列中。若比较结果match[n-1:0]全为O或者选出的位置信息Px[y] [k_l:0]全为O时,对于读访问请求,则将tag_en[k-l:0]与data_en [k_l: O]置为全1,对于写访问请求,则将tag_en [k_l: O]置为全I,将data_en [k-1:0]置为全O,在后续操作中对标签进行比较以获取数据写回的目标阵列位置信息。
【主权项】
1.一种数据高速缓存的访问装置,其特征在于:所述访问装置包括: 访问记录表,包含η个表项,用于记忆数据地址及其在数据高速缓存中的位置信息,η为整数; 地址比较单元,由η个比较器组成,将输入的数据地址与访问记录表中所有表项的地址分别比较,产生η个表项的命中信息; 访问控制单元,连接于地址比较单元的输出端,根据地址比较单元的命中信息,访问访问记录表并获取相应的位置信息,产生对数据高速缓存的访问控制信号; 堆栈指针检测单元,用于对输入的数据地址进行堆栈指针的检查,产生堆栈访问的指不信号; 创建控制单元,连接于地址比较单元和堆栈指针检测单元的输出端,用于控制访问记录表的表项创建; 访问记录表以缓存行为单位记录其在数据高速缓存中的位置信息,每个访问记录表的表项记忆M个相邻高速缓存行的位置信息,M为整数。
2.如权利要求1所述的数据高速缓存的访问装置,其特征在于:所述访问装置还包括:反馈单元,用于根据地址比较单元的输出结果控制是否将此次输入的数据地址访问高速缓存所得到的位置信息写入访问记录表。
3.如权利要求1或2所述的数据高速缓存的访问装置,其特征在于:所述访问装置还包括:清空控制单元,用于控制访问记录表内容的清空,即把所有表项置为无效,清空单元在以下两种情况下会清空访问记录表,包括:(I)数据高速缓存发生了回填行为;⑵虚拟地址对物理地址的映射关系发生变动。
4.如权利要求3所述的数据高速缓存的访问装置,其特征在于:清空控制单元对访问记录表的写权限最高,当清空单元需要清空访问记录表的信息时,创建控制单元和反馈单元对访问记录表的写操作均失效。
5.如权利要求1或2所述的数据高速缓存的访问装置,其特征在于:所述访问记录表的表项由有效位字段、地址字段、位置信息字段以及锁定字段四部分组成:所述有效位字段表征此表项所存信息是否有效;所述地址字段用于表征高速缓存行的地址信息,并与输入的数据地址进行比较;所述位置信息字段包括M个子信息,分别存储对应的M个高速缓存行在高速缓存中的位置信息;所述锁定字段表征此表项是否能够被替换。
6.如权利要求5所述的数据高速缓存的访问装置,其特征在于:当所述地址比较单元的输出结果显示输入的数据地址不与任何有效表项的地址相等时,所述创建控制单元则在访问记录表中选取一个表项进行创建,即把输入的数据地址写入该表项的地址字段,同时把该表项的有效位字段置起,位置信息字段清除。
7.如权利要求6所述的数据高速缓存的访问装置,其特征在于:若堆栈检测单元检测到输入的数据地址是堆栈指针时,将锁定字段置起,表示该表项将一直保留,所述创建控制单元将不再选取该表项进行创建。
8.如权利要求1或2所述的数据高速缓存的访问装置,其特征在于:所述地址比较单元的输入地址以及存入访问记录表的地址为虚拟地址。
9.如权利要求2所述的数据高速缓存的访问装置,其特征在于:针对k路-组相联的数据高速缓存,访问记录表的表项中的位置信息记录的是该表项的地址对应的物理地址在k路-组相联数据高速缓存中的位置信息,此信息在该地址完成对数据高速缓存的k路标签访问以及标签比较后获得,由反馈单元将其写入该表项的位置信息字段的对应子信息中。
10.如权利要求1或2所述的数据高速缓存的访问装置,其特征在于:在输入的数据地址访问数据高速缓存前,访问控制单元会检测其是否同时满足以下两个条件:a、地址比较单元的输出结果显示输入的数据地址与某一有效表项的地址相等;b、该表项的位置信息显示该表项地址对应的物理地址位于数据高速缓存的某一路中; 若两个条件同时满足,对于数据高速缓存的读请求,访问控制单元只开启高速缓存中输入地址对应的访问记录表项中位置信息所指向的一路数据阵列,关闭其余(K-1)路数据阵列和k路标签阵列;对于数据高速缓存的写请求,访问控制单元则会关闭全部数据阵列和标签阵列,直接获取该输入地址的位置信息; 若两条件不同时满足时,对于数据高速缓存的读请求,访问控制单元则会开启全部数据阵列和标签阵列,对于数据高速缓存的写请求,访问控制单元则会开启k路标签阵列。
【专利摘要】一种数据高速缓存的访问装置,包括:访问记录表,包含n个表项,用于记忆数据地址及其在数据高速缓存中的位置信息;地址比较单元,用于将输入的数据地址与访问记录表中所有表项的地址分别比较,产生n个表项的命中信息;访问控制单元,用于根据命中信息访问访问记录表并获取相应的位置信息,产生对数据高速缓存的访问控制信号;堆栈指针检测单元,用于对输入的数据地址进行堆栈指针的检查,产生堆栈访问的指示信号;创建控制单元,用于控制访问记录表的表项创建;访问记录表以缓存行为单位记录其在数据高速缓存中的位置信息,每个访问记录表的表项记忆M个相邻高速缓存行的位置信息,M为整数。本发明有效降低功耗、提升处理器性能。
【IPC分类】G06F12-08
【公开号】CN104572499
【申请号】CN201410843407
【发明人】江鹏, 尚云海, 瞿仙淼
【申请人】杭州中天微系统有限公司
【公开日】2015年4月29日
【申请日】2014年12月30日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1