KR20020082282A - 메모리 내장 마이크로 컨트롤러 - Google Patents

메모리 내장 마이크로 컨트롤러 Download PDF

Info

Publication number
KR20020082282A
KR20020082282A KR1020010021466A KR20010021466A KR20020082282A KR 20020082282 A KR20020082282 A KR 20020082282A KR 1020010021466 A KR1020010021466 A KR 1020010021466A KR 20010021466 A KR20010021466 A KR 20010021466A KR 20020082282 A KR20020082282 A KR 20020082282A
Authority
KR
South Korea
Prior art keywords
memory
address
processor
mode
internal
Prior art date
Application number
KR1020010021466A
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 KR1020010021466A priority Critical patent/KR20020082282A/ko
Publication of KR20020082282A publication Critical patent/KR20020082282A/ko

Links

Classifications

    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)

Abstract

여기에 개시된 마이크로 컨트롤러는 제 1 메모리를 내장하고, 외부의 제 2 메모리와 연결된다. 상기 마이크로 컨트롤러는 제 1 모드에서 상기 제 1 메모리가 프로세서에 의해 액세스되도록 제어하고, 제 2 모드에서는 상기 제 2 메모리가 상기 프로세서에 의해 액세스되도록 제어하기 위한 메모리 선택 신호를 출력하는 메모리 선택 회로를 구비한다. 상기 제 1 메모리의 상위 K비트 어드레스와 상기 제 2 메모리의 상위 K비트 어드레스는 상기 제 1 및 제 2 모드들에서 상보적이고, 상기 메모리 선택 회로는 익스클루시브-오아 게이트들과 앤드 게이트로 구성된다. 따라서, 종래 기술에서 경계값 체크 방식에 의한 메모리 선택 방식에 비해 회로 구성이 간단하고 어드레스 디코딩 시간이 줄어드는 효과를 얻을 수 있다.

Description

메모리 내장 마이크로 컨트롤러{MEMORY EMBEDDED MICROCONTROLLER}
본 발명은 마이크로 컨트롤러에 관한 것으로, 좀 더 구체적으로는 메모리가내장된 마이크로 컨트롤러에 관한 것이다.
일반적으로, 메모리 내장 마이크로컨트롤러에서 사용자가 사용할 수 있는 메모리 어드레스 영역은 고정되어 있거나, 메모리의 특성에 따라서 그 어드레스 영역을 변경하여 사용하는 경우가 있다.
특히, 프로그램 또는 데이터를 저장하기 위한 메모리로서 플래쉬 메모리(flash memory)를 내장한 마이크로 컨트롤러에서, 플래쉬 메모리의 액세스 영역을 필요에 따라서 변경할 필요가 생기게 된다.
마이크로 컨트롤러의 동작 모드에 따라서 메모리 어드레스 맵을 달리 하는 경우, 마이크로 컨트롤러는 프로세서(예를 들면, CPU(central processing unit))의 동작 모드를 판별해서, 프로세서에서 발생된 어드레스가 플래쉬 메모리의 경계들 즉, 상한 경계(upper boundary)와 하한 경계(lower boundary) 내에 속하는 지의 여부를 판단한다.
일반적으로, 어드레스 경계 검사(address boundary check) 방식은 앤드 게이트 및 노아 게이트와 같은 논리 회로(logic circuit)들로 구성된 어드레스 비교기를 사용한다. 따라서, 논리 회로들이 차지하는 하드웨어 면적이 넓고, 어드레스 디코딩 시간이 길어진다는 단점이 있다.
따라서, 본 발명의 목적은 프로세서의 동작 모드에 따라 어드레스 맵을 변경할 수 있는 메모리를 내장하되, 어드레스 디코딩 시간을 줄일 수 있는 마이크로 컨트롤러를 제공하는데 있다.
본 발명의 다른 목적은 하드웨어 면적을 적게 차지하는 어드레스 비교기를 구비한 마이크로 컨트롤러를 제공하는데 있다.
도 1은 본 발명의 바람직한 실시예에 따른 마이크로 컨트롤러와 외부 메모리의 구성을 보여주는 도면;
도 2는 내부 메모리가 부트 메모리로 사용되는 경우와 내부 메모리가 프로그램/데이터 메모리로 사용되는 경우의 내부 메모리와 외부 메모리의 어드레스 영역 할당을 보여주는 도면; 그리고
도 3은 도 1에 도시된 메모리 선택 회로의 구성을 상세히 보여주는 도면이다.
*도면의 주요 부분에 대한 설명*
1 : 마이크로 컨트롤러10: CPU
20 : 메모리 선택 회로21-23 : 익스클루시브-오아 게이트
24 : 앤드 게이트30 : 내부 메모리
40 : 외부 메모리
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 전자 장치는: 제 1 메모리와, 제 2 메모리와, 상기 전자 장치에 대한 전반적인 제어를 수행하는 프로세서, 그리고 제 1 모드에서는 상기 제 1 메모리가 상기 프로세서에 의해 액세스되도록 제어하고, 제 2 모드에서는 상기 제 2 메모리가 상기 프로세서에 의해 액세스되도록 제어하기 위한 메모리 선택 신호를 출력하는 메모리 선택 회로를 포함한다. 상기 제 1 및 제 2 메모리들의 어드레스들은 상기 제 1 및 제 2 모드들에서 각각 상이하다.
바람직한 실시예에 있어서, 상기 제 1 메모리의 상위 K비트 어드레스와 상기 제 2 메모리의 상위 K비트 어드레스는 상기 제 1 및 제 2 모드들에서 상보적이다
바람직한 실시예에 있어서, 상기 프로세서는 상기 제 1 및 제 2 모드들을 나타내는 모드 신호를 출력한다.
이 실시예에 있어서, 상기 메모리 선택 회로는, 상기 프로세서로부터 제공되는 어드레스의 상위 K비트들에 각각 대응하고, 대응하는 어드레스와 상기 모드 선택 신호를 받아들여 배타적 논리합 연산을 수행하는 제 1 논리 회로들, 그리고 상기 제 1 논리 회로들로부터 출력되는 신호들에 대한 논리곱 연산을 수행하는 제 2 논리 회로를 포함한다.
바람직한 실시예에 있어서, 상기 제 1 메모리, 프로세서, 그리고 메모리 선택 회로는 원-칩으로 구성된다.
(작용)
회로 구성이 간단하고 어드레스 디코딩 시간을 줄일 수 있는 메모리 선택 회로를 구비한 마이크로 컨트롤러가 구현된다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면 도 1 내지 도 3을 참조하여 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 마이크로 컨트롤러와 외부 메모리의 구성을 보여주는 도면이다.
도 1을 참조하면, 마이크로 컨트롤러(1)는 CPU(central processing unit)(10)와, 메모리 선택 회로(20), 그리고 내부 메모리(30)로 구성된다. 이 실시예에서, 상기 내부 메모리(30)는 플래쉬 메모리(flash memory)로 구성된다.
상기 내부 메모리(30)와 외부 메모리(40)는 CPU(10)로부터 출력되는 24비트 어드레스(ADDRESS[24:0])에 의해 액세스되는데, 어느 한 시점에서는 메모리 선택 회로(20)에 의해서 내부 메모리(30)와 외부 메모리(40) 가운데 오직 하나만이 액세스된다.
마이크로 컨트롤러(1)는 필요에 따라서 내부 메모리(30)를 부트 메모리(boot memory)로 사용하거나 프로그램/데이터 메모리(program/data memory)로 사용한다. 상기 내부 메모리(30)가 부트 메모리로 사용될 때 외부 메모리(40)는 프로그램/데이터 메모리로 사용되며, 상기 내부 메모리(30)가 프로그램/데이터 메모리로 사용될 때 외부 메모리(40)는 부트 메모리로 사용될 수 있다. 이와 같이 두 개의 메모리들(30, 40)을 선택적으로 사용할 경우 마이크로 컨트롤러 입장에서는 적절한 동작 모드 구분이 필요하며, 또한 각각의 동작 모드에 따라 메모리 어드레스 영역을 다르게 설정해야만 한다. 이를 위하여 본 발명에서는 도 2에 도시된 바와 같이 내부 메모리의 부트 메모리 모드와 내부 메모리의 프로그램/데이터 메모리 모드에 따라 어드레스 영역을 다르게 할당한다.
도 2를 참조하면, 영역 구분을 쉽게 하기 위하여 내부 메모리와 외부 메모리의 어드레스 영역을 동작 모드에 따라서 서로 영역 위치를 바꾸게 되는데, 이 때 하드웨어적으로도 구분을 쉽게 할 수 있도록 메모리 어드레스를 할당하였다.
먼저, 내부 메모리(30)가 부트 메모리로 사용되는 경우, 어드레스 0x00000000부터 0x0003FFFF까지는 내부 메모리의 부트 메모리 영역(140)이고, 어드레스 0x00040000부터 0x01FEFFFF까지는 외부 메모리 영역(130)이고, 어드레스 0x01FF0000부터 0x01FF2000까지은 내부 메모리의 랜덤 액세스 메모리(static random access memory; SRAM) 영역(120)이고, 그리고 어드레스 0x01FF2001부터 0x01FFFFFF까지는 내부 메모리의 특정 입/출력 영역(110)이다.
내부 메모리(30)가 프로그램/데이터 메모리로 사용되는 경우, 어드레스 0x00000000부터 0x01FC0000까지는 외부 메모리 영역(240)이고, 어드레스 0x01FC0001부터 0x01FEFFFF까지는 내부 메모리 영역(230)이고, 어드레스 0x01FF0000부터 0x01FF2000은 내부 메모리의 랜덤 액세스 메모리(static random access memory; SRAM) 영역(220)이고, 그리고 어드레스 0x01FF2001부터 0x01FFFFFF는 내부 메모리의 특정 입/출력 영역(210)이다.
이 실시예에서, 프로세서(예를 들면, CPU(central processing unit))는 25비트 어드레스(A[24:0])를 출력하며, 이는 32MByte에 해당하는 메모리 영역이다. 여기에서, 상위 7비트 어드레스 즉, A[24:18]의 값에 따라서 플래쉬 메모리의 어드레스 영역이 구분되는데, 이는 내부 메모리(30)의 부트 메모리의 크기가 256KByte이기 때문이다.
내부 메모리(30)가 부트 메모리로 사용되는 모드에서, 만일 CPU(10)로부터 출력되는 상위 7비트 어드레스(A[24:18])가 "0000000"이면, 내부 메모리(30)가 프로세서에 의해 액세스되고, CPU(10)로부터 출력되는 상위 7비트 어드레스(A[24:18])가 "0000000"이 아니면, 외부 메모리(40)가 프로세서에 의해 액세스된다. 내부 메모리(30)가 프로그램/데이터 메모리로 사용되는 모드에서, 만일 CPU(10)로부터 출력되는 상위 7비트 어드레스(A[24:18])가 "1111111"이면, 내부 메모리(30)가 프로세서에 의해 액세스되고, CPU(10)로부터 출력되는 상위 7비트 어드레스(A[24:18])가 "1111111"이 아니면, 외부 메모리(40)가 프로세서에 의해 액세스된다.
상술한 바와 같이, CPU(10)로부터 출력되는 상쉬 7비트 어드레스(A[24:18])와 내부 메모리의 동작 모드에 따라서 내부 메모리(30)와 외부 메모리(40) 가운데 하나가 액세스되는 것은 메모리 선택 회로(20)로부터 출력되는 메모리 선택 신호(SEL)에 의해 결정된다.
도 3은 도 1에 도시된 메모리 선택 회로의 구성을 상세히 보여주는 도면이다. 도 3을 참조하면, 메모리 선택 회로(20)는 CPU(10)로부터 출력되는 상위 7비트 어드레스(A[24:18])의 각 비트들에 대응하는 7개의 익스클루시브-오아 게이트들(21-23)과 하나의 앤드 게이트(24)로 구성된다. 상기 익스클루시브 오아 게이트들(21-23) 각각은 상기 CPU(10)로부터 출력되는 상위 7비트 어드레스(A[24:18])의 대응하는 비트와 상기 CPU(10)로부터 출력되는 모드 선택 신호(MODE)를 받아들여 배타적 논리합(exclusive-OR) 연산을 수행한다. 상기 앤드 게이트(24)는 상기 익스클루시브-오아 게이트들(21-23)로부터 출력되는 신호들을 받아들여 논리곱(AND) 연산을 수행한다. 상기 앤드 게이트(24)로부터 출력되는 신호는 메모리 선택 신호(SEL)로서 내부 메모리(30)와 외부 메모리(30)로 제공된다.
상기 CPU(10)로부터 출력되는 모드 신호(MODE)는 상기 내부 메모리(10)의 동작 모드를 나타내는 것으로, 상기 내부 메모리(10)가 부트 메모리로 사용되는 경우 상기 모드 신호(MODE)는 논리 '1'이 되고, 상기 내부 메모리(10)가 프로그램/데이터 메모리로 사용되는 경우 상기 모드 신호(MODE)는 논리 '0'이 된다.
그러므로, 모드 신호(MODE)가 논리 '1'인 동안(즉, 내부 메모리(30)가 부트 메모리로 사용되는 모드에서), 만일 CPU(10)로부터 출력되는 상위 7비트 어드레스(A[24:18])가 "0000000"이면, 메모리 선택 신호(SEL)는 논리 '1'이 되어서 내부 메모리(30)가 프로세서에 의해 액세스된다. 만일 CPU(10)로부터 출력되는 상위 7비트 어드레스(A[24:18])가 "0000000"이 아니면, 메모리 선택 신호(SEL)는 논리 '0'이 되어서 외부 메모리(40)가 프로세서에 의해 액세스된다.
모드 신호(MODE)가 논리 '0'인 동안(즉, 내부 메모리(30)가 프로그램/데이터메모리로 사용되는 모드에서), 만일 CPU(10)로부터 출력되는 상위 7비트 어드레스(A[24:18])가 "1111111"이면, 메모리 선택 신호(SEL)는 논리 '1'이 되어서 내부 메모리(30)가 프로세서에 의해 액세스된다. 만일 CPU(10)로부터 출력되는 상위 7비트 어드레스(A[24:18])가 "1111111"이 아니면, 메모리 선택 신호(SEL)가 논리 '0'이 되어서 외부 메모리(40)가 프로세서에 의해 액세스된다.
상술한 바와 같이, 본 발명의 바람직한 실시예에 따른 메모리 선택 회로(20)는 익스클루시브-오아 게이트들(21-23)과 앤드 게이트(24)로 구성된다. 따라서, 종래 기술에서 경계값 체크 방식에 의한 메모리 선택 방식에 비해 회로 구성이 간단하고 어드레스 디코딩 시간이 줄어드는 효과를 얻을 수 있다.
이 실시예에서는 상기 메모리(40)가 마이크로 컨트롤러(1)의 외부에 구성된 것을 예로서 설명하였으나, 상기 메모리(40)도 마이크로 컨트롤러(1) 내에 내장될 수 있음은 자명하다.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.
이상과 같은 본 발명에 의하면, 회로 구성이 간단하고 어드레스 디코딩 시간을 줄일 수 있는 메모리 선택 회로가 구현된다.

Claims (5)

  1. 전자 장치에 있어서:
    제 1 메모리와;
    제 2 메모리와;
    상기 전자 장치에 대한 전반적인 제어를 수행하는 프로세서; 그리고
    제 1 모드에서는 상기 제 1 메모리가 상기 프로세서에 의해 액세스되도록 제어하고, 제 2 모드에서는 상기 제 2 메모리가 상기 프로세서에 의해 액세스되도록 제어하기 위한 메모리 선택 신호를 출력하는 메모리 선택 회로를 포함하되;
    상기 제 1 및 제 2 메모리들의 어드레스들은 상기 제 1 및 제 2 모드들에서 각각 상이한 것을 특징으로 하는 전자 장치.
  2. 제 1 항에 있어서,
    상기 제 1 메모리의 상위 K비트 어드레스와 상기 제 2 메모리의 상위 K비트 어드레스는 상기 제 1 및 제 2 모드들에서 상보적인 것을 특징으로 하는 전자 장치.
  3. 제 1 항에 있어서,
    상기 프로세서는 상기 제 1 및 제 2 모드들을 나타내는 모드 신호를 출력하는 것을 특징으로 하는 전자 장치.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 메모리 선택 회로는,
    상기 프로세서로부터 제공되는 어드레스의 상위 K비트들에 각각 대응하고, 대응하는 어드레스와 상기 모드 선택 신호를 받아들여 배타적 논리합 연산을 수행하는 제 1 논리 회로들; 그리고
    상기 제 1 논리 회로들로부터 출력되는 신호들에 대한 논리곱 연산을 수행하는 제 2 논리 회로를 포함하는 것을 특징으로 하는 전자 장치.
  5. 제 1 항에 있어서,
    상기 제 1 메모리, 프로세서, 그리고 메모리 선택 회로는 원-칩으로 구성되는 것을 특징으로 하는 전자 장치.
