当前位置: 首页 > 专利查询>ARM有限公司专利>正文

具有存储保护单元的数据处理设备制造技术

技术编号:2835469 阅读:193 留言:0更新日期:2012-04-11 18:40
一种数据处理器(100)具有可操作来存储数据值的存储器;一种存储保护单元(130),可操作来将存储属性和所述存储器的一部分相关联,并且识别对应于所述存储器相应地址范围的多个存储区域。所述存储保护单元可操作来将所述多个存储区域(150)中的至少一个与相应的存储区域区分符相关联,所述存储区域区分符包括用于定义与所述存储区域关联的存储属性集合的属性字段(230)和用于保存子区域成员关系值的子区域字段(240)。所述子区域成员关系值为所述存储区域的多个子区域的每一个规定相应的子区域(160-1到160-8)是成员子区域还是非成员子区域,使得将所述存储属性应用于所述成员子区域但不应用于所述非成员子区域。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据处理系统。更特别地,本专利技术涉及具有存储保护单元的数据处理系统。
技术介绍
已知利用存储保护单元来控制在数据处理系统中的存储器访问。这些存储保护单元定义了多个保护区域,这些保护区域的性质通过对保护单元寄存器进行写入来配置。这提供了存储性质上的控制级别,并且使得能够规定具有不同属性的不同存储区域。存储保护单元类似于存储器管理单元,但在以下方面更简单,它们不涉及从虚拟到物理地址的映射。此外,存储保护单元不使用转换表,但是将其本身限制到硬件中相对较少的区域,以提高响应的可预测性。还知道对存储保护单元进行编程以具有两个或更多的重叠存储区域。重叠的区域增加了存储区域可以如何被映射到数据处理系统中的物理存储设备的灵活性。但是,为了简化实现成本,通常存在对分配存储区域的方式的某些约束。存储区域的大小必须是二的次方并且可以在例如250B到4GB的范围。但是,存储区域的开始地址被约束为区域大小的倍数,即是对于2n的区域大小,起始地址必须是k*2n,其中k是整数。这意味着不可能在这种系统定义任意大小的存储区域。尽管,可以构建具有任意大小存储区域的系统,但是如此做更加昂贵。存储保护单元通常提供在八到十六个不同存储区域的范围中。由于在已知系统中对分配存储区域的方式的约束,可能需要分配具有相应存储属性集合的一个以上的存储区域,以便按照处理设备的要求来定义给定大小的存储块。这是因为存储属性必须应用于整个存储区域。此外通过已知的存储保护单元对存储区域的描绘在如下的情况中是特别不灵活的,在该情况中运行在数据处理设备上的应用进程要求对不同组外围设备的访问许可。这种困难是由以下情况引起的,即通常将连续的存储块分配给外围设备的全集。由于数据处理设备所执行的不同应用进程的各种性质,所以正常的是,不同的进程将要求对已知存储单元中外围设备的不同子集的访问许可的不同集合。为了适应这种情况,已知的是向每个单独的外部设备分配相应的存储区域。由于通常只提供8到16个存储区域,所以来自有限数量的区域的要求太高,并且这已经导致要求要由存储保护单元定义的数量增加的存储区域。因此,存在这样的需要,即提供比已知存储保护单元更大的灵活性但不牵涉引入数量大增的存储保护区域的开销的数据处理设备。
技术实现思路
从本专利技术的一方面看去,提供了一种用于处理数据的设备,所述设备包括存储器,可操作来存储数据值;存储保护单元,可操作来将存储属性和所述存储器的一部分相关联,并且识别对应于所述存储器相应地址范围的多个存储区域,所述存储保护单元可操作来将所述多个存储区域中的至少一个与相应的存储区域区分符相关联,所述存储区域区分符包括用于定义与所述存储区域关联的存储属性集合的属性字段和用于保存子区域成员关系值的子区域字段,所述子区域成员关系值为所述存储区域的多个子区域的每一个规定相应的子区域是成员子区域还是非成员子区域,使得将所述存储属性应用于所述成员子区域但不应用于所述非成员子区域。本技术认识到,允许每个存储区域被划分为多个单独的子区域并在与存储区域关联的存储区域区分符中提供用于保存子区域成员关系值的子区域字段,所述子区域成员关系值规定每个子区域是应用了所定义的存储属性集合的成员子区域,还是可替换地没有应用与存储区域关联的存储属性的非成员子区域,以上操作在分配物理存储器中提供了很大的灵活性。将存储属性集合只关联到存储区域的规定部分即各个子区域的能力,允许克服存储区域的开始地址必须是存储区域大小的整数倍的限制,因为如果对于期望分配的存储块大小来说不可能定义整个存储区域,则仍然有可能向该存储块分配大小比所要求存储块大的为单个存储区域,但可能将该不要求的更大存储区域的一部分规定为非成员子区域。其它存储区域可接着使用非成员子区域,那时它们可以被选作为成员子区域。只选择某些子区域作为成员子区域的能力还为每个外围设备解决了存储区域低效使用的问题。这是因为单个存储区域的不同子区域可以与外围设备全集中不同的外围设备相关联,并且通过简单地将与被准许访问的给定外围设备集合相关联的那些子区域分配为成员子区域,来在单个存储区域内接纳向不同应用进程准许的不同访问许可。将理解的是,由存储区域区分符定义的存储属性集合可以是多个和变化的。在一个实施例中,存储属性集合包括存储器访问许可。因此,某些子区域可以被定义为只读、读写都可访问或都不可访问。在另一个实施例中,数据处理设备包括多个级别,包括用户级和特权级,并且存储器访问许可规定了允许访问其中的哪个级别。因此,例如特权的用户级对于普通应用进程可用,而在出现异常时,可以向特权级提供访问。因此,对于特定的存储区域,可以给予用户级访问只读许可,而可以为特权级访问提供读写许可。这提供了允许更高的特权级被准许对某些存储区域,比如那些保存指令和配置参数的存储区域进行访问的灵活性,该访问所受限制要小于在用户级上准许对这种存储区域的访问。在进一步的实施例中,存储属性集合包括成员子区域是可高速缓冲存储器还是不可高速缓冲存储器的指示。另一个可替换的实施例具有包括成员子区域是可高速缓冲还是不可高速缓冲的指示的存储属性。这使得程序员能够控制与高速缓冲数据或缓冲数据相关联的任何相反效果。例如,可以期望避免分配可高速缓冲或可缓冲的存储子区域,以防止在程序员所不期望的时间出现存储器访问,或者可替换地避免存在可以保存数据项的多个物理位置。由于高速缓冲存储器的特性,某些存储器映射的输入/输出位置不适于高速缓冲。设计在可高速缓冲/不可高速缓冲的存储区域内的某些子区域和在可缓冲/不可缓冲的给定存储区域内的某些子区域的能力向程序员提供使存储器资源更有效使用的更多灵活性。给定存储区域的子区域可以作为任何可能数量的成员子区域或非成员子区域及其组合而被分配,仅仅受可用子区域总数的约束。但是,在一个实施例中,子区域字段用于规定多个连续的成员子区域。这克服了可由存储保护单元定义的存储区域大小的任何限制,因为通过选择比所要求存储区域更大的存储区域并选择连续的子区域组作为成员子区域并将子区域剩余的块分配为非成员子区域来定义非标准大小的存储区域的等效物。这有效地定义了中间大小的存储区域,并且避免了已知系统中利用具有两个单独定义的存储属性集合的两个不同存储区域来形成非标准大小的存储区域的要求。在本专利技术的一个不同的实施例中,子区域字段用于规定多个非连续的成员子区域。这在期望向两个不同的应用进程分配对外围设备的不同子集的访问许可而不消耗每个外围设备的整个存储区域的情况下提供了更大的灵活性。这是通过将外围设备与子区域相关联,以使得单个存储区域与外围设备集合相关联来实现的。对于不同的程序应用,与被许可了访问的外围设备关联的那些子区域被定义为成员子区域,而与没有被许可访问的外围设备关联的那些子区域被定义为非成员子区域。因此,利用具有有限数量的被定义存储区域的存储保护单元可以接纳更多的外围设备。尽管存储保护单元的多个存储区域可以是不重叠的连续定义的存储区域,但在本专利技术的一个实施例中,存储保护单元的存储区域是重叠的存储区域。因此,如果给定的子区域位于一个以上的存储保护区域内,则可以向它应用例如编号最高的存储区域的存储属性。这在根据本技术的系统中尤其有用,其中每个存储区域包括多个子区域,这些子区域可以被分配为成员子本文档来自技高网
...

