KR20070101998A - 마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법 - Google Patents
마이크로 컨트롤러의 프로그램 카운터 및 그 제어방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
도 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)
- 마이크로 컨트롤러의 프로그램 카운터에 있어서,상기 마이크로 컨트롤러가 재기동하면서 수행할 명령어 어드레스를 저장하여 공급하는 외부 프로그램 카운터와,상기 외부 프로그램 카운터로부터 입력되는 프로그램 카운터 값을 입력받아 출력하거나 내부에서 생성되어 상기 마이크로 컨트롤러에서 수행할 명령어 어드레스를 출력하는 프로그램 카운터 생성기를 포함하여 이루어진 것을 특징으로 하는 마이크로 컨트롤러의 프로그램 카운터.
- 마이크로 컨트롤러의 프로그램 카운터에 있어서,상기 마이크로 컨트롤러에서 재기동하면서 외부에서 인가되는 프로그램 카운터 값을 입력받는 단계와,상기 외부에서 인가되는 프로그램 카운터 값이 가리키는 주소의 명령을 수행하는 단계와,상기 외부 프로그램 카운터 값이 가리키는 주소의 명령을 수행한 후 파워절약 모드로 이동하는 단계로 이루어진 것을 특징으로 하는 마이크로 컨트롤러의 프로그램 카운터 제어방법.
- 제 2항에 있어서, 상기 파워절약 모드는 파워세이브 모드나 슬립모드인 것을 특징으로 하는 마이크로 컨트롤러의 프로그램 카운터 제어방법.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101429349B1 (ko) * | 2012-09-18 | 2014-08-12 | 연세대학교 산학협력단 | 중간 시점 영상 합성 장치 및 방법과 이에 관한 기록매체 |
Family Cites Families (9)
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 |
-
2006
- 2006-04-13 KR KR1020060033565A patent/KR20070101998A/ko not_active Application Discontinuation
-
2007
- 2007-04-09 US US11/783,415 patent/US20070245126A1/en not_active Abandoned
Cited By (1)
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 |