KR100934215B1 - 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법 - Google Patents

이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법 Download PDF

Info

Publication number
KR100934215B1
KR100934215B1 KR1020070109206A KR20070109206A KR100934215B1 KR 100934215 B1 KR100934215 B1 KR 100934215B1 KR 1020070109206 A KR1020070109206 A KR 1020070109206A KR 20070109206 A KR20070109206 A KR 20070109206A KR 100934215 B1 KR100934215 B1 KR 100934215B1
Authority
KR
South Korea
Prior art keywords
event
microprocessor
processing
instruction
instruction set
Prior art date
Application number
KR1020070109206A
Other languages
English (en)
Other versions
KR20090043384A (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 KR1020070109206A priority Critical patent/KR100934215B1/ko
Priority to US12/155,833 priority patent/US7941650B2/en
Publication of KR20090043384A publication Critical patent/KR20090043384A/ko
Application granted granted Critical
Publication of KR100934215B1 publication Critical patent/KR100934215B1/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/30003Arrangements for executing specific machine instructions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power

Abstract

본 발명은 이벤트 처리 명령어 세트에 기반한 마이크로프로세서에 관한 것으로서, 명령어 세트 구조에 구비된 이벤트 처리 명령어 세트에 따라 이벤트를 제어하기 위한 이벤트레지스터와, 외부에서 발생하는 이벤트를 상기 마이크로프로세서 내부로 전달하기 위한 이벤트제어기를 포함하여, 상기 마이크로프로세서가 프로그램의 수행을 위해 해독된 명령어가 이벤트 처리 명령어이면 마이크로프로세서의 동작을 중지함으로써 불필요한 전력 소모를 줄이고, 또한 외부의 이벤트 발생시 상기 이벤트레지스터와 상기 이벤트제어기의 동작에 따라 상기 마이크로프로세서를 즉시 재가동함으로써 정상적인 프로그램 수행을 재개할 수 있어 인터럽트 대기 기간에 소모되는 불필요한 전력 소모를 절감하는 효과가 있다.
Figure R1020070109206
ISA, 이벤트 처리 명령어 세트, 마이크로프로세서

Description

이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를 이용한 이벤트 처리 방법{Micro-Processor Architecture Based on Event-Processing Instruction Set and Event-Processing Method using this}
본 발명은 각종 정보기기(휴대형, 센서 노드 등)의 저전력 구현을 위한 마이크로프로세서에 관한 것으로서, 더욱 상세하게는 다양한 정보기기의 핵심 요소인 마이크로프로세서의 저전력 동작을 가능하게 하는 명령어 세트 구조(Instruction Set Architecture: ISA)에 구비된 이벤트 처리 명령어 세트(event processing instruction set) 기반의 마이크로프로세서 및 이를 이용한 이벤트 처리 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-016-01, 과제명: 저비용 대규모 글로벌 인터넷 서비스 솔루션].
마이크로프로세서는 다양한 응용 분야에 널리 사용되는 정보 기기의 핵심 구 성 요소이다. 현대의 정보 기기는 소형화, 고성능화, 저전력화되어 가고 있으며, 특히 휴대형 정보기기의 소형화와 배터리 기술의 한계로 인하여 소모 전력을 최소화하기 위한 다양한 기법과 기술에 대한 관심이 급증하고 있으며, 그 중 마이크로프로세서는 정보처리의 핵심이 되는 구성요소로서 다양한 저전력 기법을 적용한 설계가 이루어지고 있다.
기존의 저전력 기법으로, 일반적인 마이크로프로세서는 마이크로프로세서의 저전력 동작을 위하여 외부에서 인가되는 전원전압을 낮추거나 동작 클록 속도를 낮춤으로써 소모전력을 줄이고(Dynamic Voltage Frequency Scaling: DVFS), 더 이상 동작이 필요치 않은 블록에 대해서는 클록 혹은 전원을 차단함으로써 소모전력을 더욱 낮추는 방법을 사용한다.
그러나 상기 방법은 전원전압의 변경이나 동작 클록 속도의 변경시 전환을 위한 시간과 복잡한 제어가 필요하며, 또한 전원전압을 낮추거나 클록 속도를 낮추어도 내부 혹은 외부의 특정 이벤트의 처리를 위해 대기하는 동안에도 최소한의 전원전압 혹은 클록을 사용해야함으로 전력 소모를 줄이는 데는 한계가 있다.
또한 동기식 설계에 사용되는 전역 클록은 시스템 내의 모든 메모리 소자에 대하여 클록을 공급하여야 함으로써, 클록의 배선으로 인한 대량의 용량성 부하와 클록 신호의 공급에 따른 신호의 천이에 의한 동적 전력소모가 항상 발생하여 전체 소모 전력의 상당수를 차지한다.
따라서 상기와 같은 방법을 사용한 동기식 마이크로프로세서의 경우 다양한 기법과 복잡한 제어를 사용하여도 전력 소모를 줄이는 데 한계가 있다.
다른 방법으로, 영국 ARM사와 Manchester 대학에 의한 유럽 특허 EP0931287 B1 "Asynchronous Data Processing Apparatus"는 상술한 바와 같은 동기식 마이크로프로세서의 저전력 한계를 극복하기 위하여, 비동기식 설계 기법(asynchronous circuits and system design methodologies)을 적용하여 전역 클록을 사용하지 않고 동작하는 마이크로프로세서에 관한 특허를 출원하였다.
상기 특허는 전역 클록을 사용치 않음으로써 전역 클록의 배선과 그로 인한 용량성 부하의 증가, 그리고 동작하지 않을 경우에도 발생하는 클록의 천이에 따른 전력소모의 발생을 방지함으로써 마이크로프로세서의 저전력 동작을 구현하였다.
또한 마이크로프로세서의 명령어 세트 구조(ISA, Instruction Set Architecture)상에 "HALT"라는 마이크로프로세서의 동작을 중지시키는 명령어를 적용하여 프로그램의 동작이 완료된 상태에서 동작이 필요치 않을 경우 마이크로프로세서를 정지시킴으로써 저전력을 구현하는 방법이다.
그러나 상기 방법에서 마이크로프로세서가 다시 동작하기 위해서는 외부의 하드웨어 인터럽트를 수신하여 발생된 인터럽트에 대한 분석과 그에 따른 동작을 소프트웨어로 처리하여야 하기 때문에, 외부의 인터럽트의 종류와 특성을 사전에 정의할 수 없으며, 일단 인터럽트가 발생하면 소프트웨어적으로 해당되는 인터럽트를 분석하고, 그에 따른 동작을 수행하여야 한다.
따라서 현재 마이크로프로세서의 동작에 불필요한 인터럽트가 발생하여도 반 드시 이를 확인하고 처리하기 위하여 마이크로프로세서가 재가동되어야 하는 문제점이 존재한다.
또 다른 방법으로, 미국 Cornell 대학의 Rajit Manohar 에 의하여 출원된 특허 US2006/0075210 A1 "Sensor-Network Processors Using Event-Driven Architecture"는 마이크로프로세서가 정상적인 동작을 처리 완료하고 내부 혹은 외부의 이벤트 처리를 위하여 대기 상태에 있을 때 불필요한 동작에 의한 전력 소모를 방지하는 마이크로프로세서 구조를 제안하였다.
상기 특허에서 제안하는 구조와 방법은 일단 마이크로프로세서가 필요한 동작의 수행을 완료한 후, "DONE" 명령어(상기 유럽특허에서의 "HALT" 명령어와 동일)를 수행하여 마이크로프로세서의 동작을 정지하고, 필요한 이벤트가 발생하였을 경우 이의 처리를 담당하는 타이머, 메시지 보조 프로세서를 통하여 이벤트 토큰을 생성하고, 생성된 토큰이 있을 경우 마이크로프로세서가 다시 해당되는 동작을 수행하는 방식을 사용한다.
상기 미국 특허는 비동기식 설계 기법을 적용할 경우 더욱 효과적으로 전력 소모를 감소시킬 수 있으나, 마이크로프로세서가 동작을 중지하였을 때 재가동을 위하여 필요한 이벤트 토큰을 발생하기 위한 다양한 보조 프로세서와 큐를 사용하여야 하는 문제점이 있다.
[문헌 1]유럽 특허 EP0931287 B1
[문헌 2]국 특허 US2006/0075210 A1
상술한 방법들은 마이크로프로세서의 프로그램 수행과 무관한 인터럽트가 발생하여도 반드시 이를 확인하고 처리하기 위하여 마이크로프로세서가 재가동되어야 하고, 그로 인한 추가적인 전력 소모가 발생한다. 또한, 마이크로프로세서가 동작을 중지하였을 때 재가동에 필요한 이벤트 토큰을 발생하기 위해 다양한 보조 프로세서와 큐를 사용하여야 하므로 회로의 규모가 증가하는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 마이크로프로세서 내부 또는 외부의 이벤트에 따른 마이크로프로세서의 동작을 제어하기 위한 이벤트 처리 명령어 세트(event processing Instruction Set)를 명령어 세트 구조(Instruction Set Architecture)에 구비하고, 이벤트 처리 명령어에 따라 마이크로프로세서의 동작을 선택적으로 정지시키거나, 재가동시키기 위한 이벤트제어기와 이벤트레지스터를 구비한 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를 이용한 이벤트 처리 방법을 제공한다.
본 발명의 일실시 형태에 따른 이벤트 처리 명령어 세트 기반의 마이크로프로세서는, 이벤트 처리 명령어 세트를 구비한 명령어 세트 구조를 사용하여 작성된 프로그램을 저장하는 명령어메모리; 상기 명령어메모리로부터 상기 프로그램을 실행하기 위한 명령어를 인출하는 명령어인출기; 상기 인출된 명령어를 해독하고, 상기 해독된 명령어가 이벤트 처리 명령어이면 현재 진행중인 마이크로프로세서의 프로그램 실행을 중지시키는 명령어해독기; 상기 해독된 명령어를 실행함에 있어서, 해독된 명령어가 이벤트 처리 명령어이면, 더 이상의 명령어 실행을 중지하고 외부의 이벤트 발생을 기다리며, 이벤트가 발생할 경우 이벤트를 명령어에 따라 처리하는 명령어실행유니트; 하나 이상의 이벤트레지스터와, 범용레지스터로 구성되어 이벤트의 전달 여부 및 이벤트 처리 우선순위 정보를 저장하는 레지스터파일; 및 이벤트 발생시 상기 레지스터의 정보에 기초하여 상기 이벤트를 처리하도록 상기 마이크로프로세서를 재가동시키는 이벤트제어기를 포함하며, 상기 이벤트레지스터는, 상기 발생된 이벤트의 처리 우선순위 정보를 저장하는 이벤트우선순위레지스터; 및 상기 발생한 이벤트의 전달 여부에 대한 허가 정보를 저장하는 이벤트제어레지스터를 포함한다.
한편 본 발명의 일실시 형태에 따른 이벤트 처리 명령어 세트 기반의 마이크로프로세서를 이용한 이벤트 처리 방법은, 이벤트 처리 명령어 세트를 이용하는 마이크로프로세서에서의 이벤트 처리 방법에 있어서, 상기 마이크로프로세서의 초기 환경을 설정하는 단계; 상기 설정된 초기 환경에 따라 초기 작업을 수행하는 단계; 상기 초기 작업이 완료되면, 사용할 이벤트에 대한 설정을 수행하는 단계; 상기 이벤트에 대한 설정이 완료되면 인출되는 명령어의 순서에 따라 프로그램을 수행하는 단계; 상기 프로그램 수행 중 상기 이벤트 처리 명령어가 인출되면 상기 이벤트 처리 명령어 세트를 실행해 이벤트를 받아들일 수 있는 상태로 전환하여 상기 마이크로프로세서의 프로그램 실행을 중지하고, 이벤트 발생을 대기하는 단계; 이벤트가 발생하면, 상기 이벤트의 전달 여부 및 이벤트 처리 우선순위에 따라 미리 설정된 이벤트 핸들러 테이블의 이벤트핸들러를 통해 상기 이벤트를 처리하는 단계; 및 상기 이벤트 처리가 완료된 후, 다음 이벤트 처리 명령어가 발생하면 상기 이벤트 처 리 명령어를 수행하여 이벤트 발생을 대기하는 단계를 포함한다.
또한, 상기 이벤트 발생 대기는, 상기 이벤트 처리 명령어 세트를 실행하여, 현재 수행되고 있는 모든 명령어의 처리를 완료한 후 마이크로프로세서의 모든 동작을 중지하는 것을 특징으로 한다.
또한, 상기 이벤트를 처리하는 단계는, 상기 이벤트가 발생 되면 대기 상태의 마이크로프로세서를 재가동시키는 것을 특징으로 한다.
상술한 바와 같이, 본 발명의 일실시 형태에 따른 이벤트 처리 명령어 세트 기반의 마이크로프로세서는 명령어 세트 구조(ISA)에 내부 혹은 외부의 이벤트를 처리하기 위한 이벤트 처리 명령어 세트(event processing instruction set)를 구비하여 꼭 필요한 이벤트만을 선택적으로 수행함으로써 일반적인 인터럽트 처리 과정에서 내부 또는 외부의 이벤트를 받아들이기 위하여 사용하는 무한루프의 사용이나, 인터럽트 처리를 위한 마이크로프로세서 재가동 절차 및 인터럽트 처리 동작을 피함으로써 명령어 처리 구조상에서의 전력 절감의 효과가 있다.
또한, 본 발명의 일실시 형태에 따른 이벤트 처리 명령어 세트 기반의 마이크로프로세서는 규모가 작고 간단한 하드웨어를 사용하여 내부 용량성 부하를 줄임으로써 추가적인 전력 소모 감소의 효과가 있다.
또한, 본 발명의 일실시 형태에 따른 비동기식 설계 기법을 적용한 이벤트 처리 명령어 세트 기반의 마이크로프로세서의 경우, 전역 클록을 사용하지 않음으 로써 전역 클록의 사용에 의한 전력 소모를 제거하며, 동기식 설계에서 필요한 전원 및 클록의 복구를 위한 불필요한 처리단계를 피함으로써 시스템의 전력 소모를 최소화하는 효과가 있다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다.
다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다.
또한 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
그리고 본 발명에 대한 설명에 들어가기 전에, 이후에 사용되는 본 발명과 관련된 용어의 개념을 정의하면 다음과 같다.
인터럽트라 함은 마이크로프로세서가 정상적인 동작을 수행하고 있는 중간에 발생하여 프로그램의 동작 흐름을 중단하고 발생한 상황에 따른 특정 동작을 수행하도록 하는 내부 혹은 외부의 상황(혹은 신호)을 말한다.
이벤트라 함은 마이크로프로세서가 정상적인 동작의 수행을 완료하고, 동작을 중지한 상태에서, 예상되는 다음 동작을 처리하기 위하여 기다리는 혹은 발생이 예상되는 내부 혹은 외부에서 발생하는 상황(혹은 신호)을 말한다.
따라서 상술한 이벤트는 그 발생 시점이 예상되거나, 알 수 있는 특정 상황에 따른 인터럽트의 일종으로 묘사할 수 있으나, 정상적인 프로그램의 동작 흐름을 중단시키지 않는다는 점을 특징으로 한다.
도 1은 본 발명의 일실시 형태에 따른 이벤트 처리 명령어 세트(event processing instruction set) 기반의 마이크로프로세서를 나타낸 구성도이다.
도 1을 참조하면, 마이크로프로세서(100)는 명령어메모리(10), 데이터메모리(50), 명령어인출기(20), 명령어해독기(30), 복수개의 실행유니트(41-42)로 구성되는 명령어실행유니트(40), 범용레지스터(61)와 이벤트레지스터(62)로 구성되는 레지스터파일(60) 및 내부 혹은 외부에서 발생 되는 이벤트를 제어하기 위한 이벤트제어기(80)로 구성된다.
본 발명에 따른 마이크로프로세서(100)의 일반적인 동작은 외부 전원인가 혹 은 리셋의 해지에 따라 마이크로프로세서가 기동한다.
이에 명령어인출기(20)는 명령어메모리(10)로부터 프로그램을 실행하기 위한 명령어를 인출하여 명령어해독기(30)에 전달한다. 명령어메모리(10)에는 이벤트 처리 명령어 세트를 구비한 명령어 세트 구조를 사용하여 작성된 프로그램이 저장되어 있다.
명령어해독기(30)는 명령어인출기(20)에서 전달된 명령어를 해독하여 명령어실행유니트(40)로 전달한다.
명령어실행유니트(40)는 해독된 명령어를 복수 개의 실행유니트(41-42) 중 해당하는 실행유니트를 통해 수행하며, 이때 필요에 따라서 데이터메모리(50)로부터 데이터를 읽어오거나 저장하는 일반적인 프로그램 처리 동작을 수행한다.
명령어인출기(20)가 명령어메모리(10)에서 인출한 명령어를 명령어해독기(30)에서 해독하고, 상기 해독된 명령어가 이벤트 처리 명령어임이 인지되면, 명령어해독기(30)는 명령어인출기(20)에게 더 이상의 명령어 인출을 중단하도록 요청하며, 명령어인출기(20)는 명령어해독기(30)의 요청에 따라 이후의 명령어 인출을 중단하고 이벤트제어기(80)로부터의 이벤트 요청을 기다린다.
명령어 인출이 중단된 상태에서 명령어실행유니트(40)는 실행중인 연산 처리를 완료하게 되고, 그 후, 명령어인출기(20)로부터 명령어가 전달되지 않으므로, 마이크로프로세서(100)는 모든 동작을 중지하고 대기상태로 있게 된다.
이러한 대기상태에서, 이벤트제어기(80)는 마이크로프로세서(100)의 코어 외부로부터 발생한 이벤트(70)를 처리하여 명령어인출기(20)로 이벤트 요청 신호를 발생하여 전달한다.
즉, 이벤트제어기(80)로부터 이벤트 처리 요청이 발생하면, 명령어인출기(20)는 요청된 이벤트에 해당되는 이벤트핸들러(미도시)를 통해 발생한 이벤트에 해당되는 명령어를 인출하고 이벤트의 처리를 개시한다. 상기 이벤트핸들러는 사전에 미리 이벤트 핸들러 테이블에 등록되어 있다.
그리고 레지스터파일(60)은 이벤트제어기(80)가 발생한 이벤트(70)를 처리할 수 있도록 이벤트의 전달 여부 및 이벤트 우선순위 정보를 제공한다. 레지스터(60)와 이벤트제어기(80)와 관련한 동작 설명은 도 2를 참조하여 상세하게 설명한다.
상술한 바와 같이 본 발명의 일실시 형태의 마이크로프로세서는 내부 혹은 외부의 이벤트를 처리하기 위해 명령어 세트 구조(Instruction Set Architecture; ISA)에 구비된 이벤트 처리 명령어 세트를 사용하여, 내부 또는 외부의 이벤트에 의하여 특정 동작을 수행하고자 할 경우 이벤트 처리 명령어를 수행함으로써 마이크로프로세서가 자동으로 동작 중지 상태로 들어가도록 하며, 이후 내부 혹은 외부의 해당 이벤트가 발생하게 되면 선택적으로 마이크로프로세서의 재가동이 가능하다.
이제 도 2를 참조하여 발생한 이벤트의 처리에 따른 이벤트레지스터(62)와 이벤트제어기(80)의 관계를 설명한다.
도 2는 본 발명의 일실시 형태에 따른 이벤트레지스터(62)와 이벤트제어 기(80)의 상세 구성을 나타낸 것으로서, 이벤트레지스터(62)는 최소한의 이벤트우선순위레지스터(63)와 이벤트제어레지스터(64)를 기본으로 구성되나, 이벤트레지스터(62)는 필요에 따라 이벤트우선순위레지스터(63)와 이벤트제어레지스터(64) 외에 추가적으로 구성될 수 있으며, 그 구성에 제한을 두지 않는다.
한편 이벤트제어기(80)는 이벤트레지스터(62)에 의해 제어되는 이벤트응답기(81)와 이벤트스위치매트릭스(82)로 구성되며, 이 또한 그 구성 방법과 구현 방법에 제한을 두지 않는다.
그 동작을 살펴보면, 이벤트응답기(81)는 외부의 이벤트 요청 장치(미도시) 및 이벤트제어레지스터(64)와 연결되며, 외부의 이벤트 요청 장치로부터 이벤트(70)가 발생할 경우, 이를 마이크로프로세서 내부로 전달할 것인지 말 것인지의 여부를 이벤트제어레지스터(64)를 참조하여 결정한다.
즉, 이벤트응답기(81)는 이벤트제어레지스터(64)에서 발생한 이벤트(70)의 처리가 허가 되어 있지 않을 경우, 상기 발생한 이벤트(70)를 마이크로프로세서 내부로 전달하지 않고, 상기 발생한 이벤트(70)에 대하여 이벤트응답기(81) 자체에서 즉시 응답한다. 따라서, 상기 발생한 이벤트(70)에 대하여 처리된 것처럼 응답하게 되고, 마이크로프로세서 입장에서는 해당 이벤트(70)가 무시된다.
반대로 이벤트응답기(81)는 해당 이벤트의 처리가 이벤트제어레지스터(64)에 허가되어 있을 경우, 발생한 이벤트(70)를 이벤트스위치매트릭스(82)로 전달한다.
이벤트스위치매트릭스(82)는 이벤트응답기(81)로부터 전달되는 이벤트를 명령어인출기(20)로 전달하여 해당 이벤트를 처리하기 위하여 이벤트 처리 프로그램의 명령어를 명령어메모리(10)에서 인출하며, 이벤트의 처리 응답을 발생하여 발생한 이벤트의 처리를 완료한다.
즉, 이벤트스위치매트릭스(82)는 각각의 이벤트응답기(81)로부터 전달되는 이벤트를 이벤트우선순위레지스터(63)에 정의된 우선순위에 따라 처리한 후 이를 명령어인출기(20)로 전달한다.
다시 말해, 이벤트스위치매트릭스(82)는 복수 개의 이벤트가 동시에 발생할 경우, 이벤트우선순위레지스터(63)에 정의된 우선순위에 따라서 최우선 순위의 이벤트를 명령어인출기(20)로 먼저 전달한다.
이때 동시에 발생한 이벤트 중 우선순위가 낮은 이벤트는 최우선 순위 이벤트의 처리완료를 기다리고, 최우선 순위의 이벤트 처리가 완료된 이후 다음의 이벤트 처리 명령어의 실행에 따라 순차적으로 명령어인출기(20)로 전달되어 처리된다.
도 3은 본 발명의 일실시 형태에 따른 이벤트제어기(80)에서 발생된 이벤트가 처리되는 경로와 과정을 설명하기 위한 예시도를 나타낸 것으로, 8개의 외부 이벤트가 존재하는 것으로 가정한다.
도 3을 참조하면, 이벤트스위치매트릭스(82)는 내부에 우선순위제어기(83)와 이벤트우선순위레지스터(63)로부터 전달되는 우선순위제어신호(84)를 사용하여 결 정되는 이벤트의 우선순위에 따라 이벤트를 명령어인출기(20)로 전달한다.
구체적으로 설명하면, 외부의 이벤트 요청 장치에 의해 이벤트 4가 발생하면, 이벤트응답기(81)는 이벤트제어레지스터(64)의 제어에 의해 이벤트 4를 이벤트스위치매트릭스(82)로 전달한다.
그런 후, 이벤트스위치매트릭스(82)는 전달되는 이벤트 4에 대한 우선순위를 이벤트우선순위레지스터(63)에 정의된 우선순위에 따라 우선순위제어기(83)의 우선순위제어신호(84)를 통해 이벤트 4의 전달 순서를 결정한다.
이벤트 4의 우선순위가 최우선 순위이거나 다른 이벤트가 발생하지 않았으면 이를 바로 명령어인출기(20)에 전달한다. 상술한 이벤트 4에 대한 이벤트제어기(80)의 이벤트 전달 경로는 굵은 선으로 나타낸 바와 같다.
참고로, 표 1은 본 발명에 따른 이벤트스위치매트릭스(82)의 일실시예에 따른 이벤트 우선순위를 예시한 표로서, 이벤트 우선순위 인코딩이 000b일 경우, 이벤트 1이 최우선 순위를 가지고 이벤트 8이 가장 낮은 우선 순위를 가진다.
반대로 우선순위 인코딩이 111b일 경우 이벤트 8이 최우선 순위이며, 이벤트 1이 최하위 우선순위를 가진다.
[표 1] 이벤트 우선순위
우선순위 인코딩 우선순위
000b 이벤트1>이벤트2>이벤트3>이벤트4>이벤트5>이벤트6>이벤트7>이벤트8
001b 이벤트5>이벤트6>이벤트7>이벤트8>이벤트1>이벤트2>이벤트3>이벤트4
010b 이벤트3>이벤트4>이벤트1>이벤트2>이벤트7>이벤트8>이벤트5>이벤트6
011b 이벤트7>이벤트8>이벤트5>이벤트6>이벤트3>이벤트4>이벤트1>이벤트2
100b 이벤트2>이벤트1>이벤트4>이벤트3>이벤트6>이벤트5>이벤트8>이벤트7
101b 이벤트6>이벤트2>이벤트8>이벤트7>이벤트2>이벤트1>이벤트4>이벤트3
110b 이벤트4>이벤트3>이벤트2>이벤트1>이벤트8>이벤트7>이벤트6>이벤트5
111b 이벤트8>이벤트7>이벤트6>이벤트5>이벤트4>이벤트3>이벤트2>이벤트1
도 3과 표 1에 예시된 이벤트응답기(81), 이벤트스위치매트릭스(82), 우선순위 제어기(83)에 따른 이벤트 우선순위의 실제 구현과 이벤트의 개수는 다양한 형식으로 구현될 수 있으며, 구현 방법과 형식에 제한을 두지 않는다.
이어서, 상술한 마이크로프로세서(100)에서 이루어지는 이벤트 처리 방법을 도 4를 참조하여 설명한다.
도 4는 본 발명에 따른 이벤트 처리 명령어 세트 기반의 마이크로프로세서(100)를 사용하여 이벤트를 처리하는 과정을 나타낸 것이다.
먼저, 본 발명에 따른 이벤트 처리 명령어 세트 기반의 마이크로프로세서(100)는 전원의 인가와 리셋의 제거에 따라 마이크로프로세서가 기동한다(S400).
그리고, 최초 전원 인가시 마이크로프로세서(100)와 소프트웨어의 초기 환경을 설정하고(S410), 설정한 초기 환경에 따라 필요한 초기 작업을 수행한다(S420).
그런 다음, 초기 작업을 마친 마이크로프로세서(100)는 이벤트 전달 여부 및 이벤트 처리 우선순위를 이벤트레지스터(62)에 설정함으로써 사용할 이벤트의 설정을 수행한다(S430). 이 과정(S430)은 하드웨어에 설정된 초기 레지스터의 상태값을 사용할 경우에는 생략할 수 있다.
그런 다음, 마이크로프로세서(100)는 명령어메모리(10)에 저장된 명령어의 순서에 따라 프로그램을 수행한다(S440).
마이크로프로세서(100)가 프로그램을 수행 중(S440) 이벤트 처리 명령어가 인출될 경우, 이벤트 처리 명령어를 실행하여 이벤트를 받아들일 수 있는 상태로 전환한 후, 마이크로프로세서(100)의 동작을 중지한다(S450). 이러한 마이크로프로세서(100)의 동작 중지는 일반적인 인터럽트 처리에서와 같은 프로그램에 의한 무한루프가 아닌 마이크로프로세서의 프로그램 실행 중단을 의미한다.
즉, 마이크로프로세서(100)는 이후 불필요한 명령 수행 동작을 수행하지 않음으로써 전력 소모를 최소화하는 상태로 이벤트 처리 요청을 대기한다(S460).
대기 상태(S460)에서 외부에서 이벤트가 발생할 경우(S470), 발생한 이벤트는 이벤트 레지스터(62)로부터 전달되는 이벤트의 전달여부 허가 및 처리 우선순위신호에 따라 이벤트제어기(80)를 통해 명령어인출기(20)에 인가된다.
그런 다음, 명령어인출기(20)는 인가되는 이벤트에 대해 프로그램 초기화시에 설정된 이벤트 핸들러 테이블에 등록된 해당 이벤트핸들러(미도시)를 통하여 이벤트 처리를 개시한다(S480).
따라서 마이크로프로세서(100)는 해당되는 이벤트를 처리하고(S480), 이를 완료한 후 이벤트 처리 명령어가 발생되지 않으면(S490) 정상적인 프로그램을 수행하고(S440), 이벤트 처리 명령어가 발생되면(S490) 다시 이벤트 처리 명령어를 실행하여 다음 이벤트가 도착할 때까지 대기상태로 기다린다(S460).
여기서, 이벤트의 처리(S480)에 대한 응답은 처리하고자 하는 이벤트의 특성에 따라 이벤트가 발생하여 해당 이벤트 핸들러를 통해 이벤트처리가 개시될 때 응답을 외부로 전달하여 다음 이벤트의 처리가 가능하도록 할 수 있으며, 혹은 이벤트 처리(S480)가 완료된 시점에서 응답을 발생하거나 혹은 새로운 이벤트 처리 명령어가 실행될 때 응답을 발생할 수도 있는 것으로 실제 구현방식에 제한을 두지 않는다.
표 2는 본 발명의 일실시 형태에 따른 최소한의 이벤트 처리 명령어 세트를 구현한 표로서, 그 구현상 제한을 두지 않으며 추가적으로 다양한 이벤트 처리 명령어 세트를 둘 수 있다.
[표 2] 이벤트 처리 명령어 세트
명령어 오퍼랜드 연산
PEVT 즉시 값 이벤트 우선순위 레지스터 설정
MEVT 즉시 값 이벤트 제어 레지스터 설정
EVT - 모든 이벤트를 받아들여 그 중 우선순위가 제일 높은 이벤트를 처리
EVT 즉시 값 모든 이벤트 중 특정 이벤트만을 선택하여 처리
NEVT 즉시 값 모든 이벤트 중 특정 이벤트만을 배제하고 이벤트를 처리
DEVT - 이벤트 처리 완료
표 2를 참조하면, 기본적인 예제명령어로서, PEVT는 이벤트 우선순위 제어 레지스터에 우선순위 값을 설정하기 위한 명령어이며, MEVT는 사용할 이벤트들을 선택적으로 수용하도록 설정하기 위한 이벤트 제어 레지스터의 설정을 위한 명령어이다. 이러한 PEVT, MEVT는 일반적인 레지스터 읽기/쓰기 명령어를 사용하여 구현 할 수도 있다.
그리고 본 발명의 핵심이 되는 이벤트 처리 명령어 세트로서, 먼저 오퍼랜드(operand)를 사용하지 않는 EVT는 MEVT에 의하여 수용이 허가된 모든 이벤트의 발생을 기다리며, 허가된 모든 이벤트 중 우선순위가 가장 높은 이벤트를 기다리고 이를 처리하는 명령어이다.
두 번째로 오퍼랜드를 사용하는 EVT는 오퍼랜드에 지정된 이벤트가 발생할 때까지 동작을 대기하는 명령어로써, 사용자가 발생하여야 하는 이벤트를 인지하고 있을 경우 불필요한 이벤트를 배제하고, 해당 이벤트만을 수용함으로써 불필요한 이벤트로 인한 동작을 배제하여 추가적인 저전력 동작을 구현할 수 있는 명령어이다.
그리고, NEVT는 오퍼랜드를 사용하는 EVT 명령어의 반대 동작 명령어로서 사용자가 지정된 이벤트가 사용되지 않음을 인지할 때 사용하는 명령어로서, 지정된 이벤트를 제외한 나머지 허가된 이벤트를 수용하여 처리하는 명령어이다.
마지막으로 DEVT 명령어는 이벤트 응답을 발생하기 위하여 선택적으로 사용할 수 있는 명령어로서, 명시적으로 이벤트의 처리 완료를 이벤트제어기(80)에 알려주기 위한 명령어이다.
한편 본 발명에 따른 바람직한 다른 실시예는 비동기식 설계 기법을 적용한 이벤트 처리 명령어 세트 기반의 마이크로프로세서이다.
비동기식 설계 기법은 내재적으로 전력 소모를 최소화할 수 있는 설계 기법으로 전역 클록을 사용하지 않고 인접한 처리 요소간 요청과 응답 신호를 사용하는 핸드쉐이킹 방법을 사용하여 실제 처리가 일어나는 부분에서만 전력이 소모되는 특징을 가진다.
상술한 비동기 설계 기법을 적용하여 구현된 이벤트 처리 명령어 세트 기반의 마이크로프로세서는 이벤트 처리 명령어가 인출 및 해독되어 마이크로프로세서의 동작을 정지시킬 경우, 더 이상의 요청 신호를 발생하지 않음으로써 부가적인 제어회로의 도움 없이 마이크로프로세서의 내부 동작을 정지시킬 수 있다. 이때 전역 클록은 사용하지 않는 설계 방식이므로, 동기식 설계에서와 같은 전역 클록의 천이로 인한 전력 소모가 발생하지 않는다.
따라서 비동기식 설계 기법을 적용한 이벤트 처리 명령어 세트 기반의 마이크로프로세서는 전력 소모를 최소화할 수 있으며, 이벤트 처리를 가장 효과적으로 수행할 수 있다.
한편 본 발명에 따른 또 다른 실시예는 동적 전원 변경 기법(Dynamic Voltage Scaling), 전원 차단 기법(Power Gating) 및 클록 차단 기법(Clock Gating) 중 하나 이상을 동기식 설계 기법과 함께 병행하여 적용한 이벤트 처리 명 령어 세트 기반의 마이크로프로세서이다.
동기식 설계 기법은 전역 클록을 사용함으로써 내부 회로가 항상 동작하기 때문에 전력 소모가 발생한다는 단점이 있다. 이러한 단점을 극복하기 위해 동적 전원 변경 기법, 전원 차단 기법 및 클록 차단 기법 중 하나 이상을 동기식 설계 기법과 함께 병행함으로써 이벤트 처리 명령어가 실행된 이후 연산 회로에 전원을 차단하고 이벤트가 발생할 때까지 대기함으로써 전력 소모를 줄일 수 있다.
여기서, 동적 전원 변경 기법은 동작 속도가 저속인 부분에 대하여 낮은 전원전압을 인가하여 관련 회로의 전력 소모를 줄이는 기법이며, 전원 차단 기법은 장시간 사용하지 않는 부분에 대하여 외부의 전원 공급을 차단하는 기법이다. 클록 차단 기법은 일정시간 사용하지 않는 부분에 대하여 전원을 공급한 상태에서 전역 클록의 공급을 중단하여 동작을 정지시키고 클록 천이로 인한 전력소모를 줄이고자 하는 기법이다.
따라서 본 발명에 따른 동적 전원 변경 기법, 전원 차단 기법 및 클록 차단 기법 중 하나 이상을 동기식 설계 기법과 함께 병행하여 적용한 이벤트 처리 명령어 세트 기반의 마이크로프로세서는, 이벤트 처리 명령어의 인출 해독 이후 이벤트레지스터(62), 이벤트제어기(80)를 제외한 동작을 중단하여야 하는 부분에 대하여 전역 클록 또는 전원의 공급을 중단 및 변경하여 더 이상의 동작을 중단하고, 이벤트 처리에 따라 전역 클록 혹은 전원을 공급하여 동작을 재개할 수 있다.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.
도 1은 본 발명의 일실시 형태에 따른 이벤트 처리 명령어 세트 기반의 마이크로프로세서의 구성도,
도 2는 본 발명의 일실시 형태에 따른 이벤트제어기와 이벤트레지스터의 상세 구성도,
도 3은 본 발명의 일실시 형태에 따른 이벤트제어기와 이벤트레지스터의 이벤트 처리 경로를 설명하기 위한 예시도, 그리고,
도 4는 본 발명의 일실시 형태에 따른 이벤트 처리 명령어 세트에 의한 마이크로프로세서의 동작 흐름을 설명하는 순서도이다.
*도면의 주요 부호에 대한 설명*
10. 명령어메모리 20. 명령어인출기
30. 명령어해독기 40. 명령어 실행 유니트
50. 데이터메모리 60. 레지스터파일
61. 범용레지스터 62. 이벤트레지스터
63. 우선순위레지스터 64. 이벤트제어레지스터
70. 이벤트 80. 이벤트제어기
81. 이벤트응답기 82. 이벤트스위치매트릭스
83. 우선순제어기 84. 우선순위제어신호

