KR100329768B1 - 마이크로컨트롤러의메모리어드레싱장치 - Google Patents

마이크로컨트롤러의메모리어드레싱장치 Download PDF

Info

Publication number
KR100329768B1
KR100329768B1 KR1019980061048A KR19980061048A KR100329768B1 KR 100329768 B1 KR100329768 B1 KR 100329768B1 KR 1019980061048 A KR1019980061048 A KR 1019980061048A KR 19980061048 A KR19980061048 A KR 19980061048A KR 100329768 B1 KR100329768 B1 KR 100329768B1
Authority
KR
South Korea
Prior art keywords
memory
page
microcontroller
address
register
Prior art date
Application number
KR1019980061048A
Other languages
English (en)
Other versions
KR20000044549A (ko
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 KR1019980061048A priority Critical patent/KR100329768B1/ko
Publication of KR20000044549A publication Critical patent/KR20000044549A/ko
Application granted granted Critical
Publication of KR100329768B1 publication Critical patent/KR100329768B1/ko

Links

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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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

Abstract

본 발명은 마이크로 컨트롤러 기술에 관한 것으로, 특히 마이크로 컨트롤러의 메모리 어드레싱 장치에 관한 것이며, 페이지 변경 사이클을 줄여 특정 내부 메모리 영역을 효율적으로 확장할 수 있는 마이크로 컨트롤러의 메모리 어드레싱 장치를 제공하는데 그 목적이 있다. 본 발명의 일 측면에 따르면, 동일한 상위 메모리 어드레스 범위를 가지는 제1 및 제2 메모리 영역과, 그 하위 메모리 어드레스 범위를 가지는 제3 메모리 영역을 구비한 마이크로 컨트롤러에서 제3 메모리 영역을 페이지 단위로 확장하기 위한 마이크로 컨트롤러의 메모리 어드레싱 장치에 있어서, 확장된 메모리 영역에의 억세스를 위한 페이지 어드레스를 저장하고, 상기 페이지 어드레스에 대응하는 해당 페이지에 대한 억세스가 완료됨에 따라 예정된 기준 페이지의 페이지 어드레스로 복귀하는 플립 레지스터를 구비하는 것을 특징으로 하는 마이크로 컨트롤러의 메모리 어드레싱 장치가 제공된다.

Description

마이크로 컨트롤러의 메모리 어드레싱 장치{Memory addressing device for micro-controller unit}
본 발명은 마이크로 컨트롤러 기술에 관한 것으로, 특히 마이크로 컨트롤러의 메모리 어드레싱 장치에 관한 것이다.
시스템 전체의 제어를 위해서 8/16 비트의 마이크로 컨트롤러(Micro-Controller Unit, MCU)가 많이 이용되고 있다. 이러한 8/16 비트 마이크로 컨트롤러는 초기 설계시에 어드레스 영역이 8/16 비트로 정해져서 가용 메모리 영역이 64/256 kbytes 정도이다. 따라서, 메모리 용량이 많이 필요한 응용 분야를 위해서는 효율적인 메모리 확장 방안이 요구된다.
도 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는 상기 도 1의 C 메모리 영역을 다수의 페이지로 확장하는 형태를 도시하고 있다.
도 2를 참조하면, C 메모리 영역은 다수의 페이지로 확장되며, 페이지 단위로 억세스 된다. 확장된 메모리 영역에 대하여 억세스하기 위해서 페이지 어드레스를 저장하기 위한 페이지 레지스터(30)가 이용된다. 즉, 이 페이지 레지스터(30)에 저장된 페이지 어드레스는 C 메모리 영역의 각 페이지와 일대일로 대응된다. 즉, 페이지 어드레스가 '0'이면 C 메모리 영역의 페이지 0이, '1'이면 페이지 1 등과 같이 매핑 된다. 이러한 방식을 사용하면 내부 메모리 영역을 효율적으로 확장할 수 있다.
그러나, 이와 같은 방식으로 메모리를 확장할 때, 페이지 레지스터(30)에 저장된 기준 페이지에서 다른 페이지로 변경할 경우 다시 기준 페이지로 복귀하여야 하는데, 이때 기준 페이지로의 복귀를 위한 추가의 페이지 변경 사이클이 필요하기 때문에 메모리 확장시 필요 사이클 수가 늘어나게 되는 문제점이 있다.
본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 페이지 변경 사이클을 줄여 특정 내부 메모리 영역을 효율적으로 확장할 수 있는 마이크로 컨트롤러의 메모리 어드레싱 장치를 제공하는데 그 목적이 있다.
도 1 및 도 2는 종래기술에 따른 마이크로 컨트롤러의 메모리 어드레싱 방식을 설명하기 위한 도면.
도 3은 본 발명의 일 실시예에 따른 마이크로 컨트롤러의 메모리 어드레싱 장치의 구성도.
도 4는 본 발명의 다른 실시예에 따른 마이크로 컨트롤러의 메모리 어드레싱 장치의 구성도.
* 도면의 주요 부분에 대한 부호의 설명
40 : 플립 레지스터
50 : 기준 페이지 레지스터
상기 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 동일한 상위 메모리 어드레스 범위를 가지는 제1 및 제2 메모리 영역과, 그 하위 메모리 어드레스 범위를 가지는 제3 메모리 영역을 구비한 마이크로 컨트롤러에서 제3 메모리 영역을 페이지 단위로 확장하기 위한 마이크로 컨트롤러의 메모리 어드레싱 장치에 있어서, 확장된 메모리 영역에의 억세스를 위한 페이지 어드레스를 저장하고, 상기 페이지 어드레스에 대응하는 해당 페이지에 대한 억세스가 완료됨에 따라 예정된 기준 페이지의 페이지 어드레스로 복귀하는 플립 레지스터를 구비하는 것을 특징으로 하는 마이크로 컨트롤러의 메모리 어드레싱 장치가 제공된다.
이하, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자가 본 발명을 보다 용이하게 실시할 수 있도록 하기 위하여 본 발명의 바람직한 실시예를 소개하기로 한다.
도 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는 본 발명의 다른 실시예에 따른 마이크로 컨트롤러의 메모리 어드레싱 장치를 도시한 도면이다.
도 4를 참조하면, 플립 레지스터(40)의 자동 플립시 기준 페이지를 설정하기 위한 추가의 기준 페이지 레지스터(50)를 별도로 구성하여 데이터 억세스가 완료되었을 때 제어 신호(FlipPgReg)에 응답하여 기준 페이지 레지스터(50)에 저장되어 있는 기준 페이지 값으로 플립 레지스터(40)를 자동적으로 변경한다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 이루어지는 본 발명은, 특정 내부 메모리 영역을 효율적으로 확장하는 동시에 플립 레지스터를 통해 기본 페이지로의 자동 변경을 수행하도록 하여 기준 페이지로 복귀하기 위한 추가의 반복적인 페이지 변경 사이클을 제거함으로써 메모리 확장 시 필요한 사이클 수를 줄이고, 아울러 페이지 변경 사이클로 인한 성능 저하를 막을 수 있는 효과가 있다.

Claims (3)

  1. 동일한 상위 메모리 어드레스 범위를 가지는 제1 및 제2 메모리 영역과, 그 하위 메모리 어드레스 범위를 가지는 제3 메모리 영역을 구비한 마이크로 컨트롤러에서 제3 메모리 영역을 페이지 단위로 확장하기 위한 마이크로 컨트롤러의 메모리 어드레싱 장치에 있어서,
    확장된 메모리 영역에의 억세스를 위한 페이지 어드레스를 저장하고, 상기 페이지 어드레스에 대응하는 해당 페이지에 대한 억세스가 완료됨에 따라 예정된 기준 페이지의 페이지 어드레스로 복귀하는 플립 레지스터를 구비하는 것을 특징으로 하는 마이크로 컨트롤러의 메모리 어드레싱 장치.
  2. 제1항에 있어서,
    상기 플립 레지스터는,
    플래그 신호에 응답하여 선택적으로 플립 모드 동작을 수행하는 것을 특징으로 하는 마이크로 컨트롤러의 메모리 어드레싱 장치.
  3. 제1항에 있어서,
    상기 기준 페이지를 저장하기 위한 기준 페이지 레지스터를 더 구비하는 것을 특징으로 하는 마이크로 컨트롤러의 메모리 어드레싱 장치.
KR1019980061048A 1998-12-30 1998-12-30 마이크로컨트롤러의메모리어드레싱장치 KR100329768B1 (ko)

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 KR20000044549A (ko) 2000-07-15
KR100329768B1 true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100470822B1 (ko) * 2001-12-24 2005-03-08 매그나칩 반도체 유한회사 마이크로 컨트롤러의 메모리 어드레싱 방법 및 페이지매핑장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR850002617A (ko) * 1983-08-12 1985-05-15 제이. 에이취. 그래디 마이크로 컴퓨터의 기억페이징 시스템
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 マイクロプロセツサ
KR19990013576A (ko) * 1997-07-03 1999-02-25 씨 필립 채프만 데이터 랜덤 액세스 메모리를 이용한 마이크로 콘트롤러의 강제페이지 제로 페이징 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR850002617A (ko) * 1983-08-12 1985-05-15 제이. 에이취. 그래디 마이크로 컴퓨터의 기억페이징 시스템
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 マイクロプロセツサ
KR19990013576A (ko) * 1997-07-03 1999-02-25 씨 필립 채프만 데이터 랜덤 액세스 메모리를 이용한 마이크로 콘트롤러의 강제페이지 제로 페이징 방법

Also Published As

Publication number Publication date
KR20000044549A (ko) 2000-07-15

Similar Documents

Publication Publication Date Title
EP0818731B1 (en) Memory board, memory access method and memory access device
US5721874A (en) Configurable cache with variable, dynamically addressable line sizes
US5509138A (en) Method for determining speeds of memory modules
US4475176A (en) Memory control system
US4979148A (en) Increasing options in mapping ROM in computer memory space
JP2010152913A (ja) セクタ書き込み操作時間を効果的に減少させるための不揮発性メモリユニット内のブロックの構成
KR100679758B1 (ko) 메모리 인터페이스 유닛 및 이를 포함한 데이터 프로세서 집적 회로
JPS607301B2 (ja) コンピュ−タ・システム
US5042003A (en) Memory usage system
US4992976A (en) Method of allocating board slot numbers with altering software
US5987581A (en) Configurable address line inverter for remapping memory
JPH10187530A (ja) プログラム可能なメモリ・アクセス
US6735643B2 (en) Electronic card with dynamic memory allocation management
US5928338A (en) Method for providing temporary registers in a local bus device by reusing configuration bits otherwise unused after system reset
US6023750A (en) Microcontroller having dedicated hardware for memory address space expansion via auxilliary address signal generation
KR100329768B1 (ko) 마이크로컨트롤러의메모리어드레싱장치
JPH11149372A (ja) データramを用いたマイクロコントローラ用の強制ページゼロページング方式
JPS5844263B2 (ja) 記憶制御回路
KR20050110006A (ko) 데이터 프로세싱 시스템의 메모리 관리
WO1993022726A1 (en) Single map data destination facility
KR100470822B1 (ko) 마이크로 컨트롤러의 메모리 어드레싱 방법 및 페이지매핑장치
KR20000042435A (ko) 마이크로 콘트롤러의 메모리 어드레싱 방법
US6327640B1 (en) Overlapping peripheral chip select space with DRAM on a microcontroller with an integrated DRAM controller
JPS60205644A (ja) メモリアドレス拡張方式
JP3315145B2 (ja) マイクロプロセッサシステムにおけるメモリアドレス割付け方式

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