KR20110031624A - 멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법 - Google Patents

멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법 Download PDF

Info

Publication number
KR20110031624A
KR20110031624A KR1020090088952A KR20090088952A KR20110031624A KR 20110031624 A KR20110031624 A KR 20110031624A KR 1020090088952 A KR1020090088952 A KR 1020090088952A KR 20090088952 A KR20090088952 A KR 20090088952A KR 20110031624 A KR20110031624 A KR 20110031624A
Authority
KR
South Korea
Prior art keywords
port
shared memory
memory area
clock
data
Prior art date
Application number
KR1020090088952A
Other languages
English (en)
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 KR1020090088952A priority Critical patent/KR20110031624A/ko
Publication of KR20110031624A publication Critical patent/KR20110031624A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • 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
    • 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
    • G06F13/1684Details of memory controller using multiple buses
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Multi Processors (AREA)
  • Static Random-Access Memory (AREA)

Abstract

멀티 포트 공유 메모리의 제어를 위한 외부 인터페이스 장치 및 접근 제어 방법이 개시된다. 멀티 포트 메모리의 외부 인터페이스 장치는, 제1 포트와 상기 공유 메모리 영역 간의 데이터 송수신을 위한 제1 포트 인터페이스부; 제2 포트와 상기 공유 메모리 영역 간의 데이터 송수신을 위한 제2 포트 인터페이스부; 및 상기 공유 메모리 영역으로의 접근을 제어하는 내부 클럭을 생성하는 클럭 생성부를 포함하되, 상기 내부 클럭은 상기 제1 포트 인터페이스부 및 상기 제2 포트 인터페이스부 중 하나 이상의 포트 클럭보다 높은 주파수를 가질 수 있다. 이에 의하면, 멀티 포트 메모리의 공유 메모리 영역에 둘 이상의 디바이스가 실질적으로 동시에 접근이 가능하여 디바이스 서로 간에 빠른 데이터 전송이 가능토록 하는 효과가 있다.
멀티 포트 메모리, 공유 메모리, 인터페이스, 접근

Description

멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법{Outer interface device of multi-port memory and Access controlling method}
본 발명은 멀티 포트 공유 메모리의 제어를 위한 외부 인터페이스 장치 및 접근 제어 방법에 관한 것이다.
최근 들어 이동통신단말, PDA(Personal Digital Assistant) 등과 같은 휴대용 단말기는 음성통화와 같은 이동통신기능 이외에도 디지털 카메라, 화상전화, 멀티미디어 데이터의 재생 등과 같은 다양한 부가기능을 포함하고 있다.
휴대용 단말기는 이와 같이 이동통신기능과 같은 본질적인 기능을 처리하기 위한 베이스밴드 프로세서와 다양한 응용프로그램을 처리하기 위한 응용 프로세서가 구비된다.
또한, 일반적으로 둘 이상의 프로세서를 가지는 휴대용 단말기에서는 각 프로세서 간의 데이터 송수신을 고속으로 수행함으로써 시스템의 처리 속도를 향상시키고, 메모리의 실장 면적을 줄이기 위해 듀얼 포트 메모리(Dual Port Memory)가 사용된다.
즉, 두 프로세서가 듀얼 포트 메모리를 사용하게 되면 각 프로세서가 각 포트를 사용하여 메모리 영역에 접근하여 데이터를 읽고 쓸 수 있기 때문에 두 프로세서가 각각 서로 다른 메모리에 연결되어 처리 데이터를 송수신하는 경우보다 데이터의 전송 및 처리 속도가 빠르고 이로 인해 시스템의 전체적인 성능이 향상된다.
도 1은 일반적인 듀얼 포트 메모리의 메모리 영역을 도시한 도면이다.
도 1을 참조하면, 두 프로세서는 각각 듀얼 포트 메모리(10)의 제1 포트에 연결되어 메모리 영역에 접근하는 제1 포트 디바이스(20)와, 제2 포트에 연결되어 메모리 영역에 접근하는 제2 포트 디바이스(30)로 도시되어 있다.
듀얼 포트 메모리(10)는 제1 포트 디바이스(20)와 제2 포트 디바이스(30)가 각각 독립적으로 접근하여 읽기 또는 쓰기 작업을 수행하는 전용 메모리 영역(즉, 제1 포트 디바이스(20)만의 접근이 허용되는 제1 포트 접근 메모리 영역(14), 제2 포트 디바이스(30)만의 접근이 허용되는 제2 포트 접근 메모리 영역(16))과, 제1 포트 디바이스(20)와 제2 포트 디바이스(30)가 접근하여 읽기 또는 쓰기 작업을 수행하는 공유 메모리 영역(12)을 포함한다.
이러한 듀얼 포트 메모리(10)는 공유 메모리 영역(12)에 대한 각 디바이스의 상호 배타적인 접근을 보장하고 각 디바이스 간의 동기화된 작업을 보장하기 위해 하드웨어 세마포어(semaphore)(미도시)를 이용할 수 있다.
이러한 듀얼 포트 메모리(10)에서 공유 메모리 영역(12)에 대해서는 상술한 것과 같이 제1 포트 디바이스(20)와 제2 포트 디바이스(30)가 접근할 수 있지만, 동시에 접근하는 것은 불가능하다. 이로 인해 공유 메모리 영역(12)에 제1 포트 디바이스(20)가 접근하는 동안에는 제2 포트 디바이스(30)가 접근할 수 없으며, 공유 메모리 영역(12)에 제2 포트 디바이스(30)가 접근하는 동안에는 제1 포트 디바이스(20)가 접근할 수 없는 한계가 있다.
이로 인해 어느 하나의 디바이스가 읽기 또는 쓰기 작업을 위해 공유 메모리 영역(12)을 점유하고 있는 동안에는 타 디바이스가 공유 메모리 영역(12)에 접근하여 읽기 또는 쓰기 작업을 수행할 수 없어 두 디바이스 간에 데이터 전송시 많은 시간이 걸리고, 메모리 활용이 비효율적인 문제점이 있었다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
따라서, 본 발명은 멀티 포트 메모리의 공유 메모리 영역에 둘 이상의 디바이스가 실질적으로 동시에 접근이 가능하여 디바이스 서로 간에 빠른 데이터 전송이 가능토록 하는 멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법을 제공하기 위한 것이다.
또한, 본 발명은 공유 메모리 영역에 대하여 실질적으로 동시에 둘 이상의 디바이스의 접근이 가능하여 효율적인 메모리 활용이 가능한 멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법을 제공하기 위한 것이다.
본 발명의 일 측면에 따르면, 둘 이상의 포트에서의 접근이 가능한 공유 메모리 영역을 가지는 멀티 포트 메모리에 대한 외부 인터페이스를 위한 장치가 제공된다.
일 실시예에 따른 멀티 포트 메모리의 외부 인터페이스 장치는, 제1 포트와 상기 공유 메모리 영역 간의 데이터 송수신을 위한 제1 포트 인터페이스부; 제2 포트와 상기 공유 메모리 영역 간의 데이터 송수신을 위한 제2 포트 인터페이스부; 및 상기 공유 메모리 영역으로의 접근을 제어하는 내부 클럭을 생성하는 클럭 생성부를 포함하되, 상기 내부 클럭은 상기 제1 포트 인터페이스부 및 상기 제2 포트 인터페이스부 중 하나 이상의 포트 클럭보다 높은 주파수를 가질 수 있다.
상기 제1 포트와 상기 제2 포트는 상기 공유 메모리 영역에 동시 접근이 가능하다.
여기서, 상기 공유 메모리 영역에 대해 상기 제1 포트와 상기 제2 포트의 동시 쓰기가 가능하다. 또는 상기 공유 메모리 영역의 동일 주소에 대해 상기 제1 포트와 상기 제2 포트의 동시 읽기가 가능하다. 또는 상기 공유 메모리 영역의 동일 주소에 대해 상기 제1 포트 및 상기 제2 포트 중 어느 하나의 쓰기 및 다른 하나의 읽기가 동시에 가능하다.
상기 제1 포트로부터 상기 제1 포트 인터페이스부를 통해 입력된 데이터 혹은 상기 공유 메모리 영역으로부터 상기 제1 포트로 전송되는 데이터가 임시로 저장되는 제1 포트 버퍼를 더 포함할 수 있다. 상기 제1 포트 버퍼는 상기 공유 메모리 영역과는 상기 내부 클럭에 의해 데이터를 송수신하고, 상기 제1 포트 인터페이스부와는 상기 포트 클럭에 의해 데이터를 송수신할 수 있다.
상기 제2 포트로부터 상기 제2 포트 인터페이스부를 통해 입력된 데이터 혹은 상기 공유 메모리 영역으로부터 상기 제2 포트로 전송되는 데이터가 임시로 저장되는 제2 포트 버퍼를 더 포함할 수 있다. 상기 제2 포트 버퍼는 상기 공유 메모리 영역과는 상기 내부 클럭에 의해 데이터를 송수신하고, 상기 제2 포트 인터페이스부와는 상기 포트 클럭에 의해 데이터를 송수신할 수 있다.
상기 공유 메모리 영역에 대해서 상기 제1 포트 및 상기 제2 포트 중 하나 이상이 접근 가능한 영역의 주소를 설정하는 주소 제어부를 더 포함할 수 있다.
상기 제1 포트 인터페이스부는 SDRAM 인터페이스 혹은 DDR SDRAM 인터페이스를 가질 수 있다.
상기 제2 포트 인터페이스부는 SDRAM 인터페이스 혹은 DDR SDRAM 인터페이스를 가질 수 있다.
상기 내부 클럭의 주파수는 상기 제1 포트 인터페이스부 및 상기 제2 포트 인터페이스부 중 어느 하나가 DDR SDRAM 인터페이스를 가지는 경우 상기 포트 클럭의 주파수보다 4배 이상이고, 모두 SDRAM 인터페이스를 가지는 경우 상기 포트 클럭의 주파수보다 2배 이상일 수 있다.
본 발명의 다른 측면에 따르면, 멀티 포트 메모리의 공유 메모리 영역에의 접근을 제어하는 방법 및 이를 수행하는 프로그램이 기록된 기록매체가 제공된다.
일 실시예에 따른 멀티 포트 메모리의 접근 제어 방법은, (a) 제1 포트 디바이스에서 수행하고자 하는 제1 작업의 종류와 제2 포트 디바이스에서 수행하고자 하는 제2 작업의 종류를 판단하는 단계; (b) 상기 제1 작업의 종류 및 상기 제2 작업의 종류에 따라 상기 공유 메모리 영역에의 동시 접근 허용 여부를 결정하는 단계를 포함할 수 있다.
상기 단계 (b)는 상기 제1 작업의 종류 및 상기 제2 작업의 종류가 모두 쓰기인 경우, 상기 제1 포트 디바이스가 접근하고자 하는 상기 공유 메모리 영역의 제1 포트 영역과 상기 제2 포트 디바이스가 접근하고자 하는 상기 공유 메모리 영역의 제2 포트 영역이 다른 경우에 상기 공유 메모리 영역에의 동시 접근을 허용할 수 있다.
또는 상기 단계 (b)는 상기 제1 작업의 종류 및 상기 제2 작업의 종류가 모두 읽기인 경우, 상기 공유 메모리 영역에의 동시 접근을 허용할 수 있다.
또는 상기 단계 (b)는 상기 제1 작업의 종류 및 상기 제2 작업의 종류 중 어느 하나가 쓰기이고 다른 하나가 읽기인 경우, 상기 공유 메모리 영역에의 동시 접근을 허용할 수 있다.
상기 단계 (b)에서 동시 접근을 허용하는 경우, 상기 공유 메모리 영역과의 데이터 송수신시에는 내부 클럭에 의해, 상기 제1 포트 디바이스 및 상기 제2 포트 디바이스 중 하나 이상과의 데이터 송수신에는 포트 클럭에 의해 수행될 수 있다. 여기서, 상기 내부 클럭의 주파수는 상기 포트 클럭의 주파수보다 높을 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, 멀티 포트 메모리의 공유 메모리 영역에 둘 이상의 디바이스가 실질적으로 동시에 접근이 가능하여 디바이스 서로 간에 빠른 데이터 전송이 가능토록 하는 효과가 있다.
또한, 공유 메모리 영역에 대하여 실질적으로 동시에 둘 이상의 디바이스의 접근이 가능하여 효율적인 메모리 활용이 가능하다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 명세서에 기재된 "…부" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 명세서에서의 멀티 포트 메모리는 둘 이상의 포트 인터페이스부를 구비하여 둘 이상의 포트 디바이스에 결합되어 동작될 수 있는 메모리이다. 다만, 본 명세서에서는 멀티 포트 메모리의 일 실시예로서, 두 개의 포트 인터페이스부를 구비한 듀얼 포트 메모리인 경우를 중심으로 설명한다. 이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 듀얼 포트 메모리에 대한 외부 인터페이스를 위한 장치의 개략적인 블록구성도이다.
도 2를 참조하면, 듀얼 포트 메모리는 메모리 영역 및 외부 인터페이스 장치(100)를 포함할 수 있다.
메모리 영역은 제1 포트 디바이스(20)와 제2 포트 디바이스(30)가 접근하여 읽기 또는 쓰기 작업을 수행할 수 있는 공유 메모리 영역(180)을 포함할 수 있다. 도시되지는 않았으나 각 포트 디바이스에 대해서만 제한적인 접근이 가능한 전용 메모리 영역을 더 포함할 수도 있으나, 본 발명의 요지와는 다소 거리감이 있으므로 이에 대한 설명은 생략한다.
외부 인터페이스 장치(100)는, 제1 포트 인터페이스부(110), 제1 포트 버퍼(120), 제2 포트 인터페이스부(130), 제2 포트 버퍼(140), 클럭 생성부(150), 기능 레지스터(160) 및 주소 제어부(170)를 포함할 수 있다. 전술한 외부 인터페이스 장치(100)의 구성 요소 중 하나 이상의 구성 요소는 독립된 구성 요소로 분리되어 구현될 수 있다. 또한, 도시된 둘 이상의 구성 요소가 하나의 구성 요소로 통합되거나, 하나의 구성 요소가 둘 이상의 구성 요소로 분리되어 구현될 수도 있음은 당연하다.
본 실시예에 따른 듀얼 포트 메모리의 외부 인터페이스 장치(100)는 공유 메모리 영역(180)에 대하여 제1 포트 및 제2 포트를 통해 제1 포트 디바이스(20) 및 제2 포트 디바이스(30)와 연결되는 외부 인터페이스 역할을 수행한다. 이때 제1 포트 디바이스(20) 또는/및 제2 포트 디바이스(30)와의 데이터 송수신을 위한 포트 클럭보다 높은 주파수를 가지는 내부 클럭에 따라 공유 메모리 영역(180)과 데이터 송수신을 수행하도록 하여 두 포트(제1 포트 및 제2 포트)를 통한 공유 메모리 영 역(180)에의 접근을 제어한다.
본 실시예에서 제1 포트 디바이스(20), 제2 포트 디바이스(30)와 같은 포트 디바이스는 듀얼 포트 메모리에 접근하고자 하는 프로세서 혹은 디바이스일 수 있다. 예를 들어, 휴대용 단말기 내에 구비된 둘 이상의 프로세서가 각각 제1 포트 디바이스(20) 혹은 제2 포트 디바이스(30)가 되어 듀얼 포트 메모리에 접근하거나, 휴대용 단말기 이외에 외부의 디스플레이 장치와 같은 디바이스가 포트 디바이스가 되어 듀얼 포트 메모리 또는 제2 포트 버퍼(140)에 접근할 수 있을 것이다. 만일 디스플레이 장치가 제2 포트 디바이스(30)로 이용되는 경우, 디스플레이될 데이터를 저장하기 위한 버퍼가 제2 포트 버퍼(140)로 대체될 수 있어 디스플레이 장치의 구성이 보다 간단해질 수도 있다.
제1 포트 인터페이스부(110)는 제1 포트와 외부 인터페이스 장치(100) 사이의 연결 부분으로서, 제1 포트를 통해 연결된 제1 포트 디바이스(20)와 공유 메모리 영역(180) 간의 데이터 송수신을 위한 인터페이스를 제공한다.
제2 포트 인터페이스부(130)는 제2 포트와 외부 인터페이스 장치(100) 사이의 연결 부분으로서, 제2 포트를 통해 연결된 제2 포트 디바이스(30)와 공유 메모리 영역(180) 간의 데이터 송수신을 위한 인터페이스를 제공한다.
클럭 생성부(150)는 공유 메모리 영역(180)으로의 접근에 관련된 내부 클럭을 생성한다.
제1 포트 인터페이스부(110) 또는/및 제2 포트 인터페이스부(130)를 통한 데이터 송수신이 제어되는 클럭인 포트 클럭과 비교할 때, 기본적으로 내부 클럭의 주파수가 높은 것이 바람직하다.
제1 포트 버퍼(120)는 제1 포트로부터 제1 포트 인터페이스부(110)를 통해 입력된 데이터 혹은 공유 메모리 영역(180)으로부터 제1 포트로 전송되는 데이터가 임시로 저장되는 저장공간이다.
제1 포트로부터 제1 포트 버퍼(120)로 입력된 데이터는 내부 클럭에 의해 공유 메모리 영역(180)으로 전송된다. 공유 메모리 영역(180)의 데이터는 내부 클럭에 의해 제1 포트 버퍼(120)로 전송된 후 포트 클럭에 의해 제1 포트 인터페이스부(110)로 전송되어 최종적으로 제1 포트 디바이스(20)로 전송될 수 있다.
제1 포트 버퍼(120)에서의 데이터 입출력은 후술할 주소 제어부(170)에서 설정된 공유 메모리 영역(180)의 주소에 대하여 쓰기 작업을 위한 데이터 입력 혹은 읽기 작업을 위한 데이터 출력이 되도록 처리할 수 있다.
제2 포트 버퍼(140)는 제2 포트로부터 제2 포트 인터페이스부(130)를 통해 입력된 데이터 혹은 공유 메모리 영역(180)으로부터 제2 포트로 전송되는 데이터가 임시로 저장되는 저장공간이다.
제2 포트로부터 제2 포트 버퍼(140)로 입력된 데이터는 내부 클럭에 의해 공유 메모리 영역(180)으로 전송된다. 공유 메모리 영역(180)의 데이터는 내부 클럭에 의해 제2 포트 버퍼(140)로 전송된 후 포트 클럭에 의해 제2 포트 인터페이스부(130)로 전송되어 최종적으로 제2 포트 디바이스(30)로 전송될 수 있다.
제2 포트 버퍼(140)에서의 데이터 입출력은 후술할 주소 제어부(170)에서 설정된 공유 메모리 영역(180)의 주소에 대하여 쓰기 작업을 위한 데이터 입력 혹 은 읽기 작업을 위한 데이터 출력이 되도록 처리할 수 있다.
주소 제어부(170)는 제1 포트 또는/및 제2 포트를 통해서 제1 포트 디바이스(20) 또는/및 제2 포트 디바이스(30)가 접근하고자 하는 공유 메모리 영역(180)의 주소를 설정한다. 그리고 주소 제어부(170)는 제1 포트 버퍼(120) 또는/및 제2 포트 버퍼(140)로부터 설정된 주소로의 데이터 입력 혹은 설정된 주소로부터 제1 포트 버퍼(120) 또는/및 제2 포트 버퍼(140)로의 데이터 출력이 이루어질 수 있도록 제1 포트 버퍼(120) 또는/및 제2 포트 버퍼(140)의 동작을 제어할 수 있다.
공유 메모리 영역(180) 중 제1 포트 및 제2 포트에 할당된 영역에 한해 각 포트 디바이스는 접근할 수 있다. 제1 포트 디바이스(20) 및 제2 포트 디바이스(30)는 실질적으로 동시 접근이 가능하다. 즉, 공유 메모리 영역(180)에 대해 제1 포트와 제2 포트에서의 실질적인 동시 쓰기, 동시 읽기가 가능하다.
또한, 주소 제어부(170)에서의 설정에 따라 제1 포트 및 제2 포트가 동일한 영역에 대하여 할당받은 경우에 공유 메모리 영역(180)의 동일 주소에 대하여 제1 포트와 제2 포트의 실질적인 동시 읽기가 가능하다. 또한, 공유 메모리 영역(180)의 동일 주소에 대하여 제1 포트 및 제2 포트 중 어느 하나의 쓰기 및 다른 하나의 읽기가 실질적으로 동시에 가능하다.
기능 레지스터(160)는 외부 인터페이스 장치(100)의 각 구성요소들의 기능을 제어하는 레지스터 블록이다. 공유 메모리 영역(180)의 특정 영역에 대하여 제1 포트와 제2 포트에서 동시에 쓰기를 하고자 하는 경우에 우선권을 부여할 수 있다.
또한, 기능 레지스터(160)는 제1 포트를 통한 데이터 송수신 및 제2 포트를 통한 데이터 송수신시 어떠한 기능을 수행할지, 예를 들어 읽기 작업의 수행 혹은 쓰기 작업의 수행 등의 선택이 가능하다.
이하에서는 공유 메모리 영역(180)에 대해 제1 포트 및 제2 포트에서 실질적으로 동시에 접근할 때의 타이밍도와 실제 데이터가 쓰여지고 읽혀지는 순서 및 영역을 표시한 도면 등을 참조하여 본 실시예에 따른 내부 클럭에 따라 듀얼 포트 메모리에서 공유 메모리 영역에의 접근을 제어하는 방법을 설명하기로 한다.
도 3 내지 도 6은 본 발명의 일 실시예들에 따라 듀얼 포트 메모리의 공유 메모리 영역에 대해서 제1 포트 및 제2 포트에서 동시 쓰기를 진행할 때의 타이밍도이고, 도 7은 본 발명의 일 실시예들에 따라 실제 데이터가 쓰여지는 순서 및 영역을 표시한 도면이다.
이하 관련 도면을 참조하여 각 실시예들을 설명함에 있어, 상승 에지(rising edge) 또는 하강 에지(falling edge)에서 처리가 수행되는 제1 메모리는 SDRAM인 경우를 예로 들어 설명하고, 상승 에지(rising edge) 및 하강 에지(falling edge)에서 처리가 수행되는 제2 메모리는 DDR SDRAM인 경우를 예로 들어 설명한다.
즉, 도 3은 제1 포트 및 제2 포트가 SDRAM 인터페이스를 가지는 경우의 타이밍도이고, 도 4는 제1 포트 및 제2 포트가 DDR SDRAM 인터페이스를 가지는 경우의 타이밍도이며, 도 5는 제1 포트가 SDRAM 인터페이스를 가지고 제2 포트가 DDR SDRAM 인터페이스를 가지는 경우의 타이밍도이고, 도 6은 제1 포트가 DDR SDRAM 인터페이스를 가지고 제2 포트가 SDRAM 인터페이스를 가지는 경우의 타이밍도이다.
포트가 SDRAM 인터페이스를 가지는 경우에는 상승 에지에서 작업 수행이 이루어지며, 포트가 DDR SDRAM 인터페이스를 가지는 경우에는 상승 에지 및 하강 에지 모두에서 작업 수행이 이루어질 수 있다.
도 7을 참조하면, 공유 메모리 영역(180)에 대하여 제1 포트에 할당된 제1 포트 영역(181)과, 제2 포트에 할당된 제2 포트 영역(182)이 구분되어 있다. 제1 포트 영역(181)에 대하여 제1 포트 디바이스(20)로부터 기록된 데이터의 쓰기가 가능하며, 제2 포트 영역(182)에 대하여 제2 포트 디바이스(30)로부터 기록된 데이터의 쓰기가 가능하다. 여기서, 제1 포트 영역(181)에의 쓰기 작업 및 제2 포트 영역(182)에의 쓰기 작업은 실질적으로 동시에 수행될 수 있다.
도 3을 참조하면, 클럭 생성부(150)에서 생성된 내부 클럭과, 제1 포트 인터페이스부(110)에서의 제1 포트 클럭과, 제2 포트 인터페이스부(130)에서의 제2 포트 클럭의 타이밍도가 도시되어 있다. 여기서, 내부 클럭의 주파수는 제1 포트 클럭 혹은 제2 포트 클럭에 비해 높음을 확인할 수 있다.
제1 포트 및 제2 포트가 SDRAM 인터페이스를 가지고 있어 제1 포트를 통한 데이터 기록시 제1 포트 클럭의 상승 에지에서만 기록 작업이 수행되고, 제2 포트를 통한 데이터 기록시에도 역시 제2 포트 클럭의 상승 에지에서만 기록 작업이 수행된다.
종래에는 제1 포트와 제2 포트가 공유 메모리 영역(180)에 동시 접근이 불 가능하였는바, 제1 포트 디바이스(20)가 공유 메모리 영역(180)에 대한 접근 권한을 점유하고 있는 경우 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 점유할 수 없었다. 이때 제1 포트 클럭의 상승 에지마다 제1 포트 디바이스(20)에 의한 데이터 기록 작업이 수행된 이후에서야 제2 포트 디바이스(30)에 의한 데이터 기록 작업이 제2 포트 클럭의 상승 에지마다 수행됨으로 인해 전체 작업 시간이 늘어나는 한계가 있었다.
하지만, 본 실시예에서는 제1 포트 디바이스(20)와 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 함께 점유할 수 있다. 따라서, 제1 포트 디바이스(20)로부터의 데이터 기록이 제1 포트 클럭의 상승 에지마다 이루어짐과 함께 제2 포트 디바이스(30)로부터의 데이터 기록이 제2 포트 클럭의 상승 에지(즉, 제1 포트 디바이스(20)에 따른 처리가 수행되지 않는 상승 에지)마다 이루어질 수 있다.
이때 제1 포트 디바이스(20)에 의해 기록된 데이터는 일차적으로 제1 포트 클럭에 따라 제1 포트 버퍼(120)에 저장된 후 내부 클럭에 따라 공유 메모리 영역(180)의 지정된 주소에 기록된다. 마찬가지로 제2 포트 디바이스(30)에 의해 기록된 데이터는 일차적으로 제2 포트 클럭에 따라 제2 포트 버퍼(140)에 저장된 후 내부 클럭에 의해 공유 메모리 영역(180)의 지정된 주소에 기록된다.
제1 포트 버퍼(120)에 저장된 제1 포트 디바이스(20)의 데이터와, 제2 포트 버퍼(140)에 저장된 제2 포트 디바이스(30)에 데이터는 내부 클럭에 따라 순차적으로 각각 공유 메모리 영역(180)의 지정된 주소에 기록된다.
이 경우 내부 클럭이 제1 포트 클럭 혹은 제2 포트 클럭에 비해 높은 주파수를 가지기 때문에 제1 포트 클럭 혹은 제2 포트 클럭을 기준으로 한 주기 이내에 각각 공유 메모리 영역(180)의 지정된 주소에 데이터가 기록되도록 하는 것이 가능하여, 실질적으로 공유 메모리 영역(180)의 각 주소에 동시에 접근하여 데이터가 기록되는 것과 같은 효과를 나타낸다.
여기서, 제1 포트 클럭 혹은 제2 포트 클럭의 한 주기 이내에 내부 클럭에 의한 기록 작업이 2번 수행되어야 하는 바, 내부 클럭은 제1 포트 클럭 혹은 제2 포트 클럭에 비해 예를 들어 2배 이상의 높은 주파수를 가지도록 할 수 있다.
도 4를 참조하면, 제1 포트 및 제2 포트가 DDR SDRAM 인터페이스를 가지고 있어 제1 포트를 통한 데이터 기록시 제1 포트 클럭의 상승 에지 및 하강 에지에서 기록 작업이 수행되고, 제2 포트를 통한 데이터 기록시에도 역시 제2 포트 클럭의 상승 에지 및 하강 에지에서 기록 작업이 수행된다.
종래에는 제1 포트와 제2 포트가 공유 메모리 영역(180)에 동시 접근이 불가능하였는바, 제1 포트 디바이스(20)가 공유 메모리 영역(180)에 대한 접근 권한을 점유하고 있는 경우 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 점유할 수 없었다. 이때 제1 포트 클럭의 상승 에지 및 하강 에지마다 제1 포트 디바이스(20)에 의한 데이터 기록 작업이 수행된 이후에서야 제2 포트 디바이스(30)에 의한 데이터 기록 작업이 제2 포트 클럭의 각 에지마다 수행됨으로 인해 전체 작업 시간이 늘어나는 한계가 있었다.
하지만, 본 실시예에서는 제1 포트 디바이스(20)와 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 함께 점유할 수 있다. 따라서, 제1 포트 디바이스(20)로부터의 데이터 기록이 제1 포트 클럭의 상승 에지 및 하강 에지마다 이루어짐과 함께 제2 포트 디바이스(30)로부터의 데이터 기록이 제2 포트 클럭의 상승 에지 및 하강 에지(즉, 제1 포트 디바이스(20)에 따른 처리가 수행되지 않는 상승 에지 및 하강 에지)마다 이루어질 수 있다.
이때 제1 포트 디바이스(20)에 의해 기록된 데이터는 일차적으로 제1 포트 클럭에 따라 제1 포트 버퍼(120)에 저장된 후 내부 클럭에 따라 공유 메모리 영역(180)의 지정된 주소에 기록된다. 마찬가지로 제2 포트 디바이스(30)에 의해 기록된 데이터는 일차적으로 제2 포트 클럭에 따라 제2 포트 버퍼(140)에 저장된 후 내부 클럭에 의해 공유 메모리 영역(180)의 지정된 주소에 기록된다.
제1 포트 버퍼(120)에 저장된 제1 포트 디바이스(20)의 데이터와, 제2 포트 버퍼(140)에 저장된 제2 포트 디바이스(30)에 데이터는 내부 클럭에 따라 순차적으로 각각 공유 메모리 영역(180)의 지정된 주소에 기록된다.
이 경우 내부 클럭이 제1 포트 클럭 혹은 제2 포트 클럭에 비해 높은 주파수를 가지기 때문에 제1 포트 클럭 혹은 제2 포트 클럭을 기준으로 반주기 이내에 각각 공유 메모리 영역(180)의 지정된 주소에 데이터가 기록되도록 하는 것이 가능하여, 실질적으로 공유 메모리 영역(180)의 각 주소에 동시에 접근하여 데이터가 기록되는 것과 같은 효과를 나타낸다.
여기서, 제1 포트 클럭 혹은 제2 포트 클럭의 반주기 이내에 내부 클럭에 의한 기록 작업이 2번 수행되어야 하는 바, 내부 클럭은 제1 포트 클럭 혹은 제2 포트 클럭에 비해 예를 들어 4배 이상의 높은 주파수를 가지도록 할 수 있다.
도 5를 참조하면, 제1 포트가 SDRAM 인터페이스를 가지고 제2 포트가 DDR SDRAM 인터페이스를 가지고 있어 제1 포트를 통한 데이터 기록시 제1 포트 클럭의 상승 에지에서만 기록 작업이 수행되고, 제2 포트를 통한 데이터 기록시 제2 포트 클럭의 상승 에지 및 하강 에지에서 기록 작업이 수행된다.
종래에는 제1 포트와 제2 포트가 공유 메모리 영역(180)에 동시 접근이 불가능하였는바, 제1 포트 디바이스(20)가 공유 메모리 영역(180)에 대한 접근 권한을 점유하고 있는 경우 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 점유할 수 없었다. 이때 제1 포트 클럭의 상승 에지마다 제1 포트 디바이스(20)에 의한 데이터 기록 작업이 수행된 이후에서야 제2 포트 디바이스(30)에 의한 데이터 기록 작업이 제2 포트 클럭의 각 에지마다 수행됨으로 인해 전체 작업 시간이 늘어나는 한계가 있었다.
하지만, 본 실시예에서는 제1 포트 디바이스(20)와 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 함께 점유할 수 있다. 따라서, 제1 포트 디바이스(20)로부터의 데이터 기록이 제1 포트 클럭의 상승 에지마다 이루어짐과 함께 제2 포트 디바이스(30)로부터의 데이터 기록이 제2 포트 클럭의 상승 에지 및 하강 에지(즉, 제1 포트 디바이스(20)에 따른 처리가 수행되지 않는 상승 에지 및 하강 에지)마다 이루어질 수 있다.
이때 제1 포트 디바이스(20)에 의해 기록된 데이터는 일차적으로 제1 포트 클럭에 따라 제1 포트 버퍼(120)에 저장된 후 내부 클럭에 따라 공유 메모리 영역(180)의 지정된 주소에 기록된다. 마찬가지로 제2 포트 디바이스(30)에 의해 기록된 데이터는 일차적으로 제2 포트 클럭에 따라 제2 포트 버퍼(140)에 저장된 후 내부 클럭에 의해 공유 메모리 영역(180)의 지정된 주소에 기록된다.
제1 포트 버퍼(120)에 저장된 제1 포트 디바이스(20)의 데이터와, 제2 포트 버퍼(140)에 저장된 제2 포트 디바이스(30)에 데이터는 내부 클럭에 따라 순차적으로 각각 공유 메모리 영역(180)의 지정된 주소에 기록된다.
이 경우 내부 클럭이 제1 포트 클럭 혹은 제2 포트 클럭에 비해 높은 주파수를 가지기 때문에 제1 포트 클럭을 기준으로 한주기 이내에 혹은 제2 포트 클럭을 기준으로 반주기 이내에 각각 공유 메모리 영역(180)의 지정된 주소에 데이터가 기록되도록 하는 것이 가능하여, 실질적으로 공유 메모리 영역(180)의 각 주소에 동시에 접근하여 데이터가 기록되는 것과 같은 효과를 나타낸다.
여기서, 제1 포트 클럭의 한주기 혹은 제2 포트 클럭의 반주기 이내에 내부 클럭에 의한 기록 작업이 2번 수행되어야 하는 바, 내부 클럭은 예를 들어 제1 포트 클럭에 비해 2배 이상의 높은 주파수 혹은 제2 포트 클럭에 비해 4배 이상의 높은 주파수를 가지도록 할 수 있다.
도 6을 참조하면, 제1 포트가 DDR SDRAM 인터페이스를 가지고 제2 포트가 SDRAM 인터페이스를 가지고 있어 제1 포트를 통한 데이터 기록시 제1 포트 클럭의 상승 에지 및 하강 에지에서 기록 작업이 수행되고, 제2 포트를 통한 데이터 기록시 제2 포트 클럭의 상승 에지에서만 기록 작업이 수행된다.
종래에는 제1 포트와 제2 포트가 공유 메모리 영역(180)에 동시 접근이 불가능하였는바, 제1 포트 디바이스(20)가 공유 메모리 영역(180)에 대한 접근 권한을 점유하고 있는 경우 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 점유할 수 없었다. 이때 제1 포트 클럭의 각 에지마다 제1 포트 디바이스(20)에 의한 데이터 기록 작업이 수행된 이후에서야 제2 포트 디바이스(30)에 의한 데이터 기록 작업이 제2 포트 클럭의 상승 에지마다 수행됨으로 인해 전체 작업 시간이 늘어나는 한계가 있었다.
하지만, 본 실시예에서는 제1 포트 디바이스(20)와 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 함께 점유할 수 있다. 따라서, 제1 포트 디바이스(20)로부터의 데이터 기록이 제1 포트 클럭의 상승 에지 및 하강 에지마다 이루어짐과 함께 제2 포트 디바이스(30)로부터의 데이터 기록이 제2 포트 클럭의 상승 에지(즉, 제1 포트 디바이스(20)에 따른 처리가 수행되지 않는 상승 에지)마다 이루어질 수 있다.
이때 제1 포트 디바이스(20)에 의해 기록된 데이터는 일차적으로 제1 포트 클럭에 따라 제1 포트 버퍼(120)에 저장된 후 내부 클럭에 따라 공유 메모리 영역(180)의 지정된 주소에 기록된다. 마찬가지로 제2 포트 디바이스(30)에 의해 기록된 데이터는 일차적으로 제2 포트 클럭에 따라 제2 포트 버퍼(140)에 저장된 후 내부 클럭에 의해 공유 메모리 영역(180)의 지정된 주소에 기록된다.
제1 포트 버퍼(120)에 저장된 제1 포트 디바이스(20)의 데이터와, 제2 포트 버퍼(140)에 저장된 제2 포트 디바이스(30)에 데이터는 내부 클럭에 따라 순차적으 로 각각 공유 메모리 영역(180)의 지정된 주소에 기록된다.
이 경우 내부 클럭이 제1 포트 클럭 혹은 제2 포트 클럭에 비해 높은 주파수를 가지기 때문에 제1 포트 클럭을 기준으로 반주기 이내에 혹은 하강 에지 이후의 상승 에지, 혹은 제2 포트 클럭을 기준으로 한주기 이내에 각각 공유 메모리 영역(180)의 지정된 주소에 데이터가 기록되도록 하는 것이 가능하여, 실질적으로 공유 메모리 영역(180)의 각 주소에 동시에 접근하여 데이터가 기록되는 것과 같은 효과를 나타낸다.
여기서, 제1 포트 클럭의 반주기 혹은 제2 포트 클럭의 한주기 이내에 내부 클럭에 의한 기록 작업이 2번 수행되어야 하는 바, 내부 클럭은 예를 들어 제1 포트 클럭에 비해 4배 이상의 높은 주파수 혹은 제2 포트 클럭에 비해 2배 이상의 높은 주파수를 가지도록 할 수 있다.
도 8은 본 발명의 다른 실시예에 따라 듀얼 포트 메모리의 공유 메모리 영역에 대해서 제1 포트에서 쓰기 작업을 진행함과 동시에 제2 포트에서 읽기 작업을 진행할 때의 타이밍도이고, 도 9는 본 발명의 다른 실시예에 따라 실제 데이터가 쓰여지고 읽혀지는 순서 및 영역을 표시한 도면이다.
여기서, 도 8에는 제1 포트 및 제2 포트가 DDR SDRAM 인터페이스를 가지는 경우의 타이밍도가 하나의 실시예로서 도시되어 있지만, 제1 포트 및 제2 포트가 모두 SDRAM 인터페이스를 가지거나 제1 포트 및 제2 포트 중 어느 하나가 DDR SDRAM 인터페이스를 가지고 다른 하나가 SDRAM 인터페이스를 가지는 경우에도 본 발명이 적용될 수 있음은 물론이다.
도 9를 참조하면, 공유 메모리 영역(180)에 대하여 동일한 포트 영역(183, 184)이 공유 저장 영역으로서 제1 포트 및 제2 포트에 할당되어 있으며, 제1 포트에서는 포트 영역(183, 184)에 데이터를 기록하고 제2 포트에서는 포트 영역(183, 184)에 기록된 데이터를 읽어온다. 여기서, 제1 포트를 통해 포트 영역(183, 184)에의 쓰기 작업이 수행되고 있을 때 제2 포트에서의 읽기 작업은 실질적으로 동시에 수행될 수 있다.
도 8을 참조하면, 제1 포트 및 제2 포트가 DDR SDRAM 인터페이스를 가지고 있어 제1 포트를 통한 데이터 기록시 제1 포트 클럭의 상승 에지 및 하강 에지에서 기록 작업이 수행되고, 제2 포트를 통한 데이터 독출시 역시 제2 포트 클럭의 상승 에지 및 하강 에지에서 기록 작업이 수행된다.
종래에는 제1 포트와 제2 포트가 공유 메모리 영역(180)에 동시 접근이 불가능하였는바, 제1 포트 디바이스(20)가 공유 메모리 영역(180)에 대한 접근 권한을 점유하고 있는 경우 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 점유할 수 없었다. 이때 제1 포트 클럭의 상승 에지 및 하강 에지마다 제1 포트 디바이스(20)에 의한 데이터 기록 작업이 수행된 이후에서야 제2 포트 디바이스(30)에 의한 데이터 독출 작업이 제2 포트 클럭의 각 에지마다 수행됨으로 인해 전체 작업 시간이 늘어나는 한계가 있었다.
하지만, 본 실시예에서는 제1 포트 디바이스(20)와 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 함께 점유할 수 있다. 따라서, 제1 포트 디바이스(20)로부터의 데이터 기록이 제1 포트 클럭의 상승 에지 및 하강 에지마다 이루어짐과 함께 제2 포트 디바이스(30)로부터의 데이터 독출이 제2 포트 클럭의 상승 에지 및 하강 에지마다 이루어질 수 있다.
이때 제1 포트 디바이스(20)에 의해 기록된 데이터는 일차적으로 제1 포트 클럭에 의해 제1 포트 버퍼(120)에 저장된 후 내부 클럭에 따라 공유 메모리 영역(180)의 지정된 주소(여기서는 포트 영역(183, 184))에 기록된다.
그리고 공유 메모리 영역(180)의 지정된 주소에 기록된 데이터에 대하여 일차적으로 내부 클럭에 따라 제2 포트 버퍼(140)에 저장된 후 제2 포트 클럭에 의해 제2 포트 디바이스(30)가 독출하게 된다.
즉, 하나의 포트 클럭의 반주기 이내에 내부 클럭에 따른 데이터의 기록 및 데이터의 독출이 각각 이루어질 수 있어 실질적으로 공유 메모리 영역(180)의 동일 주소에 대한 동시 쓰기 및 읽기가 수행되는 것과 같은 효과를 나타낸다.
도 10은 본 발명의 또 다른 실시예에 따라 듀얼 포트 메모리의 공유 메모리 영역에 대해서 제1 포트 및 제2 포트에서 동시 읽기를 진행할 때의 타이밍도이고, 도 11은 본 발명의 또 다른 실시예에 따라 실제 데이터가 읽혀지는 순서 및 영역을 표시한 도면이다.
여기서, 도 10에는 제1 포트 및 제2 포트가 DDR SDRAM 인터페이스를 가지는 경우의 타이밍도가 하나의 실시예로서 도시되어 있지만, 제1 포트 및 제2 포트가 모두 SDRAM 인터페이스를 가지거나 제1 포트 및 제2 포트 중 어느 하나가 DDR SDRAM 인터페이스를 가지고 다른 하나가 SDRAM 인터페이스를 가지는 경우에도 본 발명이 적용될 수 있음은 물론이다.
도 11을 참조하면, 공유 메모리 영역(180)에 대하여 동일한 포트 영역(185, 186)이 공유 저장 영역으로서 제1 포트 및 제2 포트에 할당되어 있으며, 제1 포트 및 제2 포트에서는 포트 영역(185, 186)에 기록된 데이터를 실질적으로 동시에 읽어온다.
도 10을 참조하면, 제1 포트 및 제2 포트가 DDR SDRAM 인터페이스를 가지고 있어 제1 포트를 통한 데이터 독출시 제1 포트 클럭의 상승 에지 및 하강 에지에서 기록 작업이 수행되고, 제2 포트를 통한 데이터 독출시에도 역시 제2 포트 클럭의 상승 에지 및 하강 에지에서 기록 작업이 수행된다.
종래에는 제1 포트와 제2 포트가 공유 메모리 영역(180)에 동시 접근이 불가능하였는바, 제1 포트 디바이스(20)가 공유 메모리 영역(180)에 대한 접근 권한을 점유하고 있는 경우 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 점유할 수 없었다. 이때 제1 포트 클럭의 상승 에지 및 하강 에지마다 제1 포트 디바이스(20)에 의한 데이터 독출 작업이 수행된 이후에서야 제2 포트 디바이스(30)에 의한 데이터 독출 작업이 제2 포트 클럭의 각 에지마다 수행됨으로 인해 전체 작업 시간이 늘어나는 한계가 있었다.
하지만, 본 실시예에서는 제1 포트 디바이스(20)와 제2 포트 디바이스(30)가 공유 메모리 영역(180)에 대한 접근 권한을 함께 점유할 수 있다. 따라서, 제1 포트 디바이스(20)로부터의 데이터 독출이 제1 포트 클럭의 상승 에지 및 하강 에 지마다 이루어짐과 함께 제2 포트 디바이스(30)로부터의 데이터 독출이 제2 포트 클럭의 상승 에지 및 하강 에지마다 이루어질 수 있다.
이때 공유 메모리 영역(180)의 지정된 주소에 기록된 데이터에 대하여 일차적으로 내부 클럭에 따라 제1 포트 버퍼(120)에 저장된 후 제1 포트 클럭에 의해 제1 포트 디바이스(20)가 독출하게 된다. 마찬가지로 공유 메모리 영역(180)의 지정된 주소에 기록된 데이터에 대하여 일차적으로 내부 클럭에 따라 제2 포트 버퍼(140)에 저장된 후 제2 포트 클럭에 의해 제2 포트 디바이스(30)가 독출하게 된다.
즉, 하나의 포트 클럭의 반주기 이내에 내부 클럭에 따른 데이터의 독출이 제1 포트 및 제2 포트로 각각 이루어질 수 있어 실질적으로 공유 메모리 영역(180)의 동일 주소에 대한 동시 읽기가 수행되는 것과 같은 효과를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 듀얼 포트 메모리의 공유 메모리 영역에의 접근 제어 방법의 순서도이다.
단계 S200에서 기능 레지스터(160)는 제1 포트 디바이스(20)에서 공유 메모리 영역(180)에 접근하여 수행하고자 하는 제1 작업의 종류와 제2 포트 디바이스(30)에서 공유 메모리 영역(180)에 접근하여 수행하고자 하는 제2 작업의 종류를 판단한다. 여기서, 제1 작업의 종류 및 제2 작업의 종류는 예를 들어 읽기, 쓰기 등일 수 있다.
단계 S210에서 기능 레지스터(160)는 제1 작업의 종류와 제2 작업의 종류에 따라 제1 포트 디바이스(20) 또는/및 제2 포트 디바이스(30)의 공유 메모리 영역(180)에의 동시 접근 허용 여부를 결정한다.
제1 작업의 종류 및 제2 작업의 종류가 모두 쓰기인 경우(도 3 내지 도 6 참조) 공유 메모리 영역(180)의 동일 영역에 대해서는 동시 접근이 불가능하다.
따라서, 이 경우에는 제1 포트 디바이스(20)가 접근하고자 하는 공유 메모리 영역(180)의 제1 포트 영역과 제2 포트 디바이스(30)가 접근하고자 하는 공유 메모리 영역(180)의 제2 포트 영역이 동일한지 판단하며(단계 S220), 동일한 경우에는 두 포트 디바이스의 동시 접근을 불허하고(단계 S225) 다른 경우에 한해 두 포트 디바이스의 동시 접근을 허용할 수 있다(단계 S230).
제1 작업의 종류 및 제2 작업의 종류가 모두 읽기인 경우(도 10 참조) 공유 메모리 영역(180)에의 동시 접근을 허용할 수 있다(단계 S230).
제1 작업의 종류 및 제2 작업의 종류가 어느 하나는 읽기이고 다른 하나는 쓰기인 경우(도 8 참조)에도 공유 메모리 영역(180)에의 동시 접근을 허용할 수 있다(단계 S230).
단계 S230에서 동시 접근이 허용된 경우 도 3 내지 도 11을 참조하여 전술한 것과 같은 타이밍도, 읽기 혹은 쓰기 순서, 데이터가 기록되거나 읽혀지는 영역이 결정되어 공유 메모리 영역(180)에의 실질적인 동시 접근이 수행될 수 있다.
이를 통해 종래보다 빠른 데이터 전송이 가능하며, 효율적인 메모리 활용이 가능하다.
예를 들어, 듀얼 포트 메모리가 디스플레이 이미지 버퍼로 활용될 수 있다. 제1 포트 디바이스에서 생성된 고해상도 사용자 인터페이스(UI) 이미지를 그래픽 메모리가 구비되지 않은 디스플레이 장치(제2 포트 디바이스)로 전송하고자 할 때에 듀얼 포트 메모리의 공유 메모리 영역을 이미지 버퍼로 활용할 수 있다.
사용자 인터페이스 이미지에 대한 리프레쉬(refresh) 기능은 제2 포트 디바이스인 디스플레이 장치에서 관장하며, 계속적인 리프레쉬 작업에 의해 제1 포트 디바이스는 업데이트된 이미지를 계속적으로 듀얼 포트 메모리의 공유 메모리 영역에 기록함과 동시에 공유 메모리 영역에 기록된 이미지를 읽어와 제2 포트 디바이스로 전송하여 사용자가 시차 없이 업데이트된 사용자 인터페이스 이미지를 확인할 수 있게 된다.
상술한 듀얼 포트 메모리의 접근 제어 방법은 듀얼 포트 메모리의 외부 인터페이스 장치, 즉 디지털 처리 장치에 내장된 소프트웨어 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 자명하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 일반적인 듀얼 포트 메모리의 메모리 영역을 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 듀얼 포트 메모리에 대한 외부 인터페이스를 위한 장치의 개략적인 블록구성도.
도 3 내지 도 6은 본 발명의 일 실시예들에 따라 듀얼 포트 메모리의 공유 메모리 영역에 대해서 제1 포트 및 제2 포트에서 동시 쓰기를 진행할 때의 타이밍도.
도 7은 본 발명의 일 실시예들에 따라 실제 데이터가 쓰여지는 순서 및 영역을 표시한 도면.
도 8은 본 발명의 다른 실시예에 따라 듀얼 포트 메모리의 공유 메모리 영역에 대해서 제1 포트에서 쓰기 작업을 진행함과 동시에 제2 포트에서 읽기 작업을 진행할 때의 타이밍도.
도 9는 본 발명의 다른 실시예에 따라 실제 데이터가 쓰여지고 읽혀지는 순서 및 영역을 표시한 도면.
도 10은 본 발명의 또 다른 실시예에 따라 듀얼 포트 메모리의 공유 메모리 영역에 대해서 제1 포트 및 제2 포트에서 동시 읽기를 진행할 때의 타이밍도.
도 11은 본 발명의 또 다른 실시예에 따라 실제 데이터가 읽혀지는 순서 및 영역을 표시한 도면.
도 12는 본 발명의 일 실시예에 따른 듀얼 포트 메모리의 공유 메모리 영역에의 접근 제어 방법의 순서도.

