高速缓存哈希制造技术

技术编号:13075254 阅读:93 留言:0更新日期:2016-03-30 10:51
高速缓存哈希。一种用于根据包括第一二进制串和第二二进制串的输入存储器地址生成高速缓存地址的高速缓存逻辑器,该高速缓存逻辑器包括:哈希引擎,该哈希引擎被构造成根据该第一二进制串生成第三二进制串,并通过借助于第一逐比特运算组合第一二进制串的比特的相应子集来形成第三二进制串的各比特,其中,在该哈希引擎处定义该第一二进制串的比特的子集使得每个子集是唯一的并且每个子集包括第一二进制串的约一半比特;以及组合单元,该组合单元被设置成借助于可逆运算将该第三二进制串与该第二二进制串组合,以形成用作高速缓存存储器中的高速缓存地址的至少一部分的二进制输出串。

【技术实现步骤摘要】

本专利技术设及用于生成高速缓存地址的高速缓存逻辑器、高速缓存存储器系统和用 于生成高速缓存地址的方法。
技术介绍
高速缓存存储器通过减少与存储器访问相关的延迟而被广泛用于提高数据处理 系统的性能。运通常是通过在能够W低于存储数据的主存储器的延迟来访问的高速缓存存 储器处高速缓存一些之前访问过的(例如,最近访问的)数据来实现的。为了保证能够易 于从高速缓存存储器检索高速缓存的数据,必须根据定义的方案组织高速缓存的数据。 通常,将用于高速缓存的数据保存在由地址(诸如,存储器地址或计算系统中的 硬件资源地址)标识的资源处。运些资源地址的访问可W遵循某些固定的模式(诸如J顿 序存储器区块的访问),并且因此可能注意确保表示相关(例如,顺序)资源地址的数据均 匀分布在高速缓存存储器上,W避免病态访问情况。全部映射到仅少数高速缓存线路的一 系列地址是病态访问情况的实例,其中重复访问相同的少数高速缓存线路可能导致大量高 速缓存线路更换和当从该高速缓存需要数据时的糟糕的命中率。运种行为严重影响高速缓 存存储器的性能。 本领域中已提出多种机制W改进数据在高速缓存上的分布和对于针对给定大小 的高速缓存最大化高速缓存命中率。运些机制可W使用哈希函数来给数据到高速缓存 地址上的映射注入伪随机变化。例如,M.Schlanskeer等在其论文"Randomizationand AssociativityintheDesignofPlacement-InsensitiveCaches"(ComputerSystems Uboratory,HPk93-41,1993年6月)中描述了使用哈希函数来随机化高速缓存中的数据 的位置。然而,使用此类复杂的哈希函数在娃面积和延迟方面一般太昂贵,而不能在高速的 高速缓存存储器系统的关键路径中实现。 阳0化]通过避免高速缓存访问冲突(例如,当因在同一高速缓存线路上正执行另一 高速缓存读取而无法访问高速缓存的数据时可能发生)来改进高速缓存性能的其它机 制包括使用偏斜相关的高速缓存架构。在"Acasefortwo-wayskewed-associative caches" (A.Seznec,Proceedingsofthe20thInternationalSymposiumonComputer Architecture,SanDiego,1993 年 5 月)和"Trade-offsforSkewed-Associative (Niches巧.Vandierendonck和K.Debosschere(根特大学的电子及信息系统系发表的论文) 中描述了运种架构。偏斜相关的架构需要多个高速缓存块(cachebank),因为该机制通过 高速缓存地址的块间分散来获取低未命中率。然而,如Vandierendonck的论文所评述的, 通过将偏斜相关的架构与哈希函数组合W将随机字符注入数据至高速缓存的映射来实现 最佳性能。再次地,运种哈希函数很复杂并且通常太昂贵而不能在高速的高速缓存存储器 系统的关键路径中实现。
技术实现思路
根据本专利技术第一方面,提供了一种用于根据二进制输入存储器地址生成高速缓存 地址的高速缓存逻辑器,该二进制输入存储器地址包括为具有第一预定义长度的第一比特 序列的第一二进制串和作为具有第二预定义长度的第二比特序列的第二二进制串,该高速 缓存逻辑器包括: 哈希引擎,该哈希引擎被构造成根据第一二进制串生成第Ξ二进制串,该第Ξ二 进制串具有第二预定义长度,并且哈希引擎被构造成通过借助于第一逐比特运算组合第 一二进制串的比特的相应子集来形成第Ξ二进制串的各比特,其中,在哈希引擎处定义第 一二进制串的比特的子集,使得每个子集是唯一的并且每个子集平均起来包括第一二进制 串的约一半比特;W及 组合单元,该组合单元被设置成借助于可逆运算将第Ξ二进制串与第二二进制串 组合,W形成用作高速缓存存储器中的高速缓存地址的至少一部分的二进制输出串。 可W在哈希引擎用硬件借助于第一二进制串与第Ξ二进制串的比特之间的数据 路径,定义第一二进制串的比特的该子集,每个数据路径被设置成提供第一二进制串的比 特,W与同一子集的第一二进制串的其它比特组合,W形成第Ξ二进制串的对应比特。 所述数据路径可W是哈希引擎的物理连接。 哈希引擎可W包括多组逐比特运算符,每组逐比特运算符被设置成根据第一二进 制串的比特的对应子集形成第Ξ二进制串的比特。 该二进制输出串可W用于标识高速缓存存储器块中的高速缓存行。 该第一二进制串可W是二进制输入存储器地址的预定的最高有效比特序列。 该第二二进制串可W是二进制输入地址的预定的次高有效比特序列。 该二进制输入存储器地址可W具有固定长度,并且第一二进制串和第二二进制串 是二进制输入存储器地址中相邻的比特序列。 高速缓存逻辑器还可W包括块选择单元,该块选择单元被构造成借助于第二逐比 特运算将从二进制输出串导出的一个或更多个比特与二进制输入存储器地址的同等数量 的比特组合,W生成用于标识具有多个高速缓存块的高速缓存存储器中的块的块标识符。 块标识符在长度上可W等于从二进制输出串导出的比特的数量。 该二进制输入串的该一个或更多个比特可W是不比第二二进制串的比特高的比 特。 该二进制输入串的该一个或更多个比特可W与该二进制输入串中的第二二进制 串相邻。 高速缓存逻辑器还可W包括块加扰单元,该块加扰单元具有比特寄存器,该比特 寄存器被构造成存储预定二进制串,该块加扰单元被构造成通过将来自二进制输出串的一 个或更多个比特的序列用作比特寄存器中的查找器来对二进制输出串的一个或更多个比 特进行运算,W从所存储的预定二进制串选择预定数量的比特W在块选择单元中用作从二 进制输出串导出的该一个或更多个比特,其中,该预定二进制串具有W下属性,即所选择比 特的值具有基本相同的可能性为可能值中的任一值。 预定二进制串可W是伪随机二进制串。 预定二进制串可W是2^个比特长,并且来自二进制输出串的该预定比特序列可W 是二进制输出串的N个最低有效比特,块加扰单元被构造成将二进制输出串的该N个最低 有效比特用作该预定二进制串中的比特地址,从该比特地址其从所存储的预定二进制串读 取预定数量比特。 比特寄存器可W是可编程的,并且块加扰单元可操作用于使伪随机生成的二进制 串被写入比特寄存器W用作预定二进制串。 第一逐比特运算和可逆运算均可W是X0R运算。 阳02引第二逐比特运算可W是X0R运算。 根据本专利技术第二方面,提供了一种高速缓存存储器系统,该高速缓存存储器系统 包括: 根据本专利技术第一方面的具有上述任意特征的高速缓存逻辑器;W及 具有多个高速缓存块的高速缓存存储器; 其中,高速缓存存储器系统被构造成在由块标识符指示的高速缓存块的二进制输 出串指示的高速缓存行至少存储第一二进制串和具有二进制输入存储器地址、用于高速缓 存的数据。 每个高速缓存块可W具有2S个行,其中,S为第二二进制串和第Ξ二进制串的每个 中的比特数量。 二进制输入存储器地址可W包括二进制输入存储器地址的W个最低有效比特的 第四二进制串,第四二进制串不包括第一二进制串、第二二进制串或从二进制输出串导出 的、用在块选择单元的比特,并且高速缓存存储器的各高速缓本文档来自技高网
...

【技术保护点】
一种用于根据二进制输入存储器地址生成高速缓存地址的高速缓存逻辑器,该二进制输入存储器地址包括为具有第一预定义长度的第一比特序列的第一二进制串和为具有第二预定义长度的第二比特序列的第二二进制串,该高速缓存逻辑器包括:哈希引擎,该哈希引擎被构造成根据所述第一二进制串生成第三二进制串,该第三二进制串具有所述第二预定义长度,并且所述哈希引擎被构造成通过借助于第一逐比特运算组合所述第一二进制串的比特的相应子集来形成所述第三二进制串的各比特,其中,在所述哈希引擎处定义所述第一二进制串的比特的子集,使得每个子集是唯一的并且每个子集平均来说包括所述第一二进制串的约一半比特;以及组合单元,该组合单元被设置成借助于可逆运算将所述第三二进制串与所述第二二进制串组合,以形成用作高速缓存存储器中的高速缓存地址的至少一部分的二进制输出串。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:S·芬尼
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国;GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1