KR100895686B1 - 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법 - Google Patents
마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법 Download PDFInfo
- Publication number
- KR100895686B1 KR100895686B1 KR1020020016311A KR20020016311A KR100895686B1 KR 100895686 B1 KR100895686 B1 KR 100895686B1 KR 1020020016311 A KR1020020016311 A KR 1020020016311A KR 20020016311 A KR20020016311 A KR 20020016311A KR 100895686 B1 KR100895686 B1 KR 100895686B1
- Authority
- KR
- South Korea
- Prior art keywords
- microcontroller
- interrupt
- data
- internal ram
- timing
- 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
Abstract
본 발명은 마이크로 컨트롤러에 관한 것으로, 특히 단 한번의 명령어 처리에 의해 외부 롬의 데이터를 내부 램으로 전달할 수 있도록 함으로써, 외부 롬 데이터를 내부 램에 로드하는 타이밍을 감소시키기에 적합한 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법을 제공하기 위한 것으로, 이를 위해 본 발명은, 마이크로 컨트롤러의 외부에서 인가되는 프로그램 코드를 내부 램으로 전달시 데이터 로드 타이밍을 감소시키는 방법에 있어서, 상기 램에 데이터를 쓰는 명령을 검출하는 단계; 상기 램에 데이터를 쓰는 명령어 검출시 인터럽트를 발생시키는 단계; 상기 인터럽트가 발생함에 따라 상기 마이크로 컨트롤러는 수행하던 동작을 멈추고 상기 인터럽트를 처리하는 단계; 상기 마이크로 컨트롤러의 인터럽트 처리 단계시 외부에서 전달된 데이터를 상기 마이크로 컨트롤러의 상기 내부 롬에 기록하는 단계; 및 상기 기록이 완료됨에 따라 상기 인터럽트를 해제하는 단계를 포함하는 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법을 제공한다.
마이크로 컨트롤러, SFR, 인터럽트, 인터럽트 백터 테이블.
Description
도 1은 본 발명에 따른 데이터 로드 타이밍을 감소시키는 방법을 설명하기 위한 흐름도.
본 발명은 마이크로 컨트롤러에 관한 것으로, 특히 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법에 관한 것이다.
일반적으로 마이크로 컨트롤러의 내부에는 소정의 램(Random Acess Memory)과 롬(Read Only Memory)이 있으며, 상기 램과 롬 이외에 마이크로 컨트롤러를 제어하기 위한 특별한 용도의 레지스터를 가지고 있다.
8비트 마이크로 컨트롤러로중 많이 사용되는 인텔社의 8051의 경우 SFR(Special Function Register)영역이 이에 해당된다.
이하, 이해의 편의를 위해 상기한 8051 마이크로 컨트롤러를 예로들어 설명 하도록 한다.
SFR 영역은 램 메모리의 일종으로 128바이트 정도의 용량을 가지며, 마이크로 컨트롤러의 상태를 표시하는 플래그 래지스터나 마이크로 컨트롤러의 연산을 돕는 다수의 레지스터로 구성된다.
또한, 상기 SFR 영역은 직접 어드레싱만이 가능하며 이 영역에 존재하는 데이터는 램 메모리 영역으로 직접 기록되는 특징이 있다.
한편, 마이크로 컨트롤러의 내부 롬과 내부 램보다 더 많은 용량의 저장수단이 필요한 경우 마이크로 컨트롤러는 외부에 롬과 램을 장착하여 기억 용량을 확장할 수 있다.
통상적으로, 8051 마이크로 컨트롤러는 외부로 노출된 EA(ENABLE Acess)단자를 논리 "하이"로 하여 외부 롬 또는 램을 억세스 하도록 구성된다.
이때, 외부 롬으로부터 내부 롬으로 데이터를 기록할때 다음과 같이 두단계를 거쳐야 한다.
MOVC A, @A +DPTR MOV SFR, A |
상기 MOVC는 외부 롬에 저장되는 프로그램 코드를 이동시키는 명령어로 "MOVC A, @A+DPTR"은 어큐멀레이터와 데이터 포인터에 저장된 값을 어드레스로 하고, 이 어드레스에 저장된 데이터를 어큐멀레이터에 다시 저장하는 명령을 말하며, "MOV SFR, A"는 상기 MOVC 명령어에 의하여 어큐멀레이터에 저장된 데이터를 SFR 영역에 복사하라는 명령이 된다.
여기서, 상기 어큐멀레이터는 마이크로 컨트롤러의 연산유닛이 연산하는것을 돕는 내부 레지스터이며, DPTR은 메모리상에서 점프(jump)할 어드레스를 저장하는 레지스터로 외부 롬과 데이터를 전송시 외부 롬의 어드레스 포인터로 사용되는 레지스터가 된다.
즉, 종래의 마이크로 컨트롤러는 외부 롬에 어드레스를 보내고 이에 응답하여 외부 롬에서 데이터를 마이크로 컨트롤러로 보내면 이를 어큐멀레이터에 저장된 어드레스와 DPTR에 저장된 어드레스와 더하여 이를 어큐멀레이터에 다시 저장한 후, 이 어큐멀레이터가 저장하는 어드레스의 데이터를 호출하여 SFR 영역으로 전달하는 방법을 사용하였다.
그러므로, 외부 롬에 저장된 프로그램 코드를 내부 롬에 로드하기 위하여 두번의 명령어를 내려야 했으며 이는 외부 롬 데이터를 램에 로드 하는 타이밍이 길어지는 문제점이 발생한다.
아울러, 1 바이트(Byte)이상의 데이터를 로드할 경우에는 그 타이밍이 더욱 길어지게 된다.
본 발명은 상기한 바와 같은 종래의 문제점을 해결하기 위하여 제안된 것으로, 단 한번의 명령어 처리에 의해 외부 롬의 데이터를 내부 램으로 전달할 수 있도록 함으로써, 외부 롬 데이터를 내부 램에 로드하는 타이밍을 감소시키기에 적합한 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법을 제공하는 것을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명은, 마이크로 컨트롤러의 외부에서 인가되는 프로그램 코드를 내부 램으로 전달시 데이터 로드 타이밍을 감소시키는 방법에 있어서, 상기 내부 램에 데이터를 쓰는 명령을 검출하는 단계와, 상기 내부 램에 데이터를 쓰는 명령어 검출시 인터럽트를 발생시키는 단계와, 상기 인터럽트가 발생함에 따라 상기 마이크로 컨트롤러는 수행하던 동작을 멈추고 상기 인터럽트를 처리하는 단계와, 상기 마이크로 컨트롤러의 인터럽트 처리 단계시 외부에서 전달된 데이터를 상기 마이크로 컨트롤러의 상기 내부 램에 기록하는 단계와, 상기 기록이 완료됨에 따라 상기 인터럽트를 해제하는 단계를 포함하는 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법을 제공한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진자가 본 발명의 기술적 사상을 용이하게 실시할수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법을 설명하기 위한 흐름도를 나타낸다.
도 1에 도시된 바와 같이, 마이크로 컨트롤러가 정상적으로 작동하는 도중 외부 롬에서 마이크로 컨트롤러의 내부 램으로 데이터를 전송시 이를 검출하여(100) 마이크로 컨트롤러에 내장된 인터럽트 백터 테이블로 전송한다(200).
이때, 상기 외부 롬이 내부 램으로 데이터를 전달하는 명령을 검출하는 소정의 검출회로가 필요하다.
검출회로는 마이크로 컨트롤러의 명령어 체계에 따라 다양한 방법으로 구성 가능하며, 마이크로 컨트롤러의 종류에 따라 조금씩 다르므로 여기서는 설명을 생략하기로 한다.
한편, 마이크로 컨트롤러는 인터럽트 발생시 인터럽트를 처리하기 위한 테이블을 가지고 있다.
이는 본 발명이 이해의 편의를 위해 인텔社의 8051을 예로 들고 있으나, 이 외에도 모든 마이크로 컨트롤러에 적용되는 것으로, 마이크로 컨트롤러는 마이크로 컨트롤러의 내부 또는 외부에서 인터럽트가 발생시, 마이크로 컨트롤러가 수행하던 동작을 중지하고 발생된 인터럽트를 처리한다음 마이크로 컨트롤러가 수행하던 동작을 진행하도록 구성되며, 이러한 동작을 프로그램의 형태로 저장한 것이 인터럽트 백터 테이블이 된다.
이때, 인터럽트 백터 테이블에 NOP(No Opertion)명령을 수행하도록 인터럽트 백터 테이블을 구성하면, 마이크로 컨트롤러는 명령어를 처리하거나 데이터를 연산하지 않고 대기상태가 된다(300).
마이크로 컨트롤러를 인터럽트에 의하여 대기 상태로 만드는 것은 마이크로 컨트롤러의 SFR 영역(인텔社의 8051의 경우)에 외부 롬 데이터를 로드시에는 마이크로 컨트롤러의 어큐멀레이터가 동작상태가 되므로 마이크로 컨트롤러의 내부 램에 데이터를 직접 기록할 수 없기 때문이다.
따라서, 인터럽트에 의하여 마이크로 컨트롤러가 대기 상태가 될때, 외부 롬에서 내부 램으로 데이터를 직접 기록하는 것이 가능한 타이밍이 발생되는 바, 소정의 회로(예컨대, 컨트롤 로직)를 구성하여 이때의 타이밍에 외부 롬에서 내부 램으로 데이터를 기록하도록 한다(400).
상기 소정의 회로는, 외부 롬에서 내부 롬으로 데이터를 기록하는 것이 검출시, 발생되는 인터럽트에 의하여 턴-온되어 마이크로 컨트롤러의 입출력 포트에서 외부 롬의 데이터를 받아 내부 램으로 전달하고, 기록이 종료시 인터럽트가 해제되도록 구성하면 된다.
이어서, 인터럽트가 해제되면(500) 마이크로 컨트롤러는 통상적인 동작 형태로 작동하게 된다(600).
전술한 본 발명은, 외부 롬에서 마이크로 컨트롤러의 내부 램에 직접 데이터를 기록할 수 있도록 함으로써, 외부 롬 데이터를 마이크로 컨트롤러에 내장된 내부 램에 로드 하는 타이밍을 감소시킬 수 있음을 실시예를 통해 알아 보았다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
본 발명은 상기한 바와 같이, 외부 롬에서 마이크로 컨트롤러의 내부 램에 직접 데이터를 기록할 수 있도록 함으로써, 외부 롬 데이터를 마이크로 컨트롤러에 내장된 내부 램에 로드 하는 타이밍을 감소시킬 수 있는 탁월한 효과를 기대할 수 있다.
Claims (4)
- 마이크로 컨트롤러의 외부에서 인가되는 프로그램 코드를 내부 램으로 전달시 데이터 로드 타이밍을 감소시키는 방법에 있어서,상기 내부 램에 데이터를 쓰는 명령을 검출하는 단계;상기 내부 램에 데이터를 쓰는 명령어 검출시 인터럽트를 발생시키는 단계;상기 인터럽트가 발생함에 따라 상기 마이크로 컨트롤러는 수행하던 동작을 멈추고 상기 인터럽트를 처리하는 단계;상기 마이크로 컨트롤러의 인터럽트 처리 단계시 외부에서 전달된 데이터를 상기 마이크로 컨트롤러의 상기 내부 램에 기록하는 단계; 및상기 기록이 완료됨에 따라 상기 인터럽트를 해제하는 단계를 포함하는 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법.
- 제1항에 있어서,상기 내부 램에 기록하는 단계를, 상기 마이크로 컨트롤러가 상기 인터럽트를 처리하는 타이밍 동안 실시하는 것을 특징으로 하는 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법.
- 제 1 항에 있어서,상기 마이크로 컨트롤러의 인터럽트 처리 단계가 이루어지도록 인터럽트 백터 테이블로 구성하는 것을 특징으로 하는 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법.
- 제 1 항에 있어서,상기 인터럽트를 해제하는 단계 후, 상기 마이크로 컨트롤러는 정상적인 동작을 수행하는 것을 특징으로 하는 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020016311A KR100895686B1 (ko) | 2002-03-26 | 2002-03-26 | 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020016311A KR100895686B1 (ko) | 2002-03-26 | 2002-03-26 | 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030077278A KR20030077278A (ko) | 2003-10-01 |
KR100895686B1 true KR100895686B1 (ko) | 2009-04-30 |
Family
ID=32376606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020016311A KR100895686B1 (ko) | 2002-03-26 | 2002-03-26 | 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100895686B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0224717A (ja) * | 1988-07-14 | 1990-01-26 | Daikin Ind Ltd | コンピュータ |
JPH05250161A (ja) * | 1992-03-06 | 1993-09-28 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ装置 |
US5327565A (en) * | 1991-04-26 | 1994-07-05 | Nec Corporation | Data processing apparatus |
KR950014552A (ko) * | 1993-11-27 | 1995-06-16 | 가와모토 노부히코 | 불꽃점화식 2싸이클엔진의 스로틀밸브 제어장치 |
KR20030053920A (ko) * | 2001-12-24 | 2003-07-02 | (주)씨앤에스 테크놀로지 | 멀티미디어 신호처리를 위한 영상복원 프로세서 |
-
2002
- 2002-03-26 KR KR1020020016311A patent/KR100895686B1/ko not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0224717A (ja) * | 1988-07-14 | 1990-01-26 | Daikin Ind Ltd | コンピュータ |
JPH0731598B2 (ja) * | 1988-07-14 | 1995-04-10 | ダイキン工業株式会社 | コンピュータ |
US5327565A (en) * | 1991-04-26 | 1994-07-05 | Nec Corporation | Data processing apparatus |
JPH05250161A (ja) * | 1992-03-06 | 1993-09-28 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ装置 |
KR950014552A (ko) * | 1993-11-27 | 1995-06-16 | 가와모토 노부히코 | 불꽃점화식 2싸이클엔진의 스로틀밸브 제어장치 |
KR20030053920A (ko) * | 2001-12-24 | 2003-07-02 | (주)씨앤에스 테크놀로지 | 멀티미디어 신호처리를 위한 영상복원 프로세서 |
Also Published As
Publication number | Publication date |
---|---|
KR20030077278A (ko) | 2003-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4062059A (en) | Information processing system | |
KR100634436B1 (ko) | 멀티 칩 시스템 및 그것의 부트코드 페치 방법 | |
US7899992B2 (en) | Cache circuit and control circuits of a cache memory | |
KR100837268B1 (ko) | 메모리 카드에서의 파워다운모드 제어장치 및 방법 | |
KR20070027751A (ko) | 반밀도 및 전밀도 동작을 갖는 dram | |
GB1354377A (en) | Digital processor having automatic conflict-resolving logic | |
KR100895686B1 (ko) | 마이크로 컨트롤러의 데이터 로드 타이밍을 감소시키는 방법 | |
JPH07262162A (ja) | マイクロプロセッサ | |
KR100889419B1 (ko) | 마이크로프로세서를 위한 인터럽트 제어기 및 그러한 인터럽트 제어기를 구비하고 광 정보 매체 상에 정보를 레코딩하거나 또는 상기 매체 상의 정보를 재생하는 디바이스 | |
JP3956305B2 (ja) | 不揮発性半導体記憶装置およびデータ処理装置 | |
JPH05100847A (ja) | 情報処理装置のメモリ保護方式 | |
CN106663027A (zh) | 具有较少不必要寄存器数据存取的模式切换处理方法及相关非临时机器可读介质 | |
JP2005276104A (ja) | マイクロコンピュータ | |
JPH1091593A (ja) | マイクロプロセッサと付加的計算ユニットとを含むデータ処理装置 | |
JP2006127407A (ja) | 半導体集積回路 | |
JPS61127026A (ja) | 光デイスク制御装置 | |
JPH0484224A (ja) | スタックエリア保護回路 | |
JP2006209371A (ja) | 制御装置 | |
JPH0227596A (ja) | 半導体メモリ | |
JPS62151936A (ja) | マイクロプロセツサに内蔵されるキヤツシユ回路 | |
KR920008597A (ko) | 마이크로 컴퓨터 | |
US5151980A (en) | Buffer control circuit for data processor | |
JPS5914061A (ja) | メモリバンク切換回路 | |
JPH0333934A (ja) | レジスタ退避復帰方式 | |
JPH04333950A (ja) | 情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130327 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140305 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |