즉, 도 13에 도시하는 종래의 마이크로 컴퓨터(1)는 소정의 프로그램을 기억하는 메모리(2)와, 소정의 명령열의 입력에 기초하여 소정의 연산 처리를 실행하는 중앙 처리 장치(이하, CPU-Central Processing Unit-)(3)와, 명령 버스를 통해 CPU(1)에 디버그 서포트 유닛(이하, DSU-Debug Support Unit-) 명령을 공급하는 DSU 명령 유지부(4)와, CPU(3)내에서 처리되는 판별 비트(5a) 및 명령열(5b)과, 메모리(2)에 기억된 프로그램의 어드레스를 관리하는 어드레스 디코더(6)와, CPU(3)로부터의 판독 허가 신호에 기초하여 메모리로부터의 프로그램의 판독을 제어하는 판독 제어부(7)를 구비하고 있다.
또한, 마이크로 컴퓨터(1)는 시스템 외부의 메모리로부터 내부의 메모리에의 직접 액세스를 제어하는 다이렉트 메모리 액세스(이하, DMA-Direct Memory Access-) 제어부(8)와, 칩 외부와의 액세스를 가능하게 하는 칩 외부 인터페이스(9)를 구비하고 있다.
종래의 마이크로 컴퓨터(1)에 있어서는 명령 버스를 통해 CPU(3)에 공급된 액세스 실행용의 명령열(5b)에 대하여 명령열의 기억 장소가 메모리(2)의 어느 메모리 영역인가를 판별하는 판별 비트(5a)를 부여하고 있다. 이 명령열 기억 장소의 판별 수단으로서의 판별 비트(5a)를 부여해 두는 것에 의해 컴퓨터 시스템의 내부 메모리에 기억된 프로그램이나 데이터를 보호할 수 있고, 우선 프로그램 보안 기능을 다하고 있었다.
그러나, 종래의 마이크로 컴퓨터에 있어서는 프로그램을 기억하는 메모리 영역이 메모리내에 하나만 설치되어 있다. 또한, 명령열 기억 장소의 판별 수단으로서의 판별 비트도 하나 설치되어 있을 뿐이다. 이 때문에, 복수의 프로그램 제공자들이 하나의 메모리에 대하여 각각의 프로그램을 복수 설치하는 경우라도 하나의 판별 비트를 많은 사람이 사용하여, 하나의 메모리 영역에 액세스하여 프로그램을 내부 메모리에 설치하고 있었다.
따라서, 판별 비트가 일치하여 메모리에의 액세스가 허가되면 다른 프로그램 제공자가 기억한 프로그램의 판독이 가능해져, 컴퓨터 시스템에 있어서의 내부 메모리에 대한 기본적인 프로그램 보안 기능은 확보하고 있으면서, 이미 설치된 특정한 프로그램에 대한 프로그램 보안 기능을 담보할 수 없다고 하는 문제점이 있었다.
즉, 최근에는 메모리 용량의 증가와 고성능화에 의한 다기능화가 진행하고 있는 반면, 빠른 제품 사이클로 인해 개발 기간의 단축이 매우 중요해지고 있다. 그 때문에, 짧은 개발 기간 중에서 복수의 고도한 코어 기술을 탑재시키는 데에 있어서 각각의 코어 기술을 각각의 전문 기술자에 위탁해야 하는 상황이 늘어나고 있다. 이러한 상황에 있어서는 각각의 소프트웨어가 순차 메모리에 프로그램되어 가야하지만, 소프트웨어 상호간의 기밀성을 유지시키기 위해서는 종래와 같이 하나의 판별 비트밖에 갖지 않는 마이크로 컴퓨터의 경우 복수의 마이크로 컴퓨터를 사용하여 상호의 통신에 의해 액세스를 제어하거나, 오퍼레이팅 시스템(OS-Operating System-)을 이용하는 방법밖에 없다고 하는 문제점이 있었다.
이러한 상황에 있어서는 각각의 소프트웨어가 순차 메모리에 프로그램(또는, 설치)되어 가야 하지만, 하나의 판별 비트밖에 이용하지 않는 경우에는 전의 판매자가 특정한 프로그램을 설치한 메모리를 수취한 다음의 판매자가 동일한 판별 비트에 의해 액세스가 허용되어 다른 프로그램을 설치했을 때에, 이미 기억되어 있는 프로그램의 내용이 다른 프로그램 판매자에 의해 판독되어 버린다고 하는 문제점이 있었다.
그 때문에, 소프트웨어의 기밀성을 유지하기 위해서는 중(重)라인용에 하나의 판별 비트밖에 가지지 않는 마이크로 컴퓨터를 복수 사용하여 상호의 통신에 의해 액세스를 제어하거나, 오퍼레이팅 시스템(OS-Operating System)을 이용한다고 하는 것이 일반적인 방법이었다.
따라서, 다른 복수의 프로그램을 다른 기억자가 메모리에 설치하는 경우라도 프로그램 사이의 보안성을 확보할 수 있는 마이크로 컴퓨터가 요구되고 있다.
기본 구성에 따른 마이크로 컴퓨터는 소정의 프로그램을 기억하는 메모리와, 소정의 명령에 기초하여 상기 메모리에 기억된 프로그램을 판독하여 소정의 연산을 처리하는 CPU와, 상기 메모리로부터의 상기 프로그램의 판독을 제어하는 판독 제어부를 구비하는 마이크로 컴퓨터에 있어서, 상기 메모리에 설치된 판별 표식을 각각 갖는 복수의 메모리 영역과, 다른 상기 판별 부호를 이용하여 메모리 영역을 판별하는 판별 수단과, 상기 판별 수단의 판별 결과에 기초하여 다른 프로그램이 기억된 메모리 영역의 판독을 금지하는 판독 제어 수단을 구비한다.
이하 마이크로 컴퓨터의 실시형태에 관하여 첨부 도면을 참조하면서 상세히 설명한다.
제1 실시형태
우선, 도 1을 이용하여 기본 개념을 도시하는 제1 실시형태에 따른 마이크로 컴퓨터에 관해서 설명한다.
도 1에 있어서, 제1 실시형태에 따른 마이크로 컴퓨터(11)는 복수의 메모리 영역마다 각각 소정의 프로그램을 기억하는 내부 메모리(12)와, 소정의 명령에 기초하여 내부 메모리(12)에 기억된 프로그램을 판독하여 소정의 연산을 처리하는 CPU(13)와, 명령을 받았을 때의 어드레스에 의해 메모리(12)의 어드레스 공간에의 액세스를 허가하는 어드레스 디코더(16)와, 메모리(12)에의 액세스가 허가되었을 때에 메모리(12)로부터의 프로그램의 판독을 제어하는 판독 제어부(17)를 구비하고, 전체적으로 칩화되어 있다.
이러한 기본 구성을 갖는 마이크로 컴퓨터(11)에 있어서 내부 메모리(12)에 설치되어 프로그램마다 다른 판별 표식(예컨대, 어드레스 등)(21a, 21b, …, 21n)를 각각 갖는 복수의 프로그램(22a, 22b, …, 22n)을 각각의 프로그램마다 기억하는 복수의 메모리 영역(12a, 12b, …, 12n)과, 각각의 프로그램(22a, 22b, …, 22n)마다 다른 판별 표식(21a, 21b, …, 21n)를 이용하여 각각의 프로그램(22a, 22b, …, 22n)이 기억되는 메모리 영역(12a, 12b, …, 12n)을 판별하는 판별 수단(23)과, 각각의 판별 표식(21a, 21b, …, 21n)에 대응하는 프로그램인 것이라고 판별되었을 때만 그 프로그램이 기억된 메모리 영역에의 액세스를 허가하며, 어느 프로그램, 예컨대 22a용 판별 표식(21a)에 의해 다른 프로그램, 예컨대 22b∼22n이 기억된 메모리 영역(12b∼12n)에의 액세스를 금지하도록 프로그램의 판독을 제어하는 판독 제어 수단(24)을 구비하고 있다.
마이크로 컴퓨터(11)의 그 밖의 구성으로서는, 종래의 마이크로 컴퓨터(1)와 같이, 입력된 명령에 대하여 각종의 처리를 행하는 CPU(13)와, CPU(13)내에서 처리되는 판별 비트(15a) 및 명령열(15b)과, 메모리(12)내의 메모리 영역(12a∼12n)에 기억된 프로그램(22a∼22n)의 어드레스를 관리하는 어드레스 디코더(16)와, CPU(13)로부터의 판독 허가 신호에 기초하여 메모리(12)로부터의 프로그램의 판독을 제어하는 판독 제어부(17)를 구비하고 있다.
마이크로 컴퓨터(11)는 시스템 외부의 메모리로부터 내부의 메모리에의 직접 액세스를 제어하는 DMA 제어부(18)와, 칩 외부와의 액세스를 가능하게 하는 칩 외부 인터페이스(19)와, 마이크로 컴퓨터(11)내의 명령을 전달하는 명령 버스(20)와, 내부 메모리(12)와 CPU(13)와의 사이에서의 데이터의 송수신을 중개하는 데이터 버스(25)를 더 구비하고 있다. 또, 판독 제어 수단(24)은 판독 제어부(17)에 설치되지만, 판별 수단(23)은 도 1에 점선으로 표시한 바와 같이, CPU(13)에 설치하여도 좋고, 어드레스 디코더(16), 판독 제어부(17), DMA 제어부(18)의 어느 하나에 설치하여도 좋다.
제2 실시형태
다음에, 도 2를 참조하면서 제2 실시형태에 따른 마이크로 컴퓨터에 관해서 설명한다. 도 2에 있어서 도 1과 동일 부호를 붙인 구성 요소는 제1 실시형태에 따른 마이크로 컴퓨터의 구성 요소와 동일 또는 대응하는 구성 요소를 나타내고 있다. 도 2에서는 명확히 표시하지 않지만, 판별 비트(1∼n)의 어드레스와의 일치를 보고나서 판독 허가 신호(1∼n)를 판독 제어부(17)의 판독 제어 수단(24)에 출력하는 판별 수단(23)이 CPU(13)내에 설치되어 있다.
기억용 메모리 영역(12a∼12n)에는 각각의 판별 표식과 함께 프로그램이 기억되어 있다. 어드레스 디코더(16)로부터 송출된 셀렉트 신호(1)∼셀렉트 신호(n) 가 메모리(12)에 입력되며, CPU(13)에도 입력되어, DSP 명령 유지부(14)로부터의 명령에 부가된 판별 비트(1) 내지 판별 비트(n)와의 사이에서 판별을 행하고, 판별 수단(23)이 셀렉트 신호(1)와 판별 비트(1)의 일치로부터 셀렉트 신호(n)와 판별 피트(n)의 일치까지에 관해서 판별하면, 각각의 메모리 영역(12a 내지 12n)의 어느 것에의 액세스가 허가된다. 판별 수단(23)이 일치를 검출하지 않은 것에 관해서는 액세스가 허가되지 않는다.
이에 따라, 메모리 영역(12a∼12n)에 각각 기억되어 있는 프로그램(22a∼22n)이 판독 제어부(17)를 통해 CPU(13) 또는 DMA 제어부(18)나 칩 외부 인터페이스(19) 등에서 판독된다. 이 제2 실시형태에 따른 마이크로 컴퓨터(11)는 판별 수단(23)이 CPU(13)내에 설치된 구성을 갖고 있다. 이하, 개략적인 동작에 관해서 설명한다.
CPU(13)로부터 메모리(12)에 접속된 어드레스선(26)은 어드레스 디코더(16)에도 접속되어 있다. 어드레스 디코더(16)는 셀렉트 신호(1∼n)를 메모리(12)의 메모리 영역(12a∼12n)에 출력하는 동시에, 동일한 셀렉트 신호(1∼n)를 CPU(13)의 판별 수단(23)에도 출력한다. 판별 수단(23)이 판별 비트와 셀렉트 신호와의 일치를 판별하면 판독 허가 신호(1∼n)가 판독 제어부(17)에 출력되어, 데이터 버스(A1∼An)를 통해 데이터가 판독되고, 이어서 데이터 버스(B)를 통해 CPU(13), DMA 제어부(18), 칩 외부 인터페이스(19) 중 어느 하나에서 판독된 데이터가 공급된다.
이상, 동작을 중심으로 하여 제2 실시형태에 따른 마이크로 컴퓨터의 구성에 관해서 설명하였다. 이 제2 실시형태는 판별 수단(23)이 CPU(13)내에 설치되어 있 는 것으로서 설명했지만, 제1 실시형태에서도 설명한 바와 같이 판별 수단(23)은 어드레스 디코더(16)내에 설치되어 있어도 좋고, 또한, 판독 제어부(17)에 설치되어 있어도 DMA 제어부(18)에 설치되어 있어도 좋다. 또, 본 발명은 상기 실시형태에 한정되지 않고, 여러 가지의 변형을 행하는 것이 가능하다.
제3 실시형태
다음에, 판별 표식으로서 어드레스를 사용한 경우의 가장 단순한 구성으로서의 제3 실시형태에 따른 마이크로 컴퓨터에 관해서 도 3을 이용하여 설명한다. 도 3에 도시하는 제3 실시형태에 따른 마이크로 컴퓨터는 도 2에 도시하는 제2 실시형태의 마이크로 컴퓨터와 비교하면, DSU 명령 유지부(14), DMA 제어부(18), 칩 외부 인터페이스(19)가 설치되어 있을 필요가 없고, CPU(13)내의 판별 수단이 명령 어드레스(15a)와 데이터 어드레스(27)를 판별하는 구성으로 되어 있다.
제3 실시형태에 따른 마이크로 컴퓨터의 동작에 관해서 설명한다. CPU(13)내에 소정의 명령이 설정되었을 때에 이 명령이 단순한 처리를 실행하는 명령인지 메모리(12)의 프로그램 기억용 메모리 영역(12a∼12n)에의 액세스 명령인지 여부에 의해 동작이 다르다. 단순한 처리를 실행하는 명령인 경우에는 그대로 처리가 실행된다. 메모리 영역에의 액세스 명령인 경우에는 프로그램 판독 명령이기 때문에 액세스하는 메모리 영역이 소정의 메모리 영역인지 여부가 판단된다.
이 경우, CPU(13)내의 판별 수단(23)에 의해서 명령열(15b)이 기억되어 있던 명령 어드레스(15a)와, 그 명령열(15b)의 판독 수신지(destination)의 데이터 어드레스(27)를 동일한 영역으로부터의 판독인지 여부가 판단된다. CPU(13)내의 판별 수단(27)이 명령열(15b)을 동일 영역으로부터의 판독이라고 판단한 경우, 판독 허가 신호(1∼n)가 판독 제어부(17)에 출력되고, 데이터 버스(25)를 통해 데이터가 판독된다.
이 제3 실시형태에 따른 마이크로 컴퓨터에 있어서는 판별 수단(23)이 CPU(13)내에 설치되어 있는 것으로서 설명되어 있지만, 도 1에 도시한 제1 실시형태에서도 설명한 바와 같이, 판독 제어부(17)내에 설치되어 있어도 좋고, 또한, 메모리(12)의 내부에 설치되어 있어도 좋다.
제4 실시형태
다음에 제4 실시형태에 따른 마이크로 컴퓨터에 관해서 설명한다. 제4 실시형태의 마이크로 컴퓨터는 제3 실시형태에 따른 마이크로 컴퓨터의 데이터 버스(25) 및 어드레스선(26)을 명령열용의 명령 어드레스선(28)/명령 버스(20)와, 데이터용의 데이터 어스레스선(26)/데이터 버스(25)로 나눈 경우의 구성예를 도시하고 있다.
제3 실시형태와 같이, CPU(13)내의 판별 수단(23)에 의해서 명령열(15b)이 기억되어 있던 명령 어드레스(15a)와 그 명령열(15b)의 판독 수신지의 데이터 어드레스를 동일한 영역으로부터의 판독인지 여부가 판단된다. 동일 영역으로부터의 판독인 것이라고 판단된 경우에는 판독 허가 신호(1∼n)가 판독 제어부(17)에 출력되어 데이터 버스(25)를 통해 데이터가 판독된다.
이 제4 실시형태에 따른 마이크로 컴퓨터에 있어서도 또한 판별 수단(23)이 CPU(13)내에 설치되어 있는 것으로서 설명되어 있지만, 도 1에 도시한 제1 실시형 태에서도 설명한 바와 같이, 판독 제어부(17)내에 설치되어 있어도 좋고, 또한, 메모리(12)의 내부에 설치되어 있어도 좋다.
제5 실시형태
제5 실시형태에 따른 마이크로 컴퓨터는 도 4에 도시한 제4 실시형태에 따른 마이크로 컴퓨터의 메모리(12), CPU(13), 판독 제어부(17)의 구성에 대하여, DSU 명령 유지부, 어드레스 디코더, DMA 제어부, 칩 외부 인터페이스를 추가한 구성으로 되어 있다.
제5 실시형태의 마이크로 컴퓨터는 구체적으로는 도 5에 도시한 바와 같이, 명령 버스(20)에 대하여 DSU(디버그 서포트 유닛) 명령을 유지시키는 DSU 명령 유지부(14)와, 판독 제어부(17)로부터 데이터 버스(25)를 통해 공급된 판독 제어 신호에 기초하여 데이터 어드레스선(26)에 어드레스 제어 신호를 출력하는 DMA 제어부(18)와. 어드레스 디코더(16)와 판독 제어부(17)로부터의 신호에 기초하여 칩 외부와의 액세스를 가능하게 하는 칩 외부 인터페이스(19)를 구비하고 있다.
도 5에 도시하는 제5 실시형태에 따른 마이크로 컴퓨터의 동작에 관해서 도 6 내지 도 8을 참조하여 설명한다. 도 6 및 도 7은 제5 실시형태의 마이크로 컴퓨터의 타이밍 차트를 도시하고, 도 8은 도 5의 하드웨어 구성의 동작을 설명하기 위한 플로우차트를 도시하고 있다. 도 6 및 도 7은 DSU 명령 유지부(14)로부터 명령 버스(20)를 통해 CPU(13)에 보내지는 명령이 어느 블록(1)의 어드레스에 프로그램되어 있는 어느 블록(2)의 어드레스의 데이터 판독 명령인 명령 코드(1)의 경우의 동작을 나타내고 있고, 도 6은 판독 허가 신호(2)가 판독을 금지하는 경우를 도시 하고, 도 7은 판독 허가 신호(2)가 판독을 허가하는 경우를 도시하고 있다.
도 6에 있어서 내부 클록은 시스템에 고유의 클록 신호이며, 이 클록 신호에 기초하여 시스템내의 처리가 행해진다. 명령 어드레스선(28)을 통해 CPU(13)에 입력되는 명령 어드레스(15a)는 블록(1)(예컨대 메모리 영역(1))이며, 명령 버스(20)를 통하여 입력되는 명령열(15b)은 명령 코드(1)이다. 명령 코드(1)의 판독 명령에 의해 데이터 어드레스(27)는 블록(2)(예컨대 메모리 영역(n))인 경우 명령의 내용이 기억되어 있는 데이터에의 액세스이었다면 도 6에 도시하는 명령 버스는 명령 어드레스와 데이터 어드레스가 일치하지 않을 때에는 판독을 금지하도록 제어된다.
따라서, 데이터 어드레스(27)가 블록(2)인 경우 판독 허가 신호(2)에 소정의 타이밍으로 하강하여 판독을 금지하여, 데이터 버스(25)에 설치된 판독 제어부(17)가, 예컨대 더미 데이터를 송출하여 기억된 프로그램을 CPU(13)내에 판독할 수 없도록 하고있다.
이것에 대하여, 도 7에 도시하는 타이밍 차트의 경우에는 판독이 지시된 명령열이, 예컨대 프로그램 기억 영역에의 액세스가 아니라, 예컨대 단순한 명령의 실행일 때이며, 이 때에는 명령 어드레스가 블록(1)에서 데이터 어드레스가 블록(2)이라도 판독 허가 신호(2)는 판독을 금지하기 위해서 하강하는 일은 없다. 따라서, 데이터 버스(25)에는 데이터가 출력된다.
이러한 타이밍에 동작하는 도 5의 마이크로 컴퓨터에 있어서의 하드웨어에 기초하는 동작을 도 8의 플로우차트를 참조하여 설명한다. 도 8의 단계 ST1에 있어서, CPU(13)는 예컨대 메모리 등으로부터 판독된 명령이 명령 버스(20)를 통해 페 치된다. 단계 ST2에 있어서는, 명령열(15b)에 포함되는 명령 코드 등에 의한 명령의 내용이 메모리 판독 명령인지 여부가 판단되어, 메모리 판독 명령이 아닌 것으로 판단된 경우에는 단계 ST3에 있어서 명령이 실행된다. 이 때, 도 7에 도시하는 타이밍 차트에 있어서는 판독 허가 신호(2)가 변화하지 않기 때문에 명령 어드레스와 데이터 어드레스가 일치하지 않더라도 판독이 금지되지 않는다.
단계 ST2에서 페치된 명령이 메모리 판독 명령인 것이라고 판단된 경우에는 단계 ST4에 있어서 판독하는 대상이 기억되어 있는 메모리 영역이 동일한지 여부가 판단된다. 구체적으로는, 명령 어드레스(15a)와 데이터 어드레스(27)가 동일한지 여부가 판단된다. 도 6에 도시하는 타이밍 차트의 예에서는, 명령 어드레스에는 블록(BLK1)이 설정되고, 데이터 어드레스에는 블록(BLK2)이 설정되어 있기 때문에. 명령 어드레스(15a)는, 예컨대 기억용 메모리 영역(12a)에 기억되어 있는 프로그램을 판독하도록 명령하고 있는 데 대하여, 판별되는 데이터 어드레스(27)는, 예컨대 기억용 메모리 영역(12b)에 기억되어 있는 데이터를 판독하는 것을 나타내고 있다. 따라서, 단계 ST4는 ST5로 진행하여 도 6에 있어서의 명령 어드레스 및 데이터 어드레스의 BLK1과 BLK2와의 불일치에 의해 판독 허가 신호(2)는 판독을 금지한 상태가 되고, 단계 ST6에서 판독이 제어되고, 단계 ST8에서, 예컨대 더미 데이터가 출력된다.
이 경우, 도 7에 도시하는 타이밍 차트와 같이 데이터 어드레스에 블록(BLK1)이 설정되어 있으면 판별 수단(23)은 명령 어드레스(15a)와 데이터 어드레스(27)가 BLK1에서 일치하고 있는 것이라 판별하기 때문에 도 8의 단계 ST7에 있어서 판독 허가 신호를 허가로 설정한다. 단계 ST8의 명령의 실행에 있어서 정규 데이터를 판독한다고 하는 명령이 실행된다.
전술한 제5 실시형태에 따른 마이크로 컴퓨터는 명령 어드레스(15a)와 그 명령열(15b)의 판독 수신지의 데이터 어드레스(27)를 동일 영역으로부터의 판독인지 여부를 판별하는 판별 수단(23)이 CPU(13)내에 설치되어 있는 것으로서 설명했지만, 판별 수단(23)은 CPU(13)내에 설치되는 구성에 한정되지 않고, 어드레스 디코더(16) 내나, 판독 제어부(17) 내, 또는 DMA 제어부(18)내에 설치하여도 좋다. 이하, 이들 구성에 관해서 도 9 내지 도 12에 도시하는 블록도에 도시하는 제6 내지 제9 실시형태에 따른 마이크로 컴퓨터로서 설명한다.
제6 실시형태
도 9에 도시하는 제6 실시형태의 마이크로 컴퓨터는 판별 수단(23)이 어드레스 디코더(16)에 설치되어 있는 구성을 갖고 있다. CPU(13)내에는 명령 어드레스(15a)와 명령열(15b)을 포함하는 명령이 페치되어, 이 페치된 명령의 명령 어드레스(15a)와 명령의 판독 수신지의 데이터 어드레스(27)가 명령 어드레스선(28) 및 데이터 어드레스선(26)을 통해 메모리(12)에 보내진다.
어드레스 디코더(16)에 설치된 판별 수단(23)은 2개의 어드레스선(18, 26)의 어드레스를 판별하고, 명령의 판독 대상이 동일한 메모리 영역에 기억되어 있는 데이터인 경우에는 판독 허가 신호(1∼n)를 허가로 하는 동시에, 다른 메모리 영역에 기억되어 있는 데이터인 경우에는 판독 허가 신호(1∼n) 중 어느 하나를 금지로 한다. 판독 허가 신호(1∼n)는 판독 제어부(17)에 출력되어, 데이터 버스(25)를 통해 메모리(12)로부터 CPU(13)에 보내지는 기억 데이터의 판독을 허가하거나 금지하고 있다.
이 메모리 기억 데이터의 판독 허가와 금지의 구체적인 동작은 도 6 내지 도 8을 이용하여 설명하고 있기 때문에 중복 설명을 생략한다.
제7 실시형태
도 10에 도시하는 제7 실시형태의 마이크로 컴퓨터도 판별 수단(23)이 어드레스 디코더(16)에 설치되어 있는 구성을 갖고 있다. 이 구성은 도 9에 도시하는 제6 실시형태와 달리, 판독 제어부(17)가 판별 수단(23)과 함께 어드레스 디코더(16)내에 설치된 구성으로 되어 있다.
이 제7 실시형태의 마이크로 컴퓨터는 판별 수단(23)이 명령 어드레스(15a)와 데이터 어드레스(27)와의 판별에 의해 판독 허가 신호(1∼n)를 판독 제어부(17)에 출력하고 있고, 판독 제어부(17)는 수취한 판독 허가 신호(1∼n)에 기초하여 셀렉트 신호(1∼n)를 메모리(12)에 대하여 출력하고 있다. 따라서, 판별 수단(23)의 판별 결과가 셀렉트 신호(1∼n)로서 메모리에 대하여 보내지고 있는 점에서 다른 실시형태와 다르다.
제8 실시형태
도 11에 도시하는 제8 실시형태의 마이크로 컴퓨터는 판별 수단(23)이 판독 제어부(17)에 설치되어 있는 구성을 갖고 있다. CPU(13)내에는 명령 어드레스(15a)와 명령열(15b)을 포함하는 명령이 페치되어, 이 페치된 명령에 관한 명령 어드레스(15a)와 명령의 판독 수신지의 데이터 어드레스(27)가 명령 어드레스선(28) 및 데이터 어드레스선(26)을 통해 메모리(12)에 보내진다.
판독 제어부(17)에 설치된 판별 수단(23)은 2개의 어드레스선(18, 26)의 어드레스를 판별하고, 명령의 판독 대상이 동일한 메모리 영역에 기억되어 있는 데이터인 경우에는 판독 허가 신호(1∼n)를 허가로 하는 동시에, 다른 메모리 영역에 기억되어 있는 데이터인 경우에는 판독 허가 신호(1∼n) 중 어느 하나를 금지로 한다. 판독 허가 신호(1∼n)는 판독 제어부(17)내에 설치된 판독 제어 수단(24)에 출력되고, 데이터 버스(25)를 통해 메모리(12)로부터 CPU(13)에 보내지는 기억 데이터의 판독을 허가하거나 금지하고 있다.
이 메모리 기억 데이터의 판독 허가와 금지의 구체적인 동작은 도 6 내지 도 8을 이용하여 설명하고 있기 때문에 중복 설명을 생략한다.
제9 실시형태
도 12에 도시하는 제9 실시형태의 마이크로 컴퓨터는 판별 수단(23)이 DMA 제어부(18)에 설치되어 있는 구성을 갖고 있다. CPU(13)내에는 명령 어드레스(15a)와 명령열(15b)을 포함하는 명령이 페치되어, 이 페치된 명령에 관한 명령 어드레스(15a)와 명령의 판독 수신지의 데이터 어드레스(27)가 명령 어드레스선(28) 및 데이터 어드레스선(26)을 통해 메모리(12)에 보내진다.
DMA 제어부(17)에 설치된 판별 수단(23)은 2개의 어드레스선(18, 26)의 어드레스를 판별하여, 명령의 판독 대상이 동일한 메모리 영역에 기억되어 있는 데이터인 경우에는 판독 허가 신호(1∼n)를 허가로 하는 동시에, 다른 메모리 영역에 기억되어 있는 데이터인 경우에는 판독 허가 신호(1∼n) 중 어느 하나를 금지로 한 다. 판독 허가 신호(1∼n)는 판독 제어부(17)에 출력되고, 데이터 버스(25)를 통해 메모리(12)로부터 CPU(13)에 보내지는 기억 데이터의 판독을 허가하거나 금지하고 있다.
이 메모리 기억 데이터의 판독 허가와 금지의 구체적인 동작은 도 6 내지 도 8을 이용하여 설명하고 있기 때문에 중복 설명을 생략한다.