【技术保护点】
一种用于处理数据的设备,所述设备包括:    存储器,可操作来存储数据值;    存储保护单元,可操作来将存储属性和所述存储器的一部分相关联,并且识别对应于所述存储器相应地址范围的多个存储区域,所述存储保护单元可操作来将所述多个存储区域中的至少一个与相应的存储区域区分符相关联,所述存储区域区分符包括用于定义与所述存储区域关联的存储属性集合的属性字段和用于保存子区域成员关系值的子区域字段,所述子区域成员关系值为所述存储区域的多个子区域的每一个规定相应的子区域是成员子区域还是非成员子区域,使得将所述存储属性应用于所述成员子区域但不应用于所述非成员子区域。

【技术特征摘要】
【国外来华专利技术】US 2005-1-4 11/028,5011.一种用于处理数据的设备,所述设备包括存储器,可操作来存储数据值;存储保护单元,可操作来将存储属性和所述存储器的一部分相关联,并且识别对应于所述存储器相应地址范围的多个存储区域,所述存储保护单元可操作来将所述多个存储区域中的至少一个与相应的存储区域区分符相关联,所述存储区域区分符包括用于定义与所述存储区域关联的存储属性集合的属性字段和用于保存子区域成员关系值的子区域字段,所述子区域成员关系值为所述存储区域的多个子区域的每一个规定相应的子区域是成员子区域还是非成员子区域,使得将所述存储属性应用于所述成员子区域但不应用于所述非成员子区域。2.如权利要求1所示的设备,其中所述存储属性集合包括存储访问许可。3.如权利要求1所示的设备,其中所述设备可在包括用户级和特权级的多个级别中操作,并且所述存储访问许可规定所述多个访问级别中的哪个被许可。4.如权利要求1所示的设备,其中所述存储属性包括与所述成员子区域是可读还是可写有关的指示。5.如权利要求1所示的设备,其中所述存储属性集合包括所述成员子区域是可高速缓冲还是不可高速缓冲的指示。6.如权利要求1所示的设备,其中所述存储属性集合包括所述成员子区域是可缓冲还是不可缓冲的指示。7.如权利要求1所示的设备,其中所述存储保护单元可操作来使用所述子区域字段来规定多个连续的成员子区域。8.如权利要求1所示的设备,其中所述存储保护单元可操作来使用所述子区域字段来规定多个非连续的成员子区域。9.如权利要求1所示的设备,其中所述多个存储区域是重叠的存储区域。10.如权利要求9所示的设备,其中所述多个存储区域之一的所述子区域字段将所述存储器的给定地址范围规定为非成员子区域,并且与所述多个存储区域中不同的一个相对应的子区域字段还将所述给定地址范围规定为成员子区域。11.如权利要求9所示的设备,其中所述数据处理设备可操作来执行具有相应存储器地址映射的多个不同处理应用,并且其中当在执行所述多个不同处理应用中的不同应用之间出现上下文切换时,所述存储保护单元可操作来更新所述多个存储区域中至少一个的所述子区域字段。12.如权利要求11所示的设备,其中所述存储保护单元可操作来在所述上下文切换出现时更新所述属性字段。13.如权利要求1所示的设备,其中所述存储区域的所述多个子区域具有相等的大小。14.如权利要求1所示的设备,其中地址掩码用于根据规定所述存储区域大小的大小值来识别当前地址字的地址规定部分,所述当前地址字对应于当...

【专利技术属性】
技术研发人员:P基梅尔曼RR格里森思怀特DJ西尔
申请(专利权)人:ARM有限公司
类型:发明
国别省市:GB[英国]

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

1