KR20130031852A - 이상 검사 장치, 중앙 처리 연산 장치, 및 이상 검사 방법 - Google Patents

이상 검사 장치, 중앙 처리 연산 장치, 및 이상 검사 방법 Download PDF

Info

Publication number
KR20130031852A
KR20130031852A KR1020127033489A KR20127033489A KR20130031852A KR 20130031852 A KR20130031852 A KR 20130031852A KR 1020127033489 A KR1020127033489 A KR 1020127033489A KR 20127033489 A KR20127033489 A KR 20127033489A KR 20130031852 A KR20130031852 A KR 20130031852A
Authority
KR
South Korea
Prior art keywords
signal
memory
address
input
memory management
Prior art date
Application number
KR1020127033489A
Other languages
English (en)
Other versions
KR101453184B1 (ko
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 KR20130031852A publication Critical patent/KR20130031852A/ko
Application granted granted Critical
Publication of KR101453184B1 publication Critical patent/KR101453184B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/145Protection 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 virtual, e.g. for virtual blocks or segments before a translation mechanism
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

CPU(12)는, 동작 모드를, MMU(20)로부터 CPU 예외 통지가 출력된 경우에도 실행 중의 프로그램을 정지시키지 않는 테스트 모드로 변경하고, 테스트 모드에서, MMU(20)로 하여금 CPU 예외 통지를 출력하게 하기 위한 액세스 신호를 MMU(20)에 출력하며, 액세스 신호가 MMU(20)에 출력된 후에, CPU 예외 통지의 입력 유무를 검출한다. 이에 의해, 부정 액세스를 검지할 수 없는 이상이 메모리 관리 장치에 발생하고 있는지 여부를, 다른 프로그램을 실행한 채로 검사할 수 있다.

Description

이상 검사 장치, 중앙 처리 연산 장치, 및 이상 검사 방법{ABNORMALITY INSPECTION DEVICE, CENTRAL PROCESSING UNIT, AND ABNORMALITY INSPECTION METHOD}
본 발명은, 이상 검사 장치, 중앙 처리 연산 장치, 및 이상 검사 방법에 관한 것이다.
RAM(Random Access Memory) 등의 페이지 단위마다(예를 들면, 수K 바이트마다) 구분된 물리 메모리에 CPU(Central Processing Unit: 중앙 처리 연산 장치)가 액세스하기 위해서, 가상 어드레스가 이용되는 경우가 있다. 가상 어드레스란, 불연속인 물리 메모리의 영역을 가상적으로 연속으로 한 가상 메모리의 어드레스이며, 물리 어드레스와는 상이하다. 그 때문에, CPU가 가상 어드레스를 이용하는 경우, 메모리 관리 장치(Memory Management Unit, 이하, 「MMU」라고 함)가, 가상 어드레스를 물리 어드레스로 변환하는 것에 의해, CPU에 의한 물리 메모리로의 액세스를 가능하게 하고 있다.
MMU는, 물리 어드레스를 가상 어드레스로 변환하기 위한 변환 테이블인 페이지 테이블을, RAM으로부터 페이지 색인 버퍼(Translation Look-aside Buffer, 이하, 「TLB」라고 함)에 판독하고(로드하고), 상기 페이지 테이블을 이용하여 CPU로부터 액세스 요구가 있던 가상 어드레스를 물리 어드레스로 변환하고 있다.
페이지 테이블은, 도 4의 모식도에 나타낸 바와 같이, 물리 메모리(50)의 메모리 페이지마다 액세스하기 위한 메모리 페이지 엔트리가 설치되고, 각 메모리 페이지 엔트리에는, 대응하는 메모리 페이지의 가상 어드레스 및 물리 어드레스가 기술되어 있다. MMU(52)에 설치된 TLB(54)에는, 물리 메모리(50)에 기억되어 있는 페이지 테이블 정보로부터 필요한 모리 페이지 엔트리가 판독되어, 기억된다.
또한, 메모리 페이지 엔트리에는, 「판독」, 「기입」, 및 「실행」 등을 나타내는 메모리 보호 속성이 기술되어 있다. 특허 문헌 1에 기재된 기술은, MMU로 판독되는 페이지 테이블의 메모리 페이지 엔트리의 메모리 보호 속성의 보호 비트에 값을 설정하는 것에 의해, 임의의 태스크밖에 사용하지 않는 대역 변수를 다른 태스크가 잘못하여 리라이트해 버려, 태스크가 폭주해 버리는 것을 방지하는 것을 가능하게 하는 기술이다.
(선행 기술 문헌)
(특허 문헌)
특허 문헌 1 : 일본 특개평 제10-289158호 공보
한편, 도 4의 모식도에 나타나는 CPU(56)로부터 MMU(52)에, 존재하지 않는 물리 어드레스에 대응하는 가상 어드레스가 입력된 경우, MMU(52)는, 부정 액세스인 것을 나타내는 신호인 CPU 예외(페이지 폴트) 통지를 CPU(56)에 출력한다. 그러나, 부정 액세스가 발생했음에도 불구하고, MMU(52)의 고장에 의해, MMU(52)가 CPU 예외 통지를 출력하지 않는 경우에는, CPU(56)의 정지(행업), 폭주, 또는 접속되어 있는 다른 장치로의 출력 값의 돌변 등, CPU(56)의 동작 이상으로 될 가능성이 있다.
본 발명은, 이러한 사정을 감안하여 이루어진 것으로, 부정 액세스를 검지할 수 없는 이상이 메모리 관리 장치에 발생하고 있는지 여부를, 다른 프로그램을 실행한 채로 검사할 수 있는 이상 검사 장치, 중앙 처리 연산 장치, 및 이상 검사 방법을 제공하는 것을 목적으로 한다.
본 발명의 제 1 형태에 따른 이상 검사 장치는, 물리 메모리의 어드레스인 물리 어드레스와 가상 메모리의 어드레스인 가상 어드레스를 변환하여, 상기 가상 어드레스로부터 변환된 상기 물리 어드레스로 상기 물리 메모리로의 액세스를 할 수 없는 경우에, 부정 액세스인 것을 나타내는 제 1 신호를 출력하는 메모리 관리 장치에 접속되고, 상기 가상 어드레스를 상기 메모리 관리 장치에 출력함과 아울러, 상기 제 1 신호가 입력 가능하게 되고, 상기 제 1 신호가 입력된 경우에, 실행 중의 프로그램을 정지시키는 중앙 처리 연산 장치에 설치되는 이상 검사 장치로서, 상기 중앙 처리 연산 장치의 동작 모드를, 상기 메모리 관리 장치로부터 상기 제 1 신호가 출력된 경우에도 실행 중의 프로그램을 정지시키지 않는 테스트 모드로 변경하는 변경 수단과, 상기 테스트 모드에서, 상기 메모리 관리 장치로 하여금 상기 제 1 신호를 출력하게 하기 위한 제 2 신호를 상기 메모리 관리 장치에 출력하는 출력 수단과, 상기 출력 수단에 의해 상기 제 2 신호가 상기 메모리 관리 장치에 출력된 후에, 상기 제 1 신호의 입력 유무를 검출하는 검출 수단을 구비한다.
상기 구성에 의하면, 이상 검사 장치는, 메모리 관리 장치에 접속되어 있는 중앙 처리 연산 장치에 설치되어 있다.
메모리 관리 장치는, 물리 메모리의 어드레스인 물리 어드레스와 가상 메모리의 어드레스인 가상 어드레스를 변환하고, 가상 어드레스로부터 변환된 물리 어드레스로 물리 메모리로의 액세스를 할 수 없는 경우에, 부정 액세스인 것을 나타내는 제 1 신호를 출력한다. 또한, 물리 메모리란, 예를 들면, RAM 등이며, 가상 메모리란, 불연속인 물리 메모리의 영역을 가상적으로 연속으로 한 메모리이다. 그리고, 중앙 처리 연산 장치는, 가상 어드레스를 메모리 관리 장치에 출력함과 아울러, 제 1 신호가 입력 가능하게 되고, 제 1 신호가 입력된 경우에, 실행 중의 프로그램을 정지시킨다.
그리고, 변경 수단에 의해, 중앙 처리 연산 장치의 동작 모드가, 메모리 관리 장치로부터 제 1 신호가 출력된 경우에도 실행 중의 프로그램을 정지시키지 않는 테스트 모드로 변경된다.
동작 모드가 테스트 모드로 변경된 후, 출력 수단에 의해, 메모리 관리 장치로 하여금 제 1 신호를 출력하게 하기 위한 제 2 신호가, 메모리 관리 장치에 출력된다. 즉, 제 2 신호란, 물리 메모리에 부정 액세스를 행하기 위한 신호이다.
그리고, 제 2 신호가 메모리 관리 장치에 출력된 후에, 검출 수단에 의해, 제 1 신호의 입력 유무가 검출된다.
이와 같이, 중앙 처리 연산 장치의 동작 모드를 테스트 모드로 변경한 후에, 물리 메모리에 부정 액세스를 행하기 위한 제 2 신호를 출력하고, 부정 액세스가 행해진 것을 나타내는 제 1 신호의 입력 유무를 검출하므로, 부정 액세스를 검지할 수 없는 이상이 메모리 관리 장치에 발생하고 있는지 여부를, 다른 프로그램을 실행한 채로 검사할 수 있다.
상기 제 1 형태에서는, 상기 변경 수단이, 상기 테스트 모드에서 상기 제 1 신호가 입력된 경우에, 상기 테스트 모드를 해제하고, 상기 검출 수단이, 상기 테스트 모드가 해제된 경우에, 상기 제 1 신호가 입력된 것을 검출하는 것이 바람직하다.
상기 구성에 의하면, 테스트 모드에서 제 1 신호가 입력된 경우에, 변경 수단에 의해, 테스트 모드가 해제되고, 테스트 모드가 해제된 경우에, 검출 수단에 의해, 제 1 신호가 입력되었던 것이 검출된다.
이와 같이, 테스트 모드에서 제 1 신호가 입력되면, 우선 테스트 모드를 해제하므로, 동작 모드가 테스트 모드로 되어 있는 기간을 필요 이상으로 길게 하는 것을 억제할 수 있다.
상기 제 1 형태에서는, 상기 제 2 신호를, 상기 가상 메모리에 존재하지 않는 가상 어드레스를 나타내는 신호, 상기 물리 메모리에 존재하지 않는 물리 어드레스를 나타내는 신호, 또는 상기 가상 어드레스에 대해서, 상기 물리 메모리에 액세스하기 위한 메모리 페이지 엔트리에 설정한 메모리 보호 속성에 위반하는 액세스를 행하기 위한 신호로 하는 것이 바람직하다. 상기 구성에 의하면, 제 2 신호를, 가상 메모리에 존재하지 않는 가상 어드레스를 나타내는 신호, 물리 메모리에 존재하지 않는 물리 어드레스를 나타내는 신호, 또는 메모리 보호 속성에 위반하는 액세스를 행하기 위한 신호로 하므로, 용이하게 물리 메모리에 부정 액세스하기 위한 신호를 생성할 수 있다.
본 발명의 제 2 형태에 따른 중앙 처리 연산 장치는, 상기 기재된 이상 검사 장치를 구비한 중앙 처리 연산 장치로서, 상기 이상 검사 장치가 구비하는 상기 검출 수단에 의해, 상기 메모리 관리 장치로부터의 상기 제 1 신호의 입력이 없는 것이 검출된 경우에, 실행 중의 프로그램을 정지시킨다.
상기 구성에 의하면, 중앙 처리 연산 장치는, 상기 기재된 이상 검사 장치를 구비하고 있다. 그리고, 중앙 처리 연산 장치는, 이상 검사 장치가 구비하는 검출 수단에 의해, 메모리 관리 장치로부터의 제 1 신호의 입력이 없는 것이 검출된 경우에, 실행 중의 프로그램을 정지시킨다.
제 1 신호의 입력이 없는 경우란, 즉, 중앙 처리 연산 장치에 의한 부정 액세스를 검지할 수 없는 고장이 메모리 관리 장치에 발생하고 있는 경우이다. 이러한 경우에, 중앙 처리 연산 장치가, 프로그램을 계속 실행하여 부정 액세스를 실행해 버린 경우에는, 중앙 처리 연산 장치의 정지, 폭주, 또는 접속되어 있는 다른 장치로의 출력 값의 돌변 등, 중앙 처리 연산 장치의 동작 이상으로 될 가능성이 있다.
그 때문에, 본 발명은, 동작 모드가 테스트 모드의 경우이며, 제 1 신호의 입력이 없는 것이 검출된 경우에, 실행 중의 프로그램을 정지시키므로, 동작 이상으로 되는 것을 방지할 수 있다.
본 발명의 제 3 형태에 따른 이상 검사 방법은, 물리 메모리의 어드레스인 물리 어드레스와 가상 메모리의 어드레스인 가상 어드레스를 변환하고, 상기 가상 어드레스로부터 변환된 상기 물리 어드레스로 상기 물리 메모리로의 액세스를 할 수 없는 경우에, 부정 액세스인 것을 나타내는 제 1 신호를 출력하는 메모리 관리 장치에 접속되고, 상기 가상 어드레스를 상기 메모리 관리 장치에 출력함과 아울러, 상기 제 1 신호가 입력 가능하게 되고, 상기 제 1 신호가 입력된 경우에, 실행 중의 프로그램을 정지시키는 중앙 처리 연산 장치에 설치되는 이상 검사 방법으로서, 상기 중앙 처리 연산 장치의 동작 모드를, 상기 메모리 관리 장치로부터 상기 제 1 신호가 출력된 경우에도 실행 중의 프로그램을 정지시키지 않는 테스트 모드로 변경하는 제 1 공정과, 상기 테스트 모드에서, 상기 메모리 관리 장치로 하여금 상기 제 1 신호를 출력하게 하기 위한 제 2 신호를 상기 메모리 관리 장치에 출력하는 제 2 공정과, 상기 제 2 신호가 상기 메모리 관리 장치에 출력된 후에, 상기 제 1 신호의 입력 유무를 검출하는 제 3 공정을 포함한다.
상기 구성에 의하면, 중앙 처리 연산 장치의 동작 모드를 테스트 모드로 변경한 후에, 물리 메모리에 부정 액세스를 행하기 위한 제 2 신호를 출력하고, 부정 액세스를 한 것을 나타내는 제 1 신호의 입력 유무를 검출하므로, 부정 액세스를 검지할 수 없는 이상이 메모리 관리 장치에 발생하고 있는지 여부를, 다른 프로그램을 실행한 채로 검사할 수 있다.
본 발명에 의하면, 부정 액세스를 검지할 수 없는 이상이 메모리 관리 장치에 발생하고 있는지 여부를, 다른 프로그램을 실행한 채로 검사할 수 있다고 하는 우수한 효과를 갖는다.
도 1은 본 발명의 실시 형태에 따른 정보 처리 장치의 전기계의 주요부 구성을 나타내는 도이다.
도 2는 본 발명의 실시 형태에 따른 RAM에 기억되어 있는 페이지 테이블 정보의 구성을 나타내는 모식도이다.
도 3은 본 발명의 실시 형태에 따른 이상 검사 프로그램의 처리 흐름을 나타내는 플로우차트이다.
도 4는 종래의 MMU에 의한 처리의 설명에 필요로 하는 모식도이다.
이하에, 본 발명에 따른 이상 검사 장치, 중앙 처리 연산 장치, 및 이상 검사 방법의 일 실시 형태에 있어서, 도면을 참조하여 설명한다.
이하, 본 발명의 일 실시 형태에 대해 설명한다.
도 1은, 본 실시 형태에 따른 정보 처리 장치(10)의 전기적 구성을 나타내는 블럭도이다.
정보 처리 장치(10)는, 정보 처리 장치(10) 전체의 동작을 담당하는 CPU(12), CPU(12)에 의한 각종 프로그램의 실행 시의 작업 영역 등으로서 이용되는 물리 메모리인 RAM(14), 각종 프로그램이나 각종 정보(데이터) 등이 미리 기억된 ROM(Read Only Memory)(16), 각종 프로그램 및 각종 정보를 기억하는 기억 수단으로서의 HDD(Hard Disk Drive)(18)를 구비하고 있다. 또한, 기억 수단으로서는, HDD(18)에 한정하지 않고, 플래시 ROM 등, 데이터를 기억할 수 있는 것이면 다른 기억 수단을 이용해도 좋다.
CPU(12)는, 프로그램을 실행하기 위한 프로그램 실행부(22), 및 CPU 예외 통지가 입력된 경우에, 실행하고 있는 프로그램의 정지 처리를 행하는 예외 처리부(24)를 구비하고 있다.
또한, CPU(12)는, 가상 어드레스와 물리 어드레스를 변환하기 위한 변환 테이블(이하, 「페이지 테이블」이라고 함)에 근거하여, CPU(12)로부터 출력되는 가상 어드레스를 물리 어드레스로 변환하는 MMU(20)에 내부 버스(40)를 거쳐서 접속되어 있다.
페이지 테이블은, 도 2에 나타낸 바와 같이, 물리 메모리인 RAM(14)의 페이지 단위마다(메모리 페이지 #1~#N(N은 정수)) 설치된 메모리 페이지 엔트리(메모리 페이지 #1 엔트리~메모리 페이지 #N 엔트리)를 복수 포함하고 있다. 또한, 메모리 페이지 엔트리는, 대응하는 메모리 페이지의 가상 어드레스, 물리 어드레스, 및 「판독」, 「기입」, 「실행」, 및 모든 권한을 갖는 사용자의 액세스만을 받아들이는 「수퍼 유저 모드」 등을 나타내는 메모리 보호 속성이 기술되어 있다.
MMU(20)는, TLB(26), 어드레스 변환부(28), 메모리 보호부(30)를 구비하고 있다.
TLB(26)는, 페이지 테이블을 나타내는 페이지 테이블 정보를 기억한다. 보다 구체적으로는, TLB(26)는, RAM(14)에 기억되어 있는 페이지 테이블 정보로부터 CPU(12)에서 실행되는 프로그램에 따라 필요하게 되는 메모리 페이지 엔트리를 판독하여 기억한다.
어드레스 변환부(28)는, TLB(26)에 판독된 페이지 테이블 정보를 이용하여 가상 어드레스와 물리 어드레스의 변환 처리를 행한다.
메모리 보호부(30)는, 어드레스 변환부(28)에 의해 가상 어드레스로부터 변환된 물리 어드레스에서는, 물리 메모리에 액세스할 수 없는 부정 액세스의 유무를 검출하고, 부정 액세스를 검출한 경우에, 부정 액세스인 것을 나타내는 신호인 CPU 예외 통지를 CPU(12)에 출력한다.
또한, 페이지 테이블 정보는, 미리 HDD(18)에 기억되어 있어 정보 처리 장치(10)의 동작이 개시되면, HDD(18)로부터 RAM(14)에 송신되어 기억된다. 그리고, RAM(14)에 기억된 페이지 테이블 정보는, CPU(12)에서 실행되는 프로그램에 따라 TLB(26)에 판독된다.
또한, 정보 처리 장치(10)는, 키보드 및 마우스 등으로 구성되고, 각종 조작의 입력을 받아들이는 조작 입력부(32), 예를 들면, 액정 디스플레이 장치 등의 화상 표시부(34)를 구비하고 있다. 또한, 조작 입력부(32)는, 키보드 및 마우스 등에 한정하지 않고, 푸쉬 버튼 등, 정보 처리 장치(10)에 대한 조작의 입력을 받아들이는 것이면, 다른 입력 장치여도 좋다. 또한, 화상 표시부(34)는, 액정 디스플레이 등에 한정하지 않고, LED(Light Emitting Diode) 등 정보 처리 장치(10)를 사용하는 사용자에게 각종의 정보를 통지할 수 있는 것이면, 다른 표시 장치여도 좋다.
또한, 정보 처리 장치(10)는, 통신 회선(36)를 거쳐서 다른 정보 처리 장치나, 정보 처리 장치(10)에 의해 제어되는 다른 장치 등의 외부 장치와 접속되고, 상기 외부 장치의 각종 정보의 입출력을 행하는 입출력 처리부(38)를 구비하고 있다.
또한, 통신 회선(36)은, 전기 사업자에 의해 제공되는 광역 통신 회선 또는 LAN(Local Area Network) 등의 구내 통신망, 또는 외부 패스 등이며, 유선 회선 또는 무선 회선 중 어느 하나이어도 좋다.
이들 MMU(20), RAM(14), ROM(16), HDD(18), 조작 입력부(32), 화상 표시부(34), 및 입출력 처리부(38)는, 내부 버스(40)를 거쳐서 서로 전기적으로 접속되어 있다. 따라서, CPU(12)는 MMU(20)를 거쳐서, RAM(14), ROM(16), 및 HDD(18)로의 액세스, 조작 입력부(32)에 대한 조작 상태의 파악, 화상 표시부(34)에 대한 화상의 표시, 및 입출력 처리부(38)를 거친 외부 장치와의 각종 정보의 송수신 등을 각각 행할 수 있다.
여기서, 상술한 바와 같이, CPU(12)로부터 MMU(20)에, 존재하지 않는 물리 어드레스에 대응하는 가상 어드레스가 입력된 경우, MMU(20)는, CPU 예외 통지를 CPU(12)에 출력한다. 그러나, 부정 액세스가 발생했음에도 불구하고, MMU(20)의 고장에 의해, MMU(20)가 CPU 예외 통지를 출력하지 않는 경우에는, CPU(12)의 정지, 폭주, 또는 접속되어 있는 다른 장치로의 출력 값의 돌변 등, CPU(12)의 동작이 이상으로 될 가능성이 있다.
그래서, 본 실시 형태에 따른 정보 처리 장치(10)는, 부정 액세스를 검지할 수 없는 이상이 메모리 관리 장치에 발생하고 있는지 여부를, 다른 프로그램을 실행한 채로 검사하는 이상 검사 처리를 실행한다.
다음에, 본 실시 형태에 따른 정보 처리 장치(10)의 작용을 설명한다.
도 3은, 조작 입력부(32)를 거쳐서 이상 검사 처리의 실행 지시가 입력된 경우에, CPU(12)에 의해 실행되는 이상 검사 프로그램의 처리 흐름을 나타내는 플로우차트이며, 상기 프로그램은 HDD(18)의 소정 영역에 미리 기억되어 있다. 또한, RAM(14)에는, 이상 검사 처리의 실행 지시가 입력되면 이상 검사 프로그램이 HDD(14)로부터 송신되고, 기억된다. 또한, TLB(26)에는, 이상 검사 프로그램의 동작 개시와 함께, 이상 검사 프로그램에 대응한 페이지 테이블 정보가 판독된다.
스텝 100에서는, 동작 모드를 테스트 모드로 변경한다. 테스트 모드란, MMU(20)로부터 CPU 예외 통지가 출력되고, CPU(12)에 입력된 경우에도, CPU(12)가 실행 중의 프로그램을 정지시키지 않는 동작 모드이다. 또한, 본 실시 형태에 따른 CPU(12)는, 일례로서 테스트 모드로 변경한 경우에는, 동작 모드가 테스트 모드인 것을 나타내는 플래그를 설정한다.
다음의 스텝 102에서는, 물리 메모리인 RAM(14)로의 부정 액세스를 실행한다.
본 스텝에 있어서, CPU(12)는, 부정 액세스를 실행하기 위해서 가상 메모리에 존재하지 않는 가상 어드레스를 나타내는 어드레스 신호, RAM(14)에 존재하지 않는 물리 어드레스에 대응하는 가상 어드레스를 나타내는 어드레스 신호, 또는 가상 어드레스에 대해서, 물리 메모리에 액세스하기 위한 메모리 페이지 엔트리에 설정한 메모리 보호 속성에 위반하는 액세스를 행하기 위한 액세스 신호를 MMU(20)에 출력한다.
또한, 메모리 보호 속성에 위반하는 액세스를 행하기 위한 액세스 신호란, 예를 들면, 기입 속성을 갖지 않는 메모리 페이지의 가상 어드레스에 기입을 행하기 위한 신호, 실행 속성을 갖지 않는 메모리 페이지의 가상 어드레스를 실행하기(가상 어드레스로부터 명령 코드를 페치하기) 위한 신호, 또는 수퍼 유저 모드 속성을 갖지 않는 메모리 페이지의 가상 어드레스에 일반 사용자 모드로 액세스하는 신호 등이다.
MMU(20)는, 상기 어드레스 신호가 입력되면, TLB(26)에 판독되고 있는 페이지 테이블 정보에 근거하여, 가상 어드레스를 물리 어드레스로 변환한다. 그러나, 입력된 어드레스 신호에서는, 부정 액세스로 되어 버리기 때문에, 이상이 발생하지 않은 MMU(20)는, CPU 예외 통지를 CPU(12)에 출력한다.
다음의 스텝 104에서는, 미리 정해진 시간 내에 CPU 예외 통지가 입력되었는지 여부를 판정하여, 긍정 판정의 경우에는, 스텝 106으로 이행하는 한편, 부정 판정의 경우에는, 스텝 108로 이행한다.
스텝 106에서는, 테스트 모드를 해제한다. 이에 의해, CPU(12)의 동작 모드는, CPU 예외 통지가 입력된 경우에, CPU(12)가 실행 중의 프로그램을 정지시키는 통상의 동작 모드로 변경된다. 본 실시 형태에 따른 CPU(12)는, 테스트 모드를 해제함과 아울러, 동작 모드가 테스트 모드인 것을 나타내는 플래그를 해제한다.
다음의 스텝 108에서는, 테스트 모드가 해제 완료된 상태인지 여부를 판정하여, 긍정 판정의 경우에는, 본 프로그램을 종료하는 한편, 부정 판정의 경우에는, 스텝 110으로 이행한다. 또한, 본 실시 형태에 따른 CPU(12)는, 동작 모드가 테스트 모드인 것을 나타내는 플래그가 설정되어 있는 경우를 긍정 판정으로 하고, 상기 플래그가 설정되지 않은 경우를 부정 판정으로 한다.
즉, 테스트 모드가 해제되어 있는 경우에는, MMU(20)가 CPU(12)에 대해서 CPU 예외 통지를 출력한 경우이다. 한편, 테스트 모드가 해제되어 있지 않은 경우에는, MMU(20)가 CPU(12)에 대해서 CPU 예외 통지를 출력하고 있지 않는 경우이며, MMU(20)에 부정 액세스를 검지할 수 없는 이상이 발생하고 있는 것을 나타내고 있다.
스텝 110에서는, 실행 중의 프로그램이 있는지 여부를 판정하여, 긍정 판정의 경우에는, 스텝 112로 이행하는 한편, 부정 판정의 경우에는, 스텝 114로 이행한다.
스텝 112에서는, 프로그램 실행부(22)에서 실행 중의 프로그램을 정지시킨다.
스텝 114에서는, MMU(20)에 부정 액세스를 검지할 수 없는 이상이 발생하고 있는 것, 및 실행 중의 프로그램을 정지시켰을 경우에는, 정지시킨 프로그램의 명칭 등을 화상 표시부(34)의 화면에 표시시킴으로써 통지하는 통지 처리를 행한 후에, 본 프로그램을 종료한다.
이상 설명한 바와 같이, 본 실시 형태에 따른 CPU(12)는, 동작 모드를, MMU(20)로부터 CPU 예외 통지가 출력된 경우에도 실행 중의 프로그램을 정지시키지 않는 테스트 모드로 변경한 후에, MMU(20)로 하여금 CPU 예외 통지 신호를 출력하게 하기 위한 신호를 MMU(20)에 출력하고, MMU(20)로부터의 CPU 예외 통지의 입력 유무를 검출한다.
이에 의해, 본 실시 형태에 따른 CPU(12)는, 부정 액세스를 검지할 수 없는 이상이 MMU(20)에 발생하고 있는지 여부를, 다른 프로그램을 실행한 채로 검사할 수 있다.
또한, 본 실시 형태에 따른 CPU(12)는, 테스트 모드에서 CPU 예외 통지가 입력된 경우에, 테스트 모드를 해제하고, 테스트 모드를 해제한 것에 의해, CPU 예외 통지가 입력된 것을 검출하므로, 동작 모드가 테스트 모드로 되어 있는 기간을 필요 이상으로 길게 하는 것을 억제할 수 있다.
또한, 본 실시 형태에 따른 CPU(12)는, MMU(20)로 하여금 CPU 예외 통지 신호를 출력하게 하기 위한 신호를, 가상 메모리에 존재하지 않는 가상 어드레스를 나타내는 신호, 물리 메모리에 존재하지 않는 물리 어드레스를 나타내는 신호, 또는 가상 어드레스에 대해서, 물리 메모리에 액세스하기 위한 메모리 페이지 엔트리에 설정한 메모리 보호 속성에 위반하는 액세스를 행하기 위한 신호로 하므로, 용이하게 물리 메모리에 부정 액세스하기 위한 신호를 생성할 수 있다.
또한, 본 실시 형태에 따른 CPU(12)는, 동작 모드가 테스트 모드의 경우로서, CPU 예외 통지의 입력이 없는 것이 검출된 경우에, 실행 중의 프로그램을 정지시키므로, 동작 이상으로 되는 것을 방지할 수 있다.
이상, 본 발명을, 상기 실시 형태를 이용하여 설명했지만, 본 발명의 기술적 범위는 상기 실시 형태에 기재된 범위에는 한정되지 않는다. 발명의 요지를 일탈하지 않는 범위에서 상기 실시 형태에 다양한 변경 또는 개량을 부가할 수 있고, 상기 변경 또는 개량을 부가한 형태도 본 발명의 기술적 범위에 포함된다.
예를 들면, 상기 실시 형태에서는, 테스트 모드의 해제에 의해, MMU(20)로부터 CPU 예외 통지가 출력된 것을 검출하는 경우에 대해 설명했지만, 본 발명은, 이것에 한정되는 것은 아니며, CPU 예외 통지 그 자체를 검출하는 것에 의해, MMU(20)로부터 CPU 예외 통지가 출력된 것을 검출하는 형태로 해도 좋다.
또한, 상기 실시 형태에서는, 물리 메모리를 RAM(14)으로 하는 경우에 대해 설명했지만, 본 발명은, 이것에 한정되는 것은 아니며, 물리 메모리를 RAM(14) 및 HDD(18)로 하는 형태로 해도 좋다.
또한, 상기 실시 형태에서는, 통지 처리로서 화상 표시 장치를 거쳐서 통지하는 경우에 대해 설명했지만, 본 발명은, 이것에 한정되는 것은 아니며, 예를 들면, 입출력 처리부(28)에 인쇄 장치가 접속되어 있는 경우에는, 상기 인쇄 장치에 통지 내용을 기재한 문장을 종이 매체 등에 화상으로서 형성시킴으로써 통지하는 형태, 또는 미도시의 스피커로 음성으로서 통지시키는 형태로 해도 좋다.
10 : 정보 처리 장치
12 : CPU
14 : RAM
20 : MMU
24 : 예외 처리부

Claims (5)

  1. 물리 메모리의 어드레스인 물리 어드레스와 가상 메모리의 어드레스인 가상 어드레스를 변환하여, 상기 가상 어드레스로부터 변환된 상기 물리 어드레스로 상기 물리 메모리로의 액세스를 할 수 없는 경우에, 부정 액세스인 것을 나타내는 제 1 신호를 출력하는 메모리 관리 장치에 접속되고, 상기 가상 어드레스를 상기 메모리 관리 장치에 출력함과 아울러, 상기 제 1 신호가 입력 가능하게 되고, 상기 제 1 신호가 입력된 경우에, 실행 중의 프로그램을 정지시키는 중앙 처리 연산 장치에 설치되는 이상 검사 장치로서,
    상기 중앙 처리 연산 장치의 동작 모드를, 상기 메모리 관리 장치로부터 상기 제 1 신호가 출력된 경우에도 실행 중의 프로그램을 정지시키지 않는 테스트 모드로 변경하는 변경 수단과,
    상기 테스트 모드에서, 상기 메모리 관리 장치로 하여금 상기 제 1 신호를 출력하게 하기 위한 제 2 신호를 상기 메모리 관리 장치에 출력하는 출력 수단과,
    상기 출력 수단에 의해 상기 제 2 신호가 상기 메모리 관리 장치에 출력된 후에, 상기 제 1 신호의 입력 유무를 검출하는 검출 수단을 구비한
    이상 검사 장치.
  2. 제 1 항에 있어서,
    상기 변경 수단은, 상기 테스트 모드에서 상기 제 1 신호가 입력된 경우에, 상기 테스트 모드를 해제하고,
    상기 검출 수단은, 상기 테스트 모드가 해제된 경우에, 상기 제 1 신호가 입력된 것을 검출하는 이상 검사 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 2 신호는, 상기 가상 메모리에 존재하지 않는 가상 어드레스를 나타내는 신호, 상기 물리 메모리에 존재하지 않는 물리 어드레스를 나타내는 신호, 또는 상기 가상 어드레스에 대해서, 상기 물리 메모리에 액세스하기 위한 메모리 페이지 엔트리에 설정한 메모리 보호 속성에 위반하는 액세스를 행하기 위한 신호인 이상 검사 장치.
  4. 청구항 1 내지 청구항 3 중 어느 한 항에 기재된 이상 검사 장치를 구비한 중앙 처리 연산 장치로서,
    상기 이상 검사 장치가 구비하는 상기 검출 수단에 의해, 상기 메모리 관리 장치로부터의 상기 제 1 신호의 입력이 없는 것이 검출된 경우에, 실행 중의 프로그램을 정지시키는 중앙 처리 연산 장치.
  5. 물리 메모리의 어드레스인 물리 어드레스와 가상 메모리의 어드레스인 가상 어드레스를 변환하여, 상기 가상 어드레스로부터 변환된 상기 물리 어드레스로 상기 물리 메모리로의 액세스를 할 수 없는 경우에, 부정 액세스인 것을 나타내는 제 1 신호를 출력하는 메모리 관리 장치에 접속되고, 상기 가상 어드레스를 상기 메모리 관리 장치에 출력함과 아울러, 상기 제 1 신호가 입력 가능하게 되고, 상기 제 1 신호가 입력된 경우에, 실행 중의 프로그램을 정지시키는 중앙 처리 연산 장치에 설치되는 이상 검사 방법으로서,
    상기 중앙 처리 연산 장치의 동작 모드를, 상기 메모리 관리 장치로부터 상기 제 1 신호가 출력된 경우에도 실행 중의 프로그램을 정지시키지 않는 테스트 모드로 변경하는 제 1 공정과,
    상기 테스트 모드에서, 상기 메모리 관리 장치로 하여금 상기 제 1 신호를 출력하게 하기 위한 제 2 신호를 상기 메모리 관리 장치에 출력하는 제 2 공정과,
    상기 제 2 신호가 상기 메모리 관리 장치에 출력된 후에, 상기 제 1 신호의 입력 유무를 검출하는 제 3 공정을 포함하는
    이상 검사 방법.
KR1020127033489A 2010-09-08 2011-06-21 중앙 처리 연산 장치 및 이상 검사 방법 KR101453184B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2010-201045 2010-09-08
JP2010201045A JP5473841B2 (ja) 2010-09-08 2010-09-08 中央処理演算装置、及び異常検査方法
PCT/JP2011/064116 WO2012032829A1 (ja) 2010-09-08 2011-06-21 異常検査装置、中央処理演算装置、及び異常検査方法

Publications (2)

Publication Number Publication Date
KR20130031852A true KR20130031852A (ko) 2013-03-29
KR101453184B1 KR101453184B1 (ko) 2014-10-22

Family

ID=45810434

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127033489A KR101453184B1 (ko) 2010-09-08 2011-06-21 중앙 처리 연산 장치 및 이상 검사 방법

Country Status (7)

Country Link
US (1) US8966320B2 (ko)
EP (1) EP2615551B1 (ko)
JP (1) JP5473841B2 (ko)
KR (1) KR101453184B1 (ko)
CN (1) CN103069393B (ko)
ES (1) ES2745120T3 (ko)
WO (1) WO2012032829A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013022166B4 (de) 2013-03-14 2024-04-25 Nvidia Corporation Seitenzustandsverzeichnis zur verwaltung eines vereinheitlichten virtuellen speichers
JP6194764B2 (ja) * 2013-11-08 2017-09-13 富士通株式会社 情報処理装置、制御方法、および制御プログラム
CN106294089A (zh) * 2015-06-23 2017-01-04 阿里巴巴集团控股有限公司 辅助对被监控内存空间的访问监控的方法和装置
US9921897B2 (en) * 2016-01-06 2018-03-20 International Business Machines Corporation Testing a non-core MMU
EP3249541B1 (en) * 2016-05-27 2020-07-08 NXP USA, Inc. A data processor
US10114768B2 (en) * 2016-08-29 2018-10-30 Intel Corporation Enhance memory access permission based on per-page current privilege level
US10713177B2 (en) 2016-09-09 2020-07-14 Intel Corporation Defining virtualized page attributes based on guest page attributes
JP6771443B2 (ja) * 2017-09-21 2020-10-21 株式会社東芝 演算処理装置およびその方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137824A (ja) * 1994-11-15 1996-05-31 Mitsubishi Semiconductor Software Kk セルフテスト機能内蔵シングルチップマイコン
JPH10289158A (ja) 1997-04-11 1998-10-27 Hitachi Ltd タスク管理装置
US6233667B1 (en) * 1999-03-05 2001-05-15 Sun Microsystems, Inc. Method and apparatus for a high-performance embedded memory management unit
JP4182740B2 (ja) * 2002-12-06 2008-11-19 沖電気工業株式会社 マイクロコンピュータ
JP2005216012A (ja) 2004-01-29 2005-08-11 Fujitsu Ltd 設計支援装置、設計支援方法、設計支援プログラムおよび記録媒体
GB2422926B (en) * 2005-02-04 2008-10-01 Advanced Risc Mach Ltd Data processing apparatus and method for controlling access to memory
EP1862909A4 (en) 2005-03-24 2009-09-09 Fujitsu Ltd MEMORY ADDRESS MANAGEMENT THROUGH FIRMWARE
US7739474B2 (en) * 2006-02-07 2010-06-15 International Business Machines Corporation Method and system for unifying memory access for CPU and IO operations
US8522080B2 (en) * 2008-03-24 2013-08-27 Emulex Design & Manufacturing Corporation Generation of simulated errors for high-level system validation
US8060730B2 (en) * 2008-05-30 2011-11-15 Freescale Semiconductor, Inc. Selective MISR data accumulation during exception processing

Also Published As

Publication number Publication date
WO2012032829A1 (ja) 2012-03-15
EP2615551A4 (en) 2017-08-30
EP2615551A1 (en) 2013-07-17
CN103069393A (zh) 2013-04-24
JP5473841B2 (ja) 2014-04-16
US20130103984A1 (en) 2013-04-25
JP2012058975A (ja) 2012-03-22
US8966320B2 (en) 2015-02-24
EP2615551B1 (en) 2019-08-07
KR101453184B1 (ko) 2014-10-22
CN103069393B (zh) 2016-03-02
ES2745120T3 (es) 2020-02-27

Similar Documents

Publication Publication Date Title
KR20130031852A (ko) 이상 검사 장치, 중앙 처리 연산 장치, 및 이상 검사 방법
US10810309B2 (en) Method and system for detecting kernel corruption exploits
TWI603223B (zh) 記憶體保護電路、處理裝置、及記憶體保護方法
KR101449231B1 (ko) 어드레스 변환 검사 장치, 중앙 처리 연산 장치, 및 어드레스 변환 검사 방법
CN104885063B (zh) 针对转译后备缓冲器(tlb)的重叠检查
US20150199279A1 (en) Method and system for method for tracking transactions associated with a system memory management unit of a portable computing device
KR102376583B1 (ko) 데이터 처리장치의 디버깅
WO2016127600A1 (zh) 异常处理方法及装置
US8910004B2 (en) Information processing apparatus, and method of controlling information processing apparatus
KR102494167B1 (ko) 메모리의 커널영역을 보호하기 위한 전자장치 및 방법
JP2006040140A (ja) 情報処理装置及びマルチヒット制御方法
CN103514402A (zh) 入侵检测方法及装置
US9092486B2 (en) Extensible I/O activity logs
JP2006106939A (ja) 侵入検知方法及び侵入検知装置並びにプログラム
US11853598B2 (en) Software memory tagging for heap overflow protection
JP2010056744A (ja) 情報処理装置、画像形成装置及びプログラム
KR20090038980A (ko) 네트워크 공유폴더 접근 제어 장치 및 방법
JP2010049437A (ja) リモートメンテナンスシステム、リモートメンテナンス装置、リモートメンテナンス方法およびそのプログラム
JP2009211416A (ja) プロセッサキャッシュ制御装置、方法、プロセッサ及びコンピューター
JP2008108131A (ja) コンピュータシステム、コンピュータ保護方法、コンピュータ保護プログラム
JP2016081291A (ja) アクセス検査装置及び情報処理システム
JP2016110365A (ja) 分散型計算機システム及び装置、メモリ内容コピー方法
JP2009104555A5 (ko)
JP2008003729A (ja) ストレージ装置及びその動作制御方法
JP2008140161A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170920

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181004

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 6