发明名称 一种将储存资料重新导向而更正虚拟集合以避免虚拟集合储存失误之惩罚的虚拟集合快取记忆体
摘要 本发明系关于一个避免虚拟集合储存错误损害(miss penalty)的虚拟集合快取记忆体。当一储存动作的询问通过(query pass)期间,仅有该储存位址之未转译的实体位址位元(untranslated physical address bits)才会被用来索引该快取记忆体阵列(cache array)。在一实施例中,该未转译的实体位址位元选择快取线的四个虚拟集合(virtualset)。在选择该四个虚拟集合的同时,一个转换参照缓冲器(TLB)将该储存位元址之虚拟部分转译为实体位址。比较器将比较该虚拟集合的所有标记与该转译后的实体位址,以决定其是否吻合(match)。如果四个虚拟集合中的任何一个集合发生吻合,即使并非是该储存位址之原始虚拟位址位元元所指定的集合,该快取记忆体将显示一个命中信号(hit)。该吻合的虚拟集合,路(way)以及状态(status)将在更新过程(update pass)中记忆并使用以储存该资料。
申请公布号 TWI228657 申请公布日期 2005.03.01
申请号 TW090132649 申请日期 2001.12.28
申请人 智慧第一公司 发明人 罗德尼.胡克;葛兰.亨利
分类号 G06F12/08;G06F12/10 主分类号 G06F12/08
代理机构 代理人 何文渊 台北市信义区松德路171号2楼
主权项 1.一个虚拟集合快取记忆体(virtual set cache),该记忆 体至少包含: 一具2N个集合之快取线(cache lines)与对应的标记之 阵列(associated tag); 一索引(index)信号,与前述阵列相耦合,包含一储存 位元址中M个未转译的实体位址位元,用以从上述2N 个集合中选择2N-M个虚拟集合的实体位元址; 复数个比较器,系与前述阵列相耦合,用来比较在 上述2N-M个虚拟集合中的关联标记与上述储存位址 中多个已转译的实体位址; 一命中信号(hit signal),系与前述比较器相耦合,当 在上述2N-M个虚拟集合中之上述关联标记之一与上 述储存位址之多个已转译的实体位址位元相吻合 时,用来显示在该虚拟集合快取记忆体中有一命中 。 2.如申请专利范围第1项所述之虚拟集合快取记忆 体,其中上述索引更包括L个虚拟集合选择位元,该 虚拟集合选择位元系由2N-M个虚拟集合中选择出一 个集合。 3.如申请专利范围第3项所述之虚拟集合快取记忆 体,其中上述之L系大于零。 4.如申请专利范围第2项所述之虚拟集合快取记忆 体,其中上述之L个虚拟集合选择位元系与上述M个 未转译的实体位址位元相连锁以形成上述之索引 。 5.如申请专利范围第2项所述之虚拟集合快取记忆 体,其中更包括: 一多工器,至少包括: 一输出,相耦合以提供上述索引之上述虚拟集合选 择位元; 第一及第二位址输入;以及 一控制输入,用来自上述第一及第二位址输入选择 其一以提供于上述之输出。 6.如申请专利范围第5项所述之虚拟集合快取记忆 体,其中上述之第一位址输入系相耦合以取得上述 储存位址之L个虚拟位址。 7.如申请专利范围第6项所述之虚拟集合快取记忆 体,其中上述命中信号显示该命中之情形,无论上 述L个虚拟位址位元是否自上述2N-M个虚拟集合中 找到一个吻合的集合。 8.如申请专利范围第7项所述之虚拟集合快取记忆 体,其中上述2N-M个虚拟集合中该吻合集合,具有上 述2N-M个虚拟集合中与上述储存位址之该多个转译 的实体位址位元吻合的该关联标记之一。 9.如申请专利范围第8项所述之虚拟集合快取记忆 体,其中更包括: 一与上述之多个比较器耦合之暂存器,用来储存L 个虚拟集合重新导向路径位元。 10.如申请专利范围第9项所述之虚拟集合快取记忆 体,其中上述L个虚拟集合重新导向路径位元找到 上述2N-M个虚拟集合中之该吻合集合。 11.如申请专利范围第10项所述之虚拟集合快取记 忆体,其中上述第二位址输入系耦合以获得上述L 个虚拟集合重新导向路径位元。 12.如申请专利范围第11项所述之虚拟集合快取记 忆体,其中如果上述命中信号显示在该虚拟集合快 取记忆体中已找到,则上述控制输入选择该第二输 入以利用上述储存位址所指定之资料更新该快取 记忆体。 13.如申请专利范围第6项所述之虚拟集合快取记忆 体,其中如果上述2N-M个虚拟集合中该关联标记没 有一个与上述储存位址之多个转译实体位址位元 相吻合,则上述命中信号在该虚拟集合快取记忆体 中将显示错误。 14.如申请专利范围第13项所述之虚拟集合快取记 忆体,其中如果该命中信号显示在上述虚拟集合快 取记忆体中存在上述的错误,则上述控制输入选择 该第一输入以利用上述储存位址所指定之资料更 新该快取记忆体。 15.如申请专利范围第1项所述之虚拟集合快取记忆 体,其中上述索引由上述2N个集合中选择该2N-M个虚 拟集合时,亦同时于一转换参照缓冲器中查找该储 存位址之虚拟位址位元,以提供上述储存位址之该 转译后实体位址位元。 16.一微处理器,至少包括: 一转换参照缓冲器(TLB),用来获得一储存动作之一 虚拟分页号码并提供其中之一实体分页位址; 一与上述转换参照缓冲器耦合的虚拟集合快取记 忆体(virtual set cache),用来获得上述储存动作之一 个实体快取线落差以选择其中的数个虚拟集合,并 且询问上述数个虚拟集合中哪一个集合具有该储 存动作利用该转换参照缓冲器所提供的该实体分 页位址所指定的快取线;以及 一与上述虚拟集合快取记忆体相耦合的位址暂存 器,用来储存一吻合虚拟集合号码,其指定上述受 到该储存动作指定的该数个虚拟集合之一; 其中该微处理器利用储存在该位址暂存器之该吻 合虚拟集合号码以更新上述快取线,如果该虚拟集 合快取线显示上述虚拟分页号码之部分用来为该 虚拟集合快取记忆体制作索引会产生一虚拟集合 储存错误。 17.如申请专利范围第16项所述之微处理器,其中上 述实体快取线落差在该虚拟集合快取记忆体选择 上述数个虚拟集合,与上述转换参照缓冲器提供该 实体分页位址系同时发生。 18.如申请专利范围第16项所述之微处理器,其中上 述虚拟集合快取记忆体包括一N路径集合关联快取 记忆体,其中N大于零。 19.如申请专利范围第18项所述之微处理器,其中更 包括:一与上述虚拟集合快取记忆体耦合的路径暂 存器,用来储存一吻合路径号码,其中上述吻合路 径号码指定在上述询问上具有该快取线之该N路径 集合关联快取记忆体之一。 20.如申请专利范围第19项所述之微处理器,其中如 果上述虚拟集合快取记忆体显示上述虚拟分页数 字会在该虚拟集合快取记忆体产生一虚拟储存错 误,则该微处理器利用储存在该路径暂存器中的上 述吻合路径号码更新该虚拟集合快取记忆体。 21.如申请专利范围第16项所述之微处理器,其中更 包括:一与上述虚拟集合快取记忆体耦合的状态暂 存器,用来储存一吻合状态,其中该吻合状态在上 述询问中指定上述快取线之一快取线状态。 22.如申请专利范围第21项所述之微处理器,其中如 果上述虚拟集合快取记忆体显示上述虚拟分页数 字会在该虚拟集合快取记忆体产生一虚拟储存错 误,则该微处理器利用储存在该状态暂存器中的上 述快取线状态更新该虚拟集合快取记忆体。 23.一种用来将由一储存指令之一位元址所指定的 资料储存至一虚拟快取记忆体之方法,该方法至少 包括: 利用该储存指令之该位元址上的未转译的实体位 址位元,在该快取记忆体中制作索引以选择数个快 取线及关联标记的虚拟集合; 将该储存指令之该位元址上的虚拟位址位元转译 为转译后的实体位址位元; 将上述转译后的实体位址位元与上述数个虚拟集 合的上述关联标记相比较; 利用上述比较的结果储存上述数个虚拟集合中一 吻合集合的吻合虚拟集合号码; 如果上述数个虚拟集合中该吻合集合与上述储存 指令的该虚拟位元址所指定的虚拟集合不相同,则 利用上述吻合虚拟集合号码制作索引以更新该数 个虚拟集合之一。 24.如申请专利范围第23项所述之方法,其中更包括: 如果上述数个虚拟集合中该吻合集合与上述储存 指令的该虚拟位元址所指定的虚拟集合相同,则利 用上述储存指令之虚拟位元址位元在该快取记忆 体中制作索引,以更新该数个虚拟集合中之该吻合 虚拟集合。 25.如申请专利范围第23项所述之方法,其中利用上 述未转译实体位址位元在该快取记忆体中制作索 引将于上述转译结束前开始。 26.如申请专利范围第23项所述之方法,其中利用上 述未转译实体位址位元在该快取记忆体中制作索 引与上述转译系实质上同时完成。 27.如申请专利范围第23项所述之方法,其中利用上 述吻合虚拟集合号码在该快取记忆体中制作索引, 以更新上述数个虚拟集合中之一个吻合集合,系在 不延迟一具有该虚拟集合快取记忆体之微处理器 之管线的情形下完成。 28.如申请专利范围第23项所述之方法,其中利用上 述吻合虚拟集合号码在该快取记忆体中制作索引 更包括利用与上述吻合虚拟集合号码相连锁之该 未转译的实体位址位元,在该快取记忆体中制作索 引。 29.如申请专利范围第23项所述之方法,其中更包括: 利用该比较的结果,决定任何上述的关联标记是否 与上述转译的实体位址位元相吻合。 30.如申请专利范围第29项所述之方法,其中更包括: 利用该比较的结果,如果任何上述的关联标记与上 述转译的实体位址位元相吻合,则产生一真实命中 信号。 31.如申请专利范围第29项所述之方法,其中更包括: 利用该比较的结果,如果没有任何上述的关联标记 与上述转译的实体位址位元相吻合,则产生一错误 命中信号。 32.如申请专利范围第29项所述之方法,其中更包括: 如果没有任何上述的关联标记与上述转译的实体 位址位元相吻合,则延迟具有该虚拟集合快取记忆 体之一微处理器之管线。 33.如申请专利范围第32项所述之方法,其中更包括: 利用上述储存指令之该虚拟位元址位元在该快取 记忆体中制作索引,在该延迟后更新该虚拟集合。 图式简单说明: 图1所示者为本发明之管线式微处理器之方块图; 图2所示者为图1中本发明之虚拟集合快取记忆体 之方块图; 图3所示者为图2中本发明之虚拟集合选择位元多 工器之运作表格; 图4所示者为图2中本发明之标记与状态阵列之方 块图; 图5所示者为图1中本发明之虚拟集合快取记忆体 之运作流程图; 图6所示者为本发明中将两个相异的虚拟储存位址 ,如图1中之储存位址,转译为相同的实体位址之方 块图; 图7所示者为本发明中经储存指令之三次执行动作 后,在该资料快取记忆体中所成功产生三个内容之 方块图。
地址 美国