KR20000044549A - 마이크로 컨트롤러의 메모리 어드레싱 방법 및 그 장치 - Google Patents
마이크로 컨트롤러의 메모리 어드레싱 방법 및 그 장치 Download PDFInfo
- Publication number
- KR20000044549A KR20000044549A KR1019980061048A KR19980061048A KR20000044549A KR 20000044549 A KR20000044549 A KR 20000044549A KR 1019980061048 A KR1019980061048 A KR 1019980061048A KR 19980061048 A KR19980061048 A KR 19980061048A KR 20000044549 A KR20000044549 A KR 20000044549A
- Authority
- KR
- South Korea
- Prior art keywords
- page
- memory
- flip
- storage means
- memory area
- Prior art date
Links
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/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
본 발명은 페이지 변경 사이클을 줄여 특정 내부 메모리 영역을 효율적으로 확장할 수 있는 마이크로 컨트롤러의 메모리 어드레싱 방법 및 그 장치를 제공하기 위한 것으로, 이를 위해 본 발명은 동일한 상위 메모리 어드레스 범위를 가지는 제1 및 제2 메모리 영역과, 그 하위 메모리 어드레스 범위의 제3 메모리 영역을 가지는 마이크로 컨트롤러에서 제3 메모리 영역을 페이지 단위로 확장하기 위한 마이크로 컨트롤러의 메모리 어드레싱 방법에 있어서, 제1 제어 신호에 응답하여 내부 데이터 버스로부터의 데이터를 메모리 확장 시 임의의 기준 페이지로의 복귀가 자동으로 이루어지는 저장 수단에 저장하는 제1 단계; 상기 저장 수단을 조회하여 상기 저장 수단에 저장된 어드레스에 매핑되는 상기 제3 메모리 영역의 페이지에 대한 읽기 또는 쓰기 동작을 수행하는 제2 단계; 및 상기 제2 단계 후, 제2 제어 신호에 응답하여 상기 저장 수단이 상기 기준 페이지로 복귀하는 제3 단계를 포함한다.
Description
본 발명은 마이크로 컨트롤러의 메모리 어드레싱 방법에 관한 것으로, 특히 내부 메모리 영역의 효율적 확장을 위한 마이크로 컨트롤러의 메모리 어드레싱 방법에 관한 것이다.
시스템 전체의 제어를 위해서 8/16 비트의 마이크로 컨트롤러(Micro-Controller Unit: MCU)가 많이 이용되고 있다. 이러한 8/16 비트 마이크로 컨트롤러는 초기 설계시에 어드레스 영역이 8/16 비트로 정해져서 가용 메모리 영역이 64/256Kbytes 정도이다. 따라서, 메모리 용량이 많이 필요한 응용 분야를 위해서는 효율적인 메모리 확장 방안이 요구된다.
도 1은 종래의 인텔(intel)의 80C52의 내부 메모리 맵을 나타낸 것이다.
도 1에 있어서, 내부 메모리 영역은 공통의 상위 메모리 영역을 차지하는 A영역과 B영역, 그리고 하위 메모리 영역인 C 영역으로 구분된다.
A 메모리 영역은 특별 기능 레지스터(Special Function Register: SFR) 영역으로서, 80h~ffh의 어드레스 주소를 가지며, 명령어의 오퍼랜드(operand)를 어드레스로 직접 사용하는 직접 어드레싱 모드만으로 억세스 가능하며, 128byte의 크기를 가진다. 또한, B 메모리 영역은 사용자 영역으로서, A 영역과 동일 어드레스 주소와 크기를 가지며, 명령어의 오퍼랜드가 데이터를 억세스하기 위한 어드레스의 어드레스가 되는 간접 어드레싱 모드에서만 억세스가 가능하다. 또한, C 메모리 영역은 일반적인 사용자 메모리 영역으로서, 00h~7fh의 어드레스 주소를 가지며, 직접 어드레싱 모드와 간접 어드레싱 모드로 억세스 가능하며, 128 bytes의 크기를 가진다. 이때, 최하위 메모리 영역인 00h~1fh의 메모리 영역은 32 bytes의 레지스터 영역(10)으로도 할당될 수 있으며, 20h~2fh의 메모리 영역(20)은 비트 단위로 억세스가 가능하다. 이때, 어드레싱 모드로서의 직접 및 간접 어드레싱 모드는 명령어에 의해서 결정된다. 즉, 직접 어드레싱 모드는 데이터를 억세스하기 위한 어드레스로 그 명령어의 오퍼랜드(operand)를 직접 이용하는 방식을 말한다. 한편, 간접 어드레싱 모드는 명령어의 오퍼랜드가 데이터를 억세스하기 위한 어드레스의 어드레스가 되는 방식을 말한다. 이때, C 메모리 영역은 직접 및 간접 어드레싱 모드 둘 다 이용 가능하다. 따라서, 일반 메모리로서 또는 레지스터로서 억세스가 가능하며, 이는 명령어에 의해서 구분되어진다. 만약, 도 1에 도시된 메모리 영역만으로 충분히 가능한 분야에서는 상관이 없지만 더 많은 메모리 영역이 필요하게 되면 도 2에 도시된 것과 같이, C 메모리 영역을 확장하는 형태로 이용되어진다.
도 2는 C 메모리 영역을 다수의 페이지로 확장하는 형태를 보여준다.
도 2에 있어서, C 메모리 영역은 다수의 페이지로 확장되며, 페이지 단위로 억세스 된다. 확장된 메모리 영역에 대하여 억세스하기 위해서 페이지 어드레스를 저장하기 위한 페이지 레지스터(30)가 이용된다. 즉, 이 페이지 레지스터(30)에 저장된 페이지 어드레스는 C 메모리 영역의 각 페이지와 일대일 대응된다. 즉, 페이지 어드레스가 '0'이면 C 메모리 영역의 페이지 0이, '1'이면 페이지 1 등과 같이 매핑 된다. 이러한 방법을 사용하면 내부 메모리 영역을 효율적으로 확장할 수 있다.
그러나 이와 같은 방법으로 메모리를 확장할 때, 페이지 레지스터(30)에 저장된 기준 페이지에서 다른 페이지로 변경할 경우 다시 기준 페이지로 복귀하여야 하는 데, 이때 기준 페이지로의 복귀를 위한 추가의 페이지 변경 사이클이 필요하여 메모리 확장 시 필요 사이클 수가 늘어나게 되는 문제점이 있다.
본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로써, 페이지 변경 사이클을 줄여 특정 내부 메모리 영역을 효율적으로 확장할 수 있는 마이크로 컨트롤러의 메모리 어드레싱 방법 및 그 장치를 제공하는데 그 목적이 있다.
도 1 및 도 2는 종래의 마이크로 컨트롤러의 메모리 어드레싱 방법을 설명하기 위한 도면.
도 3은 본 발명의 일실시예에 따른 마이크로 컨트롤러의 메모리 어드레싱 방법을 설명하기 위한 도면.
도 4는 본 발명의 다른 일실시예에 따른 마이크로 컨트롤러의 메모리 어드레싱 방법을 설명하기 위한 도면.
* 도면의 주요 부분에 대한 설명
40 : 플립 레지스터
50 : 기준 페이지 레지스터
상기 목적을 달성하기 위한 본 발명은 동일한 상위 메모리 어드레스 범위를 가지는 제1 및 제2 메모리 영역과, 그 하위 메모리 어드레스 범위의 제3 메모리 영역을 가지는 마이크로 컨트롤러에서 제3 메모리 영역을 페이지 단위로 확장하기 위한 마이크로 컨트롤러의 메모리 어드레싱 방법에 있어서, 제1 제어 신호에 응답하여 내부 데이터 버스로부터의 데이터를 메모리 확장 시 임의의 기준 페이지로의 복귀가 자동으로 이루어지는 저장 수단에 저장하는 제1 단계; 상기 저장 수단을 조회하여 상기 저장 수단에 저장된 어드레스에 매핑되는 상기 제3 메모리 영역의 페이지에 대한 읽기 또는 쓰기 동작을 수행하는 제2 단계; 및 상기 제2 단계 후, 제2 제어 신호에 응답하여 상기 저장 수단이 상기 기준 페이지로 복귀하는 제3 단계를 포함하여 이루어진다.
또한, 본 발명은 동일한 상위 메모리 어드레스 범위를 가지는 제1 및 제2 메모리 영역과, 그 하위 메모리 어드레스 범위의 제3 메모리 영역을 가지는 마이크로 컨트롤러에서 제3 메모리 영역을 페이지 단위로 확장하기 위한 마이크로 컨트롤러의 메모리 어드레싱 장치에 있어서, 메모리 확장 시 임의의 기준 페이지로의 복귀가 자동으로 이루어지는 저장 수단을 포함하며, 상기 저장 수단은, 제1 제어 신호에 응답하여 내부 데이터 버스로부터의 데이터를 입력받아 상기 데이터에 매핑되는 상기 제3 메모리 영역의 페이지에 대한 읽기 또는 쓰기 동작이 완료된 후 제2 제어 신호에 응답하여 상기 기준 페이지로 복귀하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하고자 한다.
도 3은 본 발명의 실시예에 따른 마이크로 컨트롤러의 메모리 어드레싱 방법을 설명하기 위한 도면이다.
도 3에 있어서, 마이크로 컨트롤러의 메모리 확장 시 기준 페이지(일반적으로, 페이지 0)로의 복귀가 자동으로 이루어지는 플립 레지스터(flip register, 40)를 사용한다. 이 플립 레지스터(40)는 제어 신호(IDB2PgReg)에 응답하여 내부 데이터 버스(internal data bus, IDB)의 데이터를 입력받아 저장한다. 이어서, 플립 레지스터(40)를 조회하여 그 레지스터(40)에 저장된 어드레스에 해당되는 페이지에 대한 읽기 또는 쓰기 동작을 수행한다. 즉, 플립 레지스터(40)의 어드레스가 '0'이면 메모리 영역의 페이지 0으로, '1'이면 페이지 1로 각각 매핑된다.
계속해서 데이터 억세스 동작이 완료되면, 제어 신호(FlipPgReg)에 동기되어 플립 레지스터(40)가 기준 페이지인 페이지 0으로 복귀하게 된다. 결국, 메모리 확장 시 어드레스 변경을 위한 추가의 사이클이 필요없게 되어 메모리 확장 시의 성능 손실을 최소화할 수 있다.
여기서, 플립 레지스터(40)는 추가의 플립 플래그(flag)를 통해 선택적인 동작이 가능한데, 플래그가 "1"로 인에이블되었을 때 플립 레지스터(40)가 플립 모드로 동작하고, 반대로 "0"으로 디스에이블되었을 때 플립 모드를 지원하지 않는다.
도 4는 본 발명의 다른 실시예에 따른 마이크로 컨트롤러의 메모리 어드레싱 방법을 설명하기 위한 도면이다.
도면에 도시된 바와 같이, 플립 레지스터(40)의 자동 플립 시 기준 페이지를 설정하기 위한 추가의 기준 페이지 레지스터(50)를 별도로 구성하여 데이터 억세스가 완료되었을 때 제어 신호(FlipPgReg)에 응답하여 기준 페이지 레지스터(50)에 저장되어 있는 기준 페이지 값으로 플립 레지스터(40)를 자동적으로 변경한다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 이루어지는 본 발명은, 특정 내부 메모리 영역을 효율적으로 확장하는 동시에 플립 레지스터를 통해 기본 페이지로의 자동 변경을 수행하도록 하여 기준 페이지로 복귀하기 위한 추가의 반복적인 페이지 변경 사이클을 제거함으로써 메모리 확장 시 필요한 사이클 수를 줄이고, 아울러 페이지 변경 사이클로 인한 성능 저하를 막을 수 있는 효과가 있다.
Claims (6)
- 동일한 상위 메모리 어드레스 범위를 가지는 제1 및 제2 메모리 영역과, 그 하위 메모리 어드레스 범위의 제3 메모리 영역을 가지는 마이크로 컨트롤러에서 제3 메모리 영역을 페이지 단위로 확장하기 위한 마이크로 컨트롤러의 메모리 어드레싱 방법에 있어서,제1 제어 신호에 응답하여 내부 데이터 버스로부터의 데이터를 메모리 확장 시 임의의 기준 페이지로의 복귀가 자동으로 이루어지는 저장 수단에 저장하는 제1 단계;상기 저장 수단을 조회하여 상기 저장 수단에 저장된 어드레스에 매핑되는 상기 제3 메모리 영역의 페이지에 대한 읽기 또는 쓰기 동작을 수행하는 제2 단계; 및상기 제2 단계 후, 제2 제어 신호에 응답하여 상기 저장 수단이 상기 기준 페이지로 복귀하는 제3 단계를 포함하여 이루어지는 마이크로 컨트롤러의 메모리 어드레싱 방법.
- 제 1 항에 있어서, 상기 저장 수단은,플래그 신호에 응답하여 상기 플래그 신호가 인에이블되었을 때 플립 모드로 동작하고, 상기 플래그 신호가 디스에이블되었을 때 상기 플립 모드를 지원하지 않는 것을 특징으로 하는 마이크로 컨트롤러의 메모리 어드레싱 방법.
- 제 1 항에 있어서, 상기 저장 수단은상기 기본 페이지를 별도로 저장하는 기본 페이지 저장 수단으로부터 자동 복귀될 상기 기본 페이지를 상기 제2 제어 신호에 응답하여 입력받는 것을 특징으로 하는 마이크로 컨트롤러의 메모리 어드레싱 방법.
- 동일한 상위 메모리 어드레스 범위를 가지는 제1 및 제2 메모리 영역과, 그 하위 메모리 어드레스 범위의 제3 메모리 영역을 가지는 마이크로 컨트롤러에서 제3 메모리 영역을 페이지 단위로 확장하기 위한 마이크로 컨트롤러의 메모리 어드레싱 장치에 있어서,메모리 확장 시 임의의 기준 페이지로의 복귀가 자동으로 이루어지는 저장 수단을 포함하며,상기 저장 수단은,제1 제어 신호에 응답하여 내부 데이터 버스로부터의 데이터를 입력받아 상기 데이터에 매핑되는 상기 제3 메모리 영역의 페이지에 대한 읽기 또는 쓰기 동작이 완료된 후 제2 제어 신호에 응답하여 상기 기준 페이지로 복귀하는 것을 특징으로 하는 마이크로 컨트롤러의 메모리 어드레싱 장치.
- 제 4 항에 있어서, 상기 저장 수단은,추가의 플래그 신호에 응답하여 선택적으로 플립 모드 동작을 수행하는 것을 특징으로 하는 마이크로 컨트롤러의 메모리 어드레싱 장치.
- 제 4 항에 있어서,상기 기본 페이지를 별도로 저장하기 위한 기본 페이지 저장 수단을 더 포함하여,상기 제3 메모리 영역의 페이지에 대한 읽기 또는 쓰기 동작이 완료된 후 상기 저장 수단이 제2 제어 신호에 응답하여 상기 기본 페이지 저장 수단으로부터 상기 기준 페이지를 입력받아 그 기준 페이지로 복귀하는 것을 특징으로 하는 마이크로 컨트롤러의 메모리 어드레싱 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980061048A KR100329768B1 (ko) | 1998-12-30 | 1998-12-30 | 마이크로컨트롤러의메모리어드레싱장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980061048A KR100329768B1 (ko) | 1998-12-30 | 1998-12-30 | 마이크로컨트롤러의메모리어드레싱장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000044549A true KR20000044549A (ko) | 2000-07-15 |
KR100329768B1 KR100329768B1 (ko) | 2002-05-09 |
Family
ID=19567804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980061048A KR100329768B1 (ko) | 1998-12-30 | 1998-12-30 | 마이크로컨트롤러의메모리어드레싱장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100329768B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100470822B1 (ko) * | 2001-12-24 | 2005-03-08 | 매그나칩 반도체 유한회사 | 마이크로 컨트롤러의 메모리 어드레싱 방법 및 페이지매핑장치 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4608632A (en) * | 1983-08-12 | 1986-08-26 | International Business Machines Corporation | Memory paging system in a microcomputer |
KR890017613A (ko) * | 1988-05-31 | 1989-12-16 | 강진구 | 메모리 확장 회로 및 방식 |
US5113511A (en) * | 1989-06-02 | 1992-05-12 | Atari Corporation | System for dynamically providing predicted high/slow speed accessing memory to a processing unit based on instructions |
JPH0567000A (ja) * | 1991-09-09 | 1993-03-19 | Nec Ic Microcomput Syst Ltd | マイクロプロセツサ |
US6055211A (en) * | 1997-07-03 | 2000-04-25 | Microchip Technology Incorporated | Force page zero paging scheme for microcontrollers using data random access memory |
-
1998
- 1998-12-30 KR KR1019980061048A patent/KR100329768B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100470822B1 (ko) * | 2001-12-24 | 2005-03-08 | 매그나칩 반도체 유한회사 | 마이크로 컨트롤러의 메모리 어드레싱 방법 및 페이지매핑장치 |
US6934819B2 (en) | 2001-12-24 | 2005-08-23 | Hynix Semiconductor Inc. | Method for memory addressing in micro controller and device using the same |
Also Published As
Publication number | Publication date |
---|---|
KR100329768B1 (ko) | 2002-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4835734A (en) | Address translation apparatus | |
US5509138A (en) | Method for determining speeds of memory modules | |
KR960011742A (ko) | 데이터처리장치 | |
US4979148A (en) | Increasing options in mapping ROM in computer memory space | |
JP2021506014A (ja) | 単一メモリデバイスによりファームウェアを更新するためのメモリデバイス、システム、及び方法 | |
US5008816A (en) | Data processing system with multi-access memory | |
JPH05165706A (ja) | メモリ・ページング装置および不揮発性記憶装置をページングする方法 | |
US5042003A (en) | Memory usage system | |
US5734858A (en) | Method and apparatus for simulating banked memory as a linear address space | |
JP2003015928A (ja) | フラッシュメモリのデータ格納装置及びそれに用いるデータ格納方法 | |
US11537389B2 (en) | Memory devices, systems, and methods for updating firmware with single memory device | |
JPH11149372A (ja) | データramを用いたマイクロコントローラ用の強制ページゼロページング方式 | |
KR100329768B1 (ko) | 마이크로컨트롤러의메모리어드레싱장치 | |
US6067601A (en) | Cache memory based instruction execution | |
US5751998A (en) | Memory accessing system with portions of memory being selectively write protectable and relocatable based on predefined register bits and memory selection RAM outputs | |
US6934819B2 (en) | Method for memory addressing in micro controller and device using the same | |
US6327640B1 (en) | Overlapping peripheral chip select space with DRAM on a microcontroller with an integrated DRAM controller | |
KR20000042435A (ko) | 마이크로 콘트롤러의 메모리 어드레싱 방법 | |
JPH10247150A (ja) | データ処理システム | |
JP2627370B2 (ja) | 開発支援システム | |
JP2954988B2 (ja) | 情報処理装置 | |
JPH06175917A (ja) | フラッシュメモリ | |
JPS5850B2 (ja) | 主記憶拡張装置のアクセス方式 | |
JP3315145B2 (ja) | マイクロプロセッサシステムにおけるメモリアドレス割付け方式 | |
KR930009061B1 (ko) | 메모리 억세스 장치 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20121129 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20131127 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20150119 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |