KR100886179B1 - 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치 - Google Patents

듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치 Download PDF

Info

Publication number
KR100886179B1
KR100886179B1 KR1020070011137A KR20070011137A KR100886179B1 KR 100886179 B1 KR100886179 B1 KR 100886179B1 KR 1020070011137 A KR1020070011137 A KR 1020070011137A KR 20070011137 A KR20070011137 A KR 20070011137A KR 100886179 B1 KR100886179 B1 KR 100886179B1
Authority
KR
South Korea
Prior art keywords
processor
shared memory
authority
acquisition
signal
Prior art date
Application number
KR1020070011137A
Other languages
English (en)
Other versions
KR20080072411A (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 KR1020070011137A priority Critical patent/KR100886179B1/ko
Publication of KR20080072411A publication Critical patent/KR20080072411A/ko
Application granted granted Critical
Publication of KR100886179B1 publication Critical patent/KR100886179B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

본 발명은 듀얼 포트 메모리로의 권한 획득 처리 방법 및 이를 위한 장치에 관한 것이다. 본 발명에 따르면, 공유 메모리 영역을 포함하는 듀얼 포트 메모리와 상기 듀얼 포트 메모리 중 하나의 포트에 연결되는 프로세서에 연결되는 권한 획득 제어기에서 상기 공유 메모리 영역에 대한 권한 획득을 처리하는 방법에 있어서, 상기 프로세서로부터 상기 공유 메모리 영역에 대한 권한 요청 신호를 수신하는 단계 상기 공유 메모리 영역에 대한 권한 획득을 위한 어드레스, 제어신호 및 데이터를 생성하는 단계 상기 듀얼 포트 메모리의 세마포 처리부로부터 제공된 상기 공유 메모리 영역의 액세스 가능 여부를 나타내는 정보에 응답하여 상기 프로세서로 권한 획득 신호를 출력하는 단계를 포함하는 것을 특징으로 하는 권한 획득 처리 방법이 제공된다. 본 발명에 따르면, 권한 획득을 전담하는 제어기를 따로 둠으로써 권한 획득 처리를 효율적으로 수행할 수 있다.
듀얼 포트, 메모리, DRAM, 액세스, 권한, 획득, 제어기

Description

듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를 위한 장치{Method for Handling Access Right Acquisition in Dual Port Memory and Apparatus therefore}
도 1은 종래기술에 따른 제1 및 제2 프로세서와 듀얼 포트 SDRAM의 연결 상태를 나타낸 블록도.
도 2는 종래기술에 따른 프로세서의 권한 획득 처리 과정의 일 예를 나타낸 순서도.
도 3은 종래기술에 따른 프로세서의 권한 획득 처리 과정의 다른 예를 나타낸 순서도.
도 4는 본 발명의 바람직한 일 실시예에 따른 듀얼 포트 메모리 시스템의 블록도.
도 5는 본 발명의 제1 실시예에 따른 듀얼 포트 메모리에 포함된 권한 획득 제어기를 도시한 블록도.
도 6은 본 발명에 따른 권한 획득 제어기의 상세 구성을 도시한 블록도.
도 7은 본 발명의 제2 실시예에 따른 각 프로세서 장치에 포함된 권한 획득 제어기를 도시한 블록도.
도 8은 본 발명에 따른 권한 획득 처리 과정을 도시한 순서도.
도 9는 본 발명의 제3 실시예에 따른 듀얼 포트 메모리에 포함된 권한 획득 제어기를 도시한 블록도.
도 10은 본 발명의 제4 실시예에 따른 각 프로세서 장치에 포함된 권한 획득 제어기를 도시한 블록도.
본 발명은 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를 위한 장치에 관한 것으로서, 보다 상세하게는 각 프로세서가 듀얼 포트 메모리의 공유 메모리 영역을 사용하기 위한 권한 획득을 효율적으로 처리하는 방법 및 장치에 관한 것이다.
최근 들어 휴대폰 및 PDA(Personal Digital Assistant) 등과 같은 휴대용 단말기는 음성통화와 같은 이동통신 기능 이외에도 디지털 카메라, 화상전화, 멀티미디어 데이터의 재생 등과 같은 다양한 부가기능을 포함하고 있다.
휴대용 단말기는 상기와 같은 이동 통신 본래의 기능을 처리하는 모뎀 프로세서와 다양한 응용프로그램을 처리하기 위한 응용 프로세서가 구비된다.
또한, 일반적으로 두 개의 프로세서를 가지는 휴대용 단말기에서는 두 개의 프로세서간의 데이터 송수신을 고속으로 수행함으로써 시스템의 처리 성능을 향상 시키고, 메모리의 실장 면적을 줄이기 위해 듀얼 포트 메모리(dual port memory, 특히 듀얼 포트 SDRAM)가 사용된다.
즉, 두 개의 프로세서가 듀얼 포트 메모리를 사용하게 되면 각각의 프로세서가 자신의 포트를 사용하여 공유 메모리 영역에 접근하여 데이터를 읽고 쓸 수 있기 때문에 두 개의 프로세서가 각각 서로 다른 메모리에 연결되어 호스트 프로세서간 인터페이스(Host Porcessor Interface: HPI)를 통해 처리 데이터를 송수신 하는 경우보다 데이터의 전송 및 처리 속도가 더 빠르고 이로 인해 시스템의 전체적인 성능이 향상된다.
도 1은 종래기술에 따른 제1 및 제2 프로세서와 듀얼 포트 SDRAM의 연결 상태를 나타낸 블록도이다.
도 1을 참조하면, 각 프로세서(100,104)는 각 외부 버스 인터페이스(102,106)를 통해 듀얼 포트 SDRAM(Synchronous Dynamic Random Access Memory, 108)에 연결된다.
듀얼 포트 SDRAM(108)은 두 개의 프로세서가 각각 독립적으로 기입(write) 또는 독출(read) 작업을 수행하는 전용 메모리 영역과 두 개의 프로세서가 공동으로 액세스(access)하여 기입 또는 독출 작업을 수행하는 공유 메모리 영역을 포함한다.
각 프로세서(100,104)는 공유 메모리 영역에 액세스하고자 하는 경우, 듀얼 포트 SDRAM(108)로부터 권한을 획득한 후에 공유 메모리 영역에 액세스한다.
듀얼 포트 SDRAM(108)는 공유 메모리 영역에 대한 각 프로세서의 상호 배타 적(mutual exclusive) 액세스를 보장하고 각 프로세서간의 동기화된 작업을 보장하기 위해 세마포 처리부(semaphore, 110)를 이용한다.
세마포 처리부(110)는 소정의 공유 메모리 영역에 대한 액세스 가능 여부(권한 획득 여부)를 소정의 공유 메모리 영역의 현재의 상태에 따라 이진 논리값(예를 들면, '0' 또는 '1')을 이용하여 각 프로세서(100,104)에게 상호 배타적으로 제공함으로써 소정의 공유 메모리 영역에 각각의 프로세서가 상호 배타적으로 액세스하도록 한다.
즉, 세마포 처리부(110)는 임의의 시간에 소정의 프로세서가 소정의 공유 메모리 영역에 대한 액세스 요청을 하면 액세스 요청된 소정의 공유 메모리 영역에 현재 액세스하고 있는 프로세서가 존재하지 않는 경우에는 액세스를 요청한 프로세서에게 액세스를 허용하고 공유 메모리 영역에 액세스 중인 프로세서가 존재하면 액세스 중인 프로세서가 공유 메모리의 사용을 종료할 때까지 액세스를 요청한 프로세서의 액세스를 차단한다.
이처럼 프로세서(100,104)는 세마포 처리부(110)에 기입된 논리값에 따라 권한 획득 여부를 확인하는데 종래에 프로세서가 권한 획득 여부를 확인하는 과정은 다음과 같다.
도 2는 종래기술에 따른 각 프로세서의 권한 획득 처리 과정을 도시한 순서도이다.
도 2를 참조하면, 제2 프로세서(104)가 듀얼 포트 SDRAM(108)의 공유 메모리 영역을 사용하고자 하는 경우, 제2 프로세서(104)는 제2 외부 버스 인터페이 스(106)를 통해 권한 획득을 위한 데이터가 세마포 처리부(110)에 기입되도록 한다(단계 200).
일반적으로 세마포 처리부(110)는 세마포 요청 레지스터와 세마포 레지스터를 구비하면서 액세스를 원하는 제2 프로세스(104)가 외부 버스 인터페이스(106)를 통해 세마포 처리부의 어드레스, 제어 신호(예를 들어, 쓰기 제어 신호) 및 데이터(예를 들어, 논리값 '0')를 출력하는 경우, 제1 프로세서(100)가 출력한 논리값을 세마포 요청 레지스터에 기입하고(Write), 제1 프로세서(100)가 원하는 공유 메모리 영역의 상태에 따른 논리값(예를 들어, 권한 획득이 가능한 경우는 '0', 불가능한 경우는 '1')을 세마포 레지스터에 제공한다.
권한 획득을 요청한 제2 프로세서(104)는 외부 버스 인터페이스(106)를 통해 상기한 세마포 레지스터에 권한 획득이 가능한 논리값이 기입될 때까지 계속적으로 읽음으로써 권한이 획득 되었는지 여부를 판단한다(단계 202, 204).
권한 획득에 관한 논리값이 기입된 경우에 제2 프로세서(104)는 공유 메모리 영역에 액세스하게 된다(단계 206).
이후, 공유 메모리 영역의 사용이 완료되는 경우(단계 210), 제2 프로세서(104)는 제2 외부 버스 인터페이스(106)를 통해 공유 메모리 영역 액세스 권한을 반환한다(단계 208).
한편, 도 3은 제2 프로세서(104)가 듀얼 포트 SDRAM(108)으로부터 READY 신호를 수신하는 경우에 세마포 처리부(110)의 세마포 레지스터에 기입된 논리값을 읽어 권한 획득 여부를 확인하는 과정을 도시한 순서도이다.
도 3을 참조하면, 공유 메모리 영역 사용을 원하는 경우 제2 프로세서(104)는 제2 외부 버스 인터페이스(106)를 통해 권한 획득을 위한 데이터가 세마포 처리부(110)의 세마포 요청 레지스터에 기입되도록 한다(단계 300).
이후 제2 프로세서(104)는 듀얼 포트 SDRAM(108)으로부터 READY 신호가 수신되는지 여부를 판단한다(단계 302).
여기서, READY 신호는 세마포 처리부(110)의 세마포 레지스터에 권한 획득이 가능한 논리값이 기입된 경우에 출력되어 제2 프로세서(104)의 READY 핀으로 수신되는 신호이다.
만일 READY 신호가 수신되는 경우 제2 프로세서(104)는 제2 외부 버스 인터페이스(106)를 통해 세마포 처리부(110)에 기입된 논리값을 확인하여 권한이 획득 되었는지 여부를 판단한다(단계 304, 306).
권한이 획득 되는 경우 제2 프로세서는 듀얼 포트 메모리의 공유 메모리 영역에 액세스하며, 공유 메모리 영역의 사용이 완료되는 경우 해당 액세스 권한을 반환하게 된다(단계 308 내지 312).
상기한 종래기술에 따르면, 듀얼 포트 SDRAM(108)으로부터의 권한 획득 전 과정을 각 프로세서(100,104)가 담당하게 된다.
종래기술에 따르면, 각 프로세서는 도 2에서 설명한 바와 같이, 권한 획득을 위한 데이터 기입한 후에 제2 외부 버스 인터페이스(102)를 통해 권한 획득이 가능한 논리값이 독출될 때까지 세마포 처리부의 세마포 레지스터에 기입된 데이터 독출 과정을 반복한다.
즉 종래의 프로세서는 어드레스, 제어 신호 및 데이터를 반복적으로 출력하고, 독출된 데이터의 확인 과정을 반복적으로 수행해야 하는 문제점이 있었다.
또한, 도 3의 경우에는 READY 신호가 수신되는지 여부를 반복적으로 수행해야 하기 때문에 권한 획득을 위한 논리값이 독출되기 전까지 프로세서는 해당 프로세서는 다른 작업을 할 수 없는 문제점이 있었다.
본 발명에서는 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 듀얼 포트 메모로부터의 권한 획득을 효율적으로 수행할 수 있는 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를 위한 장치를 제안하고자 한다.
상기한 바와 같은 목적을 달성하기 위해, 공유 메모리 영역을 포함하는 듀얼 포트 메모리와 상기 듀얼 포트 메모리 중 하나의 포트에 연결되는 프로세서에 연결되는 권한 획득 제어기에서 상기 공유 메모리 영역에 대한 권한 획득을 처리하는 방법에 있어서, (a) 상기 프로세서로부터 상기 공유 메모리 영역에 대한 권한 요청 신호를 수신하는 단계; (b) 상기 공유 메모리 영역에 대한 권한 획득을 위한 어드레스, 제어신호 및 데이터를 생성하는 단계; (c) 상기 듀얼 포트 메모리의 세마포 처리부로부터 제공된 상기 공유 메모리 영역의 액세스 가능 여부를 나타내는 정보에 응답하여 상기 프로세서로 권한 획득 신호를 출력하는 단계를 포함하는 것을 특 징으로 하는 권한 획득 처리 방법이 제공된다.
본 발명의 다른 측면에 따르면, 공유 메모리 영역을 포함하는 메모리 어레이; 제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 대해 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스; 제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스; 상기 공유 메모리 영역에 대한 상호 배타적 액세스를 제어하는 세마포 처리부; 및 상기 제1 및 제2 프로세서 중 적어도 하나에 상응하며, 상기 프로세서로부터 상기 공유 메모리 영역에 대한 권한 요청 신호를 수신하는 경우, 상기 듀얼 포트 메모리의 세마포 처리부로부터 제공된 상기 공유 메모리 영역의 액세스 가능 여부를 나타내는 정보에 응답하여 상기 프로세서로 권한 획득 신호를 출력하는 권한 획득 제어기를 포함하는 것을 특징으로 하는 듀얼 포트 메모리가 제공된다.
본 발명의 다른 측면에 따르면, 공유 메모리 영역을 포함하는 듀얼 포트 메모리에 액세스하여 명령을 수행하는 프로세서 장치에 있어서, 설정된 명령을 해독하고 실행하는 프로세서; 상기 프로세서의 제어에 따라 상기 듀얼 포트 메모리에 액세스하기 위한 어드레스 및 제어신호를 출력하는 외부 버스 인터페이스; 및 상기 프로세서로부터 상기 공유 메모리 영역에 대한 권한 요청 신호를 수신하는 경우, 상기 듀얼 포트 메모리의 세마포 처리부로부터 제공된 상기 공유 메모리 영역의 액세스 가능 여부를 나타내는 정보에 응답하여 상기 프로세서로 권한 획득 신호를 출력하는 권한 획득 제어기를 포함하는 것을 특징으로 하는 프로세서 장치가 제공된 다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.
도 4는 본 발명의 바람직한 일 실시예에 따른 제1 및 제2 프로세서와 듀얼 포트 메모리의 연결 상태를 나타낸 블록도이다.
도 4에 도시된 바와 같이, 본 발명에 따른 듀얼 포트 메모리 시스템은 제1 프로세서(400), 제1 외부 버스 인터페이스(402, External Bus Interface: EBI), 제 2 프로세서(404), 제2 외부 버스 인터페이스(406), 제1 권한 획득 제어기(408), 제2 권한 획득 제어기(410) 및 듀얼 포트 메모리(412)를 포함할 수 있다.
제1 및 제2 프로세서(400,404)는 명령을 해독하고 실행하는 단위로서, 제1 프로세서(400)는 핸드폰과 같은 휴대용 단말기에 사용되는 모뎀 프로세서가 될 수 있고, 제2 프로세서(404)는 휴대용 단말기에서 사용되는 비디오 프로세서, 멀티미디어 프로세서 등과 같은 응용프로그램을 수행하기 위한 응용 프로세서가 될 수 있다.
제1 외부 버스 인터페이스(402) 및 제2 외부 버스 인터페이스(406)는 일종의 메모리 컨트롤러(memory controller) 역할을 수행한다. 본 발명에 따른 듀얼 포트 메모리(412)는 SDRAM으로 구성될 수 있으며, 이에 따라 제1 및 제2 외부 버스 인터페이스(402,406)는 SDRAM(Synchronous DRAM)의 외부 버스 인터페이스가 사용될 수 있다.
이하 본 발명의 일 실시예에서는 제1 외부 버스 인터페이스(402) 및 제2 외부 버스 인터페이스(406)는 SDRAM 외부 버스 인터페이스인 것으로 설명하나 반드시 이에 한정되는 것은 아니다.
듀얼 포트 메모리(412)는 개별 포트를 통해 제1 외부 버스 인터페이스(402)를 가지는 제1 프로세서(400)와 연결되고, 제2 외부 버스 인터페이스(406)를 가지는 제2 프로세서(404)와 연결된다.
상기와 같은 개별 포트를 통해 듀얼 포트 메모리(412)에 연결된 각 프로세서(400,404)는 듀얼 포트 메모리(412)의 공유 메모리 영역을 사용하기 위해 우선 액세스 권한을 획득하여야 하는데, 본 발명에 따르면 이와 같은 권한 획득 과정은 제1 및 제2 권한 획득 제어기(408,410)가 담당한다.
본 발명의 바람직한 일 실시예에 따르면, 각 프로세서(400,404)는 액세스 권한을 획득하기 위해 제1 또는 제2 권한 획득 제어기(408,410)로 REQUEST 신호(이하 '권한 요청 신호'라 함)를 출력하며, 제1 및 제2 권한 획득 제어기(408,410)는 권한 요청 신호를 수신하는 경우, 듀얼 포트 메모리(412)에 포함된 세마포 처리부(414)에 권한 획득을 위한 데이터를 기입 및 독출하는 과정을 수행한다.
만일, 세마포 처리부(414)로부터 액세스가 가능하다는 데이터가 독출되는 경우, 제1 또는 제2 권한 획득 제어기(408,410)는 이에 상응하는 프로세서(400,404)측으로 GRANT 신호(이하, '권한 획득 신호'라 함)를 전송하며, 이에 따라 권한을 요청한 프로세서(400,404)는 공유 메모리 영역을 사용할 수 있게 된다.
여기서, 권한 획득 제어기(408,410)는 외부 핀을 통해 권한 요청 신호를 수신할 수 있다.
본 발명에 따르면, 권한 획득만을 전담하는 권한 획득 제어기를 제공하고, 각 프로세서(400,404)가 권한 요청 신호의 출력과 권한 획득 신호를 수신하는 것만으로 권한을 획득할 수 있도록 한다. 이에 따라 각 프로세서(400,404)는 권한 획득을 위해 반복적으로 어드레스, 제어신호의 출력과 및 데이터 입출력을 수행하지 않아도 되며, 해당 프로세서는 다른 작업을 수행할 수 있다.
한편, 본 발명에 따른 권한 획득 제어기(408,410)는 듀얼 포트 메모리(412)에 구비될 수 있으며, 이와 달리 각 프로세서(400,404)에 구비될 수 있다.
하기에서는 듀얼 포트 메모리 장치에 제1 및 제2 프로세서에 상응하는 권한 획득 제어기가 각각 구비되는 것으로 설명할 것이나, 반드시 이에 한정됨이 없이 적어도 하나의 프로세서에 대해 권한 획득 제어기가 제공될 수도 있다는 점을 당업자는 이해하여야 할 것이다.
또한, 상기에서는 본 발명에 따른 듀얼 포트 메모리에 2개의 프로세서가 연결되는 것으로 설명하였으나, 이에 한정되지 않으며 그 이상의 프로세서가 연결되는 경우에도 본 발명에 적용될 수 있을 것이다.
도 5는 본 발명의 제1 실시예에 따른 듀얼 포트 메모리 장치에 포함된 권한 획득 제어기를 도시한 블록도이다.
도 5를 참조하여, 본 발명의 제1 실시예에 따라 듀얼 포트 메모리 장치에 포함된 권한 획득 제어기의 동작을 상세하게 살펴본다.
도 5에 도시된 바와 같이, 본 발명에 따른 듀얼 포트 메모리 시스템은 제1 프로세서(400), 제1 외부 버스 인터페이스(402), 제2 프로세서(404), 제2 외부 버스 인터페이스(406) 및 듀얼 포트 메모리(500)를 포함할 수 있다.
본 발명에 따른 듀얼 포트 메모리(500)는 제1 권한 획득 제어기(408), 제2 권한 획득 제어기(410), 제1 메모리 인터페이스(502), 제2 메모리 인터페이스(504), 메모리 어레이(506) 및 세마포 처리부(414)를 포함할 수 있다.
듀얼 포트 메모리(500)는 제1 포트(508)를 통해 제1 외부 버스 인터페이스(402)를 가지는 제1 프로세서(400)와 연결되고, 제2 포트(510)를 통해 제2 외부 버스 인터페이스(406)를 가지는 제2 프로세서(404)에 연결된다.
제1 프로세서(400)는 듀얼 포트 메모리(500)의 제1 포트(508)를 통하여 어드레스(ADD1) 및 복수의 제어신호들(CTR1)을 듀얼 포트 메모리(500)에 제공하고, 듀얼 포트 메모리(500)는 제1 포트(508) 및 제1 외부 버스 인터페이스(402)를 통하여 제1 프로세서(400)와 데이터(DQ1)의 입출력을 수행한다.
도면에는 도시하지 않았지만, 제1 프로세서(400)는 상기한 어드레스, 제어신호와 함께 듀얼 포트 메모리(500)의 동작을 위한 클럭 신호를 함께 제공한다.
또한, 제2 프로세서(404)는 듀얼 포트 메모리(500)의 제2 포트(510)를 통하여 주소(ADD2) 및 복수의 제어신호들(CTR2)을 듀얼 포트 메모리(500)에 제공하고, 듀얼 포트 메모리(500)는 제2 포트(510) 및 제2 외부 버스 인터페이스(406)를 통하여 제2 프로세서(404)와 데이터(DQ2)의 입출력을 수행한다.
메모리 어레이(506)는 DRAM의 단위 메모리 셀 구조를 가지고 제1 프로세서(400)가 전용하는 제1 메모리 영역(512), 각 프로세서가 공유하는 공유 메모리 영역(514) 및 제2 프로세서(404)가 전용하는 제2 메모리 영역(516)를 포함할 수 있다. 각 메모리 영역(512 내지 516) 각각은 소정 크기를 가지는 뱅크(bank) 단위로 형성될 수 있다. 또한 하나의 뱅크 내에서 소정 크기를 가지는 블록(block) 단위로 각각의 공유 메모리 영역이 구성될 수도 있다.
도 5에 도시한 본 발명의 일 실시예에 따른 듀얼 포트 메모리 시스템에서는 하나의 공유 메모리 영역(514)이 존재하는 것으로 도시하였으나, 이에 한정되지 않으며, 더 많은 수의 공유 메모리 영역이 마련될 수도 있다는 점은 당업자에게 있어 자명할 것이다.
제1 메모리 인터페이스(502)는 SDRAM 메모리 인터페이스로 구성되고, 제1 포트(508)를 통하여 제1 프로세서(400)로부터 주소(ADD1), 제어신호(CTR1) 및 데이터(DQ1)를 입력 받고, 주소(ADD1)를 로우 어드레스와 컬럼 어드레스로 디코딩한 후 디코딩된 어드레스에 기초하여 소정의 동작 타이밍에 따라 데이터(DQ1)를 메모리 어레이(210)로부터 독출(read)하거나 메모리 어레이(210)에 기입(write)한다.
상기 기입 및 독출은 제1 프로세서(400)에서 제공하는 클럭 신호에 동기되어 이루어질 수 있다.
이를 위해 제1 메모리 인터페이스(220)는 일반적인 SDRAM 인터페이스에서 사용되는 명령 디코더(Command decoder)(미도시), 로우 디코더(Row decoder) (미도시), 컬럼 디코더(Column decoder)(미도시) 및 입출력 버퍼(미도시) 등을 포함할 수 있다.
제2 메모리 인터페이스(504)는 SDRAM 메모리 인터페이스로 구성되고, 제2 포트(510)를 통하여 제2 프로세서(404)로부터 어드레스(ADD2), 제어신호(CTR2) 및 데이터(DQ2)를 입력 받고, 어드레스(ADD2)를 로우 어드레스와 컬럼 어드레스로 디코딩한 후 동작 타이밍에 따라 데이터(DQ2)를 메모리 어레이(506)로부터 독출하거나 메모리 어레이(506)에 기입한다.
제2 메모리 인터페이스(504)는 수신된 어드레스 및 제어신호에 상응하는 커맨드 디코더(미도시), 로우 디코더(미도시), 컬럼 디코더(미도시) 및 입출력 버퍼(미도시) 등이 포함할 수 있다.
본 발명의 바람직한 제1 실시예에 따르면, 제1 권한 획득 제어기(408)와 제2 권한 획득 제어기(410)는 듀얼 포트 메모리(500) 내에서 제1 메모리 인터페이스(502) 및 제2 메모리 인터페이스(504)에 연결된다.
본 발명에 따르면, 제1 권한 획득 제어기(408) 및 제2 권한 획득 제어기(410)는 각 프로세서(400,404)로부터 권한 요청 신호가 수신되는 경우, 세마포 처리부(414)에 상응하는 어드레스(ADD1', ADD2'), 세마포 처리부(414)에 권한 획득을 위한 데이터를 쓰기 위한 쓰기 제어신호(예를 들어, /WE, /OE) 및 권한 획득을 위한 데이터(DQ1', DQ1')를 출력한다.
상기한 세마포 처리부(414)에 상응하는 어드레스는 공유 메모리 영역에 대한 최상위 어드레스일 수 있다.
세마포 처리부(414)의 어드레스에 기초하여 메모리 어레이(506)가 복수의 공유 메모리 영역을 포함하는 경우(각 복수의 공유 메모리 영역 별로 하나의 세마포 처리부 셀(미도시)이 할당되어 있음) 복수의 공유 메모리 영역의 세마포 처리부 셀(미도시)들 중 해당되는 세마포 처리부 셀이 결정될 수 있다.
하기에서는 제1 프로세서(404)가 권한을 획득하는 경우를 중심으로 권한 획득 제어기의 동작을 상세하게 살펴본다.
제1 프로세서(400)가 권한 요청 신호를 출력하는 경우, 제1 권한 획득 제어기(408)는 상기한 바와 같은 어드레스(ADD1'), 제어신호(CTR1') 및 데이터(DQ1')를 생성하며, 제1 메모리 인터페이스(502)는 제1 권한 획득 제어기(408)가 출력하는 신호를 수신하여 권한 획득을 위한 데이터(DQ1')를 세마포 처리부(414)에 기입한다.
세마포 처리부(414)는 각 프로세서에 대응하는 권한 요청에 관한 데이터를 저장하는 세마포 요청 레지스터를 구비하고 있어 권한 획득을 위한 데이터(DQ1', 예를 들어, 논리값 0)를 제1 프로세서에 상응하는 세마포 요청 레지스터에 저장한다.
세마포 처리부(414)는 권한 획득을 위한 데이터가 세마포 요청 레지스터에 저장된 경우, 제1 프로세서가 요청한 공유 메모리 영역의 사용 여부에 관한 정보를 세마포 레지스터에 기입한다.
여기서, 공유 메모리 영역(514)에 액세스가 가능한 경우에는 세마포 레지스터에 논리값 '1'이 액세스가 불가능한 경우에는 논리값 '0'이 저장될 수 있다.
세마포 요청 레지스터에 권한 요청 신호에 따른 논리값이 저장된 후에 공유 메모리 영역이 사용 가능하게 된 경우, 세마포 처리부(414)는 권한 획득 준비 신호(READY 신호, RDY1)를 출력하며, 이러한 경우에 제1 권한 획득 제어기(408)는 세마포 처리부(414)의 세마포 레지스터에 기입된 논리값을 독출하여 공유 메모리 영역에 액세스가 가능한지 여부를 판단하게 된다
만일 제1 권한 획득 제어기(408)는 세마포 처리부(414)의 세마포 레지스터에 논리값 '0'이 기입된 것으로 확인하는 경우에는 제1 프로세서(400)로 권한 획득 신호를 출력함으로써 제1 프로세서(400)가 공유 메모리 영역(514)에 액세스하여 필요한 데이터를 기입 또는 독출할 수 있도록 한다.
상기에서는 제1 권한 획득 제어기(408)가 권한 획득 준비 신호를 수신하는 경우에 세마포 처리부(414)의 세마포 레지스터에 기입된 논리값을 독출하는 것으로 설명하였으나, 권한 획득 준비 신호 없이 제1 권한 획득 제어기(408)가 세마포 처리부(414)의 세마포 레지스터에 기입된 논리값을 반복적으로 읽어 권한 획득 여부를 확인하는 것도 가능할 것이다.
한편, 권한 획득 이전에 제1 외부 버스 인터페이스(402)로부터 제1 권한 획득 제어기(408)로 공유 메모리 영역(514)에 데이터를 기입 또는 독출하기 위한 어드레스(ADD1), 제어신호(CTR1) 및 데이터(DQ1)이 입력될 수 있다.
여기서, 어드레스(ADD1)은 특정 메모리 셀의 워드 라인을 상응하는 로우 어드레스 및 비트 라인에 상응하는 칼럼 어드레스일 수 있으며, 제어신호(CTR1)는 DRAM 동작을 활성화하는 로우 스트로브 신호(Row Address Strobe, /RAS), 칼럼 어드레스의 인가를 알려주는 칼럼 스트로브 신호(Column Address Strobe, /CAS), 데이터의 기입 또는 독출을 결정하는 쓰기 제어 신호(Write Enable, /WE), 데이터의 입력 또는 출력을 결정하는 출력 인에이블 신호(Output Enable, /OE), 리프레쉬 신호 및 클럭 인에이블 신호 등을 포함할 수 있다.
권한 획득 이전에 이와 같은 어드레스, 제어신호 및 데이터가 듀얼 포트 메모리(500)로 출력되더라도 정상적인 동작이 이루어지지 않기 때문에 본 발명에 따른 제1 권한 획득 제어기(408)는 권한 획득 이전에 제1 외부 버스 인터페이스(402)로부터 입력되는 어드레스, 제어신호 및 데이터를 먹싱(multiplexing)하여 권한 획득을 위한 신호만이 선택적으로 출력되도록 한다.
도 6은 본 발명에 따른 권한 획득 제어기의 상세 구성을 도시한 블록도로서, 도 6을 참조하여 권한 획득 처리 과정을 보다 상세하게 살펴본다.
도 6에 도시된 바와 같이, 본 발명에 따른 권한 획득 제어기는 버퍼(600,602), 제1 먹스(604), 제2 먹스(606), 제3 먹스(608) 및 권한 획득 처리 컨트롤러(610)를 포함할 수 있다.
권한 획득 처리 컨트롤러(610)는 제1 프로세서(400)로부터 권한 요청 신호가 수신되는 경우에 세마포 처리부의 어드레스(ADD1'), 권한 획득을 위한 데이터(DQ1'), 세마포 처리부(414)의 세마포 요청 레지스터에 데이터를 기입하거나 세마포 레지스터에 저장된 데이터를 독출하기 위한 제어신호(CTR1')를 생성하여 먹스(604, 606, 608)을 통하여 제1 메모리 인터페이스(502)로 출력되도록 한다.
한편, 권한 획득 이전에 제1 프로세서(400)가 제1 외부 버스 인터페이스를 통해 메모리 어레이(506)에 기입 또는 독출하기 위한 어드레스(ADD1), 제어신호(CTR1) 및 데이터(DQ1)가 제1 권한 획득 제어기(408)로 입력될 수 있다.
제1 프로세서(400)의 데이터 입력 시 제1 먹스(604)는 권한 획득 처리 컨트롤러(610)의 먹스 제어 신호(S1)에 따라 입력 데이터(DQ1)를 끊고, 권한 획득 데이터(DQ1')만이 선택적으로 출력되도록 먹싱한다.
먹싱된 권한 획득 데이터(DQ1')는 버퍼(602)를 거쳐 제1 메모리 인터페이스(502)로 출력된다.
제2 먹스(606)는 먹스 제어 신호(S2)에 따라 메모리 어레이(506)의 어드레스를 끊고, 권한 획득 처리 컨트롤러(610)가 생성한 세마포 처리부(414)의 어드레스(ADD1')를 선택적으로 출력한다.
제3 먹스(608)는 역시 권한 획득 처리 컨트롤러(610)의 먹스 제어 신호(S3) 에 따라 제1 프로세서(400)로부터 입력되는 제어신호(CTR1)를 끊고, 권한 획득을 위한 제어신호(CTR1')만을 선택적으로 출력한다.
권한 획득 처리 컨트롤러(610)가 세마포 처리부(414)로부터 권한 획득 준비 신호를 수신하고, 세마포 처리부(414)의 세마포 레지스터에 저장된 데이터를 통해 권한 획득이 된 것으로 확인된 경우, 권한 획득 처리 컨트롤러는 제1 프로세서(400)측으로 권한 획득 신호를 출력한다.
이후, 권한 획득 처리 컨트롤러(610)는 각 먹스(604,606,608)에 소정 먹스 제어 신호를 출력하여 제1 프로세서(400)가 제1 외부 버스 인터페이스(402)를 통해 출력하는 데이터(DQ1), 어드레스(ADD1) 및 제어신호(CTR1)가 제1 메모리 인터페이스(502)로 출력되도록 한다.
제2 프로세서(404)의 권한 요청 신호가 출력되는 경우에 제2 권한 획득 제어기(410)가 수행하는 과정 역시 상기한 것과 동일하므로 이에 대한 상세한 설명은 생략한다.
한편, 본 발명의 제1 실시예에 따르면, 제1 권한 획득 제어기(408)는 듀얼 포트 메모리(500)내에 구비되기 때문에 제1 권한 획득 제어기(408)와 제1 프로세서(400)는 외부 핀을 통해 권한 요청 신호, 권한 획득 신호를 송수신한다.
그러나 본 발명에 따른 권한 획득 제어기는 프로세서 장치 내에 포함될 수도 있다.
도 7은 본 발명의 제2 실시예에 따른 각 프로세서 장치에 포함된 권한 획득 제어기를 도시한 블록도이다.
도 7에 도시된 바와 같이, 제1 권한 획득 제어기(700)는 제1 프로세서 장치(700) 내에 포함되며, 여기서 제1 프로세서 장치(700)는 제1 프로세서(400), 제1 외부 버스 인터페이스(402) 및 제1 권한 획득 제어기(408)가 일체로 형성된 칩 형태로 구현될 수 있다.
제2 프로세서 장치(702) 역시 상기한 제1 프로세서 장치와 동일한 구성을 포함할 수 있다.
제1 프로세서(400)는 물리적으로 연결된 배선을 통해 제1 권한 획득 제어기(408)로 권한 획득을 요청할 수 있으며, 제1 권한 획득 제어기(408)는 권한 요청 신호(REQUEST 신호)가 수신되는 경우, 듀얼 포트 메모리(500)의 제1 포트(508)를 통해 권한 획득을 위한 어드레스(ADD1'), 제어신호(CTR1') 및 데이터(DQ1')를 출력한다.
전술한 바와 같이, 제1 메모리 인터페이스(502)는 입력된 어드레스, 제어신호 및 데이터에 따라 세마포 처리부(414)는 세마포 요청 레지스터에 권한 획득을 위한 데이터를 기입하고, 공유 메모리 영역(514)의 현재 상태에 따라 액세스가 가능한지 여부에 관한 정보를 세마포 레지스터에 기입한다.
공유 메모리 영역의 액세스가 가능한 경우, 세마포 처리부(414)는 권한 획득 준비 신호를 제1 메모리 인터페이스(502)를 통해 제1 권한 획득 제어기(408)로 출력하며, 제1 권한 획득 제어기(408)는 권한 획득 준비 신호가 수신되는 경우, 세마포 처리부(414)의 세마포 레지스터에 저장된 논리값을 독출함으로써 최종적으로 공유 메모리 영역에 액세스가 가능한지 여부를 확인할 수 있다.
공유 메모리 영역에 액세스가 가능한 경우 제1 권한 획득 제어기(408)는 제1 프로세서(400)로 권한 획득 신호(GRANT 신호)를 출력한다.
이후 제1 프로세서(400)가 공유 메모리 영역에 액세스하여 필요한 과정을 수행하게 된다.
도 7에 도시된 바와 같이, 본 발명에 따른 제1 권한 획득 제어기(408)는 제1 외부 버스 인터페이스(402)에 연결될 수 있으며, 제1 외부 버스 인터페이스(402)를 통해 어드레스(ADD1), 제어신호(CTR1) 및 데이터(DQ1)가 입력될 수 있다.
이때, 제1 권한 획득 제어기(408)는 도 6에 도시된 구성을 통해 제1 외부 버스 인터페이스(402)로부터 입력되는 어드레스(ADD1), 제어신호(CTR1) 및 데이터(DQ1)를 먹싱함으로써 권한 획득을 위한 어드레스(ADD1'), 제어신호(CTR1') 및 데이터(DQ1')만이 선택적으로 제1 메모리 인터페이스(502)로 출력되도록 한다.
한편, 제2 권한 획득 제어기(410)에 대한 설명은 상기한 제1 권한 획득 제어기(408)와 동일하므로 이에 대한 상세한 설명은 생략한다.
도 8은 본 발명에 따른 권한 획득 처리 과정을 도시한 순서도이다.
도 8은 제1 프로세서(400)가 권한 획득을 요청한 경우의 처리 과정을 도시한 도면이다.
도 8을 참조하면, 제1 프로세서(400)가 공유 메모리 영역을 사용하고자 하는 경우 제1 권한 획득 제어기(408)는 제1 프로세서(400)로부터 권한 요청 신호(REQUEST 신호)를 수신한다(단계 800).
권한 요청 신호 수신 시 제1 권한 획득 제어기(408)는 권한 획득을 위한 어 드레스, 제어신호 및 데이터를 생성한다(단계 802).
이와 같이 생성된 제1 프로세서에서 입력되는 어드레스, 제어신호 및 데이터를 먹싱한다(단계 804).
상기한 먹싱 동작에 따라 단계 802에서 생성된 어드레스, 제어신호 및 데이터를 제1 메모리 인터페이스(502)로 출력한다. 복수의 공유 메모리 영역을 포함하는 경우 단계 804에서 출력되는 어드레스에 기초하여 복수의 공유 메모리 영역의 세마포 처리부 셀(미도시)들 중 해당되는 세마포 처리부 셀이 결정될 수 있다. , 제어신호는 세마포 처리부(414)의 세마포 요청 레지스터에 권한 획득을 위한 데이터를 기입하기 위한 제어신호(/WE 로우 신호 및 /OE 하이 신호)일 수 있으며, 데이터는 논리값 '0'일 수 있다.
이와 같은 신호를 통해 제1 권한 획득 제어기(408)는 세마포 처리부(414)의 세마포 요청 레지스터에 권한 요청을 위한 데이터가 기입되도록 한다(단계 806).
한편, 제1 권한 획득 제어기(408)는 세마포 처리부(414)로부터 권한 획득 준비 신호(READY 신호)가 수신되는지를 판단하고(단계 808), 권한 획득 준비 신호가 수신되는 경우, 세마포 처리부(414)의 세마포 레지스터에 기입된 데이터를 독출(READ)하는 과정을 수행한다(단계 810).
독출 과정에 있어서, 제1 권한 획득 제어기(408)는 독출을 위한 세마포 처리부(414)의 어드레스, 제어신호(예를 들어, /WE 하이 신호 및 /OE 로우 신호)를 제1 메모리 인터페이스(502)로 출력할 수 있다.
제1 권한 획득 제어기(408)는 독출된 데이터가 공유 메모리 영역에 액세스가 가능하다는 논리값(예를 들어, '1')인지 여부를 통해 공유 메모리 영역의 사용이 가능한지는 판단한다(단계 812).
공유 메모리 영역에 액세스가 가능한 경우, 제1 권한 획득 제어기(408)는 제1 프로세서(400)로 권한 획득 신호(GRANT 신호)를 출력한다(단계 814).
이에 따라 제1 프로세서(400)가 공유 메모리 영역을 점유하여 사용할 수 있다.
한편, 상기에서는 각 권한 획득 제어기(408,410)가 프로세서(400,404)에서 출력되는 신호를 먹싱하는 것으로 설명하였으나 권한 획득 제어기(408,410)는 이와 같은 먹싱 과정 없이 권한 획득을 처리할 수 있다.
도 9는 본 발명의 제3 실시예에 따른 듀얼 포트 메모리 장치에 포함된 권한 획득 제어기를 도시한 블록도이다.
도 9에 도시된 바와 같이, 본 발명의 제3 실시예는 프로세서(400,404)에 연결되는 각 외부 버스 인터페이스(402,406)와 듀얼 포트 메모리(500)에 포함되는 각 권한 획득 제어기(900,902)가 서로 독립적으로 동작한다.
제1 및 제2 권한 획득 제어기(900,902)는 제1 및 제2 프로세서(400,404)로부터 권한 요청 신호가 수신되는 경우, 권한 획득을 위한 어드레스, 제어신호 및 데이터 생성 과정과 세마포 처리부(414)로부터 권한 획득 준비 신호가 수신되는 경우 공유 메모리 영역(514)의 액세스가 가능한지는 판단하여 각 프로세서(400,404)로 권한 획득 신호를 출력하는 과정만을 수행한다.
이때, 제3 실시예에 따른 권한 획득 제어기(900,902)는 제1 및 제2 외부 버 스 인터페이스(402,406)로부터 공유 메모리 영역(514)에 기입 또는 독출하기 위한 어드레스, 제어신호 및 데이터가 수신되지 않는다.
따라서 제3 실시예에 따르면 각 권한 획득 제어기(900,902)의 먹싱 과정은 생략될 수 있다.
한편, 도 10은 본 발명의 제4 실시예에 따른 듀얼 포트 메모리 장치에 포함된 권한 획득 제어기를 도시한 블록도이다.
도 10에 도시된 바와 같이, 외부 버스 인터페이스(402,406)와 독립적으로 동작하는 제1 권한 획득 제어기(1004) 및 제2 권한 획득 제어기(1006)는 각각 제1 프로세서 장치(1000) 및 제2 프로세서 장치(1002)에 포함될 수 있다.
제4 실시예에서 역시 각 프로세서 장치는 하나의 칩으로 구현될 수 있다.
한편, 제4 실시예에 있어서, 각 프로세서 장치에 포함되는 제1 및 제2 권한 획득 제어기(1004,1006)는 제1 및 제2 프로세서(400,404)의 요청에 의한 권한 획득 처리 과정을 전담하며, 권한 획득 처리 과정에서 제1 및 제2 권한 획득 제어기(1004,1006)로 외부 버스 인터페이스(402,406)가 출력하는 어드레스, 제어신호 및 데이터를 입력되지 않을 수 있다.
이에 따라 각 권한 획득 제어기(1004,1006)는 상기한 제1 및 제2 실시예와 같은 먹싱 과정을 수행하지 않을 수 있다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구 범위에 속하는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 따르면 공유 메모리 영역을 사용하기 위한 권한 획득 과정을 권한 획득 제어기가 처리하기 때문에 듀얼 포트 메모리에 연결된 프로세서의 듀얼 포트 메모리 점유 시간을 줄일 수 있는 장점이 있다.
또한 본 발명에 따르면, 각 프로세서는 권한 요청 신호 및 권한 획득 신호만을 송수신하므로 권한 획득의 효율을 높일 수 있는 장점이 있다.

Claims (12)

  1. 공유 메모리 영역을 포함하는 듀얼 포트 메모리의 하나의 포트와 프로세서 사이에 연결된 권한 획득 제어기의 상기 공유 메모리 영역에 대한 권한 획득을 처리하는 방법에 있어서,
    (a) 상기 프로세서로부터 상기 공유 메모리 영역에 대한 권한 요청 신호를 수신하는 단계;
    (b) 상기 공유 메모리 영역에 대한 권한 요청 신호가 수신되는 경우, 상기 공유 메모리 영역에 대한 권한 획득을 위해 상기 듀얼 포트 메모리의 세마포 처리부 어드레스, 쓰기 제어 신호 및 권한 요청에 상응하는 데이터를 생성하는 단계;
    (c) 상기 듀얼 포트 메모리의 세마포 처리부로부터 제공된 상기 공유 메모리 영역의 액세스 가능 여부를 나타내는 정보에 응답하여 상기 프로세서로 권한 획득 신호를 출력하는 단계를 포함하는 것을 특징으로 하는 권한 획득 처리 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 세마포 처리부로부터 권한 획득 준비 신호를 수신하는 단계; 및
    상기 권한 획득 준비 신호 수신 시 상기 세마포 처리부가 상기 공유 메모리 영역의 다른 프로세서 액세스 상태에 따라 기입한 데이터를 독출하기 위한 어드레스 및 제어신호를 생성하는 단계를 더 포함하는 것을 특징으로 하는 권한 획득 처리 방법.
  4. 제1항에 있어서,
    상기 프로세서에 상응하는 외부 버스 인터페이스로부터 입력되는 신호를 수신하는 단계; 및
    상기 수신된 신호를 먹싱하여 상기 (b) 단계에서 생성된 어드레스, 제어신호 및 데이터를 출력하는 단계를 더 포함하는 것을 특징으로 하는 권한 획득 처리 방법.
  5. 제4항에 있어서,
    상기 외부 버스 인터페이스로부터 입력되는 신호는 상기 메모리 어레이에 기입 또는 독출하기 위한 로우 어드레스, 칼럼 어드레스 및 제어신호를 포함하는 것을 특징으로 하는 권한 획득 처리 방법.
  6. 공유 메모리 영역을 포함하는 메모리 어레이;
    제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 대해 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스;
    제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스;
    상기 공유 메모리 영역에 대한 상호 배타적 액세스를 제어하는 세마포 처리부;
    상기 제1 프로세서와 상기 제1 메모리 인터페이스 사이에 연결되고 상기 제1 프로세서로부터 상기 공유 메모리 영역에 대한 권한 요청 신호를 수신하는 경우, 상기 세마포 처리부로부터 제공된 상기 공유 메모리 영역의 액세스 가능 여부를 나타내는 정보에 응답하여 상기 제1 프로세서로 권한 획득 신호를 출력하는 제1 권한 획득 제어기; 및
    상기 제2 프로세서와 상기 제2 메모리 인터페이스 사이에 연결되고 상기 제2 프로세서로부터 상기 공유 메모리 영역에 대한 권한 요청 신호를 수신하는 경우, 상기 세마포 처리부로부터 제공된 상기 공유 메모리 영역의 액세스 가능 여부를 나타내는 정보에 응답하여 상기 제2 프로세서로 권한 획득 신호를 출력하는 제2 권한 획득 제어기를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
  7. 삭제
  8. 제6항에 있어서,
    상기 권한 획득 제어기는 상기 권한 요청 신호가 수신되는 경우, 상기 세마포 처리부 어드레스, 쓰기 제어 신호 및 권한 요청에 상응하는 데이터를 생성하는 권한 획득 처리 컨트롤러를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
  9. 제8항에 있어서,
    상기 권한 처리 획득 컨트롤러는 상기 세마포 처리부로부터 권한 획득 준비 신호를 수신하는 경우, 상기 세마포 처리부가 상기 공유 메모리 영역의 다른 프로세서 액세스 상태에 따라 기입한 데이터를 독출하기 위한 어드레스 및 제어신호를 생성하는 것을 특징으로 하는 듀얼 포트 메모리.
  10. 제8항에 있어서,
    상기 권한 획득 제어기는 상기 프로세서에 상응하는 외부 버스 인터페이스로부터 입력되는 신호에 대해 상기 권한 획득 처리 컨트롤러의 제어에 따라 먹싱 동작을 수행하는 복수의 먹스를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
  11. 제10항에 있어서,
    상기 외부 버스 인터페이스로부터 입력되는 신호는 상기 메모리 어레이에 기입 또는 독출하기 위한 로우 어드레스, 칼럼 어드레스 및 제어신호를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.
  12. 공유 메모리 영역을 포함하는 듀얼 포트 메모리에 액세스하여 명령을 수행하는 프로세서 장치에 있어서,
    설정된 명령을 해독하고 실행하는 프로세서;
    상기 프로세서의 제어에 따라 상기 듀얼 포트 메모리에 액세스하기 위한 어드레스 및 제어신호를 출력하는 외부 버스 인터페이스; 및
    상기 프로세서 및 상기 외부 버스 인터페이스와 연결되고, 상기 프로세서로부터 상기 공유 메모리 영역에 대한 권한 요청 신호를 수신하는 경우, 상기 듀얼 포트 메모리의 세마포 처리부로부터 제공된 상기 공유 메모리 영역의 액세스 가능 여부를 나타내는 정보에 응답하여 상기 프로세서로 권한 획득 신호를 출력하고, 상기 세마포 처리부로부터 상기 공유 메모리 영역의 액세스 가능 여부를 나타내는 정보를 제공받지 못한 경우에는 상기 외부 버스 인터페이스로부터 제공된 어드레스 및 제어신호가 출력되지 않도록 먹싱(multiplexing)하는 권한 획득 제어기를 포함하는 것을 특징으로 하는 프로세서 장치.
KR1020070011137A 2007-02-02 2007-02-02 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치 KR100886179B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070011137A KR100886179B1 (ko) 2007-02-02 2007-02-02 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070011137A KR100886179B1 (ko) 2007-02-02 2007-02-02 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치

Publications (2)

Publication Number Publication Date
KR20080072411A KR20080072411A (ko) 2008-08-06
KR100886179B1 true KR100886179B1 (ko) 2009-02-27

Family

ID=39882747

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070011137A KR100886179B1 (ko) 2007-02-02 2007-02-02 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치

Country Status (1)

Country Link
KR (1) KR100886179B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101110550B1 (ko) * 2009-04-08 2012-02-08 한양대학교 산학협력단 프로세서 장치, 멀티 프로세서 시스템 및 멀티 프로세서 시스템의 공유메모리 접근 방법
KR101639946B1 (ko) 2015-04-13 2016-07-14 엘에스산전 주식회사 듀얼 포트 메모리 시스템의 접근 제어 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612387A (ja) * 1992-06-25 1994-01-21 Mitsubishi Electric Corp マルチプロセッサ間通信方法
JPH08314870A (ja) * 1995-05-12 1996-11-29 Omron Corp データ処理装置
JPH10134010A (ja) 1996-10-31 1998-05-22 Fujitsu Ltd 共有メモリ競合回避方式
US6122713A (en) * 1998-06-01 2000-09-19 National Instruments Corporation Dual port shared memory system including semaphores for high priority and low priority requestors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612387A (ja) * 1992-06-25 1994-01-21 Mitsubishi Electric Corp マルチプロセッサ間通信方法
JPH08314870A (ja) * 1995-05-12 1996-11-29 Omron Corp データ処理装置
JPH10134010A (ja) 1996-10-31 1998-05-22 Fujitsu Ltd 共有メモリ競合回避方式
US6122713A (en) * 1998-06-01 2000-09-19 National Instruments Corporation Dual port shared memory system including semaphores for high priority and low priority requestors

Also Published As

Publication number Publication date
KR20080072411A (ko) 2008-08-06

Similar Documents

Publication Publication Date Title
KR101558482B1 (ko) 공유 멀티 포트 메모리 장치에서 뱅크의 공유 및 리프레쉬
KR100868393B1 (ko) 비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리
US7725609B2 (en) System memory device having a dual port
EP3082048B1 (en) Memory configured to provide simultaneous read/write access to multiple banks
US9390017B2 (en) Write and read collision avoidance in single port memory devices
JP4560498B2 (ja) 共有メモリ装置のための仲裁スキーム
KR100886179B1 (ko) 듀얼 포트 메모리로의 액세스 권한 획득 처리 방법 및 이를위한 장치
US8995210B1 (en) Write and read collision avoidance in single port memory devices
KR102700109B1 (ko) 적응형 메모리 액세스 관리
KR100874169B1 (ko) 프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및이를 수행하기 위한 방법
KR101110550B1 (ko) 프로세서 장치, 멀티 프로세서 시스템 및 멀티 프로세서 시스템의 공유메모리 접근 방법
KR100877972B1 (ko) 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리및 데이터 직접 전달 방법
US20100002099A1 (en) Method and apparatus for sharing memory
KR100872196B1 (ko) 메모리 시스템 및 듀얼 포트 메모리의 접근 제어 방법
KR100686304B1 (ko) 듀얼 포트 메모리의 공유 뱅크 접근 제어 방법
US11392313B2 (en) Memory controller and method thereof with built-in self-tester (BIST)
US8301816B2 (en) Memory access controller, system, and method
KR100863541B1 (ko) 동기 제어 장치를 가지는 듀얼 포트 메모리, 동기 제어장치를 가지는 듀얼 포트 메모리 시스템 및 듀얼 포트메모리 시스템의 동기 제어 방법
KR100813133B1 (ko) 듀얼 포트 메모리 장치, 이를 가지는 메모리 시스템 및듀얼 포트 메모리 장치의 공유 메모리 영역의 적응적사용방법
KR100867603B1 (ko) 공통 신호 라인을 갖는 듀얼 포트 메모리 시스템
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
KR20080046065A (ko) 공유 메모리 접근 제어 장치를 가지는 듀얼 포트 메모리,공유 메모리 접근 제어 장치를 가지는 멀티 프로세서시스템 및 멀티 프로세서 시스템의 공유 메모리 접근 제어방법
US8074096B2 (en) Semiconductor integrated circuit, memory system, memory controller and memory control method
KR100827720B1 (ko) 접근 제어 장치를 가지는 듀얼 포트 메모리, 듀얼 포트메모리를 가지는 메모리 시스템 및 듀얼 포트 메모리의접근 제어 방법
CN107025190B (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: 20130221

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140203

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180129

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20200128

Year of fee payment: 12