KR100227740B1 - 공유메모리를 이용한 데이터 액세스 제어장치 - Google Patents
공유메모리를 이용한 데이터 액세스 제어장치 Download PDFInfo
- Publication number
- KR100227740B1 KR100227740B1 KR1019970004582A KR19970004582A KR100227740B1 KR 100227740 B1 KR100227740 B1 KR 100227740B1 KR 1019970004582 A KR1019970004582 A KR 1019970004582A KR 19970004582 A KR19970004582 A KR 19970004582A KR 100227740 B1 KR100227740 B1 KR 100227740B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- output
- shared memory
- processor
- data
- Prior art date
Links
Images
Classifications
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/037—Bistable circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
개시된 데이터 액세스 제어장치는 하나 이상 복수의 프로세서를 구비하고 있는 시스템에서 복수의 프로세서가 하나의 공유메모리의 동일한 어드레스를 동시에 액세스할 경우에 데이터가 충돌되지 않도록 한다.
복수의 입출력 포트를 구비하고 소정의 어드레스신호, 칩 선택신호, 리스신호 및 라이트신호에 따라 소정의 데이터가 해당 어드레스에 리드 및 라이트되는 공유메모리; 상기 공유메모리의 일측 포트로 어드레스신호, 리드신호, 라이트신호 및 칩 선택신호를 출력하여 소정의 데이터를 리드 및 라이트하며 대기상태가 지원되지 않는 제1프로세서; 상기 공유메모리의 타측 포트로 어드레스신호, 리드신호, 라이트신호 및 칩 선택신호를 출력하여 소정의 데이터를 리드 및 라이트하며 대기상태가 지원되는 제2프로세서; 제2프로세서가 출력되는 어드레스신호를 디코딩하여 상기 공유메모리에 칩 선택신호를 출력하는 디코더; 및 상기 공유메모리 및 대기상태가 지원되지 않는 상기 제1프로세서의 사이에 구비되고 공유메모리가 상기 제1프로세서로 대기신호를 출력할 경우에 제1프로세서에서 출력되는 어드레스신호, 리드신호, 라이트신호 및 칩 선택신호를 지연시켜 상기 공유메모리로 출력 및 데이터의 충돌을 방지하는 액세스 제어부로 구성됨을 특징으로 한다.
Description
본 발명은 하나 이상 복수의 프로세서를 구비하고 공유메모리를 사용하는 시스템에서 복수의 프로세서가 하나의 공유메모리의 동일한 어드레스를 동시에 액세스(access)할 경우에 데이터가 손상되지 않도록 하는 공유메모리를 이용한 데이터 액세스 제어장치에 관한 것이다.
일반적으로 하나 이상 복수의 프로세서를 구비하고 있는 시스템들은 복수의 프로세서들이 소정의 데이터를 빠른 속도로 교환할 수 있도록 하기 위하여 공유메모리를 사용하고 있다.
상기 공유메모리는, 하나의 데이터 공간을 가지면서 두 개의 포트 즉, 데이터 버스, 어드레스 버스 및 제어 버스를 두 개씩 연결하여 두 개의 프로세서가 동시에 소정의 데이터를 리드 및 라이트할 수 있는 메모리이다.
이러한 공유메모리의 동일 어드레스를 두 개의 프로세서가 동시에 액세스할 경우에 그 동일 어드레스의 데이터가 상호간에 충돌되어 손상된다.
그러므로 2개의 프로세서가 공유메모리의 동일 어드레스를 동시에 액세스할 경우에 공유메모리는 나중에 액세스한 프로세서로 대기신호를 발생하고, 발생한 대기신호에 따라 나중에 액세스한 프로세서가 대기상태로 동작하여 데이터의 충돌을 방지 및 데이터가 손상되지 않도록 하고 있다.
그러나 대기상태를 지원하지 않는 프로세서를 사용할 경우에 공유메모리가 대기신호를 발생하여도 두 개의 프로세서가 동시에 동일한 어드레스를 동시에 액세스하는 경우가 발생하고, 이로 인하여 데이터가 충돌되어 손상되는 문제점이 있었다.
이러한 종래의 기술을 제1도의 도면을 참조하여 상세히 설명한다.
제1도는 종래의 데이터 액세스 제어장치를 보인 블록도이다.
여기서, 부호 1은 소정의 어드레스 신호(ADDR1)(ADDR2) 및 제어신호에 따라 소정의 데이터가 리드 및 라이트되는 공유메모리이고, 부호 3 및 부호 5는 어드레스 신호(ADDR1)(ADDR2), 리드신호(/RD1)(/RD2) 및 라이트신호(/WR1)(/WR2)를 발생하면서 상기 공유메모리(1)에 소정의 데이터(DATA1)(DATA2)를 리드 및 라이트하는 제1 및 제2프로세서이다.
상기 제1프로세서(3)는 대기단자가 구비되지 않아 상기 공유메모리(1)가 발생하는 대기신호(/BUSY1)가 인가되지 않고, 상기 제2프로세서(5)는 대기단자(Ready)가 구비되어 상기 공유메모리(1)가 발생하는 대기신호(/BUSY1)가 인가되게 접속된다.
부호 7 및 부호 9는 상기 제1 및 제2프로세서(3)(5)가 출력하는 어드레스신호(ADDR1)(ADDR2)를 디코딩하여 상기 공유 메모리(1)로 칩 선택신호(CS1)(CS2)를 출력하는 디코더이다.
이와 같이 구성된 종래의 데이터 액세스 제어장치는 제1프로세서(3)가 공유메모리(1)를 액세스할 경우에 제1프로세서(3)는 어드레스 신호(ADDR1), 리드신호(/RD1) 및 라이트신호(/WR1)를 발생하여 공유메모리(1)에 인가되고, 또한 제1프로세서(3)가 발생한 어드레스 신호(ADDR1)가 디코더(7)에서 디코딩되어 공유메모리(1)에 칩 선택신호(CS1)를 인가하므로 공유메모리(1)는 액세스되어 제1프로세서(3)가 공유메모리(1)에 소정의 데이터(DATA1)를 리드 및 라이트하게 된다.
이와 같은 상태에서 제2프로세서(5)가, 상기 제1프로세서(3)가 액세스하는 어드레스와 동일한 어드레스를 액세스할 경우에 공유메모리(1)는 대기신호(/BUSY2)를 발생하고, 발생한 대기신호(/BUSY2)는 제2프로세서(5)의 대기단자(Ready)에 인가되므로 제2프로세서(5)는 대기상태로 동작하여 공유메모리(1)를 액세스하지 않게 된다.
그리고 제1프로세서(3)에 의한 공유메모리(1)의 액세스 동작이 완료되어 대기신호(/BUSY2)를 발생하지 않고, 제2프로세서(5)가 공유메모리(1)를 액세스할 경우에 제2프로세서(5)는 어드레스 신호(ADDR2), 리드신호(/RD2) 및 라이트신호(/WR2)를 발생하여 공유메모리(1)에 인가되며, 또한 제2프로세서(5)가 발생한 어드레스 신호(ADDR2)를 디코더(9)가 디코딩하여 공유메모리(1)에 칩 선택신호(CS2)를 인가하므로 공유메모리(1)가 액세스되어 제2프로세서(5)가 공유메모리(1)에 소정의 데이터(DATA2)를 리드 및 라이트하게 된다.
이때, 제1프로세서(3)가, 상기 제2프로세서(5)가 액세스하는 어드레스와 동일한 어드레스를 액세스할 경우에 공유메모리(1)는 대기신호(/BUSY1)를 발생하게 되나, 제1프로세서(3)에는 대기단자가 구비되어 있지 않으므로 대기상태로 동작하지 않게 된다.
그러므로 제2프로세서(5)가 공유메모리(1)의 소정의 어드레스를 액세스하는 도중에 제1프로세서(3)가 공유메모리(1)의 동일한 어드레스를 액세스하는 경우가 발생하고, 이로 인하여 그 동일한 어드레스의 데이터가 충돌되어 손상된다.
즉, 공유메모리(1)는, 데이터의 충돌을 방지하기 위하여 내부에서 액세스 우선 순위를 비교하고, 제2프로세서(5)가 액세스하고 있는 동일한 어드레스를 제1프로세서(3)에서 액세스할 경우에 먼저 액세스한 제2프로세서(5)가 액세스를 끝날 동안 공유메모리(1)가 제1프로세서(3)로 대기신호(/BUSY1)를 발생하여 제1프로세서(3)가 대기상태로 동작되도록 하고 있으나, 제1프로세서(3)에는 공유메모리(1)의 대기신호(/BUSY1)를 입력받을 대기단자(Ready)가 없으므로 제1프로세서(3)의 버스 연장이나 제어 신호선의 연장이 불가능하여 데이터의 충돌 현상이 발생하게 된다.
또한 소프트웨어적으로 데이터 충돌을 방지할 수도 있으나, 소프트웨어적으로 데이터의 충돌을 방지할 경우에는 데이터의 전송에 대한 규약을 설정함은 물론 데이터 전송에 관한 체크 섬(checksum) 등의 데이터의 손상여부를 알 수 있는 기법들을 도입해야 되고, 이로 인하여 비용의 증대 및 통신 속도의 저하를 발생하게 되는 또 다른 문제점이 있게 된다.
따라서 본 발명의 목적은 하나의 프로세서가 공유메모리의 소정의 어드레스를 액세스하는 상태에서 대기상태가 지원되지 않는 다른 하나의 프로세서가 공유메모리의 동일 어드레스를 액세스할 경우에 그 다른 하나의 프로세서에서 출력되는 제어신호들을 지연시켜 공유메모리의 동일 어드레스의 데이터 충돌을 방지 및 손상되지 않도록 하는 공유메모리를 이용한 데이터 액세스 제어장치를 제공하는데 있다.
이러한 목적을 달성하기 위한 본 발명의 공유메모리를 이용한 데이터 액세스 제어장치에 따르면, 복수의 입출력 포트를 구비하고 소정의 어드레스신호, 칩 선택신호, 리드신호 및 라이트신호에 따라 소정의 데이터가 해당 어드레스에 리드 및 라이트되는 공유메모리; 상기 공유메모리의 일측 포트로 어드레스신호, 리드신호, 라이트신호 및 칩 선택신호를 출력하여 소정의 데이터를 리드 및 라이트하며 대기상태가 지원되지 않는 제1프로세서; 상기 공유메모리의 타측 포트로 어드레스신호, 리드신호, 라이트신호 및 칩 선택신호를 출력하여 소정의 데이터를 리드 및 라이트하며 대기상태가 지원되는 제2프로세서; 제2프로세서가 출력하는 어드레스신호를 디코딩하여 상기 공유메모리에 칩 선택신호를 출력하는 디코더; 및 상기 공유메모리 및 대기상태가 지원되지 않는 상기 제1프로세서의 사이에 구비되고 공유메모리에서 상기 제1프로세서로 대기신호가 출력될 경우에 제1프로세서에서 출력되는 어드레스신호, 리드신호, 라이트신호 및 칩 선택신호를 지연시켜 상기 공유메모리로 출력 및 데이터의 충돌을 방지하는 액세스 제어부로 구성됨을 특징으로 한다.
제1도는 종래의 데이터 액세스 제어장치를 보인 블록도.
제2도는 본 발명의 데이터 액세스 제어장치의 실시예를 보인 블록도.
제3도는 본 발명의 데이터 액세스 제어장치에서 제2도의 액세스 제어부를 보인 상세 회로도.
제4도는 본 발명의 데이터 액세스 제어장치에서 라이트 동작시 대기신호가 발생될 경우의 제3도의 각부의 동작 파형도.
제5도는 본 발명의 데이터 액세스 제어장치에서 리드 동작시 대기신호가 발생될 경우의 제3도의 각부의 동작 파형도이다.
* 도면의 주요부분에 대한 부호의 설명
10 : 공유메모리(Dual Port Memory) 20 : 제1프로세서
30 : 제2프로세서 40 : 액세스 제어부
50 : 라이트신호 제어부 60 : 선택신호 제어부
70 : 리드신호 제어부 80 : 데이터신호 제어부
이하 첨부된 제2도 및 제4도의 도면을 참조하여 본 발명의 공유메모리를 이용한 데이터 액세스 제어장치를 상세히 설명한다.
제2도는 본 발명의 데이터 액세스 제어장치의 실시예를 보인 블록도이다.
이에 도시된 바와 같이 본 발명은 공유메모리(10), 제1프로세서(20), 제2프로세서(30), 디코더(35) 및 액세스 제어부(40)를 포함한다.
상기 공유메모리(10)는, 복수의 입출력 포트를 구비하여 소정의 어드레스신호(ADDR11)(ADDR21)와, 칩 선택신호(/CS12)(/CS21), 리드신호(/RD21) 및 라이트신호(/WR12)(/WR21)에 따라 소정의 데이터가 해당 어드레스에 리드 및 라이트되게 구성되어 있다.
상기 제1프로세서(20)는, 상기 공유메모리(10)의 일측 포트로 어드레스신호(ADDR11), 리드신호(/RD11), 라이트신호(/WR11) 및 칩 선택신호(/CS11)를 출력하면서 데이터버스(DATA_BUS11)를 통해 소정의 데이터를 리드 및 라이트하게 구성된다.
여기서, 상기 제1프로세서(20)에는 상기 공유메모리(10)에서 발생되는 대기신호(/BUSY1)를 입력받는 대기단자(Ready)가 구비되어 있지 않다.
상기 제2프로세서(30)는, 상기 공유메모리(10)의 타측 포트로 어드레스신호(ADDR21), 리드신호(/RD21), 라이트신호(/WR21) 및 칩 선택신호(/CS21)를 출력하면서 데이터버스(DATA_BUS21)를 통해 소정의 데이터를 리드 및 라이트하게 구성된다.
여기서, 상기 제2프로세서(30)에는 상기 공유메모리(10)에서 발생되는 대기신호(BUSY21)를 입력받아 대기상태로 동작하는 대기단자(Ready)가 구비되어 있다.
상기 디코더(35)는 제2프로세서(30)가 출력하는 어드레스신호(ADDR21)를 디코딩하여 상기 공유메모리(10)에 칩 선택신호(/CS21)를 출력하게 구성된다.
상기 액세스 제어부(40)는, 상기 공유메모리(10) 및 제1프로세서(20)의 사이에 구비되고, 공유메모리(10)에서 대기신호(/BUSY11)가 출력될 경우에 상기 제1프로세서(20)에서 출력되는 어드레스신호(ADDR11), 리드신호(/RD11), 라이트신호(/WR11) 및 칩 선택신호(/CS11)를 일정시간 지연 및 상기 공유메모리(10)로 출력하여 데이터의 충돌을 방지하게 구성된다.
상기 액세스 제어부(40)는, 상기 제1프로세서(20)에서 출력되는 라이트신호(/WR11) 및 칩 선택신호(/CS11)를 상기 공유메모리(10)에서 출력되는 대기신호(/BUSY11)에 따라 차단 및 라이트신호(/WR12)로 출력하여 상기 공유메모리(10)에 인가하는 라이트신호 제어부(50)와, 상기 제1프로세서(20)에서 출력되는 칩 선택신호(/CS11) 및 리드신호(/RD11)를 상기 라이트 제어부(50)가 출력하는 라이트신호(/WR12)에 따라 차단 및 칩 선택신호(/CS12)로 출력하여 상기 공유메모리(10)에 인가하는 선택신호 제어부(60)와, 상기 제1프로세서(20)에서 출력된 리드신호(/RD11) 및 칩 선택신호(/CS11)와 상기 공유메모리(10)에서 출력되는 대기신호(/BUSY11)에 따라 인에이블 신호를 발생하는 리드신호 제어부(70)와, 상기 라이트신호 제어부(50) 및 리드신호제어부(70)의 출력신호에 따라 상기 제1프로세서(20)와 공유메모리(10)간의 데이터를 액세스하는 데이터신호 제어부(80)로 구성된다.
제3도는 본 발명의 데이터 액세스 제어장치에서 제2도의 액세스 제어부(40)를 보인 상세 회로도이다.
이에 도시된 바와 같이 상기 라이트신호 제어부(50)는, 상기 제1프로세서(20)에서 출력되는 라이트신호(/WR11) 및 칩 선택신호(/CS11)를 논리 합하는 노아게이트인 제1게이트(51)와, 상기 제1게이트(51)의 출력신호 및 상기 공유메모리(10)에서 출력되는 대기신호(/BUSY11)를 논리 곱하는 앤드 게이트인 제2게이트(53)와, 상기 제2게이트(53)의 출력신호를 완충 증폭하여 상기 공유메모리(10)에 라이트신호(/WR12)로 출력하는 버퍼(55)로 구성된다.
상기 선택신호 제어부(60)는, 상기 제1프로세서(10)에서 출력되는 칩 선택신호(/CS11) 및 리드신호(/RD11)를 논리 합하는 오아 게이트인 제3게이트(61)와, 상기 제3게이트(61)의 출력신호 및 상기 라이트신호 제어부(50)의 버퍼(55)가 출력하는 라이트신호(/WR12)를 논리 곱하여 상기 공유메모리(10)의 칩 선택신호(/CS12)로 출력하는 앤드 게이트인 제4게이트(63)로 구성된다.
상기 리드신호 제어부(70)는, 상기 제1프로세서(20)에서 출력된 리드신호(/RD11)를 반전시키는 제1인버터(71)와, 프리세트 단자(PRE)에 상기 제1인버터(71)의 출력신호가 인가되고 클리어단자(CLR)에 대기신호(/BUSY11)가 인가되며 입력단자(D) 및 클럭단자(CK)가 접지에 연결된 제1D형 플립플롭(73)과, 상기 제1D형 플립플롭(73)의 출력단자(Q)의 출력신호 및 상기 신호선택 제어부(60)의 제3게이트(61)의 출력신호를 논리 합하는 오아 게이트인 제5게이트(75)와, 상기 제1D형 플립플롭(73)의 출력신호를 반전시키는 제2인버터(77)와, 상기 신호선택 제어부(60)의 제3게이트(61)의 출력신호 및 상기 제2인버터(77)의 출력신호를 논리 합하는 오아 게이트인 제6게이트(79)로 구성된다.
상기 데이터신호 제어부(80)는, 상기 제1프로세서(20)에서 출력된 리드신호(/RD11) 및 상기 공유메모리(10)에서 출력된 대기신호(/BUSY11)를 논리 합 및 반전시키는 노아 게이트인 제7게이트(81)와, 상기 제1게이트(51)의 출력신호 및 상기 버퍼(55)의 출력신호가 클럭단자(CK)와 인에이블단자(EN)에 각기 인가되고 데이터버스(DATA_BUS11)의 데이터를 저장 및 데이터버스(DATA_BUS12)로 출력하여 상기 공유메모리(10)에 입력시키는 제2D형 플립플롭(83)과, 상기 제6게이트(79)의 출력신호가 인에이블 단자(EN)에 인가되고 상기 데이터버스(DATA_BUS12)의 데이터를 저장 및 상기 데이터버스(DATA_BUS11)를 통해 상기 제1프로세서(20)로 출력하는 래치(85)와, 상기 제5게이트(75)의 출력신호 및 제7게이트(81)의 출력신호가 인에이블단자(EN)와 클럭단자(CK)에 인가되고 상기 공유메모리(10)와 제2프로세서(20) 사이의 데이터 버스(DATA_BUS21)의 데이터를 저장 및 상기 데이터버스(DATA_BUS11)로 출력하는 제2D형 플립플롭(87)으로 구성된다.
즉, 본 발명은 제1프로세서(20)가 공유메모리(10)에 기록된 데이터를 리드 및 라이트할 경우에 공유메모리(10)로부터 대기신호(/BUSY11)가 발생되면, 제2D형 플립플롭(87)이 데이터버스(DATA_BUS21)의 데이터를 저장 및 출력하고, 대기신호(/BUSY11)가 발생되지 않았으면 래치(85)를 통해 공유메모리(10)의 데이터를 제1프로세서(20)로 출력한다.
제4도는 제1프로세서(20)가 공유메모리(10)에 소정의 데이터를 라이트하는 과정에서 대기신호(/BUSY11)가 발생된 경우의 제3도의 각 부의 동작 파형도로서 제4도의 동작 파형도를 참조하여 본 발명의 데이터 액세스 제어장치의 동작을 설명한다.
먼저 제2프로세서(30)가 공유메모리(10)의 데이터버스(DATA_BUS21)를 점유하여 소정의 데이터를 리드 또는 라이트하고 있는 상태에서 제1프로세서(20)가 제2프로세서(30)와 동일한 어드레스의 데이터를 액세스한다고 가정한다.
제1프로세서(20)가 라이트신호(/WR11)를 저전위로 출력하고, 공유메모리(10)에 라이트할 데이터를 데이터버스(DATA_BUS11)로 출력하면, 데이터버스(DATA_BUS11)로 출력한 데이터는, 제2프로세서(30)가 데이터버스(DATA_BUS21)를 점유(대기신호(/BUSY11)로 판단함)하고 있으므로 공유메모리(10)에 올바른 데이터가 라이트되지 않는다.
따라서 데이터버스(DATA_BUS11)와 칩 선택신호(/CS11) 및 라이트신호(/WR11)를 제2프로세서(30)의 공유메모리(10)에 대한 액세스가 끝날 때가지 연장시켜 주어야 한다.
데이터 충돌 현상의 발생과 제2프로세서(230)의 공유메모리(10)의 액세스가 끝났는지 여부는 대기신호(/BUSY11)를 가지고 판단할 수 있다. 대기신호(/BUSY11)가 저전위에서 고전위로 변환되면, 어느 정도의 시간이 경과된 후 제1프로세서(20)는 공유메모리(10)의 데이터버스(DATA_BUS11)를 액세스할 수 있다.
제3도의 제2게이트(53)를 통해 라이트신호(/WR11)와 대기신호(/BUSY11)를 논리 곱시키고 버퍼(55)의 통과하면, 공유메모리(10)의 라이트신호(/WR12) 및 칩 선택신호(/CS12)를 얻는다.
이때, 제1프로세서(20)의 데이터는 유효하지 않은 상태이므로 상기 공유메모리(10)가 라이트신호(/WR12) 및 칩 선택신호(/CS12)에 따라 동작하면, 사용자가 원하지 않는 데이터가 공유메모리(10)에 기록된다.
따라서 제1프로세서(20)의 라이트 데이터를 공유메모리(10)의 라이트신호(/WR12) 및 칩 선택신호(/CS12)가 고전위로 될 때가지 유지시켜 주어야 한다.
이를 위하여 제1D형 플립플롭(83)을 사용하여 데이터를 저장 및 출력시키는 것으로서 제1프로세서(20)의 출력 데이터는 라이트 신호(/WR11)의 상승 에지에서 제1D형 플립플롭(83)에 저장된다.
제5도는 제1프로세서(20)가 공유메모리(10)에 소정의 데이터를 리드하는 과정에서 대기신호(/BUSY11)가 발생된 경우의 제3도의 각 부의 동작 파형도로서 제5도의 동작 파형도를 참조하여 본 발명의 데이터 액세스 제어장치의 동작을 설명한다.
먼저 제2프로세서(30)가 공유메모리(10)의 데이터버스(DATA_BUS2)를 액세스하여 소정의 데이터를 리드 또는 라이트하는 상태에서 제1프로세서(20)가 제2프로세서(30)와 동일한 어드레스의 데이터를 액세스한다고 가정한다.
제1프로세서(20)에서 리드신호(/RD11)가 발생되고, 공유메모리(10)의 어드레스신호(ADDR11)가 출력된다.
이때 공유메모리(10)의 데이터버스(DATA_BUS11)에 데이터가 실리지만, 대기신호(/BUSY11)가 발생하였기 때문에 공유메모리(10)의 데이터버스(DATA_BUS2)도 소정의 데이터가 실리게 된다.
그러나 제1프로세서(20)의 데이터버스(DATA_BUS11)에 연결되는 것은 공유메모리(10)의 데이터버스(DATA_BUS2)에 실린 데이터이다.
상기 데이터버스(DATA_BUS2)의 데이터는 공유메모리(10)에 리드 또는 라이트하는 데이터이므로 유효한 데이터이다.
공유메모리(10)에서 대기신호(/BUSY11)가 발생하지 않으면 제1프로세서(20)는 래치(85)를 통해 공유메모리(10)의 데이터(DATA11)를 리드하고, 대기신호(/BUSY11)가 발생하면 제1프로세서(20)는 제2D형 플립플롭(87)을 통해 공유메모리(10)의 데이터(DATA21)를 읽어들인다. 또한 제1D형 플립플롭(73)은 대기신호(BUSY11)가 발생하면 제2D형 플립플롭(87)을 인에이블시키고, 제2인버터(77)를 통해 래치(85)와 제2D형 플립플롭(87)이 동시에 선택되지 않도록 한다.
상기 공유메모리(10)의 데이터(DATA21)는 대기신호(/USY11)가 하강 에지일 때 제2D형 플립플롭(87)에 저장되고 제1프로세서(20)로 출력된다.
이상에서와 같이 본 발명은 대기상태가 지원되지 않는 복수의 프로세서가 동시에 공유메모리의 동일한 어드레스의 데이터를 액세스할 경우에 발생될 수 있는 데이터의 충돌현상을 방지함으로써 공유메모리를 사용한 데이터 통신방식에 있어서 프로세서의 선택범위를 넓혀주고, 임의의 데이터의 전송 규약 없이도 서로의 데이터 교환이 가능하며, 고속의 데이터 통신이 가능하게 되는 효과가 있다.
Claims (6)
- 복수의 입출력 포트를 구비하고 소정의 어드레스신호, 칩 선택신호, 리드신호 및 라이트신호에 따라 소정의 데이터가 해당 어드레스에 리드 및 라이트되는 공유메모리; 상기 공유메모리의 일측 포트로 어드레스신호, 리드신호, 라이트신호 및 칩 선택신호를 출력하여 소정의 데이터를 리드 및 라이트하며 대기상태가 지원되지 않는 제1프로세서; 상기 공유메모리의 타측 포트로 어드레스신호, 리드신호, 라이트신호 및 칩 선택신호를 출력하여 소정의 데이터를 리드 및 라이트하며 대기상태가 지원되는 제2프로세서; 제2프로세서가 출력하는 어드레스신호를 디코딩하여 상기 공유메모리에 칩 선택신호를 출력하는 디코더; 및 상기 공유메모리 및 대기상태가 지원되지 않는 상기 제1프로세서의 사이에 구비되고 공유메모리에서 상기 제1프로세서로 대기신호가 출력될 경우에 제1프로세서에서 출력되는 어드레스신호, 리드신호, 라이트신호 및 칩 선택신호를 지연시켜 상기 공유메모리로 출력 및 데이터의 충돌을 방지하는 액세스 제어부로 구성됨을 특징으로 하는 공유메모리를 이용한 데이터 액세스 제어장치.
- 제1항에 있어서, 상기 액세스 제어부는; 상기 제1프로세서가 출력하는 라이트신호 및 칩 선택신호를 상기 공유메모리에서 출력되는 상기 대기신호에 따라 차단 및 상기 공유메모리에 라이트신호로 출력하는 라이트신호 제어부; 상기 제1프로세서가 출력하는 칩 선택신호 및 리드신호를 상기 라이트 제어부가 출력하는 라이트신호에 따라 차단 및 칩 선택신호로 출력하여 상기 공유메모리에 인가하는 선택신호 제어부; 상기 제1프로세서가 출력하는 리드신호 및 칩 선택신호와 상기 공유메모리가 출력하는 대기신호에 따라 인에이블 신호를 발생하는 리드신호 제어부; 상기 라이트신호 제어부 및 리드신호제어부의 출력신호에 따라 상기 제1프로세서와 공유메모리간의 데이터를 액세스하는 데이터신호 제어부로 구성됨을 특징으로 하는 공유메모리를 이용한 데이터 액세스 제어장치.
- 제2항에 있어서, 상기 라이트신호 제어부는; 상기 제1프로세서에서 출력되는 라이트신호 및 칩 선택신호를 논리 합하는 제1게이트; 상기 제1게이트의 출력신호 및 상기 공유메모리가 상기 제1프로세서로 출력하는 대기신호를 논리 곱하는 제2게이트; 및 상기 제2게이트의 출력신호를 완충 증폭하여 상기 공유메모리에 라이트신호로 출력하는 버퍼로 구성됨을 특징으로 하는 공유메모리를 이용한 데이터 액세스 제어장치.
- 제2항에 있어서, 상기 선택신호 제어부는, 상기 제1프로세서에서 출력되는 칩 선택신호 및 리드신호를 논리 합하는 제3게이트; 상기 제3게이트의 출력신호 및 상기 라이트신호 제어부의 버퍼가 출력하는 라이트신호를 논리 곱하여 상기 공유메모리에 칩 선택신호로 출력하는 제4게이트로 구성됨을 특징으로 하는 공유메모리를 이용한 데이터 액세스 제어장치.
- 제2항에 있어서, 상기 리드신호 제어부는; 싱기 제1프로세서에서 출력된 리드신호를 반전시키는 제1인버터; 프리세트 단자에 상기 제1인버터의 출력신호가 인가되고 클리어단자에 상기 공유메모리가 제1프로세서로 출력하는 대기신호가 인가되며 입력단자 및 클럭단자가 접지에 연결된 제1D형 플립플롭; 상기 제1D형 플립플롭의 출력신호 및 상기 신호선택 제어부의 제3게이트의 출력신호를 논리 합하는 제5게이트; 상기 제1D형 플립플롭의 출력신호를 반전시키는 제2인버터; 상기 신호선택 제어부의 제3게이트의 출력신호 및 상기 제2인버터의 출력신호를 논리 합하는 제6게이트로 구성됨을 특징으로 하는 공유메모리를 이용한 데이터 액세스 제어장치.
- 제2항에 있어서, 상기 데이터신호 제어부는; 상기 제1프로세서에서 출력된 리드신호 및 상기 공유메모리가 제1프로세서로 출력하는 대기신호를 논리 합 및 반전시키는 제7게이트; 상기 제1게이트의 출력신호 및 상기 버퍼의 출력신호가 클럭단자와 인에이블단자에 각기 인가되고 데이터버스의 데이터를 저장 및 공유메모리로 출력하여 상기 공유메모리에 입력시키는 제2D형 플립플롭; 상기 제6게이트의 출력신호가 인에이블 단자에 인가되고 상기 데이터버스의 데이터를 저장 및 상기 데이터버스를 통해 상기 제1프로세서로 출력하는 래치; 상기 제5게이트의 출력신호 및 제7게이트의 출력신호가 인에이블단자와 클럭단자에 인가되고 상기 공유메모리와 제2프로세서 사이의 데이터 버스의 데이터를 저장 및 상기 데이터버스로 출력하는 제2D형 플립플롭으로 구성됨을 특징으로 하는 공유메모리를 이용한 데이터 액세스 제어장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970004582A KR100227740B1 (ko) | 1997-02-15 | 1997-02-15 | 공유메모리를 이용한 데이터 액세스 제어장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970004582A KR100227740B1 (ko) | 1997-02-15 | 1997-02-15 | 공유메모리를 이용한 데이터 액세스 제어장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980068130A KR19980068130A (ko) | 1998-10-15 |
KR100227740B1 true KR100227740B1 (ko) | 1999-11-01 |
Family
ID=19497122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970004582A KR100227740B1 (ko) | 1997-02-15 | 1997-02-15 | 공유메모리를 이용한 데이터 액세스 제어장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100227740B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100441742B1 (ko) * | 2002-07-26 | 2004-07-23 | (주)엔텔스 | 정보교환 버스를 이용한 프로세스간 통신 데이터 제어방법및 그 시스템 |
US7808560B2 (en) | 2005-06-03 | 2010-10-05 | Samsung Electronics Co., Ltd. | Video processing apparatus and data processing method |
KR101366967B1 (ko) * | 2012-06-12 | 2014-02-25 | 엘에스산전 주식회사 | 메모리 공유 회로 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050023699A (ko) * | 2003-09-02 | 2005-03-10 | 삼성전자주식회사 | 복수의 cpu 시스템에서 디바이스를 공유하는 방법 및장치 |
KR100736902B1 (ko) * | 2005-06-23 | 2007-07-10 | 엠텍비젼 주식회사 | 복수의 프로세서에 의한 메모리 공유 방법 및 장치 |
-
1997
- 1997-02-15 KR KR1019970004582A patent/KR100227740B1/ko not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100441742B1 (ko) * | 2002-07-26 | 2004-07-23 | (주)엔텔스 | 정보교환 버스를 이용한 프로세스간 통신 데이터 제어방법및 그 시스템 |
US7808560B2 (en) | 2005-06-03 | 2010-10-05 | Samsung Electronics Co., Ltd. | Video processing apparatus and data processing method |
KR101366967B1 (ko) * | 2012-06-12 | 2014-02-25 | 엘에스산전 주식회사 | 메모리 공유 회로 |
US9218306B2 (en) | 2012-06-12 | 2015-12-22 | Lsis Co., Ltd. | Memory sharing circuit employing a buffered address and data bus and preventing bus collision |
Also Published As
Publication number | Publication date |
---|---|
KR19980068130A (ko) | 1998-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5398211A (en) | Structure and method for providing prioritized arbitration in a dual port memory | |
CA1233259A (en) | High performance memory utilizing pipelining techniques | |
US20060171239A1 (en) | Dual Port Memory Unit Using a Single Port Memory Core | |
JP4618758B2 (ja) | クワッドデータレートシンクロナス半導体メモリ装置の駆動方法 | |
US6061293A (en) | Synchronous interface to a self-timed memory array | |
US5202856A (en) | Method and apparatus for simultaneous, interleaved access of multiple memories by multiple ports | |
KR100227740B1 (ko) | 공유메모리를 이용한 데이터 액세스 제어장치 | |
US7069406B2 (en) | Double data rate synchronous SRAM with 100% bus utilization | |
GB2219111A (en) | Data processing systems with delayed cache write | |
US5488712A (en) | Memory circuit with pipeline processing | |
US6014333A (en) | Semiconductive memory device capable of carrying out a write-in operation at a high speed | |
US5115498A (en) | Local memory fast selecting apparatus including a memory management unit (mmu) and an auxiliary memory | |
JPH064398A (ja) | 情報処理装置 | |
KR200163540Y1 (ko) | 정적램 사용권 중재회로 | |
KR100248339B1 (ko) | 메모리장치용 중계회로 | |
JPH05189296A (ja) | 単一のビットメモリに対する同時書き込みアクセス装置 | |
KR100279715B1 (ko) | 타 유니트내의 메모리 구동 제어장치 | |
JP3266610B2 (ja) | Dma転送方式 | |
KR960007835B1 (ko) | 다중 프로세서의 공통 메모리 억세스 장치 | |
JPH07121483A (ja) | 共有メモリアクセス制御回路 | |
KR930010283B1 (ko) | 데이터 액세스 회로 | |
JPH0351943A (ja) | 高速バスと低速バスのバスライン共用化方式 | |
RU1807522C (ru) | Буферное запоминающее устройство | |
KR940006830B1 (ko) | Pc/at의 주사기와 글로버메모리 제어 시스템 | |
KR950006176Y1 (ko) | 원거리 입출력 장치의 액세스 제어회로 |
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: 20070727 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |