CN1130640C - 带有存储器管理单元的微型计算机 - Google Patents
带有存储器管理单元的微型计算机 Download PDFInfo
- Publication number
- CN1130640C CN1130640C CN98803238A CN98803238A CN1130640C CN 1130640 C CN1130640 C CN 1130640C CN 98803238 A CN98803238 A CN 98803238A CN 98803238 A CN98803238 A CN 98803238A CN 1130640 C CN1130640 C CN 1130640C
- Authority
- CN
- China
- Prior art keywords
- vector
- memory block
- library
- address
- management unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
- Communication Control (AREA)
- Document Processing Apparatus (AREA)
- Bus Control (AREA)
- Stored Programmes (AREA)
Abstract
在一应运行大量用户程序的微型计算机中,MMU确保没有一个用户程序可能存取其它程序。但是,为了能够使用公用库程序,并同时防止未经检查地进入这些程序,提供一矢量存储区,其中登录有作为转移目的地(矢量:1050,3000)的库程序起始地址。通过给出矢量号码(0…n),由此MMU确定矢量存储区中相应的地址,调用库程序。
Description
技术领域
本发明涉及一种带有存储器管理单元的微型计算机,它允许用户程序存取库程序,但同时保护操作。
背景技术
在计算机中,随时运行的程序控制着计算机,和/或它所包含和与它连接的存储器和其它外围设备。此外,这意味着经常被转移给存储器的地址包含在程序指令中,而与包含该地址的存储区是否应该提供程序使用无关。
因为情况经常不是这样一以这种方式,其存储内容实际上是保密的存储区可能被调查清楚一,所以采取了安全措施。
这种安全措施的一种可能是采用存储器管理单元,下面表示为MMU,例如它包含在INTEL公司的iAPX286中。在不仅(芯片)制造商程序,而且用户程序应运行时,这则可能被滥用,基本采用这种单元。MMU设置在计算机的中央处理器,下面表示为CPU,和将该中央处理器与其它单元,例如存储器连接的总线之间。
每个应用在MMU中保持一个登录,记录那个存储器包含该应用,它开始的地址,多长以及存在何种存取权。当用户写入他的应用,或他的程序时,必须在微型计算机均存储器中给出这些数据。应用程序则含有仅对存储区的存取权,该存储区存在于由预先给出的起始地址和长度所定义的区域内。因此进入MMU的登录描述了存储于数据存储段的程序的特征。因此MMU中包含该登录的区域被称为段描述符。
由程序对地址的每次调用均由MMU检查,并且调用只有在地址位于被许可的区域内时才允许,否则程序运行出现中断或出现一条错误消息。
在存储器中含有不同用户的程序情况下,这为有关的用户提供了其他用户不能探查或者甚至改变他们的程序的保证,因为每个用户程序只能在写入程序时由用户给出的区域内运行。
美国专利US5,452,431描述了一种具有CPU的微电路,该微电路经地址总线与程序存储器连接,该存储器具有多个用户程序区域。一个分区存储区域被分配给应用程序存储区,在分区存储区中以表格形式存放了应用程序的起始和结束地址以及一个参考编码。在运行用户程序时此程序的存储区的起始和结束地址与实际所调用地址比较,其中一个所调用的位于由起始和结束地址确定的范围外的地址将导致程序中断。然而这种保护机制不能超越由MMU所建立的保护可能性之外。
专利DE3709205A1与那里引用的DE3533787A1描述了一种用于保护存储在存储区内数据的保护电路。该存储区被分配一个描述符,在描述符中登录这个区域的特征。此外它含有一引导程序,在该程序中登录有是否涉及保护的数据。此外引导程序含有一矢量,该矢量在这个存储区的每个寻址时被存储在一个缓存器中。在对该保护数据存取权的正面检查之后,将该矢量传输到管理存储器的计算器,然后该计算器调用一个用于处理保护数据的程序,该程序的存储地址由矢量示出。以这种方式保证所存储的数据不能以任意方式而是只能通过这种已确定的程序来处理。
用户程序常常包含子程序。在这种情况下,不同的用户经常需要相同的子程序,因此上述的安全措施意味着这些子程序是重复存在的。这要求不必要的大量存储空间。
因此在微型计算机的存储区提供一些子程序库是所希望的并且也有意义的,可以由不同的用户程序对子程序库存取,例如,有可能装有特定的安全措施例如检查个人识别号码。
但是,这将再次导致上面提出的问题,即带有欺诈意图的用户可以靠绕过检查程序随意存取库程序。
发明内容
因此,本发明的目的在于提出一种微型计算机,它允许用户程序存取库程序,但同时保护操作。
上述目的可根据以下技术方案得以实现。
微型计算机,含有经存储器管理单元与地址总线相连的中央处理器,地址总线与至少一个程序存储器连接,该存储器含有至少一个用于用户程序的存储区,
其中,在存储器管理单元中,每个用户程序,被分配一段描述符,在段描述符中储存至少用户程序的起始地址,长度和存取权,
并且具有至少一个另外的库程序的存储区和具有矢量存储区,
其中,存储器管理单元中的段描述符描述了矢量存储区和库程序存储区的分配,
其中,至少矢量号码和分配给该矢量号码的矢量储存在矢量存储区,
其中,用户程序对库程序的调用必须包含至少存储器管理单元段描述符标记和矢量号码,存储器管理单元为其分配矢量,借助该矢量实现至所调用库程序的转移。
本发明还包括基于上述技术方案的有利的扩展。
在根据本发明的微型计算机中,不可能直接存取一库程序。而是,除了MMU段描述符标记描述库程序之外,在调用指令中还提出有矢量号码。MMU段描述符标记可以是例如,一数字或一名字。
用MMU检查所给出的矢量号码是否实际存在以及它是否属于所调用的库程序。如果测试结果为正,允许存取起始地址和长度存储于MMU段描述符中的矢量存储区。直至在该矢量存储区内,它一方面包含矢量号码,才出现到库程序起始地址的转移地址或转移指令—即矢量一的地址。这有效地防止了用户可以直接存取库程序并且同时防止有可能绕过安全程序。
附图说明
下面借助附图用实施例更为详细地说明本发明,其中:
图1示意性示出微型计算机方框图,
图2示意性示出用户程序对MMU段描述符内容的分配,以及
图3示意性示出一库程序被调用的方式方法。
具体实施方式
图1以高度概括的方式示出微型计算机的各组成部分。中央处理器CPU通过地址总线与存储器管理单元MMU连接。MMU本身与微型计算机的内部地址总线连接,该地址总线与ROM,RAM和EEPROM存储器连接并与输入/输出单元I/O连接。在微型计算机中也可有任何通用的其它单元,但由于它们不涉及本发明,这里未示出它们。控制总线和数据总线也未示出。总之,根据本发明的微型计算机应该含有所有对其功能所需要的,在现有技术中已知的部件。
CPU给MMU施加逻辑地址同时MMU由此确定物理地址并将其施加给存储器。为此,MMU,如图2左侧部分所示,装有段描述符的存储位置,它包含分配给应用程序A,B的起始地址,长度和存取权。MMU此外还将含有一未示出的加法器,以便能够通过添加用户程序的起始地址由逻辑地址确定物理地址。作为举例,两个用户程序A和B的程序段被示出,程序A在地址50,000起始并具有3,500地址的长度,而程序B在地址120,000起始并具有5,000地址的长度。
当程序A在CPU中运行时,与程序的长度对应,0至3499间的地址被调用。这些逻辑地址被输给MMU,MMU将起始值50,000与它们相加并将以此获得的物理地址施加给内部地址总线。MMU预先检查逻辑地址是否位于对应于存储在MMU段描述符中长度的地址范围内。MMU段描述符可被设计为例如,一存储寄存器。为了该项检查,MMU包含比较器(未示出),一方面,当前地址,另一方面,当前程序的边缘地址被施加给它。如果程序调用一较高或较低地址,则出现中断或出现一条错误消息或类似的消息。
MMU段描述符的另一区域登录存取权,以便有可能确定是否可以对特定的地址范围只读或读写存取。
对于上述说明,与用户程序是否保持在RAM,EEPROM或其它类型的存储器内,以及应由用户程序从哪些存储位置存取是无关紧要的。
图3在此示出根据本发明的,一已知微型计算机的改进。这里还提供了所有用户可以使用的子程序存储区,也就是说库程序存储区。任何存储器均可用于此。
作为举例,图3示出库程序存储器中在地址1050和3000的写程序和擦除程序。
根据发明,用户程序现在不能直接存取这些地址,而在其它情况也还有可能获得非限定的存取—通过绕过安全措施—这些程序。而是,提供一矢量存储区,它登录有矢量号码和分配给它们的,作为转移目的地(矢量)1050,3000的库程序的起始地址。作为替换,导向子程序的转移指令的地址同样可以被储存。此外,子程序的名称同样可以被输入作为标识符,如图3所示。但,这没有必要。
用户没有发现库程序的实际物理地址。除了安全方面,这还具有这样的优点,这些程序可以,在需要时,由操作系统任意移位,而用户程序无需改变。这样,只有转移地址需要在矢量存储区内被改变。
如同任何其它程序一样,每个库程序存储区可以进入MMU。根据发明,每个库程序存储区被分配一矢量存储区,在该存储区中将矢量登录到位于库程序存储区内的库程序中。这种登录通过给出矢量存储区的起始地址和长度完成。
作为替换,矢量存储区也可登录在MMU的段描述符中,在这种情况下库程序存储区的起始地址和长度是登录在段描述符中的。此外,有可能组合矢量存储区和库程序存储区,并且有可能在段描述符中给出起始地址和两个长度。
通过给出MMU段描述符标记例如库程序名称或号码和矢量号码,实现用户程序调用库程序。MMU则检查矢量号码是否实际存在于矢量存储区中以及所调用的程序标记是否对应于分配给矢量号码的登录。矢量存储区中相应的地址只有在检查结果为正时才被寻址,并且只有这样到库程序本身的转移才被执行。
Claims (8)
1.微型计算机,含有经存储器管理单元与地址总线相连的中央处理器,地址总线与至少一个程序存储器连接,该存储器含有至少一个用于用户程序的存储区,
其中,在存储器管理单元中,每个用户程序,被分配一段描述符,在段描述符中储存至少用户程序的起始地址,长度和存取权,
并且具有至少一个另外的库程序的存储区和具有矢量存储区,
其中,存储器管理单元中的段描述符描述了矢量存储区和库程序存储区的分配,
其中,至少矢量号码和分配给该矢量号码的矢量储存在矢量存储区,
其中,用户程序对库程序的调用必须包含至少存储器管理单元段描述符标记和矢量号码,存储器管理单元为其分配矢量,借助该矢量实现至所调用库程序的转移。
2.根据权利要求1所述的微型计算机,其特征在于,通过给出存储器管理单元段描述符中分配给库程字存储区的矢量存储区的起始地址和长度,分配矢量存储区和库程序存储区。
3.根据权利要求1所述的微型计算机,其特征在于,通过给出存储器管理单元段描述符中分配给矢量存储区的库程序存储区的起始地址和长度,分配矢量存储区和库程序存储区。
4.根据权利要求1所述的微型计算机,其特征在于,通过耦合两个区形成一公用存储区分配矢量存储区和库程序存储区,公用存储区由在已分配的存储器管理单元段描述符内给出起始地址和两个长度数据描述。
5.根据权利要求1至4之一所述的微型计算机,其特征在于,矢量由一转移地址构成。
6.根据权利要求1至4之一所述的微型计算机,其特征在于,矢量由导向库程序的转移指令的地址构成。
7.根据权利要求1所述的微型计算机,其特征在于,矢量号码由矢量存储区中矢量的相对位置确定。
8.根据权利要求1所述的微型计算机,其特征在于,矢量号码包含大量字节,当前矢量通过比较包含在矢量存储区内的矢量号码和包含在调用中的矢量号码来确定。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19709975.0 | 1997-03-11 | ||
DE19709975A DE19709975C2 (de) | 1997-03-11 | 1997-03-11 | Mikrocomputer |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1250531A CN1250531A (zh) | 2000-04-12 |
CN1130640C true CN1130640C (zh) | 2003-12-10 |
Family
ID=7822960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98803238A Expired - Lifetime CN1130640C (zh) | 1997-03-11 | 1998-02-05 | 带有存储器管理单元的微型计算机 |
Country Status (11)
Country | Link |
---|---|
US (1) | US6487649B1 (zh) |
EP (1) | EP0966711B1 (zh) |
JP (1) | JP3369190B2 (zh) |
KR (1) | KR100416447B1 (zh) |
CN (1) | CN1130640C (zh) |
AT (1) | ATE437404T1 (zh) |
BR (1) | BR9808847A (zh) |
DE (2) | DE19709975C2 (zh) |
RU (1) | RU2198424C2 (zh) |
UA (1) | UA55445C2 (zh) |
WO (1) | WO1998040821A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19846676C1 (de) * | 1998-10-09 | 2000-03-02 | Siemens Ag | Verfahren zur Absicherung von Einsprungsadressen |
KR100505106B1 (ko) * | 2002-05-29 | 2005-07-29 | 삼성전자주식회사 | 강화된 보안 기능을 갖춘 스마트 카드 |
US7281103B2 (en) * | 2003-10-01 | 2007-10-09 | Kabushiki Kaisha Toshiba | Microcomputer with a security function for accessing a program storage memory |
GB2434897B (en) * | 2004-11-11 | 2009-04-22 | Japan Science & Tech Agency | Computing system, computing method, user program system, library program system, program, and storage medium containing program |
EP1840819B1 (en) * | 2006-03-29 | 2008-12-31 | Sony Deutschland Gmbh | Data writing in systems with alignment restriction or vector-based systems |
DE102008048066B4 (de) | 2008-09-19 | 2018-02-01 | Texas Instruments Deutschland Gmbh | Zugriffssteuerschaltung zur Verwendung mit einer Überwachungs-Logikschaltungsanordnung in einem Verfahren zum Schutz von Software für eingebettete Anwendungen vor unerlaubtem Zugriff |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4087856A (en) * | 1976-06-30 | 1978-05-02 | International Business Machines Corporation | Location dependence for assuring the security of system-control operations |
CN1016830B (zh) * | 1987-07-01 | 1992-05-27 | 数字设备公司 | 利用存取和故障逻辑信号保护主存储器单元的设备和方法 |
US5325496A (en) * | 1991-12-24 | 1994-06-28 | Intel Corporation | Selectable pointer validation in a computer system |
US5452431A (en) * | 1991-10-30 | 1995-09-19 | U.S. Philips Corporation | Microcircuit for a chip card comprising a protected programmable memory |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3709205A1 (de) * | 1985-09-21 | 1988-09-29 | Kirchner Hans Wilhelm | Schutzschaltung fuer informationsdaten im arbeitsspeicher |
EP0526114A1 (en) * | 1991-07-29 | 1993-02-03 | Motorola, Inc. | A method and apparatus for performing address translation in a data processor using masked protection indirection page descriptors |
JPH05225361A (ja) * | 1992-02-07 | 1993-09-03 | Mitsubishi Electric Corp | レジスタ書換え方式 |
-
1997
- 1997-03-11 DE DE19709975A patent/DE19709975C2/de not_active Expired - Fee Related
-
1998
- 1998-02-05 RU RU99121188/09A patent/RU2198424C2/ru not_active IP Right Cessation
- 1998-02-05 AT AT98909336T patent/ATE437404T1/de not_active IP Right Cessation
- 1998-02-05 BR BR9808847-5A patent/BR9808847A/pt not_active IP Right Cessation
- 1998-02-05 JP JP53904898A patent/JP3369190B2/ja not_active Expired - Fee Related
- 1998-02-05 EP EP98909336A patent/EP0966711B1/de not_active Expired - Lifetime
- 1998-02-05 CN CN98803238A patent/CN1130640C/zh not_active Expired - Lifetime
- 1998-02-05 WO PCT/DE1998/000319 patent/WO1998040821A1/de active IP Right Grant
- 1998-02-05 DE DE59814378T patent/DE59814378D1/de not_active Expired - Lifetime
- 1998-02-05 KR KR10-1999-7008214A patent/KR100416447B1/ko not_active IP Right Cessation
- 1998-05-02 UA UA99095020A patent/UA55445C2/uk unknown
-
1999
- 1999-09-13 US US09/395,998 patent/US6487649B1/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4087856A (en) * | 1976-06-30 | 1978-05-02 | International Business Machines Corporation | Location dependence for assuring the security of system-control operations |
CN1016830B (zh) * | 1987-07-01 | 1992-05-27 | 数字设备公司 | 利用存取和故障逻辑信号保护主存储器单元的设备和方法 |
US5452431A (en) * | 1991-10-30 | 1995-09-19 | U.S. Philips Corporation | Microcircuit for a chip card comprising a protected programmable memory |
US5325496A (en) * | 1991-12-24 | 1994-06-28 | Intel Corporation | Selectable pointer validation in a computer system |
Also Published As
Publication number | Publication date |
---|---|
JP3369190B2 (ja) | 2003-01-20 |
BR9808847A (pt) | 2000-10-03 |
US6487649B1 (en) | 2002-11-26 |
DE19709975A1 (de) | 1998-09-24 |
RU2198424C2 (ru) | 2003-02-10 |
WO1998040821A1 (de) | 1998-09-17 |
DE19709975C2 (de) | 1999-04-22 |
ATE437404T1 (de) | 2009-08-15 |
EP0966711B1 (de) | 2009-07-22 |
KR20000076125A (ko) | 2000-12-26 |
UA55445C2 (uk) | 2003-04-15 |
KR100416447B1 (ko) | 2004-01-31 |
CN1250531A (zh) | 2000-04-12 |
EP0966711A1 (de) | 1999-12-29 |
JP2001519940A (ja) | 2001-10-23 |
DE59814378D1 (de) | 2009-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5890189A (en) | Memory management and protection system for virtual memory in computer system | |
EP1966706B1 (en) | Identifier associated with memory locations for managing memory accesses | |
US8234476B2 (en) | Information processing apparatus and method of updating stack pointer | |
CN100428165C (zh) | 用于控制子上下文之间的存储器访问的装置、系统和方法 | |
EP0327707A2 (en) | Nonhierarchical program authorization mechanism | |
CN1243580A (zh) | 监控软件程序按规定执行的方法 | |
US20150278122A1 (en) | Data processing apparatus and address space protection method | |
EP0472487A2 (en) | Apparatus and method for controlling access to data using domains | |
US6064811A (en) | Computer memory conservation system | |
US8019946B2 (en) | Method and system for securing instruction caches using cache line locking | |
US6912633B2 (en) | Enhanced memory management for portable devices | |
US7260690B2 (en) | Microprocessor circuit for data carriers and method for organizing access to data stored in a memory | |
CN1130640C (zh) | 带有存储器管理单元的微型计算机 | |
US6754794B2 (en) | Chip card with integrated circuit | |
US7210134B1 (en) | Deterring reverse-engineering of software systems by randomizing the siting of stack-based data | |
CN1115630C (zh) | 微型计算机 | |
US7191307B1 (en) | Memory management unit technique to detect cross-region pointer stores | |
EP0327839B1 (en) | Information handling system | |
US6889308B1 (en) | Method and apparatus for protecting page translations | |
US20230205431A1 (en) | Dynamic memory management apparatus and method and computer-readable storage medium for the same | |
EP0376253B1 (en) | Information processing apparatus with cache memory | |
MXPA99008326A (en) | Microcomputer with a memory management unit | |
JPS6353574B2 (zh) | ||
JPH11238016A (ja) | メモリ保護方法及び装置 | |
JPH0271328A (ja) | 分岐ヒストリーテーブル制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: INFINEON TECHNOLOGIES AG Free format text: FORMER OWNER: SIEMENS AG Effective date: 20120222 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20120222 Address after: Federal Republic of Germany City, Laura Ibiza Berger Patentee after: Infineon Technologies AG Address before: Munich, Germany Patentee before: Siemens AG |
|
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20031210 |