KR19980087183A - 마이크로컴퓨터 - Google Patents

마이크로컴퓨터 Download PDF

Info

Publication number
KR19980087183A
KR19980087183A KR1019980017964A KR19980017964A KR19980087183A KR 19980087183 A KR19980087183 A KR 19980087183A KR 1019980017964 A KR1019980017964 A KR 1019980017964A KR 19980017964 A KR19980017964 A KR 19980017964A KR 19980087183 A KR19980087183 A KR 19980087183A
Authority
KR
South Korea
Prior art keywords
data
mode
bus
address
cpu
Prior art date
Application number
KR1019980017964A
Other languages
English (en)
Other versions
KR100310486B1 (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 가네꼬 히사시
Publication of KR19980087183A publication Critical patent/KR19980087183A/ko
Application granted granted Critical
Publication of KR100310486B1 publication Critical patent/KR100310486B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • 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/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Microcomputers (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

본 발명에 따른 마이크로컴퓨터에는 정상 동작 동안 및 재기록 제어 동안에 사용하기 위한 다른 어드레스 공간이 마련되는데, 이로써 재기록 제어 프로그램을 변경할 때 사용자 코드/데이터가 실제로 변경되지 않는 경우에 대하여 새로운 사용자 코드/데이터의 생성을 피할 수 있다. 다시 말해서, 마이크로컴퓨터는 정상 동작 동안의 사용자 ROM 및 재기록 제어 동안의 재기록 제어 ROM 사이에서 스위치하며, 사용자 코드/데이터 및 재기록 제어 프로그램은 다른 어드레스 공간에 배치된다.

Description

마이크로컴퓨터
본 발명은 마이크로컴퓨터에 관한 것으로, 특히, 저장 영역으로서, 마스크 ROM (Read Only Memory) 과 같은 메모리 장치 및 플래시 메모리 또는 EEPROM (Electrically Erasable and Programmable Read Only Memory) 과 같은 전기적으로 삭제가능하고 기록가능한 비휘발성 반도체 메모리 장치가 제공되는 마이크로컴퓨터에 관한 것이다.
일반적으로, 마이크로컴퓨터는 사용자에 의해 프로그래밍되는 코드 및 그 코드에 따라 참조되어 사용자의 명령에 따라 저장되어야 하는 데이터 (이하, 사용자 코드/데이터 라 언급됨) 를 모두 수신하며, 이러한 사용자 코드/데이터에 따라 동작하도록 제조된다.
마이크로컴퓨터는 종래에는 반복해서 재기록될수 없는 마스크 ROM 만이 제공되기 때문에 (이하, 이러한 구성으로 제공된 마이크로컴퓨터는 종래 기술의 제 1 예의 마이크로컴퓨터 라고 언급됨), 이러한 형태의 사용자 코드/데이터는 불가피하게 이러한 마스크 ROM 내에 저장된다.
그러므로, 사용자 코드/데이터가 수정되어야 할 때, 종래 기술의 제 1 예의 구성을 갖는 마이크로컴퓨터는 새로운 사용자 코드/데이터로 새로 제조되어야 하고, 이러한 필요성은 비용면에서 명백히 불리하다.
종래 기술의 제 1 예의 이러한 문제를 해결하기 위하여, 마스크 ROM 대신에 플래시 메모리와 같은 기록가능 메모리가 제공되는 마이크로컴퓨터 (이러한 마이크로컴퓨터는 이하에서 종래 기술의 제 2 예 로 언급됨) 가 최근에 제안되었다. 이러한 종래 기술의 제 2 예에 따른 마이크로컴퓨터는 예를 들어 플래시 메모리에 기록되는 사용자 코드/데이터에 따라서 동작하며, 사용자 코드/데이터의 수정이 있을 때, 이러한 변경은 플래시 메모리의 내용을 재기록함으로써 처리될 수 있다.
그러나, 종래 기술의 제 2 예의 구성에서, 사용자 코드/데이터의 양적인 증가, 즉, 적용의 크기에 있어서의 증가와 함께 몇가지 문제가 발생한다. 적용의 크기가 증가할 때, 이러한 사용자 코드/데이터를 저장하는 메모리 크기도 또한 증가해야 한다. 그러나, 플래시 메모리에서 메모리 셀의 크기는 마스크 ROM 내의 메모리셀의 크기보다 일반적으로 훨씬 더 크다는 것은 잘 알려져 있다. 결과적으로, 모든 사용자 코드/데이터가 플래시 메모리내에 저장되면, 마이크로컴퓨터의 칩 크기는 적용 크기의 증가와 함께 커지게 되고, 따라서, 칩 비용이 증가한다는 문제를 수반하게 된다.
종래 기술의 제 1 및 제 2 예 고유의 문제를 보완하기 위한 수단으로서 일본 특개평 제 266219/1993 호의 제 3 실시예 (이하 종래 기술의 제 3 예) 와 같은 마이크로컴퓨터가 제안된다.
종래 기술의 제 3 예의 마이크로컴퓨터에는 마스크 ROM 및 플래시 메모리가 함께 제공되며, 도 1 에 도시된 것과 같은 어드레스 공간을 포함한다. 종래 기술의 제 3 예에 따른 마이크로컴퓨터에서, 재기록이 필요할 수 있는 프로그램 또는 데이터는 플래시 메모리내에 저장되는 한편, 재기록이 필요없는 프로그램 또는 데이터는 마스크 ROM 내에 저장된다. 또한, 도 1 에서 알수 있는 바와 같이, 플래시 메모리의 내용을 재기록하기 위한 재기록 제어 프로그램은 마스크 ROM 내에 저장된다. 종래 기술의 제 3 예의 이러한 구성을 갖는 마이크로컴퓨터는, 플래시 메모리 내에 저장된 내용을 재기록할 필요가 있으면, 마스크 ROM 내에 저장된 재기록 제어 프로그램에 따라서 재기록을 수행할 수 있다. 도 1에서 알수 있는 바와 같이, 재기록이 필요하지 않은 데이터 또는 프로그램 및 재기록 제어 프로그램은 종래 기술의 제 3 예에서 동일한 어드레스 공간내에 있으며, 상호간에 서로 참조할 수 있다.
그럼에도 불구하고, 종래 기술의 상기 설명된 제 3 예의 마이크로컴퓨터는, 재기록 제어 프로그램이 수정되어야 하는 경우, 다음과 같은 문제를 갖는다.
재기록 제어 프로그램은 일반적으로 버전 업그레이드되기 쉽다. 도 1 에서 알수 있는 바와 같이, 종래 기술의 제 3 예에서의 재기록 제어 프로그램은 마스크 ROM 의 선두 어드레스로부터 시작하여 정렬되며, 부가적으로, 예를 들어, 재기록을 필요로 하지 않는 사용자 코드/데이터내의 내용이 있는 어드레스 공간과 동일한 어드레스 공간내에 있다. 따라서, 재기록 제어 프로그램이 업그레이드와 같은 수정을 겪어서 수정전의 프로그램보다 더 커지면, 종래 기술의 제 3 예의 마이크로컴퓨터는, 적어도 마스크 ROM 내에 저장된 사용자 코드/데이터의 영역이 재기록 제어 프로그램이 수정되는 경우, 재기록 제어 프로그램에 의해 침해될수 있다는 문제를 갖는다.
게다가, 재기록 제어 프로그램에 의한 사용자 코드/데이터 영역의 침해가 발생할 때, 예를 들어, 사용자 코드/데이터내에 지정된 어드레스에서 변화가 발생한다. 결과적으로, 종래 기술의 제 3 예에 따른 마이크로컴퓨터에서, 내용의 변경에 대한 실제적인 필요성이 없는 경우에도 이러한 어드레스 지정의 수정을 처리하기 위하여, 사용자 코드/데이터가 변경되어야 한다. 다시 말해서, 종래 기술의 제 3 예에서, 기본적으로 내용의 변경이 필요하지 않은 사용자 코드/데이터조차도 예를 들면, 재기록 제어 프로그램의 수정의 결과 새롭게 생성되어야 한다는 문제가 있다.
본 발명의 목적은 상기의 문제점을 해결하기 위하여, 재기록 제어 프로그램이 수정되는 경우에, 사용자 코드/데이터를 수정해야할 실제적 필요가 없을 때 새로운 사용자 코드/데이터가 생성될 필요가 없는 마이크로컴퓨터를 제공하는 것이다.
도 1 은 종래 기술의 제 3 예에 따른 마이크로컴퓨터에서 CPU 의 어드레스 공간을 도시한 도면.
도 2 는 본 발명의 실시예에 따른 마이크로컴퓨터의 구성을 도시한 블록도.
도 3 은 제 1 모드 동안 본 실시예의 마이크로컴퓨터의 개략적 구성을 도시한 블록도.
도 4 는 도 2 의 구성에서 CPU 의 어드레스 공간을 도시한 도면.
도 5 는 제 2 모드 동안 본 실시예의 마이크로컴퓨터의 개략적 구성을 도시한 블록도.
도 6 은 도 4 의 구성에서 CPU 의 어드레스 공간을 도시한 도면.
도 7 은 본 발명의 실시예에서 제 1 모드 동안 CPU 동작을 도시한 플로우챠트.
도 8 은 본 발명의 실시예에서 제 2 모드 동안 CPU 동작을 도시한 플로우챠트.
도면의 주요부분에 대한 부호의 설명
1, 2, 3 : 버스 10 : CPU
20 : 사용자 ROM 30 : 재기록 제어 ROM
40 : 버스 스위치 50 : 플래시 제어 레지스터
60 : 플래시 메모리 70 : 모드 디텍터
80 : 모드 신호 입력 단자
본 발명의 발명자는 상기 문제점들이 종래 기술의 제 3 예에 따른 마이크로컴퓨터에서 예를 들어 플래시 메모리의 내용을 재기록하기 위한 재기록 제어 프로그램 및 사용자 코드/데이터가 동일한 어드레스 공간내에 있기 때문에 초래된다고 생각하여, 상기 문제점들을 해결하기 위하여 재기록 제어 프로그램 및 사용자 코드/데이터를 다른 어드레스 공간에 정렬하였다.
구체적으로, 본 발명은 상기 문제점들을 해결하기 위한 수단으로서 이하에서 기재되는 마이크로컴퓨터를 제공한다.
본 발명은 CPU, 마스크 ROM 및 전기적으로 삭제가능하고 재기록가능한 비휘발성 반도체 메모리가 제공되는 마이크로컴퓨터를 제안하는데, 여기에서 재기록될 사용자 코드/데이터내에 있는 정보인 재기록 사용자 코드/데이터는 상기 비휘발성 반도체 메모리내에 저장되고; 상기 비휘발성 반도체 메모리내에 저장된 내용의 재기록을 제어하는 프로그램인 재기록 제어 프로그램 및 재기록이 필요하지 않은 사용자 코드/데이터내에 있는 정보인 비 재기록 (non-rewrite) 사용자 코드/데이터는 상기 마스크 ROM 내에 저장되며; 상기 비 재기록 사용자 코드/데이터 및 재기록 제어 프로그램은 CPU 로부터 볼 때 다른 어드레스 공간에 정렬된다.
여기서, 상기 마이크로컴퓨터에서, CPU 는 비 재기록 사용자 코드/데이터가 사용자 코드/데이터에 따라서 동작 프로세스가 수행되는 제 1 모드 동안 존재하는 어드레스 공간에 대한 어드레스를 지정하고, 재기록 제어 프로그램이 비휘발성 반도체 메모리의 내용이 재기록되는 제 2 모드 동안 존재하는 어드레스 공간에 대한 어드레스를 지정한다.
이러한 목적을 위한 간단한 구성으로서, 마이크로컴퓨터에는 실제로 다른 제 1 및 제 2 마스크 ROM이 마스크 ROM 으로서 제공된다. 이러한 방식으로 구성된 마이크로컴퓨터에서, 비 재기록 사용자 코드/데이터는 제 1 마스크 ROM 내에 저장되고, 재기록 제어 프로그램은 제 2 마스크 ROM 내에 저장된다.
마이크로컴퓨터에는 또한 모드 신호 입력 단자, 모드 디텍터 (detector), 제어 레지스터 및 버스 스위치가 제공된다. 상기 모드 신호 입력 단자는 제 2 모드로의 전환을 지시하는 외부 제 2 모드로부터 입력하기 위한 것이다. 상기 모드 디텍터는 제 1 및 제 2 마스크 ROM 은 물론 상기 모드 신호 입력 단자에 접속되고, 정상 동작 동안 제 1 마스크 ROM 이 제 1 모드를 설정하게 하며, 제 2 마스크 ROM 이 제 1 모드를 설정하지 못하게 하기 위한 장치이다. 그 후에, 제 2 모드 신호가 상기 모드 신호 입력 단자에 입력될 때, 상기 모드 디텍터는 제 2 모드 신호를 검출하고, 제 1 마스크 ROM 을 디스에이블 (disable) 시키고 제 2 마스크 ROM 이 제 2 모드로 전환할 수 있게 한다. 상기 제어 레지스터는 모드 디텍터에 접속되고, 제 2 모드동안 CPU 로부터의 지시에 따라서 비휘발성 반도체 메모리의 내용을 재기록하기 위하여 제공된다. 상기 버스 스위치는 모드 디텍터에 접속되고, 제 1 모드 동안 비휘발성 반도체 메모리를 위한 데이터 버스 및 어드레스 버스를 CPU 로부터의 데이터 버스 및 어드레스 버스에 접속하기 위하여 및 제 2 모드동안 상기 비휘발성 메모리를 위한 데이터 버스 및 어드레스 버스를 상기 제어 레지스터로부터의 데이터 버스 및 어드레스 버스에 접속하기 위하여 제공된다.
이러한 마이크로컴퓨터에 있는 비휘발성 반도체 메모리내에 저장된 내용이 상기 비 재기록 사용자 코드/데이터가 존재하는 어드레스 공간내에 있도록 설정되고, 제어 레지스터내에 저장된 내용이 재기록 제어 프로그램이 존재하는 어드레스 공간내에 존재하도록 설정되면, 제 2 모드 동안 상기 비휘발성 반도체 메모리가 CPU 로부터 직접 참조될 수 없도록 구성이 설정될 수 있다.
상기 제어 레지스터에는 어드레스 포인트 (address point) 레지스터, 기록 버퍼 (write buffer) 레지스터 및 모드 제어 레지스터가 제공된다. 상기 어드레스 포인트 레지스터는 제 2 모드 동안 CPU 에 의해 지정되는 비휘발성 반도체 메모리내에 어드레스를 설정하기 위한 것이다. 상기 기록 버퍼 레지스터는 제 2 모드 동안 CPU 로부터 비휘발성 반도체 메모리에 기록될 데이터를 설정하기 위한 것이다. 상기 모드 제어 레지스터는 제 2 모드 동안 비휘발성 반도체 메모리에 기록하기 위하여 CPU 로부터 제어 레지스터로의 명령을 수신하고, 상기 어드레스 포인트 레지스터내에 설정된 어드레스에 따라서 비휘발성 반도체 메모리로의 기록 버퍼 레지스터내에 설정된 데이터의 기록을 제어하기 위하여 제공된다.
이러한 구성에서, 사용자 코드/데이터 및 재기록 제어 프로그램 각각은 독립적으로 다루어질 수 있으므로, 상기 종래 기술의 제 3 예의 문제점에 대한 해답을 제공한다. 본 발명에 따라, 사용자 코드/데이터 및 재기록 제어 프로그램은 전술된 바와 같이 CPU 에서 볼 때 다른 어드레스 공간내에 정렬되고, 결과적으로, 재기록 제어 프로그램이 수정될 때, 재기록 제어 프로그램은 프로그램 크기의 증가에도 불구하고 사용자 코드/데이터의 영역을 침해하지 않는다.
이하에서, 도 2 내지 도 8 을 참조하여, 본 발명에 따른 마이크로컴퓨터의 실시예에 관한 설명이 기재된다.
도 2 에 도시된 바와 같이, 본 발명에 따른 마이크로컴퓨터에는 CPU (중앙 처리 장치 (10), 사용자 ROM (20), 재기록 제어 ROM (30), 버스 스위치 (40), 플래시 제어 레지스터 (50), 플래시 메모리 (60), 모드 디텍터 (70) 및 모드 신호 입력 단자 (80) 가 제공된다.
사용자 ROM (20) 은 비 재기록 사용자 코드/데이터를 저장하기 위한 마스크 ROM 이다. 이 경우에, 사용자 ROM (20) 은 또한 작은 메모리 셀 크기를 가진 PROM (Programmable ROM) 과 같은 다른 형태의 ROM 일 수도 있다. 게다가, 비 재기록 사용자 코드/데이터는 재기록이 필요없는 (다시 말해서, 고정될 수 있는) 사용자 코드/데이터내의 정보이다. 비 재기록 사용자 코드/데이터와는 대조적으로, 재기록 사용자 코드/데이터는 비 재기록 사용자 코드/데이터 이외의 사용자 코드/데이터내의 정보, 즉 재기록될 수 있는 정보이다.
재기록 제어 ROM (30) 은 플래시 메모리 (60) 내에 저장된 정보가 재기록되어야 하는 경우에 재기록을 제어하기 위한 프로그램인 재기록 제어 프로그램을 저장하기 위한 마스크 ROM 이다. 이러한 재기록 제어 ROM (30) 은 사용자 ROM (20) 과는 실제로 별개로서 제공된다. 사용자 ROM (20)에서, 재기록 제어 ROM (30) 은 또한 마스크 ROM 이외의 ROM 에 의해 구성될 수도 있다.
버스 스위치 (40) 는 어드레스 버스 (A-버스 1) 및 데이터 버스 (D-버스 1) 에 의해서 CPU (10) 에 접속된다. 버스 스위치 (40) 는 또한 어드레스 버스 (A-버스 2) 및 데이터 버스 (D-버스 2) 에 의해서 플래시 제어 레지스터 (50) 에 접속되고, 더욱이 어드레스 버스 (A-버스 3) 및 데이터 버스 (D-버스 3) 에 의해서 플래시 메모리 (60) 에 접속된다. 버스 스위치 (40) 는 마이크로컴퓨터가 사용자 코드/데이터에 따라 정상적으로 동작하는지 또는 플래시 메모리 (60) 내에 저장된 정보를 재기록하는지 여부에 따라서 어드레스 버스 (A-버스 3) 및 데이터 버스 (D-버스 3) 의 접속 수신지를 플래시 메모리 (60) 로 스위칭하기 위하여 제공된다.
설명의 편의상, 마이크로컴퓨터가 사용자 코드/데이터에 따라서 정상적으로 동작하는 경우를 제 1 모드라고 하고, 마이크로컴퓨터가 플래시 메모리 (60) 내에 저장된 정보를 재기록하는 경우를 제 2 모드라고 한다.
보다 상세히 설명하면, 제 1 모드 동안, 버스 스위치 (40) 는 CPU (10) 로부터의 어드레스 버스 (A-버스 1) 및 데이터 버스 (D-버스 1) 를 플래시 메모리 (60) 로 인도하는 어드레스 버스 (A 버스 3) 및 데이터 버스 (D 버스 3) 에 접속한다. 한편, 제 2 모드 동안, 버스 스위치 (40) 는 어드레스 버스 (A 버스 1) 및 데이터 버스 (D 버스 1) 로부터 플래시 메모리 (60) 로 인도하는 어드레스 버스 (A 버스 3) 및 데이터 버스 (D 버스 3) 를 플래시 제어 레지스터 (50) 로부터의 어드레스 버스 (A 버스 2) 및 데이터 버스 (D 버스 2) 로 스위치한다. 도 2 에서 알수 있는 바와 같이, 양방향 버스는 데이터 버스이며, 단방향 버스는 어드레스 버스이다.
플래시 제어 레지스터 (50) 는 제 2 모드 동안 CPU (10) 로부터의 요구를 수신하고, 예를 들어 데이터를 플래시 메모리 (60) 에 기록하는 것을 수행하기 위하여 제공된다. 보다 상세히 말하자면, 플래시 제어 레지스터 (50) 에는 어드레스 포인트 레지스터, 기록 버퍼 레지스터 및 모드 제어 레지스터가 제공된다. 어드레스 포인트 레지스터는 어드레스가 플래시 메모리 (60) 에 기록되도록 설정하기 위하여 제공된다. 기록 버퍼 레지스터는 데이터가 플래시 메모리 (60) 에 기록되도록 설정하기 위하여 제공된다. 모드 제어 레지스터는 플래시 메모리 (60) 로의 기록 또는 삭제와 같은 명령을 지시하는 소정의 값을 설정하기 위하여 제공된다. 이러한 구성이 제공되어, 플래시 제어 레지스터 (50) 는 기록 수신지가 되는 어드레스가 어드레스 포인트 레지스터에 설정되고, 기록될 데이터는 어드레스 버퍼 레지스터에 설정되고, 기록 명령에 적합한 값이 모드 제어 레지스터에 설정될 때, 버스 스위치 (40) 에 의하여 적절한 타이밍에서 어드레스/데이터를 플래시 메모리 (60) 에 제공할 수 있다.
플래시 메모리 (60) 는 재기록 사용자 코드/데이터를 저장하기 위하여 제공된다. 플래시 메모리 (60) 는 단지 예일 뿐이며, 이러한 메모리는 또한 EEPROM 또는 다른 비휘발성 반도체 메모리와 같은 전기적으로 삭제가능하고 재기록가능한 메모리에 의해 구성될 수도 있다.
제 2 모드로의 전환을 지시하는 제 2 모드 신호가 모드 신호 입력 단자 (80) 로부터 입력될 때, 모드 디텍터 (70) 는 제 2 모드 신호를 검출하고, 이에 대한 응답으로 제어 신호를 전송한다.
더 상세히는, 상기 모드 디텍터 (70) 는 제 1 모드 동안, 즉 제 2 모드 신호의 검출때까지 사용자 ROM (20)을 인에이블 (enable) 하고, 재기록 제어 ROM (30) 및 플래시 제어 레지스터 (50) 를 디스에이블 (disable) 한다. 더욱이, 모드 디텍터 (70) 는 버스 스위치 (40) 가 제 1 모드 동안 어드레스 버스 (A 버스 1) 및 데이터 버스 (D 버스 1) 를 어드레스 버스 (A 버스 3) 및 데이터 버스 (D 버스 3) 에 접속하도록 제어에 영향을 준다.
제 2 모드 신호를 검출하자마자, 상기 모드 디텍터 (70) 는 사용자 ROM (20) 을 디스에이블하고 재기록 제어 ROM (30) 및 플래시 제어 레지스터 (50) 를 인에이블한다. 게다가, 모드 디텍터 (70) 는 버스 스위치 (40) 가 어드레스 버스 (A 버스 3) 및 데이터 버스 (D 버스 3) 를 어드레스 버스 (A 버스 1) 및 데이터 버스 (D 버스 1) 로부터 스위치하고 이들을 어드레스 버스 (A 버스 2) 및 데이터 버스 (D 버스 2) 에 접속하도록 제어에 영향을 준다.
본 실시예에 따른 상기 구성을 갖는 마이크로컴퓨터에서, CPU (10) 는 제 1 모드 동안 사용자 ROM (20) 에 액세스할 수 있지만 재기록 제어 ROM (30) 에 액세스할 수 없는 한편, 제 2 모드 동안에는 재기록 제어 ROM (30) 에 액세스할수 있지만 사용자 ROM (20) 에는 액세스할 수 없다. 게다가, CPU (10) 는 제 1 모드 동안 플래시 메모리 (60) 에 직접 액세스할 수 있지만, 제 2 모드 동안에는 플래시 제어 레지스터 (50) 에 의해서만 플래시 메모리 (60) 에 액세스할 수 있다. 다시 말해서, 플래시 메모리 (60) 는 제 1 모드 동안 CPU (10) 로부터 보여질 수 있지만, 제 2 모드 동안에는 CPU (10) 로부터 보여질 수 없다. 이러한 점에서 알 수 있는 바와 같이, 사용자 코드/데이터 및 재기록 제어 프로그램은 본 실시예에서 다른 어드레스 공간에 정렬된다.
다음으로 본 실시예에 따른 각각의 모드 동안 마이크로컴퓨터의 동작에 관한 설명이 기재된다.
먼저, 제 1 모드 동안, 사용자 ROM (20) 은 인에이블되고, 재기록 제어 ROM (30) 은 디스에이블되며, CPU (10) 로부터의 어드레스 버스 (A 버스 1) 및 데이터 버스 (D 버스 1) 는 상기 설명된 바와 같이 버스 스위치 (40) 에 의해서 선택된다. 이러한 상태는 도 3 에 개략적으로 도시되어 있다.
도 3 에 도시된 상태에서, CPU (10) 는 사용자 ROM (20) 및 플래시 메모리 (60) 내에 저장된 사용자 코드/데이터에 따라서 프로세싱을 수행한다. 제 1 모드 동안, CPU (10) 의 어드레스 공간은 예를 들어 도 4 에 도시된 바와 같다. 사용자 ROM (20) 내에 저장된 비 재기록 사용자 코드/데이터는 0000H-3000H 영역내에 정렬되고, 플래시 메모리 (60) 내에 저장된 재기록 사용자 코드/데이터는 8000H-0FFFFH 영역내에 정렬된다. 다시 말해서, 사용자 ROM (20) 및 플래시 메모리 (60) 는 제 1 모드 동안 CPU (10) 로부터 소위 가시 (visual) 상태에 있다.
제 2 모드 동안, 상기 설명된 바와 같이, 사용자 ROM (20) 은 디스에이블된 상태에 놓이고, 재기록 제어 ROM (30) 은 인에이블된 상태에 놓이며, 버스 스위치 (40) 는 어드레스 버스 (A 버스 2) 및 데이터 버스 (D 버스 2) 를 플래시 제어 레지스터 (50) 로부터 선택한다. 이러한 상태는 도 5 에 개략적으로 도시되어 있다.
도 5 에 도시된 상태에서, CPU (10) 는 재기록 제어 ROM (30) 내에 저장된 재기록 제어 프로그램에 따라서 플래시 메모리 (60) 의 내용을 삭제하고 재기록한다. 이 경우에, 도 5 로부터 알수 있는 바와 같이, CPU (10) 는 제 2 모드 동안 플래시 메모리 (60) 에 직접 액세스 할 수 없다. 결과적으로, CPU (10) 는 플래시 제어 레지스터 (50) 에 의해서 플래시 메모리 (60) 내에 저장된 내용을 삭제하고 재기록한다. 다시 말해서, 제 2 모드 동안, 재기록 제어 ROM (30) 및 플래시 제어 레지스터 (50) 만이 CPU (10) 로부터 가시 상태에 놓이게 되며, 플래시 메모리 (60) 는 CPU (10) 로부터 비가시 (invisual) 상태에 놓인다. 게다가, 제 2 모드 동안, CPU (10) 의 어드레스 공간은 예를 들어 도 6 에 도시된 바와 같다. 재기록 제어 ROM (30) 내에 저장된 재기록 제어 프로그램은 0000H-3000H 영역내에 정렬되고, 플래시 제어 레지스터 (50) 의 저장 영역은 4000H 및 8000H 사이에 정렬된다.
도 4 및 도 6 에서 알수 있는 바와 같이, 사용자 코드/데이터 및 재기록 제어 프로그램은 본 실시예에서 다른 어드레스 공간내에 정렬된다. 결과적으로, 사용자 코드/데이터는 업그레이드 또는 다른 수정이 재기록 제어 ROM (30) 내에 저장된 재기록 제어 프로그램에 가해질 때 재기록 제어 프로그램에 의해 침해되지 않는다.
다음으로, CPU (10) 의 동작의 실예에 관한 설명이 기재된다.
CPU 는 제 1 모드 동안 도 7 에 도시된 바와 같이 동작한다.
먼저, CPU (10) 는 사용자 ROM (20) 에 액세스함으로써 제 1 모드 동안 벡터 판독을 수행한다 (단계 S101). 이 경우에, 벡터 판독은 다음 형태의 동작을 가리킨다. CPU (10) 는 0000H를 어드레스 버스 (A 버스 1) 에 출력하고, 어드레스 공간내의 0000H 로부터 2 바이트 값 (리셋 벡터)을 판독한다. 다음으로, CPU (10) 는 리셋 벡터에 의해 지시된 값을 어드레스 버스 (A 버스 1) 에 출력하고, 리셋 벡터에 의해 지시된 어드레스에서 1 바이트 (명령 코드) 보다 큰 값을 판독하며, 대응하는 명령 코드를 실행한다. 벡터 판독의 다른 예로서, CPU (10) 가 리셋을 해제한 후에 0000H 로부터의 명령 코드를 실행하는 구성에서, 점프 명령이 리셋 벡터대신에 0000H 에 저장되고 CPU (10) 가 이러한 점프 명령을 실행하는 경우가 선택될 수 있다.
다음으로, CPU (10) 는 사용자 ROM (20) 내에 저장된 비 재기록 사용자 코드/데이터 및 플래시 메모리 (60) 내에 저장된 재기록 사용자 코드/데이터를 참조하여 정상적인 프로세싱을 수행한다 (단계 S102-단계 S107).
선택적으로, CPU 는 제 2 모드 동안 도 8 에 도시된 바와 같이 동작한다.
제 2 모드에서, CPU (10) 는 먼저 재기록 제어 ROM (30) 에 액세스함으로써 벡터 판독을 수행한다.
CPU (10) 는 그 다음에 프로그램을 실행하고 (단계 S202), 재기록 제어 ROM (30) 내에 저장된 재기록 제어 프로그램을 수행한다 (단계 S203). 다음으로, 플래시 메모리 (60) 내의 기록 수신지인 어드레스가 플래시 제어 레지스터 (50) 에 설정되고 (단계 S204), 기록될 데이터는 플래시 제어 레지스터 (50) 에 설정되며, 기록 명령이 출력된다 (단계 S205). 그 후에 단계 S203 내지 단계 S205 의 프로세스가, 플래시 메모리 (60) 의 재기록이 완료될때까지, 반복된다.
본 발명의 바람직한 실시예가 특정 조건을 사용하여 설명되었지만, 이러한 설명은 단지 예시적인 것이며, 이하의 특허청구범위의 사상 및 범위내에서 변경 및 수정이 가능한 것으로 이해해야 한다.
상기에 설명된 바와 같이, 본 발명에 따라서, 재기록 제어 프로그램이 수정되는 경우에, 사용자 코드/데이터를 실제로 수정해야할 필요가 없을 때 새로운 사용자 코드/데이터가 생성될 필요가 없는 마이크로컴퓨터가 제공된다.

Claims (7)

  1. CPU; 재기록되는 사용자 코드/데이터내의 정보인 재기록 사용자 코드/데이터를 저장하는 전기적으로 삭제가능하고 재기록가능한 비휘발성 반도체 메모리; 및 상기 비휘발성 반도체 메모리내에 저장된 내용의 재기록을 제어하기 위한 프로그램인 재기록 제어 프로그램 및 상기 사용자 코드/데이터내에서 재기록을 필요로 하지않는 정보인 비 재기록 사용자 코드/데이터를 저장하는 마스크 ROM을 구비하고, 상기 비 재기록 사용자 코드/데이터 및 상기 재기록 제어 프로그램은 상기 CPU 로부터 볼 때 다른 어드레스 공간에 정렬되는 것을 특징으로 하는 마이크로컴퓨터.
  2. 제 1 항에 있어서, 상기 CPU 는 상기 비 재기록 사용자 코드/데이터가 존재하는 상기 어드레스 공간을 위한 어드레스를 지정하고 사용자 코드/데이터에 따라서 동작 프로세스를 실행하는 제 1 모드 수단; 및 상기 재기록 제어 프로그램이 존재하는 상기 어드레스 공간을 위한 어드레스를 지정하고 상기 비휘발성 반도체 메모리의 내용을 재기록하는 제 2 모드 수단을 구비하는 것을 특징으로 하는 마이크로컴퓨터.
  3. 제 1 항에 있어서, 상기 마스크 ROM 은 상기 비 재기록 사용자 코드/데이터를 저장하는 제 1 마스크 ROM; 및 상기 재기록 제어 프로그램을 저장하는 제 2 마스크 ROM을 구비하며, 상기 제 1 및 제 2 마스크 ROM 은 실제로 다른 ROM 인 것을 특징으로 하는 마이크로컴퓨터.
  4. 제 1 항에 있어서, 상기 제 2 모드 수단으로의 전환을 나타내는 외부 제 2 모드 신호로부터 입력하기 위한 모드 신호 입력 단자; 및 상기 모드 신호 입력 단자 및 상기 제 1 및 제 2 마스크 ROM 에 접속되고, 상기 제 1 모드를 설정하기 위하여 정상적으로 상기 제 1 마스크 ROM 을 인에이블하고 상기 제 2 마스크 ROM 을 디스에이블하며, 상기 제 2 모드 신호가 상기 모드 신호 입력 단자에 입력될 때 제 2 모드 신호를 검출하고 상기 제 1 마스크 ROM 을 디스에이블하고 상기 제 2 마스크 ROM을 인에이블함으로써 상기 제 2 모드로의 전환을 초래하는 모드 디텍터를 더 구비하는 것을 특징으로 하는 마이크로컴퓨터.
  5. 제 1 항에 있어서, 상기 모드 디텍터에 접속되고, 상기 CPU 로부터의 지시에 따라서 상기 제 2 모드 동안 상기 비휘발성 반도체 메모리의 내용을 재기록하기 위한 제어 레지스터; 및 상기 모드 디텍터에 접속되고, 상기 제 1 모드 동안 상기 비휘발성 반도체 메모리용 데이터 버스 및 어드레스 버스를 상기 CPU 로부터의 데이터 버스 및 어드레스 버스에 접속하며, 상기 제 2 모드 동안 상기 제어 레지스터로부터의 데이터 버스 및 어드레스 버스에 접속하는 버스 스위치를 더 구비하는 것을 특징으로 하는 마이크로컴퓨터.
  6. 제 1 항에 있어서, 상기 비휘발성 반도체 메모리에 저장된 내용은 상기 비 재기록 사용자 코드/데이터가 존재하는 상기 어드레스 공간에 있고, 상기 제어 레지스터내에 저장된 내용은 상기 재기록 제어 프로그램이 존재하는 상기 어드레스 공간에 있으며, 상기 비휘발성 반도체 메모리는 상기 제 2 모드 동안 상기 CPU 로부터 격리되고 상기 CPU 에 의해 직접 참조되지 않는 것을 특징으로 하는 마이크로컴퓨터.
  7. 제 5 항에 있어서, 상기 제어 레지스터는 상기 제 2 모드 동안 상기 CPU 에 의해 지정되도록 상기 비휘발성 반도체 메모리내의 어드레스를 설정하기 위한 어드레스 포인트 레지스터; 상기 제 2 모드 동안 상기 CPU 로부터 상기 비휘발성 반도체 메모리에 기록될 데이터를 설정하기 위한 기록 버퍼 레지스터; 및 상기 비휘발성 반도체 메모리에 기록하기 위하여 상기 CPU 로부터 상기 제어 레지스터로의 명령을 수신하고, 상기 어드레스 포인트 레지스터에 설정된 상기 어드레스에 따라 상기 비휘발성 반도체 메모리로의 상기 기록 버퍼 레지스터내에 설정된 상기 데이터의 기록을 제어하는 모드 제어 레지스터를 구비하는 것을 특징으로 하는 마이크로컴퓨터.
KR1019980017964A 1997-05-29 1998-05-19 마이크로컴퓨터 KR100310486B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP97-139768 1997-05-29
JP9139768A JPH10333898A (ja) 1997-05-29 1997-05-29 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
KR19980087183A true KR19980087183A (ko) 1998-12-05
KR100310486B1 KR100310486B1 (ko) 2001-11-17

Family

ID=15252956

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980017964A KR100310486B1 (ko) 1997-05-29 1998-05-19 마이크로컴퓨터

Country Status (5)

Country Link
US (1) US6148362A (ko)
EP (1) EP0881578A3 (ko)
JP (1) JPH10333898A (ko)
KR (1) KR100310486B1 (ko)
CN (1) CN1115630C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100458100B1 (ko) * 2001-01-05 2004-11-26 세이코 엡슨 가부시키가이샤 정보 처리 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW389910B (en) * 1997-07-03 2000-05-11 Seiko Epson Corp Programmable nonvolatile memory apparatus and microcomputer using the same
JP4061814B2 (ja) * 2000-04-14 2008-03-19 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置
US6684290B2 (en) * 2001-10-18 2004-01-27 Kabushiki Kaisha Toshiba Memory rewriting apparatus and method for memory mapping rewriting program to same address space
US7073094B1 (en) * 2002-05-09 2006-07-04 Winbond Electronics Corporation Method and systems for programming and testing an embedded system
WO2013012436A1 (en) * 2011-07-18 2013-01-24 Hewlett-Packard Development Company, L.P. Reset vectors for boot instructions
US9111621B2 (en) * 2012-06-20 2015-08-18 Pfg Ip Llc Solid state drive memory device comprising secure erase function
KR102108838B1 (ko) 2013-06-18 2020-05-11 삼성전자주식회사 임베디드 메모리 장치 및 그것을 포함한 메모리 컨트롤러

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2513462B2 (ja) * 1986-03-26 1996-07-03 株式会社日立製作所 マイクロ・コンピユ−タ
JPH01213731A (ja) * 1988-02-22 1989-08-28 Hitachi Ltd Rom制御方式
JPH02310786A (ja) * 1989-05-26 1990-12-26 Nec Ic Microcomput Syst Ltd マイクロコンピュータ
JP2710890B2 (ja) * 1991-11-13 1998-02-10 三田工業株式会社 メモリ指定制御装置
JPH05204654A (ja) * 1992-01-24 1993-08-13 Fujitsu Ltd Cpu搭載装置における起動プログラム更新方式
TW231343B (ko) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
JPH05266219A (ja) * 1992-03-17 1993-10-15 Hitachi Ltd マイクロコンピュータ
US5568641A (en) * 1995-01-18 1996-10-22 Hewlett-Packard Company Powerfail durable flash EEPROM upgrade
JPH08305680A (ja) * 1995-04-28 1996-11-22 Matsushita Electric Ind Co Ltd 半導体装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100458100B1 (ko) * 2001-01-05 2004-11-26 세이코 엡슨 가부시키가이샤 정보 처리 장치

Also Published As

Publication number Publication date
US6148362A (en) 2000-11-14
KR100310486B1 (ko) 2001-11-17
JPH10333898A (ja) 1998-12-18
CN1201192A (zh) 1998-12-09
CN1115630C (zh) 2003-07-23
EP0881578A3 (en) 2005-12-14
EP0881578A2 (en) 1998-12-02

Similar Documents

Publication Publication Date Title
KR100265266B1 (ko) 플래쉬 eeprom 을 구비하는 마이크로컴퓨터및 플래쉬 eeprom 의 소거방법
JPH03141447A (ja) 電気的に消去可能なプログラマブル読み出し専用メモリーに常駐するファームウェアを更新する方法及び装置
KR100310486B1 (ko) 마이크로컴퓨터
KR100286915B1 (ko) 플래시 이이피롬을 내부에 포함한 마이크로컴퓨터
US7096351B2 (en) Single-chip microcomputer and boot region switching method thereof
KR100425229B1 (ko) 마이크로컴퓨터 및 플래시 메모리 상에 데이터를재기록하는 방법
KR100223844B1 (ko) 옵션 자동 설정 회로
US6532529B1 (en) Microcomputer including flash memory overwritable during operation and operating method thereof
US6182207B1 (en) Microcontroller with register system for the indirect accessing of internal memory via auxiliary register
JP2007257271A (ja) メモリ診断方法、マイクロコンピュータシステム及びプログラム
JPH11184724A (ja) インサーキットエミュレータ及び半導体集積回路
JP2000276461A (ja) マイクロコンピュータ
JP3168572B2 (ja) Cpu暴走検知機能付きicカード
JP3912447B2 (ja) メモリシステムおよび外部不揮発メモリの使用方法
KR19990078265A (ko) 마이크로컴퓨터
JP3840510B2 (ja) マイクロ・コンピュータ
JPH05134928A (ja) メモリ装置
JPH06314190A (ja) 電子装置
JPH1050086A (ja) Eepromを有するマイクロコンピュータ及びその書換方法
JP3481666B2 (ja) プロセッサのメモリアクセス制御方法及び装置
JPH11184833A (ja) マイクロコンピュータの書き込み終了の判別方法
JPH0381185B2 (ko)
JP2002304329A (ja) 半導体装置
JPH0512892A (ja) 不揮発性メモリ装置
JPH05324341A (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: 20120821

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee