KR20070101998A - 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법 - Google Patents

마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법 Download PDF

Info

Publication number
KR20070101998A
KR20070101998A KR1020060033565A KR20060033565A KR20070101998A KR 20070101998 A KR20070101998 A KR 20070101998A KR 1020060033565 A KR1020060033565 A KR 1020060033565A KR 20060033565 A KR20060033565 A KR 20060033565A KR 20070101998 A KR20070101998 A KR 20070101998A
Authority
KR
South Korea
Prior art keywords
program counter
microcontroller
program
external
executed
Prior art date
Application number
KR1020060033565A
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 KR1020060033565A priority Critical patent/KR20070101998A/ko
Priority to US11/783,415 priority patent/US20070245126A1/en
Publication of KR20070101998A publication Critical patent/KR20070101998A/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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • 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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법에 관한 것으로서, 마이크로 컨트롤러의 프로그램 카운터에서 외부로부터 입력되는 프로그램 카운터 값을 입력받아 파워세이브나 슬립모드에서 깨어날 때 외부에서 입력된 프로그램 카운터 값에 따른 어드레스에 의해 프로그램이 실행되도록 함으로써 별도의 마이크로 컨트롤러의 내부 초기화 과정을 거치지 않고도 원하는 프로그램을 곧바로 실행할 수 있도록 하여 누설전력을 최소화하면서도 시스템의 즉각적인 재기동을 가능하게 하여 전체적인 소모전력과 재기동 시간을 줄일 수 있는 이점이 있다.
마이크로 프로세서, 마이크로 컨트롤러, 프로그램 카운터, 메모리, 파워세이브 모드, 슬립모드

Description

마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법{PROGRAM COUNTER OF MICROCONTROLLER AND CONTROL METHOD THEREOF}
도 1은 본 발명에 의한 마이크로 컨트롤러의 프로그램 카운터를 나타낸 블록구성도이다.
도 2는 본 발명에 의한 마이크로 컨트롤러의 프로그램 카운터의 제어방법에 의해 동작되는 프로그램 메모리를 나타낸 블록구성도이다.
- 도면의 주요부분에 대한 부호의 설명 -
10 : 마이크로 컨트롤러
20 : 제어부
30 : 프로그램 카운터 생성기
40 : 외부 프로그램 카운터
50 : 프로그램 메모리
60 : 외부장치
본 발명은 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법에 관한 것으로서, 보다 상세하게는 마이크로 컨트롤러의 프로그램 카운터에서 외부로부터 입력되는 프로그램 카운터 값을 입력받아 파워세이브나 슬립모드에서 깨어날 때 외부에서 입력된 프로그램 카운터 값에 따른 어드레스에 의해 프로그램이 실행되도록 함으로써 별도의 마이크로 컨트롤러의 내부 초기화 과정을 거치지 않고도 원하는 프로그램을 곧바로 실행할 수 있도록 한 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법에 관한 것이다.
프로그램 카운터(Program Counter)는 마이크로 컨트롤러(micro-controller) 또는 마이크로 프로세서(microprocessor)를 동작시키기 위한 명령어들이 저장된 프로그램 메모리(Program Memory)에서 한 번에 하나씩 순차적으로 명령어들을 수행할 수 있도록 다음 수행될 프로그램 명령어가 저장된 프로그램 메모리의 어드레스를 지정하는데 사용되며, 마이크로 컨트롤러는 명령을 가져올 때마다 프로그램 카운터의 내용을 하나씩 더하여 다음 수행될 프로그램 명령어를 가리키도록 한다.
현재 모바일용 마이크로 컨트롤러는 정상적인 동작 모드 외에 사용하지 않을 때에는 전체 시스템의 전력 소모를 줄이기 위해 슬립모드(sleep mode) 또는 파워세이브 모드(power-save mode)를 추가로 두고 있다.
그러나 슬립모드는 마이크로 컨트롤러가 사용되지 않을 때에는 클럭의 인가 를 차단함으로써 전체 동작만을 정지시켜 동작 전력은 줄일 수 있지만 여전히 전력이 인가되기 때문에 누설전력(leakage power)은 차단하지 못하는 문제점이 있다.
또한, 파워세이브 모드는 전원전력 자체의 공급을 차단함으로서 소모전력을 최대한 낮출 수 있어 누설전력까지 차단할 수 있지만 마이크로 컨트롤러 내부의 레지스터 값을 잃어버리기 때문에 파워 세이브 모드로 진입하기 직전에 레지스터 백업 동작을 통해 내부 레지스터 값을 별도의 메모리에 저장해 두었다가 재기동시 그 값들을 다시 불러와서 내부 레지스터 값을 다시 초기화해야 하기 때문에 이를 위한 부가적인 동작이 필요하고 이는 시스템의 재기동 시간을 늦추고 부가적인 동작에 기인하는 전력소모의 증가를 가져오는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 본 발명의 목적은 마이크로 컨트롤러의 프로그램 카운터에서 외부로부터 입력되는 프로그램 카운터 값을 입력받아 파워세이브나 슬립모드에서 깨어날 때 외부에서 입력된 프로그램 카운터 값에 따른 어드레스에 의해 프로그램이 실행되도록 함으로써 별도의 마이크로 컨트롤러의 내부 초기화 과정을 거치지 않고도 원하는 프로그램을 곧바로 실행할 수 있도록 한 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법을 제공함에 있다.
상기와 같은 목적을 이루기 위한 본 발명에 의한 마이크로 컨트롤러의 프로그램 카운터는 마이크로 컨트롤러의 프로그램 카운터에 있어서, 마이크로 컨트롤러가 재기동하면서 수행할 명령어 어드레스를 저장하여 공급하는 외부 프로그램 카운터와, 외부 프로그램 카운터로부터 입력되는 프로그램 카운터 값을 입력받아 출력하거나 내부에서 생성되어 마이크로 컨트롤러에서 수행할 명령어 어드레스를 출력하는 프로그램 카운터 생성기를 포함하여 이루어진 것을 특징으로 한다.
또한, 본 발명에 의한 마이크로 컨트롤러의 프로그램 카운터 제어방법은 마이크로 컨트롤러의 프로그램 카운터에 있어서, 마이크로 컨트롤러에서 재기동하면서 외부에서 인가되는 프로그램 카운터 값을 입력받는 단계와, 외부에서 인가되는 프로그램 카운터 값이 가리키는 주소의 명령을 수행하는 단계와, 외부 프로그램 카운터 값이 가리키는 주소의 명령을 수행한 후 파워절약 모드로 이동하는 단계로 이루어진 것을 특징으로 한다.
이때, 본 발명에 의한 파워절약 모드는 파워세이브 모드나 슬립모드인 것을 특징으로 한다.
이와 같이 이루어진 본 발명은 마이크로 컨트롤러에서 다음 실행 명령이 저장되어 있는 어드레스를 나타내는 프로그램 카운터 값을 내부에서 생성시키는 값 외에 외부 프로그램 카운터를 통해서 입력되는 프로그램 카운터 값도 사용할 수 있도록 함으로써 마이크로 컨트롤러가 파워세이브 모드나 슬립모드에서 빠져나오는 즉시 별도의 레지스터 초기화 과정을 거칠 필요 없이 프로그램을 수행할 수 있도록 함으로써 마이크로 컨트롤러의 누설전력을 최소화하면서도 시스템의 즉각적인 재기 동을 가능하게 하여 전체적인 소모전력과 재기동 시간을 줄일 수 있게 된다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명하며 종래 구성과 동일한 부분은 동일한 부호 및 명칭을 사용한다. 또한 본 실시예는 본 발명의 권리범위를 한정하는 것은 아니고, 단지 예시로 제시된 것이며 당 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상 내에서 많은 변형이 가능할 것이다.
도 1은 본 발명에 의한 마이크로 컨트롤러의 프로그램 카운터를 나타낸 블록구성도이다.
여기에 도시된 바와 같이 본 발명에 의한 프로그램 카운터는 마이크로 컨트롤러(10)가 재기동하면서 수행할 명령어 어드레스를 저장하여 공급하는 외부 프로그램 카운터(40)와, 외부 프로그램 카운터(40)로부터 입력되는 프로그램 카운터 값을 입력받아 출력하거나 내부에서 생성되어 마이크로 컨트롤러(10)에서 수행할 명령어 어드레스를 출력하는 프로그램 카운터 생성기(30)로 이루어져 두 종류의 프로그램 카운터 값, 즉 내부에서 생성되는 프로그램 카운터 값과 외부 프로그램 카운터(40)로부터 인가되는 프로그램 카운터 값을 선택적으로 받아 들여 프로그램 메모리(50)에 저장된 명령어 어드레스를 지정하게 되며, 제어부(20)에서는 프로그램 카운터(30)가 가리키는 곳에 있는 프로그램 메모리(50)에서 명령 가져와서 하나씩 수행하며, 명령을 가져올 때마다 프로그램 카운터 생성기(30)의 내용을 하나씩 더하여 다음 수행될 프로그램 명령어를 가리키도록 한다.
도 2는 본 발명에 의한 마이크로 컨트롤러의 프로그램 카운터의 제어방법에 의해 동작되는 프로그램 메모리를 나타낸 블록구성도이다.
여기에 도시된 바와 같이 마이크로 컨트롤러(10)는 초기에 시스템 리셋(system reset)이 되면 마이크로 컨트롤러(10)는 내부에서 제일 처음에 생성되는 프로그램 카운터 값인 0x0000 번지에 있는 프로그램인 '시스템 초기화 프로그램(System Initialization Program)'을 수행하고 슬립모드(혹은, 파워세이브 모드)로 진입하여 전력소모를 중단한다.
이후 외부장치(60)에서 마이크로 컨트롤러(10)를 깨우면서, 즉 전력을 공급하면서 외부 프로그램 카운터(40) PC1에 저장되어 있는 값인 0x0200 번지를 공급하면 마이크로 컨트롤러(10)는 깨어나자마자 내부 레지스터 값을 초기화할 필요 없이 'program_1'을 수행하고 다시 슬립모드로 빠지게 된다.
만일 외부장치(60)에서 마이크로 컨트롤러(10)를 깨우면서 외부 프로그램 카운터(40) PC2에 저장되어 있는 값인 0x1c00을 공급하게 되면 마이크로 컨트롤러(10)는 'program_2'를 실행하고는 다시 슬립모드로 빠지게 된다.
상기한 바와 같이 본 발명은 마이크로 컨트롤러의 프로그램 카운터에서 외부로부터 입력되는 프로그램 카운터 값을 입력받아 파워세이브나 슬립모드에서 깨어날 때 외부에서 입력된 프로그램 카운터 값에 따른 어드레스에 의해 프로그램이 실행되도록 함으로써 별도의 마이크로 컨트롤러의 내부 초기화 과정을 거치지 않고도 원하는 프로그램을 곧바로 실행할 수 있도록 하여 누설전력을 최소화하면서도 시스템의 즉각적인 재기동을 가능하게 하여 전체적인 소모전력과 재기동 시간을 줄일 수 있는 이점이 있다.
또한, 핸드폰이나 PDA와 같이 마이크로 컨트롤러의 동작이 간헐적으로 요구되는 모바일 장치에서는 재기동 시간을 단축하고 재기동에 필요한 동작들을 제거함으로써 성능의 손해를 보지 않고도 더욱 저전력 동작을 가능하게 할 수 있는 이점이 있다.

Claims (3)

  1. 마이크로 컨트롤러의 프로그램 카운터에 있어서,
    상기 마이크로 컨트롤러가 재기동하면서 수행할 명령어 어드레스를 저장하여 공급하는 외부 프로그램 카운터와,
    상기 외부 프로그램 카운터로부터 입력되는 프로그램 카운터 값을 입력받아 출력하거나 내부에서 생성되어 상기 마이크로 컨트롤러에서 수행할 명령어 어드레스를 출력하는 프로그램 카운터 생성기
    를 포함하여 이루어진 것을 특징으로 하는 마이크로 컨트롤러의 프로그램 카운터.
  2. 마이크로 컨트롤러의 프로그램 카운터에 있어서,
    상기 마이크로 컨트롤러에서 재기동하면서 외부에서 인가되는 프로그램 카운터 값을 입력받는 단계와,
    상기 외부에서 인가되는 프로그램 카운터 값이 가리키는 주소의 명령을 수행하는 단계와,
    상기 외부 프로그램 카운터 값이 가리키는 주소의 명령을 수행한 후 파워절약 모드로 이동하는 단계
    로 이루어진 것을 특징으로 하는 마이크로 컨트롤러의 프로그램 카운터 제어방법.
  3. 제 2항에 있어서, 상기 파워절약 모드는 파워세이브 모드나 슬립모드인 것을 특징으로 하는 마이크로 컨트롤러의 프로그램 카운터 제어방법.
KR1020060033565A 2006-04-13 2006-04-13 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법 KR20070101998A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060033565A KR20070101998A (ko) 2006-04-13 2006-04-13 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법
US11/783,415 US20070245126A1 (en) 2006-04-13 2007-04-09 Program counter of microcontroller and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060033565A KR20070101998A (ko) 2006-04-13 2006-04-13 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR20070101998A true KR20070101998A (ko) 2007-10-18

Family

ID=38606216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060033565A KR20070101998A (ko) 2006-04-13 2006-04-13 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법

Country Status (2)

Country Link
US (1) US20070245126A1 (ko)
KR (1) KR20070101998A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101429349B1 (ko) * 2012-09-18 2014-08-12 연세대학교 산학협력단 중간 시점 영상 합성 장치 및 방법과 이에 관한 기록매체

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146352A (ja) * 1983-02-09 1984-08-22 Nec Corp シングル・チップ・マイクロコンピュータ
US5226129A (en) * 1986-10-30 1993-07-06 Nec Corporation Program counter and indirect address calculation system which concurrently performs updating of a program counter and generation of an effective address
JPH04143819A (ja) * 1989-12-15 1992-05-18 Hitachi Ltd 消費電力制御方法、半導体集積回路装置およびマイクロプロセツサ
US5515540A (en) * 1990-08-27 1996-05-07 Dallas Semiconducter Corp. Microprocessor with single pin for memory wipe
JP2682264B2 (ja) * 1991-05-21 1997-11-26 日本電気株式会社 プログラムカウンタ装置
US5559975A (en) * 1994-06-01 1996-09-24 Advanced Micro Devices, Inc. Program counter update mechanism
US6088787A (en) * 1998-03-30 2000-07-11 Celestica International Inc. Enhanced program counter stack for multi-tasking central processing unit
JP4151975B2 (ja) * 2004-11-08 2008-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、プログラム、及び管理方法
US20060200648A1 (en) * 2005-03-02 2006-09-07 Andreas Falkenberg High-level language processor apparatus and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101429349B1 (ko) * 2012-09-18 2014-08-12 연세대학교 산학협력단 중간 시점 영상 합성 장치 및 방법과 이에 관한 기록매체

Also Published As

Publication number Publication date
US20070245126A1 (en) 2007-10-18

Similar Documents

Publication Publication Date Title
US7007180B2 (en) System and method for switching a computer system to a first or second power saving mode based on whether or not there exists a timer-expiration-waiting event in an event queue
US9894605B2 (en) Low-power wearable devices and methods for switching and communication among multiple operating systems and application management methods thereof
KR100505638B1 (ko) 워킹 콘텍스트 저장 및 복구 장치 및 방법
US20180120927A1 (en) Devices and methods for switching and communication among multiple operating systems and application management methods thereof
US6219796B1 (en) Power reduction for processors by software control of functional units
US20040002823A1 (en) Method and apparatus for compiler assisted power management
US6535982B1 (en) Semiconductor integrated circuit employing power management device and power management method for the semiconductor integrated circuit
JP2002182807A (ja) プロセッサの電力制御装置
CN102779072A (zh) 一种嵌入式***及其应用进程的休眠与唤醒方法
US7906996B1 (en) System and method for controlling an integrated circuit in different operational modes
US10571993B2 (en) Micro controller unit
US20060156062A1 (en) Method for effecting the controlled shutdown of data processing units
CN101727160B (zh) 协处理器***工作模式的切换方法和装置及处理器***
CN102541246B (zh) 一种基于龙芯处理器平台的待机方法
KR20070101998A (ko) 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법
JP5549670B2 (ja) 集積回路装置及び電子機器
JP4800582B2 (ja) 演算処理装置
JP4370109B2 (ja) プロセッサの電力制御方法
CN107566491B (zh) 一种嵌入式Forth无线终端控制台方法及接口
JP4659627B2 (ja) 電子機器
CN110121688A (zh) 判断加载程序的方法以及电子***
US10338665B2 (en) Microcontroller power reduction system and method
JP3082103B2 (ja) プロセッサ
JP2016110400A (ja) 演算処理装置および演算処理装置の制御方法
US6473864B1 (en) Method and system for providing power management to a processing system

Legal Events

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