KR19990072560A - 메모리보호방법및장치 - Google Patents

메모리보호방법및장치 Download PDF

Info

Publication number
KR19990072560A
KR19990072560A KR1019990004693A KR19990004693A KR19990072560A KR 19990072560 A KR19990072560 A KR 19990072560A KR 1019990004693 A KR1019990004693 A KR 1019990004693A KR 19990004693 A KR19990004693 A KR 19990004693A KR 19990072560 A KR19990072560 A KR 19990072560A
Authority
KR
South Korea
Prior art keywords
memory
value
memory access
memory protection
program counter
Prior art date
Application number
KR1019990004693A
Other languages
English (en)
Inventor
이노세신이찌
Original Assignee
가네꼬 히사시
닛뽕덴끼 가부시끼가이샤
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 가네꼬 히사시, 닛뽕덴끼 가부시끼가이샤 filed Critical 가네꼬 히사시
Publication of KR19990072560A publication Critical patent/KR19990072560A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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/1441Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

메모리내의 각 프로세스의 배치를 각 프로세스마다 메모리 보호 기능이 실현될 수 있도록 설계함으로써, 적은 수의 하드웨어 자원의 추가만으로도 메모리 보호를 실현할 수 있는 메모리 보호 방법 및 장치가 개시된다. 프로그램 카운터의 MSB 에서 X번째 비트까지 및 메모리 공간의 MSB 에서 X번째 비트까지를 메모리 보호 필드용으로 할당함으로써, 2X개의 특권 레벨을 제공한다. 실행중인 명령이 메모리 액세스를 포함하는 경우, 프로그램 카운터의 특권 레벨 (X번째 비트값) 과 액세스될 어드레스의 특권 레벨 (X번째 비트값) 이 서로 비교된다. 프로그램 카운터의 특권 레벨이 액세스될 특권 레벨보다 더 낮을 경우에는, 메모리 액세스가 금지된다.

Description

메모리 보호 방법 및 장치 {MEMORY PROTECTION METHOD AND DEVICE THEREFOR}
본 발명은 컴퓨터 시스템의 메모리 관리 유닛에서 사용되는 메모리 보호 방법 및 장치에 관한 것으로, 특히, 컴퓨터 시스템의 프로그램 카운터의 정보 및 메모리 어드레스값에 포함된 메모리 보호 정보를 이용하여, 각 프로세스를 소정의 규칙에 따라 메모리 공간에 배치함으로써, 메모리 보호를 실현하는 메모리 보호 방법 및 장치에 관한 것이다.
대부분의 내장 CPU 및 단일칩 마이크로컴퓨터에는 MMU (Memory Management Unit; 메모리 관리 유닛) 이 없다. 이들을 기반으로 하여 대규모의 애플리케이션을 개발하고자 할 경우에는, OS, 드라이버 및 라이브러리와 같은 수많은 모듈이 서로 협력하여 동작하고 있기 때문에, 때때로 문제의 원인 (들) 을 파악하는 데 막대한 시간이 소요된다. 특히, 포인터의 설정 오류, 스택 오버플로 (overflow) 등에 의해 프로그램의 오버런 (overrun) 이 발생될 경우에는, (OS 및 드라이버를 포함하는) 모든 태스크가 동일 메모리 공간에서 동작하므로, 오버런의 원인을 쉽게 파악할 수 없다. 따라서, 각 프로세스마다 최소한의 필요한 메모리 보호 기능을 제공할 필요가 있게 된다.
종래의 일반적인 컴퓨터 시스템에 적용된 메모리 보호 방법에 따르면, 메모리 보호 기능을 실현하기 위하여, 실행중인 명령의 특권 레벨과 액세스 종점 메모리의 특권 레벨을 식별하기 위해 상태 레지스터가 사용되며, 각 메모리 세그먼트에 메모리 보호 정보가 저장된다. 그러나, 이로 인해서 하드웨어의 규모가 커지게 되는 결점이 발생하게 된다 (일본 특개소 제 56-93163 호 공보, 특개소 제 59-177667 호 공보, 특개소 제 61-94156 호 공보 및 특개평 제 2-230442 호 공보).
따라서, 본 발명의 목적은, 메모리내의 각 프로세스의 배치를 각 프로세스마다 메모리 보호 기능이 실현될 수 있도록 설계함으로써, 적은 수의 하드웨어 자원의 추가만으로도 메모리 보호를 실현할 수 있는 메모리 보호 방법 및 장치를 제공하는 것이다.
본 발명의 일 양태에 따르면, 프로그램 카운터의 소정 영역 및 메모리 공간의 소정 영역에 각기 메모리 보호 필드를 할당하는 단계; 및 상기 메모리 보호 필드값들을 서로 비교하여, 명령 실행중에 메모리 액세스를 허가할 지 금지할 지를 결정하는 단계를 포함하는 메모리 보호 방법이 제공된다.
본 발명의 또다른 양태에 따르면, 프로그램 카운터의 MSB 에서 X번째 비트까지 및 메모리 공간의 MSB 에서 X번째 비트까지를 메모리 보호 필드용으로 할당함으로써, 2X개의 특권 레벨을 제공하는 단계; 실행중인 명령이 메모리 액세스를 포함하는 경우, 프로그램 카운터의 특권 레벨과 액세스될 어드레스의 특권 레벨을 서로 비교하는 단계; 및 예를 들어, 프로그램 카운터의 특권 레벨이 액세스될 특권 레벨보다 더 낮을 경우에는 메모리 액세스를 금지하는 단계를 포함하는 메모리 보호 방법이 제공된다.
이 경우, 명령 실행중에 메모리 액세스를 할 필요가 있는 경우에만 메모리 공간에 할당된 메모리 보호 필드를 참조하고, 그 외의 경우에서 메모리 공간에 할당된 메모리 보호 필드는 통상의 어드레스용 필드로서 기능하는 것이 바람직하다.
본 발명의 또다른 실시예에 따르면, 프로그램 카운터의 MSB 에서 X번째 비트까지 및 메모리 공간의 MSB 에서 X번째 비트까지를 페치하고, 프로그램 카운터로부터 페치된 X번째 비트값 (A) 과 메모리 공간으로부터 페치된 X번째 비트값 (B) 을 비교하는 실행 레벨 비교기; 및 상기 비교 결과를 토대로, 명령 실행중에 메모리 액세스를 허가할 지 금지할 지를 나타내는 신호를 출력하는 출력 수단을 포함하는 메모리 보호 장치가 제공된다.
상술한 메모리 보호 장치에서, 상기 출력 수단은, 상기 실행 레벨 비교기가 값 A 와 값 B 가 같다고 판정한 경우에 메모리 액세스 허가 신호를 출력하며, 상기 실행 레벨 비교기가 값 A 가 값 B 보다 더 크다고 판정한 경우에도 메모리 액세스 허가 신호를 출력하며, 상기 실행 레벨 비교기가 값 A 가 값 B 보다 더 작다고 판정한 경우에는 메모리 액세스를 금지하는 예외 발생 신호를 출력한다.
본 발명에서, 특권 레벨은 종래의 프로그램 카운터 및 어드레스 공간의 각 X 번째 비트에 저장된다. 이는 대규모의 하드웨어 자원없이도 메모리 보호 기능을 실현할 수 있게 한다.
도 1 은 본 발명의 어드레스 공간과 메모리 보호 필드사이의 관계를 나타낸 개략도.
도 2 는 본 발명의 어드레스 공간과 특권 레벨사이의 관계를 나타낸 개략도.
도 3 은 본 발명의 실시예에 따른 메모리 보호 장치를 나타낸 개략도.
도 4 는 본 발명의 실시예에 따른 메모리 보호를 위한 제어 흐름을 나타낸 도면.
도 5 는 본 발명의 실시예에 따른 동작을 나타낸 개략도.
이하, 첨부 도면을 참조하여, 본 발명의 일 실시예를 설명한다.
본 발명에서, 메모리 보호 식별자로서의 역할을 하는 숫자들이 명령 및 데이터 항목 (item) 에 할당된다. 메모리 액세스의 허가 또는 금지는 상술한 숫자들이 "보다 크다" 또는 "보다 작다" 관계를 만족시키는 지에 따라 결정된다. 이하, 명령 및 데이터 항목에 할당된 숫자들을 "특권 레벨" 로 언급하기로 한다.
일반적으로, 컴퓨터 시스템에서 사용되는 프로그램 카운터는 실행중인 명령의 선두 어드레스를 유지한다. 실행중인 명령이 메모리 액세스를 포함할 경우, 그 명령은 직접적으로 (즉, 직접 어드레싱) 또는 간접적으로 (즉, 상대 어드레싱) 저장된 액세스 종점에 관한 어드레스 정보를 포함하고 있디.
본 발명에 따르면, 메모리 보호 정보 (특권 레벨) 는 컴퓨터 시스템의 프로그램 카운터로부터 페치될 뿐만 아니라, 액세스 종점 메모리에 관한 어드레스 정보로부터도 페치되며, 이와 같이 페치된 정보는 메모리 보호를 행해야할 지 말아야할 지를 결정하는 데 사용된다. 특권 레벨의 페칭 방법을 설명하면, 도 1 에 도시된 바와 같이, 프로그램 카운터의 MSB 로부터 X번째 비트까지 확장되는 영역에 메모리 보호 필드가 할당된다. 이 프로그램 카운터의 메모리 보호 필드는 명령의 특권 레벨을 나타낸다. 특권 레벨의 수는 메모리 보호 필드에 할당된 비트수에 의존한다. 좀 더 상세하게는, X 비트가 메모리 보호 필드에 할당된 경우. 2X개의 특권 레벨이 존재한다.
할당될 비트수는 1 비트이상이기만 하면 관계없다. 그러나, 할당된 비트수가 큰 경우에는, 1 개의 태스크 (즉, 연속적으로 배치된 명령군; 즉, 하나의 프로세스) 에 의해 사용될 수 있는 어드레스 공간이 좁아지게 된다. 일반적으로 말하면, 예를 들어, 32 비트의 어드레스를 사용하는 컴퓨터 시스템은 4 기가 (232) 바이트의 어드레스 공간을 갖는다. 32 비트중 2 비트가 메모리 보호 필드로 사용될 경우, 1 개의 태스크에 의해 사용될 수 있는 어드레스 공간의 크기는 512 메가 (229) 바이트가 된다. 특권 레벨은 오름차순 또는 내림차순일 수도 있다. 그러나, 본 명세서의 설명의 편의상, 값이 클수록 특권 레벨도 높아진다고 가정한다. 그리고, 높은 특권 레벨을 갖는 명령이 낮은 특권 레벨을 갖는 메모리 공간으로의 액세스를 명령할 수 있는 규칙이 있다.
도 2 에 도시된 바와 같이, 메모리 공간에 할당된 명령 및 데이터 항목의 특권 레벨을 나타내는 X 비트의 어드레스 필드는, 그 메모리 공간이 2X개로 나누어지도록 메모리 공간에 할당된다. 실행중인 명령이 메모리 액세스를 포함하는 경우에만 상술한 메모리 보호 필드를 참조하고, 그 외의 경우에, 이 메모리 보호 필드는 통상의 어드레스용 필드로서 기능하는 것이 바람직하다.
메모리 보호를 위한 제어는 실행중인 명령이 메모리 액세스를 포함할 경우에 행해진다. 따라서, 실행중인 명령이 메모리 액세스를 포함하지 않을 경우에는, 통상의 오퍼레이션이 행해지게 된다. 실행중인 명령이 메모리 액세스를 포함하는 경우에, 메모리 보호를 위한 제어는 하기의 처리 순서에 의해 실시된다.
도 3 은 본 발명의 실시예에 따른 메모리 보호 장치를 나타낸 개략도이다.
실행 레벨 비교기 (1) 가 프로그램 카운터의 MSB 에서 X번째 비트 및 메모리 공간의 MSB 에서 X번째 비트를 페치한 다음, 프로그램 카운터로부터 페치된 X번째 비트값 (A) 과 메모리 공간으로부터 페치된 X번째 비트값 (B) 을 비교한다. 비교기 (1) 의 비교 결과를 토대로, 출력 수단은 명령 실행중에 메모리 액세스를 허가할 지 금지할 지를 나타내는 신호를 출력한다.
도 4 는 메모리 보호 장치에 의해 실행된 제어 흐름을 나타낸 것이다.
먼저, 메모리 액세스의 필요가 발생하면,
1) 프로그램 카운터의 MSB 에서 X번째 비트까지가 값 (A) 으로서 페치된다.
2) 액세스될 메모리 어드레스의 MSB 에서 X번째 비트까지가 값 (B) 으로서 페치된다.
3) 값 A 와 B 가 서로 비교된다. 두 값이 서로 동일할 경우, 메모리 액세스가 허가되며 통상의 오퍼레이션이 계속된다 (단계 S1).
4) 값 A 와 B 가 서로 다를 경우, 값 A 와 B 의 관계가 검사된다. 만일 값 A 와 B 가 A > B 의 관계를 만족시키면, 메모리 액세스가 허가되며 통상의 오퍼레이션이 계속된다.
5) 만일 값 A 와 B 가 A < B 의 관계를 만족시키면, 메모리 보호 위반으로 인한 예외가 발생되어 메모리 액세스를 금지시키고, OS 등에 의해 실행되는 처리를 트랩한다.
하드웨어에서, 메모리 보호 기능은 상술한 방법으로 제공된다. 상기 메모리 보호 기능이 OS 등에서 적절하게 동작하도록 하기 위해서는, 적절한 메모리 공간에 태스크가 배치될 필요가 있다.
이하, 도 5 를 참조하여 본 발명의 실시예를 설명한다.
이 실시예에서, 본 발명은 16 비트의 어드레스를 사용하는 컴퓨터 시스템에 적용된다. 그리고, 메모리 보호 필드는 2 비트 필드이다. 따라서, 4 개의 레벨 (O 에서 3) 이 태스크의 특권 레벨로서 사용가능하게 된다. 2비트 값이 클수록, 특권 레벨도 높아진다. 따라서, 메모리 보호 필드가 "0" 을 나타낼 경우, 특권 레벨은 최하 또는 "0" 인 반면, 메모리 보호 필드가 "11" 을 나타낼 경우, 특권 레벨은 최상 또는 "3" 이 된다.
또한, 이 컴퓨터 시스템을 사용하여, (각각이 명령 및 데이터 항목을 포함하는 프로세스인) 3 개의 태스크 (A, B 및 C) 를 실행할 수 있다고 가정한다. 예를 들면, 태스크 A 는 어드레스 0x0000 과 0x3fff 사이에 배치되며, 태스크 B 는 어드레스 0x4000 과 0x7fff 사이에 배치되고, 태스크 C 는 어드레스 0xc0000 과 0xffff 사이에 배치된다. 따라서, 태스크 (A, B 및 C) 는 각각 특권 레벨 (0, 1 및 3) 을 가지게 된다.
이하, 다음 각각의 경우에, 상기와 같이 구성된 메모리 보호 장치가 어떻게 동작하는 지를 설명한다.
(a) 컴퓨터 시스템이 태스크 (A) 를 실행하는 경우,
태스크 (A) 의 명령 및 데이터 항목이 어드레스 0x0000 과 0x3fff 사이의 어드레스 공간에 있으므로, 태스크 (A) 는 특권 레벨 (0) 을 갖는다. 이 경우, 태스크 (A) 의 실행중에 메모리 액세스 (로드 및 저장 명령) 의 필요가 발생한 경우에, 메모리 보호를 위한 제어 흐름에 따라서 메모리 액세스를 허가해야할 지 또는 금지해야할 지가 결정된다 (도 4). 액세스 종점 메모리 어드레스가 0x0000 과 0x3fff 사이에 있을 경우에는, 실행중인 명령의 특권 레벨과 액세스 종점 메모리의 특권 레벨이 서로 동일하므로, 메모리 액세스가 허가되며 통상의 오퍼레이션이 행해진다 (경우 1).
다음, 액세스 종점 메모리 어드레스가 0x4000 이상일 경우에는, 실행중인 명령의 특권 레벨 (0) 이 액세스 종점 메모리의 특권 레벨 (1 이상) 보다 더 낮으므로, 메모리 액세스가 금지되고 예외가 발생된다 (경우 3). 일반적으로, 예외가 발생하면, 운영 시스템으로 프로세스가 옮겨진다. 적절한 처치가 취해 진 후에 통상의 오퍼레이션으로 복귀된다.
(b) 컴퓨터 시스템이 태스크 (B) 를 실행하는 경우,
이 또한, 태스크 (B) 의 실행중에, 실행중인 명령이 메모리 액세스를 포함할 경우, 메모리 보호를 위한 제어 흐름에 따라서 메모리 액세스를 허가해야할 지 또는 금지해야할 지가 결정된다. 액세스 종점 메모리 어드레스가 0x4000 이하일 경우에는, 실행중인 명령의 특권 레벨이 액세스 종점 메모리의 특권 레벨보다 더 높으므로, 메모리 액세스가 허가된다 (경우 2). 액세스 종점 메모리 어드레스가 0x4000 과 0x7fff 사이에 있거나 액세스 종점 메모리 어드레스가 0x8000 이상일 경우, (b) 의 경우와 동일한 오퍼레이션이 행해진다. 더 상세하게 설명하면, 액세스 종점 메모리 어드레스가 0x4000 과 0x7fff 사이에 있을 경우, 실행중인 명령의 특권 레벨이 그 액세스 종점 메모리의 특권 레벨과 동일하므로, 메모리 액세스가 허가된다. 액세스 종점 메모리 어드레스가 0x8000 이상일 경우에는, 실행중인 명령의 특권 레벨이 그 액세스 종점 메모리의 특권 레벨보다 더 낮으므로, 메모리 액세스가 금지된다.
(c) 컴퓨터 시스템이 태스크 (c) 를 실행하고 있는 경우,
이 또한, 태스크 (C) 의 실행중에, 실행중인 명령이 메모리 액세스를 포함할 경우, 메모리 보호를 위한 제어 흐름에 따라서 메모리 액세스를 허가해야할 지 또는 금지해야할 지가 결정된다. 그러나, 태스크 (C) 가 최상의 특권 레벨 (3) 을 가지므로, 실행중인 명령의 특권 레벨은 어떠한 액세스 종점 메모리의 특권 레벨보다도 더 높거나 동일하다. 따라서, 경우 1 및 2 를 통한 제어 흐름에서는, 모든 메모리 액세스가 허가된다.
종래의 일반적인 컴퓨터 시스템에 따르면, 메모리 보호 기능을 실현하기 위하여, 실행중인 명령의 특권 레벨과 액세스 종점 메모리의 특권 레벨을 식별하기 위해 상태 레지스터가 사용되며, 각 메모리 세그먼트에 메모리 보호 정보가 저장된다. 이로 인해 하드웨어의 규모가 커지게 된다. 반대로, 상술한 본 발명의 실시예에서는, 어드레스 공간에 따른 고정된 특권 레벨과 프로그램 카운터를 사용하여 메모리 보호 기능을 실현한다. 이 경우, 적은 수의 하드웨어 자원의 추가만으로도 메모리 보호 기능을 실현할 수 있다.
본 발명이 상술한 실시예에만 한정되지 않음은 물론이다. 예를 들면, 본 발명은 실행중인 명령에 대한 어드레스 정보를 저장하는 프로그램 카운터에 적용가능할 뿐만 아니라, 어드레스를 사용하여 메모리에 액세스하는 컴퓨터 시스템에도 적용가능하다. 본 발명은 사용 비트수에 의존하지 않기 때문에, 본 발명의 메모리 보호 방법은 거의 모든 종류의 컴퓨터 시스템에 적용가능하다. 또한, 본 발명에 따르면, 메모리 보호 필드에 할당된 비트수를 임의로 할당할 수 있다.
이상 설명한 바와 같이, 본 발명에 따르면, 특권 레벨을 식별하기 위한 상태 레지스터가 불필요하며, 또한, 각 메모리 세그먼트에 메모리 보호 정보를 저장하는 것도 불필요하다. 기존의 프로그램 카운터 및 어드레스 공간에 따른 고정 특권 레벨을 사용하여 메모리 보호 기능을 실현할 수 있으며, 이 경우, 적은 수의 하드웨어 자원의 추가만으로도 메모리 보호 기능을 실현할 수 있게 된다.

Claims (13)

  1. 프로그램 카운터의 소정 영역 및 메모리 공간의 소정 영역에 각기 메모리 보호 필드를 할당하는 단계; 및
    상기 메모리 보호 필드값들을 서로 비교하여, 명령 실행중에 메모리 액세스를 허가할 지 금지할 지를 결정하는 단계를 포함하는 것을 특징으로 하는 메모리 보호 방법.
  2. 프로그램 카운터의 MSB 에서 X번째 비트까지 및 메모리 공간의 MSB 에서 X번째 비트까지를 메모리 보호 필드용으로 할당함으로써, 2X개의 특권 레벨을 제공하는 단계; 및
    실행중인 명령이 메모리 액세스를 포함하는 경우, 프로그램 카운터의 특권 레벨과 액세스될 어드레스의 특권 레벨을 서로 비교하여, 메모리 액세스를 허가할 지 금지할 지를 결정하는 단계를 포함하는 것을 특징으로 하는 메모리 보호 방법.
  3. 제 2 항에 있어서,
    프로그램 카운터의 특권 레벨과 액세스될 어드레스의 특권 레벨이 서로 비교되며, 프로그램 카운터의 특권 레벨이 액세스될 어드레스의 특권 레벨보다 더 낮을 경우에는, 메모리 액세스가 금지되는 것을 특징으로 하는 메모리 보호 방법.
  4. 제 1 항에 있어서,
    명령 실행중에 메모리 액세스를 할 필요가 있는 발생하는 경우에만 메모리 공간에 할당된 메모리 보호 필드를 참조하고, 그 외의 경우에는, 메모리 공간에 할당된 메모리 보호 필드가 통상의 어드레스용의 필드로서 기능하는 것을 특징으로 하는 메모리 보호 방법.
  5. 제 2 항에 있어서,
    명령 실행중에 메모리 액세스를 할 필요가 있는 발생하는 경우에만 메모리 공간에 할당된 메모리 보호 필드를 참조하고, 그 외의 경우에는, 메모리 공간에 할당된 메모리 보호 필드가 통상의 어드레스용의 필드로서 기능하는 것을 특징으로 하는 메모리 보호 방법.
  6. 제 3 항에 있어서,
    명령 실행중에 메모리 액세스를 할 필요가 있는 발생하는 경우에만 메모리 공간에 할당된 메모리 보호 필드를 참조하고, 그 외의 경우에는, 메모리 공간에 할당된 메모리 보호 필드가 통상의 어드레스용의 필드로서 기능하는 것을 특징으로 하는 메모리 보호 방법.
  7. 프로그램 카운터의 MSB 에서 X번째 비트까지 및 메모리 공간의 MSB 에서 X번째 비트까지를 페치하고, 프로그램 카운터로부터 페치된 X번째 비트값 (A) 과 메모리 공간으로부터 페치된 X번째 비트값 (B) 을 비교하는 실행 레벨 비교기; 및
    상기 비교 결과를 토대로, 명령 실행중에 메모리 액세스를 허가할 지 금지할 지를 나타내는 신호를 출력하는 출력 수단을 포함하는 것을 특징으로 하는 메모리 보호 장치.
  8. 제 7 항에 있어서,
    상기 출력 수단은, 상기 실행 레벨 비교기가 값 A 와 값 B 와 같다고 판정한 경우, 메모리 액세스 허가 신호를 출력하는 것을 특징으로 하는 메모리 보호 장치.
  9. 제 7 항에 있어서,
    상기 출력 수단은, 상기 실행 레벨 비교기가 값 A 가 값 B 보다 더 크다고 판정한 경우, 메모리 액세스 허가 신호를 출력하는 것을 특징으로 하는 메모리 보호 장치.
  10. 제 8 항에 있어서,
    상기 출력 수단은, 상기 실행 레벨 비교기가 값 A 가 값 B 보다 더 크다고 판정한 경우, 메모리 액세스 허가 신호를 출력하는 것을 특징으로 하는 메모리 보호 장치.
  11. 제 7 항에 있어서,
    상기 출력 수단은, 상기 실행 레벨 비교기가 값 A 가 값 B 보다 더 작다고 판정한 경우, 메모리 액세스를 금지하는 예외 발생 신호를 출력하는 것을 특징으로 하는 메모리 보호 장치.
  12. 제 8 항에 있어서,
    상기 출력 수단은, 상기 실행 레벨 비교기가 값 A 가 값 B 보다 더 작다고 판정한 경우, 메모리 액세스를 금지하는 예외 발생 신호를 출력하는 것을 특징으로 하는 메모리 보호 장치.
  13. 제 9 항에 있어서,
    상기 출력 수단은, 상기 실행 레벨 비교기가 값 A 가 값 B 보다 더 작다고 판정한 경우, 메모리 액세스를 금지하는 예외 발생 신호를 출력하는 것을 특징으로 하는 메모리 보호 장치.
KR1019990004693A 1998-02-23 1999-02-10 메모리보호방법및장치 KR19990072560A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP98-040557 1998-02-23
JP10040557A JPH11238016A (ja) 1998-02-23 1998-02-23 メモリ保護方法及び装置

Publications (1)

Publication Number Publication Date
KR19990072560A true KR19990072560A (ko) 1999-09-27

Family

ID=12583765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990004693A KR19990072560A (ko) 1998-02-23 1999-02-10 메모리보호방법및장치

Country Status (4)

Country Link
EP (1) EP0938047A1 (ko)
JP (1) JPH11238016A (ko)
KR (1) KR19990072560A (ko)
CN (1) CN1227367A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1507185A1 (fr) * 2003-08-11 2005-02-16 Axalto S.A. Méthode et dispositif de protection contre l'accès non-autorisé à une routine sensible
CN101436163B (zh) * 2007-11-16 2011-12-28 慧荣科技股份有限公司 非挥发性存储器储存装置及其存取方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4115152C2 (de) * 1991-05-08 2003-04-24 Gao Ges Automation Org Kartenförmiger Datenträger mit einer datenschützenden Mikroprozessorschaltung
US5325496A (en) * 1991-12-24 1994-06-28 Intel Corporation Selectable pointer validation in a computer system
US6101590A (en) * 1995-10-10 2000-08-08 Micro Unity Systems Engineering, Inc. Virtual memory system with local and global virtual address translation
JPH10228421A (ja) * 1997-02-14 1998-08-25 Nec Ic Microcomput Syst Ltd メモリアクセス制御回路

