管理计算机存储器高速缓存中的访问冲突的方法和装置制造方法及图纸

技术编号:2832070 阅读:225 留言:0更新日期:2012-04-11 18:40
管理计算机存储器高速缓存中的访问冲突包括在存储器高速缓存控制器中接收来自超标量计算机处理器的存储存储器指令执行单元的写入地址和写入数据、和来自超标量计算机处理器的加载存储器指令执行单元的读取数据的读取地址,以便在当前时钟周期内同时向/从计算机存储器高速缓存中的相同高速缓存行中写入写入数据/读出读取数据;由存储器高速缓存控制器在当前时钟周期内将写入数据存入相同高速缓存行中;由存储器高速缓存控制器在加载存储器指令执行单元中推迟相应的加载微指令;和由存储器高速缓存控制器在随后的时钟周期内从计算机存储器高速缓存中读出来自读取地址的读取数据。

【技术实现步骤摘要】

本专利技术涉及数据处理,尤其涉及管理计算机存储器高速緩存中的 访问冲突的方法、系统和产品。
技术介绍
计算机存储器高速緩存以高速緩存行(cache line),,,即,通常 具有用于读写主存储器的大小的存储段的形式组织起来。当今使用的 超标量计算机处理器为以微码形式执行微指令的多条处理流水线实现 多个执行单元,从而使两条不同执行流水线同时对同一个存储器高速 緩存行的同时访问成为可能。高速緩存行的大小大于超标量计算机处 理器通常读写存储器的大小。如果处理器以例如字节、字(两个字节)、 双字(四个字节)、和四字(八个字节)为单位读写存储器,处理器 的高速緩存行可以是八个字节(32位)或十六个字节(64位)-从而 处理器与高速緩存之间的所有读写都恰好装入一个高速緩存行。但是, 在这样的系统中,都不访问相同存储单元(memory location )的存储 微指令和读取微指令两者仍然可以访问相同高速緩存行-因为被寻址 的存储单元尽管不同,但两者都处在相同的高速緩存行内。这种事件 模式被称为计算机存储器高速緩存中的访问冲突。在典型的存储器高速緩存中,当将数据写入高速緩存行中或从高 速緩存行中读出时,每个读写电子器件需要排它地访问每个高速緩存 行 一使得在同 一时钟周期内不能同时读写相同的高速緩存行。这意味 着,当存在访问沖突时,必须延迟或推迟(stall)加载(load)微 指令或存储微指令。管理访问冲突的现有方法允许将存储微指令推迟 到随后的时钟周期,而加载微指令在当前时钟周期中按计划执行。这样的优先级方案会影响性能,因为在一个先前被推迟的存储微指令完 成之前不能撤回随后的存储微指令-因为处理器执行单元总时按顺序 完成存储微指令,并且这种实现方案提高了推迟存储的概率。因此, 按常规方式允许推迟存储存在着在当今计算机处理器中处理流水线的中断(disruption)显著增加的风险。
技术实现思路
本专利技术公开了管理计算机存储器高速緩存中的访问冲突,以便总 是将比相应的加栽微指令高的优先级给予发生冲突的存储微指令 - 从 而避免推迟后续的存储微指令的风险的方法和装置。更具体地说,本 专利技术公开了包括如下操作的管理计算机存储器高速緩存中的访问冲突 的方法和装置在存储器高速緩存控制器中接收来自超标量计算机处 理器的存储存储器指令执行单元(store memory instruction execution unit)的写入数据和写入地址、和来自所述超标量计算机处理器的加 栽存储器指令执行单元的读取数据的读取地址,以便在当前时钟周期 上向和从计算机存储器高速緩存中的相同高速緩存行写入所述写入数 据和读出所述读取数据;由存储器高速緩存控制器在当前时钟周期上 将写入数据存储到相同高速緩存行中;由存储器高速緩存控制器在加 载存储器指令执行单元中推迟相应的加载微指令;和由存储器高速緩 存控制器在随后的时钟周期上从计算机存储器高速緩存中读出来自读 取地址的读取数据。通过结合附图对本专利技术的示范性实施例进行如下更具体描述,本 专利技术的前述和其它目的、特征和优点将更加清楚,在附图中,相同的 标号一般代表本专利技术的示范性实施例的相同部分。附图说明图l示出了包含可用在根据本专利技术实施例管理计算机存储器高速 緩存中的访问沖突中的计算机例子的自动计算机构的方块图;图2示出了根据本专利技术实施例管理计算机存储器高速緩存中的访 问冲突的示范性装置的功能方块图;图3示出了根据本专利技术实施例管理计算机存储器高速緩存中的访 问冲突的示范性装置的功能方块图;图4示出了根据本专利技术实施例管理计算机存储器高速緩存中的访 问沖突的示范性方法的流程图;和图5示出了例示根据本专利技术实施例管理计算机存储器高速緩存中 的访问冲突的示范性时序图。具体实施方式下面从图l开始,参照附图描述根据本专利技术实施例管理计算机存 储器高速緩存中的访问冲突的示范性方法、系统、和产品。根据本发 明实施例管理计算机存储器高速緩存中的访问沖突一般利用计算机, 即,自动计算机构或计算机实现。图l示出了包含可用在根据本专利技术 实施例管理计算机存储器高速緩存中的访问沖突中的计算机例子(152)的自动计算机构的方块图。图1的计算机(152)包括至少一 个计算机处理器(156)或'CPU,,以及通过高速存储器总线(166)、 总线适配器(158)、和前侧总线(162)与处理器(156)和与语音服 务器的其它部件连接的随机访问存储器(168) ORAM,)。处理器(156)是包括不止一个执行单元(100, 102)的超标量 处理器。超标量处理器是包括多个执行单元以允许在多条流水线中同 时处理不止一条指令的计算机处理器。流水线是串联在处理器内的一 组数据处理单元,从而一个处理单元的输出是下一个处理单元的输入。 这样一系列单元中的每个单元被称为一个级,从而由特定数目的级 表征流水线,即,三级流水线、四级流水线等。所有流水线至少含有 两个级, 一些流水线具有多于十二个级。构成流水线级的处理单元是 实现指令的各个级(地址解码和算术、寄存器取出、高速緩存查找等) 的逻辑单元。流水线的实现使处理器可以更有效地工作,因为一条计 算机程序指令可以与同时处在流水线每个级中的其它计算机程序指令 同时执行。因此,五级流水线可以含有在流水线中同时执行的五条计 算机程序指令, 一条正在从寄存器中取出, 一条正在被解码, 一条正 在执行单元中执行, 一条正在从存储器中检索其他的所需数据, 一条 正在将它的结果写回到寄存器中,所有这些指令都同时处在同一时钟 周期内。超标量处理器(156)由时钟(未示出)驱动。处理器由静态和 动态逻辑的内部网络组成门、锁存器、触发器、和寄存器。当时钟 脉冲到达时,动态单元(锁存器、触发器、和寄存器)取其新值,然 后,静态逻辑需要一段时间来解码新值。然后,下一个时钟脉冲到达, 动态单元再次取其新值,以此类推。通过将静态逻辑分解成较小的片 段,并且将动态单元插在这些静态逻辑片段之间,可以缩短逻辑单元 给出有效输出之前的延迟,这意味着可以缩短时钟周期-并且处理器 可以运行得更快。可以将超标量处理器(156)看作提供一种内部多处理,,形式, 因为多个执行单元可以在处理器内同时对不止一条指令并行地操作。 许多现代处理器都是超标量的; 一些处理器含有比另一些更多的并行 执行单元。执行单元是处理器内能够执行一类特定指令,存储器I/0、 整数计算、布尔(Boolean)逻辑运算、浮点计算等的静态和动态逻辑 模块。在超标量处理器中,存在同一类型的不止一个执行单元,以及 将指令调度到执行单元的附加电路。例如,大多数超标量设计包括不 止一个整数算术/逻辑单元('ALU,)。调度器从存储器中读取指令, 并且决定哪些指令可以并行地运行,将它们调度到两个单元。图l的计算机还包括有时称为处理器高速緩存或一级高速緩存的 那种类型的计算机存储器高速緩存(108),但在本说明书中称为'计 算机存储器高速緩存,,或有时简称为'高速緩存,。计算机存储器高速 緩存是处理器(156 )用于缩短访问存储器的平均时间的高速緩存。与 RAM (168)中的主存储器相比,高速緩存是存储来自最频繁使用的 主存储单元-这里称为'存储页面,的数据的副本的更小、更快的存本文档来自技高网
...

