KR100307857B1 - 전자장치 - Google Patents

전자장치 Download PDF

Info

Publication number
KR100307857B1
KR100307857B1 KR1019930000467A KR930000467A KR100307857B1 KR 100307857 B1 KR100307857 B1 KR 100307857B1 KR 1019930000467 A KR1019930000467 A KR 1019930000467A KR 930000467 A KR930000467 A KR 930000467A KR 100307857 B1 KR100307857 B1 KR 100307857B1
Authority
KR
South Korea
Prior art keywords
address
storage means
instructions
processor
correction
Prior art date
Application number
KR1019930000467A
Other languages
English (en)
Other versions
KR930016880A (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 KR930016880A publication Critical patent/KR930016880A/ko
Application granted granted Critical
Publication of KR100307857B1 publication Critical patent/KR100307857B1/ko

Links

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

끼워넣기 처리 중에도 수정을 할 수 있도록 한다. 전자장치(10)에는, CPU(1), ROM(2), RAM(3) 및 입력수단(4), 다시 데이터 버스(5) 및 어드레스 버스(6)가 설치된다. 또한 수정할 곳의 어드레스의 레지스터(7)와 수정 끼워넣기 벡터의 레지스터(8)가 설치되어, 이들이 데이터 버스(5)에 접속된다. 다시 이 레지스터(7)에 기억된 어드레스와 어드레스 버스(6)의 어드레스와의 일치를 겸출하는 비교기(9)의 출력부가 CPU(1) 의 끼워넣기 제어부 X 에 접속된다. CPU(1) 에는, 다른 처리로부터의 끼워넣기 제어부 A,B,C... 로 설치되어 있다. 다시 입력수단 (4)에는 외부기억장치(20)가 접속되어, 이 외부기억장치(20)로 부터의 주프로그램의 버그를 수정하기 위한 정보는 입력수단 (4)을 통해서 RAM3 에 기억됨과 함께, 이 RAM3 에 레지스터(7 및 8)에 기입된 데이터를 퇴피시키는 스택 에어리어(32)가 설치된다.

Description

전자 장치
제1도는 본 발명에 의한 전자장치의 한 예의 구성도.
제2도는 처리 프로그램의 설명을 위한 도면.
제3도는 수정하기 위한 정보의 설명을 위한 도면.
제4도는 동작의 설명을 위한 도면.
<도면의 주요부분에 대한 부호의 설명>
1 : 처리수단으로서 CPU 2 : 고정 기억수단으로서 ROM
3 : 수정정보 기억수단으로서 RAM 4 : 입력수단
5 : 데이터 버스 6 : 어드레스 버스
7 : 수정하는 곳의 어드레스의 레지스터
8 : 수정 끼워넣기 벡터의 레지스터
9 : 비교기
10 : 전자장치로서의 1 칩 마이크로 컴퓨터
20 : 외부기억장치 31 : 고정의 테이블 에어리어
32 : 스택 에어리어
본 발명은, 예를 들면 전자기기에 내장되어 사용되는 1 칩 마이크로 컴퓨터와 같은 전자장치에 관한 것이다.
예를 들면 전자기기에 내장되어서 사용되는 1 칩 마이크로 컴퓨터는, 고정 기억수단(ROM), 처리수단(CPU), 입력수단, 가변기억수단(RAM)등이 일체로 집적된 전자장치로 구성이 되어있다.
이와 같은 전자장치(1칩 마이크로 컴퓨터)에 있어서, 처리수단(CPU)에서의 처리의 프로그램은, 예를 들면 고정기억수단(ROM)에 기억되어 있다. 즉 이 고정기억수단(ROM)에 기억된 정보(처리프로그램)에 따라서 특정한 처리가 행해진다. 거기에서 이 고정기억수단(ROM)을 예를 들면 마스크 ROM 으로 형성함으로서, 이와 같은 전자장치는, 특히 양산화에 의해 그것의 가격을 저렴하게 할 수가 있다.
한편, 상술한 전자장치는, 민생용의 카메라 일체형 VTR, 소형 비디오 데크 등의 전자기기에 내장되어 사용되고 있다.
이와 같은 전자기기(민생용 카메라 일체형 VTR 등)에 있어서는, 근래의 상품 차별화를 목적으로 한 다기능화가 진행되고 있다.
이로 인해 고정기억수단(ROM)에 기억되는 정보(처리프로그램)의 양이 증대하고, 특히 처리프로그램의 장대화를 동반해서 그것의 불비(버그)의 발생은 피할 수 없는 문제로 되어있다.
거기에서 이와 같은 버그가 장치의 양산 후에 발견된 경우에는, 이미 양산된 장치를 폐기하여 재차 양산을 행하거나, 그것의 버그를 수정하기 위한 외부 부품을 설치하는 등의 처리를 행할 필요가 있으며, 또한 외부부품을 설치하는 일은 부품의 실장 밀도가 높은 전자기기에서는 실시가 곤란한 경우가 많다.
이것에 대해서 본원 출원인은, 먼저 이와 같은 버그를 양산 후에 수정하는 수단을 제안하였다(일본 특허출원 헤이세이 3-118799 호 참조). 즉 이 선원에서는, 전자 장치 내에 버그 수정을 위한 수정정보 기억수단과 액세스 전환수단을 설치한다. 그래서 고정기억수단에 기억되는 정보가 버그의 부분을 판별하여, 그 부분에서는 액세스를 고정기억수단에서 수정정보 기억수단으로 전환하도록 한 것이다.
그런데 이 선원의 장치에 있어서, 고정기억수단(ROM)에 기억되는 정보(처리프로그램)가 항상 소정의 차례로 액세스 되어있는 경우에는, 임의의 수정할 곳에서 수정이 행해진 마지막에 다음의 수정할 곳을 지정함으로서, 복수의 버그의 부분을 차례로 수정할 수가 있다.
그러나 이 선원의 장치에서는, 끼워넣기 처리 등에 의해 별도의 정보가 액세스되는 경우에, 이 별도의 다른 정보의 버그를 수정할 수는 없다. 즉 예를 들면 끼워넣기 처리의 최초에 끼워넣기 처리의 수정 할 곳의 지정을 행한 경우에는, 이 끼워넣기가 메인의 처리의 어디에서 행해지는가 결정되어 있지 않기 때문에, 메인의 처리로 되돌아간 후에 다음에 수정할 곳을 지정할 수가 없게 되어버린다.
이로 인해 종래는, 끼워넣기 처리용의 수정정보 기억수단과 액세스 전환수단을 독립적으로 설치하여, 끼워넣기 처리중의 수정을 독립적으로 행하도록 하고 있다. 그러나 그러기 위해서는 다량의 회로가 추가로 필요하다. 또한 끼워넣기 처리가 다중으로 행해지는 경우에는, 그것의 최대수의 조의 수정정보 기억수단과 액세스 전환 수단이 필요해져서, 용이하게 실시할 수가 없는 것이었다.
본 발명은 이와 같은 점을 감안하여 이루어진 것이다.
해결하고자 하는 문제점은, 종래의 전자장치에서는, 양산 후에 버그가 발견된 경우에는, 이미 양산된 장치를 폐기하여 재차 양산을 행하거나, 그것의 버그를 수정하기 위한 외부부품을 설치하지 않으면 안 된다. 또한 선원에서는, 끼워넣기 처리 등에 의해 별도의 정보가 액세스되는 경우에, 이 별도의 정보의 버그를 수정하는 일이 용이하게는 되지 않는다.
본 발명에 따른 전자 장치는, 데이터 버스와, 어드레스 버스와, 상기 어드레스 버스 상의 고정 기억 수단 어드레스의 제어 하에, 상기 고정 기억 수단 어드레스에 의해 지정된 위치에서 상기 고정 기억 수단 내에 유지된 명령을 상기 데이터 버스로 제공하기 위해 접속되는 고정 기억 수단으로서, 복수의 프로그램 명령을 유지하는 복수의 위치를 가지며, 상기 복수의 프로그램 명령은 복수의 인터럽트 프로세스 루틴을 구비하는 프로그램을 집합적으로 포함하는, 상기 고정 기억 수단과, 상기 데이터 버스와 어드레스 버스에 접속되며, 상기 프로그램 명령들을 실행하는 프로세서와, 상기 프로세서에 의해 실행된 상기 프로그램 명령들에 응답해서, 상기 프로세서에 의해 실행될 상기 프로그램 명령들을 유지하는 상기 복수의 위치에 대한 상기 고정 기억 수단 어드레스를 상기 어드레스 버스에 제공하는 어드레스 제어 수단과, 상기 프로세서에 의해 실행되는 상기 프로그램의 실행에 대한 복수의 변형을 나타내는 복수의 수정 명령을 유지하는 수정 정보 기억 수단으로서, 상기 어드레스 버스 상의 수정 기억 수단 어드레스의 제어 하에, 상기 어드레스 버스 상의 상기 수정 기억 수단 어드레스에 의해 지정된 위치에서 상기 수정 정보 기억 수단 내에 유지된 수정 명령을 상기 데이터 버스에 제공하기 위해 접속되는, 상기 수정 정보 기억 수단와, 제 1 전환 수단을 포함하는 전환 수단으로서, 상기 제 1 전환 수단 내에 유지된 제 1 제어 데이터의 제어 하에, 상기 프로그램의 제 1 버그 부분의 명령들에 대한 고정 기억 수단 어드레스 대신에, 상기 수정 정보 기억 수단 내의 제 1 복수의 수정 명령에 대한 수정 기억 수단 어드레스를 상기 어드레스 버스에 제공함으로써, 상기 제 1 복수의 수정 명령이 상기 제 1 버그 부분의 명령들 대신에 실행을 위한 프로세서에 제공되며, 이에 의해 상기 제 1 복수의 수정 명령이 상기 제 1 버그 부분의 명령들 대신에 상기 프로세서에 의해 실행되는, 상기 전환 수단을 포함하며, 상기 전환 수단은, 제 2 전환 수단과, 상기 복수의 인터럽트 처리 루틴 중 하나가 상기 프로세서에 의해 실행되는 동안, 상기 제 2 전환 수단으로 상기 제 1 제어 데이터를 이동시킨 후, 상기 제 1 전환 수단으로 제 2 제어 데이터를 저장하는 이동 및 저장 수단으로서, 상기 복수의 인터럽트 처리 루틴중 하나가 상기 프로세서에 의해 실행되는 동안, 상기 전환 수단은, 상기 제 1 전환 수단 내에 유지된 제 2 제어 데이터의 제어 하에, 상기 프로그램의 제 2 버그 부분의 명령들의 고정 기억 수단 어드레스 대신에 상기 수정 정보 기억 수단에 있는 제 2 복수의 수정 명령들에 대한 수정 기억 수단 어드레스를 상기 어드레스 버스에 제공함으로써, 상기 제 2 복수의 수정 명령이 상기 제 2 버그 부분의 명령들 대신에 실행을 위한 상기 프로세서에 제공되며, 이에 의해, 상기 복수의 인터럽트 처리 루틴 중 하나가 상기 프로세서에 의해 실행되는 동안, 상기 제 2 복수의 수정 명령은 상기 제 2 버그 부분의 명령들 대신에 상기 프로세서에 의해 실행되는, 상기 이동 및 저장 수단과, 상기 복수의 인터럽트 처리 루틴 중 하나가 상기 프로세서에 의해 실행이 종료될 때, 상기 제 2 전환 수단에 유지된 제 1 제어 데이터를 상기 제 1 전환 수단에 재차 저장하는 수단을 포함하며, 상기 제 1 제어 데이터는 상기 제 1 버그 부분에 대한 고정 기억 수단 어드레스로 구성되는 제 1 부분과 상기 제 1 복수의 수정 명령에 대한 수정 기억 수단 어드레스로 구성되는 제 2 부분을 포함하며, 상기 제 2 데이터는 상기 제 2 버그 부분에 대한 상기 고정 기억 수단 어드레스로 구성되는 제 1 부분과 상기 제 2 복수의 수정 명령에 대한 수정 기억 수단 어드레스로 구성되는 제 2 부분을 포함하며, 상기 전환 수단은, 상기 제 1 전환 수단 내에 상기 제 1 제어 데이터가 있든지 상기 제 2 제어 데이터가 있든지간에 상기 어드레스 상의 어드레스와 상기 제 1 부분을 비교하는 비교 수단과, 상기 프로세서로 하여금 수정 처리 인터럽트 루틴을 실행시키도록 하기 위하여 상기 프로세서에 인터럽트를 발생하는 인터럽트 신호 발생 수단으로서, 상기 수정 처리 인터럽트 루틴은 상기 복수의 인터럽트 처리 루틴 중 하나이며, 상기 수정 처리 인터럽트 루틴의 실행은 상기 전환 수단으로 하여금 상기 제 1 전환 수단 내에 상기 제 1 제어 데이터가 있든지 제 2 제어 데이터가 있든지 간에 상기 제 2 부분을 상기 어드레스 버스에 제공하도록 하는, 상기 인터럽트 신호 발생 수단을 더 포함한다.
이것에 의하면, 고정기억수단에 기억된 정보가 수정 정보기억 수단으로부터의 정보에 의해 수정되어, 양산 후에 발견된 정보의 버그 수정을 행할 수가 있음과 함께, 수정할 곳의 판별 데이터를 스택메모리에 퇴피시킴으로서, 끼워넣기 처리중에도 수정을 할 수가 있다.
제 1 도에 있어서, 10 은 전자장치로서의 1 칩 마이크로 컴퓨터의 전체를 도시한다. 이 전자장치(10)에는, 처리수단으로서의 CPU(1), 고정기억수단으로서의 ROM(2), 수정정보 기억수단으로서 RAM(3), 입력수단(4)등이 설치되어 있다. 이 CPU(1), ROM(2), RAM(3) 및 입력수단(4)은 서로 데이터 버스(5)를 거쳐서 접속된다. 또한 CPU(1)에서 형성된 어드레스 출력이 어드레스 버스(6)를 거쳐서 ROM(2) 및 RAM(3)의 어드레스 입력에 접속된다.
또한 수정할 곳의 어드레스의 레지스터(7)와 수정 끼워넣기 벡터의 레지스터(8)가 설치되어, 이들의 레지스터(7,8)가 데이터 버스(5)에 접속된다. 다시 이 레지스터(7)에 기억된 어드레스와 어드레스 버스(6)의 어드레스와의 일치를 검출하는 비교기(9)의 어드레스가 일치한 것을 도시하는 신호의 출력부가, CPU(1)의 끼워넣기 제어부 X 에 접속된다. 또한 CPU(1)에는, 다른 처리로부터의 끼워넣기 제어부 A,B,C... 도 설치되어 있다.
다시 입력수단(4)에는 외부기억장치(20)가 접속된다. 이 외부기억장치(20)도 전자기기내에 설치된다. 또한 이 외부기억장치(20)는, 예를 들면 EEPROM 으로 구성되어, 통상은 전자기기의 조정공정에서 얻어진 파라미터 등이 기억되는 것이다. 그래서 이 외부기억장치(20)로부터의 정보는 입력수단(4)을 통해서 RAM(3)에 기억되어 CPU(1)에서의 처리 등에 사용된다.
이와 같은 전자장치(10)에 있어서, ROM(2)에는 CPU(1)에서의 처리의 프로그램의 정보가 고정적으로 기억된다. 이 처리 프로그램에는, 예를 들면 제 2 도에 도시하는 바와 같이, 먼저 기동을 위한 프로그램이 설치된다. 이 기동 프로그램에는 RAM(3)의 클리어를 포함하는 장치의 초기화를 위한 프로그램과 함께, 외부기억 장치(20)로부터의 정보를 입력수단(4)을 통해서 RAM(3)에 기억시키기 위한 프로그램 등이 설치된다.
다시 ROM(2)에 기억되는 처리프로그램에는, 주된 처리를 하기 위한 주프로그램과 함께, 각종의 끼워넣기 A,B,C... 의 처리를 하는 끼워넣기 프로그램이 설치된다. 또한 이 주프로그램의 최초에는, RAM(3)의 후술하는 고정의 테이블 에어리어(31)에 기입된 최초의 수정할 곳의 어드레스와 그것의 수정을 행하는 수정프로그램의 위치를 표시하는 벡터의 데이터를 상술한 레지스터(7 및 8)에 기입하는 처리가 설치된다.
또한 끼워넣기 프로그램의 최초에는, 같은 도면의 B 에 도시하는 바와같이, 레지스터(7 및 8)에 기입된 데이터를 RAM(3)의 후술하는 스택 에어리어(32)에 퇴피시키는 처리가 설치된다. 다음에 이 퇴피 후에 RAM(3)의 고정 테이블 에어리어(31)에 기입된, 그것의 끼워넣기에 대응하는 최초의 수정할 곳의 어드레스와 그것의 수정을 행하는 수정 프로그램의 위치를 표시하는 벡터의 데이터를, 레지스터(7 및 8)에 기입하는 처리가 설치된다. 그래서 끼워넣기 프로그램의 마지막에, 스택 에어리어(32)에 퇴피시킨 데이터를 레지스터(7 및 8)에 재차 기입하는 처리가 설치된다.
한편, 외부기억장치(20)에는, 상술한 조정 공정에서 얻어진 파라미터 등과 함께, 필요에 따라서 후술하는 ROM(2)에 기억된 정보의 버그를 수정하기 위한 정보가 기억된다. 여기에서 버그를 수정하기 위한 정보로서는, 예를 들면 제 3 도에 도시하는 바와 같이, 수정 프로그램과 함께, 주프로그램 및 끼워넣기에 대응하는 최초의 수정할 곳의 어드레스와 그것의 수정을 행하는 수정 프로그램의 위치를 표시하는 벡터의 데이터가 설치된다.
그래서 상술한 기동 프로그램의 기동 프로그램의 처리에 의해, 이 외부기억 장치(20)로부터의 정보는 입력수단(4)을 통해서 RAM(3)에 기억된다. 이에 따라 RAM(3)으로 수정 프로그램이 기억됨과 함께, 주프로그램 및 끼워넣기에 대응하는 최초의 수정할 곳의 어드레스와 그것의 수정을 행하는 수정 프로그램의 위치를 도시하는 벡터의 데이터가, RAM(3)의 고정의 테이블 에어리어(31)에 기입된다.
따라서 이 장치에 있어서, 기동후의 주프로그램의 최초에서 주프로그램의 최초의 수정할 곳의 어드레스와 그것의 수정을 행하는 수정프로그램의 위치를 도시하는 벡터의 데이터가 RAM(3)의 고정의 테이블 에어리어(31)로부터 판독되어, 레지스터 (7) 및 (8)에 기입된다. 그래서 주프로그램이 진행하여, 그것의 어드레스가 레지스터(7)의 어드레스와 일치하면, CPU(1)의 끼워넣기 제어부(X)에 신호가 공급된다.
이에 따라 CPU(1)에서는, 끼워넣기(X)의 처리로서 레지스터(8)의 데이터가 참조되어, 이 데이터의 도시하는 위치의 수정프로그램이 실행된다. 다시 이 수정 프로그램의 최후에는, 주프로그램의 다음의 수정할 곳의 어드레스와 그것의 수정을 행하는 수정프로그램의 위치를 도시하는 벡터의 데이터를 레지스터(7 및 8)에 기입하는 처리가 설치된다. 이와 같이 하여 주프로그램의 수정할 곳이 차례로 수정된다.
이것에 대해서, 이 장치에 있어서 끼워넣기 제어부 A,B,C... 에 끼워넣기 요구가 있으면, 각각의 끼워넣기 A,B,C... 의 처리가 행해진다. 그래서 이들의 각 끼워넣기 프로그램의 최초에서, 레지스터(7 및 8)에 기입된 데이터가 RAM(3)의 스택 에어리어(32)에 퇴피된다. 다시 그것의 끼워넣기에 대응하는 최초의 수정하는 곳의 어드레스와 그것의 수정을 행하는 수정 프로그램의 위치를 표시하는 벡터의 데이터가 RAM(3)의 고정의 테이블 에어리어(31)로부터 판독되어, 레지스터(7 및 8)에 기입된다. 그래서 끼워넣기 프로그램이 진행하여, 그것의 어드레스가 레지스터(7)의 어드레스와 일치하면, CPU(1)의 끼워넣기 제어부(X)에 신호가 공급된다.
이에 따라 CPU(1)에서는, 끼워넣기(X)의 처리로서 레지스터(8)의 데이터가 참조되어, 이 데이터의 표시하는 위치의 수정프로그램이 실행된다. 다시 이 수정 프로그램의 마지막에는, 그 끼워넣기 프로그램의 다음의 수정할 곳의 어드레스와 그것의 수정을 행하는 수정프로그램의 위치를 표시하는 벡터의 데이터를 레지스터(7 및 8)에 기입처리가 설치된다. 이와 같이 하여 끼워넣기 프로그램의 수정할 곳이 차례로 수정된다. 다시 이 끼워넣기 프로그램의 최후에서, 스택 에어리어(32)에 퇴피된 데이터가 레지스터(7 및 8)에 재차 기입된다.
즉 이 장치에 있어서, 끼워넣기 A,B,C... 의 요구가 있으면, 제 4 도에 도시하는 바와 같이 주프로그램의 수정할 곳의 어드레스와 그 수정을 하는 수정프로그램의 위치를 도시하는 벡터의 데이터가 레지스터(7 및 8)에서 스택 에어리어(32)에 퇴피되어, 그것의 끼워넣기에 대응하는 최초의 수정할 곳의 어드레스와 그 수정을 하는 수정 프로그램의 위치를 표시하는 벡터의 데이터가 RAM(3)의 고정 테이블 에어리어(31)로부터의 판독되어 레지스터(7 및 8)에 기입된다. 이것에 의해 끼워넣기 프로그램의 수정할 곳이 차례로 수정이 된다. 다시 이 끼워넣기 프로그램의 최후에서 스택 에어리어(32)에 퇴피된 데이터가 레지스터(7 및 8)에 재차 기입됨으로서, 주프로그램의 수정할 곳의 수정이 계속된다.
이와 같이 하여 상술한 장치에 의하면, 고정기억수단(ROM2)에 기억된 정보가 수정정보 기억수단(RAM3)으로부터의 정보에 의해 수정이 되어, 양산 후에 발견된 정보의 버그 수정을 할 수 있음과 함께, 수정할 곳의 판별 데이터를 스택메모리(스택 에어리어(32))에 퇴피시킴으로서, 끼워넣기 처리 중에도 수정을 할 수 있는 것이다.
또한 상술한 장치에 있어서, 스택 에어리어(32)를 말하자면 푸시다운 스택의 구성으로 한다. 이에 따라 끼워넣기 처리중에 다시 끼워넣기를 하는, 다중 끼워넣기에도 이 장치를 적용할 수가 있다.
또한 상술한 장치에 있어서, ROM2 에서 RAM3 으로의 전환수단의 구성은, 수정프로그램의 위치를 표시하는 벡터의 데이터에 대신해서, 그 위치로의 점프 명령으로 함과 함께, ROM2 의 출력 데이터와 레지스터(8)의 데이터를, 비교기(9)의 어드레스가 일치하였을 때에 전환하도록 하여도 좋다.
다시 상술한 장치에 있어서, 끼워넣기에 대응하는 최초의 수정할 곳의 어드레스의 데이터는, 각종의 끼워넣기 A,B,C... 의 처리마다에 RAM3 의 고정 테이블 에어리어(31)에 설치된다. 여기에서 임의의 끼워넣기의 처리에 수정할 곳이 없는 경우에는, 그것에 대응하는 고정 테이블 에어리어(31)의 데이터는 그것의 끼워넣기의 처리 중에 액세스하지 않는 어드레스를 선정하여 기입할 필요가 있다.
그러나 상술한 장치에 있어서, RAM3 은 기동프로그램에서 클리어되어, 모두 "0" 으로 된 후에 외부기억장치(20)로부터의 정보가 기억된다. 따라서 이 RAM3 의 고정 테이블 에어리어(31)는, 새롭게 데이터를 기입하지 아니할 때는 모두 "0" 으로 되어있다. 한편, CPU1 에서 모두 "0" 의 어드레스가 RAM 에어리어에 할당되어 있는 경우에는, 프로그램 처리 중에 이 어드레스가 액세스되는 일은 없다. 거기에서 임의의 끼워넣기의 처리에 수정할 곳이 없는 경우에는, 그것에 대응하는 고정의 테이블 에어리어(31)에는 새롭게 데이터를 기입하지 아니하는 것으로, 상술한 목적을 달성할 수가 있다.
본 발명에 의하면, 고정기억수단에 기억된 정보가 수정정보 기억수단으로부터의 정보에 의해 수정되어, 양산 후에 발견된 정보의 버그 수정을 할 수가 있으며, 수정할 곳의 판별 데이터를 스택메모리에 퇴피시킴으로서, 끼워넣기 처리 중에도 수정을 할 수 있다.

Claims (1)

  1. 전자 장치에 있어서, 데이터 버스와, 어드레스 버스와, 상기 어드레스 버스 상의 고정 기억 수단 어드레스의 제어 하에, 상기 고정 기억 수단 어드레스에 의해 지정된 위치에서 고정 기억 수단 내에 유지된 명령을 상기 데이터 버스로 제공하기 위해 접속되는 상기 고정 기억 수단으로서, 복수의 프로그램 명령을 유지하는 복수의 위치를 가지며, 상기 복수의 프로그램 명령은 복수의 인터럽트 프로세스 루틴을 구비하는 프로그램을 집합적으로 포함하는, 상기 고정 기억 수단과, 상기 데이터 버스와 어드레스 버스에 접속되며, 상기 프로그램 명령들을 실행하는 프로세서와, 상기 프로세서에 의해 실행된 상기 프로그램 명령들에 응답해서, 상기 프로세서에 의해 실행될 상기 프로그램 명령들을 유지하는 상기 복수의 위치에 대한 상기 고정 기억 수단 어드레스를 상기 어드레스 버스에 제공하는 어드레스 제어 수단과, 상기 프로세서에 의해 실행되는 상기 프로그램의 실행에 대한 복수의 변형을 나타내는 복수의 수정 명령을 유지하는 수정 정보 기억 수단로서, 상기 어드레스 버스 상의 수정 기억 수단 어드레스의 제어 하에, 상기 어드레스 버스 상의 상기 수정 기억 수단 어드레스에 의해 지정된 위치에서 상기 수정 정보 기억 수단 내에 유지된 수정 명령을 상기 데이터 버스에 제공하기 위해 접속되는, 상기 수정 정보 기억 수단와, 제 1 전환 수단을 포함하는 전환 수단으로서, 상기 제 1 전환 수단 내에 유지된 제 1 제어 데이터의 제어 하에, 상기 프로그램의 제 1 버그 부분의 명령들에 대한 고정 기억 수단 어드레스 대신에, 상기 수정 정보 기억 수단 내의 제 1 복수의 수정 명령에 대한 수정 기억 수단 어드레스를 상기 어드레스 버스에 제공함으로써, 상기 제 1 복수의 수정 명령이 상기 제 1 버그 부분의 명령들 대신에 실행을 위한 프로세서에 제공되며, 이에 의해 상기 제 1 복수의 수정 명령이 상기 제 1 버그 부분의 명령들 대신에 상기 프로세서에 의해 실행되는, 상기 전환 수단을 포함하며, 상기 전환 수단은, 제 2 전환 수단과, 상기 복수의 인터럽트 처리 루틴 중 하나가 상기 프로세서에 의해 실행되는 동안, 상기 제 2 전환 수단으로 상기 제 1 제어 데이터를 이동시킨 후, 상기 제 1 전환 수단으로 제 2 제어 데이터를 저장하는 이동 및 저장 수단으로서, 상기 복수의 인터럽트 처리 루틴 중 하나가 상기 프로세서에 의해 실행되는 동안, 상기 전환 수단은, 상기 제 1 전환 수단 내에 유지된 제 2 제어 데이터의 제어 하에, 상기 프로그램의 제 2 버그 부분의 명령들의 고정 기억 수단 어드레스 대신에 상기 수정 정보 기억 수단에 있는 제 2 복수의 수정 명령들에 대한 수정 기억 수단 어드레스를 상기 어드레스 버스에 제공함으로써, 상기 제 2 복수의 수정 명령이 상기 제 2 버그 부분의 명령들 대신에 실행을 위한 상기 프로세서에 제공되며, 이에 의해, 상기 복수의 인터럽트 처리 루틴 중 하나가 상기 프로세서에 의해 실행되는 동안, 상기 제 2 복수의 수정 명령은 상기 제 2 버그 부분의 명령들 대신에 상기 프로세서에 의해 실행되는, 상기 이동 및 저장 수단과, 상기 복수의 인터럽트 처리 루틴 중 하나가 상기 프로세서에 의해 실행이 종료될 때, 상기 제 2 전환 수단에 유지된 제 1 제어 데이터를 상기 제 1 전환 수단에 재차 저장하는 수단을 포함하며, 상기 제 1 제어 데이터는 상기 제 1 버그 부분에 대한 고정 기억 수단 어드레스로 구성되는 제 1 부분과 상기 제 1 복수의 수정 명령에 대한 수정 기억 수단 어드레스로 구성되는 제 2 부분을 포함하며, 상기 제 2 데이터는 상기 제 2 버그 부분에 대한 상기 고정 기억 수단 어드레스로 구성되는 제 1 부분과 상기 제 2 복수의 수정 명령에 대한 수정 기억 수단 어드레스로 구성되는 제 2 부분을 포함하며, 상기 전환 수단은, 상기 제 1 전환 수단 내에 상기 제 1 제어 데이터가 있든지 상기 제 2 제어 데이터가 있든지 간에 상기 어드레스 상의 어드레스와 상기 제 1 부분을 비교하는 비교 수단과, 상기 프로세서로 하여금 수정 처리 인터럽트 루틴을 실행시키도록 하기 위하여 상기 프로세서에 인터럽트를 발생하는 인터럽트 신호 발생 수단으로서, 상기 수정 처리 인터럽트 루틴은 상기 복수의 인터럽트 처리 루틴 중 하나이며, 상기 수정 처리 인터럽트 루틴의 실행은 상기 전환 수단으로 하여금 상기 제 1 전환 수단 내에 상기 제 1 제어 데이터가 있든지 제 2 제어 데이터가 있든지 간에 상기 제 2 부분을 상기 어드레스 버스에 제공하도록 하는, 상기 인터럽트 신호 발생 수단을 더 포함하는, 전자 장치.
KR1019930000467A 1992-01-24 1993-01-15 전자장치 KR100307857B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP01120692A JP3230262B2 (ja) 1992-01-24 1992-01-24 電子装置及びその固定情報修正方法
JP92-011206 1992-01-24

Publications (2)

Publication Number Publication Date
KR930016880A KR930016880A (ko) 1993-08-30
KR100307857B1 true KR100307857B1 (ko) 2001-11-30

Family

ID=11771541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930000467A KR100307857B1 (ko) 1992-01-24 1993-01-15 전자장치

Country Status (6)

Country Link
US (1) US6128751A (ko)
EP (1) EP0553733B1 (ko)
JP (1) JP3230262B2 (ko)
KR (1) KR100307857B1 (ko)
CA (1) CA2087696A1 (ko)
DE (1) DE69331292T2 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH089435A (ja) * 1994-06-15 1996-01-12 Nec Corp 選択呼出受信機
GB2292470A (en) * 1994-08-19 1996-02-21 Advanced Risc Mach Ltd Rom patching
GB2309324B (en) * 1996-01-17 2000-09-06 Motorola Inc Method for storing repair data in a micro processor system
JP2867965B2 (ja) * 1996-06-28 1999-03-10 日本電気株式会社 データ処理装置及びデータ処理方法
US6009540A (en) * 1997-04-08 1999-12-28 Aitm Associates Incorporated Logic module for implementing system changes on PC architecture computers
FR2764407B1 (fr) * 1997-06-05 1999-07-30 Alsthom Cge Alcatel Dispositif de retouche de programme de commande dans un processeur
JP2001184203A (ja) * 1999-12-24 2001-07-06 Matsushita Electric Ind Co Ltd プログラム修正装置
JP2001256044A (ja) * 2000-03-14 2001-09-21 Sony Corp データ処理装置
GB2373888A (en) * 2001-03-30 2002-10-02 Toshiba Res Europ Ltd Dynamic vector address allocation for a code patching scheme
US20040015939A1 (en) * 2001-05-16 2004-01-22 Cheah Jonathon Y. Updateable memory module
US6925521B2 (en) * 2001-09-10 2005-08-02 Texas Instruments Incorporated Scheme for implementing breakpoints for on-chip ROM code patching
AU2003278342A1 (en) 2002-11-18 2004-06-15 Arm Limited Security mode switching via an exception vector
DE60308215T2 (de) 2002-11-18 2007-08-23 Arm Ltd., Cherry Hinton Prozessorschaltung zwischen sicheren und nicht sicheren modi
JP2004213102A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd マイクロコンピュータ
US7269707B2 (en) * 2003-01-10 2007-09-11 Texas Instruments Incorporated Multiple patches to on-chip ROM in a processor with a multilevel memory system without affecting performance
US7596721B1 (en) * 2004-01-09 2009-09-29 Maxtor Corporation Methods and structure for patching embedded firmware
US7464248B2 (en) 2005-04-25 2008-12-09 Mediatek Incorporation Microprocessor systems and bus address translation methods
US7533240B1 (en) * 2005-06-01 2009-05-12 Marvell International Ltd. Device with mapping between non-programmable and programmable memory
US7526578B2 (en) * 2006-02-17 2009-04-28 International Business Machines Corporation Option ROM characterization
US20080263533A1 (en) * 2007-04-19 2008-10-23 Proton World International N.V. Implementation of patches by a processing unit
CN101334760B (zh) * 2007-06-26 2010-04-07 展讯通信(上海)有限公司 监控总线非法操作的方法、装置及包含该装置的系统
US8156486B2 (en) * 2008-10-29 2012-04-10 Mediatek Inc. Patching devices and methods thereof for patching firmware functions
CN103268237A (zh) * 2013-05-10 2013-08-28 东信和平科技股份有限公司 一种掩膜智能卡的补丁功能扩展方法及装置
US9547489B2 (en) * 2014-03-31 2017-01-17 Qualcomm Incorporated System and method for modifying a sequence of instructions in a read-only memory of a computing device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802119A (en) * 1987-03-17 1989-01-31 Motorola, Inc. Single chip microcomputer with patching and configuration controlled by on-board non-volatile memory
EP0458559A2 (en) * 1990-05-24 1991-11-27 Schlumberger Industries Limited Mask-programmable microprocessors

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4150428A (en) * 1974-11-18 1979-04-17 Northern Electric Company Limited Method for providing a substitute memory in a data processing system
JPS5721799B2 (ko) * 1975-02-01 1982-05-10
JPS5245232A (en) * 1975-10-08 1977-04-09 Hitachi Ltd Micro program modification circuit
US4028683A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with counter
US4028678A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit
US4028684A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with repatching capability
US4218757A (en) * 1978-06-29 1980-08-19 Burroughs Corporation Device for automatic modification of ROM contents by a system selected variable
US4291375A (en) * 1979-03-30 1981-09-22 Westinghouse Electric Corp. Portable programmer-reader unit for programmable time registering electric energy meters
US4296470A (en) * 1979-06-21 1981-10-20 International Business Machines Corp. Link register storage and restore system for use in an instruction pre-fetch micro-processor interrupt system
JPS56136054A (en) * 1980-03-26 1981-10-23 Hitachi Ltd Function assigning circuit
US4319343A (en) * 1980-07-16 1982-03-09 Honeywell Inc. Programmable digital memory circuit
US4456966A (en) * 1981-02-26 1984-06-26 International Business Machines Corporation Memory system with flexible replacement units
JPS57150019A (en) * 1981-03-13 1982-09-16 Hitachi Ltd Control system of terminal device
JPS57196357A (en) * 1981-05-29 1982-12-02 Toshiba Corp Data processor
JPS57211651A (en) * 1981-06-23 1982-12-25 Toshiba Corp Patch system
US4490783A (en) * 1981-07-02 1984-12-25 Texas Instruments Incorporated Microcomputer with self-test of microcode
US4400798A (en) * 1981-07-13 1983-08-23 Tektronix, Inc. Memory patching system
JPS5816350A (ja) * 1981-07-22 1983-01-31 Toshiba Corp メモリ拡張代替方式
JPS5886648A (ja) * 1981-11-18 1983-05-24 Mitsubishi Electric Corp トレ−ス装置
US4542453A (en) * 1982-02-19 1985-09-17 Texas Instruments Incorporated Program patching in microcomputer
US4490812A (en) * 1982-09-30 1984-12-25 Mostek Corporation User reprogrammable programmed logic array
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
US4607332A (en) * 1983-01-14 1986-08-19 At&T Bell Laboratories Dynamic alteration of firmware programs in Read-Only Memory based systems
US4769767A (en) * 1984-01-03 1988-09-06 Ncr Corporation Memory patching system
US4610000A (en) * 1984-10-23 1986-09-02 Thomson Components-Mostek Corporation ROM/RAM/ROM patch memory circuit
FR2573227B1 (fr) * 1984-11-09 1987-01-30 Palais Decouverte Dispositif de simulation et de securite pour clavier de saisie de donnees
US4745572A (en) * 1985-11-04 1988-05-17 Step Engineering Software editing instrument
US4709324A (en) * 1985-11-27 1987-11-24 Motorola, Inc. Data processor control unit having an interrupt service using instruction prefetch redirection
JPS62249231A (ja) * 1986-04-23 1987-10-30 Pfu Ltd マイクロプログラム制御処理方式
JPH01503028A (ja) * 1986-06-09 1989-10-12 データコンサルト、イ、マルメ、アクチェボラーグ 暗号化及び解読装置
US4751703A (en) * 1986-09-16 1988-06-14 International Business Machines Corp. Method for storing the control code of a processor allowing effective code modification and addressing circuit therefor
US4831517A (en) * 1986-10-10 1989-05-16 International Business Machines Corporation Branch and return on address instruction and methods and apparatus for implementing same in a digital data processing system
US4942541A (en) * 1988-01-22 1990-07-17 Oms, Inc. Patchification system
JPS6465633A (en) * 1987-09-07 1989-03-10 Hitachi Ltd Microprogram controller
JP3023425B2 (ja) * 1987-10-09 2000-03-21 株式会社日立製作所 データ処理装置
JPH0199129A (ja) * 1987-10-12 1989-04-18 Fujitsu Ltd マイクロプログラム修正方式
JPH01114941A (ja) * 1987-10-28 1989-05-08 Fujitsu Ltd プログラム修正方式
JPH01232447A (ja) * 1988-03-11 1989-09-18 Mitsubishi Electric Corp シングル・チップ・マイクロコンピュータ
JPH01286029A (ja) * 1988-05-13 1989-11-17 Nec Corp マイクロプログラムのパッチ方式
US4905200A (en) * 1988-08-29 1990-02-27 Ford Motor Company Apparatus and method for correcting microcomputer software errors
US5063499A (en) * 1989-01-09 1991-11-05 Connectix, Inc. Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing
DE68923864T2 (de) * 1989-04-19 1996-05-02 Ibm Anordnung zur Speicher- und Peripherie-Bausteinauswahl.
JPH03142629A (ja) * 1989-10-30 1991-06-18 Toshiba Corp マイクロコントローラ
US5199032A (en) * 1990-09-04 1993-03-30 Motorola, Inc. Microcontroller having an EPROM with a low voltage program inhibit circuit
US5408672A (en) * 1991-11-18 1995-04-18 Matsushita Electric Industrial Co. Microcomputer having ROM to store a program and RAM to store changes to the program
US5623665A (en) * 1992-01-13 1997-04-22 Sony Corporation Electronic apparatus for patching a read-only memory
JPH06318261A (ja) * 1992-09-18 1994-11-15 Sony Corp 電子装置
JP3284614B2 (ja) * 1992-09-19 2002-05-20 ソニー株式会社 電子装置
JP3810805B2 (ja) * 1992-09-19 2006-08-16 ソニー株式会社 情報修正システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802119A (en) * 1987-03-17 1989-01-31 Motorola, Inc. Single chip microcomputer with patching and configuration controlled by on-board non-volatile memory
EP0458559A2 (en) * 1990-05-24 1991-11-27 Schlumberger Industries Limited Mask-programmable microprocessors

Also Published As

Publication number Publication date
DE69331292D1 (de) 2002-01-24
JP3230262B2 (ja) 2001-11-19
US6128751A (en) 2000-10-03
EP0553733A2 (en) 1993-08-04
CA2087696A1 (en) 1993-07-25
JPH05204630A (ja) 1993-08-13
DE69331292T2 (de) 2002-06-13
EP0553733A3 (en) 1997-10-15
EP0553733B1 (en) 2001-12-12
KR930016880A (ko) 1993-08-30

Similar Documents

Publication Publication Date Title
KR100307857B1 (ko) 전자장치
US6298434B1 (en) Data processing device for processing virtual machine instructions
US7752427B2 (en) Stack underflow debug with sticky base
JP2013522750A (ja) 例外イベントを取り扱うための装置および方法
EP0725333B1 (en) Control system for processor
JPH04346127A (ja) 電子装置
JPH06187143A (ja) 電子装置
US20060095726A1 (en) Independent hardware based code locator
JPH01310441A (ja) データ処理装置
EP0447685A2 (en) Programmable controller
EP2124147A1 (en) Multi-processor system and program execution in the system
KR100280590B1 (ko) 전자 장치
EP0577393B1 (en) Method for executing a program
CN114047952A (zh) 用于单片机的处理器、方法、单片机和存储介质
US7203867B2 (en) Processor system, processor and arithmetic processing method
JPH0877021A (ja) 割込処理装置および方法
KR20010015000A (ko) 롬 정정 유닛을 구비하는 컴퓨터 시스템
EP1177499A1 (en) Processor and method of executing instructions from several instruction sources
TW201734821A (zh) 暫存器存取控制
JPH06103109A (ja) データプロセッサ、及びこれを用いるデバッグ装置
KR20020029921A (ko) 정적 기억 장치 내의 마이크로 명령어를 수정하는 방법 및장치
JPH08249206A (ja) スタック領域破壊検出機能付き計算機
JP3575052B2 (ja) 電子装置
US7131118B2 (en) Write-through caching a JAVA® local variable within a register of a register bank
JPH0795288B2 (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: 20080725

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee