KR20090014692A - 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법 - Google Patents

인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법 Download PDF

Info

Publication number
KR20090014692A
KR20090014692A KR1020070078818A KR20070078818A KR20090014692A KR 20090014692 A KR20090014692 A KR 20090014692A KR 1020070078818 A KR1020070078818 A KR 1020070078818A KR 20070078818 A KR20070078818 A KR 20070078818A KR 20090014692 A KR20090014692 A KR 20090014692A
Authority
KR
South Korea
Prior art keywords
interrupt
processor
mode
low power
instruction
Prior art date
Application number
KR1020070078818A
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 한국과학기술원
Priority to KR1020070078818A priority Critical patent/KR20090014692A/ko
Publication of KR20090014692A publication Critical patent/KR20090014692A/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
    • 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/22Microcontrol or microprogram arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

저전력을 소모하는 프로세서의 인터럽트 처리 방법에서 프로세서의 현재 명령어가 인터럽트 대기 명령어와 일치하는지 여부가 판단된다. 현재 명령어가 인터럽트 대기 명령어와 일치하지 않는 경우, 프로세서의 기본 동작모드인 일반모드에서 일반 명령어가 수행된다. 반면 현재 명령어가 인터럽트 대기 명령어와 일치하는 경우 프로세서의 동작모드는 일반모드에서 저전력모드로 전환되고, 인터럽트의 발생 여부가 판단된다. 저전력모드에서 인터럽트가 발생되는 경우 프로세서의 동작모드는 다시 일반모드로 전환된다. 따라서, 프로세서는 일반모드 및 저전력모드의 두 가지 동작모드를 가질 수 있어, 인터럽트를 대기하는 동안 프로세서의 전체 전력 소모를 줄일 수 있다.

Description

