受保护的存储器系统和方法

文档序号:6409661阅读:231来源:国知局
专利名称:受保护的存储器系统和方法
技术领域
本发明的系统和方法涉及无性能损失地保护存储器免予被非授权访问。特别是,本发明的系统和方法涉及在一个基于诸如嵌入式控制器系统的非虚拟存储器中的存储保护。
随着计算机处理器和控制器的逐渐复杂,操作这些处理器和控制器的软件其复杂性也在增加。为了对当今的处理器和控制器编程,一般需要一群程序员来开发代码以操作这些处理器和控制器。通常,一组程序员将在代码的不同部分同时从事开发工作。这样在开发过程中就会出现错误以及存储器使用上的冲突。因此,就希望能够灵活地保护存储器的特定区域。例如,如果代码的某一部分已被检验并被证明将会准确运行,那么就希望保护这部分代码不再被故意或偶然地修改。而且,希望保护这部分代码所用的存储器特定区域不再被代码的其它部分访问以便于在开发过程中将错误降至最少。
在一个基于虚拟存储器系统的微处理器中,存储器管理单元(MMU)不仅提供从虚拟存储器访问到实际存储器访问的映象功能,而且还在存储器的不同部分执行保护检查。因此,对某些访问来说,可将存储器的特定部分规定为受保护部分而不能访问,例如,一些特定的过程不能访问存储器的特定部分。
但是,MMU引起了用于每次访问的显著开销,因为执行一次虚拟地址到实际地址的转换过程是非常耗费时间的。从提供虚拟存储器访问的好处来说,这个代价是可以接受的。但是,嵌入式控制器或微处理器不需要虚拟寻址的灵活性,因为该控制器/微处理器所执行的应用是非常明确并且一般不需要以虚拟寻址的灵活性的方式进行改变。在开发过程中,因为速度快且需要较少的硬件和软件开销,所以,利用物理地址对嵌入式控制器和微处理器编码。
因此,由于没有执行虚拟寻址,所以不是所有的微处理器和控制器都包括一个MMU并且这些微处理器/控制器没有提供一个存储器保护机制。而且,随着操作这些控制器/微处理器所需的代码变得越来越复杂,也就需要越来越多的程序员来开发这些代码,从而提供一定形式的保护机制的需求也就变得明显起来。此外,还希望该保护机制不会导致处理器损失性能或引起任何由于提供此保护机制而出现的额外开销。
因此,本发明的一个目的是提供一种禁止以很少或没有性能损失对存储器进行非授权访问的存储器保护机制。
本发明的另一个目的是提供一种速度快、成本低、并能检测和禁止对存储器的非授权访问的存储器保护机制。
在本发明的系统中,一个保护的存储器单元被包括在控制器/处理器中以保护和检测对存储器的非授权访问。该保护的存储器单元监控发出存储器访问请求的存储器总线。保护的存储器单元最好包括多个保护寄存器对和多个检测寄存器对,它们存储所需的保护和检测信息以确定通过存储器总线传送的访问是否已被授权。这个机制在处理器中以很小的或不明显的开销工作以便于为提供此附加能力没有引起性能损失。
这些寄存器是可编程的,从而在确定非授权访问方面提供了灵活性。因此保护的存储器单元监控在存储器总线上发出的每一个存储器访问请求。然后就是否已在特定的地址发生了存储器保护破坏或存储器检测破坏,根据寄存器中的值确定一个比较。如果已经发生了存储器保护破坏,根据利用保护寄存器中的信息执行的比较,保护的存储器单元发出一个信号,中止该存储器访问的执行。还产生一个内部错误到处理器核心以通知该核心产生了保护性破坏。该核心确认该错误,然后转移到一个错误处理例行程序以对存储器保护破坏寻址。
可替代地,保护的存储器单元可以检测一个存储器检测破坏。一个存储器检测破坏不会异常中止存储器访问,而仅仅是报告已发生了一个破坏。这样,当保护存储器单元检测到一个存储器检测破坏时,产生一个错误到处理器以通知处理器已发生了一个检测破坏。此时处理器将转移到一个错误处理例程以处理该错误。从而,提供了一个简单的非侵入机制来保护和/或检测出可能发生的存储器破坏。
通过下面详细的描述,对于本专业技术领域以内的技术人员来讲,本发明的目的、特性和优点将变得非常明显。


图1是本发明的包括了一个处理器/控制器和存储器的系统的简略方框图,该系统受到根据本发明技术的保护。
图2是包括了用于保护存储器免受破坏的保护存储器单元的处理器/控制器的简略方框图3a,3b,3c是表示本发明处理的实施例的简略流程图;图4是本发明的保护存储器单元的一个实施例的方框图;图5是在图4所示的实施例的保护存储器单元中发现的错误发生块的方框图;图6是说明图4所示的保护存储器单元使用的寄存器的一个实施例的表;图7说明了图4所示的保护存储器单元使用的存储器保护地址寄存器的一个实施例;图8是说明存储器屏蔽寄存器和依据本发明技术能被保护的可能的块容量的表格;图9a说明了一个对地址寄存器编程以保护寄存器不被非授权访问的例子;图9b是第二个表示对寄存器编程以保护寄存器不被非授权地址访问的例子;图10说明了用于根据本发明的技术进行存储器破坏检测的寄存器;图11说明了一个对检测寄存器编程以检测寄存器不被非授权访问的例子;图12说明了一个用于图4所示实施例的保护存储器单元中的保护存储器单元控制寄存器的实施例。
在下面的描述中,为了解释而给出了大量的详细说明。但是,对本领域的技术人员来说,显然不需要这些实施本发明的具体描述,即已知的电子结构和电路不必显示在方框图中以免使得本发明难以理解。
本发明的存储器保护和检测系统提供了一种用于检测存储器破坏和保护存储器免于破坏的非入侵的(non-intrusive)、无额外开销的方法和装置。该系统和方法将从一个嵌入式控制器的角度被描述,但是,显然本系统和方法也适用于各种不同类型的需要存储器检测和/或保护机制的微处理器和控制器。
图1示出了本系统的简要方框图。处理器或控制器(下文中称作为处理器)与存储器15相连。本发明的系统和方法将阻止对存储器的非授权访问以及检测在处理过程中可能发生的存储器破坏。
图2示出了该系统一个实施例的更详细的方框图。本实施例中,指令单元50包括一个指令高速缓存和指令队列/调度程序,用于将指令调度到管道排序器55。在本实施例中,管道排序器55向多端口寄存器60并行发出控制、存储和寄存器指令以分配给适当的元件65、70、75、100、95、90和85执行。在本实施例中,这些元件包括中断控制器65、乘法/除法单元70、整数执行单元75、地址产生单元100、局部寄存器高速缓存/内部数据RAM95、总线控制器90和数据高速缓存单元85。对本领域的技术人员来说,显然此结构只是一个例子,并可以使用不同的处理器结构。在处理器中还包括一个保护存储器单元(GMU80)。该保护存储单元80还能以用GMU80监控总线60发出的存储器访问请求的方式与存储器总线60相连。
GMU80监控存储器访问以检测存储器破坏并识别存储器保护破坏和存储器检测破坏。存储器保护破坏使得GMU80取消当前的存储器请求以防止存储器破坏发生。并且,向指令单元50发出一个错误指令以通知指令单元50已发生了一次存储器保护破坏。此外,在本实施例中,还提供了一个仅检测某些存储器破坏的机制。如果检测到一个存储器破坏,则允许完成该存储器操作但GMU80向指令单元50发出一个错误指令以通知指令单元50已检测到一次存储器破坏。
最好参照图3a,3b,3c示出的简要流程图来说明处理过程。图3a说明了存储器破坏的检测过程。在步骤150,监视总线是否传输了例如是一个存储器请求信号的表示存储器操作开始的信号。在步骤152,当检测到一次存储器操作时,执行地址比较以确定该存储器操作的地址是否在表示存储器破坏的地址范围之内。在步骤154,如果该地址在此地址范围之内,则将存储器操作属性与表示破坏的属性(如操作类型或访问模式)相比较。在步骤158,如果属性匹配,则GMU发出错误信号,在步骤160,GMU向CPU、在本实施例中是向CPU的指令单元发回一个错误信号,以报告检测到存储器破坏。根据此错误信号,处理器核心转向一个错误处理例程以对该存储器破坏寻址。错误处理例程可以仅产生一个破坏报告或执行一个特定的过程以将存储器破坏的影响减至最小。
存储器保护过程不同于存储器检测过程,因为存储器保护过程阻止了特定的存储器操作发生。参照图3b,在步骤170,GUM监视存储器操作用于的总线。在步骤172,执行地址比较以确定该存储器操作的地址是否在保护的存储器的地址范围之内。在步骤174,如果该地址在此地址范围之内,则在步骤176将存储器操作属性与表示存储器破坏的属性相比较。在步骤178,如果属性匹配,则表示发生保护破坏,在步骤180,GMU发出一个取消信号以终止该存储器操作的执行。在较佳实施例中,取消信号通过CTRL信号线被发到总线控制单元。根据接收到的取消信号,总线控制单元异常中止该存储器操作。在步骤182,GMU发出一个错误信号以报告存储器保护破坏。根据此错误信号,在步骤184,处理器转向相应的错误处理例程。
最好系统既执行破坏的存储器检测,又执行破坏的存储器保护。该过程能被初始化使得存储器在某些具有特定属性的指定地址被保护以免发生存储器破坏,而在其它地址的存储器破坏只是被检测和报告给处理器。下面参照图3c描述这个过程。在步骤200,GMU监视用于存储器操作,特别是指令单元发出的存储器请求的总线。当发出一个存储器请求时,在步骤210,请求的地址与保护存储器单元中的保护和检测寄存器中的地址相比较,这些地址表示那些被提供受限访问的存储器地址。在步骤220,如果该地址不在寄存器中的地址范围内,则允许该存储器请求被处理并且保护存储器单元继续监视用于后继存储器操作的总线。如果该地址在保护或检测寄存器指定的地址范围内,则在步骤230,将该存储器操作的属性与保护或检测寄存器中设置的属性相比较以确定该访问是否被授权。这样的属性包括,例如,该操作发生在用户模式下还是管理器模式下,或者正在执行的是一次读、写或执行操作。
在步骤240,如果存在一次保护破坏,GMU向总线控制单元发出一个取消信号以终止存储器操作的完成。在步骤250,这就保护了存储器免于实际的非授权访问。在步骤260,如果发生了一次检测破坏,则允许完成该存储器操作的完成,GMU向处理器的指令调度器发出一个错误信号270,以通知处理器产生了存储器检测破坏。相似地,当发生了一次保护破坏时,GMU向指令单元发出一个错误信号以通知指令单元发生了破坏。在步骤280,该指令单元转到错误处理例程以处理接收到的错误。这样,一个简单的非入侵但却有效的机制被提供用于检测和防止存储器破坏。
图4示出了保护存储器单元的一个实施例的简化方框图。保护存储器单元包括多个在此用作存储器映象寄存器(MMR)的可编程寄存器300。寄存器300被编程以标识一个引起存储器破坏的存储器操作的地址和其它属性。
图6示出了存储器映象寄存器的一个实施例。最好,这些寄存器包括一个控制寄存器、两对存储器保护寄存器和六对存储器检测寄存器。显然这里所示的配置只是一个举例,也可以使用其它的配置。例如,这些寄存器可以包括所有的存储器保护寄存器,借此系统保护存储器以免发生存储器破坏。相似地,这些寄存器可以只包括存储器检测寄存器,借此该机制只检测存储器破坏。而且,通过寄存器的适当配置,可以使用不同数量的存储器保护寄存器和存储器检测寄存器。
这些寄存器被控制电路310控制并编程,该电路接收输入地址和读/写控制信息以执行对这些寄存器的读和写操作。在本实施例中,控制逻辑电路310接收输入的MMR读、MMR写、MMR地址、SFR读、SFR写和SFR地址信号以分别对存储器和特殊功能寄存器(SFR)进行读和写。输入给电路310以及错误发生块350的输入是一个管理器用户模式信号340,该信号用于识别处理器是在管理器模式下还是在用户模式下运行。电路310接收这些输入并产生多个使能信号到MMR寄存器以执行MMR访问或SFR访问,将数据导入存储寄存器或从中取出。
存储器寄存器块330接收SFR数据总线、MMR数据总线和来自控制逻辑电路310的使能信号作为输入。该使能信号控制用于向寄存器写的数据的接收或者从/向SFR数据总线或MM数据总线输出从寄存器读出的数据。最好存储器寄存器块330包括多个如图6中所定义的寄存器并向错误模式发生块350提供一个输出。
错误模式发生块350接收来自存储器寄存器块330的存储寄存器值和有关将被比较的当前总线访问的信息作为输入。这个输入最好包括当前访问的读输入、写输入、执行输入、内部地址总线和用户管理器输入。这个错误模式发生块350在破坏发生时执行比较并输出GMU取消和GMU错误选通输出。图5举例说明了这个块的进一步分解。
图5举例说明了错误模式发生块的一个实施例。参照图5,该块由多个错误模式电路550、560、570、580和地址匹配电路555、565、575、585构成。每个错误模式电路接收读输入、写输入、执行输入、用户/管理器输入和被访问的当前内部地址作为输入。错误模式电路还接收相应的包含了存储器操作属性信息的存储器保护地址寄存器位,在本实施例中为0-6位。这个第一错误模式电路550还从存储器寄存器接收相应的属性信息MPAR0(位0至6),以确定当前访问的属性是否与MPAR0 MMR寄存器中标识的属性相匹配。如果匹配成功,错误模式电路产生一个去往相应的地址匹配电路555,565,575,585的使能输出。
地址匹配错误发生块也接收将被执行的来自内部地址总线的存储器操作的地址和存储器寄存器中被标识的地址范围作为输入。例如,第一地址匹配电路555接收来自存储寄存器的MPAR0 MPMR0、内部地址和来自错误模式块550的使能信号作为输入。地址匹配错误发生块比较该地址并且如果该地址是一个被寄存器规定的地址而且该使能信号已被发出,则产生一个错误输出信号和一个GMU取消输出信号。第一错误模式电路550和地址匹配电路555工作以执行存储器保护操作。相似的过程发生在执行存储器破坏检测操作的电路中。例如,错误模式电路570和地址匹配电路575工作以执行存储器破坏检测操作。如果检测到存储器破坏,则产生一个错误输出信号。通过提供多个错误模式检测电路455、460、465、470,可以并行执行存储器检测和保护比较。显然通过适当修改图示的电路,可以采用一系列的方法和机制。
图7示出了本实施例采用的存储器保护地址寄存器的一个实施例。在本实施例中,存储器保护地址寄存器包括一个寄存器对,存储器保护地址寄存器600和一个存储器保护屏蔽寄存器610。存储器保护地址寄存器600包括多个为标识是否允许例如用户模式读、用户模式写、用户模式执行、管理器模式读、管理器模式写和管理器模式执行等某些模式的存储器操作所分配的位。每一位用于标识某一模式是否在存储器操作过程中产生一个错误。
寄存器600还包括将被保护的基地址,在本实施例中,基地址以一个32位地址的高20位表示。这种分辨度对保护机制来说是足够的。但是显然当适用于不同的存储器时,基地址也可用32位或更多位表示。
存储器保护屏蔽寄存器610提供了屏蔽位,用于确定将与存储器操作的地址相比较的位以确定是否发生了存储器保护破坏。这个屏蔽寄存器610能改变比较的分辨度以增强机构的灵活性。图8说明了在存储器保护屏蔽寄存器中通过设置适当的屏蔽值可以获得不同的块容量。
图9a说明了一个依本发明在存储器保护地址寄存器和存储器保护屏蔽寄存器中通过设置相应位而受到保护的地址的示例。图9b说明了另一个在存储器保护屏蔽寄存器中进行修改使得在256K字节块中多个地址被保护的情况。
图10说明了存储器破坏检测寄存器的一个实施例。参照图10,每组寄存器由一个上界寄存器650和一个下界寄存器660组成。上界寄存器650识别将被检测的一个存储器地址范围的上界,特别是在本实施例中,上界的高20位被标识。下界寄存器660识别将被检测的存储器地址范围的下界。显然也可使用全32位或其它分辨度。寄存器650的低8位标识将被检测的模式。在本实施例中,这些模式包括用户模式读、用户模式写、用户模式执行、管理器模式读、管理器模式写和管理器模式执行。
应当注意,在本实施例中,用于存储器保护和存储器检测的寄存器配置稍有不同。配置的细微区别是由于系统带来的时间限制造成的。特别是,因为屏蔽操作需要很少的时钟周期来完成,所以,屏蔽位要与存储起来标识用于存储器保护的适当地址的地址联合使用。这一点是很重要的,因为如果发生了保护破坏,就必须尽可能快地发出取消信号以在存储器受到此存储器操作执行的影响之前确保此存储器操作被终止。但是,存储器破坏检测不发出取消信号并允许完成此存储器操作的处理,而只是报告一次错误。因此,可采用一个更长的地址匹配过程。通过指定存储器的起始地址和终止地址,在花费附加时钟周期执行地址匹配的情况下可以获得更好的分辨度。显然,对于一个本领域的技术人员来说,用于存储器保护的寄存器配置可用于存储器检测,并且同样,用于存储器检测的寄存器配置也可用于存储器保护。而且,可以采用其它的配置。
图11说明了一个存储器检测寄存器的示例和依据本发明的技术检测到的相关地址。图11示出了发生在图示的设置下的地址的保护范围和操作的保护类型。
存储器寄存器也包括一个控制寄存器,它提供一些可用于系统的保护和检测机制的一般设置。在图12所示的实施例中,某些位能被置位或复位以启动和关闭相应的存储器保护和存储器检测机制。
这样,我们已经讨论了一个用于检测和保护存储器免于破坏的有效机制。已结合较佳实施例详细描述了本发明。但是,显然不偏离本发明构思的任何修改、替换、改变和使用均应属于下述权利要求的保护范围之内。
权利要求
1.一种用于检测对存储器访问破坏的存储器检测装置,包括至少一个存储器寄存器,用于存储对将要检测的存储器访问破坏的至少一个存储器的地址范围和访问的操作模式;一个用于读出所发出的存储器访问请求以确定一个存储器访问请求的地址的监控器;一个用于在访问过程中接收表示操作模式的信号的模式输入装置;至少一个比较器,用于将存储器请求的地址和操作模式与存储在存储器寄存器中的地址范围和操作模式相比较,如果存储器地址位于存储器寄存器中存储的地址范围之内并且其操作模式是将对其进行存储器访问破坏的一种,则检测到一个访问破坏。
2.如权利要求1所述的存储器检测装置,还包括一个错误发生器,用于在检测到一个存储器访问破坏的情况下,产生一个错误信号到处理器。
3.如权利要求1所述的存储器检测装置,还包括一个取消机构,用于取消存储器访问请求以保护存储器免于非授权访问。
4.如权利要求1所述的存储器检测装置,其中所述至少一个存储器寄存器包括第一和第二存储器寄存器,所述第一寄存器标识将被检测的存储器访问破坏的地址范围下界和操作模式,并且第二寄存器标识该地址范围上界。
5.如权利要求1所述的存储器检测装置,其中所述至少一个存储器寄存器包括第一和第二存储器寄存器,所述第一寄存器识别将被检测的存储器访问破坏的地址范围下界和操作模式,并且第二寄存器提供一个用于标识将被比较的地址范围下界的地址位的地址屏蔽。
6.如权利要求1所述的存储器检测装置,其中所述比较器包括至少一个错误模式块,用于确定存储于存储器寄存器中的操作模式是否与存储器访问请求的操作模式相匹配,从而,表明存储器请求的操作模式是将被检测的存储器访问破坏的一种;以及至少一个对应于错误模式块的地址匹配错误产生块,用于判定存储器请求的地址是否位于存储器寄存器标识的地址范围之内。
7.如权利要求6所述的存储器检测装置,如果发生匹配则所述错误模式块发出一个使能信号。
8.如权利要求7所述的存储器检测装置,所述地址匹配错误产生块被连接以接收使能信号,并且如果使能信号被接收且存储器请求的地址位于存储器寄存器标识的地址范围之内,则检测出一个存储器访问破坏。
9.如权利要求8所述的存储器检测装置,其中如果检测到一个存储器访问破坏,则所述地址匹配错误产生块产生一个错误选通信号。
10.如权利要求8所述的存储器检测装置,其中如果检测到一个存储器访问破坏,则所述地址匹配错误产生块产生一个取消信号以取消被请求的存储器操作。
11.如权利要求1所述的存储器检测装置,其中在存储器寄存器中,以一个下界地址和一个上界地址来标识地址范围。
12.如权利要求1所述的存储器检测装置,其中以一个下界地址和一个屏蔽来标识地址范围,所述屏蔽标识将与存储器请求地址的相应位比较的下界地址的位,以判定是否发生了匹配,所述匹配表明存储器请求的地址位于存储寄存器标识的地址范围之内。
13.如权利要求1所述的存储器检测装置,还包括用于对存储器寄存器编程的控制逻辑。
14.如权利要求1所述的存储器检测装置,其中监控器读出通过总线发出的存储器访问请求。
15.一种用于检测对存储器的访问破坏的存储器检测装置,包括存储器装置,用于存储将被进行检测的存储器访问破坏的至少一个存储器的地址范围和访问的操作模式;用于监控所发出的存储器访问请求以确定一个存储器访问请求的地址的装置;用于在执行存储器访问过程中接收表示操作模式的信号的装置;比较装置,用于将存储器请求的地址和操作模式与存在存储器寄存器中的地址范围和操作模式相比较,使得如果存储器地址位于存在存储器寄存器中的地址范围之内并且其操作模式是用于将被检测的存储器访问破坏的一种,则一个访问破坏被检测到。
16.如权利要求15所述的存储器检测装置,其中所述存储器装置包括至少一个寄存器。
17.如权利要求15所述的存储器检测装置,其中用于监视的装置读出通过总线发出的存储器访问请求。
18.如权利要求15所述的存储器检测装置,其中所述比较装置包括一个模式装置,用于判断存储器寄存器中的操作模式是否与存储器访问请求的操作模式相匹配,以表明存储器请求的操作模式是用于被检测的存储器访问破坏的一种;以及一个对应于模式装置的地址装置,用于判定存储器请求的地址是否位于存储寄存器标识的地址范围之内。
19.如权利要求18所述的存储器检测装置,如果发生匹配,则所述模式装置发出一个使能信号。
20.如权利要求19所述的存储器检测装置,所述地址装置被连接以接收使能信号,并且如果使能信号被接收且存储器请求的地址位于存储器寄存器标识的地址范围之内,则检测到一个存储器访问破坏。
21.如权利要求20所述的存储器检测装置,其中如果检测到一个存储器访问破坏,则所述地址装置产生一个错误选通信号。
22.如权利要求20所述的存储器检测装置,其中如果检测到一个存储器访问破坏,则所述地址装置产生一个取消信号以取消被请求的存储器操作。
23.如权利要求15所述的存储器检测装置,其中在存储器装置中,以一个下界地址和一个上界地址来标识地址范围。
24.如权利要求15所述的存储器检测装置,其中以一个下界地址和一个屏蔽来标识地址范围,所述屏蔽标识将与存储器请求的地址的相应位比较的下界地址的位,以判定是否发生了匹配,所述匹配表明存储器请求的地址位于存储器装置标识的地址范围之内。
25.如权利要求1所述的存储器检测装置,还包括用于对存储器寄存器编程的装置。
26.如权利要求15所述的存储器检测装置,还包括一个装置,如果检测到一个存储器访问破坏,则产生一个错误信号到处理器。
27.如权利要求15所述的存储器检测装置,还包括一个装置,用于取消存储器访问请求,以保护存储器免于非授权访问。
28.如权利要求15所述的存储器检测装置,其中存储器装置包括第一和第二存储寄存器,所述第一寄存器标识将被检测的存储器访问破坏的地址范围的下界和操作模式,并且第二寄存器标识地址范围上界。
29.如权利要求15所述的存储器检测装置,其中存储器装置包括第一和第二存储器寄存器,所述第一寄存器标识将被检测的存储器访问破坏的地址范围的下界和操作模式,并且第二寄存器提供一个标识将要比较的地址范围的下界的地址位的地址屏蔽。
30.一个系统,包括一个总线;一个与总线相连的存储器; 以及一个与总线相连的处理器,所述处理器包括一个用于检测对存储器的访问破坏的存储器检测装置,所述存储器检测装置包括至少一个存储器寄存器,用于存储将被检测的存储器访问破坏的至少一个存储器的地址范围和访问的操作模式;一个读出所发出的存储器访问请求以确定一个存储器访问请求的地址的监控器;一个用于在访问过程中接收表示操作模式的信号的模式输入装置;至少一个比较器,用于将存储器请求的地址和操作模式与存在存储器寄存器中的地址范围和操作模式相比较,如果存储器地址位于存在存储器寄存器中的地址范围之内并且其操作模式是将被检测的存储器访问破坏的一种,则一个访问破坏被检测到。
31.如权利要求30所述的系统,其中监控器读出通过总线发出的存储器访问请求。
32.如权利要求30所述的系统,还包括一个错误发生器,如果检测到一个存储器访问破坏,则产生一个错误信号到处理器。
33.如权利要求30所述的系统,还包括一个取消机构,用于取消存储器访问请求,以保护存储器免于非授权访问。
34.如权利要求30所述的系统,其中存储器寄存器包括第一和第二存储寄存器,所述第一寄存器标识将被检测的存储器访问破坏的地址范围下界和操作模式,并且第二寄存器识别该地址范围上界。
35.如权利要求30所述的系统,其中存储器寄存器包括第一和第二寄存器,所述第一寄存器标识将被检测的存储器访问破坏的地址范围下界和操作模式,并且第二寄存器提供一个标识将比较的地址范围下界的地址位的地址屏蔽。
36.如权利要求30所述的系统,其中所述比较器包括至少一个错误模式块,用于判断存在存储器寄存器中的操作模式是否与存储器访问请求的操作模式相匹配,以表明存储器请求的操作模式是将被检测的存储器访问破坏的一种;以及至少一个对应于错误模式块的地址匹配错误产生块,用于判断存储器请求的地址是否位于存储器寄存器标识的地址范围之内。
37.如权利要求36所述的系统,如果发生匹配,则所述错误模式块发出一个使能信号。
38.如权利要求37所述的系统,所述地址匹配错误产生块被连接以接收使能信号,并且如果使能信号被接收且存储器请求的地址位于存储器寄存器标识的地址范围之内,则检测到一个存储器访问破坏。
39.如权利要求38所述的系统,其中如果检测到一个存储器访问破坏,则所述地址匹配错误产生块产生一个错误选通信号,所述处理器根据错误选通信号的产生,转移到一个错误处理例程。
40.如权利要求38所述的系统,其中如果检测到一个存储器访问破坏,则所述地址匹配错误产生块产生一个取消信号以取消被请求的存储器操作,所述处理器根据取消信号的产生,中止该存储器请求的处理。
41.一种用于检测对存储器的访问破坏的方法,包括步骤监视所发出的存储器访问请求;从该存储器访问请求确定存储器访问的地址;在执行存储器访问请求的存储器访问过程中标识一个操作模式;将被确定的存储器地址和被标识的操作模式与一个被存储的存储器地址范围和标识存储器地址范围的操作模式以及至少一种未授权访问的操作模式相比较;如果存储器地址位于存储器地址范围之内并且被识别的操作模式匹配于至少一种未授权访问的操作模式,则产生一个存储器访问破坏。
42.如权利要求41所述的方法,还包括如果产生一个存储器访问破坏,则产生一个错误信号的步骤。
43.如权利要求41所述的方法,还包括如果产生一个存储器访问破坏,则取消存储器访问请求的步骤。
44.如权利要求41所述的方法,其中监控步骤还包括读出通过总线发出的存储器访问请求的步骤。
45.如权利要求41所述的方法,其中比较存储器地址和访问模式的步骤还包括将存储器请求的地址与一个上界地址和下界地址相比较,以判定存储器请求的地址是否落入上界地址和下界地址之间的步骤。
46.如权利要求41所述的方法,其中比较存储器地址和访问模式的步骤还包括如下步骤用屏蔽位屏蔽一个下界地址以标识将比较的下界地址位;以及比较屏蔽位和存储器请求地址的相应的位,以判定是否发生匹配,所述匹配表明存储器请求的地址位于存储器寄存器标识的地址范围之内。
47.如权利要求41所述的方法,还包括对存储的存储器地址范围和操作模式编程的步骤。
全文摘要
在存储器管理单元不引起额外开销的条件下,所描述的系统和方法提供存储器访问的检测和保护。处理器包括一个受保护的存储器单元,它通过监控存储器总线(510,520,530,540)的传输来监控将被执行的存储器访问。受保护的存储器单元包括多个寄存器,它们标识存储器地址(555、565、575、585)。和能够引起存储器保护或检测破坏的产生的模式(550、560、570、580)。如果发生了存储器保护破坏,就发出一个取消信号以在存储器操作完成之前取消该操作,从而保护存储器免于非授权访问(350)。如果检测到存储器破坏,则允许完成该存储器操作并向处理器发出一个错误信号以通知检测到一个存储器破坏。由于保护机构在处理器中不需要单独的时钟周期,并且只是监控用于存储器访问的存储器总线,所以能在没有增加处理器额外开销的条件下执行存储器的保护和检测。
文档编号G06F12/14GK1149342SQ95193247
公开日1997年5月7日 申请日期1995年5月23日 优先权日1994年5月25日
发明者B·R·吉列西, E·D·加布斯, M·A·汗, T·M·约翰逊, D·M·奥康纳, J·S·希布 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1