[发明专利]短指针有效
申请号: | 201280012977.4 | 申请日: | 2012-03-08 |
公开(公告)号: | CN103547995B | 公开(公告)日: | 2017-03-01 |
发明(设计)人: | S·梅尔;J·G·法沃;E·格维茨;R·哈塔韦;E·特雷胡斯 | 申请(专利权)人: | 瑞典爱立信有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/34 |
代理公司: | 中国专利代理(香港)有限公司72001 | 代理人: | 叶晓勇,汤春龙 |
地址: | 瑞典斯*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 指针 | ||
技术领域
本发明通常涉及存储器中指针的存储,更特别地,涉及配置为在存储器中存储不同大小的指针的方法和装置。
背景技术
为了执行具体的任务,数字处理器执行指令序列。这些指令;作为任务的一部分所使用、操纵或产生的任何数据;以及任何其它相关信息都存储于处理器可访问的存储器中。当执行存储指令时,处理器在存储器中存储信息。当执行载入指令时,处理器从存储器检索信息并将其载入到寄存器堆(register file)中。这种寄存器堆包括在由处理器实现的指令集架构中指定的寄存器。
指令指示的一个或多个地址指明了与执行指令相关的特定存储器位置。例如,存储指令指示的地址指明了要存储信息的存储器位置。载入指令指示的地址指明了要从其中检索信息的存储器位置。
出于多种原因,包括安全、多程序设计和其它原因,指令不指示存储器的实际物理地址;就是说,访问存储器的地址总线上呈现的实际地址。相反,指令指示存储器的所谓逻辑地址,并且处理器和存储器之间的存储器管理单元将逻辑地址转化为物理地址,反之亦然。存储器的所有逻辑地址的集合构成了那个存储器的逻辑地址空间。
指针是一种数据结构,其值是存储在存储器的其它地方的另一个值的逻辑地址。因此,指针使用那个值的逻辑地址指示(即,指向)另一个值。惯例规定数字处理器使用某些固定大小的指针,并且此大小允许任何给定的指针指示存储器逻辑地址空间中的整个范围的逻辑地址。例如,数字处理器可以使用固定大小为32位的指针,其允许指针指示具有4千兆字节(GB)逻辑地址空间的存储器中的任何逻辑地址。
限制数字处理器使用具有单一的固定大小的指针显然精简了处理器的指令集架构。但是,该限制同样人为地增加了存储指针所需的存储器容量和带宽。即使特定的指针不需要指示存储器逻辑地址空间的整个范围,指针还是必须具有与需要指示全部区域的另一个指针相同的固定大小。
发明内容
本文的教导有利地包括操作为在存储器中存储不同大小的指针的数字处理器。所谓的长指针指示存储器逻辑地址空间中的全部范围的逻辑地址,而短指针仅指示那些逻辑地址的子集。短指针相应地相对于长指针在存储于存储器中时在大小上较小。因此,在需要时,长指针支持相对大的地址范围能力,而当地址范围的要求相对较小时,短指针使用较少的存储器。
在一些实施例中,例如,数字处理器配置为执行在存储器中存储长指针的指令,并且还配置为执行在存储器中存储短指针的指令。长指针指示存储器的逻辑地址空间中的任何地址,但是其在存储于存储器时在大小上相对于短指针而言较大。相反地,短指针指示逻辑地址空间的子集中的任何地址,但是其当存储于存储器中时在大小上相对于长指针而言有利地较短。
处理器还配置为执行将长指针载入到寄存器堆(其包括在处理器的指令集架构中指定的寄存器)的指令,并执行将短指针载入到寄存器堆的指令。不管是载入长指针还是短指针,处理器都将指针转换为公共格式以载入到寄存器堆。这样,处理器无需在执行随后的指令时另外区分长指针和短指针。当然,尽管如此,为了区分存储于存储器中时的长指针和短指针,处理器将公共格式的指针转换为长指针或短指针以便存储于存储器中。
在至少一些实施例中,例如为达到与存储器或寄存器堆相关联的某些预定结果的需求,通过添加或移除填充(padding),处理器在公共格式和长短指针之间进行转换。例如,如需要使得指针以预定大小载入到与公共格式相关联的寄存器堆中,处理器可以从长或短指针中添加或移除填充。相反地,处理器可以从公共格式的指针添加或移除填充,如需要使得长或短指针以使得存储器访问更有效率的预定的对准存储在存储器中。
此外,在一个或多个实施例中,存储器的逻辑地址空间包括预定数量的逻辑段。这些段中的每一个都包括多个逻辑地址。长和短指针都指示了段中的任何一个,在某种意义上,指针指示的最终逻辑地址可以包含于那些段中的任何一个中。但是,长和短指针的不同在于,长指针指示了段中的任何地址,而短指针仅指示了段的子集中的任何地址。因此,在这些实施例中,短指针指示存储器逻辑地址空间的子集中的任何地址,其中这些子集包括逻辑存储器段的不相邻的部分。
在一些实施例中,长指针在存储于存储器中时具有64位的大小,而短指针具有32位的大小。可是,当将指针载入到寄存器堆时,处理器将长和短指针都转换为具有48位的大小的公共格式。
此外,在至少一个实施例中,处理器实际上配置为执行载入或存储不同类型的短指针的指令,其中,不同类型的短指针指示不同大小的子集中的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瑞典爱立信有限公司,未经瑞典爱立信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280012977.4/2.html,转载请声明来源钻瓜专利网。