인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를 실행하는 인터럽트 처리 방법{INTERRUPT PROCESSING METHOD EXECUTING INTERRUPT WAITING INSTRUCTION FOR INTERRUPT BASED PROCESSOR}
본 발명은 마이크로 프로세서의 인터럽트 처리 방법에 관한 것으로서, 더욱 상세하게는 전력 소모를 줄일 수 있는 마이크로 프로세서의 인터럽트 처리 방법에 관한 것이다.
임베디드 환경에서 대부분의 데이터 처리는 프로세서 외부의 인터럽트로 인해 시작된다. 따라서 이러한 인터럽트 기반의 데이터 처리를 위해 프로세서는 인터럽트를 대기할 때 의미 없는 명령어를 수행하며 무한루프를 돌도록 하는 것이 일반적이다. 이러한 방식은 실제적인 데이터 처리와는 상관없는 부분에서 불필요한 프로세서의 전력 소모를 발생시키게 되며, 전력 소모를 줄여야 하는 임베디드 환경에서 개선되어야 할 점이다.
따라서, 저전력모드로 인터럽트를 대기하는 프로세서를 위한 인터럽트 처리 방법이 필요하게 되었다.
상기 문제점을 해결하기 위한 본 발명의 목적은 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를 실행하는 인터럽트 처리 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 인터럽트 처리 방법에서, 프로세서의 현재 명령어가 인터럽트 대기 명령어와 일치하는지 여부가 판단된다. 상기 현재 명령어가 상기 인터럽트 대기 명령어와 일치하지 않는 경우, 상기 프로세서의 기본 동작모드인 일반모드에서 일반 명령어가 수행된다. 반면, 상기 현재 명령어가 상기 인터럽트 대기 명령어와 일치하는 경우, 상기 프로세서의 동작모드는 상기 일반모드에서 저전력모드로 전환되고, 상기 인터럽트 발생 여부가 판단된다. 상기 저전력모드에서, 상기 인터럽트가 발생하는 경우 상기 프로세서의 동작모드는 상기 일반모드로 전환된다.
상기 현재 명령어가 상기 인터럽트 대기 명령어와 일치하는지 여부를 판단하기 위해 상기 현재 명령어 및 상기 인터럽트 대기 명령어는 디코딩될 수 있다. 상기 프로세서의 동작모드를 상기 일반모드에서 상기 저전력모드로 전환하기 위해 상기 프로세서의 회로들 중 상기 인터럽트의 처리부분 회로들은 활성화되고, 상기 프로세서의 회로들 중 상기 인터럽트의 처리부분을 제외한 회로들은 비활성화 될 수 있다. 이때, 상기 인터럽트의 처리부분을 제외한 회로들을 비활성화시키기 위한 방법으로 상기 프로세서의 파이프라인 및/또는 상기 프로세서에 제공되는 클럭의 공 급이 제어될 수 있다.
따라서, 본 발명의 일 실시예에 따른 인터럽트 처리 방법은 저전력에서 인터럽트를 대기할 수 있는 프로세서를 위한 인터럽트 대기 명령어를 이용하여 프로세서를 일반모드 및 저전력모드로 동작시킨다.
본 발명의 일 실시예에 따른 인터럽트 처리 방법에서 인터럽트 기반의 프로세서는 인터럽트 대기 명령어를 이용하여 일반모드 및 저전력모드의 두 가지 동작모드에서 동작할 수 있다. 따라서 프로세서는 인터럽트를 대기하는 동안에 전체 전력 소모를 줄 일 수 있다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들에 따른 반도체 장치의 제조 방법에 대하여 상세하게 설명하지만, 본 발명이 하기의 실시예들에 제한되는 것은 아니며, 해당 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명을 다양한 다른 형태로 구현할 수 있을 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다. 각 도면에 제시된 동일한 참조부호는 동일한 구성요소를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 인터럽트 처리 방법을 나타내는 순서도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 인터럽트 처리 방법에서, 인터럽트 기반의 데이터 처리를 위한 프로세서는 현재 명령어가 인터럽트 대기 명령어인지 ID(Instruction Decoding) stage에서 판단한다 (S101). 판단결과, 현재 명령어가 인터럽트 대기 명령어와 일치하는 경우, 프로세서의 동작모드는 일반모드에서 저전력모드로 전환되고(S102), 판단결과, 현재 명령어가 인터럽트 대기 명령어 와 일치하지 않는 경우, 프로세서는 일반모드에서 일반명령어를 수행한다(S103). 여기서, 저전력모드화를 위해 프로세서의 파이프라인을 제어하는 방법 및 프로세서에 제공되는 클럭의 공급을 제어하는 클럭 게이팅 방법등이 사용될 수 있다. 구체적으로, 프로세서의 회로들 중 인터럽트 처리부분 회로만 활성화되고, 인터럽트 처리부분 회로를 제외한 나머지 부분은 비활성화되어 저전력모드가 유지된다. 예를 들어, 5-stage 파이프라인 RISK구조에서 인터럽트 처리부분 회로를 제외한 부분인 레지스터파일, 파이프라인 레지스터, 메모리, 및 ALU 등은 비활성화되어 프로세서는 저전력 모드에서 대기할 수 있는 것이다. 다음으로, 프로세서가 저전력모드에서 대기하는 동안 인터럽트의 발생 여부가 판단된다(S105). 인터럽트가 발생되면, 프로세서의 동작모드는 저전력모드에서 다시 일반모드로 전환되고(S106), 일반모드에서 인터럽트 서비스 루틴을 처리하는 일반 명령어가 수행된다(S103). 따라서, 인터럽트가 발생되지 않으면, 프로세서는 저전력모드를 유지하므로 전체 전력 소모를 줄일 수 있다.
도 2는 본 발명의 일 실시예에 따른 인터럽트 처리 방법에서, 인터럽트 기반의 프로세서의 동작모드인 일반모드 및 저전력모드의 관계를 나타낸 그래프이다.
도 2를 참조하면, 인터럽트를 처리하기 위한 프로세서는 두 가지 동작모드인 일반모드 및 저전력모드를 가진다. 동작모드가 일반모드일 때, 프로세서는 일반 명령을 수행하고, 동작모드가 저전력모드일 때, 프로세서는 전력 소모를 줄이며 인터럽트를 기다린다. 구체적으로, 프로세서가 일반모드를 가질 때, 프로세서의 현재 명령어가 인터럽트 대기 명령어와 일치하는 지 ID(Instruction Decoding) stage 에 서 판단하여 일치하면, 저전력모드로 전환하고, 일치하지 않으면 일반모드를 유지하며 일반 명령어를 수행한다. 반면, 프로세서가 저전력모드를 가질 때, 인터럽트가 발생하면 프로세서의 동작모드는 일반모드로 전환되어 인터럽트 서비스 루틴을 처리하는 일반 명령어가 수행되고, 인터럽트가 발생하지 않으면 저전력모드를 유지하며 인터럽트 대기 동안의 전체 전력 소모를 최소화 한다. 이때, 저전력모드화는 프로세서의 파이프라인을 제어하는 방법 및 프로세서의 클럭을 제어하는 방법등을 이용하여 프로세서의 회로들 중 인터럽트 처리에 이용되지 않는 부분을 비활성화 시킴으로써 구현될 수 있다.
따라서, 저전력에서 인터럽트를 대기할 수 있는 프로세서를 위한 인터럽트 대기 명령어를 사용하면, 프로세서를 일반모드 또는 저전력모드에서 동작시킬 수 있어 인터럽트를 대기할 때 전체 전력 소모를 줄일 수 있다.
본 발명에 따르면, 인터럽트 기반의 프로세서는 인터럽트 대기 명령어를 이용하여 일반모드 및 저전력모드의 두 가지 동작모드에서 동작할 수 있다. 따라서, 프로세서는 인터럽트를 기다리는 동안 전력 소모를 최소화 할 수 있다. 특히, 임베디드 시스템이나 제어기등에서는 외부 인터럽트에 반응하여 어떤 작업을 수행해야 하는 경우가 대부분이기 때문에 인터럽트가 올 때까지의 프로세서 동작의 전력 효율은 전체 시스템의 저전력화에 매우 중요한 요소가 된다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어 나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 인터럽트 처리 방법을 나타내는 순서도이다.
도 2는 본 발명의 일 실시예에 따른 인터럽트 처리 방법에서, 인터럽트 기반의 프로세서의 동작모드인 일반모드 및 저전력모드의 관계를 나타낸 그래프이다.

Claims (5)

  1. 프로세서의 현재 명령어가 인터럽트 대기 명령어와 일치하는지 여부를 판단하는 단계;
    상기 현재 명령어가 상기 인터럽트 대기 명령어와 일치하지 않는 경우, 상기 프로세서의 기본 동작모드인 일반모드에서 일반 명령어를 수행하는 단계;
    상기 현재 명령어가 상기 인터럽트 대기 명령어와 일치하는 경우, 상기 프로세서의 동작모드를 상기 일반모드에서 저전력모드로 전환하는 단계;
    상기 인터럽트 발생 여부를 판단하는 단계; 및
    상기 저전력모드에서, 상기 인터럽트가 발생하는 경우 상기 프로세서의 동작모드를 상기 일반모드로 전환하는 단계를 포함하는 인터럽트 처리 방법.
  2. 제 1 항에 있어서, 상기 현재 명령어가 상기 인터럽트 대기 명령어와 일치하는지 여부를 판단하는 단계는 상기 현재 명령어 및 상기 인터럽트 대기 명령어를 디코딩하는 단계를 더 포함하는 것을 특징으로 하는 인터럽트 처리 방법.
  3. 제 1 항에 있어서, 상기 일반모드에서 상기 저전력모드로 전환하는 단계는 상기 프로세서의 회로들 중 상기 인터럽트의 처리부분 회로들을 활성화시키는 단계 및 상기 프로세서의 회로들 중 상기 인터럽트의 처리부분을 제외한 회로들을 비활성화시키는 단계를 더 포함하는 것을 특징으로 하는 인터럽트 처리 방법.
  4. 제 3 항에 있어서, 상기 프로세서의 회로들 중 상기 인터럽트의 처리부분을 제외한 회로들을 비활성화시키는 단계는 상기 프로세서의 파이프라인을 제어하는 것을 특징으로 하는 인터럽트 처리 방법.
  5. 제 3 항에 있어서, 상기 프로세서의 회로들 중 상기 인터럽트의 처리부분을 제외한 회로들을 비활성화시키는 단계는 상기 프로세서에 제공되는 클럭의 공급을 제어하는 것을 특징으로 하는 인터럽트 처리 방법.
KR1020070078818A 2007-08-07 2007-08-07 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법 KR20090014692A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070078818A KR20090014692A (ko) 2007-08-07 2007-08-07 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070078818A KR20090014692A (ko) 2007-08-07 2007-08-07 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법

Publications (1)

Publication Number Publication Date
KR20090014692A true KR20090014692A (ko) 2009-02-11

Family

ID=40684555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070078818A KR20090014692A (ko) 2007-08-07 2007-08-07 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법

Country Status (1)

Country Link
KR (1) KR20090014692A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160105209A (ko) * 2015-02-27 2016-09-06 삼성전자주식회사 전자 장치 및 이의 전력 제어 방법
US10983551B2 (en) 2015-08-06 2021-04-20 Samsung Electronics Co., Ltd. Clock management unit, integrated circuit including the clock management unit, system on chip, and method of operating the system on chip

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160105209A (ko) * 2015-02-27 2016-09-06 삼성전자주식회사 전자 장치 및 이의 전력 제어 방법
US10983551B2 (en) 2015-08-06 2021-04-20 Samsung Electronics Co., Ltd. Clock management unit, integrated circuit including the clock management unit, system on chip, and method of operating the system on chip

Similar Documents

Publication Publication Date Title
CN102656539B (zh) 用于基于所推断的工作负载并行性控制中央处理单元功率的系统和方法
US7836291B2 (en) Method, medium, and apparatus with interrupt handling in a reconfigurable array
US8407714B2 (en) Arithmetic device for processing one or more threads
JP5074389B2 (ja) Simd並列処理の自動選択を備えたマイクロプロセッサ
US8140875B2 (en) Integrated circuit apparatus
JP5090569B2 (ja) ミクロアーキテクチャのバンド幅スロットリングによるプロセッサ電力消費制御及び電圧降下
WO2009157178A1 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
KR101222082B1 (ko) Mla의 소비 전력을 줄이기 위한 멀티 포트 메모리 장치의 전원제어방법
WO2001052027A1 (fr) Systeme informatique et procede de commande de mode d'economie d'energie correspondant
JPWO2011074059A1 (ja) 演算処理装置、情報処理装置及びその制御方法
JPWO2009022371A1 (ja) タスク処理装置
JP2009501961A (ja) 予測的なプロセッサコンポーネントサスペンドのためのシステム及びその方法
WO2007088816A1 (ja) マルチプロセッサシステム及びマルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム
KR20090014692A (ko) 인터럽트 기반의 프로세서를 위한 인터럽트 대기 명령어를실행하는 인터럽트 처리 방법
JP2008262437A (ja) プロセッサシステムおよび例外処理方法
GB2506169A (en) Limiting task context restore if a flag indicates task processing is disabled
JP2010102567A (ja) 周期駆動タスク実行装置、周期駆動タスク実行方法及びプログラム
JP2013137689A (ja) 半導体装置
KR102528699B1 (ko) 가변 길이 명령 처리 모드
JPH117344A (ja) 省電力パソコン
JP2010257199A (ja) プロセッサ及びプロセッサにおける命令発行の制御方法
JP4194953B2 (ja) 多重命令発行プロセッサ
KR100513375B1 (ko) 마이크로 콘트롤러의 다이나믹 파워 세이빙 장치 및 그 방법
JP2008299740A (ja) 非同期マイクロプロセッサ、電子情報装置
JP2009134499A (ja) データ処理装置及びデータ処理装置の制御方法

Legal Events

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