KR950010529B1 - 프로세서간 통신을 위한 메모리 공유 장치 - Google Patents
프로세서간 통신을 위한 메모리 공유 장치 Download PDFInfo
- Publication number
- KR950010529B1 KR950010529B1 KR1019920012287A KR920012287A KR950010529B1 KR 950010529 B1 KR950010529 B1 KR 950010529B1 KR 1019920012287 A KR1019920012287 A KR 1019920012287A KR 920012287 A KR920012287 A KR 920012287A KR 950010529 B1 KR950010529 B1 KR 950010529B1
- Authority
- KR
- South Korea
- Prior art keywords
- internal
- bus
- memory
- data
- internal memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Microcomputers (AREA)
- Multi Processors (AREA)
Abstract
내용 없음.
Description
제 1 도는 종래의 마이크로 컴퓨터 시스템의 일례를 도시한 블럭도.
제2(a)도 및 제2(b)도는 각각 제 1 도의 마이크로 컴퓨터 시스템의 기입 및 판독 메모리 참조의 타이밍 차트.
제 3 도는 본 발명의 제 1실시예에 따른 마이크로 컴퓨터 시스템의 블럭도.
제4(a)도 및 제4(b)도는 각각 제 3 도의 실시예의 마이크로 컴퓨터의 내부 CPU 및 외부 마이크로 컴퓨터에 의한 제 1 마이크로 컴퓨터의 내부 메모리에의 기입 동작을 도시한 타이밍 차트.
제 5 도는 제 1 마이크로 컴퓨터의 내부 CPU 및 외부 마이크로 컴퓨터 모두가 제 1 마이크로 컴퓨터의 내부 메모리에 기입할 때 제 3 도의 실시예의 동작을 설명하는 타이밍 차트.
제 6 도는 본 발명의 제 2 실시예의 마이크로 컴퓨터를 도시한 블럭도.
제 7 도는 제 1 마이크로 컴퓨터의 내부 CPU에 의한 제 6 도의 실시예의 외부 메모리의 기입 동작을 도시한 타이밍 차트.
제 8 도는 외부 마이크로 컴퓨터가 제 1 마이크로 컴퓨터의 내부 메모리에 데이타 기입을 수행시 제 6 도의 실시예의 동작을 설명하는 타이밍 차트.
제 9 도는 본 발명의 제 3 의 실시예의 마이크로 컴퓨터 시스템을 도시한 블럭도.
제10(a)도 및 제10(b)도는 제 1 마이크로 컴퓨터의 내부 CPU가 제 1 마이크로 컴퓨터의 내부 로칼 메모리에 데이타 기입 및 판독을 수행하는 경우에 대해 제 9 도의 마이크로 컴퓨터 시스템의 메모리 참조 동작을 도시한 타이밍 차트.
제11도는 제 1 마이크로 컴퓨터의 내부 CPU가 제 1 마이크로 컴퓨터의 내부 공유 메모리에 데이타 기입을 수행시 제 9 도의 실시예의 동작을 설명하는 타이밍 차트.
제12도는 외부 마이크로 컴퓨터가 제 1 마이크로 컴퓨터의 내부 공유 메모리에 데이타 기입을 수행시 제 9 도의 실시예의 동작을 설명하는 타이밍 차트.
제13도는 제 1 마이크로 컴퓨터의 내부 CPU가 제 1 마이크로 컴퓨터의 내부 로칼 메모리에 데이타를 기입하는 중에 외부 마이크로 컴퓨터가 제 1 마이크로 컴퓨터의 내부 공유 메모리를 참조시 제 9 도의 실시예의 동작을 설명하는 타이밍 차트.
제14도는 제 1 마이크로 컴퓨터의 내부 CPU가 제 1 마이크로 컴퓨터의 내부 공유 메모리에 기입 중에 외부 마이크로 컴퓨터가 제 1 마이크로 컴퓨터의 내부 공유 메모리를 참조시 제 9 도의 실시예의 동작을 설명하는 타이밍 차트.
제15도는 외부 마이크로 컴퓨터가 제 1 마이크로 컴퓨터의 내부 공유 메모리에 데이타 기입을 수행 중 제 1 마이크로 컴퓨터의 내부 CPU가 제 1 마이크로 컴퓨터의 내부 공유 메모리에 데이타 기입을 시도시 제 9 도의 실시예의 동작을 설명하는 타이밍 차트.
* 도면의 주요부분에 대한 부호의 설명
100,150,200,250,300,500,550 : 마이크로 컴퓨터
110,310 :중앙 처리 장치 120 : 내부 메모리
130 : 버스 제어부 170,370 : 어드레스 디코더
260 : 외부 메모리 320 : 내부 로칼 메모리
290,361,364,365 : 버스 구동기 321 : 내부 공유 메모리
560 : 듀얼 포트 메모리
본 발명은 일반적으로 다중 프로세서 시스템에 있어서의 컴퓨터간 통신에 관한 것으로, 특히 메모리를 통해 프로세서간 통신을 가능하게 하는 다중 프로세서 시스템에 사용하기 적합한 마이크로 컴퓨터에 관한 것이다.
다수의 마이크로 컴퓨터를 포함하는 다중 프로세서 시스템에 있어서는 마이크로 컴퓨터간의 데이타 전송이 필요하다. 이를 위해, 전형적으로 각 마이크로 컴퓨터에 의해 참조될 수 있는 듀얼 포트 메모리가 마이크로 컴퓨터 사이에 연결되며 다른 마이크로 컴퓨터에 의해 듀얼 포트 메모리에 기입된 데이타를 마이크로 컴퓨터 중의 하나가 듀얼 포트 메모리로부터 데이타를 판독하는 방식으로 마이크로 컴퓨터들간에 데이타가 전송된다.
그러한 다중 프로세서 마이크로 컴퓨터 시스템이 제 1 도 및 제 2 도를 참조하여 상세히 설명될 것이다. 제 1 도는 2개의 마이크로 컴퓨터(500 및 550)과 듀얼 포트 메모리(560)으로 구성된 마이크로 컴퓨터 시스템의 일례를 도시한 블럭도이다.
마이크로 컴퓨터(500)과 듀얼 포트 메모리(560)은 (a) 마이크로 컴퓨터(550)이 참조하는 메모리 어드레스를 출력하는 외부 어드레스 버스(501), (b) 마이크로 컴퓨터(500)과 듀얼 포트 메모리(560)간에 판독/기입 데이타를 전송하는 외부 데이타 버스(502), (c) 마이크로 컴퓨터의 메모리 참조 동작이 기입("0"신호 레벨) 또는 판독("1"신호 레벨)인지를 표시하는 외부 R/W 신호 라인(503), 및 (d) 마이크로 컴퓨터(500)에 의해 메모리(560)에 판독/기입을 타이밍하는 외부 DSTB 신호 라인(504)에 의해 서로 연결된다. 마찬가지로, 마이크로 컴퓨터(550)과 듀얼 포트 메모리(560)은 외부 어드레스 버스(551), 외부 데이타 버스(552), 외부 R/W 신호 라인(553) 및 외부 DSTB 신호 라인(554)에 의해 서로 연결된다.
이제, 듀얼 포트 메모리(560)을 액세스 할 때의 마이크로 컴퓨터(500)의 동작이 설명될 것이다. 제2(a)도는 마이크로 컴퓨터(500)이 듀얼 포트 메모리(560)에 데이타를 기입하는 경우에 대한 타이밍 차트를 도시한다. 마이크로 컴퓨터(500)은 시각(t51)에 외부 R/W 신호 라인(503)에 기입을 나타내는 "0"을 출력하며 나아가 (a) 메모리 기입을 수행하기 위해 외부 어드레스 버스(501)상에 메모리 어드레스를 출력하고 (b) 외부 데이타 버스(502)상에 데이타를 기입한다. 다음, 시간 간격(t61-t63)동안에 외부 DSTB 신호 라인(504)에 액티브 레벨 "0"을 출력함으로써 듀얼 포트 메모리(560)으로의 데이타 기입이 수행된다.
제2(b)도는 마이크로 컴퓨터(500)의 듀얼 포트 메모리(560)으로부터 데이타를 판독하는 경우에 대한 타이밍 차트이다. 마이크로 컴퓨터(500)은 시각(t71)에 외부 R/W 신호(503)상에 판독을 나타내는 "1"을 출력하고, 메모리 판독 수행을 위해 외부 어드레스 버스(501)상에 메모리 어드레스를 출력하며, 외부 데이타 버스(502)를 고 임피던스 상태로 놓는다. 다음, 시간 간격(t72-t73)동안에 액티브 레벨 "0"을 외부 DSTB 신호 라인(504)에 출력함으로써 듀얼 포트 메모리(560)으로부터 외부 데이타 버스(502)로 데이타가 출력된 다음에 마이크로 컴퓨터는 외부 데이타 버스(502)로 부터 데이타를 취함으로써 듀얼 포트 메모리(560)으로부터의 데이타 판독을 완료한다. 듀얼 포트 메모리(560)에 대한 마이크로 컴퓨터(550)의 데이타 판독/기입은 동일한 절차를 통하여 수행된다. 따라서 마이크로 컴퓨터간의 데이타 전송은 양 마이크로 컴퓨터가 듀얼 포트 메모리(560)을 액세스함으로써 수행된다.
상술한 바와 같은 종래의 마이크로 컴퓨터 시스템에 있어서, 데이타 전송이 마이크로 컴퓨터(500 및 550)간에 듀얼 포트 메모리(560)의 외부 연결에 의해 수행되지만, 듀얼 포트 메모리(560)은 일반 메모리에 비해 가격이 비싸므로, 전체적으로 시스템에 대한 비용을 실질적으로 증가시키게 된다.
나아가, 듀얼 포트 메모리(560)이 외부에 연결되기 때문에 부품의 수가 증가되고, 전체 시스템의 신뢰도를 떨어뜨리게 된다.
따라서 다중 프로세서 마이크로 컴퓨터 시스템의 마이크로 컴퓨터간 데이타 전송을 경제적으로 제공하는 것이 본 발명의 한 목적이다.
본 발명의 다른 목적은 다중 프로세서 마이크로 컴퓨터 시스템의 마이크로 컴퓨터간 데이타 전송에 있어서 개선된 신뢰도를 제공하는 것이다.
또한 본 발명의 목적은 외부 메모리 참조용 단자와 내부 메모리 참조용 단자를 공유하는 다중 프로세서 마이크로 컴퓨터를 제공하는 것이다.
나아가 본 발명의 목적은 마이크로 컴퓨터의 단자 수를 증가시키지 않고서 다중 프로세서 마이크로 컴퓨터 시스템에 외부 메모리를 연결하는 것이다.
또한 본 발명의 목적은 다중 프로세서 마이크로 컴퓨터 시스템에 외부 메모리를 추가하는데 필요한 설계 단계를 제한하는 것이다.
본 발명에 따르면, 종래 기술의 문제점이 해결되고, 간단한 회로 구성으로 경제적이라고 인정되고 개선된 신뢰도를 제공하는 마이크로 컴퓨터가 제공된다.
중앙 처리 장치와 중앙 처리 장치의 명령 실행 중에 참조될 수 있는 데이타를 가진 내부 메모리에 있어서 본 발명은 (a) 중앙 처리 장치가 참조하는 내부 메모리의 어드레스 및 데이타를 전송하는 내부 버스, (b) 내부 메모리에의 데이타 참조용 제어 신호를 전송하는 내부 메모리의 제어 신호 라인, 및 (c) i) 내부 버스가 비사용 상태일 때와 ii) 외부 버스 요청 신호가 수신되고 동시에 내부 버스 및 메모리 제어 신호를 외부 단자에 연결할 때 버스 사용 허용 신호를 출력하는 버스 제어부로 구성된다.
상술한 바와 같이, 본 발명은 고가의 듀얼 포트 메모리를 사용할 필요없이 메모리를 통하여 다수의 마이크로 컴퓨터간에 데이타를 전송할 수 있는 다중 프로세서 마이크로 컴퓨터 시스템을 경제적으로 구성할 수 있도록 한다. 나아가, 외부적으로 메모리를 부착하지 않고 시스템을 구성할 수 있기 때문에, 전체 시스템의 신뢰도를 향상시킬 수 있다. 또한, 실제적인 효과는 괄목할만하다. 특히, (a) 마이크로 컴퓨터의 한 단자를 외부 메모리 참조용으로, 그리고 한 단자를 내부 메모리 참조용으로 공유할 수 있고, (b) 마이크로 컴퓨터 단자의 수를 증가시키지 않고서 외부 메모리 연결을 실현할 수 있으며, 그리고 (c) 단자의 수 및 관련된 연결의 증가로 인한 기판 설계 등과 같은 설계 단계의 증가를 제한할 수 있다.
상술한 목적 및 다른 목적, 특징과 장점은 도면을 참조하여 다음에 상세히 설명된 본 발명의 양호한 실시예로부터 더 잘 이해할 수 있을 것이다.
도면, 특히 제 3 도를 참조하면, 본 발명의 제 1 실시예에 따른 다중 프로세서 마이크로 컴퓨터 시스템의 블록도가 도시되어 있다. 본 다중 프로세서 시스템은 마이크로 컴퓨터(100), 마이크로 컴퓨터(150) 및 어드레스 디코더(170)을 포함한다. 마이크로 컴퓨터(100)은 중앙 처리 장치(110, CPU), CPU(110)으로부터 기입/판독될 수 있는 내부 메모리(120), 및 외부와 내부 버스 제어를 수행하는 버스 제어부(130)을 포함한다. 내부 메모리(120), CPU(110) 및 버스 제어부(130)은 메모리 액세스 중에 참조 어드레스를 상호 전송하는 내부 어드레스 버스(101), 메모리 액세스 중에 데이타를 전송하는 내부 데이타 버스(102), 기입시 "0"신호 레벨 및 판독시 "1"신호 레벨로 메모리 참조 기입/판독 상태를 나타내는 내부 R/W 신호 라인(103), 및 메모리로의 기입/판독의 시간을 지정하는 내부 DSTB 신호 라인(104)에 의해 서로 연결된다.
나아가, 마이크로 컴퓨터(150) 및 마이크로 컴퓨터(100)은 마이크로 컴퓨터(150)이 메모리를 액세스할 때 참조 어드레스를 출력하는 외부 어드레스 버스(151), 메모리 액세스 중에 데이타를 전송하는 외부 데이타 버스(152), 마이크로 컴퓨터(150)에 의해 수행되는 메모리 참조가 기입("0" 신호 레벨)인지 판독("1" 신호 레벨)인지를 나타내는 외부 R/W 신호 라인(153), 및 메모리에 대한 기입/판독의 시간을 지정하는 외부 DSTB 신호 라인(154)에 의해 서로 연결된다.
어드레스 디코더(170)은 마이크로 컴퓨터(150)에 의해 외부 어드레스 버스(151)상에 출력된 어드레스가 마이크로 컴퓨터(100)내의 내부 메모리(120)을 참조할 때 마이크로 컴퓨터(100)으로의 라인(105)상에 요청 신호(HLDRQ) "1"을 출력한다. 라인(105)상의 상기 HLDRQ "1"신호는 마이크로 컴퓨터(100)의 내부 메모리(120)에의 외부 액세스를 요청한다. 마이크로 컴퓨터(100)은 라인(105)상의 HLDRQ 신호에 의해 요청된 액세스가 접수될 때 "0"이 되는 인식 신호(HLDAK)를 라인(106)상에 출력한다. 라인(105)상의 HLDRQ 신호 라인(106)상의 HLDAK 신호는 마이크로 컴퓨터(158)로의 라인(155)상에 READY 신호를 출력하는 NAND 게이트(180)에 입력된다. 마이크로 컴퓨터(150)은 메모리 액세스 중에 라인(155)상의 READY 신호가 "0"이 될때 마이크로 컴퓨터(100)의 내부 메모리(126)으로부터의 메모리 액세스를 중지하고 라인(155)상의 READY 신호가 "1"이 될때까지는 메모리 액세스를 계속하지 않는다.
이제, 제 4 도 및 제 5 도에 도시된 타이밍 챠트를 참조하여 메모리 참조를 수행하는 경우의 본 시스템의 동작이 설명될 것이다. 제4(a)도는 CPU(110)에 의한 내부 메모리로의 데이타 기입을 위한 타이밍 차트를 도시한다. CPU(110)은 시각(t1)에 내부 R/W 신호 라인상에 메모리 기입 동작을 나타내는 "0"을 출력한다. 시각(t1)에 CPU(110)은 또한 내부 어드레스 버스(101)상에 메모리 어드레스를 출력하고 기입될 데이타를 내부 데이타 버스(102)상에 출력시킨다. 다음으로, 시간간격(t2-t3)사이에, 내부 DSTB 신호 라인(104)에 액티브 레벨 "0"을 출력함으로써 데이타가 내부 메모리(120)에 기입된다.
제4(b)도는 마이크로 컴퓨터(150)이 마이크로 컴퓨터(100)내의 내부 메모리(120)에 데이타를 기입할 때의 신호 타이밍을 도시한다. 마이크로 컴퓨터(150)은 시각(t11)에 외부 R/W 신호 라인(153)상에 기입을 나타내는 "0"을 출력한다. 시각(t11)에 마이크로 컴퓨터(150)은 또한 외부 어드레스 버스(151)상에 내부 메모리(120)에 상응하는 메모리 어드레스를 출력하고 외부 데이타 버스(152)상에 데이타를 기입한다. 어드레스 디코더(170)은 외부 어드레스 버스(151)상의 어드레스가 내부 메모리(120)을 참조하기 때문에 라인(105)상애 HLDRQ 신호 "1"을 만든다. 시각(t12)에 버스 제어부(130)은 라인(106)상의 HLDAK 신호를 "0"으로 만들고 외부 버스와 내부 버스를 연결함으로써 라인(105)상의 HLDRQ 신호 "1"에 응답한다.
버스 제어부(130)은 또한 외부 어드레스 버스(151), 외부 데이타 버스(152), 외부 R/W 신호 라인(153) 및 외부 DSTB 신호 라인(154)로부터 각각 값을 취하여 그것들을 내부 어드레스 버스(101), 내부 데이타 버스(102), 내부 R/W 신호 라인(103) 및 내부 DSTB 신호 라인(104)에 출력한다. 그리고, 시간 간격(t13-t14)사이에 마이크로 컴퓨터(150)이 외부 DSTB 신호 라인(154)에 액티브 레벨 "0"을 출력할 때, 라인(140)상의 내부 DSTB 신호는 "0"이 되고 마이크로 컴퓨터(150)의 내부 메모리(120)으로의 데이타 기입 동작이 완료된다.
또한, 버스 제어부(130)이 라인(106)상의 HLDAK 신호로서 "0"을 출력하고 내부 버스와 외부 버스가 연결되어 있을대 CPU(110)이 내부 메모리(120)을 액세스하고자 할 경우 CPU(110)은 메모리 액세스를 위해 라인(106)상의 HLDAK 신호가 "1"이 되고 내부 버스가 가용할 때까지 기다린다.
제 5 도는 CPU(110)이 내부 메모리(120)에 기입을 수행하는 동안에 마이크로 컴퓨터(150)이 내부 메모리(120)에 기입을 수행하는 경우에 대한 타이밍 차트이다. 시각(t21)에, CPU(110)은 내부 R/W 신호 라인(103)에 기입 동작을 나타내는 "0"을 출력한다. 또한, 시각(t21)에 CPU(110)은 기입 동작을 위해 내부 어드레스 버스(110)상에 출력한다. 시각(t22)에 CPU(110)이 내부 메모리(120)에 기입 동작을 수행하는 동안, 마이크로 컴퓨터(150)은 외부 R/W 신호 라인(153)에 "0"을 출력함으로써 내부 메모리로의 기입을 시작한다. 동일한 시각(t22)에, 마이크로 컴퓨터(150)은 외부 어드레스 버스(151)상에 내부 메모리(120)에 상응하는 메모리 어드레스를 출력하고 외부 데이타 버스(151)상에 기입 동작을 위해 데이타를 출력한다. 어드레스 디코더(170)은 외부 어드레스 버스(151)상의 어드레스가 내부 메모리(120)을 나타내므로 라인(105)상의 HLDRQ 신호를 "1"로 만든다. 버스 제어부(130)은 CPU(110)에 의한 내부 메모리(120)으로의 기입 동작이 시각(t24)에 완료될 때까지 라인(106)상의 HLDAK 신호를 "1"로 유지한다. 따라서 라인(155)상의 READY 신호는 시간 간격(t22-t24) 동안에 "0"으로 유지되고 마이크로 컴퓨터(150)은 비록 버스 상태가 그대로 유지된다 하더라도 라인(155)상의 READY 신호가 "1"이 될 때까지 메모리에 기입하지 않는다.
다음, CPU(110)이 시간 간격(t23-t24) 동안에 내부 DSTB 신호 라인(104)에 액티브 레벨 "0"을 출력할때, 내부 메모리(120)에 데이타가 기입되고, CPU(110)으로부터 내부 메모리(120)으로의 데이타 기입 동작이 완료된다. 그리고 나서, 버스 제어부(130)은 외부 버스와 내부 버스를 연결하기 위해 라인(106)상의 HLDAK 신호를 "0"으로 만들고 외부 어드레스 버스(151), 외부 데이타 버스(152), 외부 R/W 신호 라인(153) 및 외부 DSTB 신호 라인(154)로 부터 각각 값을 취하여 CPU(110)으로부터 내부 메모리(120)으로의 데이타 기입 동작이 완료되어 내부 버스가 비어 있으므로 시각(t24)에 내부 어드레스 버스(101), 내부 데이타 버스(102), 내부 R/W 신호 라인(103) 및 내부 DSTB 신호 라인(104)에 출력한다.
라인(106)상의 HLDAK 신호가 "0"이될 때, 라인(155)상의 READY 신호는 "1"이 되고 마이크로 컴퓨터는 메모리 기입을 다시 시작한다. 시간 간격(t25-t26)사이에 외부 DSTB 신호 라인(154)에 액티브 레벨 "0"이 출력될 때, 라인(104)상의 내부 DSTB 신호는 "0"이 되고 마이크로 컴퓨터(150)으로부터 내부 메모리(120)으로의 데이타가 기입 동작이 수행된다. 데이타 판독을 위한 동작은 라인(103)상의 내부 R/W 신호 및 라인(153)상의 외부 R/W 신호가 "1"이 되고 내부 데이타 버스(102) 및 외부 데이타 버스(152)상의 데이타 흐름이 기입 동작시의 것들과 반대된다는 점 외에는 상술한 데이타 기입 동작과 동일하므로 설명을 생략한다. 상술한 구조를 가진 마이크로 컴퓨터를 사용함으로써, 마이크로 컴퓨터 중 하나에 내재하는 메모리를 통해 다수의 마이크로 컴퓨터간에 데이타를 전송할 수 이는 다중 프로세서 마이크로 컴퓨터 시스템을 구성할 수 있다.
제 6 도는 본 발명의 제 2 실시예를 도시한 블럭도이다. 제 1 실시예의 경우 마이크로 컴퓨터(100)이 단지 내부 메모리만을 액세스 할 수 있는 반면, 본 마이크로 컴퓨터 시스템에서는 외부 메모리(260)도 마찬가지로 액세스할 수 있다는 점에서 제 1 실시예의 마이크로 컴퓨터 시스템과 다르다.
본 마이크로 컴퓨터 시스템은 마이크로 컴퓨터(200), 마이크로 컴퓨터(250), 마이크로 컴퓨터(200)을 위한 외부 메모리(260), 어드레스 디코더(170) 및 버스 구동기(290)을 포함한다.
마이크로 컴퓨터(200)은 CPU(110)으로부터의 메모리 액세스가 내부 메모리(120)을 위한 것인지 또는 외부 메모리(260)을 위한 것인지를 결정하는 내부 어드레스 디코더(240)을 포함하며 CPU(110)으로부터의 액세스가 외부 메모리(260)을 위한 것일 경우 내부 버스상의 값을 외부 버스에 출력하는 기능을 버스 제어부(230)이 포함한다는 점 외에는 제 1 도에 도시된 마이크로 컴퓨터(100)의 구조와 동일한 구조를 갖는다.
마이크로 컴퓨터(250) 및 버스 구동기(290)은 마이크로 컴퓨터(150)이 메모리 액세스를 수행할 때 참조 어드레스를 출력하는 외부 어드레스 버스(151), 메모리 액세스 중에 데이타를 전송하는 외부 데이타 버스(152), 마이크로 컴퓨터(150)에 의해 수행되는 메모리 참조가 기입 또는 판독(기입시 "0"신호 레벨 그리고 판독시 "1"신호 레벨)인지를 나타내는 외부 R/W 신호 라인(153), 및 메모리 기입/판독의 시간을 지정하는 외부 DSTB 신호 라인(154)에 의해 서로 연결된다. 마이크로 컴퓨터(200), 외부 메모리(260) 및 버스 구동기(290)은 메모리 액세스를 위한 참조 어드레스를 갖고 있는 외부 어드레스 버스(201), 메모리 액세스 중에 데이타를 전송하는 외부 데이타 버스(202), 메모리 참조가 기입 또는 판독(기입시 "0"으로 그리고 판독시 "1"로)인지를 나타내는 외부 R/W 신호 라인(203), 및 메모리 기입 또는 판독의 시간을 지정하는 외부 DSTB 신호 라인(204)에 의해 서로 연결된다.
어드레스 디코더(170)은 마이크로 컴퓨터(150)에 의해 출력된 외부 어드레스 버스(151)상의 어드레스가 마이크로 컴퓨터(200)내의 내부 메모리(120)을 참조할때 마이크로 컴퓨터(200)에 라인(105)상의 HLDRQ 신호 "1"을 출력한다. 마이크로 컴퓨터(200)은 HLDRQ 신호(105)에 의한 액세스 요청이 접수될 때 "0"이 되는 라인(106)상의 HLDAK 신호를 출력한다. 라인(105)상의 HLDRQ 신호 및 라인(106)상의 HLDAK 신호는 NAND 게이트(180) 및 버스 구동기(290)에 입력된다. 본 버스 구동기(290)은 라인(105)상의 HLDRQ 신호가 "0"일 때 마이크로 컴퓨터(150) 측의 버스(152)상의 데이타를 마이크로 컴퓨터(200) 측의 버스(202)에 연결시키고 외부 어드레스 버스(151), 외부 데이타 버스(152), 라인(153)상의 외부 R/W 신호 및 라인(154)상의 외부 DSTB 신호의 값을 각각 외부 어드레스 버스(201), 외부 데이타 버스(202), 외부 R/W 신호 라인(203) 및 외부 DSTB 신호 라인(204)에 출력한다. 그리고, NAND 게이트(180)은 메모리 액세스 중에 READY 신호(155)가 "0"이 될 경우 라인(155)상의 READY 신호가 "1"이 될 때까지 마이크로 컴퓨터(150)의 메모리 액세스를 정지시키는 라인(155)상의 READY 신호를 마이크로 컴퓨터(150)에 출력한다.
본 마이크로 컴퓨터 시스템의 동작이 제 7 도 및 제 8 도의 타이밍 차트를 참조하여 설명될 것이다. 제 7 도는 CPU(110)이 외부 메모리(260)에 대해 데이타 기입을 수행할 때의 타이밍 차트이다. CPU(110)은 시각(t41)에 내부 R/W 신호 라인(103)에의 기입을 나타내는 "0"을 출력하고 (a) 내부 어드레스 버스(101)상에 기입될 외부 메모리(260)에 상응하는 메모리 어드레스 및 (b) 내부 어드레스 버스(102)상에 기입될 데이타를 출력한다. 내부 어드레스 디코더(240)은 내부 어드레스 버스상의 어드레스가 외부 메모리(260)으로의 액세스인지의 여부를 결정한다. 버스 제어부(230)은 내부 어드레스 버스(101), 내부 데이타 버스(102), 내부 R/W 신호 라인(103) 및 내부 DSTB 신호 라인(104)상의 값을 각각 외부 어드레스 버스(201), 외부 데이타 버스(202), 외부 R/W 신호 라인(203) 및 외부 DSTB 신호 라인(204)에 출력한다. 그런 다음, 시간 간격(t42-t43)중에 내부 DSTB 신호 라인(104)상의 액티브 레벨 "0"이 출력될 때 외부 DSTB 신호 라인(204)에 "0"이 출력되어 외부 메모리(260)에 데이타 기입을 수행한다.
제 8 도는 마이크로 컴퓨터(150)이 마이크로 컴퓨터(200)내의 내부 메모리(120)에 데이타 기입을 수행할 때의 타이밍 차트이다. 시각(t51)에, 마이크로 컴퓨터(150)은 외부 R/W 신호 라인(153)에 메모리 기입 동작을 나타내는 "0"을 출력한다. 시각(t51)에, 마이크로 컴퓨터(150)은 또한 (a) 외부 어드레스 버스(151)상에 내부 메모리(120)에 상응하는 메모리 어드레스를 출력하고 (b) 외부 데이타 버스(152)상에 기입 데이타를 출력한다. 외부 어드레스 버스(151)상의 어드레스가 내부 메모리(120)을 참조하기 때문에 어드레스 디코더(170)은 라인(105)상의 HLDRQ 신호를 "1"로 만든다.
버스 제어부(130)은 라인(106)상의 HLDAK 신호를 "0"레벨로 만들고 외부 버스와 내부 버스를 연결하기 위해 HLDRQ 라인(105)상의 "1"신호 레벨에 응답한다. 버스 제어부(130)은 또한 시각(t52)에 외부 어드레스 버스(201), 외부 데이타 버스(202), 외부 R/W 신호 라인(203) 및 외부 DSTB 신호 라인(204)상의 값들을 각각 내부 어드레스 버스(101), 내부 데이타 버스(102), 내부 R/W 신호 라인(103) 및 내부 DSTB 신호 라인(104)에 출력한다. 라인(106)상의 HLDAK 신호가 "0"이기 때문에, 버스 구동기(290)은 외부 어드레스 버스(151), 외부 데이타 버스(152), 외부 R/W 신호 라인(153) 및 외부 DSTB 신호 라인(154)상의 값을 각각 외부 어드레스 버스(201), 외부 데이타 버스(202), 외부 R/W 신호 라인(203) 및 외부 DSTB 신호 라인(204)에 출력한다.
결과적으로, 마이크로 컴퓨터(150)측의 외부 버스(152)상의 값이 마이크로 컴퓨터(200)내의 내부 버스(102)상에 출력되고, 시간 간격(t53-t54)중에 마이크로 컴퓨터(150)이 액티브 레벨 "0"을 외부 DSTB 신호 라인(154)에 출력할 때 내부 라인(104)상의 내부 DSTB 신호는 "0"이 되어 마이크로 컴퓨터(150)으로부터 내부 메모리(120)으로 데이타가 기입되도록 한다.
마이크로 컴퓨터(150)이 내부 메모리(120)에 액세스하는 동시에 마이크로 컴퓨터(200)의 CPU(110)이 내부 메모리(120)상의 데이타에 액세스를 시행하는 경우의 동작은 제 8 도를 참조하여 설명된 버스 구동기(290)의 동작이 포함된 것을 제외하고는 제 1 실시예의 것과 동일하다. 본 실시예의 마이크로 컴퓨터 시스템에 따르면, 제 1 실시예의 마이크로 컴퓨터 시스템에 비해 마이크로 컴퓨터(200)상에 단자의 수를 증가시키지 않고 마이크로 컴퓨터(200)이 외부 메모리를 액세스할 수 있다.
제 9 도는 본 발명의 제 3 의 실시예에 따른 다중 컴퓨터 시승템의 블럭도인데, 마이크로 컴퓨터내의 메모리가 2개 부분으로 분리되어 하나는 단지 내부 CPU용이고 다른 것은 내부 CPU뿐만 아니라 외부적으로도 액세스될 수 있다. 본 다중 프로세서 마이크로 컴퓨터 시스엠은 마이크로 컴퓨터(300), 마이크로 컴퓨터(350) 및 어드레스 디코더(370)을 포함한다. 마이크로 컴퓨터(300) 및 마이크로 컴퓨터(350)은 (a) 마이크로 컴퓨터(350)이 메모리를 참조할 때 참조 어드레스를 출력하는 외부 어드레스 버스(351), (b) 메모리 액세스 중에 데이타를 전송하는 외부 데이타 버스(352), (c) 마이크로 컴퓨터(350)에 의해 수행된 메모리 참조가 판독("0"신호 레벨) 또는 기입("1"신호 레벨)인지를 나타내는 외부 R/W 신호 라인(353), 및 메모리를 위해 기입/판독 시간을 정해주는 외부 DSTB 신호 라인(354)와 HLDAK 신호 라인(306)에 의해 서로 연결된다. 메모리참조 중에 라인(306)상의 HLDAK 신호가 "0"이 되면 마이크로 컴퓨터(350)은 메모리 참조를 중단하고 라인(306)상의 HLDAK 신호가 "1"이 될 때까지 메모리 액세스를 계속하지 않는다. 어드레스 디코더(370)은 라인(305)상의 HLDRQ 신호를 마이크로 컴퓨터(300)에 출력하는데, 마이크로 컴퓨터(350)에 의해 출력된 외부 어드레스 버스(351)상의 어드레스가 마이크로 컴퓨터(300)의 내부 공유 메모리(321)을 참조할 때 상기 신호는 "1"이 된다. 이러한 조건으로 인해 내부 공유 메모리(321)로의 참조를 외부적으로 요청하도록 마이크로 컴퓨터(300)은 신호를 받는다.
마이크로 컴퓨터(300)은 CPU(310), CPU(310)에 의한 기입/판독 액세스를 위한 내부 로칼 메모리(320), CPU(310) 및 마이크로 컴퓨터(350) 모두에 의한 기입/판독 액세스를 위한 공유 메모리(321) 및 내부 어드레스 디코더(340)을 포함한다. CPU(310)은 (a) CPU(310)이 메모리 참조를 수행시 제 1 내부 어드레스 버스(301)에 참조 어드레스를 출력하고, (b) 메모리 참조 중에 데이타를 전송하기 위해 제 1 내부 데이타 버스에 데이타를 출력하며, (c) CPU(310)에 의해 수행된 메모리 참조가 기입("0"신호 레벨) 또는 판독("1"신호 레벨)인지를 나타내는 라인(303)상의 제 1 내부 R/W 신호를 출력하고, (d) 메모리에 대하여 기입/판독의 시간을 지정하는 라인(304)상의 제 1 내부 DSTB 신호를 출력하며, 그리고 (e) CPU(310)이 메모리를 참조할 때 "1"이 되는 라인(307)상의 CPU 메모리 참조 신호를 출력한다.
내부 로칼 메모리(320)의 관점에서 보면, 제 1 내부 어드레스 버스(301), 제 1 내부 데이타 버스(302), 제 1 내부 R/W 신호 라인(303), 제 1 내부 DSTB 신호 라인(304) 및 CPU 메모리 참조 신호 라인(307)이 본 메모리에 연결된다. 내부 로칼 메모리(320)은 라인(303)상의 제 1 내부 R/W 신호가 "0"일 때, 라인(307)상의 CPU메모리 참조 신호가 "1"이고 라인(304)상의 제 1 내부 DSTB 신호가 "0"일 때 제 1 내부 어드레스 버스(301)에 특정된 어드레스에 제 1 내부 데이타 버스(302)상의 데이타를 기입한다. 내부 로칼 메모리(320)은 제 1 내부 어드레스 버스(301)상에 특정된 어드레스로부터 데이타를 판독하고 라인(303)상의 제 1 내부 R/W 신호가 "1"일 때 제 1 내부 데이타 버스(302)상에 그것을 출력한다.
내부 공유 메모리(321)의 관점에서 보면, 제 2 내부 어드레스 버스(391), 제 2 내부 데이타 버스(392), 제 2 내부 R/W 신호 라인(393), 제 2 내부 DSTB 신호 라인(394) 및 OR 게이트(322)의 출력단이 본 메모리에 연결된다. 내부 공유 메모리(321)은 라인(393)상의 제 2 내부 R/W 신호가 "0"이고, OR 게이트(322)의 출력이 "1"이며, 라인(394)상의 제 2 내부 DSTB 신호가 "0"일 때 제 2 내부 어드레스 버스(391)상에 특정된 어드레스에 제 2 내부 데이타 버스(392)상의 데이타를 기입한다.
동일한 조건하에서, 그러나 라인(393)상의 제 2 내부 R/W 신호가 "1"인 경우에, 내부 공유 메모리(321)은 제 2 내부 어드레스 버스상에 특정된 어드레스로부터 데이타를 판독하여 이를 제 2 내부 데이타 버스(392)상에 출력한다.
내부 어드레스 디코더(340)은 CPU(310)에 의해 출력된 제 1 내부 어드레스 버스(301)상의 어드레스를 디코드하고 CPU(310)으로부터의 메모리 참조가 내부 로칼 메모리(320)을 나타낼 때 내부 로칼 참조 신호 라인(341)에 "1"을 출력하여 그렇지 않을 경우 내부 로칼 참조 신호 라인(341)에 "0"을 출력한다. 내부 로칼 메모리 참조 신호 라인(341)의 네가티브 로직 신호와 CPU(310)이 메모리를 참조시 "1"이 되는 CPU 메모리 참조 신호(307)이 AND 게이트(381)에 입력된다. 네가티브 로직 시호가 AND 게이트(381)로부터 출력되고 라인(305)상의 HLDRQ 신호가 AND 게이트(382)에 입력된다. AND 게이트(382)의 출력이 이하 SR-FF라 칭할 세트-리세트
플립플롭의 리세트 측에 입력되고 HLDRQ 신호 라인(305)상의 네가티브 로직 신호가 SR-FF(383)의 리세트 측에 입력된다. SR-FF(383)은 AND 게이트(382)의 출력이 "1"일 때 라인(306)상의 출력 HLDAK 신호를 "1"로 만들고 AND 게이트(382)의 출력이 "0"일 때 라인(306)상의 출력 HLDAK 신호를 "0"으로 만들며, AND 게이트(382)의 출력이 "0"이고 라인(305)상의 HLDRQ 신호가 "1"일 때 현재의 출력값을 유지한다. SR-FF(383)의 출력인 라인(306)상의 HLDAK 신호와 내부 로칼 메모리 참조 신호(341)은 AND 게이트(384)에 입력되고, AND 게이트(384)의 출력은 CPU(310)에 입력된다. AND 게이트(38)의 출력이 "1"이 되면 CPU(310)은 메모리 참조를 중지하고 AND 게이트(384)의 출력이 "1"이 될 때까지 메모리 참조를 계속하지 않는다.
또한, 라인(306)상의 HLDAK 신호의 네가티브 로직 신호가 제어 신호로서 삼상태 버스 구동기(361,364 및 365)에 입력된다. 라인(306)상의 HLDAK 신호가 "0"일 때, 버스 구동기(361,364 및 365)는 제 1 내부 어드레스 버스(301), 제 1 내부 R/W 신호 라인(303) 및 제 1 내부 DSTB 신호 라인(304)상에 있는 값을 각각 제 2 내부 어드레스 버스 구동기스(391), 제 2 내부 R/W 신호 라인(393) 및 제 2 내부 DSTB 신호 라인(394)에 출력한다.
라인(306)상의 HLDAK 신호의 네가티브 로직 신호 및 라인(303)상의 내부 R/W 신호의 네가티브 로직 신호가 AND 게이트(366)에 입력되고, 라인(306)상의 HLDAK 신호의 네가티브 로직 신호 및 라인(33)상의 내부 HLDAK 신호가 AND 게이트(367)에 입력된다. AND 게이트(366) 및 AND 게이트(367)의 출력은 각각 버스 구동기(362 및 363)을 위한 제어 신호로서 입력된다. 그리고, AND 게이트(366)의 출력이 "1"일 때, 버스 구동기(362)는 제 1 내부 데이타 버스(302)상에 있는 값을 제 2 내부 데이타 버스(392)에 출력한다. AND 게이트(367)의 출력이 "1"일 때, 버스 구동기(363)은 제 2 내부 데이타 버스(392)상에 있는 값을 제 2 내부 데이타 버스(302)에 출력한다. 또한, 라인(306)상의 HLDAK 신호가 제어 신호로서 버스 구동기(331,334 및 335)를 위해 입력되고, 라인(306)상의 HLDAK 신호가 "1"일 때, 각각의 버스 구동기(331,334 및 335)는 외부 어드레스 버스(351), 외부 R/W 신호 라인(353) 및 외부 DSTB 신호 라인(354)상에 있는 값을 각각 제 2 내부 어드레스 버스(391), 제 2 내부 R/W 신호 라인(393) 및 제 2 내부 DSTB 신호 라인(394)에 출력한다.
라인(306)상의 HLDAK 신호와 외부 R/W 신호 라인(353)의 네가티브 로직 신호는 AND 게이트(336)에 입력되고, 라인(306)상의 HLDAK 신호와 라인(353)상의 외부 R/W 신호가 AND 게이트(337)에 입력된다. AND 게이트(336) 및 AND 게이트(337)의 출력은 제어 신호로서각 버스 구동기(332 및 333)을 위해 입력된다. 그리고 AND 게이트의 출력이 "1"일 때, 버스 구동기(332)는 외부 데이타 버스(352)상에 있는 값을 제 2 내부 데이타 버스(392)에 출력한다. AND 게이트(337)의 출력이 "1"일 때, 버스 구동기(333)은 제 2 내부 데이타 버스(392)상에 있는 값을 외부 데이타 버스(352)에 출력한다. 라인(306)상의 HLDAK 신호와 라인(341)상의 내부 로칼 메모리의 참조 신호의 네가티브 로직 신호가 OR 게이트(322)에 입력된다.
제 3 실시예의 다중 프로세서 마이크로 컴퓨터 시스템의 동작이 제10도 내지 제15도의 타이밍 차트를 참조하여 이제 설명될 것이다. 제10(a)도는 CPU(310)이 내부 로칼 메모리(320)에 데이타 기입을 수행하는 경우에 대한 타이밍 차트이다. CPU(310)은 시각(t111)에 메모리 기입 동작을 나타내는 "0"을 제 1 내부 R/W 신호 라인(303)에 출력한다. 또한 시각(t111)에, CPU(310)은 (a) 메모리 기입이 수행되는 제 1 내부 어드레스 버스(301)상의 내부 로칼 메모리의 어드레스 및 (b) 제 1 내부 데이타 버스(302)상에 기입될 데이타를 출력한다. 제 1 내부 어드레스 버스(301)상의 어드레스가 내부 로칼 메모리(320)을 참조하므로 내부 어드레스 디코더(340)은 내부 로칼 메모리 참조 신호 라인(341)에 "1"을 출력한다. 그 다음, 시간 간격(t111-t113)중에 CPU(310)이 제 1 내부 DSTB 신호 라인에 액티브 레벨 "0"을 출력하면 애부 로칼 메모리(120)은 제 1 내부 어드레스 버스(301)상에 있는 어드레스에 데이타 기입 동작을 수행한다.
제10(b)도는 CPU(310)이 내부 로칼 메모리(320)에 관하여 데이타 판독을 수행할 때의 타이밍 차트이다. CPU(310)은 (a) 제 1 내부 R/W 신호 라인(303)에 판독 동작을 나타내는 "1"을 출력하고, (b) 판독이 수행될 내부 로칼 메모리의 어드레스를 제 1 내부 어드레스 버스(301)상에 출력하며, (c) 제 1 내부 데이타 버스(302)를 고 임피던스 상태에 놓는다. 제 1 내부 어드레스 버스(301)상의 어드레스가 내부 로칼 메모리(320)을 참조하기 때문에 내부 어드레스 디코더(340)은 내부 로칼 메모리 참조 신호 라인(341)에 "1"을 출력한다. 그 다음, 시간 간격(t122-t123)중에, CPU(310)이 제 1 내부 DSTB 신호 라인(304)에 액티브 레벨 "0"을 출력하면 내부 로칼 메모리(120)은 제 1 내부 어드레스 버스(301)에 의해 참조된 어드레스로부터의 데이타를 판독하여 그것을 제 1 내부 데이타 버스(302)에 출력한다.
제11도는 CPU(310)이 내부 공유 메모리(321)에 데이타 기입을 수행할 때의 타이밍 차트이다. 이 경우, 마이크로 컴퓨터(350)은 내부 공유 메모리(321)에 관해서 메모리 참조를 수행하지 않고 라인(305)상의 HLDRQ 신호가 "0"이라고 가정한다. 라인(305)상의 HLDRQ 신호가 "0"이므로 SR-FF(383)은 HLDAK 신호 라인(306)에 "0"을 출력한다. 라인(306)상의 HLDAK 신호가 "0"이므로 버스 구동기(361,364 및 365)는 제 1 내부 어드레스 버스(301), 제 1 내부 R/W 신호 라인(303) 및 제 1 내부 DSTB 신호 라인(304)상에 있는 값을 각각 제 2 내부 어드레스 버스(391), 제 2 내부 R/W 신호 라인(393) 및 제 2 내부 DSTB 신호 라인(394)에 출력한다. 버스 구동기(331,332,333,334 및 335)에 있어서 라인(306)상의 HLDAK 신호가 "0"이고 AND 게이트(336 및 337) 또한 "0"을 출력하므로 외부 신호가 제 2 내부 신호로부터 분리된다. 시각(t131)에 CPU(310)은 (a) 제 1 내부 R/W 신호 라인(303)에 기입 동작을 나타내는 "0"을 출력하고, (b) 기입이 수행될 내부 로칼 메모리(320)의 어드레스를 제 1 내부 어드레스 버스(301)상에 출력한다. (c) 제 1 내부 데이타 버스(302)상에 기입될 데이타를 출력하고, (d) CPU 메모리 참조 신호 라인(307)에 "1"을 출력한다. 내부 어드레스 디코더(340)은 시각(t131)에 출력되는 제 1 내부 어드레스 버스(301)상의 어드레스가 내부 공유 메모리(321)을 참조하고, 그 결과 AND 게이트(366)이 "1"을 출력하며 AND 게이트(367)이 "0"을 출력하므로 내부 로칼 메모리 참조 신호 라인(341)에 "0"을 출력한다.
AND 게이트(366)의 출력이 "1"이므로, 버스 구동기(362)는 제 1 내부 데이타 버스(302)상에 있는 값을 제 2 내부 데이타 버스(392)에 출력한다. 나아가, 내부 로칼 메모리 참조 신호(341)이 "0"이기 때문에 OR 게이트(322)는 "1"을 출력한다. 다음에, 시간 간격(t132-t133)중에 CPU(310)이 제 1 내부 DSTB 신호 라인(304)에 액티브 레벨 "0"을 출력하면 제 2 내부 DSTB 신호 라인(394)에 "0"이 출력되고, 내부 공유 메모리(321)은 제 2 내부 데이타 버스(392)상에 있는 데이타를 제 2 내부 어드레스 버스(391)에 의해 참조된 어드레스에 기입하며 따라서 내부 공유 메모리(321)에의 기입을 수행한다.
CPU(310)이 내부 공유 메모리(321)로부터 데이타를 판독할 때, 라인(303)상의 제 1 내부 R/W 신호가 "1"이 되고, [AND 게이트(366) 대신에] AND 게이트(367)이 "1"을 출력하며, [버스 구동기(362) 대신에] 버스 구동기(363)이 [제 1 내부 데이타 버스(32)상에 있는 데이타를 제 2 내부 데이타 버스(392)에 출력하는 것이 아니라] 제 2 내부 데이타 버스(392)상에 있는 데이타를 제 1 데이타 버스(302)에 출력하는 것을 제외하고는 기입시의 동작과 동일하다.
제12도는 마이크로 컴퓨터(350)이 내부 공유 메모리(321)에 데이타 기입 동작을 수행하는 경우에 대한 타이밍 차트이다. 이 경우에, CPU(310)은 메모리 참조를 수행하지 않으며 CPU 메모리 참조신호(307)이 "0"이라고 가정한다. 마이크로 컴퓨터(350)은 외부 R/W 신호 라인(353)에 기입 동작을 나타내는 "0"을 출력하고 (b) 내부 공유 메모리(321)에 상응하는 메모리 어드레스를 외부 어드레스 버스(351)상에 출력하며, 그리고 (c) 외부 어드레스 버스(352)에 기입될 데이타를 출력한다.
외부 어드레스 버스(351)상의 어드레스가 내부 공유 메모리(321)을 참조하기 때문에 어드레스 디코더(370)은 라인(305)상의 HLDRQ 신호를 "1"로 만든다. 라인(307)상의 CPU 메모리 참조 신호가 "0"이고, AND 게이트(381)의 출력이 "0"이며 라인(305)상의 HLDRQ 신호가 "1"이기 때문에, AND 게이트(382)가 "1"을 출력하고 SR-FF(383)이 HLDAK 신호(306)에 "1"을 출력한다. HLDAK 신호가 "1"이므로, 버스 구동기(331,334 및 335)는 외부 어드레스 버스(351), 외부 R/W 신호 라인(353), 외부 DSTB 신호 라인(354)상에 있는 값을 각각 제 2 내부 어드레스 버스(391), 제 2 내부 R/W 신호 라인(393) 및 제 2 내부 DSTB 신호 라인(394)에 출력한다. 버스 구동기(361,362,363,364 및 365)에 있어서, HLDAK 신호(306)이 "1"이고 AND 게이트(366 및 367)이 "0"을 출력하므로, 제 1 내부 신호가 제 2 내부 신호로부터 분리된다. 라인(353)상의 외부 R/W 신호가 "0"이기 때문에 AND 게이트(336)은 "1"은 출력하고 AND 게이트(337)은 "0"을 출력한다. AND 게이트(336)의 출력이 "1"이므로, 버스 구동기(332)는 외부 데이타 버스(302)상에 있는 값을 제 2 내부 데이타 버스(392)에 출력한다. 나아가, HLDAK 신호(341)이 "1"이기 때문에 OR 게이트(322)는 "1"을 출력한다. 다음에, 시간 간격(t142-t143)중에, 마이크로 컴퓨터(350)이 외부 DSTB 신호 라인(354)에 액티브 레벨 "0"을 출력할 때 제 2 내부 DSTB 신호 라인(394)에 "0"이 출력되고 내부 공유 메모리(321)은 제 2 내부 데이타 버스(392)상에 있는 데이타를 제 2 내부 어드레스 버스(391)에 의해 참조된 어드레스에 기입한다.
시각(t143)에 마이크로 컴퓨터(350)으로부터 내부 공유 메모리에의 데이타 기입이 완료될 때 외부 어드레스 디코더(370)은, 마이크로 컴퓨터(350)이 어드레스 버스(351)에 내부 공유 메모리(321)을 참조하지 않는 어드레스를 출력하기 때문에, HLDRQ 신호 라인(305)에 "0"을 출력한다. SR-FF(383)은 HLDRQ 신호가 "0"이므로 HLDAK 신호 라인(306)에 "0"을 출력한다. 따라서, 마이크로 컴퓨터(350)으로부터 내부 공유(321)로의 기입 동작이 완료된다. 마이크로 컴퓨터(350)이 내부 공유 메모리(321)로부터 데이타를 판독할 때, (a) 라인(353)상의 외부 R/W 신호가 "1"이 되고, (b)[AND 게이트(336) 대신에] AND 게이트(337)이 "1"을 출력하며, 그리고 (c) [버스 구동기(332)가 외부 데이타 버스(352) 상에 있는 값을 제 2 내부 데이타 버스(392)에 출력하는 것이 아니라] 버스 구동기(333)이 제 2 내부 데이타 버스(392)상에 있는 데이타를 외부 데이타 버스(352)에 출력하는 점을 제외하고는 기입시의 동작과 동일하다.
제13도는 CPU(310)이 내부 로칼 메모리(320)에 데이타를 기입하는 동안 마이크로 컴퓨터(350)이 내부 공유 메모리(321)을 참조하는 경우에 대한 타이밍 차트이다. 시각(t151)에, CPU(310)은 제 1 내부 R/W 신호 라인(303)에 기입 동작을 나타내는 "0"을 출력하고, 또한 (a) 제 1 내부 어드레스 버스(301)에 내부 로칼 메모리(320)의 어드레스를 출력하며, (b) 데이타를 제 1 내부 데이타 버스(302)상에 출력하며, 그리고 (c) CPU 메모리 참조 신호 라인(307)에 "1"을 출력한다. 제 1 내부 어드레스 버스(301)상의 어드레스가 내부 로칼 메모리(320)을 참조하므로, 내부 어드레스 디코더(340)은 내부 로칼 메모리 참조 신호 라인(341)에 "1"을 출력한다. 그런 다음, 시각(t152)에 마이크로 컴퓨터(350)은 내부 공유 메모리(321)에의 데이타 기입을 시작한다. 특히, 마이크로 컴퓨터(350)은 (a) 외부 R/W 신호 라인(353)에 기입 동작을 나타내는 "0"을 출력하고, (b) 내부 공유 메모리(321)에 상응하는 메모리 어드레스를 외부 어드레스 버스(351)상에 출력하고, 그리고 (c) 기입될 데이타를 외부 데이타 버스(352)에 놓는다. 외부 어드레스 버스(351)상의 어드레스가 내부 공유 메모리(321)을 참조하기 때문에, 어드레스 디코더(370)은 라인(305)상의 HLDRQ 신호를 "1"로 만든다. 라인(341)상의 내부 로칼 메모리 참조 신호가 "1"이므로 AND 게이트(381)은 "0"을 출력한다. AND 게이트(381)이 "0"을 출력하고 라인(305)상의 HLDRQ 신호가 "1"이므로, AND 게이트(382)가 "1"을 출력하고 SR-FF(383)이 HLDAK 신호 라인(306)에 "1"을 출력한다. 라인(306)상의 HLDAK 신호가 "1"이 될 때, 버스 구동기(331,334 및 335)는 외부 어드레스 버스(351), 외부 R/W 신호 라인(353) 및 외부 DSTB 신호 라인(354)상에 있는 값을 각각 제 2 내부 어드레스 버스(391), 제 2 내부 R/W 신호 라인(393) 및 제 2 내부 DSTB 신호 라인(394)에 출력한다.
버스 구동기(361,362,363,364 및 365)에 있어서, 라인(306)상의 HLDAK 신호가 "1"이고, AND 게이트(366 및 367)이 "0"을 출력하기 때문에, 제 1 내부 신호가 제 2 내부 신호로부터 분리된다. 나아가, 라인(353)상의 외부 R/W 신호가 "0"이기 때문에, AND 게이트(336)은 "1"을 출력하고 AND 게이트(337)은 "0"을 출력한다. AND 게이트(336)이 "1"을 출력하므로, 버스 구동기(332)는 외부 데이타 버스(352)상에 있는 값을 제 2 내부 데이타 버스(392)에 출력한다. 나아가, 라인(306)상의 HLDAK 신호가 "1"이므로, OR 게이트(322)는 "1"을 출력한다. 시간 간격(T153-t155)중에, CPU(310)이 제 1 내부 DSTB 신호 라인(304)에 액티브 레벨 "0"을 출력할 때, 내부 로칼 메모리(120)은 제 1 내부 어드레스 버스(301)에 의해 참조된 어드레스에 데이타 기입을 시행한다. 그리고 나서, 시간 간격(t154-t156)에, 마이크로 컴퓨터(350)이 외부 DSTB 신호 라인(354)에 액티브 레벨 "0"을 출력할 때, 제 2 내부 DSTB 신호 라인(394)에 "0"이 출력되고 내부 공유 메모리(321)은 제 2 내부 데이타 버스(392)상에 있는 데이타를 제 2 내부 어드레스 버스(391)에 의해 참조된 어드레스에 기입한다.
시각(t156)에 마이크로 컴퓨터(350)으로부터 내부 공유 메모리로의 데이타 기입이 완료되면, 마이크로 컴퓨터(350)으로부터 어드레스 버스(351)상에 출력된 어드레스는 내부 공유 메모리(321)상에 있지 않는 어드레스를 참조하며, 따라서 외부 어드레스 디코더(370)은 HLDRQ 신호 라인(305)에 "0"을 출력한다. HLDRQ 신호가 "0"이 될 때, SR-FF(383)은 HLDAK 신호 라인(306)에 "0"을 출력한다. 위에서 언급한 바와 같이, CPU(310)으로부터 내부 로칼 메모리(320)으로의 기입 및 마이크로 컴퓨터(350)으로부터 내부 공유 메모리(321)로의 기입은 병렬로 수행된다.
제14도는 CPU(310)이 내부 공유 메모리(321)에 데이타 기입을 수행하는 동안 마이크로 컴퓨터(350)이 내부 공유 메모리(321)을 참조하는 경우에 대한 타이밍 차트이다. 시각(t161)에, CPU(310)은 (a) 제 1 내부 R/W 신호 라인(303)에 기입 동작을 나타내는 "0"을 출력하고, (b) 제 1 내부 어드레스 버스(301)상에 내부 공유 메모리(321)을 참조하는 어드레스를 출력하며, (c) 데이타를 내부 어드레스 버스(302)상에 출력하며, 그리고 (d) CPU 메모리 참조 신호 라인(307)에 "1"을 출력한다. 제 1 내부 어드레스 버스(301)상의 어드레스가 내부 공유 메모리(321)을 참조하므로, 내부 어드레스 디코더(340)은 내부 로칼 메모리 참조 신호 라인(341)에 "0"을 출력한다. 그런 다음, 시각(t162)에 마이크로 컴퓨터(350)은 내부 공유 메모리(321)에의 데이타 기입을 시작한다. 특히, 마이크로 컴퓨터(350)은 (a) 외부 R/W 신호 라인(353)에 기입 동작을 나타내는 "0"을 출력하고, (b) 내부 공유 메모리(321)에 상응하는 메모리 어드레스를 외부 어드레스 버스(351)상에 출력하고, 그리고 (c) 기입될 데이타를 외부 데이타 버스(352)에 놓는다. 외부 어드레스 버스(351)상의 어드레스가 내부 공유 메모리(321)을 참조하기 때문에, 어드레스 디코더(370)은 라인(305)상의 HLDRQ 신호를 "1"로 만든다. CPU 메모리 참조 신호(307)이 "1"이고 내부 로칼 메모리 참조 신호(341)이 "0"이므로, CPU(310)으로부터 내부 공유 메모리(321)로의 메모리 참조가 완료되는 시각(t164)까지 AND 게이트(381)은 "1"을 출력한다. AND 게이트(381)이 "1"을 출력할 때, AND 게이트(382)는 "0"을 출력하고 SR-FF(383)은 라인(306)상의 HLDAK 신호를 "0"으로 유지한다. 라인(306)상의 HLDAK 신호가 "0"이므로, 마이크로 컴퓨터(350)은 버스의 상태를 유지하는 동안 메모리 참조를 중지한다. 또한, 시각(t164)까지 라인(306)상의 HLDAK 신호가 "0"이므로, 제 2 내부 버스가 제 1 내부 버스에 연결되게 된다.
다음에, 시간 간격(t163-t164)중에, CPU(310)이 제 1 내부 DSTB 신호 라인(304)에 액티브 레벨 "0"을 출력할 때, 제 2 내부 DSTB 신호 라인(394)에 "0"이 출력되고, 내부 공유 메모리(321)은 제 2 내부 데이타 버스(392)상에 있는 데이타를 제 2 내부 어드레스 버스(391)에 의해 참조된 어드레스상에 기입함으로써 CPU(310)으로부터 내부 공유 메모리(321)로의 기입 동작이 완료된다.
시각(t164)에 CPU(310)으로부터 내부 공유 메모리(321)로의 데이타 기입이 완료될 때, CPU 메모리 참조 신호(307)은 "0"이 되고, HLDAK 신호 라인(306)에 AND 게이트(381)은 "0"을 출력하고, AND 게이트(382)는 "1"을 출력하며 SR-FF(383)은 "1"을 출력한다. 시각(t164)에 라인(306)상의 HLDAK 신호가 "1"이 될 때, 제 2 내부 버스가 외부 버스에 연결되고 마이크로 컴퓨터(350)은 메모리 참조를 재개한다. 시간 간격(t165-t166)중에 마이크로 컴퓨터(350)이 외부 DSTB 신호 라인(354)상에 액티브 레벨 "0"을 출력할 때, 제 2 내부 DSTB 신호 라인(394)에 "0"이 출력되고, 내부 공유 메모리(321)은 제 2 내부 데이타 버스(392)상에 있는 데이타를 제 2 내부 어드레스 버스(391)에 의해 참조된 어드레스에 기입함으로써 마이크로 컴퓨터(350)으로부터 내부 공유 메모리(321)로의 기입을 완료한다.
제15도는 마이크로 컴퓨터(350)이 내부 공유 메모리(321)에의 데이타 기입을 수행하는 동안 CPU(310)이 내부 공유 메모리(321)에의 데이타 기입을 수행하는 경우에 대한 타이밍 차트이다. 시각(t171)에, 마이크로 컴퓨터(350)은 (a) 외부 R/W 신호 라인(353)에 기입 동작을 나타내는 "0"을 출력하고, (b) 외부 어드레스 버스(351)상에 내부 공유 메모리(321)에 상응하는 메모리 어드레스를 출력하며, 그리고 (c) 데이타를 외부 어드레스 버스(352)상에 출력한다. 어드레스 버스(351)상의 어드레스가 내부 공유 메모리(321)을 참조하므로, 어드레스 디코더(370)은 라인(305)상의 HLDRQ 신호를 "1"로 만든다. CPU(310)이 메모리 참조를 수행하고 있지 않으므로, 라인(307)상의 CPU 메모리 참조 신호는 "0"이 되고, AND 게이트(381)은 "0"을 출력한다. 라인(305)상의 HLDRQ 신호가 "1"이므로, HLDAK 신호 라인(306)에 AND 게이트(382)는 "1"을 출력하고 SR-FF(383)은 "1"을 출력한다. 그런 다음, 시각(t172)에 CPU(310)은 (a) 제 1 내부 R/W 신호 라인(303)에 기입 동작을 나타내는 "0"을 출력하고, (b) 내부 공유 메모리(321)을 참조하는 기입 어드레스를 제 1 내부 어드레스 버스(301)상에 출력하고, 그리고 (c) 기입 데이타를 제 1 내부 어드레스 버스(302)에 놓는다.
제 1 내부 어드레스 버스(301)상에 있는 어드레스가 내부 공유 메모리(321)을 참조하기 때문에, 내부 어드레스 디코더(340)은 내부 로칼 메모리 참조 신호 라인(341)에 "0"을 출력한다. 라인(306)상의 HLDAK 신호가 "1"이고 내부 로칼 메모리 참조 신호 라인(341)이 "0"이므로 AND 게이트(384)는 "1"을 출력한다. 결과적으로, CPU(310)은 버스 상태가 유지되는 동안 메모리 참조를 중지한다. 라인(306)상의 HLDAK 신호가 "1"이므로 제 2 내부 버스가 외부 버스에 연결되고, 시간 간격(t173-t174)중에 마이크로 컴퓨터(350)이 외부 DSTB 신호 라인(354)에 액티브 레벨 "0"을 출력할 때 제 2 내부 DSTB 신호 라인(394)에 "0"이 출력되며, 내부 공유 메모리(321)은 제 2 내부 데이타 버스(392)상에 있는 데이타를 제 2 내부 어드레스 버스(391)에 의해 참조된 어드레스에 기입함으로써 마이크로 컴퓨터(350)으로부터 내부 공유 메모리(321)로의 기입 동작이 수행된다. 시각(t174)에 마이크로 컴퓨터(350)으로부터 내부 공유 메모리(321)로의 데이타 기입 동작이 종료될 때, 마이크로 컴퓨터(350)에 의해 출력된 어드레스 버스(351)상의 어드레스는 내부 공유 메모리(321)내의 어드레스를 제외한 어드레스를 참조하며, 외부 어드레스 디코더(370)은 HLDRQ 신호로서 "0"을 출력한다. HLDRQ 신호가 "0"이기 때문에, SR-FF(383)은 HLDAK 신호 라인(306)에 "0"을 출력한다.
시각(t174)에 HLDAK 신호(306)이 "0"이 될 때, 제 2 내부 버스가 제 1 내부 버스에 연결되고, AND 게이트(384)가 "0"을 출력하므로, CPU(310)은 내부 공유 메모리(321)로의 데이타 기입을 재시작한다. 시간 간격(t175-t176)중에 CPU(310)이 제 1 내부 DSTB 신호 라인(304)에 액티브 레벨 "0"을 출력할 때, 제 2 내부 DSTB 신호 라인(394)에 "0"이 출력되고, 내부 공유 메모리(321)은 제 2 내부 어드레스 버스(392)상에 있는 데이타를 제 2 내부 어드레스 버스(391)에 의해 참조된 어드레스에 기입함으로써 CPU(310)으로부터 내부 공유 메모리(321)로의 기입이 수행된다.
상술한 마이크로 컴퓨터를 사용함으로써 내부 CPU 및 외부 마이크로 컴퓨터로부터 내부 공유 메모리에의 메모리 참조를 수행하는 것 및 내부 CPU로부터 내부 공유 메모리에의 메모리 참조를 외부 마이크로 컴퓨터로부터 내부 공유 메모리에의 메모리 참조와 동시에 수행하는 것이 가능하다. 결과적으로, 외부 마이크로 컴퓨터에 의해 공유될 필요가 없는 데이타가 내부 로칼 메모리에 기억된 프로그램을 제작하고 내부 CPU가 내부 로칼 메모리에 정상적인 메모리 참조를 실행함으로써, 외부 마이크로 컴퓨터로부터 내부 공유 메모리에의 잦은 메모리 참조가 있다하더라도 내부 CPU를 대기열에 놓지 않고서 프로그램을 실행하는 것 및 내부 CPU의 실질적인 성능 하락이 없이도 다수의 마이크로 컴퓨터간에 데이타를 전송할 수 있는 다중 프로세서 마이크로 컴퓨터 시스템을 구성하는 것이 가능하다.
본 발명이 3가지 양호한 실시예로 기술되었지만, 본 기술 분야의 숙련된 기술자라면 첨부된 특허 청구 범위의 사상 및 범위 내에서 본 발명을 수정하여 실시할 수 있음을 알 것이다.
Claims (7)
- 중앙 처리 장치 및 명령 실행 중에 참조될 수 있는 데이타를 보유한 내부 메모리를 갖고 있는 마이크로 컴퓨터에 있어서, 다중 프로세서 마이크로 컴퓨터 통신 장치가 상기 중앙 처리 장치가 참조하는 상기 내부 메모리의 어드레스 및 데이타를 전송하기 위한 내부 버스, 상기 내부 메모리에의 데이타 참조를 위해 제어 신호를 전달하기 위한 내부 메모리 제어 신호 라인, 및 상기 내부 버스가 비사용 상태일 때 외부 버스 요청 신호가 수신되는 경우 버스 사용 허용 신호를 출력하고 동시에 상기 내부 버스 및 상기 메모리 제어 신호를 외부 단자에 연결하기 위한 버스 제어 수단을 포함하는 것을 특징으로 하는 마이크로 컴퓨터.
- 제 1 항에 있어서, 상기 중앙 처리 장치가 상기 내부 버스에 출력된 상기 어드레스가 상기 내부 메모리를 참조하는지를 결정하기 위한 어드레스 판별부를 포함하여 상기 어드레스 판별부가 상기 내부 버스상의 상기 어드레스가 상기 내부 메모리를 참조하지 않는다고 결정할 때, 상기 버스 제어부가 상기 내부 버스 및 상기 내부 메모리 제어 신호 라인을 상기 외부 단자에 연결하는 것을 특징으로 하는 마이크로 컴퓨터.
- 중앙 처리 장치, 상기 중앙 처리 장치의 명령 실행 중에 참조될 수 있는 데이타를 보유한 제 1 내부 메모리 및 상기 중앙 처리 장치와 외부 단자 모두에 의해 참조될 수 있는 데이타를 보유한 제 2 내부 메모리를 갖고 있는 마이크로 컴퓨터에 있어서, 다중 컴퓨터 통신 장치가 상기 중앙 처리 장치에 의해 참조되는 상기 제 1 내부 메모리의 어드레스 및 데이타를 전송하기 위한 제 1 내부 버스, 상기 제 1 내부 메모리에의 데이타 참조를 위해 제어 신호를 전송하기 위한 제 1 내부 메모리 제어 신호 라인, 상기 중앙 처리 장치에 의해 참조되는 상기 제 2 내부 메모리의 어드레스 및 데이타를 전송하기 위한 제 2 내부 버스, 상기 제 2 내부 메모리에의 데이타 참조를 위한 제어 신호를 전송하기 위한 제 2 내부 메모리 제어 신호 라인, 상기 중앙 처리 장치가 상기 제 2 내부 메모리에의 데이타 참조를 하지 않을 때 상기 제 2 내부 메모리에의 데이타 참조를 요청하는 외부 버스 요청 신호가 수신될 경우 버스 사용 허용 신호를 출력하고 상기 허용 신호를 출력 중에는 상기 중앙 처리 장치로부터 상기 제 2 내부 메모리에의 데이타 참조를 금지시키기 위한 버스 제어 수단, 상기 버스 제어부가 상기 버스 사용 허용 신호를 출력하지 않을 때 상기 제 1 내부 버스를 상기 제 2 버스의 연결하고 상기 제 1 내부 메모리 제어 신호 라인을 상기 제 2 내부 메모리에 연결하기 위한 제 1 버스 연결 장치, 및 상기 버스 제어부가 상기 버스 사용 허용 신호를 출력할 때 외부 단자를 상기 내부 버스 및 상기 메모리 제어 신호에 연결하기 위한 제 2 버스 연결 장치를 포함하는 것을 특징으로 하는 마이크로 컴퓨터.
- 중앙 처리 장치 및 중앙 처리 장치의 명령 실행 중에 참조될 수 있는 데이타를 보유한 내부 메모리를 갖고 있는 마이크로 컴퓨터에 있어서, 다중 컴퓨터 통신 지원 장치가 중앙 처리 장치가 참조하는 상기 내부 메모리의 어드레스 및 데이타를 전송하기 위한 내부 버스 수단, 상기 내부 메모리에의 데이타 참조를 위해 제어 신호를 전송하기 위한 내부 메모리 제어 수단, 및 상기 내부 버스가 비사용 상태에 있을 때, 외부 버스 요청 신호가 수신될 경우 버스 사용 허용 신호를 출력하고 동시에 상기 내부 버스 및 상기 메모리 제어 신호를 외부 단자에 연결하기 위한 버스 제어 수단을 포함하는 것을 특징으로 하는 마이크로 컴퓨터.
- 제 4 항에 있어서, 상기 중앙 처리 장치가 상기 내부 버스에 출력된 상기 어드레스가 상기 내부 메모리를 참조하는지를 결정하기 위한 어드레스 판별 수단을 포함하여 상기 어드레스 판별 수단이 상기 내부 버스상의 상기 어드레스가 상기 내부 메모리를 참조하지 않는다고 결정할 때, 상기 버스 제어 수단이 상기 내부 버스 및 상기 내부 메모리 제어 신호 라인을 상기 외부 단자에 연결하는 것을 특징으로 하는 마이크로 컴퓨터.
- 중앙 처리 장치, 상기 중앙 처리 장치의 명령 실행 중에 참조될 수 있는 데이타를 보유한 제 1 내부 메모리 및 상기 중앙 처리 장치와 외부 단자 모두에 의해 참조될 수 있는 데이타를 보유한 제 1 내부 메모리 및 상기 중앙 처리 장치와 외부 단자 모두에 의해 참조될 수 있는 데이타를 보유한 제 2 내부 메모리를 갖고 있는 마이크로 컴퓨터에 있어서, 다중 컴퓨터 통신 지원 장치가 상기 중앙 처리 장치에 의해 참조되는 상기 제 1 내부 메모리의 어드레스 및 데이타를 전송하기 위한 제 1 내부 버스 수단, 상기 제 1 내부 메모리에의 데이타 참조를 위해 제어 신호를 전송하기 위한 제 1 내부 메모리 제어 수단, 상기 중앙 처리 장치에 의해 참조되는 상기 제 2 내부 메모리의 어드레스 및 데이타를 전송하기 위한 제 2 내부 버스 수단, 상기 제 2 내부 메모리에 데이타 참조를 위해 제어 신호를 전송하기 위한 제 2 내부 메모리 제어 수단, 상기 중앙 처리 장치가 상기 제 2 내부 메모리에의 데이타 참조를 하지 않을 때 상기 제 2 내부 메모리에의 데이타 참조를 요청하는 외부 버스 요청 신호가 수신될 경우 버스 사용 허용 신호를 출력하고 상기 허용 신호 출력 중에는 상기 중앙 처리 장치로부터 상기 제 2 내부 메모리에의 데이타 참조를 금지시키기 위한 버스 제어 수단, 상기 버스 제어 수단이 상기 버스 사용 허용 신호를 출력하지 않을 때 상기 제 1 내부 버스 수단을 상기 제 2 버스 수단에 연결하고 상기 제 1 내부 메모리 제어 수단을 상기 제 2 내부 메모리에 연결하기 위한 제 1 버스 연결 수단, 및 상기 버스 제어 수단이 상기 버스 사용 허용 신호를 출력할 때 외부 단자를 상기 내부 버스 및 상기 메모리 제어 수단에 연결하기 위한 제 2 버스 연결 수단을 포함하는 것을 특징으로 하는 마이크로 컴퓨터.
- 제 6 항에 있어서, 상기 중앙 처리 장치가 상기 내부 버스에 출력된 상기 어드레스가 상기 내부 메모리를 참조하는지를 결정하기 위한 어드레스 판별 수단을 포함하여 상기 어드레스 판별 수단이 상기 내부 버스상의 상기 어드레스가 상기 내부 메모리를 참조하지 않는다고 결정할 때, 상기 버스 제어 수단이 상기 내부 버스 수단 및 상기 제어 수단을 상기 외부 단자에 연결하는 것을 특징으로 하는 마이크로 컴퓨터.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3170812A JPH0520278A (ja) | 1991-07-11 | 1991-07-11 | マイクロコンピユータ |
JP91-170812 | 1991-07-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR930002958A KR930002958A (ko) | 1993-02-23 |
KR950010529B1 true KR950010529B1 (ko) | 1995-09-19 |
Family
ID=15911796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019920012287A KR950010529B1 (ko) | 1991-07-11 | 1992-07-10 | 프로세서간 통신을 위한 메모리 공유 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5467461A (ko) |
EP (1) | EP0522582B1 (ko) |
JP (1) | JPH0520278A (ko) |
KR (1) | KR950010529B1 (ko) |
DE (1) | DE69229303T2 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2704113B2 (ja) * | 1994-04-26 | 1998-01-26 | 日本電気アイシーマイコンシステム株式会社 | データ処理装置 |
WO1996008775A1 (en) * | 1994-09-16 | 1996-03-21 | Philips Electronics N.V. | Software programmable bus disable system |
US5832277A (en) * | 1996-03-08 | 1998-11-03 | 3 Com Corporation | System for arbitrating demand on memory during configuration of a computer add-on card |
GB9707364D0 (en) * | 1997-04-11 | 1997-05-28 | Eidos Technologies Limited | A method and a system for processing digital information |
KR100269338B1 (ko) * | 1997-12-27 | 2000-10-16 | 서평원 | 통신시스템의사설교환기및이에구비된모듈간에데이터통신방법 |
US6163828A (en) * | 1998-05-22 | 2000-12-19 | Lucent Technologies Inc. | Methods and apparatus for providing multi-processor access to shared memory |
US6067629A (en) * | 1998-08-10 | 2000-05-23 | Intel Corporation | Apparatus and method for pseudo-synchronous communication between clocks of different frequencies |
US6684321B1 (en) * | 2000-01-04 | 2004-01-27 | Advanced Micro Devices, Inc. | Unified memory architecture for use by a main processor and an external processor and method of operation |
KR100606946B1 (ko) | 2001-11-30 | 2006-08-01 | 후지쓰 텐 가부시키가이샤 | 마이크로 컴퓨터의 로직 개발 장치 |
JP2006172142A (ja) * | 2004-12-16 | 2006-06-29 | Matsushita Electric Ind Co Ltd | マルチプロセッサシステム |
JP4328334B2 (ja) | 2006-03-13 | 2009-09-09 | パナソニック株式会社 | 半導体集積回路装置 |
JP4267002B2 (ja) * | 2006-06-08 | 2009-05-27 | エルピーダメモリ株式会社 | コントローラ及びメモリを備えるシステム |
JPWO2008099931A1 (ja) * | 2007-02-15 | 2010-05-27 | 富士通テン株式会社 | マイクロコンピュータの模擬装置 |
JP2008226280A (ja) * | 2008-06-25 | 2008-09-25 | Renesas Technology Corp | システムlsi |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4325116A (en) * | 1979-08-21 | 1982-04-13 | International Business Machines Corporation | Parallel storage access by multiprocessors |
JPS57117027A (en) * | 1981-01-13 | 1982-07-21 | Nec Corp | Signal sending and receiving circuit |
US4495567A (en) * | 1981-10-15 | 1985-01-22 | Codex Corporation | Multiprocessor/multimemory control system |
US4503497A (en) * | 1982-05-27 | 1985-03-05 | International Business Machines Corporation | System for independent cache-to-cache transfer |
JP2584113B2 (ja) * | 1989-07-21 | 1997-02-19 | 松下電器産業株式会社 | データ転送方法及びデータ転送装置 |
-
1991
- 1991-07-11 JP JP3170812A patent/JPH0520278A/ja active Pending
-
1992
- 1992-07-08 US US07/910,780 patent/US5467461A/en not_active Expired - Fee Related
- 1992-07-10 EP EP92111788A patent/EP0522582B1/en not_active Expired - Lifetime
- 1992-07-10 KR KR1019920012287A patent/KR950010529B1/ko not_active IP Right Cessation
- 1992-07-10 DE DE69229303T patent/DE69229303T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69229303D1 (de) | 1999-07-08 |
EP0522582A3 (en) | 1993-02-10 |
US5467461A (en) | 1995-11-14 |
EP0522582B1 (en) | 1999-06-02 |
JPH0520278A (ja) | 1993-01-29 |
EP0522582A2 (en) | 1993-01-13 |
DE69229303T2 (de) | 2000-01-27 |
KR930002958A (ko) | 1993-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4028675A (en) | Method and apparatus for refreshing semiconductor memories in multi-port and multi-module memory system | |
US5761458A (en) | Intelligent bus bridge for input/output subsystems in a computer system | |
US5125081A (en) | Inter-configuration changing controller based upon the connection and configuration information among plurality of clusters and the global storage | |
KR950010529B1 (ko) | 프로세서간 통신을 위한 메모리 공유 장치 | |
US7007126B2 (en) | Accessing a primary bus messaging unit from a secondary bus through a PCI bridge | |
US5168559A (en) | Emulation system capable of complying with microcomputers having different on-chip memory capacities | |
US5845130A (en) | Mailbox traffic controller | |
US5933613A (en) | Computer system and inter-bus control circuit | |
GB2412767A (en) | Processor with at least two buses between a read/write port and an associated memory with at least two portions | |
JPS6242306B2 (ko) | ||
JP2813182B2 (ja) | マルチプロセッサコンピュータ複合装置 | |
JPH0227696B2 (ja) | Johoshorisochi | |
EP0117837B1 (en) | User programmable bus configuration for microcomputers | |
JP3219422B2 (ja) | キャッシュメモリ制御方式 | |
JPH05257903A (ja) | マルチプロセッサシステム | |
KR100575608B1 (ko) | 버스 제어회로 | |
JPH09305424A (ja) | 二重化システム | |
KR100604569B1 (ko) | 멀티 프로세서간 데이터 통신장치와 그 장치를 포함하는이동 통신 단말기 | |
JPH06231032A (ja) | アクセス制御装置 | |
JPS6257050A (ja) | 共有メモリ装置 | |
JPH0391191A (ja) | マルチポートメモリ | |
JPH03136151A (ja) | メモリ二重書き込み方式 | |
JPS6215903B2 (ko) | ||
JPS63128464A (ja) | プロセツサ回路 | |
JPS63155351A (ja) | マルチプロセツサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20020905 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |