KR100197761B1 - Ic카드와 ic카드 억세스 처리방법 - Google Patents
Ic카드와 ic카드 억세스 처리방법 Download PDFInfo
- Publication number
- KR100197761B1 KR100197761B1 KR1019900001255A KR900001255A KR100197761B1 KR 100197761 B1 KR100197761 B1 KR 100197761B1 KR 1019900001255 A KR1019900001255 A KR 1019900001255A KR 900001255 A KR900001255 A KR 900001255A KR 100197761 B1 KR100197761 B1 KR 100197761B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- data
- cpu
- level
- address
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/355—Personalisation of cards for use
- G06Q20/3558—Preliminary personalisation for transfer to user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3672—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
내용없음.
Description
제1도는 본 발명에 따른 아이씨(IC)카드의 구성도.
제2도는 제1도에 도시된 IC카드의 블럭도.
제3도는 제2도의 IC카드에 사용한 데이터프로세서의 블럭도.
제4도는 제3도의 데이터프로세서에 사용된 메모리 구성도.
제5도는 제3도의 데이터프로세서에 사용된 감독회로의 블럭도.
제6도는 제5도에 도시된 감독회로에 사용된 억세스신호 발생회로의 블럭도.
제7도는 제1도에 도시된 IC카드에 사용되는 컴퓨터프로그램의 예를 설명하는 프로그램도.
제8도와 제9도는 제7도에 도시된 프로그램에 따라 동작하는 제3도에 도시된 CPU에 의해 발생되는 신호의 파형도.
제10도는 데이터프로세서가 인터럽트된 후 제3도에 도시된 CPU의 동작을 설명하기 위한 흐름도.
제11도는 제1도에 도시된 IC카드에 사용되는 컴퓨터 명령프로그램의 두번째 예.
제12도는 제11도에 도시된 프로그램에 따라 동작하는 제3도에 도시된 CPU(제3도 참조)에 의해 발생된 신호의 파형도.
제13도는 제1도에서 도시된 IC카드에서 사용되는 컴퓨터 명령의 프로그램의 세번째 예.
제14도는 제13도에 도시된 프로그램에 따라 동작하는 제3도에 도시된 CPU에 의해 발생되는 신호의 파형도.
제15도는 제1도에 도시된 IC카드에 사용되는 컴퓨터 명령의 프로그램의 네번째 예.
제16도는 제15도에 도시된 프로그램에 따라 동작하는 제3도에 도시된 CPU에 의해 발생된 신호의 파형도이다.
[산업상의 이용분야]
본 발명은 데이터처리시스템에 관한 것으로, 특히 제2프로그램을 이용하는 것으로부터 제1프로그램을 금지시키기 위한 컴퓨터 명령의 제1, 제2프로그램을 갖춘 데이터처리시스템에 관한 것이다.
또한, 본 발명은 CPU를 내장한 IC카드에 관한 것으로서, 사용자에 의한 제1프로그램과 카드제조업자에 의한 제2프로그램에 부합하여 제1프로그램상의 프로그램명령으로 하여금 제2프로그램상의 프로그램명령을 직접 사용못하도록 조정하는 IC카드에 관한 것이다.
[종래의 기술 및 그 문제점]
미국특허 제4,211,919호에서 알 수 있듯이, IC카드는 카드안에 마이크로프로세서를 포함한다. IC카드의 장점은 정보의 기밀을 유지할 수 있다는 것인 바, 예를 들면 어떤 사람도 개인비밀번호 없이는 IC카드에 저장된 정보에 억세스할 수 없도록 되어 있다.
은행과 같은 카드 발급자는 자은행에서 만들어진 특별 응용프로그램을 카드제조업자가 아는 것을 원하지 않을 것이다.
따라서, 제조업자들은 카드를 공급할 때 단지 기초 프로그램만 내장된 IC카드를 제공하게 되고, 카드 발급자는 자신의 고객에게 응용 프로그램을 제공하게 된다. 따라서, 카드제조업자들은 다수의 카드발급자들에게 응용 프로그램이 빠져 있는 똑같은 카드들을 공급할 수 있다.
또한, 카드제조업자에게 중요한 것은 카드발급자에 관계된 기밀정보와 기본적인 운용 프로그램들을 유지해야 한다는 점인데, 만약 카드발급자들이 기본적인 운용 프로그램의 특성과 구조를 스스로 결정할 수 있다면 카드제조업자의 필요성을 줄일 수 있게 된다.
[발명의 목적]
본 발명은 상기한 점을 감안하여 발명된 것으로, 제1프로그램으로부터 제2프로그램으로 점프하는 것 없이 제1, 제2프로그램에 따른 명령을 실행하기 위한 제1 및 제2프로그램을 갖춘 데이터처리시스템을 제공하고, 또한 값싸고 제조하기 쉬운 데이터처리시스템을 제공하며, 다양한 목적에 이용하고, IC카드상에서 실시되어지며, 시스템내에서 선택된 데이터들이 기밀을 유지하고, 컴퓨터 프로그램 명령부가 두 부분으로 나누어져 구분되며, 프로그래밍 및 사용이 용이하도록 된 데이터처리시스템을 제공하고자 함에 그 목적이 있다.
[발명의 구성 및 작용]
상기 목적을 달성하기 위한 본 발명의 데이터처리시스템은 제1컴퓨터 프로그램을 저장할 수 있는 제1메모리부와, 제2컴퓨터 프로그램을 저장할 수 있는 제2메모리부를 포함한다. 제1, 제2메모리부에 저장된 프로그램을 독출하고 실행하기 위한 처리수단이 제공된다. 또한, 컴퓨터 명령이 다른 제1 또는 제2프로그램과 관련되는 프로세서에 의해 제1 또는 제2프로그램으로부터 독출되는가의 여부를 결정함과 더불어 이러한 결정에 응답하여 인터럽트신호를 발생시키는 회로가 제공된다. 인터럽트신호가 발생될 경우 프로세서가 인터럽트신호에 의해 인터럽트되어 추후처리가 방지된다.
[실시예]
이하, 예시도면을 참조하여 본 발명에 따른 실시예를 상세히 설명한다. 제1도에 있어서, 본 발명에 따른 IC카드(11)와 같은 전자장치가 베이스(13)를 구비하여 이루어진다. 상기 베이스(13)는 휴대형 사각모양으로서, 데이터 저장용 마그네틱 스트라이프(15)가 베이스(13)에 위치해 있다.
IC카드(11)는 마그네틱 스트라이프(15)의 독출에 의해 현금 지급기와 같은 거래식 마그네틱 카드 독출기에서 운용될 수 있다. 또한, IC카드(11)는 데이터 네트워크에서 사용되는 독출기나 기록기와 같은 외부장치(도시되지 않았음)를 IC카드(11)와 전기적으로 연결하기 위해 외부접촉단자(17)를 포함한다. 재래식 마그네틱 카드의 종래 기술에서 알 수 있는 바와 같이 카드 소지자나 카드발급자에 대한 정보는 베이스(13)에 요철 인쇄되어 있다.
제2도는 IC카드(11)의 내부구조로서, IC카드(11)는 데이터프로세서(21)를 포함함으로써 접촉단자(17)를 통해서 들어온 입력신호에 응답하여 소정 기능을 수행한다. 데이터프로세서(21)는 직·병렬 인터페이스회로(23; 이하, S/P인터페이스회로로 칭함)와 입·출력회로(25; 이하, I/O단자로 칭함)를 통하여 접촉단자(17)와 연결되고, I/O 단자(25)는 접촉단자(17)와 연결되어 있다.
이하, 제3도를 참조하여 데이터프로세서(21)를 설명하는 바, 데이터프로세서(21)는 CPU(31)를 포함함으로써, EPROM(33; Erasable and Programmable Read Only Memory)과 같은 제1기억장치에 저장된 프로그램에 대응한 기능을 수행하고, E2PROM(35; Erasable and Electrically Programmable Read Only Memory)와 같은 제2기억장치는 은행과 같은 카드공급자에 의해 만들어진 프로그램을 저장하며, 기능수행중 발생된 데이터는 잠시 RAM(37; Random Access Memory; 이하, RAM으로 칭함)에 저장된다. CPU(31)는 어드레스 데이터를 전송하기 위한 16비트 어드레스버스(39)와 데이터를 전송하기 위한 8비트 데이터버스(41)와 같은 데이터·어드레스버스를 통하여 EPROM(35), E2PROM(35), RAM(37)을 억세스한다. 만약, CPU(31)가 EPROM(33), E2PROM(35), RAM(37)을 억세스 하면, CPU(31)는 어드레스버스(39) 상에 어드레스 데이터를 출력하고, 어드레스버스(39)의 출력단자와 접속된 디코더(43)는 어드레스 데이터를 전송받는다. 디코더(43)가 어드레스 데이터를 인에이블신호로 전환함으로써, 어드레스 데이터에 대응된 RAM(37), E2PROM(35), EPROM (33)으로 인에이블신호가 전송된다. EPROM(339), E2PROM(35), RAM(37)은 인에이블신호를 전송받고, CPU(31)에 의해 억세스될 수 있다.
만약, CPU(31)가 EPROM(33), E2PROM(35) 또는 RAM(37)의 소정 영역을 억세스하도록 시도할 경우 이를 감독장치(supervising device)가 찾는다면, CPU(31)가 EPROM(33), E2PROM(35) 또는 RAM(37)을 억세스하는 것으로부터 방지될 수 있다. 1 실시예에 있어서, CPU(31)는 자이로그(Zilog)사에서 만들어진 Z80으로 될 수 있고, 이하에서 설명하는 신호들과 연관된 6핀과, 어드레스버스(39)와 데이터버스(41)의 출력을 위한 다수의 핀을 갖춘다.
6핀중 하나인 M1핀(51)은 M1신호를 출력하는 것으로, L레벨일 때 M1신호는 현재의 머신사이클이 명령실행의 오퍼레이션코드(이하, OP-코드로 칭함)의 폐치사이클(fetch cycle)임을 나타낸다. OP-코드 페치사이클(opcode fetch cycle)은 명령을 실행하기 위한 제1머신사이클이다.
MREQ핀(53)은 메모리요청신호를 출력하는 것으로, L레벨일 때 MREQ신호는 메모리 독출 또는 기록동작을 위한 어드레스버스(39)가 유효한 어드레스 데이터를 어드레스버스(39)가 유지하는 것을 나타낸다.
IORQ핀(55)은 입·출력 요청(이하, IORQ로 칭함) 신호를 출력하는 것으로, L레벨일 때 IORQ신호는 I/O독출 또는 기록동작을 위한 유효한 I/O 어드레스를 어드레스버스(39)의 하위 반이 유지하는 것을 나타낸다. 또한, IORQ신호는 인터럽트 확인사이클(interrupt acknowledge cycle)동안 M1신호와 함께 L레벨로 되는데, 이는 CPU(31)가 소정 명령의 끝에서 마지막 클럭 사이클의 상승엣지와 함께 인터럽트 신호를 샘플할 때 개시된다.
RD핀(57)은 독출(이하, RD로 칭함)신호를 출력하고, L레벨에서 CPU(31)가 EPROM(33), E2PROM(35), RAM(37), I/O장치(25; 제1도 참조)로 부터 데이터의 독출을 원하는 것을 나타낸다.
WR핀(59)은 기록(이하, WR로 칭함)신호를 출력하고, L레벨에서 데이터버스(41)가 어드레스 메모리나 I/O위치에 저장된 유효한 데이터를 유지하는 것을 나타낸다.
INT핀(61)은 인터럽트 요청(이하, INT로 칭함)신호를 수신한다. INT신호는 CPU(31) 이외의 다른 장치에 의해 발생되는 바, 본 실시예에 따르면 INT신호는 감독장치(45)에 의해 발생된다.
EPROM(33)은 CE핀과 OE핀을 가지고 있는데, CE핀(63)은 디코더(43)로부터 칩인에이블(이하, CE로 칭함) 신호를 수신하고, L레벨에서 CPU(31)로부터 데이터 입력이나 명령을 받을 수 있도록 EPROM(33)을 인에이블시킨다. 또한, EPROM(33)은 CPU(31)의 RD핀(57)으로부터 출력 인에이블(이하, OE로 칭함) 신호를 수신하는 OE핀(65)을 갖춘다. L레벨일 때 OE신호는 EPROM(33)에 저장된 데이터를 출력하도록 EPROM(33)을 인에이블시킨다.
또한, E2PROM(35)은 CE핀(67), OE핀(69), WE핀(71)을 갖춘다.
CE핀(67)은 디코더(43)로부터 CE신호를 수신하고, L레벨일 때 CPU(31)로부터의 데이터 입력이나 명령을 받을 수 있도록 E2PROM(35)을 인에이블시킨다. OE핀(69)은 CPU(31)의 RD핀(57)으로부터 OE신호를 수신하고, L레벨일 때 E2PROM(35)에 저장된 데이터를 출력하도록 E2PROM(35)을 인에이블시킨다. WE핀(71)은 NAND게이트(97)로부터 기록인에이블(이하, WE로 칭함)신호를 수신하고, WE신호는 L레벨일 때 CPU(31)와 같은 다른 장치에 의해 기록될수 있도록 E2PROM(35)을 인에이블시킨다.
RAM(37)은 CE핀(73), OE핀(75), WE핀(77)을 갖추고, 여기서 CE핀(73)은 디코더(43)로부터 CE신호를 수신한다. L레벨에서 CE신호는 CPU(31)에 의해 데이터 입력이나 명령을 허용하도록 RAM(37)을 인에이블시킨다. OE핀(75)은 CPU(31)의 RD핀(57)으로부터 OE신호를 수신한다. L레벨일 경우, OE신호는 RAM(37)에 저장된 데이터를 출력하도록 RAM(37)을 인에이블시킨다. WE핀(77)은 제1네가티브 AND게이트(97)로부터 WE신호를 수신하고, L레벨일 경우 CPU(31)에 의해 그 내에 기록되어질 수 있도록 RAM(37)을 인에이블시킨다.
감독장치(45)는 제1입력핀(79), 제2입력핀(81), 제3입력핀(83), 제4입력핀(85), 제5입력핀(87)과, 제1출력핀(89), 제2출력핀(91), 제3출력핀(93)을 갖춘다. 더욱이, 데이터프로세서(21)는 제1, 제2네가티브 AND게이트(95, 97)를 더 포함한다.
CPU(31)의 어드레스버스(39)는 EPROM(33), E2PROM(35), RAM(37), 디코더(43), 감독장치(45)와 접속되고, CPU(41)의 데이터버스(41)는 EPROM(33), E2PROM(35), RAM(37), 감독장치(45)와 접속되어 있다.
M1핀(51)은 감독장치(45)의 제1입력핀(79)과 접속되고, MREQ핀(53)은 디코더(43)의 입력핀 및 감독장치(45)의 제5입력핀(87)과 접속되어 있다.
IORQ핀(55)은 감독장치(45)의 제4입력핀(85) 및 제1네가티브 AND게이트(95)의 제1입력핀(99)과 접속된다. 네가티브 AND게이트는 2개의 입력이 L레벨이면 L레벨을 출력하고 적어도 1개가 H레벨의 입력이라면 H레벨을 출력하는 논리회로로서, OR게이트와 같은 기능을 한다.
RD핀(57)은 감독장치(45)의 제3입력핀(83)과, EPROM(33), E2PROM(35), RAM(37)의 OE핀(65, 69, 75)에 접속되어 있다.
WR핀(59)은 감독장치(45)의 제2입력핀(81)과 제2네가티브 AND게이트(97)의 입력(101)에 접속된다.
감독장치(45)의 제1출력핀(89)은 CPU(31)의 INT핀(61)에 접속되고, 제2출력핀(91)은 제1네가티브 AND게이트(95)의 제2입력핀(103)에 접속되며, 제3출력핀(93)은 제2네가티브 AND게이트(97)의 제1입력핀(105)에 접속된다. 제1네가티브 AND게이트(95)의 출력핀(107)은 I/O장치(25)에 접속되고, 제2네가티브 AND게이트(97)의 출력핀(109)은 E2PROM(35)과 RAM(37)의 WE핀(71, 77)과 접속된다.
디코더(43)의 3개의 출력은 각각 EPROM(33), E2PROM(35), RAM(37)의 CE핀(63, 67, 73)과 접속되어 있다.
CPU(31)는 어드레스버스(39)상에 어드레스 데이터를 위치시키고, 공급된 어드레스 데이터에 대응하는 메모리를 억세스하며, 메모리로부터의 OP-코드를 로드시킨다. 또한, CPU(31)는 OP-코드를 디코드하고, 디코드된 OP-코드에 따른 실행을 한다.
이러한 동작에 있어서 디코더(43)는 CPU(31)로부터 공급된 어드레스 데이터에 따라 EPROM(33), E2PROM(35), RAM(37)으로 부터 메모리를 선택한다. 동시에, 감독장치(45)는 어드레스 데이터를 수신하고, CPU(31)는 CPU(31)로부터 공급된 어드레스 데이터에 의하여 특정 메모리 어드레스를 억세스하도록 허용하는가의 여부를 결정한다.
제4도는 감독장치(45)의 동작과, EPROM(33), E2PROM(35), RAM(37)과 같은 다수의 메모리에 어떻게 어드레스를 할당하는가를 보여주고 있다.
IC카드(11)는 2가지 형태의 프로그램을 갖춘다. 프로그램의 하나의 형태는 카드 제조업자에 의해 제공되고, 이 프로그램(이하, 기본프로그램으로 칭함)은 IC카드의 기본동작, 즉 개인식별번호(이하, PIN으로 칭함)를 확인하기 위한 처리를 정의한다.
다른 프로그램은 통상 재정단체인 카드 소지자나 카드발급자(이하, 사용자로 칭함)에 의해 제공되는데, 대부분의 카드발급자들은 카드 제조업자들의 통제없이 특정 서비스를 위한 IC카드를 이용하는 것을 원한다. 위와 같은 요구를 충족시키기 위해 사용자에 의해 제공된 프로그램(이하, 사용자 프로그램으로 칭함)이 IC카드(11)에 저장되어 사용되게 된다.
본 실시예에 따르면, 시스템 프로그램이 메모리 영역내의 기본프로그램영역(201)에 저장되고, 기본프로그램영역(201)은 어드레스 0000(16진법, 이하, Hex로 칭함)에서 시작하여 어드레스 1FFF(Hex)까지 확장된다. 여기서, 기본프로그램영역(201)은 EPROM(33)에 위치한다.
사용자 프로그램은 메모리 영역내의 사용자 등록프로그램영역(203)에 저장되고, 이 사용자 등록프로그램영역(203)은 어드레스 2000(Hex)에서 시작하여 어드레스 27FF(Hex)까지 확장되고, E2PROM(35)에 위치한다. 사용자 프로그램을 동작시키기 위해 필요한 정보는 사용자 독출가능영역(205)에 저장되어 있는데, 이는 어드레스 2000(Hex)에서 시작하여 어드레스 27FF(Hex)까지 확장되고, 사용자 등록프로그램영역(203)을 포함한다. 여기서, CPU(31)는 단지 사용자 독출가능영역(205)에 저장된 정보만을 독출할 수 있다.
시스템 프로그램과 사용자 프로그램의 동작기간에 발생된 데이터는 어드레스 5000(Hex)에서 시작하여 어드레스 60FF(Hex)까지 확장된 사용자 독출·기록가능영역(207)에서 기록 및 독출될 수 있다. 어드레스 5000(Hex)부터 5FFF(Hex)까지는 E2PROM(35)에 대응되고, 어드레스 6000(Hex)부터 60FF(Hex)까지는 RAM(37)에 대응된다. 사용자 독출·기록가능영역(207)은 CPU(31)를 위한 작업메모리(working memory)로서 예약되어 있다.
상기한 바와 같이 IC카드(11)는 2가지 형태의 프로그램을 갖추고 있다. 사용자 프로그램은 카드 소지자나 카드발급자에 의해 제공된다. 만약, 사용자 등록프로그램이 기본프로그램내에 포함된 단계까지 분기된 상태를 포함한다면 사용자는 기본 프로그램을 억세스할 수 있게 되고, 이러한 나쁜 상황인 경우에, 사용자는 기본 프로그램 동작에 사용된 정보를 훔치거나 변경할 수 있다.
상기한 바와 같이, 기본 프로그램은 PIN(Personal Identification Number)을 검사하기 위한 단계를 포함하는 IC카드(21)의 기본적인 동작을 구비하여 이루어진다. 기본 프로그램동작의 비밀성은 카드 제조업자에 의해 보장되어야 하고, 제조업자를 제외한 어느 누구도 기본 프로그램을 억세스할 수 없도록 되어야 한다. 본 발명에 따르면, 감독장치(45)는 사용자 프로그램 동작 동안 기본 프로그램을 억세스하는 것으로부터 CPU(31)를 방지한다.
제5도는 감독장치(45)를 상세하게 나타낸 것으로, 어드레스버스(39)는 독출 어드레스 디코더(121)가 2000(Hex)부터 2FFF(Hex)사이의 어드레스 데이터를 검출할 때 L레벨로 되는 신호(A)를 출력하는 독출 어드레스 디코더(121)에 접속되어 있다. 여기서, 2000(Hex)부터 2FFF(Hex)사이의 어드레스 영역은 사용자 독출가능영역이다(제4도 참조).
또한, 어드레스버스(39)는 기록 어드레스 디코더(123)가 5000(Hex)부터 60FF(Hex) 사이의 어드레스 데이타를 검출할 때 L레벨로 되는 신호(B)를 출력하는 기록 어드레스 디코더(123)와 접속되어 있다. 여기서, 5000(Hex)부터 60FF(Hex)까지의 어드레스 영역은 사용자 독출·기록가능영역이다(제4도 참조).
어드레스버스(39)는 OP-코드 어드레스 디코더(125)가 2000(Hex)부터 27FF(Hex)의 어드레스 데이터를 검출할 때 L레벨로 되는 신호(C)를 출력하는 OP-코드 어드레스 디코더(125)와 접속되어 있다. 여기서, 2000(Hex)부터 27FF(Hex)까지의 어드레스영역은 사용자 등록 프로그램영역이다(제4도 참조). 예컨대, 어드레스버스(39)에 전송된 어드레스 데이터가 2000(Hex)일 때, 신호(A)와 신호(C)가 L레벨로 되어 감시장치(45)가 다른 영역으로부터 사용자 등록 프로그램 영역을 나타내는 어드레스 데이터를 식별한다.
또한, 어드레스버스(39)는 MREQ신호와 같이 CPU(31)로부터의 신호에 응답하는 억세스 신호회로(127)와 접속되고, EPROM(33)과, OP-코드 억세스, 독출억세스 또는 기록억세스와 같이 CPU(31)에 의해 억세스되는 형태의 3개의 메모리중 하나에 대해 CPU(31)에 의한 억세스를 나타내는 신호를 발생시킨다. OP-코드 억세스수단은 CPU(31)가 메모리에 저장되어 있는 OP-코드를 얻기 위해 3개의 메모리중 하나에 억세스하는 것을 나타내는 것이고, 독출 억세스수단은 CPU(31)가 메모리에 저장되어 있는 데이터를 독출하기 위해 3개의 메모리중 하나에 억세스하는 것이며, 기록 억세스수단은 CPU(31)가 메모리에 데이터를 기록하기 위해 3개의 메모리중 하나에 억세스하는 것이다.
CPU(31)가 OP-코드 억세스모드에 있을 때 억세스 신호회로(127)는 L레벨의 출력신호(D)를 출력하고, CPU(31)가 독출 억세스모드에 있을 때 억세스신호회로(127)는 L레벨의 출력신호(E)를 출력하며, CPU(31)가 기록억세스모드에 있을 때 발생되는 억세스신호회로(127)는 L레벨의 신호(F)를 발생할 수 있게 한다. 이하, 억세스신호회로(127)를 상세히 설명한다.
신호(A)를 출력하는 독출 어드레스 디코더(121)의 출력단자가 신호(A)의 레벨을 인버팅하기 위해 제1인버터(129)의 입력단자에 접속된다. 제1인버터(129)의 출력단자가 제3네가티브 AND게이트(131)의 제1입력단자에 접속되고, 제3네가티브 AND게이트(131)의 출력단자가 제1플립플롭(133; 이하 F/F로 칭함)의 리세트단자에 접속되어 있다.
제3네가티브 AND게이트(131)의 제2입력단자가 신호(E)를 출력하는 단자에 접속되어 있다.
신호(B)를 출력하는 기록어드레스 디코더(123)의 출력단자가 신호(B)의 레벨을 인버팅하기 위한 제2인버터(135)의 입력단자에 접속되어 있고, 제2인버터(135)의 출력단자는 제4네가티브 AND게이트(137)의 제1입력단자에 접속되어 있다. 제4네가티브 AND게이트(137)의 출력단자가 제2F/F(139)의 리세트단자에 접속되어 있다. 그리고, 제4네가티브 AND게이트(137)의 제2입력단자는 억세스 신호회로(127)의 신호(F)를 출력하는 단자와 접속되어 있다.
신호(C)를 출력하는 OP-코드 어드레스 디코더(125)의 출력단자는 신호(C)의 레벨을 인버팅하기 위한 제3인버터(141)의 입력단자와 접속되어 있고, 제3인버터(141)의 출력단자는 제5네가티브 AND게이트(143)의 제1입력단자에 접속되어 있으며, 제5네가티브 AND게이트(143)의 출력단자는 제3F/F(145)의 리세트단자에 접속되어 있다.
제1, 제2, 제3F/F(133, 139, 145)의 출력단자는 3개의 입력중 적어도 하나가 L레벨일 때 L레벨신호를 출력하기 위한 네가티브 OR게이트(147)에 접속되어 있고, 이 네가티브 OR게이트(147)는 CPU(31)의 INT핀(61)에 신호(L)를 전송한다.
또한, 출력신호(C)를 출력하는 OP-코드 어드레스 디코더(141)의 출력단자는 제6네가티브 AND게이트(149)의 제1입력단자와 접속되어 있고, 제6네가티브 AND게이트(149)의 제2입력단자는 출력신호(D)를 출력하는 단자와 접속되어 있으며, 제6네가티브 AND게이트(149)의 출력단자는 제6네가티브 AND게이트(149)로부터의 출력에 응답하여 어드레스버스(39)상의 어드레스 데이터를 래치하기 위한 OP-코드 어드레스 데이터 래치회로(151)의 세트단자와 접속되어 있다. 신호(D, E, F)를 출력하는 단자가 각각 네가티브 OR게이트(153)의 3개의 입력단자에 접속되어 있고, 네가티브 OR게이트(153)의 출력단자가 커런트 어드레스 데이터 래치(155)의 세트단자에 접속되어 있다.
이하, 상기한 네가티브 OR게이트(153)와 같은 회로의 출력신호를 설명한다. 네가티브 OR게이트(153)의 출력단자는 3개의 출력신호(D, E, F)중 적어도 하나가 L레벨일 경우 L레벨인 신호(G)를 출력한다. 상기한 바와 같이, 2개의 L레벨신호(D, E 또는 F)는 CPU(31)가 EPROM(33)과 같은 메모리중 하나를 억세스함을 나타낸다. 즉, 신호(G)가 L레벨일때 CPU(31)가 메모리중 하나를 억세스함을 나타낸다. 신호(D)는 커런트 어드레스 데이터 래치(155)용 래치신호로서 사용된다. CPU(31)가 메모리중 하나를 억세스할 경우, 어드레스버스(39)상의 어드레스 데이터가 커런트 어드레스 데이터 래치(155)에 래치된다.
신호(C, D)가 L레벨일 경우 제6네가티브 AND게이트(149)로부터 출력되는 신호(H)는 L레벨이다. 상기한 바와 같이, 신호(C)가 L레벨일 경우는 데이터 버스에 공급된 어드레스 데이터가 사용자 등록프로그램영역인 2000(Hex)와 27FF(Hex) 사이에 위치함을 나타낸다. 또, 신호(D)가 L레벨일 경우 CPU(31)는 OP-코드 억세스 모드에 있고, 신호(H)가 L레벨일 경우 CPU(31)가 OP-코드 억세스모드에 있으면 어드레스 데이터가 사용자 등록프로그램영역에 있음을 나타낸다. 신호(H)가 OP-코드 어드레스 데이터 래치(151)를 위한 래치 신호로서 이용됨에 따라 어드레스 데이터는 CPU(31)가 OP-코드 억세스 모드에 있을 경우 OP-코드 어드레스 데이터래치(151)로 래치된다.
제5네가티브 AND게이트(143)는 신호(C)가 H레벨이고 신호(D)가 L레벨일 때 L레벨인 신호(I)를 출력한다. 데이터버스(39)에 공급되는 어드레스 데이터가 사용자 등록프로그램영역 이외일 경우 신호(C)는 H레벨이다. CPU(31)가 OP-코드 억세스 모드에 있으면 신호(D)가 L레벨로 된다. CPU(31)가 본 실시예에서의 시스템 프로그램 영역에서와 같은 사용자 등록프로그램영역과 다른 영역에 대해 OP-코드 억세스 모드에 있을 때 신호(I)는 L레벨로 된다. 신호(I)가 제3래치회로(145)를 위한 리세트신호로서 이용됨에 따라 제3래치회로(145)는 CPU(31)가 사용자 등록프로그램영역과 다른 영역에 대해 OP-코드 억세스 모드에 있을 때 리세트된다. 제4네가티브 AND게이트(137)는 신호(B)가 H레임과 더불어 신호(F)가 로우레벨일 경우 L레벨인 신호(J)를 출력한다. 신호(B)가 H레벨일 경우 데이터버스(39)상에 제공된 어드레스 데이터가 존재하는 것을 나타낸다.
제3네가티브 AND게이트(131)는 신호(A)가 H레벨임과 더불어 신호(E)가 L레벨일 경우 L레벨인 신호(K)를 출력한다. 데이터버스(39)상에 공급되는 어드레스 데이터가 사용자 등록영역과 사용자 독출·기록가능영역 이외일 경우 신호(A)는 H레벨로 된다. 신호(E)는 CPU(31)가 독출억세스 모드일 경우 L레벨로 되고, 신호(K)는 CPU(31)가 사용자 등록영역과 사용자 독출·기록가능영역인 500(Hex)과 60FF(Hex) 사이의 사용자 독출가능영역 이외의 영역에 대해 독출 억세스모드일 때 L레벨로 된다. 또한, CPU(31)가 기록 억세스모드로 될 때 신호(F)는 L레벨로 된다. 신호(J)는 CPU(31)가 사용자 독출·기록가능영역 이외의 영역에 대해 기록 억세스 모드일 때 L레벨로 된다. 신호(J)는 제2래치회로(139)용 리세트신호로서 이용된다. 제2래치회로(139)는 CPU(31)가 사용자 독출·기록가능영역 이외의 영역에 대해 기록 억세스 모드일 때 리세트된다. 신호(K)가 제1래치회로(133)의 리세트단자에 공급됨에 따라 제1래치회로(133)는 CPU(31)가 사용자 등록영역과 사용자 독출·기록가능영역 이외의 메모리영역에 대해 독출 억세스모드에 있을 때 리세트된다.
제6도를 제5도와 함께 설명하는 바, 어드레스 데이터가 A000(Hex)이 공급된 것을 어드레스 디코더(201)가 감지할 경우 L레벨인 신호(203)를 출력하기 위해 어드레스버스(39)가 어드레스 디코더(201)에 접속된다. 본 실시예에 따르면, 어드레스 A000(Hex)로부터 데이터를 독출하기 위한 독출명령이 기본 프로그램에 위치한다. 사용자 프로그램은 기본 프로그램을 따르는 바, 즉 어드레스 A000(Hex)로부터 데이터를 독출하기 위한 독출 명령은 사용자 프로그램의 실행전에 수행된다.
신호(203)와 MREQ신호 및 RD신호는 모든 입력이 L레벨일 경우 출발신호(207)를 발생시키기 위한 출발신호 발생기(205; starting signal generator)에 입력되고, 데이터버스에 공급되는 어드레스 데이터가 A000(Hex)일 경우 어드레스버스(39)는 타당한 어드레스 데이터를 유지하고, CPU(31)는 기록억세스모드로 됨과 더불어 출발신호(207)는 L레벨로 된다.
출발신호 발생기(205)의 출력단자는 각각 제1, 제2, 제3F/F(133, 139, 145)의 3개의 세트 단자에 접속되어 있고, F/F(133, 139, 145)은 어드레스 A000(Hex)가 검출될 때 세트되어 CPU(31)는 메모리중 하나를 억세스할 수 있는 상태로 된다.
출발신호 발생기(205)의 출력단자와 RD신호는 출발신호(207)와 신호(RD)가 L레벨일 경우 L레벨인 신호(E)를 발생시키기 위한 독출어드레스 샘플펄스발생기(209)의 입력단자에 각각 접속된다. 출발신호 발생기(205)의 출력단자와 신호(WR)는 출발신호(207)와 신호(WR)가 L레벨일 경우 L레벨인 신호(F)를 발생시키기 위한 기록어드레스 샘플펄스발생기(211)의 입력단자와 접속되어 있다.
출발신호(207)의 출력단자와 신호(RD) 및 신호(M1)는 출발신호(207)와 신호(RD) 및 신호(M1)가 L레벨일 경우 L레벨인 신호(D)를 발생시키기 위한 OP-코드 어드레스 샘플펄스 발생기(213)의 입력단자와 접속되어 있다.
제7도 및 제8도는 기본 프로그램과 사용자 프로그램 코딩의 예를 나타낸 것으로, 기본 및 사용자 프로그램 코딩의 이러한 예는 사용자 프로그램 코딩이 기본 프로그램 코딩으로 분기되기 위한 단계를 포함하는 경우를 설명한다. 1034(Hex) 부터 103A(Hex) 사이의 프로그램은 기본 프로그램이고, 2000(Hex)부터 2013(Hex) 사이의 프로그램은 감독장치(45)에 의해 감독되어지는 사용자 프로그램이다.
이해를 돕기 위하여 기본 및 사용자 프로그램 코딩이 명령 LD A, (A000)에 따라 시작된다. 먼저, CPU(31)가 OP-코드 페치 사이클 또는 M1 사이클을 실행한다. 즉 CPU(31)는 어드레스버스에 어드레스 데이터 1034(Hex)를 전송한다. 동시에 CPU(31)는 CPU(31)가 OP-코드 페치 사이클에 있는 것을 나타내기 위해 신호(M1)를 L레벨로 만든다. 이때, CPU(31)는 MREQ신호와 RD신호를 L레벨로 만든다. 신호(RD)가 L레벨일 경우는 메모리에 저장된 데이터가 데이터버스(41)상에 인에이블될 수 있음을 나타낸다. 이때, CPU(31)는 어드레스 데이터에 따라 메모리를 억세스하여 데이터버스상의 OP-코드(LD)를 페치한다.
OP-코드(LD)가 페치된 후, 데이터 A000(Hex)가 데이터버스(41)에 공급된다. 제7도에 있어서 LD와 A000(Hex) 사이의 A는 이러한 데이터를 수신하는 CPU(31)의 내부 레지스터를 의미한다. 다음의 클럭펄스에 대해 CPU(31)는 어드레스버스(39)로 어드레스 데이터 A000(Hex)를 전송하는데, 이 어드레스 데이터 A000(Hex)는 감독장치(45)내의 어드레스 디코더(201)에 공급된다. 상기한 바와 같이, 어드레스 디코더(201)는 신호(203)를 L레벨로 만든다. 어드레스 데이터 A000(Hex)가 전송된 후, CPU(31)는 MREQ신호와 RD신호를 L레벨로 만든다. 신호(203)와 MREQ 및 RD신호에 응답하여 출발신호 발생기(205)는 신호(207)를 발생시킨다. 신호(207)는 3개의 F/F(133, 139, 145)을 세트하며, 이 시점부터 감독장치(45)는 사용자 프로그램을 감독할 수 있게 된다.
어드레스 데이터 A000(Hex)는 데이터프로세서(제3도 참조)의 디코더(43)에 공급된다. 디코더(43)는 어드레스 데이터 A000(Hex)가 할당된 메모리가 없기 때문에 신호(CE)를 발생시키지 않는다. 따라서, 데이터버스(41)는 부유(floating) 상태로 된다.
어드레스 데이터 A000(Hex)가 어드레스버스(39)에 위치하고, MREQ와 RD신호가 L레벨인 단계가 제8도에 도시된 바와 같이 스텝(1)으로 언급된다. 이후, 머신사이클이 스텝으로 언급되는 바, 스텝(1)은 상기한 바와 같이 감시장치(45)에 F/F(133, 137, 145)을 세팅하기 위한 머신사이클이다.
스텝(2)에서 CPU(31)는 OP-코드 페치동작을 실행하여 프로그램포인터(도시되지 않았음)로부터 어드레스버스(39)로 어드레스 데이터 1037(Hex)를 전송한다. 이때, CPU(31)는 M1, MREQ, RD신호를 L레벨로 만든다. 데이터 프로세서(21)내의 디코더(43)는 어드레스 데이터 1037(Hex)에 따라 칩선택신호를 발생시킨다. 디코더(43)는 EPROM(33)에 칩선택신호를 공급함으로써 EPROM(33)을 선택한다.
여기서, 리세트신호와 신호(L)가 H레벨이면, 스텝(2)은 인터럽트되지 않는데, 이는 신호(L)가 H레벨임과 더불어 L레벨 신호가 CPU(31)내의 INT핀(61)에 입력되지 않기 때문이다.
스텝(3)에 있어서, CPU(31)는 EPROM(33)에 저장된 OP-코드의 CALL을 따르는 데이터를 독출한다. 즉, CPU(31)는 그 내에 저장된 어드레스 데이터를 자동적으로 증가시키는 프로그램 카운터로부터 어드레스 데이터 1038(Hex)을 전송한다.
MREQ신호와 RD신호가 L레벨일 경우 억세스신호회로(127)는 신호(D, E)를 L레벨로 만든다. 어드레스 데이터 1038(Hex)에 대해 독출·기록·OP-코드 어드레스 디코더(121, 123, 125)는 신호(A, B, C)를 H레벨로 만들고, 신호(H, I, J, K)는 H레벨로 된다.
L레벨신호(G)에 응답하여 커런트 어드레스 데이터 래치(155)는 어드레스버스(39)상의 어드레스 데이터 1037(Hex)을 래치하고, 신호(I, J, K)에 응답하여 F/F(133, 139, 165)은 영향받지 않게 된다.
어드레스 데이터 1038(Hex)에 응답하여 디코더(43; 제4도 참조)는 CE신호를 공급함으로써 EPROM(33)을 선택한다. EPROM(33)은 데이터버스(41)에 하위 8비트 데이터 00(Hex)를 전송한다. 이전의 머신사이클에서와 같이 감독장치(45)는 신호(L)를 L레벨로 만들지 않고, 따라서 CPU(31)는 인터럽트되지 않는다. CPU(31)는 그 내의 레지스터에서 하위 8비트 데이터를 취한다.
스텝(4)에 있어서, CPU(31)는 OP-코드의 CALL에 따라 상위 비트 데이터 20(Hex)를 독출하고, 진행 과정은 스텝(3)의 경우와 같다. CPU(31)는 분기를 위해 목적지 어드레스를 나타내는 어드레스 데이터를 취한다.
스텝(4) 후 CPU(31)는 CPU(31)가 복귀되어지도록 어드레스 데이터를 저장한다.
스텝(4-1)에 있어서, CPU(31)는 데이터의 상위 8비트를 기록하는데, 이는 어드레스(SP-1)의 프로그램 카운터에 저장된다. SP는 데이터가 스택 포인터에 저장됨을 나타내는 바, 스텝(4-1)에서 SP는 60FF(Hex)를 나타낸다. 따라서, CPU(31)는 어드레스 60FE(Hex)에 10(Hex)을 기록한다. 주지할 점은 스텝(4)의 시작에서 프로그램 카운터가 데이터를 출력한 후 프로그램 카운터에 저장된 데이터가 증가된다는 것이다.
스텝(4-2)에서 CPU(31)는 데이터의 하위 8비트를 기록하는데, 이는 어드레스(SP-2)의 프로그램 카운터에 저장된다. CPU(31)는 어드레스 60FD(Hex)내의 데이터 3A(Hex)를 기록한다. 이때, CPU(31)는 스택 포인터의 내용을 변화시키는 바, 즉 데이터(60FF-2)(Hex)가 데이터(60FF)(Hex)를 대신한다.
CPU(31)는 스텝(5, 6)에서 명령을 수행한다. 스텝(5)에서 CPU(31)는 OP-코드 페치 사이클에 있다. 즉, CPU(31)는 신호(M1, MREQ, RD)를 L레벨로 만들고, 신호(M1, RD)에 응답하여 신호(D, E)가 L레벨로 된다.
CPU(31)는 신호(M1, MREQ, RD)를 전송하기 전에 어드레스버스(39)상으로 어드레스 데이터 2000(Hex)를 전송한다. 어드레스 데이터 2000(Hex)에 응답하여 독출어드레스 디코더(121)와 OP-코드 어드레스 더코더(121, 125)가 신호(A, C)를 L레벨로 만들고, L레벨신호(A, C, D, E)에 응답하여 신호(G, H)가 L레벨로 된다. L레벨 신호(G)에 응답하여 커런트 어드레스 데이터 래치(155)가 어드레스버스(39)상의 데이터를 래치한다. L레벨 신호(H)에 응답하여 OP-코드 어드레스 데이터 래치(151)가 어드레스버스(39)상의 데이터를 래치한다.
스텝(6)에서 CPU(31)는 E2PROM에 저장된 OP-코드 JP를 따르는 데이터의 하위 8비트 데이터를 독출하고, CPU(31)는 RD신호를 L레벨로 만든다. 이 L레벨 RD신호에 응답하여 신호(E)가 L레벨로 되고, 이 L레벨신호(E)는 오직 신호(G)만을 L레벨로 만들며, 신호(H)가 H레벨로 된다. 따라서, 커런트 어드레스 데이터 래치(155)가 어드레스버스(39)상의 데이터 2001(Hex)를 래치시킨다. 여기서, 신호가 H레벨로 됨으로써 OP-코드 어드레스 데이터 래치(151)는 새로운 데이터를 래치할 수 없게 되며 구데이터 2000(Hex)를 유지한다.
스텝(7)에서 CPU(31)는 OP-코드 JP 20(Hex)를 따르는 데이터의 상위 8비트 데이터를 독출한다. 스텝(6)에서와 같이, 커런트 어드레스 데이터 래치(155)는 어드레스버스상의 새로운 데이터 2002(Hex)를 래치하고, OP-코드 어드레스 데이터 래치(151)는 구데이터 2000(Hex)를 유지한다. CPU(31)는 OP-코드와 어드레스 데이터 JP 2010(Hex)를 얻게 되고, 어드레스 데이터 2010(Hex)는 프로그램 카운터에 저장된다.
스텝(8)에서 CPU(31)는 어드레스 2010(Hex)로 건너 뛴다. 어드레스 2010(Hex)에 따라 명령은 LD (5000), A이고, 이는 CPU(31)의 레지스터(도시되지 않았음)에 저장된 데이터가 어드레스 5000(Hex)에 따라 메모리로 보내진다는 것을 나타낸다. 상기 명령을 수행하기 위해 프로그램 카운터에 저장된 데이터가 어드레스버스(39)로 전송된다. 스텝(8)은 머신사이클의 시작이다. 따라서, CPU(31)는 M1, MREQ, RD신호를 L레벨로 만들고, 이어지는 스텝은 스텝(6, 7)에서와 같이 수행된다. 스텝(9, 10)에서 OP-코드 LD를 따르는 데이터가 스텝(6, 7)에서와 마찬가지로 독출되고, CPU(31)는 CPU(31)가 레지스터에 저장된 데이터를 전송하는 목적지와 관련된 정보를 얻게 된다.
스텝(11)에서 CPU(31)는 레지스터에 저장된 데이터를 어드레스 5000(Hex)로 전송한다. 이 동작은 기록 동작이다. CPU(31)는 데이터 5000를 어드레스버스(39)상으로 전송한 후 WR신호를 L레벨로 만든다. 이때, CPU(31)는 MREQ신호를 L레벨로 만들고, 데이터버스(41)상에 기록될 데이터를 전송한다. 데이터버스(41)가 확립된 후에 CPU(31)는 WR신호를 L레벨로 만든다. 디코더(43)로부터의 WR신호와 CE신호에 응답하여 CPU(31)로부터의 데이터(B)가 E2PROM(35)에 기록된다.
스텝(12)에서 CPU(31)는 프로그램 카운터로부터 발생된 데이터 2013(Hex)를 어드레스버스(39)상으로 전송한다.
이때, CPU(31)는 어드레스 데이터 2013(Hex)에 따라 동작한다. 스텝(5)에서와 같이 CPU(31)는 새로운 머신사이클의 시작을 위해 M1신호를 L레벨로 만든다. E2PROM(35)으로부터 CPU(31)는 OP-코드 RET를 얻는데, 이는 리턴 명령을 나타낸다. CPU(31)는 스택 포인터내에 저장된 어드레스 데이터에 따라 동작하도록 복귀된다. 복귀를 위해 CPU(31)는 스택포인터의 어드레스를 독출하고, 스택포인터에 저장되어 있는 어드레스에 따라 스택에 저장된 데이터를 얻는다. 스택포인터는 바로 스텝(4-2)으로부터 데이터 60FD(Hex)를 유하고, 스택포인터에 의해 유지된 데이터 60FD(Hex)는 프로그램 카운터로 전송된다. CPU(31)는 데이터 60FD(Hex)를 어드레스버스(39)상으로 전송하고, CPU(31)는 RD신호를 L레벨로 만든다. 이 RD신호와 어드레스 데이터 60FD(Hex)에 응답해서, CPU(31)는 스텝(12-1)에서의 어드레스 60FD(Hex)에 저장된 리턴 어드레스 3A(Hex)의 하위 8비트를 얻는다.
스텝(12-2)에서, CPU(31)는 어드레스 60FF(Hex)에 저장된 리턴 어드레스 10(Hex)의 상위 8비트를 얻고, CPU(31)는 리턴 어드레스 103A(Hex)의 모든 데이터를 얻는다. 스택포인터의 내용이 60FF(Hex)로 세트된다.
스텝(13)에서, CPU(31)는 어드레스 데이터 103A(Hex)에 따라 동작하여 OP-코드 명령페치 사이클로 이동한다. 먼저, CPU(31)는 이 스텝 이전에 스택으로부터 전송된 프로그램 카운터에 저장된 어드레스 데이터 103A(Hex)를 전송한다. 그리고, CPU(31)는 M1, MREQ, RD신호를 L레벨로 만든다. M1, MREQ, RD신호와 어드레스 데이터 103A(Hex)에 응답하여 메모리를 억세스하려고 시도한다.
이러한 점에서 감독장치(45)내의 억세스 신호발생회로(127)가 신호(D, E)를 L레벨로 만들고, 어드레스 데이터 103A(Hex)에 응답하여 독출·기록·OP-코드 어드레스 디코더(121, 123, 125)는 H레벨 상태로 신호(A, B, C)를 두고, 신호(C, D)에 응답하여 네가티브 AND게이트(131)는 신호(I)를 L레벨로 만들며, 신호(A, C)에 응답하여 네가티브 AND게이트(131)는 신호(K)를 L레벨로 만든다. L레벨 신호(I, K)에 응답하여 제1, 제3F/F(133, 145)이 리세트됨으로써 F/F(133, 145)의 내용이 L레벨로 된다. F/F(133, 145)의 내용에 응답하여 네가티브 OR게이트(147)는 신호(L)를 L레벨로 만들고, 신호(L)가 CPU(31)의 INT핀(61)에 입력됨으로써, CPU(31)는 인터럽트된다.
상기 스텝에서 L레벨 신호(D, E)에 응답하여 신호(G)가 L레벨로 된다. 커런트 어드레스 데이터 래치(155)는 L레벨 신호(G)에 응답하여 어드레스버스(39)상의 어드레스 데이터를 래치시킨다. 신호(H)는 H레벨 신호(C)와 L레벨 신호(D)에 응답하여 H레벨 상태로 남게 된다. 따라서, OP-코드 어드레스 데이터 래치(151)는 어드레스버스(39)상의 어드레스 데이터를 래치시킬 수 없게 되어 데이터를 유지하게 된다.
이하, 제10도를 참조하여 인터럽트 루틴에 대해 설명한다. L레벨 신호(L)에 응답하여 CPU(31)는 인터럽트 프로그램에 따른 동작을 한다. 스텝(P-1)에서 CPU(31)는 CPU(31)가 인터럽팅의 OP-코드 페치에서 동작하는가의 여부를 검출한다. 상기 검출을 위해, CPU(31)는 F/F(133, 139, 145)의 내용을 점검한다. 상기한 바와 같이 L레벨 신호(I)는 F/F(145)을 리세트시킴과 더불어 CPU(31)가 OP-코드 페치하에서의 2000(Hex)~27FF(Hex)의 어드레스 데이터와 다른 어드레스 영역을 억세스하고자 시도를 할 때 발생된다. L레벨신호는 F/F(139)을 리세트시킴과 더불어 CPU(31)가 기록모드내의 5000(Hex)~60F/F(Hex)의 어드레스 데이터와 다른 어드레스영역을 억세스하고자 시도할 때 발생된다. L레벨 신호(K)는 F/F(133)을 리세트시킴과 더불어 CPU(31)가 독출모드의 2000(Hex)~2FFF(Hex) 또는 5000(Hex)~60FF(Hex)의 어드레스 데이터와 다른 어드레스영역을 억세스하고자 시도할 때 발생된다.
만약, CPU(31)가 OP-코드 페치 모드에 있으면, CPU(31)는 스텝(P-2)에서 스택포인터가 어드레스 데이터 60FA(Hex)를 저장하고 있는가의 여부를 검출한다. 여기서, 스택포인터가 데이터 60FD(Hex)를 저장하고 있으면 CPU(31)는 스텝(P-3)에서 제7도에 도시된 바와 같이 응용프로그램으로 되돌아 간다.
스텝(P-1)에서 CPU(31)가 OP-코드 페치모드에 없거나 스택포인터가 스텝(P-2)에 60FD(Hex)를 저장 못했을 경우에 CPU(31)는 응용 프로그램이 잘못된 것으로 결정하고, CPU(31)는 스텝(P-4)에서 OP-코드 어드레스 데이터 래치(151), 커런트 어드레스 데이터 래치(155), F/F(133, 139, 145)으로부터 데이터를 독출, 저장한 후에 응용 프로그램에 따른 동작을 정지한다. 이러한 데이터가 인터럽션을 분석하는데에 사용된다.
제7도에 도시된 프로그램 코딩에 따르면, CPU(31)가 인터럽트(예컨대, 제9도에서 도시된 스텝(13)) 되면, M1신호가 L레벨로 되고, 이는 CPU(31)가 OP-코드 페치모드에 있음을 나타낸다.
인터럽션이 발생될 때 스택포인터는 데이터 60FD(Hex)를 저장하는데, 이는 2(Hex) 만큼 감소되도록 스택포인터의 내용을 야기시키는 인터럽션의 동작 때문이다. 상기한 바와 같이, 인터럽션 이전에 수행된 스텝(12-2)에서 스택포인터는 데이터 60FF(Hex)를 저장하고, 따라서 스택포인터는 데이터 60FD(Hex)를 저장한다.
제11도와 제12도를 참조하여 사용자 프로그램 코딩의 두번째 예를 설명한다. 제2프로그램 코딩에 있어서 CPU(31)는 사용자 독출·기록 가능영역 이외의 어드레스에서 기록 명령 수행을 시도한다.
CPU(31)는 제7도에 도시된 사용자 프로그램 코딩의 첫번째 예와 동일한 명령을 수행한다. 스텝(7) 후의 스텝(B-1)에서 CPU(31)는 OP-코드 명령페치 사이클로 이동하고, 어드레스 데이터 2010(Hex)에 따라 메모리에 저장된 OP-코드를 페치하기 위해 M1, MREQ, RD신호를 L레벨로 만든다. L레벨의 M1, MREQ, RD신호와 어드레스 데이터 2010(Hex) 신호에 응답하여 CPU(31)는 OP-코드 LD를 얻는다.
스텝(2-1) 후 스텝(B-2)에서 CPU(31)는 OP-코드 LD를 따르는 어드레스 데이터의 하위 8비트를 독출하고, 스텝(B-3)에서 CPU(31)는 OP-코드 LD를 따르는 어드레스 데이터의 상위 8비트 70(Hex)을 독출한다. 이 스텝에서 CPU(31)는 데이터가 저장된 곳에서 정보를 얻는다.
스텝(B-4)에서, CPU(31)는 기록 동작으로 이동하고 어드레스버스(39)상에 어드레스 7000(Hex)를 전송한다. 여기서, CPU(31)는 MREQ, WR신호를 L레벨로 만든다.
WR신호에 응답하여 기록어드레스 샘플펄스 발생기(211)는 신호(F)를 L레벨로 만들고, 신호(D, E)는 H레벨의 상태로 남게 된다.
어드레스 데이터 7000(Hex)에 응답하여 독출·기록·OP-코드 어드레스 디코더(121, 123, 125)는 신호(A, B, C)를 H레벨로 만든다.
H레벨 신호(B)와 L레벨 신호(F)에 응답하여 네가티브 AND게이트(137)는 신호(J)를 L레벨로 만들고, 신호(I, K)는 H레벨로 남게 된다. 신호(J)에 응답하여 F/F(139)이 리세트되고, 이 F/F(139; H레벨)의 내용이 네가티브 OR게이트(147)에 입력된다. F/F(139)의 출력에 응답하여 네가티브 OR게이트(147)가 신호(L)를 L레벨로 만들어 CPU(31)가 인터럽트된다.
CPU(31)가 인터럽트 된 후, CPU(31)는 제10도에서 도시된 인터럽팅 루틴 하에서 동작한다. 본 프로그램 코딩에 따르면, CPU(31)는 인터럽션이 발생했을 때 기록 모드에서 동작하고, 따라서 CPU(31)는 제10도에 도시된 스텝(P-4)을 수행하게 된다.
제13도와 제14도를 참조하여, 사용자 프로그램 코딩의 세번째 예를 설명한다. 제3프로그램 코딩은 사용자 독출·기록가능영역 이외에 위치한 어드레스에 데이터를 기록하기 위한 스텝을 포함한다.
제1 및 제3프로그램 코딩의 차이점은 스텝 2010이다. 제3프로그램 코딩내의 스텝 2010은 LD A, (7000)이고, 독출 동작이다. CPU(31)는 스텝(B-1, B-2, B-3)과 대략 동일한 스텝(C-1, C-2, C-3)를 통해 OP-코드 LD와 하위 8비트 0과 상위 8비트 70의 어드레스 데이터를 독출한다.
스텝(C-4)에서 CPU(31)가 독출 실행으로 이동한다. 즉, CPU(31)는 어드레스 데이터 7000(Hex)를 전송하고, MREQ, RD신호를 L레벨로 만든다. MREQ와 RD신호에 응답하여 신호(E)가 L레벨로 만들어지고, 어드레스 데이터 7000(Hex)에 응답하여 독출·기록·OP-코드 어드레스 데이터 (121, 123, 125)가 신호(A, B, C)를 H레벨로 만든다.
L레벨 신호(E)와 H레벨 신호(A)에 응답하여 네가티브 AND게이트(131)는 신호(K)를 L레벨로 만들고, 신호(I, J)는 H레벨로 남게된다. L레벨 신호(C)와 H레벨 신호(A, B)에 응답하여 네가티브 OR게이트(153)는 신호(G)를 L레벨로 만들고, 신호(H)는 H레벨로 남게 된다.
L레벨 신호(G)에 응답하여 커런트 어드레스 데이터 래치(155)는 어드레스버스(39)상에 어드레스 데이터를 래치한다. 그러나, OP-코드게이트 어드레스 데이터 래치(151)는 H레벨 신호(H)에 응답하여 데이터를 래치시키지 못하고 데이터를 유지한다.
신호(K)에 응답하여 F/F(133)이 리세트되어 네가티브 OR게이트(147)는 신호(L)를 L레벨로 만들고, CPU(31)는 L레벨 신호(L)에 응답하여 인터럽트된다. CPU(31)가 인터럽트될 때 CPU(31)는 제10도의 인터럽트 루틴에 따라 동작한다. 존재하는 프로그램 코딩에 따르면, CPU(31)는 인터럽션이 발생할 때 독출 모드에서 동작하고, 따라서, CPU(31)는 상기한 데이터를 독출하고 저장한다.
제15도와 제16도를 참조하여 사용자 프로그램 코딩의 4번째 예를 설명한다. 사용자 프로그램 코딩 제1 및 제4예의 차이점은 스텝에서 소스 스텝으로의 복귀이다.
스텝(5, 6, 7) 후의 스텝(D-1)에서 CPU(31)는 어드레스 2010(Hex)에 의해 지시된 스텝으로 이동한다.
CPU(31)는 먼저 OP-코드 페치 사이클을 실행하고, 이때 어드레스 데이터 2010(Hex)를 전송하며, M1, MREQ, RD신호를 L레벨로 만든다. 이 L레벨의 M1, MREQ, RD신호에 응답하여 CPU(31)는 내부에 OP-코드 JP를 저장한다.
스텝(D-1) 후의 스텝(D-2, D-3)에서 CPU(31)는 EPROM(33)에 저장된 OP-코드 JP를 따르는 어드레스 데이터의 상·하위 8비트를 독출한다.
스텝(D-3)후의 스텝(D-4)에서 CPU(31)는 어드레스 데이터 103A(Hex)에 의해 지시된 OP-코드 페치 사이클을 실행한다.
먼저, CPU(31)가 어드레스 데이터 103A(Hex)를 어드레스버스(39)에 전송하고, 이때 CPU(31)는 OP-코드 JP를 페치한다. 그러나, CPU(31)는 다음과 같이 인터럽트된다.
어드레스 데이터 103A(Hex)에 응답하여 갑독장치(45)의 독출·기록·OP-코드 어드레스 디코더(121, 123, 125)는 신호(A, B, C)를 H레벨로 만든다. OP-코드 페치 사이클에서 CPU(31)는 M1, MREQ, RD신호를 L레벨 상태로 만든다. 또, M1, MREQ, RD신호에 응답하여 억세스신호회로(127)는 신호(D, E)를 L레벨로 만들고 신호(F)를 H레벨로 만든다. H레벨 신호(A)와 L레벨 신호(E)에 응답하여 네가티브 AND게이트(131)는 신호(K)를 L레벨로 만들고, H레벨 신호(B)와 H레벨 신호(F)에 응답하여 네가티브 AND게이트(137)는 신호(J)의 H레벨 상태를 유지한다. H레벨 신호(C)와 L레벨 신호(D)에 응답하여 네가티브 AND게이트(143)는 신호(I)를 L레벨로 만들고, 네가티브 AND게이트(147)는 신호(H)를 H상태로 만든다. 신호(A, B, C)에 응답하여 네가티브 OR게이트(153)는 신호(G)를 L레벨로 만든다.
L레벨신호(I, K)에 응답하여 F/F(133, 145)이 리세트되고, L레벨의 신호를 출력한다. F/F(133, 145)으로부터의 신호에 응답하여 네가티브 OR게이트(147)는 신호(L)를 L레벨로 만들고 CPU(31)는 인터럽트된다.
L레벨 신호(G)에 응답하여 커런트 어드레스 데이터 래치(155)는 어드레스버스(39)상의 데이터를 래치한다. H레벨신호(H)에 응답하여 OP-코드 어드레스 데이터 래치(151)는 데이터를 래치시키지 못하고 구데이터를 유지한다.
CPU(31)가 인터럽트될 때 CPU(31)는 제10도에 도시된 인터럽트 루틴에 따라 동작한다. 현재의 프로그램 코딩에 따르면, CPU(31)는 인터럽션이 발생할 때 OP-코드 페치모드에서 동작한다. 그러나, CPU(31)는 RET OP-코드하가 아니라 JP OP-코드하에서 기본 프로그램으로 복귀한다. CPU(31)는 기본 프로그램으로 복귀할 때 스택포인터에 저장된 데이터를 변화시키지 못한다. 즉, CPU(31)가 기본 프로그램으로 복귀할 때 스택포인터는 데이터 60FD(Hex)를 유지한다. CPU(31)가 인터럽트될 경우, CPU(31)는 스택포인터의 내용, 즉 60FB(Hex)을 감소시켜야만 한다. 따라서, CPU(31)는 제10도에 도시된 스텝(P-4)으로 이행된다.
한편, 본 발명은 상기 실시예로 한정되는 것은 아니고, 발명의 요지를 벗어나지 않는 범위내에서 다양하게 실시할 수 있음은 물론이다.
Claims (2)
- 제어소자(31)와; 이 제어소자의 제1동작프로그램을 기억하는 제1기억수단(33) 및; 외부로부터의 등록요구에 의해 등록되는 사용자 프로그램 및 사용자 프로그램에 의해 독출 또는 기록되는 데이터를 기억하는 제2기억수단(35)을 갖추고, 상기 제1 및 제2기억수단에 기억되어 있는 제1동작프로그램 및 사용자 프로그램을 기초로 상기 제어소자가 동작하는 IC카드에 있어서, 상기 사용자 프로그램의 실행시에 명령코드를 독출하기 위해 상기 제어소자로부터 공급되는 어드레스 데이터를 샘플링하는 제1샘플링수단(151)과; 상기 사용자 프로그램의 실행시에 데이터의 독출 또는 기록을 위해서 상기 제어소자로부터 공급되는 어드레스 데이터를 샘플링하는 제2샘플링수단(155); 상기 제1샘플링수단에 의해 샘플링된 어드레스 데이터가 상기 제2기억수단에 있어서 사용자 프로그램의 기억영역의 범위내인가의 여부를 판정하는 제1판정수단(125); 상기 제2샘플링수단에 의해 샘플링된 어드레스 데이터가 상기 제2기억수단에 있어서 사용자 프로그램에 의한 독출을 개방하고 있는 영역의 범위내인가의 여부를 판정하는 제2판정수단(121); 상기 제2샘플링수단에 의해 샘플링된 어드레스 데이터가 상기 제2기억수단에 있어서 사용자 프로그램에 의한 기록을 개방하고 있는 영역의 범위내인가의 여부를 판정하는 제3판정수단(123); 상기 제어소자에 의한 상기 제1 또는 제2기억수단에 대한 억세스가 명령코드의 독출억세스, 데이터의 독출억세스 또는 데이터의 기록억세스의 어느 억세스인가를 식별하는 식별수단(127) 및; 이 식별 수단에 의해 명령코드의 독출억세스인 것으로 식별된 경우이면서 상기 제2판정수단에 의해 상기 사용자 프로그램의 기억영역의 범위외인 것으로 판정된 경우, 데이터의 독출억세스인 것으로 식별된 경우이면서 상기 제2판정수단에 의해 사용자 프로그램에 의한 독출을 개방하고 있는 영역외인 것으로 판정된 경우 및, 데이터의 기록억세스인 것으로 식별된 경우이면서 제3판정수단에 의해 사용자 프로그램에 의한 기록을 개방하고 있는 영역의 범위 외인 것으로 판정된 경우에 상기 제어소자에 의한 상기 제1 및 제2기억수단에 대한 억세스를 중단하는 수단(131, 137, 143)을 구비하여 구성된 것을 특징으로 하는 IC카드.
- 제어소자(31)와; 이 제어소자의 제1동작프로그램을 기억하는 제1기억수단(33) 및, 외부로부터의 등록요구에 의해 등록되는 사용자 프로그램 및 사용자 프로그램에 의해 독출 또는 기록되는 데이터를 기억하는 제2기억수단(35)을 갖추고, 상기 제1 및 제2기억수단에 기억되어 있는 제1동작프로그램 및 사용자 프로그램을 기초로 상기 제어소자가 동작하는 IC카드 억세스 처리방법에 있어서, 상기 사용자 프로그램의 실행시에 명령코드를 독출하기 위해 상기 제어소자로부터 공급되는 어드레스 데이터를 샘플링하는 제1샘플링스텝과; 상기 사용자 프로그램의 실행시에 데이터의 독출 또는 기록을 위해서 상기 제어소자로부터 공급되는 어드레스 데이터를 샘플링하는 제2샘플링스텝; 상기 제1샘플링수단에 의해 샘플링된 어드레스 데이터가 상기 제2기억수단에 있어서 사용자 프로그램의 기억영역의 범위내인가의 여부를 판정하는 제1판정스텝; 상기 제2샘플링수단에 의해 샘플링된 어드레스 데이터가 상기 제2기억수단에 있어서 사용자 프로그램에 의한 독출을 개방하고 있는 영역의 범위내인가의 여부를 판정하는 제2판정스텝; 상기 제2샘플링스텝에 의해 샘플링된 어드레스 데이터가 상기 제2기억수단에 있어서 사용자 프로그램에 의한 기록을 개방하고 있는 영역의 범위내인가의 여부를 판정하는 제3판정스텝; 상기 제어소자에 의한 상기 제1 또는 제2기억수단에 대한 억세스가 명령코드의 독출억세스, 데이터의 독출억세스 또는 데이터의 기록억세스의 어느 억세스인가를 식별하는 식별스텝 및; 이 식별 수단에 의해 명령코드의 독출억세스인 것으로 식별된 경우이면서 상기 제2판정수단에 의해 상기 사용자 프로그램의 기억영역의 범위외인 것으로 판정된 경우, 데이터의 독출억세스인 것으로 식별된 경우이면서 상기 제2판정스텝에 의해 사용자 프로그램에 의한 독출을 개방하고 있는 영역외인 것으로 판정된 경우 및, 데이터의 기록억세스인 것으로 식별된 경우이면서 제3판정스텝에 의해 사용자 프로그램에 의한 기록을 개방하고 있는 영역의 범위 외인 것으로 판정된 경우에 상기 제어소자에 의한 상기 제1 및 제2기억수단에 대한 억세스를 중단하는 스텝을 구비하여 구성된 것을 특징으로 하는 IC카드 억세스 처리방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1-22967 | 1989-02-01 | ||
JP1022967A JPH02202642A (ja) | 1989-02-01 | 1989-02-01 | プログラム動作監視装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR900013389A KR900013389A (ko) | 1990-09-05 |
KR100197761B1 true KR100197761B1 (ko) | 1999-06-15 |
Family
ID=12097351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900001255A KR100197761B1 (ko) | 1989-02-01 | 1990-02-01 | Ic카드와 ic카드 억세스 처리방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5615381A (ko) |
JP (1) | JPH02202642A (ko) |
KR (1) | KR100197761B1 (ko) |
FR (1) | FR2642544B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170001680A (ko) | 2016-12-16 | 2017-01-04 | 주식회사 엘지유플러스 | 멀티 카드 및 그 제어방법 |
KR20170001669A (ko) | 2016-10-07 | 2017-01-04 | 주식회사 엘지유플러스 | 멀티 카드 시스템 |
KR20170003134U (ko) | 2017-08-24 | 2017-09-05 | 주식회사 엘지유플러스 | 멀티 카드 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2704704B1 (fr) * | 1993-04-28 | 1995-09-01 | Gemplus Card Int | Systeme de communication. |
US5710814A (en) * | 1996-07-23 | 1998-01-20 | Cheyenne Property Trust | Cryptographic unit touch point logic |
US5724422A (en) * | 1996-08-05 | 1998-03-03 | Industrial Technology Research Institute | Encrypting and decrypting instruction boundaries of instructions in a superscalar data processing system |
US5841870A (en) * | 1996-11-12 | 1998-11-24 | Cheyenne Property Trust | Dynamic classes of service for an international cryptography framework |
US5754762A (en) * | 1997-01-13 | 1998-05-19 | Kuo; Chih-Cheng | Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU |
US6484946B2 (en) * | 1997-12-22 | 2002-11-26 | Hitachi, Ltd. | IC card information display device and IC card for use therewith |
US6615324B1 (en) | 2000-01-07 | 2003-09-02 | Cygnal Integrated Products, Inc. | Embedded microprocessor multi-level security system in flash memory |
US7588180B1 (en) * | 2000-01-28 | 2009-09-15 | International Apparel Group, Llc | Multi-application smart card with currency exchange, location tracking, and personal identification capabilities |
JP3997052B2 (ja) * | 2000-12-13 | 2007-10-24 | 株式会社エヌ・ティ・ティ・ドコモ | Icカード及びicカードの情報保護方法並びにicカード発行装置 |
US20030101381A1 (en) * | 2001-11-29 | 2003-05-29 | Nikolay Mateev | System and method for virus checking software |
US7051340B2 (en) * | 2001-11-29 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | System and method for isolating applications from each other |
US20030182653A1 (en) * | 2002-03-22 | 2003-09-25 | Giuseppe Desoli | Systems and methods for verifying correct execution of emulated code via dynamic state verification |
DE102004008180A1 (de) * | 2004-02-19 | 2005-09-01 | Giesecke & Devrient Gmbh | Verfahren zum sicheren Betrieb eines tragbaren Datenträgers |
JP5259541B2 (ja) * | 2009-09-17 | 2013-08-07 | 株式会社東芝 | 携帯可能電子装置、携帯可能電子装置の制御方法及びicカード |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5140772B2 (ko) * | 1971-07-26 | 1976-11-05 | ||
FR2401459A1 (fr) * | 1977-08-26 | 1979-03-23 | Cii Honeywell Bull | Support d'information portatif muni d'un microprocesseur et d'une memoire morte programmable |
FR2471004B1 (fr) * | 1979-11-30 | 1985-09-13 | Dassault Electronique | Installation et dispositif de controle de l'acces a une memoire electronique |
JPS5880755A (ja) * | 1981-11-09 | 1983-05-14 | Sharp Corp | 電子式計算機 |
NL8201847A (nl) * | 1982-05-06 | 1983-12-01 | Philips Nv | Inrichting voor het beschermen tegen onbevoegd uitlezen van in een geheugen te memoriseren programmawoorden. |
US4590552A (en) * | 1982-06-30 | 1986-05-20 | Texas Instruments Incorporated | Security bit for designating the security status of information stored in a nonvolatile memory |
EP0109504A3 (en) * | 1982-11-18 | 1987-03-25 | International Business Machines Corporation | Protection system for storage and input/output facilities and the like |
JPS6068441A (ja) * | 1983-09-22 | 1985-04-19 | Fujitsu Ltd | ワンチツプ・マイクロ・コンピユ−タ |
US4575621A (en) * | 1984-03-07 | 1986-03-11 | Corpra Research, Inc. | Portable electronic transaction device and system therefor |
JPS60233743A (ja) * | 1984-05-04 | 1985-11-20 | Fuji Electric Co Ltd | 計算機システムの異常検出回路 |
US4713753A (en) * | 1985-02-21 | 1987-12-15 | Honeywell Inc. | Secure data processing system architecture with format control |
US4845351A (en) * | 1985-09-30 | 1989-07-04 | Casio Computer Co., Ltd. | IC card |
JPS62105293A (ja) * | 1985-10-31 | 1987-05-15 | Toshiba Corp | 携帯可能記録媒体の読取・書込装置 |
JPS62204345A (ja) * | 1986-03-05 | 1987-09-09 | Oki Electric Ind Co Ltd | マイクロコンピユ−タ |
JPS6382534A (ja) * | 1986-09-26 | 1988-04-13 | Matsushita Electric Ind Co Ltd | メモリ保護装置 |
US5047928A (en) * | 1986-10-24 | 1991-09-10 | Wiedemer John D | Billing system for computer software |
GB2206431B (en) * | 1987-06-30 | 1991-05-29 | Motorola Inc | Data card circuits |
JPH01219982A (ja) * | 1988-02-29 | 1989-09-01 | Hitachi Maxell Ltd | Icカード |
DK170385B1 (da) * | 1988-03-04 | 1995-08-14 | Siemens Ag | Fremgangsmåde til brugerbestemt udnyttelse af en mikrocomputers datalager som programlager |
US5014191A (en) * | 1988-05-02 | 1991-05-07 | Padgaonkar Ajay J | Security for digital signal processor program memory |
US4961142A (en) * | 1988-06-29 | 1990-10-02 | Mastercard International, Inc. | Multi-issuer transaction device with individual identification verification plug-in application modules for each issuer |
-
1989
- 1989-02-01 JP JP1022967A patent/JPH02202642A/ja active Pending
-
1990
- 1990-02-01 FR FR909001194A patent/FR2642544B1/fr not_active Expired - Lifetime
- 1990-02-01 KR KR1019900001255A patent/KR100197761B1/ko not_active IP Right Cessation
-
1994
- 1994-06-14 US US08/261,029 patent/US5615381A/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170001669A (ko) | 2016-10-07 | 2017-01-04 | 주식회사 엘지유플러스 | 멀티 카드 시스템 |
KR20170001680A (ko) | 2016-12-16 | 2017-01-04 | 주식회사 엘지유플러스 | 멀티 카드 및 그 제어방법 |
KR20170003134U (ko) | 2017-08-24 | 2017-09-05 | 주식회사 엘지유플러스 | 멀티 카드 |
Also Published As
Publication number | Publication date |
---|---|
FR2642544B1 (fr) | 1994-11-18 |
FR2642544A1 (fr) | 1990-08-03 |
US5615381A (en) | 1997-03-25 |
KR900013389A (ko) | 1990-09-05 |
JPH02202642A (ja) | 1990-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100197761B1 (ko) | Ic카드와 ic카드 억세스 처리방법 | |
US4777355A (en) | IC card and system for checking the functionality thereof | |
JP2506061B2 (ja) | マイクロプロセッサおよび少なくとも一つのプログラム可能な読み出し専用メモリを備えるデ―タ担体と外部との間でオペレ―ションを実行する方法 | |
US6669096B1 (en) | Smart card reader with microcontroller and security component | |
US5168151A (en) | Portable electronic device having a memory with restricted access in off-line modes | |
JPH0719231B2 (ja) | 改良されたアクセス安全装置を備える集積回路 | |
US5506396A (en) | Microcomputer for IC card | |
JPH08115266A (ja) | スマートカード | |
US6760810B2 (en) | Data processor having instruction cache with low power consumption | |
US5168559A (en) | Emulation system capable of complying with microcomputers having different on-chip memory capacities | |
US5286962A (en) | IC card for prevention of fraudulent use | |
US7415730B2 (en) | Microcomputer and test method therefore | |
JP3771904B2 (ja) | 補助レジスタバンクを有するマイクロプロセッサ回路 | |
US4731748A (en) | Pocket computer with means for checking the detachable memory module before and after power interruption | |
US5093909A (en) | Single-chip microcomputer including an eprom capable of accommodating different memory capacities by address boundary discrimination | |
US5729004A (en) | Data communication device and method of a smart card | |
JP4209512B2 (ja) | Icカード | |
US6736325B1 (en) | Codelets | |
US20030151970A1 (en) | Synchronous flash memory command sequence | |
CN115408287A (zh) | 板卡中基础软件的检测方法、装置、设备及存储介质 | |
US6776346B1 (en) | Secured access device with chip card application | |
US7089427B1 (en) | Security system method and apparatus for preventing application program unauthorized use | |
KR20000076351A (ko) | 집적 회로 및 상기 회로의 테스트 방법 | |
JP2929696B2 (ja) | シングルチップマイクロコンピュータ | |
US6742073B1 (en) | Bus controller technique to control N buses |
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: 20110127 Year of fee payment: 13 |
|
LAPS | Lapse due to unpaid annual fee |