KR1020010021466A 2001-04-20 2001-04-20 메모리 내장 마이크로 컨트롤러 KR20020082282A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010021466A KR20020082282A (ko) 2001-04-20 2001-04-20 메모리 내장 마이크로 컨트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010021466A KR20020082282A (ko) 2001-04-20 2001-04-20 메모리 내장 마이크로 컨트롤러

Publications (1)

Publication Number Publication Date
KR20020082282A true KR20020082282A (ko) 2002-10-31

Family

ID=27701984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010021466A KR20020082282A (ko) 2001-04-20 2001-04-20 메모리 내장 마이크로 컨트롤러

Country Status (1)

Country Link
KR (1) KR20020082282A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100482998B1 (ko) * 2002-08-30 2005-04-15 주식회사 하이닉스반도체 불휘발성 강유전체 메모리 제어 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100482998B1 (ko) * 2002-08-30 2005-04-15 주식회사 하이닉스반도체 불휘발성 강유전체 메모리 제어 장치

Similar Documents

Publication Publication Date Title
US6788592B2 (en) Memory device which can change control by chip select signal
KR101035077B1 (ko) 다이나믹 전압 스케일링에 따라 전력 소비 감소가 가능한반도체 시스템
US7376791B2 (en) Memory access systems and methods for configuring ways as cache or directly addressable memory
US5619670A (en) Address decoder with small circuit scale and address area expansion capability
JP2005228205A (ja) 半導体集積回路
US6101587A (en) Data protection circuit for semiconductor memory device
US6249837B1 (en) Memory with plurality of blocks each accessed selectively with either one of two operational modes to reduce current dissipation using values of register bits set by an instruction signal
KR20020082282A (ko) 메모리 내장 마이크로 컨트롤러
KR100506057B1 (ko) 부분 어레이 셀프 리프레시를 수행하는 반도체 메모리 장치
CN107945826B (zh) 一种sram译码电路和方法
US6862242B2 (en) SRAM control circuit with a power saving function
US7080185B2 (en) Bus control device altering drive capability according to condition
JPH1139212A (ja) マイクロコンピュータ
JPH07191905A (ja) 情報処理装置
KR920003271B1 (ko) 마이컴의 제어에 의한 메모리 라이트 방지회로
JPS5892054A (ja) プログラマブル・チツプ・イネ−ブル回路
JPH09106684A (ja) 半導体メモリ
KR100206898B1 (ko) 멀티세트 디램 제어장치
KR100453737B1 (ko) 디지털데이터 저장장치
JP3251265B2 (ja) メモリ出力制御回路
GB2371662A (en) Semiconductor memory with precharging interrupt signal and predecoding
JPH04290142A (ja) メモリセレクト方法
JPH04177439A (ja) シングルチップ・マイクロコンピュータ
JP2005228142A (ja) メモリ制御回路
JPH11110341A (ja) Lsi回路およびこれを用いたcpu回路装置

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination