KR102259166B1 - 프로세서 핀 제어 장치 및 방법 - Google Patents

프로세서 핀 제어 장치 및 방법 Download PDF

Info

Publication number
KR102259166B1
KR102259166B1 KR1020180151098A KR20180151098A KR102259166B1 KR 102259166 B1 KR102259166 B1 KR 102259166B1 KR 1020180151098 A KR1020180151098 A KR 1020180151098A KR 20180151098 A KR20180151098 A KR 20180151098A KR 102259166 B1 KR102259166 B1 KR 102259166B1
Authority
KR
South Korea
Prior art keywords
pin
processor
register
pins
deactivation
Prior art date
Application number
KR1020180151098A
Other languages
English (en)
Other versions
KR20200064692A (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 한국전자통신연구원
Priority to KR1020180151098A priority Critical patent/KR102259166B1/ko
Publication of KR20200064692A publication Critical patent/KR20200064692A/ko
Application granted granted Critical
Publication of KR102259166B1 publication Critical patent/KR102259166B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30141Implementation provisions of register files, e.g. ports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Abstract

특히 프로세서에 있어서 내부 하드웨어 로직이 외부와 연결되기 위해 존재하는 다양한 입출력 포트의 핀의 사용 여부를 제어하여, 외부로 노출된 핀에 대한 공격을 무력화 시킬 수 있는 프로세서 핀 제어 기술이 개시된다. 이를 위해, 본 발명의 일 실시예에 따른 프로세서 핀 제어 장치는 복수의 핀을 포함하는 프로세서에서, 임베디드 장비의 구현 시 사용되는 활성화 핀과 상기 임베디드 장비의 구현 시 사용되지 않는 비활성화 핀을 구별하여 정의하는 핀 설정 레지스터; 및 상기 활성화 핀 및 상기 비활성화 핀의 정의가 상기 프로세서의 런타임 동안 유지되도록 제어하는 핀 설정 락 레지스터를 포함한다.

Description

프로세서 핀 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLONG PIN OF PROCESSOR}
본 발명은 프로세서 핀 제어 장치 및 방법에 관한 것으로, 특히 프로세서에 있어서 내부 하드웨어 로직이 외부와 연결되기 위해 존재하는 다양한 입출력 포트의 핀의 사용 여부를 제어하여, 외부로 노출된 핀에 대한 공격을 무력화 시킬 수 있는 프로세서 핀 제어 장치 및 방법에 관한 것이다.
프로세서는 외부 환경과 연결되어 타 장치를 운용하거나 메모리를 확장하기 위해, 또는 사용자에게 임의의 확장성을 제공하기 위해 다양한 입출력 포트들을 가지고 있다. 이러한 프로세서의 포트는 범용포트 (GPIO) 뿐만 아니라 특수한 하드웨어를 제어하거나 확장성을 제공하기 위한 포트, 예를 들면 메모리 확장을 위한 포트 등을 포함한다. 이러한 포트들의 설정과 사용은 일반적으로 소프트웨어를 통해 이루어지며 프로세서에서 연산이 수행되는 도중에도 자유롭게 설정이 가능하도록 되어 있다. 일반적으로 임베디드 장비를 개발하게 되면 프로세서가 제공하는 포트들의 모든 핀들을 사용하는 경우는 드문데, 이처럼 사용하지 않는 포트의 핀들은 여전히 소프트웨어적으로 접근 및 사용이 가능하다. 이러한 핀들은 보안적 관점에서 보았을 때, 물리적으로 장비를 획득한 공격자가 장비의 내부 동작을 분석하려 하는 경우 특히 보안을 위해 프로세서의 디버깅 포트나 시리얼 통신 등이 물리적으로 제거된 경우라 할지라도, 공격자가 소프트웨어적으로 핀을 제어해 임의의 디버깅 포트를 구성할 수 있다는 점에서 문제가 될 수 있다.
보다 구체적으로 임베디드 장비 구현 시 연결되지 않은 핀들은 실질적으로 사용이 되지는 않지만 하드웨어적으로는 외부로 그 핀이 노출되어 있게 된다. 정상적인 환경에서는 이러한 여유 핀들은 소프트웨어적으로도 사용이 되지 않을 것이기 때문에 보안상 별다른 문제가 되지 않는다. 하지만 특수한 경우, 예를 들어 공격자가 물리적으로 해당 장비를 소유한 상태로 내부 소프트웨어의 동작을 관측하려는 경우 문제가 될 수 있다. 특히 해당 장비의 디버깅을 위한 핀들이 모두 보안상의 이유로 인해 물리적으로 제거되거나 사용이 막힌 경우 공격자는 프로세서에서 수행되는 소프트웨어의 동적 상황을 알 방법이 없게 된다. 하지만, 외부로 노출된 핀이 존재하는 경우 공격자가 자신만의 디버깅 핀으로 동작하도록 변조할 수 있다는 잠재적 문제가 있다.
따라서 이러한 보안 위험 요소를 제거하기 위해서는 장비 구현 상에 사용되지 않지만 외부에 노출되어 있는 핀들에 대해서 안전하게 비활성화 시킬 수 있는 방법이 필요하다.
한국공개특허 제2010-0026775호는 "디버깅포트를 구비하는 임베디드 시스템 및 그 구동방법"을 개시한다.
본 발명의 목적은 프로세서의 내부 하드웨어 로직이 외부와 연결되기 위해 존재하는 다양한 입출력 포트의 핀의 사용 여부를 제어하는 것이다.
그리고, 본 발명의 목적은 본 발명에서는 보안성의 강화를 위해 외부로 노출되는 모든 포트들의 개별 핀의 사용 유무를 소프트웨어적으로 제어할 수 있는 디자인을 제안하고, 사용자의 요구에 따라 핀의 사용 유무를 한 번 설정하고 고정하면 해당 구성을 런타임에 변경할 수 없도록 만드는 방법을 제안하는 것이다
또한, 본 발명의 목적은 공격자가 외부로 노출된 핀을 이용해 임의의 디버그 포트를 구성해 내부 동작을 모니터링 및 분석하려는 시도를 무력화 시킬 수 있는 프로세서 핀 제어 기술을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 프로세서 핀 제어 장치는 복수의 핀을 포함하는 프로세서에서, 임베디드 장비의 구현 시 사용되는 활성화 핀과 상기 임베디드 장비의 구현 시 사용되지 않는 비활성화 핀을 구별하여 정의하는 핀 설정 레지스터; 및 상기 활성화 핀 및 상기 비활성화 핀의 정의가 상기 프로세서의 런타임 동안 유지되도록 제어하는 핀 설정 락 레지스터를 포함한다.
이 때, 상기 핀 설정 레지스터는, 상기 활성화 핀 및 상기 비활성화 핀의 개수에 대응되는 비트(bit)로 구성되는 바이너리 값으로 상기 활성화 핀 및 상기 비활성화 핀을 구별하여 정의할 수 있다.
이 때, 상기 핀 설정 락 레지스터는, 1비트(bit)로 상기 활성화 핀 및 상기 비활성화 핀의 정의를 유지할 것인지 아닌지를 표현하고, 하드웨어적으로 리셋되기 전까지는 값의 변경이 불가능한 것을 특징으로 할 수 있다.
이 때, 상기 핀 설정 락 레지스터는 사용자의 최초 설정이 있는 경우 동작하며, 상기 사용자의 최초 설정이 있은 후에는 하드웨어 리셋 전까지 상기 활성화 핀과 상기 비활성화 핀의 정의의 변경이 불가능한 것을 특징으로 할 수 있다.
이 때, 상기 핀 설정 레지스터 및 상기 핀 설정 락 레지스터는 상기 프로세서의 레지스터 인터페이스에 포함될 수 있다.
이 때, 상기 프로세서는 복수의 입출력 포트를 포함하고, 상기 복수의 입출력 포트 각각은 복수의 핀을 포함하며, 상기 핀설정 레지스터는 상기 복수의 입출력 포트 각각에 포함된 복수의 핀에 대하여 상기 활성화 핀과 상기 비활성화 핀을 구별하여 정의할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명에 따른 프로세서 핀 제어 방법은 복수의 핀을 포함하는 프로세서에서, 임베디드 장비의 구현 시 사용되는 활성화 핀과 상기 임베디드 장비의 구현 시 사용되지 않는 비활성화 핀을 구별하여 정의하는 단계; 및 상기 활성화 핀 및 상기 비활성화 핀의 정의가 상기 프로세서의 런타임 동안 유지되도록 제어하는 단계를 포함한다.
이 때, 상기 정의하는 단계에서, 상기 활성화 핀 및 상기 비활성화 핀의 개수에 대응되는 비트(bit)로 구성되는 바이너리 값으로 상기 활성화 핀 및 상기 비활성화 핀을 구별하여 정의할 수 있다.
이 때, 상기 제어하는 단계에서, 1비트(bit)로 상기 활성화 핀 및 상기 비활성화 핀의 정의를 유지할 것인지 아닌지를 표현하고, 하드웨어적으로 리셋되기 전까지는 값의 변경이 불가능한 것을 특징으로 할 수 있다.
이 때, 상기 제어하는 단계에서, 사용자의 최초 설정이 있는 경우 동작하며, 상기 사용자의 최초 설정이 있은 후에는 하드웨어 리셋 전까지 상기 활성화 핀과 상기 비활성화 핀의 정의의 변경이 불가능한 것을 특징으로 할 수 있다.
이 때, 상기 정의하는 단계 및 상기 제어하는 단계는, 상기 프로세서의 레지스터 인터페이스에서 동작할 수 있다.
이 때, 상기 프로세서는 복수의 입출력 포트를 포함하고, 상기 복수의 입출력 포트 각각은 복수의 핀을 포함하며, 상기 정의하는 단계에서, 상기 핀설정 레지스터는 상기 복수의 입출력 포트 각각에 포함된 복수의 핀에 대하여 상기 활성화 핀과 상기 비활성화 핀을 구별하여 정의할 수 있다.
본 발명에 따르면, 프로세서의 내부 하드웨어 로직이 외부와 연결되기 위해 존재하는 다양한 입출력 포트의 핀의 사용 여부를 제어할 수 있다.
그리고, 본 발명은 본 발명에서는 보안성의 강화를 위해 외부로 노출되는 모든 포트들의 개별 핀의 사용 유무를 소프트웨어적으로 제어할 수 있는 디자인을 제안하고, 사용자의 요구에 따라 핀의 사용 유무를 한 번 설정하고 고정하면 해당 구성을 런타임에 변경할 수 없도록 만드는 방법을 제안한다.
또한, 본 발명에 따르면 공격자가 외부로 노출된 핀을 이용해 임의의 디버그 포트를 구성해 내부 동작을 모니터링 및 분석하려는 시도를 무력화 시킬 수 있는 프로세서 핀 제어 기술이 제공된다.
도 1은 본 발명의 일 실시예에 따른 포트 설정을 위해 시스템에 할당된 메모리 맵의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 임베디드 장비의 구성이다.
도 3은 본 발명의 일 실시예에 따른 프로세서 핀 제어 장치를 포함하는 레지스터 인터페이스이다.
도 4는 본 발명의 일 실시예에 따른 프로세서 핀 제어 장치에 있어서, 핀 설정 레지스터에 대한 설명을 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 프로세서 핀 제어 장치에 있어서, 핀 설정 락 레지스터의 비트 단위 구현예이다.
도 6은 본 발명의 일 실시예에 따른 프로세서 핀 제어 장치에 있어서, 핀 설정 레지스터의 비트 단위 구현예이다.
도 7은 본 발명의 일 실시예에 따른 프로세서 핀 제어 방법을 나타낸 동작흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 포트 설정을 위해 시스템에 할당된 메모리 맵의 블록도이다. 도 2는 본 발명의 일 실시예에 따른 임베디드 장비의 구성이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 포트 설정을 위해 시스템에 할당된 메모리 맵은 읽기 전용 메모리, 내부 메모리, 범용 포트, 메모리 컨트롤 레지스터, 및 이더넷 컨트롤 레지스터를 포함할 수 있다. 프로세서는 외부 환경과 연결되어 타 장치를 운용하거나 메모리를 확장하기 위해, 또는 사용자에게 임의의 확장성을 제공하기 위해 다양한 입출력 포트들을 가지고 있다. 이 때, 포트들의 핀을 제어하기 위한 방법으로 프로세서는 도 1과 같은 소프트웨어가 접근 가능한 메모리 주소공간에 해당 핀들을 제어하는데 사용될 수 있는 레지스터 인터페이스들을 만들어 제공하는 것이다. 예를 들어 프로세서에서 동작하는 소프트웨어는 도 1의 범용포트를 제어하기 위해 0x7000번지의 메모리에 매핑되어 있는 레지스터들에 값을 써 넣음으로써 범용포트의 여러 핀들에 대한 입출력 방향을 지정하거나 원하는 출력값을 써 넣음으로써 핀의 출력 전압을 제어할 수 있다.
임베디드 장비를 제작하게 되면 프로세서에서 제공하는 핀들이 모두 사용되지 않는 경우가 많다. 프로세서는 복수의 입출력 포트를 포함하고, 복수의 입출력 포트 각각은 복수의 핀을 포함할 수 있다. 그리고 도 2를 참조하면, 임베디드 장비의 일 예가 도시되어 있다. 프로세서는 메모리 확장 포트를 통해 메모리 모듈을 여덟 개까지 지원 가능하도록 8개의 메모리 선택 핀들을 제공하나 제작된 임베디드 장비는 메모리 모듈을 세 개만 사용하고 있다. 이 경우 연결되지 않은 핀들은 실질적으로 사용이 되지는 않지만 하드웨어적으로는 외부로 그 핀이 노출되어 있게 된다. 본 발명의 실시예에 따른 프로세서 핀 제어 장치 및 방법에 따르면 외부로 노출된 핀에 대한 공격을 효과적으로 방어할 수 있다.
도 3은 본 발명의 일 실시예에 따른 프로세서 핀 제어 장치를 포함하는 레지스터 인터페이스이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 프로세서 핀 제어 장치를 포함하는 레지스터 인터페이스는 메모리 선택 레지스터(310), 입력 데이터 레지스터(320), 출력 데이터 레지스터(330), 핀 설정 레지스터(340) 및 핀 설정 락 레지스터(350)를 포함하여 구성될 수 있다. 이 때, 핀 설정 레지스터(340) 및 핀 설정 락 레지스터(350)가 프로세서 핀 제어 장치에 해당할 수 있다.
메모리 선택 레지스터(310), 입력 데이터 레지스터(320) 및 출력 데이터 레지스터(330)는 임베디드 장치에 있어서, 프로세서에 연결되는 메모리를 선택하며 신호의 입출력을 담당할 수 있다.
핀 설정 레지스터(340)는 복수의 핀을 포함하는 프로세서에서, 임베디드 장비의 구현 시 사용되는 활성화 핀과 상기 임베디드 장비의 구현 시 사용되지 않는 비활성화 핀을 구별하여 정의한다. 이 때, 핀 설정 레지스터(340) 복수의 입출력 포트 각각에 포함된 복수의 핀에 대하여 상기 활성화 핀과 상기 비활성화 핀을 구별하여 정의할 수 있다. 그리고, 핀 설정 레지스터(340)는 활성화 핀 및 비활성화 핀의 개수에 대응되는 비트(bit)로 구성되는 바이너리 값으로 활성화 핀 및 비활성화 핀을 구별하여 정의할 수 있다.
핀 설정 락 레지스터(350)는 활성화 핀 및 비활성화 핀의 정의가 프로세서의 런타임 동안 유지되도록 제어한다. 그리고, 핀 설정 락 레지스터(350)는 1비트(bit)로 활성화 핀 및 비활성화 핀의 정의를 유지할 것인지 아닌지를 표현하고, 하드웨어적으로 리셋되기 전까지는 값의 변경이 불가능할 수 있다. 이 때, 핀 설정 락 레지스터(350)는 사용자의 최초 설정이 있는 경우 동작하며, 사용자의 최초 설정이 있은 후에는 하드웨어 리셋 전까지 상기 활성화 핀과 비활성화 핀의 정의의 변경이 불가능할 수 있다.
구체적으로 도 3의 예시는 도 2의 임베디드 장비 구현 예에서 프로세서에 부착된 다양한 메모리 모듈을 선택하고 사용할 수 있는 레지스터 인터페이스(300)를 보여준다. 도 2와 함께 참조하면 메모리 선택 핀이 8 개가 있고 메모리 선택 레지스터(310) 역시 8 bit로 동작하며 각각의 bit들이 각각의 메모리 선택 핀을 제어하도록 구현되어 있다. 소프트웨어적으로 메모리 선택 레지스터(310)에 바이너리 값으로 0b00000001 쓰게 되면 도 2의 메모리 선택 핀 중 첫 번째 핀이 동작하고 그 결과 세 개 중 첫 번째 메모리 모듈이 선택되게 된다. 이와 유사하게 메모리 선택 레지스터(310)에 바이너리 값으로 0b00000010을 쓴다면 메모리 모듈 2가 선택되게 된다. 또한, 메모리 선택 레지스터(310)에 바이너리 값으로 0b00000100을 쓴다면 메모리 모듈 3이 선택된다.
이처럼 메모리 선택 레지스터(310)는 소프트웨어 수행 도중에 지속적으로 그 값이 변경되는데 문제는 메모리 선택 레지스터(310)의 8개 bit 중 상위 5개의 bit에도 값을 마음대로 변경할 수 있으며, 이러한 값의 변경이 외부로 노출되어 있는 메모리 선택 핀들의 동작을 제어할 수 있다는 것이다. 이는 앞서 서술된 바와 같이 추후 공격자가 상위 5개의 bit을 마음대로 변조해 메모리 선택 핀들을 제어할 수 있기 때문에 자신만의 디버그 포트를 만들어 소프트웨어의 동적 수행 정보를 추출해 낼 수 있다는 문제를 야기하게 된다. 제안된 레지스터 인터페이스(300)는 이를 막기 위해 메모리 선택 레지스터의 핀들 중 실제 구현에 이용되지 않은 핀들을 소프트웨어적으로 비활성화 시킬 수 있도록 만들어 주는 핀 설정 레지스터(340) 및 핀 설정 락 레지스터(350) 즉, 프로세서 핀 제어 장치를 포함한다.
도 4는 본 발명의 일 실시예에 따른 프로세서 핀 제어 장치에 있어서, 핀 설정 레지스터에 대한 설명을 위한 도면이다.
도 4를 참조하면, 도 2와 같이 구성된 임베디드 장치에서는 메모리 핀 5개를 비활성화 해 주어야 한다. 도 4의 예시에서 볼 수 있는 바와 같이 핀 설정 레지스터에 바이너리 0b00000111을 써 넣게 되면 도 4의 메모리 선택 레지스터의 회색 영역에 해당하는 세 핀만 소프트웨어적으로 업데이트 가능하게 되며 나머지 핀들은 소프트웨어적으로 업데이트가 불가능하도록 구현된다. 예시에는 메모리 선택 핀과 관련된 레지스터만 보여주고 있지만 본 발명에서 제안하는 것은 외부로 노출되어 있는 핀들 모두에 대해 활성화 여부를 설정할 수 있는 핀 설정 레지스터들을 프로세서에 구현하는 것이다.
이처럼 핀 설정 레지스터의 도입을 통해 외부로 노출된 핀들을 비활성화 하는 것은 가능하지만 또 다른 문제는 핀 설정 레지스터 역시 소프트웨어로부터 접근이 가능하며 이에 따라 공격자가 비활성화된 핀들을 다시 활성화 시키고 사용할 수 있다는 점이다. 이를 방지하기 위해 본 발명에서는 핀 설정 락 레지스터가 제안된다. 핀 설정 락 레지스터는 1비트로 구성되어 해당 레지스터에 1을 써 넣게 되면 이후 프로세서가 하드웨어적으로 리셋 되기 전까지는 핀 설정 락 레지스터의 값을 0으로 변경하는 것이 불가능하도록 구현되어 있으며, 핀 설정 락 레지스터가 1로 설정되면 그 이후 시점부터는 소프트웨어적으로 핀 설정 레지스터를 접근하는 것이 불가능해 진다.
도 5는 본 발명의 일 실시예에 따른 프로세서 핀 제어 장치에 있어서, 핀 설정 락 레지스터의 비트 단위 구현예이다. 도 5와 같이 핀 설정 락 레지스터는 하드웨어적인 리셋 시 0으로 그 값이 결정되어 있는데 입력이 1로 한 번 설정되게 되면 하드웨어적으로 리셋 되기 전까지는 계속 1로만 유지된다.
도 6은 본 발명의 일 실시예에 따른 프로세서 핀 제어 장치에 있어서, 핀 설정 레지스터의 비트 단위 구현예이다. 핀 설정 락 레지스터의 bit 는 도 6에서 볼 수 있는 바와 같이 핀 설정 레지스터를 구현하는데 사용된다. 해당 핀 설정 락 레지스터의 bit가 0인 경우에는 소프트웨어가 자유롭게 핀 설정 레지스터를 업데이트 할 수 있지만 한 번 1로 설정되게 되면 소프트웨어로부터의 입력은 차단되고 이전에 플립플롭에 저장된 핀 설정 레지스터의 값으로 유지되게 된다.
도 7은 본 발명의 일 실시예에 따른 프로세서 핀 제어 방법을 나타낸 동작흐름도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 프로세서 핀 제어 방법은 먼저, 복수의 핀을 포함하는 프로세서에서, 임베디드 장비의 구현 시 사용되는 활성화 핀과 임베디드 장비의 구현 시 사용되지 않는 비활성화 핀을 구별하여 정의한다(S710). S710 단계에서는 활성화 핀 및 비활성화 핀의 개수에 대응되는 비트(bit)로 구성되는 바이너리 값으로 활성화 핀 및 비활성화 핀을 구별하여 정의할 수 있다. 그리고, S710 단계에서는 복수의 입출력 포트 각각에 포함된 복수의 핀에 대하여 활성화 핀과 비활성화 핀을 구별하여 정의할 수 있다.
그리고, 활성화 핀 및 비활성화 핀의 정의가 프로세서의 런타임 동안 유지되도록 제어한다(S720). S720 단계에서는 1비트(bit)로 상기 활성화 핀 및 상기 비활성화 핀의 정의를 유지할 것인지 아닌지를 표현하고, 하드웨어적으로 리셋되기 전까지는 값의 변경이 불가능할 수 있다. 그리고, S720 단계에서는 사용자의 최초 설정이 있는 경우 동작하며, 상기 사용자의 최초 설정이 있은 후에는 하드웨어 리셋 전까지 상기 활성화 핀과 상기 비활성화 핀의 정의의 변경이 불가능할 수 있다. 그리고 S710 단계 및 S720 단계는 프로세서의 레지스터 인터페이스에서 동작할 수 있다.
S720 단계 이후, 하드웨어 리셋이 되었는지를 판단한다(S730). 그리고 하드웨어 리셋이 없는 경우 활성화 핀과 비활성화 핀의 정의는 그대로 유지된다.
이상에서와 같이 본 발명에 따른 프로세서 핀 제어 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
300: 레지스터 인터페이스
310: 메모리 선택 레지스터
320: 입력 데이터 레지스터
330: 출력 데이터 레지스터
340: 핀 설정 레지스터
350: 핀 설정 락 레지스터

Claims (12)

  1. 복수의 핀을 포함하는 프로세서에서, 임베디드 장비의 구현 시 사용되는 활성화 핀과 상기 임베디드 장비의 구현 시 사용되지 않는 비활성화 핀을 구별하여 정의하는 핀 설정 레지스터; 및
    상기 활성화 핀 및 상기 비활성화 핀의 정의가 상기 프로세서의 런타임 동안 유지되도록 제어하는 핀 설정 락 레지스터를 포함하고,
    상기 핀 설정 락 레지스터는
    1비트(bit)를 기록하여 상기 활성화 핀 및 상기 비활성화 핀의 정의를 유지할 것인지 아닌지를 표현하고, 하드웨어적으로 리셋되기 전까지는 값의 변경이 불가능하고,
    사용자의 최초 설정이 있는 경우 동작하며, 상기 사용자의 최초 설정이 있은 후에는 하드웨어 리셋 전까지 상기 활성화 핀과 상기 비활성화 핀의 정의의 변경이 불가능하도록,
    소프트웨어로부터의 입력은 차단되고 이전에 플립플롭에 저장된 핀 설정 레지스터의 값으로 유지되는 것을 특징으로 하는 프로세서 핀 제어 장치.
  2. 청구항 1에 있어서,
    상기 핀 설정 레지스터는,
    상기 활성화 핀 및 상기 비활성화 핀의 개수에 대응되는 비트(bit)로 구성되는 바이너리 값으로 상기 활성화 핀 및 상기 비활성화 핀을 구별하여 정의하는 것을 특징으로 하는 프로세서 핀 제어 장치.
  3. 삭제
  4. 삭제
  5. 청구항 1에 있어서,
    상기 핀 설정 레지스터 및 상기 핀 설정 락 레지스터는 상기 프로세서의 레지스터 인터페이스에 포함되는 것을 특징으로 하는 프로세서 핀 제어 장치.
  6. 청구항 1에 있어서,
    상기 프로세서는 복수의 입출력 포트를 포함하고, 상기 복수의 입출력 포트 각각은 복수의 핀을 포함하며,
    상기 핀설정 레지스터는 상기 복수의 입출력 포트 각각에 포함된 복수의 핀에 대하여 상기 활성화 핀과 상기 비활성화 핀을 구별하여 정의하는 것을 특징으로 하는 프로세서 핀 제어 장치.
  7. 복수의 핀을 포함하는 프로세서에서, 임베디드 장비의 구현 시 사용되는 활성화 핀과 상기 임베디드 장비의 구현 시 사용되지 않는 비활성화 핀을 구별하여 정의하는 단계; 및
    상기 활성화 핀 및 상기 비활성화 핀의 정의가 상기 프로세서의 런타임 동안 유지되도록 제어하는 단계를 포함하고,
    상기 제어하는 단계에서,
    핀설정 락 레지스터가, 1비트(bit)를 기록하여 상기 활성화 핀 및 상기 비활성화 핀의 정의를 유지할 것인지 아닌지를 표현하고, 하드웨어적으로 리셋되기 전까지는 값의 변경이 불가능하고,
    사용자의 최초 설정이 있는 경우 동작하며, 상기 사용자의 최초 설정이 있은 후에는 하드웨어 리셋 전까지 상기 활성화 핀과 상기 비활성화 핀의 정의의 변경이 불가능하도록,
    소프트웨어로부터의 입력은 차단되고 이전에 플립플롭에 저장된 핀 설정 레지스터의 값으로 유지되는 것을 특징으로 하는 프로세서 핀 제어 방법.
  8. 청구항 7에 있어서,
    상기 정의하는 단계에서,
    상기 활성화 핀 및 상기 비활성화 핀의 개수에 대응되는 비트(bit)로 구성되는 바이너리 값으로 상기 활성화 핀 및 상기 비활성화 핀을 구별하여 정의하는 것을 특징으로 하는 프로세서 핀 제어 방법.
  9. 삭제
  10. 삭제
  11. 청구항 7에 있어서,
    상기 정의하는 단계 및 상기 제어하는 단계는, 상기 프로세서의 레지스터 인터페이스에서 동작하는 것을 특징으로 하는 프로세서 핀 제어 방법.
  12. 청구항 7에 있어서,
    상기 프로세서는 복수의 입출력 포트를 포함하고, 상기 복수의 입출력 포트 각각은 복수의 핀을 포함하며,
    상기 정의하는 단계에서, 상기 복수의 입출력 포트 각각에 포함된 복수의 핀에 대하여 상기 활성화 핀과 상기 비활성화 핀을 구별하여 정의하는 것을 특징으로 하는 프로세서 핀 제어 방법.
KR1020180151098A 2018-11-29 2018-11-29 프로세서 핀 제어 장치 및 방법 KR102259166B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180151098A KR102259166B1 (ko) 2018-11-29 2018-11-29 프로세서 핀 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180151098A KR102259166B1 (ko) 2018-11-29 2018-11-29 프로세서 핀 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20200064692A KR20200064692A (ko) 2020-06-08
KR102259166B1 true KR102259166B1 (ko) 2021-06-02

Family

ID=71089508

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180151098A KR102259166B1 (ko) 2018-11-29 2018-11-29 프로세서 핀 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102259166B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005322251A (ja) * 2004-05-08 2005-11-17 Samsung Electronics Co Ltd 選択的なモードレジスタセットの命令と関連したメモリモジュールを支援する集積回路メモリ装置、メモリコントローラ及び方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0898232A2 (en) * 1994-08-31 1999-02-24 Motorola, Inc. Method for synchronously accessing memory
US6138240A (en) * 1998-06-19 2000-10-24 Compaq Computer Corporation Secure general purpose input/output pins for protecting computer system resources
EP2022262A1 (en) * 2006-05-14 2009-02-11 SanDisk IL Ltd. Dual mode digital multimedia connector
KR20140002154A (ko) * 2012-06-28 2014-01-08 에스케이하이닉스 주식회사 핀 제거 모드 신호 생성 회로 및 이를 포함하는 반도체 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005322251A (ja) * 2004-05-08 2005-11-17 Samsung Electronics Co Ltd 選択的なモードレジスタセットの命令と関連したメモリモジュールを支援する集積回路メモリ装置、メモリコントローラ及び方法

Also Published As

Publication number Publication date
KR20200064692A (ko) 2020-06-08

Similar Documents

Publication Publication Date Title
CN110998578B (zh) 用于在异构存储器环境内进行引导的系统和方法
US20080263256A1 (en) Logic Device with Write Protected Memory Management Unit Registers
JP4584044B2 (ja) 半導体装置
US10678710B2 (en) Protection scheme for embedded code
JPH0855023A (ja) データ処理システムおよびその方法
CN110799979B (zh) 用于多核处理器的安全密钥存储
KR20110034631A (ko) 테스트 동작모드 동안 집적회로 상의 디지털 정보를 보호하기 위한 장치 및 방법
EP3252991A1 (en) Application specific low-power secure key
WO2020063975A1 (zh) 一种非易失性存储器的分区保护方法及装置
US11436367B2 (en) Pre-operating system environment-based sanitization of storage devices
CN107544658B (zh) 用于控制电源域的电源控制电路
KR102259166B1 (ko) 프로세서 핀 제어 장치 및 방법
KR20100006742A (ko) 컴퓨터 시스템 및 그 제어 방법
CN109697174B (zh) 一种机载计算机存储系统敏感分区防护方法
JP7042837B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
KR20090059802A (ko) 레지스터 업데이트 방법 및 이를 적용한 레지스터 및컴퓨터 시스템
JP6786955B2 (ja) 再構成可能論理回路
US20190073145A1 (en) Optimized storage protection
US11347863B2 (en) Computer apparatus and authority management method based on trust chain
EP3726377B1 (en) Boot rom gating circuit
US20060143367A1 (en) Non-volatile memory lock
EP4109286A1 (en) System on chip comprising a connection interface between master devices and slave devices
JP6958962B2 (ja) 半導体メモリ装置および半導体メモリシステム
KR102186221B1 (ko) 하드웨어 기반의 임베디드 시스템의 주소 공간 레이아웃 랜덤화 방법 및 이를 위한 장치
JP2005209178A (ja) メモリ保護装置、メモリ保護方法及びメモリ保護プログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant