[发明专利]对齐控制有效
| 申请号: | 201180038097.X | 申请日: | 2011-06-13 |
| 公开(公告)号: | CN103052942A | 公开(公告)日: | 2013-04-17 |
| 发明(设计)人: | 理查德·罗伊·格里森思怀特 | 申请(专利权)人: | ARM有限公司 |
| 主分类号: | G06F9/312 | 分类号: | G06F9/312;G06F9/318;G06F9/38 |
| 代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 李晓冬 |
| 地址: | 英国*** | 国省代码: | 英国;GB |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 对齐 控制 | ||
技术领域
本发明涉及数据处理系统领域。更具体地,本发明涉及在数据处理系统内执行的存储器存取的存取对齐控制。
背景技术
为数据处理系统提供查核存储器存取对齐的机制是已知的。存储器存取(memory access)可以是不受限制的从而使得存储器内的任意个别的字节都可由任意大小的存储器存取来寻址,或存储器存取可以是对齐受限的从而使得仅可在存储器内进行利用诸如半字组、字组、双字组之类的边限对齐的存储器存取。一般而言,在提供高速存储器存取时存储器存取对齐要求的实施是有帮助的,例如宽数据总线可与不必容纳与数据总线宽度不对齐的存取的总线一同使用。然而,当操纵以下的压缩数据结构时,对仅对齐的存储器存取的要求是有问题的:该压缩数据结构中的被存取的数据元素本身可能未必具有与所施加的对齐限制对齐的边限。在一些情况中,所执行的指令可能需要数据存取的对齐,例如对于堆栈数据储存装置的一些读取-修正-写入指令。此外,一些应用二进制接口规定了存取对齐。
发明内容
鉴于一方面,本发明提供了一种用于处理数据的装置,该装置包括:处理电路,该处理电路响应于程序指令而执行数据处理操作;堆栈指针寄存器,该堆栈指针寄存器耦接至所述处理电路并且被配置为存储指示堆栈数据储存装置的存储器内的地址的堆栈指针值;堆栈对齐查核电路,该堆栈对齐查核电路耦接至所述处理电路和所述堆栈指针寄存器,并且被配置为响应指定在所述堆栈指针值指定的地址对所述堆栈数据储存装置进行堆栈存储器存取的程序指令,检测所述堆栈指针值是否匹配预定堆栈对齐条件;对齐查核控制电路,该对齐查核控制电路耦接至所述堆栈对齐查核电路,并且响应于堆栈配置参数而独立于在进行存储器存取时执行的进一步的对齐查核,选择性地停用所述堆栈对齐查核电路。
本发明的技术认识到,适合于堆栈存储器存取的对齐限制可能并不适合于其他存储器存取(例如,并不涉及堆栈数据储存装置的存储器存取)。作为示例,未存储在堆栈数据储存装置内的数据结构可为压缩数据结构,其中对于该压缩数据结构来说对齐限制将是个问题,然而应用对齐限制于堆栈数据储存装置将有助于识别堆栈指针或堆栈数据储存装置的腐化(corruption)。本发明的技术认识到此情况,且提供了堆栈对齐查核电路的机制以查核堆栈存储器存取的对齐,其中堆栈对齐查核电路独立于在系统内执行的任何进一步的对齐查核(例如,在对堆栈存储器和非堆栈存储器两者的所有的存储器存取时执行的对齐查核)而被选择性地停用。因此,堆栈对齐查核可结合或可不结合独立控制的对于存储器存取的进一步的查核来执行。因此,可以对堆栈数据储存装置实施对齐,而不对通用存储器存取实施对齐。
将了解,进一步的对齐查核可采取多种不同的形式,例如不使用堆栈指针的对齐查核存储器存取。然而,有用的布置是这样的情况,其中进一步的对齐查核是在进行所有的存储器存取时执行的对齐查核(即,使用和不使用堆栈指针的存储器存取)。
将了解,堆栈存储器存取可以是对堆栈地址的顶部进行的读取(弹出)存取或写入(压入)存取,同时对于堆栈指针值的相应更新被执行。
除了被选择性停用的堆栈对齐查核电路以外,一些实施例还可额外地包括:用于检测任意存储器存取是否符合预定对齐条件的通用对齐查核电路。因此,尽管可以单独使用堆栈对齐查核电路,但该堆栈对齐查核电路也可有效地与通用对齐查核电路组合。通用对齐查核电路也可由对齐查核控制电路来控制,以使得该通用对齐查核电路可被选择性地停用。
所施加的对齐条件可改变。对齐条件可为:预定堆栈对齐条件是不加限制的,这相当于停用堆栈对齐查核电路。然而,当对齐条件是使得堆栈指针值为2N的整数倍时(其中,N是非零整数值,例如N为对应于64位和128位对齐的3或4中的一者),堆栈对齐查核电路更为有用。N的值和相应的对齐条件可在使用者控制下设定(例如软件控制)。
尽管本发明的技术可使用于包括单个堆栈指针的实施例中,但是该技术也可应用于包括多个堆栈指针的实施例中,其中每个堆栈指针存储相应的堆栈指针值并且受相应的堆栈配置参数的控制,其中该堆栈配置参数确定对于相关的堆栈指针的堆栈对齐查核是被停用还是被启用。这些不同的堆栈指针可与系统内的差异异常级(特权级)相关联。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180038097.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息处理设备、信息处理方法和程序
- 下一篇:使用了微透镜阵列的扫描曝光装置