Claims (20)

  1. 둘 이상의 포트에서의 접근이 가능한 공유 메모리 영역을 가지는 멀티 포트 메모리에 대한 외부 인터페이스를 위한 장치로서,
    제1 포트와 상기 공유 메모리 영역 간의 데이터 송수신을 위한 제1 포트 인터페이스부;
    제2 포트와 상기 공유 메모리 영역 간의 데이터 송수신을 위한 제2 포트 인터페이스부; 및
    상기 공유 메모리 영역으로의 접근을 제어하는 내부 클럭을 생성하는 클럭 생성부를 포함하되,
    상기 내부 클럭은 상기 제1 포트 인터페이스부 및 상기 제2 포트 인터페이스부 중 하나 이상의 포트 클럭보다 높은 주파수를 가지는 것을 특징으로 하는 멀티 포트 메모리의 외부 인터페이스 장치.
  2. 제1항에 있어서,
    상기 제1 포트와 상기 제2 포트는 상기 공유 메모리 영역에 동시 접근이 가능한 것을 특징으로 하는 멀티 포트 메모리의 외부 인터페이스 장치.
  3. 제2항에 있어서,
    상기 공유 메모리 영역에 대해 상기 제1 포트와 상기 제2 포트의 동시 쓰기가 가능한 것을 특징으로 하는 멀티 포트 메모리의 외부 인터페이스 장치.
  4. 제2항에 있어서,
    상기 공유 메모리 영역의 동일 주소에 대해 상기 제1 포트와 상기 제2 포트의 동시 읽기가 가능한 것을 특징으로 하는 멀티 포트 메모리의 외부 인터페이스 장치.
  5. 제2항에 있어서,
    상기 공유 메모리 영역의 동일 주소에 대해 상기 제1 포트 및 상기 제2 포트 중 어느 하나의 쓰기 및 다른 하나의 읽기가 동시에 가능한 것을 특징으로 하는 멀티 포트 메모리의 외부 인터페이스 장치.
  6. 제1항에 있어서,
    상기 제1 포트로부터 상기 제1 포트 인터페이스부를 통해 입력된 데이터 혹은 상기 공유 메모리 영역으로부터 상기 제1 포트로 전송되는 데이터가 임시로 저 장되는 제1 포트 버퍼를 더 포함하는 멀티 포트 메모리의 외부 인터페이스 장치.
  7. 제6항에 있어서,
    상기 제1 포트 버퍼는 상기 공유 메모리 영역과는 상기 내부 클럭에 의해 데이터를 송수신하고, 상기 제1 포트 인터페이스부와는 상기 포트 클럭에 의해 데이터를 송수신하는 것을 특징으로 하는 멀티 포트 메모리의 외부 인터페이스 장치.
  8. 제6항에 있어서,
    상기 제2 포트로부터 상기 제2 포트 인터페이스부를 통해 입력된 데이터 혹은 상기 공유 메모리 영역으로부터 상기 제2 포트로 전송되는 데이터가 임시로 저장되는 제2 포트 버퍼를 더 포함하는 멀티 포트 메모리의 외부 인터페이스 장치.
  9. 제8항에 있어서,
    상기 제2 포트 버퍼는 상기 공유 메모리 영역과는 상기 내부 클럭에 의해 데이터를 송수신하고, 상기 제2 포트 인터페이스부와는 상기 포트 클럭에 의해 데이터를 송수신하는 것을 특징으로 하는 멀티 포트 메모리의 외부 인터페이스 장치.
  10. 제1항에 있어서,
    상기 공유 메모리 영역에 대해서 상기 제1 포트 및 상기 제2 포트 중 하나 이상이 접근 가능한 영역의 주소를 설정하는 주소 제어부를 더 포함하는 멀티 포트 메모리의 외부 인터페이스 장치.
  11. 제1항에 있어서,
    상기 제1 포트 인터페이스부는 SDRAM 인터페이스 혹은 DDR SDRAM 인터페이스를 가지는 것을 특징으로 하는 멀티 포트 메모리의 외부 인터페이스 장치.
  12. 제1항에 있어서,
    상기 제2 포트 인터페이스부는 SDRAM 인터페이스 혹은 DDR SDRAM 인터페이스를 가지는 것을 특징으로 하는 멀티 포트 메모리의 외부 인터페이스 장치.
  13. 제1항에 있어서,
    상기 내부 클럭의 주파수는 상기 제1 포트 인터페이스부 및 상기 제2 포트 인터페이스부 중 어느 하나가 DDR SDRAM 인터페이스를 가지는 경우 상기 포트 클럭 의 주파수보다 4배 이상이고, 모두 SDRAM 인터페이스를 가지는 경우 상기 포트 클럭의 주파수보다 2배 이상인 것을 특징으로 하는 멀티 포트 메모리의 외부 인터페이스 장치.
  14. 멀티 포트 메모리의 공유 메모리 영역에의 접근을 제어하는 방법으로서,
    (a) 제1 포트 디바이스에서 수행하고자 하는 제1 작업의 종류와 제2 포트 디바이스에서 수행하고자 하는 제2 작업의 종류를 판단하는 단계; 및
    (b) 상기 제1 작업의 종류 및 상기 제2 작업의 종류에 따라 상기 공유 메모리 영역에의 동시 접근 허용 여부를 결정하는 단계를 포함하는 멀티 포트 메모리의 접근 제어 방법.
  15. 제14항에 있어서,
    상기 단계 (b)는 상기 제1 작업의 종류 및 상기 제2 작업의 종류가 모두 쓰기인 경우, 상기 제1 포트 디바이스가 접근하고자 하는 상기 공유 메모리 영역의 제1 포트 영역과 상기 제2 포트 디바이스가 접근하고자 하는 상기 공유 메모리 영역의 제2 포트 영역이 다른 경우에 상기 공유 메모리 영역에의 동시 접근을 허용하는 것을 특징으로 하는 멀티 포트 메모리의 접근 제어 방법.
  16. 제14항에 있어서,
    상기 단계 (b)는 상기 제1 작업의 종류 및 상기 제2 작업의 종류가 모두 읽기인 경우, 상기 공유 메모리 영역에의 동시 접근을 허용하는 것을 특징으로 하는 멀티 포트 메모리의 접근 제어 방법.
  17. 제14항에 있어서,
    상기 단계 (b)는 상기 제1 작업의 종류 및 상기 제2 작업의 종류 중 어느 하나가 쓰기이고 다른 하나가 읽기인 경우, 상기 공유 메모리 영역에의 동시 접근을 허용하는 것을 특징으로 하는 멀티 포트 메모리의 접근 제어 방법.
  18. 제14항에 있어서,
    상기 단계 (b)에서 동시 접근을 허용하는 경우,
    상기 공유 메모리 영역과의 데이터 송수신시에는 내부 클럭에 의해, 상기 제1 포트 디바이스 및 상기 제2 포트 디바이스 중 하나 이상과의 데이터 송수신에는 포트 클럭에 의해 수행되는 것을 특징으로 하는 멀티 포트 메모리의 접근 제어 방법.
  19. 제18항에 있어서,
    상기 내부 클럭의 주파수는 상기 포트 클럭의 주파수보다 높은 것을 특징으로 하는 멀티 포트 메모리의 접근 제어 방법.
  20. 제14항 내지 제19항 중 어느 하나에 기재된 멀티 포트 메모리의 접근 제어 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체.
KR1020090088952A 2009-09-21 2009-09-21 멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법 KR20110031624A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090088952A KR20110031624A (ko) 2009-09-21 2009-09-21 멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090088952A KR20110031624A (ko) 2009-09-21 2009-09-21 멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법

Publications (1)

Publication Number Publication Date
KR20110031624A true KR20110031624A (ko) 2011-03-29

Family

ID=43936588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090088952A KR20110031624A (ko) 2009-09-21 2009-09-21 멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법

Country Status (1)

Country Link
KR (1) KR20110031624A (ko)

Similar Documents

Publication Publication Date Title
KR100740635B1 (ko) 휴대형 단말기 및 휴대형 단말기에서의 공유 메모리 제어방법
JP5351145B2 (ja) メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法
US8661440B2 (en) Method and apparatus for performing related tasks on multi-core processor
US11853767B2 (en) Inter-core data processing method, system on chip and electronic device
US7822903B2 (en) Single bus command having transfer information for transferring data in a processing system
CN108304334B (zh) 应用处理器和包括中断控制器的集成电路
CN108881227B (zh) 远程白板系统的操作控制方法和装置、远程白板系统
US20220091780A1 (en) Memory access method and intelligent processing apparatus
WO2018041074A1 (zh) 一种内存设备的访问方法、装置和系统
US9026746B2 (en) Signal control device and signal control method
KR100634566B1 (ko) 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기
KR101103619B1 (ko) 멀티 포트 메모리 및 그 억세스 제어 방법
US8127110B2 (en) Method, system, and medium for providing interprocessor data communication
US10580107B2 (en) Automatic hardware ZLW insertion for IPU image streams
CN110377534B (zh) 数据处理方法及装置
KR102181441B1 (ko) 복수의 기능 블록들을 포함하는 반도체 장치
KR20080083235A (ko) 그래픽 가속기 및 그래픽 가속 방법
WO2023226845A1 (zh) 图像数据传输方法、装置和电子设备
KR101496340B1 (ko) 프로세서 및 메모리 제어 방법
KR100874169B1 (ko) 프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및이를 수행하기 위한 방법
KR100731969B1 (ko) 복수 경로를 통한 메모리 공유 방법 및 장치
KR20110031624A (ko) 멀티 포트 메모리의 외부 인터페이스 장치 및 접근 제어 방법
US20050135402A1 (en) Data transfer apparatus
US11308010B2 (en) Memory system having memories of different capacities
US9519487B2 (en) System-on-chip and method of operating the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application