【技术保护点】
一种管理计算机存储器高速缓存中的访问冲突的方法,该方法包含:在存储器高速缓存控制器中接收来自超标量计算机处理器的存储存储器指令执行单元的写入地址和写入数据、和来自该超标量计算机处理器的加载存储器指令执行单元的读取数据的读取地址,以便在当前时钟周期上同时向和从计算机存储器高速缓存中的相同高速缓存行写入所述写入数据和读出所述读取数据;由存储器高速缓存控制器在当前时钟周期上将写入数据存储到该相同高速缓存行中;由存储器高速缓存控制器在加载存储器指令执行单元中推迟相应的加载微指令;和由存储器高速缓存控制器在随后的时钟周期上从计算机存储器高速缓存中读出来自读取地址的读取数据。

【技术特征摘要】
US 2006-9-29 11/536,7981.一种管理计算机存储器高速缓存中的访问冲突的方法,该方法包含在存储器高速缓存控制器中接收来自超标量计算机处理器的存储存储器指令执行单元的写入地址和写入数据、和来自该超标量计算机处理器的加载存储器指令执行单元的读取数据的读取地址,以便在当前时钟周期上同时向和从计算机存储器高速缓存中的相同高速缓存行写入所述写入数据和读出所述读取数据;由存储器高速缓存控制器在当前时钟周期上将写入数据存储到该相同高速缓存行中;由存储器高速缓存控制器在加载存储器指令执行单元中推迟相应的加载微指令;和由存储器高速缓存控制器在随后的时钟周期上从计算机存储器高速缓存中读出来自读取地址的读取数据。2. 根据权利要求1所述的方法,进一步包含在第一流水线中 在超标量计算机处理器的存储存储器指令执行单元中执行第一存储微 指令以将写入数据存储在计算机存储器中的写入地址中,计算机存储 器中的写入地址含有高速緩存在计算机存储器高速緩存中的相同高速 緩存行中的内容;和与执行第 一存储微指令同时地在第二流水线中在超标量计算机 处理器的加载存储器指令执行单元中执行相应的加载微指令以从计算 机存储器中的读取地址中加载读取数据,计算机存储器中的读取地址 含有也高速緩存在计算机存储器高速緩存中的相同高速緩存行中的内 容。3. 根据权利要求l所述的方法,其中计算机存储器高速緩存被配置成具有多于一帧存储器容量的成 组相关联高速緩存存储器,其中,存储器的一个页面可以存入高速緩 存的任何帧中;并且 向和从计算机存储器高速緩存中的相同高速緩存行写入的写入 数据和读出的读取数据包含向和从计算机存储器高速緩存中的相同帧 中的相同高速緩存行写入的写入数据和读出的读取数据。4. 根据权利要求l所述的方法,其中计算机存储器高速緩存控制器包含加载输入地址端口 、存储输入 地址端口、和与加载输入地址端口连接的地址比较电路,地址比较电 路也与存储输入地址端口连接,地址比较电路含有用于推迟相应的加 载微指令、与加栽存储器指令执行单元连接的推迟输出;该方法进一步包含由计算机存储器高速緩存控制器的地址比较 电路确定将向和从相同高速緩存行写入所述写入数据和读出所述读取 数据;和推迟相应的加载微指令进一步包含由地址比较电路通过推迟输 出向加栽存储器指令执行单元发出信号以推迟相应的加栽微指令。5. 根据权利要求l所述的方法,其中超标量计算机处理器进一步包含微指令队列,微指令队列包含第 一存储微指令、相应的加栽微指令、和第二存储微指令;并且该方法进一步包含在推迟相应的加栽微指令而不推迟第二存储 微指令的同时,在执行了第一存储微指令之后执行第二存储微指令。6. —种管理计算机存储器高速緩存中的访问冲突的装置...

【专利技术属性】
技术研发人员:马库斯L考尔尼盖伊加恩N法姆
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[]

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

1