当前位置: 首页 > 专利查询>英特尔公司专利>正文

使用存储属性的技术制造技术

技术编号:4091625 阅读:198 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及使用存储属性的技术。本发明专利技术尤其涉及一种使用存储属性向程序或者其它代理传递信息的技术。更具体地,本发明专利技术的实施例涉及以高效率的方式使用存储属性来校验各种存储性能。

【技术实现步骤摘要】

本专利技术的实施例涉及微处理器和微处理器系统。更具体地,本专利技术的实施例涉及 使用、校验和设置存储器状态或与一个或多个存储器位置相关联的其它信息的技术,该技 术使用与所述一个或多个存储器位置相对应的属性位。
技术介绍
现代计算机系统中,微处理器或微处理器核可以访问大量存储器地址空间,其可 能包括很多种存储器类型。例如,计算机系统中存储器的一地址范围可能存储只能由特定 的处理器或处理器核访问的信息,而其它地址范围则可被多个处理器或处理器核访问。存 储器的排他性仅是一个可能与存储器地址范围相关联的属性。一些现有技术系统中,操作系统(OS)以虚拟存储页的相对粗糙的粒度,通过虚拟 存储器管理来控制存储器许可或访问规则。在一些现有技术系统中,虚拟存储页的粒度大 小从约4千字节(KB)到很多兆字节(MB)不等。考虑到系统等待时间、芯片占地面积(die real estate)或系统成本,改变存储器权限将是个开销大的操作。在某些情况下,程序在访问存储器之前要先校验存储器地址。例如,当在各种计算 机编程语言(如Java)中调试程序、校验边界和类型安全性时,为了分析程序性能而剖析 (prof i 1 ing)程序时,或者由于其它原因,程序在访问存储器之前要先校验地址。如果程序按照一组规则进行地址校验,那么它至少可使用两种现有方法一种方 法是使用OS来确保不满足规则的地址将被虚拟存储器管理检测出。这种方法中,粒度可能 被限制成虚拟存储器管理寻址模式的相对粗糙颗粒,且改变访问规则代价很高;另一种方 法是在利用地址访问存储器之前,在程序本身内对该地址进行一组校验,这组校验可以在 任何粒度下将该地址与任何一组规则进行比较。该方法的缺点是为了进行适当的校验,为 每一次存储器引用(memory reference)都要付出大量的运行开销。
技术实现思路
本专利技术的实施例涉及微处理器和微处理器系统。更具体地,本专利技术的实施例涉及 使用存储属性位以高效率的方式来校验各种存储性能。在本专利技术的一个实施例中,与存储器的特定段或者“块”相关联的存储属性可以被 用来指示所述存储器块的各种特性。例如,在一个实施例中,用户可以通过定义与每一个 存储器块相关联的属性位,来指示它们所关联的存储器块的任何数量的特性,例如,访问权 限。在一个实施例中,每一个存储器块可对应于高速缓冲存储器的一特定行,例如一级(Li) 或二级(L2)高速缓冲存储器内的高速缓存行,且所述的属性用定位于高速缓冲存储器的 行或者以其他方式与高速缓冲存储器的行相关联的位存储位置来表示。在其它的实施例中,属性所关联的存储器块可能包括不止一个高速缓冲存储器行,或者与其它类型的存储 器相关联,例如DRAM。附图说明本专利技术的实施例通过举例进行说明,而不局限于附图中的实施例,其中相同的附 图标记表示相似的部件,且其中图1示出了根据本专利技术的一个实施例的高速缓冲存储器,其中各种高速缓存行 (cache line)具有与其相关联的一个或者多个属性位。图2示出了在其中使用了本专利技术的至少一个实施例的计算机系统存储器分级体系。图3示出了根据本专利技术的一个实施例,与校验与一个或者多个高速缓存行相关联 的属性有关的操作的流程图。图4示出了在其中使用了本专利技术的至少一个实施例的共享总线计算机系统。图5示出了在其中使用了本专利技术的至少一个实施例的点对点总线计算机系统。具体实施例方式图1示出了根据本专利技术的一个实施例的高速缓冲存储器的一部分,它的每一行都 具有一组相关的属性位存储位置。具体地,图1所示的高速缓冲存储器100包括高速缓存 行105,其对应于一个特定的存储器块(未示出)。所述的高速缓存行105具有与其相关联 的以位的形式存储在存储位置110内的多个属性。在一个实施例中,存储位置是寄存器堆, 然而在其它实施例中,可以使用另一种类型的存储区。在所述的存储位置110内是一组与 高速缓存行105相关联的属性位115,其可以存储用来表示高速缓存行的各种属性的位,其 可以由访问高速缓存行105的软件程序使用。在图1中所示的实施例中,该组属性位包含4位,其可以表示所述的高速缓存行的 一个或者多个属性,这取决于如何分配所述属性位。例如,在一个实施例中,这些属性位指 示最近已经校验过程序,从而所述的存储器块适合被所述程序的当前部分访问。在另外的 实施例中,所述的属性位可以指示程序已经记录了对该存储器块的最近的访问,以利用例 如性能监控工具随后进行分析。在另外的实施例中,属性位可以指定其它许可、特性等。除了所述的属性位之外,高速缓冲存储器的每一行也可以具有与其相关联的存储 在状态存储位置120中的状态值。例如,在一个实施例中,所述的状态存储位置120包括 与高速缓存行105相关联的状态位125,其指明所述的高速缓存行是修改状态(M)、独占状 态(E)、共享状态(S)还是无效状态(I)。所述MESI状态能够控制各种软件线程、核或者处 理器是否能够使用和/或修改存储在该特定高速缓存行中的信息。在一些实施例中,所述 MESI状态属性包含在高速缓存行105的属性位115中。在一个实施例中,具有相关联属性位的、与图1类似的一种高速缓冲存储器,可以 由多核处理器中的多个核访问,每一个处理器核能够执行从操作系统内的序列发生器发出 的多个软件线程。通过为每一个高速缓存行分配合适的属性位,在计算机系统中每一个处 理器的每一个核内的每一个线程都可以具有其可以访问、控制和/或修改的一个或者多个 高速缓存行。6图2是从计算机系统内的处理器核上执行的软件线程的观点出发,本专利技术的实施 例如何简化高速缓冲存储器的体系结构的概念性说明。例如,在图2中每个线程可以概 念化为具有相关高速缓冲存储器205-20m的单线程核心201-20Π,所述高速缓冲存储器由 被指定为只能由在所述概念化单线程核心上运行的该特定对应线程控制的高速缓存行构 成。例如,在一个实施例中,对于概念化高速缓冲存储器205-20m,仅仅由表示为单线程核 心201-20Π的线程修改它们的MESI状态。虽然实际上高速缓冲存储器205_20m中每一个 都可以由遍及一个或多个高速缓冲存储器分布的高速缓存行组成,但是以图2中所示的方 式概念化所述布置将有助于理解本专利技术的某些实施例。在本专利技术的一个实施例中,可以利用特定操作,例如指令或者从指令中解码的微 操作,来访问、修改和以其他方式控制与存储器块相关联的属性。例如,在一个实施例中,可 以使用从高速缓存行中加载信息并设置相应的属性位的指令(例如,“load_Set”指令)。 在另一个实施例中,除了 IoacLset指令之外,还可以使用从高速缓存行加载信息并校验相 应属性位的指令(例如,“ load_check指令)。在其它的实施例中,可以使用其它指令来控制属性位以及存取相应高速缓存数 据。例如,在一个实施例中,可以使用将信息存储到高速缓存行同时校验或者设置(校验并 设置)相应属性位的指令(例如,“store_set”和/或“st0re_check”指令)。在一些实 施例中,可以使用指令来控制或者存取没有相关联高速缓冲存储器操作(例如加载或者存 储)的属性位。在指令校验与高速缓存行相关联的属性的情况下,可以在一个或者多个处理核心 中定义一个或者多个结构化方案(本文档来自技高网
...

【技术保护点】
一种使用存储属性的装置,包括:存储块,所述存储块具有与包含多个软件线程的程序的仅一个软件线程相对应的一组相关属性,其中响应于load_set指令或load_check指令中的一个或多个来访问所述存储块,其中所述load_set指令和load_check指令是用户级指令。

【技术特征摘要】
US 2006-2-7 11/349661一种使用存储属性的装置,包括存储块,所述存储块具有与包含多个软件线程的程序的仅一个软件线程相对应的一组相关属性,其中响应于load_set指令或load_check指令中的一个或多个来访问所述存储块,其中所述load_set指令和load_check指令是用户级指令。2.根据权利要求1所述的装置,其中所述存储块与高速缓冲存储器中的高速缓存行相关联。3.根据权利要求2所述的装置,其中所述高速缓冲存储器包括用来存储该组属性的属 性位存储区的存储区。4.根据权利要求3所述的装置,其中所述位存储区具有至少一个与仅一个高速缓存行 相关联的位存储子区域。5.根据权利要求4所述的装置,其中该组属性包括指示该仅一个高速缓存行对应于所 述多个软件线程中的哪一个的信息。6.根据权利要求5所述的装置,其中所述高速缓冲存储器的每一个高速缓存行都具有 与其相关联的属性位。7.根据权利要求6所述的装置,其中所述高速缓冲存储器是数据高速缓冲存储器。8.根据权利要求6所述的装置,其中所述高速缓冲存储器是用来存储数据和指令的统 一高速缓冲存储器。9.一种使用存储属性的方法,该方法包括下列步骤读取与高速缓存行相关联的属性位,所述高速缓存行与多线程程序中的仅一个软件线 程对应,其中响应于IoacLset指令或loacLcheck指令中的一个或多个来执行读取,其中所 述load_Set指令和loacLcheck指令是用户级指令; 确定该属性位的值;响应于确定所述属性位的值来执行轻量输出事件。10.根据权利要求9所述的方法,其中确定所述属性位的值包括在处理器中执行结构化方案。11.根据权利要求9所述的方法,进一步包括设置属性位。12.根据权利要求9所述的方法,进一步包括校验所述属性位作为执行一个指令的结^ ο13.根据权利要求12所述的方法,进一步包括通过执行loacLcheck指令读取所述属性。14.根据权利要求12所述的方法,进一步包括通过执行IoacLset指令设置所述属性。15.根据权利要求10所述的方法,进一步包括通过所述方案确定所述高速缓存行是否 处于意外状态。16.一种使用存储属性的系统,包括存储器,用于存储load_set指令和load_check指令,其中所述load_set指令和load_ check指令是用户级指令;至少一个处理器,其具有至少一个处理核心,用于提取IoacLset和loacLcheck指令中 的至少一个。17.根据权利要求16所述的系统,其中所述IoacLset指令用来从高速缓存行加载信息 并设置相关属性...

【专利技术属性】
技术研发人员:Q雅各布森A布雷斯H王J沈P哈马隆德M默滕S斯里尼瓦斯K多施G蔡亚B萨哈AR阿德尔塔巴塔拜G希菲尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1