KR20080096174A - Fifo를 이용하여 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리 및 메모리 시스템 - Google Patents

Fifo를 이용하여 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리 및 메모리 시스템 Download PDF

Info

Publication number
KR20080096174A
KR20080096174A KR1020070041294A KR20070041294A KR20080096174A KR 20080096174 A KR20080096174 A KR 20080096174A KR 1020070041294 A KR1020070041294 A KR 1020070041294A KR 20070041294 A KR20070041294 A KR 20070041294A KR 20080096174 A KR20080096174 A KR 20080096174A
Authority
KR
South Korea
Prior art keywords
processor
fifo
data
signal
address
Prior art date
Application number
KR1020070041294A
Other languages
English (en)
Other versions
KR100879567B1 (ko
Inventor
임영훈
Original Assignee
엠텍비젼 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠텍비젼 주식회사 filed Critical 엠텍비젼 주식회사
Priority to KR1020070041294A priority Critical patent/KR100879567B1/ko
Publication of KR20080096174A publication Critical patent/KR20080096174A/ko
Application granted granted Critical
Publication of KR100879567B1 publication Critical patent/KR100879567B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

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

본 발명은 FIFO를 이용하여 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리 및 데이터 직접 전달 방법에 관한 것이다. 본 발명은 공유 메모리 영역을 갖는 메모리 셀 어레이, 제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 커맨드에 기초하여 상기 공유 메모리 영역에 대해 데이터의 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스, 제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 커맨드에 기초하여 상기 공유 메모리 영역에 대해 데이터의 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스 및 상기 제1 포트를 통해 제공된 제1 커맨드를 제1 FIFO신호로 변환하고, 상기 변환된 제1 FIFO 신호에 기초하여 상기 제1 프로세서에서 전달된 데이터를 선입선출 방식으로 상기 제2 프로세서로 전달하는 데이터 직접 전달부를 포함한다. 본 발명에 따르면 권한 획득 없이 프로세서가 데이터를 전달할 수 있어 시스템 성능이 개선될 수 있다.
듀얼 포트, 메모리, SDRAM, FIFO, 인터럽트, 커맨드, 직접 전달, 액세스, 권한 획득

Description

FIFO를 이용하여 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리 및 데이터 직접 전달 방법{Dual Port Memory for directly transferring data between processors using first-in first-out and Method thereof}
도 1은 종래기술에 따른 듀얼 포트 메모리 시스템의 블록도.
도 2는 일반적인 세마포 처리부의 블록도.
도 3은 본 발명의 바람직한 일 실시예에 따른 듀얼 포트 메모리 시스템의 블록도.
도 4는 본 발명에 따른 듀얼 포트 메모리의 상세 구성을 도시한 블록도.
도 5는 본 발명에 따른 FIFO 처리부의 상세 구성을 도시한 도면.
도 6은 본 발명에 따른 인터럽트 컨트롤러의 상세 구성을 도시한 도면.
도 7은 본 발명에 따른 데이터 직접 전달 과정을 도시한 순서도.
본 발명은 FIFO를 이용하여 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리 및 데이터 직접 전달 방법에 관한 것으로서, 보다 상세하게는 메모리를 공유하여 사용하는 각 프로세서 사이에 권한 획득 없이 데이터를 전달할 수 있 도록 하는 듀얼 포트 메모리 및 이의 방법에 관한 것이다.
최근 들어 휴대폰 및 PDA(Personal Digital Assistant) 등과 같은 휴대용 단말기는 음성통화와 같은 이동통신 기능 이외에도 디지털 카메라, 화상전화, 멀티미디어 데이터의 재생 등과 같은 다양한 부가기능을 포함하고 있다.
휴대용 단말기는 상기와 같은 이동 통신 본래의 기능을 처리하는 모뎀 프로세서와 다양한 응용프로그램을 처리하기 위한 응용 프로세서가 구비된다.
또한, 일반적으로 두 개의 프로세서를 가지는 휴대용 단말기에서는 두 개의 프로세서간의 데이터 송수신을 고속으로 수행함으로써 시스템의 처리 성능을 향상시키고, 메모리의 실장 면적을 줄이기 위해 듀얼 포트 메모리(dual port memory, 특히 듀얼 포트 SDRAM)가 사용된다.
두 개의 프로세서가 듀얼 포트 메모리를 사용하게 되면 각각의 프로세서가 자신의 포트를 사용하여 공유 메모리 영역에 액세스한다. 이러한 경우 두 개의 프로세서가 각각 서로 다른 메모리에 연결되어 호스트 프로세서간 인터페이스(Host Porcessor Interface: HPI)를 통해 처리 데이터를 송수신 하는 경우보다 데이터의 전송 및 처리 속도가 더 빠르고 이로 인해 시스템의 전체적인 성능이 향상된다.
도 1은 종래기술에 따른 듀얼 포트 메모리 시스템의 블록도이다.
도 1을 참조하면, 각 프로세서(100,104)는 각 외부 버스 인터페이스(102,106)를 통해 듀얼 포트 메모리(듀얼 포트 SDRAM: Dual Port Synchronous Dynamic Random Access Memory, 108)에 연결된다.
듀얼 포트 SDRAM(108)은 두 개의 프로세서가 공동으로 액세스(access)하여 기입 또는 독출 작업을 수행하는 공유 메모리 영역을 포함한다.
각 프로세서(100,104)는 공유 메모리 영역에 액세스하고자 하는 경우, 듀얼 포트 SDRAM(108)로부터 권한을 획득한다.
듀얼 포트 SDRAM(108)는 공유 메모리 영역에 대한 각 프로세서의 상호 배타적(mutual exclusive) 액세스를 보장하고 각 프로세서간의 동기화된 작업을 보장하기 위해 세마포 처리부(semaphore, 110)를 이용한다.
도 2는 일반적인 세마포 처리부의 블록도이다.
도 2에 도시된 바와 같이, 일반적인 세마포 처리부(110)는 제1 세마포 요청 레지스터(200), 제2 세마포 요청 레지스터(202), 상태 제어부(204), 제1 세마포 레지스터(206) 및 제2 세마포 레지스터(208)로 구성된다.
제1 세마포 요청 레지스터(200)에는 제1 프로세서(100)의 액세스 권한 요청이 있는 경우에 권한 요청을 위한 데이터(DQ1, 예를 들어, 논리값 ‘0’)가 기입되며, 제2 세마포 요청 레지스터(202)에는 제2 프로세서(104)의 권한 요청에 따른 데이터(DQ2)가 기입된다.
상태 제어부(204)는 상기와 같이 각 프로세서(100,104)로부터 액세스 권한 요청이 있는 경우, 요청된 공유 메모리 영역의 상태를 판단하며, 판단된 상태에 따른 데이터를 각 프로세서에 상응하는 제1 세마포 레지스터(206) 또는 제2 세마포 레지스터(208)에 제공한다.
예를 들어, 제1 프로세서(100)의 권한 요청 시 공유 메모리 영역의 사용이 가능한 경우 상태 제어부(204)는 제1 세마포 레지스터(206)에 논리값 ‘0’이 기입 되도록 하며, 사용이 불가능한 경우에는 논리값 ‘1’이 기입되도록 한다.
제1 프로세서(100)는 제1 세마포 레지스터(206)에서 기입된 데이터를 독출하여 권한이 획득되었는지를 확인한다. 제2 프로세서(104)는 제2 세마포 레지스터(208)로부터 독출된 데이터를 통해 권한 획득 여부를 확인하게 된다.
이처럼 세마포 처리부(110)는 소정의 공유 메모리 영역에 대한 액세스 가능 여부(권한 획득 여부)를 소정의 공유 메모리 영역의 현재의 상태에 따라 각 프로세서(100,104)에 제공한다.
즉 세마포 처리부(110)는 이진 논리값(예를 들면, ‘0’또는 ‘1’)을 각 프로세서(100,104)에 제공하여 소정의 공유 메모리 영역에 각각의 프로세서가 상호 배타적으로 액세스하도록 한다.
그러나 종래에는 제1 프로세서(100)와 제2 프로세서(104)가 듀얼 포트 메모리(108)를 통해 연결되기 때문에 모든 경우에 각 프로세서(100,104) 사이에 데이터를 전달하기 위해 액세스 권한을 획득해야 하는 문제점이 있었다.
본 발명에서는 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 듀얼 포트 메모리 시스템에서 각 프로세서 사이에 세마포 처리부로부터 권한 획득없이 직접적으로 데이터를 전달할 수 있는 듀얼 포트 메모리 및 이를 수행하기 위한 방법을 제안하고자 한다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 바람직한 일 실시예에 따르면, 공유 메모리 영역을 갖는 메모리 셀 어레이; 제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 커맨드에 기초하여 상기 공유 메모리 영역에 대해 데이터의 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스; 제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 커맨드에 기초하여 상기 공유 메모리 영역에 대해 데이터의 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스; 및 상기 제1 포트를 통해 제공된 제1 커맨드를 제1 FIFO신호로 변환하고, 상기 변환된 제1 FIFO 신호에 기초하여 상기 제1 프로세서에서 전달된 데이터를 선입선출 방식으로 상기 제2 프로세서로 전달하는 데이터 직접 전달부를 포함하는 듀얼 포트 메모리가 제공된다.
본 발명의 다른 측면에 따르면, 제1 프로세서; 제2 프로세서; 및 유 메모리 영역을 갖는 메모리 셀 어레이, 제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 커맨드에 기초하여 상기 공유 메모리 영역에 대해 데이터의 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스, 제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 커맨드에 기초하여 상기 공유 메모리 영역에 대해 데이터의 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스 및 상기 제1 포트를 통해 제공된 제1 커맨드를 제1 FIFO신호로 변환하고, 상기 변환된 제1 FIFO 신호에 기초하여 상기 제1 프로세서에서 전달된 데이터를 선입선출 방식으로 상기 제2 프로세서로 전달하는 데이터 직접 전달부로 구성되는 듀얼 포트 메모리를 포함하는 듀얼 포트 메모리 시스템이 제공된다.
본 발명의 다른 측면에 따르면, 듀얼 포트 메모리에서 제1 프로세서 및 제2 프로세서간에 데이터를 직접 전달하는 방법에 있어서, (a) 상기 제1 프로세서로부터 데이터 직접 전달을 위한 제1 커맨드 및 어드레스를 수신하는 단계; (b) 상기 어드레스를 선택 신호로 하여 제1 프로세서로부터 수신된 제1 커맨드를 FIFO 신호로 변환하는 단계; 및 (c) 상기 변환된 FIFO에 기초하여 상기 제1 프로세서에서 상기 제2 프로세서에 직접 전달하기 위한 데이터를 소정 메모리 영역에 기입하는 단계를 포함하는 데이터 직접 전달 방법이 제공된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도 면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 듀얼 포트 메모리 시스템의 블록도이고, 도 4는 본 발명에 따른 듀얼 포트 메모리의 상세 구성을 도시한 블록도이다.
도 3에 도시된 바와 같이, 본 발명에 따른 듀얼 포트 메모리 시스템은 제1 프로세서(300), 제1 외부 버스 인터페이스(302, External Bus Interface: EBI), 제2 프로세서(304), 제2 외부 버스 인터페이스(306) 및 듀얼 포트 메모리(308)를 포함할 수 있다.
제1 및 제2 프로세서(300,304)는 명령을 해독하고 실행하는 단위로서, 제1 프로세서(300)는 핸드폰과 같은 휴대용 단말기에 사용되는 모뎀 프로세서가 될 수 있고, 제2 프로세서(304)는 휴대용 단말기에서 사용되는 비디오 프로세서, 멀티미디어 프로세서 등과 같은 응용프로그램을 수행하기 위한 응용 프로세서가 될 수 있다.
제1 외부 버스 인터페이스(302) 및 제2 외부 버스 인터페이스(306)는 일종의 메모리 컨트롤러(memory controller) 역할을 수행한다.
듀얼 포트 메모리(308)는 SDRAM으로 구성될 수 있다. 이에 따라 제1 및 제2 외부 버스 인터페이스(302,306)는 SDRAM(Synchronous DRAM) 외부 버스 인터페이스가 사용될 수 있다.
이하 본 발명의 일 실시예에서는 제1 외부 버스 인터페이스(302) 및 제2 외부 버스 인터페이스(306)는 SDRAM 외부 버스 인터페이스인 것으로 설명하나 반드시 이에 한정되는 것은 아니다.
듀얼 포트 메모리(308)는 제1 포트(310)를 통해 제1 외부 버스 인터페이스(302)를 가지는 제1 프로세서(300)와 연결되고, 제2 포트(312)를 통해 제2 외부 버스 인터페이스(306)를 가지는 제2 프로세서(304)와 연결된다.
도 3에 도시된 바와 같이, 본 발명에 따른 듀얼 포트 메모리(308)는 제1 메모리 인터페이스(314), 제2 메모리 인터페이스(316), 메모리 셀 어레이(318), 세마포 처리부(320) 및 데이터 직접 전달부(322)를 포함할 수 있다.
제1 메모리 인터페이스(314)는 제1 프로세서(300)에 연결되는 제1 포트(310)로부터 어드레스(ADDR1) 및 커맨드(CMD1)를 수신하여 소정 뱅크를 활성화하고, 뱅크에 포함되는 특정 메모리 셀의 워드 라인 및 비트 라인을 활성화하여 데이터(DATA1)의 기입(write) 및 독출(read)이 가능하도록 한다.
도 4는 제1 메모리 인터페이스의 상세 구성을 도시한 것으로서, 제1 메모리 인터페이스는 상태 머신(State Machine, 400), 어드레스 버퍼(402), 로우 프리 디코더(404), 칼럼 프리 디코더(406), X-디코더(408) 및 Y-디코더(410)를 포함할 수 있다.
상태 머신(400)은 제1 포트(310)로부터 클럭 및 커맨드를 수신하여 메모리 칩의 동작 상태를 결정하는 기능을 수행한다.
여기서 커맨드는 SDRAM 커맨드로서, 메모리 칩 선택을 위한 칩 선택 신호(Chip Select, /CS), DRAM 동작을 활성화하는 로우 스트로브 신호(Row Address Strobe, /RAS), 칼럼 어드레스의 인가를 알려주는 칼럼 스트로브 신호(Column Address Strobe, /CAS), 데이터의 기입 또는 독출을 결정하는 라이트 인에이블 신호(Write Enable, /WE) 등을 포함할 수 있다.
상태 머신(400)은 상기한 커맨드의 조합을 통해 로우 액티브 신호를 로우 프리 디코더(404)로 출력하며, 칼럼 액티브 신호를 칼럼 프리 디코더(406)로 출력한다.
한편 어드레스 버퍼(402)는 로우 어드레스 래치(402-1) 및 칼럼 어드레스 래치(402-2)를 포함하며, 제1 포트(310)로부터 수신된 n비트의 어드레스를 수신하여 소정 타이밍에 따라 로우 어드레스 및 칼럼 어드레스를 출력한다.
여기서 어드레스는 로우 어드레스(Row Address), 컬럼 어드레스(Column Address) 및 뱅크 어드레스(Bank Address, BA)를 포함할 수 있다. 뱅크 어드레스는 예를 들어 DRAM 메모리 어레이가 2개의 뱅크(bank)를 가지는 경우 1비트로 이루어질 수 있고, 4개의 뱅크를 가지는 경우 2비트로 이루어질 수 있다.
한편 본 발명에 따르면 각 프로세서(300,304)가 출력하는 어드레스는 데이터 직접 전달을 위한 선택 신호로서 사용될 수 있다. 이에 대해서는 하기에서 상세하게 설명한다.
로우 프리 디코더(404)는 로우 액티브 신호 입력 시 입력되는 로우 어드레스를 활성화된 뱅크에 상응하는 X-디코더(408)로 출력하며, X-디코더(408)는 해당 로우 어드레스에 해당하는 워드 라인을 활성화한다.
칼럼 프리 디코더(406)는 칼럼 액티브 신호 입력에 따라 칼럼 어드레스를 Y-디코더(410)로 출력한다. 이때, 칼럼 프리 디코더(406)는 버스트(burst) 기입 및 독출 모드에 따른 소정 카운팅 신호에 따라 시작 칼럼 어드레스부터 순차적으로 칼럼 어드레스를 출력할 수 있다.
Y-디코더(410)는 해당 칼럼 어드레스 상응하는 비트 라인을 활성화한다.
워드 라인 및 비트 라인의 활성화에 따라 메모리 셀 어레이(318)에 소정 데이터가 기입 또는 독출된다.
한편, 제2 메모리 인터페이스(316)는 제2 프로세서(304)에 대응하여 상기한 제1 메모리 인터페이스(314)와 동일한 구성을 가질 수 있다.
메모리 셀 어레이(318)는 클럭에 동기되어 동작하는 SDRAM의 단위 메모리 셀 구조를 가지고 제1 프로세서(300)가 전용하는 제1 메모리 영역(324), 각 프로세서가 공유하는 공유 메모리 영역(326) 및 제2 프로세서(304)가 전용하는 제2 메모리 영역(328)를 포함할 수 있다. 각 메모리 영역(324 내지 328) 각각은 소정 크기를 가지는 뱅크(bank) 단위로 형성될 수 있다. 또한 하나의 뱅크 내에서 소정 크기를 가지는 블록(block) 단위로 각각의 공유 메모리 영역이 구성될 수도 있다.
도 3에서는 듀얼 포트 메모리 시스템에서는 하나의 공유 메모리 영역(326)이 존재하는 것으로 도시하였으나, 이에 한정되지 않으며, 더 많은 수의 공유 메모리 영역이 마련될 수도 있다는 점은 당업자에게 있어 자명할 것이다.
또한, 상기에서는 본 발명에 따른 듀얼 포트 메모리에 2개의 프로세서가 연결되는 것으로 설명하였으나, 이에 한정되지 않으며 그 이상의 프로세서가 연결되는 경우에도 본 발명에 적용될 수 있을 것이다.
세마포 처리부(320)는 공유 메모리 영역(326)에 대한 상호 배타적 액세스를 제어한다.
세마포 처리부(320)는 각 프로세서에 대응하며, 권한 요청에 관한 데이터를 저장하는 세마포 요청 레지스터를 구비하고 있어 권한 획득을 위한 데이터(예를 들어, 논리값 ‘0’)를 각 프로세서(300,304)에 상응하는 세마포 요청 레지스터에 저장한다.
세마포 처리부(320)는 권한 획득을 위한 데이터가 세마포 요청 레지스터에 저장된 경우, 제1 프로세서가 요청한 공유 메모리 영역의 사용 여부에 관한 정보를 세마포 레지스터에 기입한다.
여기서, 공유 메모리 영역(326)에 액세스가 가능한 경우에는 세마포 레지스터에 논리값 ‘0’이, 액세스가 불가능한 경우에는 논리값 ‘1’이 저장될 수 있다.
발명의 바람직한 일 실시예에 따르면, 개별 포트(310,312)에 연결되는 제1 프로세서(300) 및 제2 프로세서(304) 각각은 데이터 직접 전달부(322)를 통해 세마포 처리부(320)로부터의 권한 획득 없이 상대 프로세서에 데이터를 직접 전달할 수 있다.
본 발명에 따른 데이터 직접 전달부(322)는 FIFO(First-In First-Out: 선입선출) 방식으로 세마포 처리부(320)로부터의 권한 획득 없이 데이터의 전달 과정을 수행할 수 있다.
본 발명에 따른 데이터 직접 전달부(322)는 도 4에 도시된 바와 같이 제1 프로세서에 상응하는 제1 FIFO 신호 생성부(FIFO Signal Generator, 420)와 FIFO 처 리부(422)을 포함할 수 있다.
도 4에 도시된 바와 같이, 듀얼 포트 메모리(308)가 DRAM 메모리 셀 구조를 갖는 경우, 제1 FIFO 신호 생성부(420)는 칩 선택을 위한 /CS, 워드 라인 활성화를 위한 /RAS, 비트 라인 활성화를 위한 /CAS 및 데이터의 기입 또는 독출을 제어하는 /WE를 포함하는 SDRAM 커맨드를 선입선출 방식으로 데이터를 기입 또는 독출할 수 있도록 하는 인에이블 신호(In Enable1 또는 Out Enable1)로 변환하는 과정을 수행한다.
여기서 제1 FIFO 신호 생성부(420)는 n-입력 논리 게이트로 구성될 수 있으며, 논리 게이트를 SDRAM 커맨드에 포함되는 각 신호를 선입선출 방식으로 데이터의 입출력이 가능하도록 하는 신호로 변환 출력한다.
본 발명에 따르면, 제1 FIFO 신호 생성부(420)는 소정 선택 신호에 따라 상기한 SDRAM 커맨드를 FIFO 신호로 변환하는 과정을 수행한다.
여기서 소정 선택 신호는 로우 어드레스 래치(402-1) 및 칼럼 어드레스 래치(402-2)에서 출력하는 어드레스 신호일 수 있다.
본 발명에 따르면, 하나의 프로세서가 상대 프로세서에 데이터를 직접 전달하는 경우에 프로세서가 출력하는 어드레스 신호에는 FIFO 처리부(422)를 식별할 수 있는 어드레스가 포함될 수 있다.
일반적으로 공유 메모리 영역(326) 최상위 로우 어드레스가 세마포 처리부(320)의 어드레스로 할당된다는 점에서 FIFO 처리부(422)의 어드레스는 공유 메모리 영역(326)에 대한 상위 로우 어드레스(예를 들어, 최상위 로우 어드레스의 다 음 비트)로 할당될 수 있다.
한편, 본 발명에 따르면 하나의 프로세서는 FIFO 처리부(422)를 통해 상대 프로세서에 전달할 데이터를 기입할 수 있으며, 이와 달리 상대 프로세서가 FIFO 처리부(422)에 기입한 데이터를 독출할 수 있다.
이와 같은 기입 및 독출 동작은 독립적인 FIFO부(도 5의 제1 FIFO부(500) 및 제2 FIFO부(504))를 통해 수행될 수 있는데 칼럼 어드레스 래치부(402-2)에서 출력하는 칼럼 어드레스 신호가 FIFO부를 구분하기 위한 신호로서 사용될 수 있다.
이에 따라 제1 FIFO 신호 생성부(420)는 로우 어드레스 래치부(402-1) 및 칼럼 어드레스 래치부(402-2)에서 어드레스를 수신하고, 수신된 어드레스에 FIFO 처리부(422)에 관련된 어드레스가 포함된 경우에만 FIFO 신호 생성 과정을 수행한다.
상기에서는 제1 프로세서(300)에 상응하는 제1 FIFO 신호 생성부(420)만을 설명하였으나 본 발명에 따르면 제2 프로세서(304)가 제1 프로세서(300)가 전달하는 데이터를 독출하거나 또는 제1 프로세서(300)에 전달하기 위한 데이터를 기입하기 위한 제2 FIFO 생성부가 별개로 제공될 수 있을 것이다.
한편, FIFO 처리부(422)는 제1 FIFO 신호 생성부(420)에서 출력하는 인에이블 신호에 따라 데이터의 기입 또는 독출 과정을 수행한다.
도 5는 본 발명에 따른 FIFO 처리부의 상세 구성을 도시한 도면이다.
도 5에 도시된 바와 같이, 본 발명에 따른 FIFO 처리부는 제1 FIFO부(500), 인터럽트 컨트롤러(502) 및 제2 FIFO부(504)를 포함할 수 있다.
하기에서는 제1 프로세서(300)가 제2 프로세서(304)로 데이터를 전달하는 경 우와 제2 프로세서(304)로부터 데이터를 전달받는 경우에 도 4의 제1 FIFO 신호 생성부(420)에서 출력하는 신호에 따라 FIFO 처리부(422)가 수행하는 동작을 중심으로 설명할 것이다.
본 발명에 따르면 제1 프로세서(300)가 제2 프로세서(304)로 소정 데이터를 전달하고자 하는 경우 제1 FIFO 신호 생성부(420)는 제1 프로세서(300)의 SDRAM 커맨드(CMD1)을 변환하여 제1 입력 인에이블 신호(In Enable1)를 생성한다.
제1 FIFO부(500)는 상기한 제1 입력 인에이블 신호(In Enable1)에 의해 활성화되며, 입력되는 클럭(Clock)에 따라 제1 프로세서(300)가 제2 프로세서(304)에 전달하고자 하는 데이터(DATA1)를 일정한 위치의 레지스터에 기입한다.
제1 FIFO부(500)는 새로운 데이터가 입력되는 경우(기입 모드 시)에 기존의 데이터들의 인덱스(index)를 순차적으로 증가시켜 옮겨지게 하는 시프트 레지스터로 구현될 수 있다.
한편, 상기한 제1 입력 인에이블 신호는 제1 FIFO부(500)뿐만 아니라 인터럽트 컨트롤러(502)에 입력될 수 있다.
이러한 경우 인터럽트 컨트롤러(502)는 제2 프로세서(304) 측으로 제1 인터럽트 신호(Interrupt1)을 출력한다.
제2 프로세서(304)는 제1 인터럽트 신호를 수신하는 경우, FIFO 처리부(422)에 액세스 하기 위한 SDRAM 커맨드(CMD2) 및 어드레스(ADDR2)를 출력한다.
제2 프로세서(304)에 상응하는 제2 FIFO 신호 생성부(미도시)는 상기한 SDRAM 커맨드를 제2 출력 인에이블 신호(Out Enable2)로 변환하여 출력한다.
여기서 제2 출력 인에이블 신호(Out Enable2)는 제1 FIFO부(500)에 미리 기입된 데이터를 독출하기 위한 제어 신호에 해당한다.
제1 FIFO부(500)는 제2 출력 인에이블 신호(Out Enable2)에 의해 활성화되며, 입력되는 클럭(Clock)에 따라 이전에 레지스터에 기입된 데이터(Out DATA1)를 인덱스가 높은 순으로 순차적으로 출력한다.
본 발명에 따르면 FIFO부를 통한 데이터 입출력 시 각 프로세서가 세마포 처리부(320)의 권한 획득을 필요로 하지 않기 때문에 시스템 성능이 개선될 수 있다.
한편 본 발명에 따른 제1 FIFO부(500)는 데이터 기입 또는 독출 시에 제1 FIFO부(500)의 상태 정보, 예를 들어 제1 FIFO부(500)가 데이터를 저장할 수 있는 잔여 용량에 관한 정보인 공백 상태(empty) 내지 포화 상태(full)에 관한 정보, 기입되는 데이터가 제1 프로세서(300)에서 전달된 데이터라는 정보 등을 인터럽트 컨트롤러(502)로 출력한다.
인터럽트 컨트롤러(502)는 상기한 제1 입력 인에이블 신호(In Enable1)에 따라 제2 프로세서(304) 측으로 제1 인터럽트 신호(Interrupt1)를 출력하는 것과 동시에 제1 FIFO부(500)에서 수신된 상태 정보가 미리 설정된 정보에 해당하는 경우 제1 프로세서(300) 또는 제2 프로세서(304) 측으로 인터럽트 신호를 출력할 수 있다.
예를 들어, 제1 프로세서(300)가 제2 프로세서(304)로 데이터를 전달하는 경우, 인터럽트 컨트롤러(502)는 제1 FIFO부(500)에서 출력하는 상태 정보를 통해 제1 FIFO부(500)가 포화 상태에 도달했는지 여부를 판단하며, 만일 포화 상태에 도달 한 경우에는 제1 프로세서(300)로 인터럽트 신호(Interrupt1’)를 출력한다.
상기한 인터럽트 신호(Interrupt1’)에 따라 제1 프로세서(300)는 인터럽트 컨트롤러(502)에 액세스 하여 제1 FIFO부(500)의 상태를 확인할 수 있으며 제1 FIFO부(500)가 공백 상태에 도달하기까지 제2 프로세서(304)로 전달하기 위한 데이터의 전송을 중지할 수 있다.
또한 인터럽트 컨트롤러(502)는 제2 프로세서(304)가 제1 FIFO부(500)로부터 데이터를 독출하는 경우에 제1 FIFO부(500)가 공백 상태에 도달했는지 여부를 판단하며, 만일 공백 상태에 도달한 경우에는 제2 프로세서(304)로 인터럽트 신호(Interrupt2’)를 출력한다.
상기한 인터럽트 신호(Interrupt2’)에 따라 제2 프로세서(304)는 인터럽트 컨트롤러(502)에 액세스 하여 제1 FIFO부(500)의 상태를 확인할 수 있으며 제1 FIFO부(500)로의 액세스 과정을 중지할 수 있다.
본 발명에 따르면 제1 및 제2 프로세서(300,304)는 SDRAM 커맨드(CMD1’,CMD2’) 및 어드레스(ADDR1’,ADDR2’)를 통해 인터럽트 컨트롤러(502)에 액세스할 수 있다.
인터럽트 컨트롤러(502)에의 액세스를 통해 제1 및 제2 프로세서(300,304)는 제1 FIFO부(500)의 현재 상태를 확인할 수 있다.
또한 제1 및 제2 프로세서(300,304)는 인터럽트 마스킹(masking)을 위한 마스크 비트를 설정할 수 있다.
제1 입력 인에이블 신호(In Enable1)에 따라 제1 FIFO부(500)에 제1 프로세 서(300)가 전달하는 데이터가 기입되는 경우에 인터럽트 컨트롤러(502)는 제2 프로세서(304) 측으로 제1 인터럽트 신호(Interrupt1)을 출력한다. 그러나 제2 프로세서(304)가 상기한 데이터를 독출하도록 하는 제2 출력 인에이블 신호(Out Enable2)가 수신되는 경우 이에 상응하는 인터럽트 신호가 제1 프로세서(300) 측으로 출력되는 것을 요구하지 않는다.
이를 위해 인터럽트 컨트롤러(502)에는 제2 출력 인에이블 신호의 수신 시 제1 프로세서(300) 측으로 인터럽트 신호가 출력되지 않도록 하는 마스크 비트가 설정되어 있을 수 있으며 마스크 비트의 설정은 제1 프로세서(300) 또는 제2 프로세서(304)의 요청에 따라 이루어질 수 있다.
상기에서 제1 FIFO부(500)는 제1 프로세서(300)의 요청에 따라 데이터를 기입하고, 제2 프로세서(304)의 요청에 따라 데이터를 독출한다.
이와 달리 본 발명에 따른 제2 FIFO부(504)는 제2 프로세서(304)의 요청에 따라 데이터를 기입하고, 제1 프로세서(300)의 요청에 따라 데이터를 독출한다.
제2 프로세서(304)가 제1 프로세서(300)에 데이터를 전달하고자 하는 경우 제2 FIFO 신호 생성부는 제2 프로세서(304)의 SDRAM 커맨드(CMD2)를 제2 입력 인에이블 신호(In Enable2)로 변환하여 출력한다.
제2 FIFO부(504)는 제2 입력 인에이블 신호에 따라 활성화되며, 클럭 신호에 따라 제2 프로세서(304)로부터 전달되는 데이터(DATA2)를 순차적으로 기입한다.
제2 입력 인에이블 신호를 통해 인터럽트 컨트롤러(502)는 제1 프로세서 측으로 제2 인터럽트 신호(Interrupt2)를 출력한다. 이후 제1 프로세서(300)가 제2 FIFO부(504)에 액세스하고자 SDRAM 커맨드 및 어드레스를 출력하는 경우, 제1 FIFO 신호 생성부(420)는 상기한 커맨드 및 어드레스를 이용하여 제1 출력 인에이블 신호(Out Enable1)를 생성한다.
제1 출력 인에이블 신호(Out Enable1)에 따라 제2 FIFO부(504)는 이전에 기입된 순서대로 데이터(DATA2)를 출력한다.
이때, 제2 FIFO부(504)도 데이터의 기입 및 독출 시 제2 FIFO부(504)의 상태 정보를 인터럽트 컨트롤러(502)로 출력할 수 있으며, 인터럽트 컨트롤러(502)는 미리 설정된 정보에 따라 제1 프로세서(300) 또는 제2 프로세서(304) 측으로 인터럽트 신호(Interrupt1’, Interrupt2’)를 출력한다.
상기한 바와 같이 인터럽트 컨트롤러(502)는 제1 FIFO부(500) 및 제2 FIFO부(504)와 연동하여 인터럽트 신호의 출력을 제어한다.
도 6은 본 발명에 따른 인터럽트 컨트롤러의 상세 구성을 도시한 도면이다.
도 6에 도시된 바와 같이, 본 발명에 따른 인터럽트 컨트롤러는 인터럽트 제어부(600), 제1 및 제2 인터럽트 컨트롤러(602,603), 제1 및 제2 마스크 레지스터(604,605), 제1 및 제2 상태 레지스터(606,607) 및 제1 및 제2 인터럽트 신호 출력부(608,609)를 포함할 수 있다.
인터럽트 제어부(600)는 소정의 연산 처리를 통해 제1 FIFO부(500) 및 제2 FIFO부(504)로부터 수신되는 상태 정보 중 소정 상태 정보의 저장 및 상태 정보 저장에 따른 제1 및 제2 프로세서(300,304)로의 인터럽트 신호 출력을 제어한다.
또한 인터럽트 제어부(600)는 제1 및 제2 FIFO부(500,504)를 활성화하기 위 한 입출력 인에이블 신호를 수신하여 제1 및 제2 프로세서(300,304)로의 인터럽트 신호 출력을 제어한다.
제1 인터럽트 레지스터(602)는 제1 FIFO부(500)에 입력되는 입출력 인에이블 신호 또는 데이터의 기입/독출에 따라 제1 FIFO부(500)에서 출력하는 상태 정보를 저장한다. 즉, 제1 인터럽트 레지스터(602)는 입출력 인에이블 신호의 입력 또는 상태 정보 입력에 따라 검출된 전압 변동값을 저장한다.
제2 인터럽트 레지스터(603)는 제2 FIFO부(504)에 대응하는 것으로서, 제2 FIFO부(504)에 입력되는 입출력 인에이블 신호 또는 데이터의 기입/독출에 따라 제2 FIFO부(504)에서 출력하는 상태 정보를 저장한다.
제1 마스크 레지스터(604)는 제1 FIFO부(500)로의 외부 입력(입출력 인에이블 신호 또는 상태 정보 입력)에 따른 인터럽트의 발생을 허용 또는 저지하기 위한 마스크 비트가 저장된다.
예를 들어, 제1 마스크 레지스터(604)는 제1 FIFO부(500)로의 제1 입력 인에이블 신호(In Enable1)에 대해 마스크 비트의 논리값이 ‘1’ 로, 제2 출력 인에이블 신호(Out Enable2)에 대해 마스크 비트의 논리값이 ‘0’로 저장되어 있을 수 있다.
이러한 경우, 인터럽트 제어부(600)는 제1 입력 인에이블 신호(In Enable1)가 수신되는 경우에는 제1 마스크 레지스터(604)에 저장된 마스크 비트에 따라 제2 프로세서(304) 측으로 제1 인터럽트 신호가 출력되도록 한다. 반면 제2 출력 인에이블 신호(Out Enable2)가 수신되는 경우, 인터럽트 제어부(600)는 제1 마스크 레 지스터(604)의 마스크 비트에 따라 제1 프로세서(300) 측으로 인터럽트 신호가 출력되지 않도록 한다.
제2 마스크 레지스터(605)는 제2 FIFO부(504)로의 외부 입력(입출력 인에이블 신호 또는 상태 정보 입력)에 따른 인터럽트의 발생을 허용 또는 저지하기 위한 마스크 비트가 저장된다.
한편, 제1 상태 레지스터(606)는 제1 FIFO부(500)에서 제공하는 상태 정보를 저장하며, 제2 상태 레지스터(607)는 제2 FIFO부(504)에서 제공하는 상태 정보를 저장한다.
상기한 바와 같이, 제1 및 제2 FIFO부(500,504)의 상태 정보는 공백 상태 및 포화 상태, 기타 FIFO부의 잔여 용량에 관한 정보일 수 있으며, 인터럽트 제어부(600)는 미리 설정된 정보에 따라 제1 및 제2 상태 레지스터(606,607)에 제1 및 제2 FIFO부(500,504)의 상태 정보를 저장한다.
상기한 상태 정보에 따라 제1 및 제2 프로세서(300,304)로 데이터의 기입 또는 독출을 개시하도록 하는 인터럽트 신호가 출력될 수 있는데, 이를 위해 제1 및 제2 상태 레지스터(606,607)에는 잔여 용량의 공백 상태 또는 포화 상태에 관한 정보만이 저장될 수 있다.
제1 인터럽트 신호 출력부(608)는 인터럽트 제어부(600)의 연산 처리 결과에 따라 제1 프로세서(300) 측으로 인터럽트 신호를 출력한다.
제1 인터럽트 신호 출력부(608)는 제2 프로세서(304)에서 데이터를 전달하고자 하는 경우 또는 제1 프로세서(300)가 데이터를 전달하는 경우에 제1 FIFO 부(500)가 포화 상태가 되는 경우에 제1 프로세서(300) 측으로 인터럽트 신호를 출력할 수 있다.
제2 인터럽트 신호 출력부(609)는 인터럽트 제어부(600)의 연산 처리 결과에 따라 제2 프로세서(304) 측으로 인터럽트 신호를 출력한다.
제2 인터럽트 신호 출력부(609)는 제1 프로세서(300)에서 데이터를 전달하고자 하는 경우 또는 제2 프로세서(304)가 데이터를 전달하는 경우에 제2 FIFO부(504)가 포화 상태가 되는 경우에 제2 프로세서(304) 측으로 인터럽트 신호를 출력할 수 있다.
도 7은 본 발명에 따른 데이터 직접 전달 처리 과정을 도시한 순서도이다.
도 7은 제1 프로세서(300)가 제2 프로세서(304)로 데이터를 직접 전달하는 과정을 도시한 것이다.
도 7을 참조하면, 듀얼 포트 메모리(308)의 제1 메모리 인터페이스(314) 제1 프로세서(300)로부터 SDRAM 커맨드, 어드레스 및 데이터를 수신한다(단계 700).
제1 메모리 인터페이스(314)는 수신된 어드레스를 로우 어드레스 및 칼럼 어드레스로 래치한다(단계 702).
FIFO 신호 생성부(420)는 로우 어드레스 및 칼럼 어드레스에 FIFO 처리부(422)에 상응하는 어드레스가 존재하는지를 판단하여(단계 704), FIFO 처리부(422)에 상응하는 어드레스가 포함되는 경우 수신된 SDRAM 커맨드를 FIFO 신호(입력 인에이블 신호)로 변환하는 과정을 수행한다(단계 706).
만일 로우 어드레스 및 칼럼 어드레스에 FIFO 처리부(422)의 어드레스가 포 함되지 않은 경우에 제1 메모리 인터페이스(314)는 DRAM 셀 어레이(318)에 액세스하는 과정을 수행한다(단계 705).
FIFO 신호 생성부(420)는 생성된 입력 인에이블 신호를 FIFO 처리부(422)로 출력한다(단계 708).
상기한 입력 인에이블 신호에 따라 제1 프로세서(300)가 전달하는 데이터가 FIFO 처리부(422)의 제1 FIFO부(500)에 순차적으로 기입된다(단계 710).
한편, 제1 FIFO부(500)에 입력 인에이블 신호가 입력되는 것과 동시에 인터럽트 컨트롤러(502)는 제2 프로세서(304) 측으로 인터럽트 신호를 출력한다(단계 712).
상기한 인터럽트 신호에 따라 제2 프로세서(304)는 세마포 처리부(320)로부터의 권한 획득 없이 SDRAM 커맨드 및 어드레스를 출력하며, 듀얼 포트 메모리(308)는 제2 프로세서(304)로부터 SDRAM 커맨드 및 어드레스를 수신한다(단계 714).
이후, 듀얼 포트 메모리(308)는 단계 702 내지 706 단계를 수행하며, SDRAM 커맨드가 변환된 FIFO 신호(출력 인에이블 신호)를 통해 제1 FIFO부(500)에 기입된 독출하는 과정을 수행한다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 따르면 듀얼 포트 메모리에 연결되는 프로세서 사이에 권한 획득 없이 데이터를 전달할 수 있어 프로세서의 듀얼 포트 메모리 점유 시간을 감소시킬 수 있는 장점이 있다.

Claims (15)

  1. 공유 메모리 영역을 갖는 메모리 셀 어레이;
    제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 커맨드에 기초하여 상기 공유 메모리 영역에 대해 데이터의 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스;
    제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 커맨드에 기초하여 상기 공유 메모리 영역에 대해 데이터의 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스; 및
    상기 제1 포트를 통해 제공된 제1 커맨드를 제1 FIFO신호로 변환하고, 상기 변환된 제1 FIFO 신호에 기초하여 상기 제1 프로세서에서 전달된 데이터를 선입선출 방식으로 상기 제2 프로세서로 전달하는 데이터 직접 전달부를 포함하는 듀얼 포트 메모리.
  2. 제1항에 있어서,
    상기 메모리 셀 어레이는 클럭에 동기되어 데이터를 기입 또는 독출하는 SDRAM 단위 메모리 셀을 포함하며, 상기 제1 커맨드는 SDRAM 커맨드인 듀얼 포트 메모리.
  3. 제2항에 있어서,
    상기 데이터 직접 전달부는,
    상기 SDRAM 커맨드의 조합으로 상기 제1 FIFO 신호를 생성하는 제1 FIFO 신호 생성부; 및
    상기 제1 FIFO 신호에 기초하여 제2 프로세서에 직접 전달하기 위한 데이터를 기입 또는 독출하는 FIFO 처리부를 포함하는 듀얼 포트 메모리.
  4. 제3항에 있어서,
    상기 제1 FIFO 신호 생성부는 상기 제1 포트를 통해 제공된 어드레스를 선택 신호로 하여 상기 제1 커맨드의 변환을 수행하는 듀얼 포트 메모리.
  5. 제3항에 있어서,
    상기 제1 메모리 인터페이스는,
    상기 제1 포트를 통해 제공된 로우 어드레스를 래치하는 로우 어드레스 래치부; 및
    상기 제1 포트를 통해 제공된 칼럼 어드레스를 래치하는 칼럼 어드레스 래치부를 포함하되,
    상기 제1 FIFO 신호 생성부는 상기 로우 어드레스 래치부 및 상기 칼럼 어드레스 래치부 중 적어도 하나에서 출력되는 신호를 선택 신호로 하여 제1 FIFO 신호를 출력하는 듀얼 포트 메모리.
  6. 제5항에 있어서,
    상기 로우 어드레스 래치부는 상기 FIFO 처리부를 식별하는 어드레스를 출력하며,
    상기 칼럼 어드레스 래치부는 상기 데이터의 기입 또는 독출을 식별하는 어드레스를 출력하는 듀얼 포트 메모리.
  7. 제6항에 있어서,
    상기 FIFO 처리부는,
    상기 제1 FIFO 신호를 입력 인에이블 신호로 하여 상기 제1 프로세서가 전달하는 데이터를 순차적으로 기입하는 제1 FIFO부; 및
    상기 입력 인에이블 신호에 따라 상기 제2 프로세서 측으로 인터럽트 신호를 출력하는 인터럽트 컨트롤러를 포함하는 듀얼 포트 메모리.
  8. 제7항에 있어서,
    상기 제2 프로세서로부터 SDRAM 커맨드 및 어드레스를 수신하여 제2 FIFO 신호로 변환하는 제2 FIFO 신호 생성부를 더 포함하되,
    상기 제1 FIFO부는 상기 제2 FIFO 신호를 출력 인에이블 신호로 하여 상기 기입된 데이터를 기입된 순서대로 독출하는 듀얼 포트 메모리.
  9. 제7항에 있어서,
    상기 인터럽트 컨트롤러는 상기 제1 FIFO부로부터 데이터의 기입 또는 독출 모드 시 상기 제1 FIFO부의 상태 정보를 수신하여 저장하는 듀얼 포트 메모리.
  10. 제9항에 있어서,
    상기 인터럽트 컨트롤러는 상기 수신된 상태 정보가 미리 설정된 정보인 경우 상기 제1 프로세서 또는 제2 프로세서 측으로 인터럽트 신호를 출력하는 듀얼 포트 메모리.
  11. 제1항에 있어서,
    상기 데이터 직접 전달부는 상기 제2 포트를 통해 제공된 제2 커맨드를 제2 FIFO신호로 변환하고, 상기 변환된 제2 FIFO 신호에 기초하여 상기 제2 프로세서에서 전달된 데이터를 선입선출 방식으로 상기 제1 프로세서로 전달하는 듀얼 포트 메모리.
  12. 제1 프로세서;
    제2 프로세서; 및
    공유 메모리 영역을 갖는 메모리 셀 어레이, 제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 커맨드에 기초하여 상기 공유 메모리 영역에 대해 데이터의 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스, 제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 커맨드에 기초하여 상기 공유 메모리 영역에 대해 데이터의 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스 및 상기 제1 포트를 통해 제공된 제1 커맨드를 제1 FIFO신호로 변환하고, 상기 변환된 제1 FIFO 신호에 기초하여 상기 제1 프로세서에서 전달된 데이터를 선입선출 방식으로 상기 제2 프로세서로 전달하는 데이터 직접 전달부로 구성되는 듀얼 포트 메모리를 포함하는 듀얼 포트 메모리 시스템.
  13. 듀얼 포트 메모리에서 제1 프로세서 및 제2 프로세서간에 데이터를 직접 전달하는 방법에 있어서,
    (a) 상기 제1 프로세서로부터 데이터 직접 전달을 위한 제1 커맨드 및 어드레스를 수신하는 단계;
    (b) 상기 어드레스를 선택 신호로 하여 제1 프로세서로부터 수신된 제1 커맨드를 FIFO 신호로 변환하는 단계; 및
    (c) 상기 변환된 FIFO에 기초하여 상기 제1 프로세서에서 상기 제2 프로세서에 직접 전달하기 위한 데이터를 소정 메모리 영역에 기입하는 단계를 포함하는 데이터 직접 전달 방법.
  14. 제13항에 있어서,
    상기 (b) 단계는 SDRAM 커맨드를 입력 인에이블 신호로 변환하는 단계를 포함하는 데이터 직접 전달 방법.
  15. 제14항에 있어서,
    상기 입력 인에이블 신호에 따라 데이터가 순차적으로 기입되는 경우 이에 상응하는 인터럽트 신호를 상기 제2 프로세서 측으로 출력하는 단계를 더 포함하는 데이터 직접 전달 방법.
KR1020070041294A 2007-04-27 2007-04-27 Fifo를 이용하여 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리 및 메모리 시스템 KR100879567B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070041294A KR100879567B1 (ko) 2007-04-27 2007-04-27 Fifo를 이용하여 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리 및 메모리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070041294A KR100879567B1 (ko) 2007-04-27 2007-04-27 Fifo를 이용하여 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리 및 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20080096174A true KR20080096174A (ko) 2008-10-30
KR100879567B1 KR100879567B1 (ko) 2009-01-22

Family

ID=40155592

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070041294A KR100879567B1 (ko) 2007-04-27 2007-04-27 Fifo를 이용하여 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리 및 메모리 시스템

Country Status (1)

Country Link
KR (1) KR100879567B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100326156B1 (ko) 1995-04-13 2002-06-29 윤종용 듀얼프로세서간인터페이스장치
KR19990071122A (ko) * 1998-02-27 1999-09-15 이종수 다중 프로세서 회로
KR20000046810A (ko) * 1998-12-31 2000-07-25 김영환 선입선출 메모리를 이용한 데이터 전송장치
JP2003330901A (ja) 2002-05-16 2003-11-21 Yaskawa Electric Corp マルチプロセッサシステム

Also Published As

Publication number Publication date
KR100879567B1 (ko) 2009-01-22

Similar Documents

Publication Publication Date Title
US7411859B2 (en) Multi-port memory device for buffering between hosts
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
US20140344512A1 (en) Data Processing Apparatus and Memory Apparatus
US10838662B2 (en) Memory system and method of operating the same
JP4560498B2 (ja) 共有メモリ装置のための仲裁スキーム
KR100877972B1 (ko) 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리및 데이터 직접 전달 방법
KR101110550B1 (ko) 프로세서 장치, 멀티 프로세서 시스템 및 멀티 프로세서 시스템의 공유메모리 접근 방법
KR100874169B1 (ko) 프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및이를 수행하기 위한 방법
KR102700109B1 (ko) 적응형 메모리 액세스 관리
KR100879567B1 (ko) Fifo를 이용하여 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리 및 메모리 시스템
US7057966B2 (en) Semiconductor memory device for reducing current consumption in operation
KR100886179B1 (ko) 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치
US20070143534A1 (en) Nonvolatile-memory-access control apparatus and nonvolatile-memory control system
KR100872196B1 (ko) 메모리 시스템 및 듀얼 포트 메모리의 접근 제어 방법
KR101064878B1 (ko) 복수의 프로세서에 의한 메모리 공유 방법 및 메모리 공유구조를 가지는 휴대형 단말기
KR100863541B1 (ko) 동기 제어 장치를 가지는 듀얼 포트 메모리, 동기 제어장치를 가지는 듀얼 포트 메모리 시스템 및 듀얼 포트메모리 시스템의 동기 제어 방법
CN107025190B (zh) 系统及其操作方法
KR100827720B1 (ko) 접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의접근 제어 방법
KR100867603B1 (ko) 공통 신호 라인을 갖는 듀얼 포트 메모리 시스템
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
KR100813133B1 (ko) 듀얼 포트 메모리 장치, 이를 가지는 메모리 시스템 및듀얼 포트 메모리 장치의 공유 메모리 영역의 적응적사용방법
US20070094460A1 (en) DRAM control circuit
US6766403B2 (en) CPU system with high-speed peripheral LSI circuit
KR100851849B1 (ko) 휴대용 단말기 및 그것의 데이터 기입 및 독출 방법
CN111556994B (zh) 命令控制系统、车辆、命令控制方法及非瞬态计算机可读介质

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: 20130111

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171221

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191223

Year of fee payment: 12