Claims (11)

  1. 이벤트 처리 명령어 세트를 구비한 명령어 세트 구조를 사용하여 작성된 프로그램을 저장하는 명령어메모리;
    상기 명령어메모리로부터 상기 프로그램을 실행하기 위한 명령어를 인출하는 명령어인출기;
    상기 인출된 명령어를 해독하고, 상기 해독된 명령어가 이벤트 처리 명령어이면 현재 진행중인 마이크로프로세서의 프로그램 실행을 중지시키는 명령어해독기;
    상기 해독된 명령어를 실행함에 있어서, 해독된 명령어가 이벤트 처리 명령어이면, 더 이상의 명령어 실행을 중지하고 외부의 이벤트 발생을 기다리며, 이벤트가 발생할 경우 이벤트를 명령어에 따라 처리하는 명령어실행유니트;
    하나 이상의 이벤트레지스터와, 범용레지스터로 구성되어 이벤트의 전달 여부 및 이벤트 처리 우선순위 정보를 저장하는 레지스터파일; 및
    이벤트 발생시 상기 레지스터의 정보에 기초하여 상기 이벤트를 처리하도록 상기 마이크로프로세서를 재가동시키는 이벤트제어기
    를 포함하며,
    상기 이벤트레지스터는,
    상기 발생된 이벤트의 처리 우선순위 정보를 저장하는 이벤트우선순위레지스터; 및 상기 발생한 이벤트의 전달 여부에 대한 허가 정보를 저장하는 이벤트제어레지스터
    를 포함하는
    이벤트 처리 명령어 세트 기반의 마이크로프로세서.
  2. 삭제
  3. 제1항에 있어서, 상기 이벤트제어기는,
    상기 이벤트제어레지스터에 저장된 허가 정보에 의해 상기 발생된 이벤트를 마이크로프로세서 내부로 전달하거나 응답 처리하는 이벤트응답기; 및
    상기 이벤트우선순위레지스터에 저장된 우선순위 정보에 의해 상기 발생된 이벤트의 처리 우선순위를 결정하여 상기 명령어인출기로 전달하는 이벤트스위치 매트릭스
    를 포함하는 것을 특징으로 하는 이벤트 처리 명령어 세트 기반의 마이크로프로세서.
  4. 제1항에 있어서,
    상기 이벤트 처리 명령어 세트는 오퍼랜드(operand)의 사용 유무에 따라 특정 이벤트를 선택하거나 배제하도록 구현된 것을 특징으로 하는 이벤트 처리 명령어 세트 기반의 마이크로프로세서.
  5. 제4항에 있어서, 상기 이벤트 처리 명령어 세트는,
    이벤트 레지스터를 설정하기 위한 이벤트 레지스터 제어 명령어;
    마이크로프로세서의 동작을 중지시키고 이벤트를 처리하기 위해 모든 이벤트를 받아들여 우선순위가 높은 이벤트를 처리하는 명령어;
    마이크로프로세서의 동작을 중지시키고 이벤트를 처리하기 위해 상기 모든 이벤트 중 특정 이벤트만을 선택하여 처리하는 명령어;
    마이크로프로세서의 동작을 중지시키고 이벤트를 처리하기 위해 모든 이벤트 중 특정 이벤트만을 배제하고 처리하는 명령어; 및
    이벤트의 처리가 완료되었음을 확인하는 이벤트 응답 명령어 중 하나 이상을 포함하는 것을 특징으로 하는 이벤트 처리 명령어 세트 기반의 마이크로프로세서.
  6. 제1항, 제3항 내지 제5항 중 어느 한 항에 있어서,
    상기 마이크로프로세서는 전역 클록을 사용하지 않고 핸드쉐이킹을 사용하는 비동기식 설계 기법으로 구현된 것을 특징으로 하는 이벤트 처리 명령어 세트 기반의 마이크로프로세서.
  7. 제1항, 제3항 내지 제5항 중 어느 한 항에 있어서,
    상기 마이크로프로세서에 동기식 설계 기법과 함께, 동작 속도가 저속인 부분에 대하여 낮은 전원 전압을 인가하는 동적 전원 변경 기법(Dynamic Voltage Scaling), 일정 시간 사용하지 않는 부분에 대하여 외부의 전원 공급을 차단하는 전원 차단 기법(Power Gating) 및 일정 시간 사용하지 않는 부분에 대하여 전원을 공급한 상태에서 전역 클록의 공급을 중단하는 클록 차단 기법(Clock Gating) 중 하나 이상이 더 구현된 것을 특징으로 하는 이벤트 처리 명령어 세트 기반의 마이크로프로세서.
  8. 이벤트 처리 명령어 세트에 기반한 마이크로프로세서에서의 이벤트 처리 방법에 있어서,
    상기 마이크로프로세서의 초기 환경을 설정하는 단계;
    상기 설정된 초기 환경에 따라 초기 작업을 수행하는 단계;
    상기 초기 작업이 완료되면, 사용할 이벤트에 대한 설정을 수행하는 단계;
    상기 이벤트에 대한 설정이 완료되면 인출되는 명령어의 순서에 따라 프로그램을 수행하는 단계;
    상기 프로그램 수행 중 상기 이벤트 처리 명령어가 인출되면 상기 이벤트 처리 명령어를 실행해 이벤트를 받아들일 수 있는 상태로 전환하여 상기 마이크로프로세서의 프로그램 실행을 중지하고, 이벤트 발생을 대기하는 단계;
    이벤트가 발생하면, 상기 이벤트의 전달 여부 및 이벤트 처리 우선순위에 따라 미리 설정된 이벤트 핸들러 테이블의 이벤트핸들러를 통해 상기 이벤트를 처리하는 단계; 및
    상기 이벤트 처리가 완료된 후, 다음 이벤트 처리 명령어가 발생하면 상기 이벤트 처리 명령어를 실행하여 이벤트 발생을 대기하는 단계
    를 포함하는 이벤트 처리 명령어 세트 기반의 마이크로프로세서를 이용한 이벤트 처리 방법.
  9. 제8항에 있어서,
    상기 이벤트 발생 대기는, 상기 이벤트 처리 명령어를 실행하여 현재 수행되고 있는 모든 명령어의 처리를 완료한 후 상기 마이크로프로세서의 모든 동작을 중지하는 것을 특징으로 하는 이벤트 처리 명령어 세트 기반의 마이크로프로세서를 이용한 이벤트 처리 방법.
  10. 제8항에 있어서,
    상기 이벤트를 처리하는 단계는, 상기 이벤트가 발생 되면 대기 상태의 상기 마이크로프로세서를 재가동시키는 것을 특징으로 하는 이벤트 처리 명령어 세트 기반의 마이크로프로세서를 이용한 이벤트 처리 방법.
  11. 제8항에 있어서,
    상기 다음 이벤트 처리 명령어가 발생 되지 않으면 정상적인 프로그램을 수행하는 것을 특징으로 하는 이벤트 처리 명령어 세트 기반의 마이크로프로세서를 이용한 이벤트 처리 방법.
KR1020070109206A 2007-10-29 2007-10-29 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법 KR100934215B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070109206A KR100934215B1 (ko) 2007-10-29 2007-10-29 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법
US12/155,833 US7941650B2 (en) 2007-10-29 2008-06-10 Microprocessor based on event-processing instruction set and event-processing method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070109206A KR100934215B1 (ko) 2007-10-29 2007-10-29 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법

Publications (2)

Publication Number Publication Date
KR20090043384A KR20090043384A (ko) 2009-05-06
KR100934215B1 true KR100934215B1 (ko) 2009-12-29

Family

ID=40584417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070109206A KR100934215B1 (ko) 2007-10-29 2007-10-29 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법

Country Status (2)

Country Link
US (1) US7941650B2 (ko)
KR (1) KR100934215B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171187B2 (en) * 2008-07-25 2012-05-01 Freescale Semiconductor, Inc. System and method for arbitrating between memory access requests
GB2476606B (en) 2008-09-08 2012-08-08 Virginia Tech Intell Prop Systems, devices, and methods for managing energy usage
WO2010043401A2 (en) 2008-10-15 2010-04-22 Martin Vorbach Data processing device
WO2013098643A2 (en) * 2011-12-16 2013-07-04 Hyperion Core Inc. Advanced processor architecture
US9423866B2 (en) 2014-07-16 2016-08-23 Eta Compute, Inc. Asynchronous processor that adjusts a respective operating voltage for causing a task to consume substantially all of a respective allocated time interval for the task
WO2012001779A1 (ja) * 2010-06-30 2012-01-05 富士通株式会社 情報処理装置の使用量解析方法、情報処理システム及びそのプログラム
KR102278475B1 (ko) 2014-10-14 2021-07-19 삼성전자주식회사 전자 장치 및 그 제어 방법
FR3052576B1 (fr) * 2016-06-14 2018-07-13 Commissariat A L'energie Atomique Et Aux Energies Alternatives Cœur de processeur asynchrone et microcontroleur de nœud de capteur communicant comportant un tel cœur de processeur
KR20210016773A (ko) 2019-08-05 2021-02-17 삼성전자주식회사 프로세서의 주파수를 제어하는 전자 장치와 이의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040069277A (ko) * 2003-01-28 2004-08-05 마츠시타 덴끼 산교 가부시키가이샤 저전력 동작 제어장치, 및 프로그램 최적화 장치
JP2004295193A (ja) * 2003-03-25 2004-10-21 Seiko Epson Corp 情報処理装置、情報処理装置の制御方法及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5809271A (en) * 1994-03-01 1998-09-15 Intel Corporation Method and apparatus for changing flow of control in a processor
US5694587A (en) * 1995-03-31 1997-12-02 International Business Machines Corporation Specialized millicode instructions for test PSW validity, load with access test, and character translation assist
GB2318194B (en) 1996-10-08 2000-12-27 Advanced Risc Mach Ltd Asynchronous data processing apparatus
US6289465B1 (en) * 1999-01-11 2001-09-11 International Business Machines Corporation System and method for power optimization in parallel units
US6842812B1 (en) * 2000-11-02 2005-01-11 Intel Corporation Event handling
US7788332B2 (en) * 2004-05-06 2010-08-31 Cornell Research Foundation, Inc. Sensor-network processors using event-driven architecture
US7334114B2 (en) * 2005-05-16 2008-02-19 Texas Instruments Incorporated Real-time monitoring, alignment, and translation of CPU stalls or events
JP2007048022A (ja) * 2005-08-10 2007-02-22 Fujitsu Ltd 非同期バスインタフェース及びその処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040069277A (ko) * 2003-01-28 2004-08-05 마츠시타 덴끼 산교 가부시키가이샤 저전력 동작 제어장치, 및 프로그램 최적화 장치
JP2004295193A (ja) * 2003-03-25 2004-10-21 Seiko Epson Corp 情報処理装置、情報処理装置の制御方法及びプログラム

Also Published As

Publication number Publication date
KR20090043384A (ko) 2009-05-06
US7941650B2 (en) 2011-05-10
US20090113178A1 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
KR100934215B1 (ko) 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법
CN101464819B (zh) 进入低功率模式前的硬件驱动处理器状态存储
US5634131A (en) Method and apparatus for independently stopping and restarting functional units
JP5074389B2 (ja) Simd並列処理の自動選択を備えたマイクロプロセッサ
JP3701910B2 (ja) スリープ状態への移行
TWI398762B (zh) 積體電路及其減少電源消耗之方法
JPH0836445A (ja) コンピュータシステムのための電力管理システム
JP4678396B2 (ja) 仮想マシンモニタをモニタするコンピュータとその方法、および仮想マシンモニタモニタプログラム
JP2011521365A (ja) 電力消費低減のためのスリープ状態を提供する補助メモリ制御器を有する集積回路及びそのための方法
JPH04333119A (ja) 情報処理装置
JP2000029737A (ja) デバッグ機能のためのリアルタイム外部命令挿入を有するプロセッサ
US5603037A (en) Clock disable circuit for translation buffer
EP1510908B1 (en) Processor resource power management
CN111506351A (zh) 片上系统的深度休眠方法、唤醒方法和休眠与唤醒方法
US10621128B2 (en) Controlling transitions of devices between normal state and quiescent state
US10788886B2 (en) Controlling transitions of devices between normal state and quiescent state
TWI485623B (zh) 快速喚醒電腦系統方法與電腦系統
JP2004348707A (ja) 集積回路節電方法
CN101281416A (zh) 确保系统关机完成的方法
US6993674B2 (en) System LSI architecture and method for controlling the clock of a data processing system through the use of instructions
US9696790B2 (en) Power management through power gating portions of an idle processor
JPH10333790A (ja) パワーセーブ機能を備えた情報処理装置及び当該情報処理装置のパワーセーブ解除方法
CN112667302B (zh) 一种快速响应处理器外部设备请求的方法
KR101236393B1 (ko) 전자장치 및 그 제어방법
TW550451B (en) Programmable power-on system and method for central processing unit

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
LAPS Lapse due to unpaid annual fee