Also Published As

Publication number Publication date
CN1227367A (zh) 1999-09-01
EP0938047A1 (en) 1999-08-25
JPH11238016A (ja) 1999-08-31

Similar Documents

Publication Publication Date Title
KR100578437B1 (ko) 다수의 스레드의 병행 실행을 지원하는 컴퓨터 시스템에서의 인터럽트 처리 메커니즘
US6735666B1 (en) Method of providing direct user task access to operating system data structures
EP1839159B1 (en) Data processing apparatus having memory protection unit
EP2660752B1 (en) Memory protection circuit, processing unit, and memory protection method
US8074274B2 (en) User-level privilege management
US5822758A (en) Method and system for high performance dynamic and user programmable cache arbitration
US8234476B2 (en) Information processing apparatus and method of updating stack pointer
US20070283102A1 (en) Mechanism that Provides Efficient Multi-Word Load Atomicity
EP0026590A2 (en) Improved memory protection system using capability registers
KR970011207B1 (ko) 원자 억세스를 제공하는 레지스터가 소프트웨어 인터록 없이 공유된 레지스터의 개별 비트를 세트하고 클리어하기 위한 방법 및 장치
EP3420446B1 (en) Method of secure memory addressing
US5924126A (en) Method and apparatus for providing address translations for input/output operations in a computer system
KR20200116472A (ko) 메모리 액세스시의 보호 태그 검사 제어
CN113485716B (zh) 防内存越界的程序编译方法及装置
US6895583B1 (en) Task control block for a computing environment
JP5999216B2 (ja) データ処理装置
US5564030A (en) Circuit and method for detecting segment limit errors for code fetches
CN115885266A (zh) 标签检查装置及方法
EP1842135B1 (en) Generic low cost hardware mechanism for memory protection
KR20200116473A (ko) 메모리 액세스시의 보호 태그 검사 제어
KR19990072560A (ko) 메모리보호방법및장치
US20080072009A1 (en) Apparatus and method for handling interrupt disabled section and page pinning apparatus and method
EP0864983A2 (en) Computer system including memory adress management circuit for protecting memory from illegal writing
US20010049794A1 (en) Write protection software for programmable chip
AU632542B2 (en) Ring reduction logic mechanism

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application