KR100799908B1 - Interface module which connects memory - Google Patents

Interface module which connects memory Download PDF

Info

Publication number
KR100799908B1
KR100799908B1 KR1020060078817A KR20060078817A KR100799908B1 KR 100799908 B1 KR100799908 B1 KR 100799908B1 KR 1020060078817 A KR1020060078817 A KR 1020060078817A KR 20060078817 A KR20060078817 A KR 20060078817A KR 100799908 B1 KR100799908 B1 KR 100799908B1
Authority
KR
South Korea
Prior art keywords
data
clock
memory
input
output
Prior art date
Application number
KR1020060078817A
Other languages
Korean (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 KR1020060078817A priority Critical patent/KR100799908B1/en
Application granted granted Critical
Publication of KR100799908B1 publication Critical patent/KR100799908B1/en

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
    • 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/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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

An interface module connected to a memory is provided to minimize delay time when multimedia data is processed, and diversify usage of the memory by enabling an additional processor to store data received from an image sensor irrespective of memory use of a main controller. A clock generator(825) generates a clock for operating the memory(230). A multiplexer(835) receives data for transceiving by synchronizing with a received selection signal or the data delayed for the predetermined time by synchronizing with the clock, and selects and outputs one data. Each flip-flop(840,845) latches the data received from the multiplexer and outputs the latched data by synchronizing with the clock. A first I/O(Input/Output) pad(810) outputs the clock to the memory. A second I/O pad(815) receives the data from the memory by synchronizing with the clock. A third I/O pad(820) receives the clock output through the first I/O pad as feedback and outputs the received clock to the flip-flop.

Description

메모리에 연결된 인터페이스 모듈{Interface module which connects memory}Interface module which connects memory

도 1은 종래의 기술에 따른 메인 프로세서와 부가 프로세서가 부가 프로세서에 결합된 부가 메모리를 공유하는 구조를 나타낸 블록 구성도.1 is a block diagram illustrating a structure in which a main processor and an additional processor share an additional memory coupled to an additional processor according to the related art.

도 2는 본 발명의 바람직한 일 실시예에 따른 메인 프로세서와 부가 프로세서가 각각의 프로세서에 결합된 듀얼 포트 메모리를 공유하는 구조를 나타낸 블록 구성도.2 is a block diagram illustrating a structure in which a main processor and an additional processor share a dual port memory coupled to each processor, according to an exemplary embodiment of the present invention.

도 3은 본 발명의 바람직한 일 실시예에 따른 듀얼 포트 메모리의 내부 영역을 예시한 블록도.3 is a block diagram illustrating an internal region of a dual port memory in accordance with a preferred embodiment of the present invention.

도 4는 종래의 공유 메모리에 데이터를 기록하는 경우의 인터페이스의 블록도.Fig. 4 is a block diagram of an interface when writing data to a conventional shared memory.

도 5는 도 4의 인터페이스에 상응하여 공유 메모리에 데이터를 기록하는 경우 클럭과 시간의 관계를 예시한 타이밍도.FIG. 5 is a timing diagram illustrating a relationship between a clock and a time when data is written to the shared memory corresponding to the interface of FIG. 4. FIG.

도 6은 종래의 공유 메모리에 데이터를 독출(read)하는 경우의 인터페이스의 블록도.Fig. 6 is a block diagram of an interface when reading data into a conventional shared memory.

도 7은 도 6에 따른 인터페이스에 상응하여 공유 메모리에 데이터를 독출하는 경우 클럭과 데이터 독출에 상응하는 동작에 따른 시간의 관계를 예시한 타이 밍도.7 is a timing diagram illustrating a relationship between a clock and time according to an operation corresponding to data read when data is read into a shared memory corresponding to the interface of FIG. 6.

도 8은 본 발명의 바람직한 일 실시예에 따른 공유 메모리로부터 데이터를 독출하는 경우의 인터페이스의 블록도.8 is a block diagram of an interface when reading data from a shared memory according to an embodiment of the present invention.

도 9은 도 8에 따른 인터페이스에 상응하여 공유 메모리로부터 데이터를 독출하는 경우의 클럭과 데이터 독출에 상응하는 동작에 따른 시간의 관계를 예시한 타이밍도.FIG. 9 is a timing diagram illustrating a relationship between a clock and an operation corresponding to data read when a data is read from a shared memory corresponding to the interface of FIG. 8. FIG.

<도면의 주요 부분에 대한 부호의 설명> <Explanation of symbols for the main parts of the drawings>

810 : 제1 입출력 패드810: first input / output pad

815 : 제2 입출력 패드815: second input / output pad

820 : 제3 입출력 패드820: third input and output pad

825 : 클럭 생성부825: clock generator

830 : 딜레이부830: delay unit

835 : 멀티플렉서835: Multiplexer

840 : 제1 플립플롭840: first flip-flop

845 : 제2 플립플롭845: second flip-flop

본 발명은 디지털 처리 장치에 관한 것으로, 특히 다수의 포트를 구비한 메모리로 고속으로 데이터를 입력 또는/및 출력할 수 있는 인터페이스 모듈에 관한 것이다.TECHNICAL FIELD The present invention relates to digital processing apparatus, and more particularly, to an interface module that can input and / or output data at high speed to a memory having a plurality of ports.

일반적으로 디지털 처리 장치는 복수의 프로세서를 포함하여 구현된다. 예를 들어, 카메라 기능을 구비한 이동통신 단말기의 경우, 이동통신 단말기의 전반적인 동작을 제어하는 메인 프로세서와 미리 설정된 기능(예를 들어, 카메라 기능)을 수행하기 위한 어플리케이션 프로세서(부가 프로세서)가 포함된다. 부가 프로세서의 동작 개시/종료 등은 메인 프로세서에 의해 제어될 수 있다. In general, a digital processing apparatus includes a plurality of processors. For example, a mobile communication terminal having a camera function includes a main processor for controlling the overall operation of the mobile communication terminal and an application processor (additional processor) for performing a predetermined function (eg, a camera function). do. Operation start / end and the like of the additional processor may be controlled by the main processor.

도 1은 종래 기술에 따른 메인 프로세서와 부가 프로세서가 부가 프로세서에 결합된 부가 메모리를 공유하는 구조를 나타낸 블록 구성도이다. 이하에서는 부가 프로세서(120)가 멀티미디어 프로세서(multimedia processor)(즉, 이미지 센서(160)를 제어하고 이미지 센서(160)로부터 입력되는 멀티미디어 데이터 처리를 위한 프로세서)인 것을 가정하여 설명하기로 한다. 1 is a block diagram illustrating a structure in which a main processor and an additional processor share an additional memory coupled to an additional processor according to the related art. Hereinafter, it will be described on the assumption that the additional processor 120 is a multimedia processor (ie, a processor for controlling the image sensor 160 and processing multimedia data input from the image sensor 160).

도 1을 참조하면, 메인 프로세서(110)는 복수의 메모리 컨트롤러(예를 들어, 제1 메모리 컨트롤러(112), 제2 메모리 컨트롤러(114))를 구비한다. 메인 프로세서(110)는 제1 메모리 컨트롤러(112)의 동작에 의해 MP(main processor)-AP(application processor) 버스(BUS)를 통해 부가 프로세서(120)에 접속하여, 부가 프로세서(120)에 결합된 부가 메모리(140)에 데이터를 기록(write) 하거나 부가 메모리(140)에 저장된 데이터를 독출(read)한다. Referring to FIG. 1, the main processor 110 includes a plurality of memory controllers (eg, the first memory controller 112 and the second memory controller 114). The main processor 110 is connected to the additional processor 120 through the main processor (MP) -AP (BUS) bus (BUS) by the operation of the first memory controller 112 and coupled to the additional processor 120. Data is written to the additional memory 140, or data stored in the additional memory 140 is read.

또한, 메인 프로세서(110)는 제2 메모리 컨트롤러(114)의 동작에 의해 MP- MM(main memory) 버스(BUS)를 통해 메인 프로세서(110)에 직접 결합된 메인 메모리(130)에 접속하여 데이터를 기록하거나 저장된 데이터를 독출한다. In addition, the main processor 110 is connected to the main memory 130 directly coupled to the main processor 110 through the MP-MM bus BUS by the operation of the second memory controller 114. Record or read stored data.

부가 프로세서(120)는 인터페이스(121), 컨트롤러(123), 이미지 스케일링(125), 멀티미디어 처리부(127), 메모리 제어부(129)를 포함한다. The additional processor 120 includes an interface 121, a controller 123, an image scaling 125, a multimedia processor 127, and a memory controller 129.

부가 프로세서(120)는 AP-AM(application memory) 버스(BUS)를 통해 하나의 포트를 구비한 부가 메모리(140)에 결합된다. 그리고, 부가 프로세서(120)는 처리한 멀티미디어 데이터를 디스플레이하기 위한 표시부(150)와 결합될 수 있다. The additional processor 120 is coupled to the additional memory 140 having one port through an application memory bus (AP-AM). In addition, the additional processor 120 may be combined with the display unit 150 for displaying the processed multimedia data.

인터페이스(121)는 부가 프로세서(120)와 결합된 메인 프로세서(110)간의 데이터 송수신을 수행한다. 부가 프로세서(120)는 인터페이스(121)를 통해 메인 프로세서(110)로부터 제어 신호가 수신되면 상응하는 처리 동작을 수행한다. The interface 121 performs data transmission and reception between the main processor 110 and the additional processor 120. The additional processor 120 performs a corresponding processing operation when a control signal is received from the main processor 110 through the interface 121.

컨트롤러(123)는 부가 프로세서(120)의 구동을 위해 내장된 프로그램에 의해 부가 프로세서(120)의 동작을 제어한다. 예를 들어, 컨트롤러(123)는 부가 프로세서(120)의 동작을 제어하고, 프로그램의 수행시 필요한 데이터를 부가 메모리(140)로부터 독출하며, 처리된 프로그래밍 결과를 부가 메모리(140)에 저장할 수 있다. 즉, 컨트롤러(123)는 시스템 버스(170), 메모리 제어부(129)를 통해 부가 메모리(140)에 접근할 수 있다. 일반적으로 컨트롤러(123)는 메인 프로세서(110)로부터 수신된 제어 신호에 상응하여 부가 프로세서(120)의 동작을 제어한다. 컨트롤러(123)는 예를 들어, MCU(microcontroller unit)일 수 있다.The controller 123 controls the operation of the additional processor 120 by a built-in program for driving the additional processor 120. For example, the controller 123 may control an operation of the additional processor 120, read data necessary for executing a program from the additional memory 140, and store the processed programming result in the additional memory 140. . That is, the controller 123 may access the additional memory 140 through the system bus 170 and the memory controller 129. In general, the controller 123 controls the operation of the additional processor 120 in response to a control signal received from the main processor 110. The controller 123 may be, for example, a microcontroller unit (MCU).

이미지 스케일러(125)는 이미지 센서(160)로부터 입력되는 데이터를 컨트롤러(123)의 제어에 의해 가공하여 미리 설정된 데이터로 변환한다. 이미지 스케일 러(125)는 예를 들어, 이미지의 크기 조정, 색상 변경, 필터링(filtering)에 의한 부드러운 이미지 생성 등을 수행한다. 이미지 스케일러(125)에 의해 처리된 데이터는 메모리 제어부(129)에 의해 AP-AM 버스를 통해 부가 메모리(140)에 저장된다.The image scaler 125 processes the data input from the image sensor 160 under the control of the controller 123 and converts the data into preset data. The image scaler 125 performs, for example, resizing an image, changing a color, and generating a smooth image by filtering. Data processed by the image scaler 125 is stored by the memory controller 129 in the additional memory 140 via the AP-AM bus.

멀티미디어 처리부(127)는 부가 메모리(140)에 저장된 이미지 데이터를 독출하여 미리 정해진 포맷(예를 들어, MPEG-4, JPEG 등)으로 압축하거나 필요한 효과를 주는 기능을 수행한다. 또한, 멀티미디어 처리부(127)는 메인 프로세서(110)로부터 수신되어 부가 메모리(140)에 저장된 압축 파일을 독출하여 디코딩을 수행한 후 표시부(150)에 출력하는 기능을 수행한다. The multimedia processor 127 reads image data stored in the additional memory 140 and compresses the image data into a predetermined format (for example, MPEG-4, JPEG, etc.) or performs a function to give a necessary effect. In addition, the multimedia processor 127 reads the compressed file received from the main processor 110 and stored in the additional memory 140, performs decoding, and outputs the decoded file to the display unit 150.

메모리 제어부(129)는 부가 프로세서(120)의 내부 구성 요소들이 부가 메모리(140)로의 접근을 요청하는 경우 우선 순위를 결정하여 어느 하나의 구성 요소가 부가 메모리(140)에 접근하도록 제어하는 기능을 수행한다. 또한, 메모리 제어부(129)는 메인 프로세서(110)와 부가 프로세서(120)가 동시에 부가 메모리(140)로의 접근을 요청한 경우 우선 순위를 결정하여 어느 하나의 프로세서가 부가 메모리(140)에 접근할 수 있도록 제어할 수 있다. The memory controller 129 determines a priority when the internal components of the additional processor 120 request access to the additional memory 140 to control which component accesses the additional memory 140. Perform. In addition, when the main processor 110 and the additional processor 120 request access to the additional memory 140 at the same time, the memory controller 129 determines the priority so that any one processor may access the additional memory 140. Can be controlled.

이와 같이, 종래의 메모리 구조는 복수의 프로세서들 및/또는 구성 요소들이 하나의 버스를 통해 하나의 메모리에 접근하는 구조이다. 따라서, 메인 프로세서(110)에서 임의의 부가 프로세서(120)의 메모리를 이용하기 위해서는 많은 시간적 제한을 가진다. As such, a conventional memory structure is a structure in which a plurality of processors and / or components access one memory through one bus. Thus, there are many time limits for using the memory of any additional processor 120 in the main processor 110.

예를 들어, MPEG 파일을 재생하는 경우, 메인 프로세서(110)는 연결된 메인 메모리(130)에 저장된 또는 실시간으로 입력받은 MPEG 파일을 부가 프로세서(120) 로 전달하여야 한다. 여기서, MPEG 파일은 그 크기가 크기 때문에 부가 프로세서(120)에 결합된 부가 메모리(140)에 우선 기록되며, 필요한 시점에 부가 프로세서(120)의 특정 구송 요소(예를 들어, 멀티미디어 처리부(127))가 해당 데이터를 독출하여 디코딩(decoding)을 수행한 후 표시부(150)로 전달하여야 한다. For example, when playing an MPEG file, the main processor 110 should deliver the MPEG file stored in the connected main memory 130 or received in real time to the additional processor 120. Since the MPEG file is large in size, the MPEG file is first recorded in the additional memory 140 coupled to the additional processor 120, and a specific transport element (eg, the multimedia processing unit 127) of the additional processor 120 is needed when necessary. ) Reads the data, performs decoding, and delivers the data to the display unit 150.

따라서, 종래의 메모리 공유 구조에 의하면 프로세서간에 전달된 데이터의 크기가 클수록 부가 프로세서(120)에 연결된 부가 메모리(150)를 이용하는데 많은 제한이 있을 수 밖에 없다. 이는 부가 프로세서(120)에 포함된 각각의 내부 구성 요소들이 처리 동작을 수행할 때 부가 메모리(140)에 연결된 AP-AM 버스를 이용해야 하기 때문이다. Therefore, according to the conventional memory sharing structure, the larger the size of the data transferred between the processors, there is a lot of limitations in using the additional memory 150 connected to the additional processor 120. This is because each of the internal components included in the additional processor 120 must use the AP-AM bus connected to the additional memory 140 when performing the processing operation.

상술한 바와 같이, 종래의 메모리 공유 구조는 고성능, 고화질의 이미지 처리 등의 경우 많은 시간 지연이 발생되는 문제점이 있었다. 또한, 부가 프로세서의 처리 효율이 감소되는 문제점도 있었다.As described above, the conventional memory sharing structure has a problem that a large time delay occurs in the case of high performance, high quality image processing, and the like. In addition, there is a problem that the processing efficiency of the additional processor is reduced.

따라서, 상술한 문제점을 해결하기 위한 본 발명의 목적은 멀티미디어 데이터 처리(예를 들어, 고화질, 고성능의 이미지 처리, 오디오 데이터 재생 등)의 경우 시간 지연을 최소화할 수 있는 인터페이스 모듈을 제공하는 것이다.Accordingly, an object of the present invention for solving the above problems is to provide an interface module that can minimize the time delay in the case of multimedia data processing (for example, high-definition, high-performance image processing, audio data playback, and the like).

본 발명의 다른 목적은 메인 프로세서의 메모리 사용에 상관없이 부가 프로세서가 이미지 센서로부터 입력된 데이터를 저장하도록 할 수 있어 메모리의 이용을 다양화할 수 있는 인터페이스 모듈을 제공하는 것이다.Another object of the present invention is to provide an interface module that can allow an additional processor to store data input from an image sensor regardless of memory use of the main processor, thereby diversifying the use of memory.

본 발명의 또 다른 목적은 빠른 클럭(clock)으로 동작하는 경우 메모리 제어부에서 타이밍 여유도(timing margine) 확보가 어려우므로 메모리 클럭 패스를 개선하여 메모리 내부 동작의 안정성을 확보할 수 있는 인터페이스 모듈을 제공하는 것이다.Yet another object of the present invention is to secure a timing margin in the memory controller when operating at a fast clock, thereby providing an interface module that can secure memory internal operation by improving memory clock paths. It is.

본 발명의 또 다른 목적은 메인 프로세서와 부가 프로세서가 각각의 독립된 버스를 통해 메모리에 접근할 수 있으며, 접근된 메모리로 신속한 데이터 저장 및 독출이 가능한 인터페이스 모듈을 제공하는 것이다.It is still another object of the present invention to provide an interface module in which a main processor and an additional processor can access a memory through each independent bus, and can quickly store and read data from the accessed memory.

이외의 본 발명의 목적들은 하기의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.Other objects of the present invention will be easily understood through the description of the following examples.

상기 목적을 달성하기 위하여, 본 발명의 바람직한 일 측면에 따르면, 결합된 메모리와 데이터를 송수신하는 인터페이스 모듈이 제공된다.In order to achieve the above object, according to a preferred aspect of the present invention, there is provided an interface module for transmitting and receiving the combined memory and data.

본 발명의 바람직한 일 실시예에 따르면, 결합된 메모리와 데이터를 송수신하는 인터페이스 모듈에 있어서, 상기 메모리를 동작시키기 위한 클럭(clock)을 출력하는 클럭 생성부; 입력된 선택신호에 상응하여 송수신을 위한 데이터 및 미리 정해진 시간 동안 지연된 데이터를 상기 클럭에 상응하여 입력받아 어느 하나를 선택하여 출력하는 멀티플렉서; 및 상기 멀티플렉서로부터 입력된 데이터를 래치(latch)하고, 상기 래치된 데이터를 상기 클럭에 상응하도록 출력하는 플립플롭을 포함하는 인터페이스 모듈이 제공될 수 있다.According to an exemplary embodiment of the present invention, an interface module for transmitting and receiving data with a combined memory, the interface module comprising: a clock generator for outputting a clock for operating the memory; A multiplexer which receives data for transmission and reception and data delayed for a predetermined time corresponding to the input selection signal corresponding to the clock, and selects and outputs one of the multiplexers; And a flip-flop for latching data input from the multiplexer and outputting the latched data to correspond to the clock.

상기 클럭을 상기 메모리로 출력하는 제1 입출력 패드(pad); 상기 클럭에 상응하여 상기 메모리로부터 데이터를 입력받는 제2 입출력 패드; 및 상기 제1 입출력 패드를 통해 출력된 상기 클럭을 피드백으로 입력받아 상기 플립플롭으로 출력하는 제3 입출력 패드를 더 포함할 수 있다.A first input / output pad outputting the clock to the memory; A second input / output pad configured to receive data from the memory in response to the clock; And a third input / output pad configured to receive the clock output through the first input / output pad as feedback and output the feedback to the flip-flop.

상기 데이터는 상기 클럭에 상응하여 상기 메모리로부터 독출되어 상기 제2 입출력 패드를 통해 입력될 수 있다.The data may be read from the memory and input through the second input / output pad corresponding to the clock.

상기 데이터를 미리 정해진 소정의 시간만큼 지연시켜 상기 멀티플렉서로 출력하는 딜레이부를 더 포함할 수 있다.The apparatus may further include a delay unit configured to delay the data by a predetermined time and output the data to the multiplexer.

상기 플립플롭은, 상기 멀티플렉서를 통해 선택 출력된 데이터를 입력받고, 상기 제3 입출력 패드를 통해 피드백된 클럭을 입력받아 상기 피드백된 클럭에 상응하여 상기 선택 출력된 데이터를 출력하는 제1 플립플롭; 및 상기 제1 플립플롭을 통해 출력된 데이터를 래치하고, 상기 클럭 생성부를 통해 출력된 클럭을 입력받아 상기 클럭에 상응하여 상기 래치된 데이터를 출력하는 제2 플립플롭을 포함할 수 있다.The flip-flop may include a first flip-flop configured to receive data selectively outputted through the multiplexer, receive a clock fed back through the third input / output pad, and output the selected output data corresponding to the feedback clock; And a second flip-flop that latches data output through the first flip-flop, receives a clock output through the clock generator, and outputs the latched data corresponding to the clock.

상기 클럭 생성부는, 상기 클럭을 생성하고 제어하는 PLL(phase locked loop); 및 생성된 클럭을 미리 정해진 주기에 상응하여 출력하는 분주기를 포함할 수 있다.The clock generation unit may include a phase locked loop (PLL) for generating and controlling the clock; And a divider for outputting the generated clock corresponding to a predetermined period.

본 발명의 바람직한 다른 측면에 따르면, 결합된 메모리와 데이터를 송수신하는 인터페이스 모듈을 포함하는 디지털 처리 장치가 제공된다.According to another preferred aspect of the present invention, there is provided a digital processing apparatus comprising an interface module for transmitting and receiving data with a combined memory.

본 발명의 바람직한 일 실시예에 따르면, 디지털 처리 장치에 있어서, 메모리; 및 상기 메모리와 데이터를 송수신하기 위한 인터페이스 모듈을 포함하는 프로세서를 포함하되, 상기 인터페이스 모듈은, 상기 메모리를 동작시키기 위한 클럭(clock)을 출력하는 클럭 생성부; 입력된 선택신호에 상응하여 송수신을 위한 데이터 및 미리 정해진 시간 동안 지연된 데이터를 상기 클럭에 상응하여 입력받아 어느 하나를 선택하여 출력하는 멀티플렉서; 및 상기 멀티플렉서로부터 입력된 데이터를 래치(latch)하고, 상기 래치된 데이터를 상기 클럭에 상응하도록 출력하는 플립플롭을 포함하는 것을 특징으로 하는 디지털 처리 장치가 제공될 수 있다.According to one preferred embodiment of the present invention, there is provided a digital processing apparatus comprising: a memory; And a processor including an interface module for transmitting and receiving data with the memory, wherein the interface module comprises: a clock generator configured to output a clock for operating the memory; A multiplexer which receives data for transmission and reception and data delayed for a predetermined time corresponding to the input selection signal corresponding to the clock, and selects and outputs one of the multiplexers; And a flip-flop for latching data input from the multiplexer and outputting the latched data to correspond to the clock.

상기 데이터는 상기 클럭에 상응하여 상기 메모리로부터 독출되어 상기 인터페이스 모듈로 입력될 수 있다.The data may be read from the memory and input to the interface module corresponding to the clock.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted. In addition, in describing the present invention, when it is determined that the detailed description of the related known technology may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.

도 2는 본 발명의 바람직한 일 실시예에 따른 메인 프로세서와 부가 프로세서가 각각의 프로세서에 결합된 듀얼 포트 메모리를 공유하는 구조를 나타낸 블록 구성도이며, 도 3은 본 발명의 바람직한 일 실시예에 따른 듀얼 포트 메모리의 내부 영역을 예시한 블록도이다. 이하에서는 부가 프로세서(220)가 멀티미디어 프로세서인 것을 가정하여 이를 중심으로 설명하기로 한다. 예를 들어, 멀티미디어 프로세서는 이미지 센서(240)로부터 입력되는 멀티미디어 데이터를 처리하며, 메인 메모리(230)에 저장된 오디오 데이터를 처리하여 오디오 재생부(260)로 전달하며, 3D 게임을 실행하는 등의 기능들 중 하나 이상을 수행할 수 있다.FIG. 2 is a block diagram illustrating a structure in which a main processor and an additional processor share a dual port memory coupled to each processor, according to an exemplary embodiment of the present invention, and FIG. 3 is a block diagram of the preferred embodiment of the present invention. A block diagram illustrating an internal area of dual port memory. Hereinafter, assuming that the additional processor 220 is a multimedia processor, it will be described based on this. For example, the multimedia processor processes multimedia data input from the image sensor 240, processes the audio data stored in the main memory 230, transmits the audio data to the audio reproducing unit 260, and executes a 3D game. May perform one or more of the functions.

도 2를 참조하면, 메인 프로세서(210)는 복수의 메모리 컨트롤러(예를 들어, 제1 메모리 컨트롤러(212), 제2 메모리 컨트롤러(214))를 구비한다. 메인 프로세서(210)는 제1 메모리 컨트롤러(212)의 동작에 의해 MP(main-processor)-AP(application processor) 버스(BUS)를 통해 부가 프로세서(220)와 결합되어 데이터 또는 제어 명령 등을 송수신할 수 있다. Referring to FIG. 2, the main processor 210 includes a plurality of memory controllers (eg, a first memory controller 212 and a second memory controller 214). The main processor 210 is coupled with the additional processor 220 through a main-processor (AP) -AP (BUS) bus (BUS) by the operation of the first memory controller 212 to transmit and receive data or control commands. can do.

또한, 메인 프로세서(210)는 제2 메모리 컨트롤러(214)의 동작에 의해 MP-SM(share memory) 버스를 통해 공유 메모리(230)에 접속하여 데이터를 기록하거나 저장된 데이터를 독출할 수 있다. In addition, the main processor 210 may access the shared memory 230 through the MP-SM bus via the operation of the second memory controller 214 to record data or to read stored data.

부가 프로세서(220)는 MP(main processor)-AP(application processor) 버스 를 통해 메인 프로세서(210)와 결합된다. 그리고, 부가 프로세서(220)는 두개의 포트를 구비한 공유 메모리(230)와 AP-CM(share memory) 버스를 통해 결합된다. 또한, 부가 프로세서(220)는 이미지 센서(240)로부터 입력된 멀티미디어 데이터를 처리하여 공유 메모리(230)에 저장하고, 공유 메모리(230)에 저장된 멀티미디어 데이터를 처리하여 출력 수단(예를 들어, 표시부(250), 오디오 재생부(260))을 통해 출력할 수 있다. The additional processor 220 is coupled to the main processor 210 through a main processor (MP) -AP (application processor) bus. The additional processor 220 is coupled via a shared memory 230 having two ports and an AP-CM bus. In addition, the additional processor 220 processes the multimedia data input from the image sensor 240 and stores it in the shared memory 230, and processes the multimedia data stored in the shared memory 230 to output an output means (for example, a display unit). 250, the audio reproduction unit 260 may be output.

부가 프로세서(220)는 MP 인터페이스(221), 컨트롤러(222), 멀티미디어 처리부(223), 이미지 스케일러(224), 오디오 인터페이스(225) 및 메모리 제어부(226)를 포함한다. The additional processor 220 includes an MP interface 221, a controller 222, a multimedia processor 223, an image scaler 224, an audio interface 225, and a memory controller 226.

MP 인터페이스(221)는 MP-AP 버스를 통해 부가 프로세서(220)와 결합된 메인 프로세서(210)간의 데이터를 송수신한다. 예를 들어, 부가 프로세서(220)는 MP 인터페이스(221)를 통해 메인 프로세서(210)로부터 제어 신호가 수신되면 상응하는 처리 동작을 수행한다. The MP interface 221 transmits and receives data between the main processor 210 coupled with the additional processor 220 through the MP-AP bus. For example, when the control signal is received from the main processor 210 through the MP interface 221, the additional processor 220 performs a corresponding processing operation.

컨트롤러(222)는 부가 프로세서(210)의 구동을 위해 내장된 프로그램에 의해 부가 프로세서(220)의 동작을 제어한다. 부가 프로세서(220)의 동작을 제어하고, 프로그램의 수행시 필요한 데이터는 공유 메모리(230)로부터 독출하며, 처리된 결과를 공유 메모리(230)에 저장하거나 출력 수단을 통해 출력되도록 한다. 컨트롤러(222)는 예를 들어, MCU(microcontroller unit)일 수 있다.The controller 222 controls the operation of the additional processor 220 by a built-in program for driving the additional processor 210. The operation of the additional processor 220 is controlled, data necessary for the execution of the program is read from the shared memory 230, and the processed result is stored in the shared memory 230 or output through the output means. The controller 222 may be, for example, a microcontroller unit (MCU).

멀티미디어 처리부(223)는 메모리 제어부(226)를 통해 공유 메모리(230)에 저장된 데이터를 독출하여 상응하는 처리를 수행한다. 예를 들어, 멀티미디어 처리 부(223)는 독출된 데이터가 이미지 데이터인 경우 미리 지정된 포맷(예를 들어, MPEG-4, JPEG)으로 압축하거나 필요한 이미지 효과(예를 들어, 흑백 처리 등)를 주는 등의 역할을 수행할 수 있다. 또한, 멀티미디어 처리부(223)는 독출된 데이터가 오디오 데이터인 경우 디코딩을 수행할 수 있다. 멀티미디어 처리부(223)에 의해 처리된 데이터는 공유 메모리(230)에 저장되거나 출력 수단(예를 들어, 표시부(250), 오디오 재생부(260))을 통해 출력될 수 있다.The multimedia processor 223 reads data stored in the shared memory 230 through the memory controller 226 and performs a corresponding process. For example, if the read data is image data, the multimedia processing unit 223 compresses the data into a predetermined format (for example, MPEG-4 or JPEG) or gives a necessary image effect (for example, black and white processing). And the like. In addition, the multimedia processor 223 may perform decoding when the read data is audio data. The data processed by the multimedia processing unit 223 may be stored in the shared memory 230 or output through the output means (for example, the display unit 250 and the audio reproduction unit 260).

이미지 스케일러(224)는 이미지 센서(240)로부터 입력되는 데이터를 컨트롤러(222)의 제어에 의해 가공하여 미리 설정된 이미지 데이터로 변환한다. 예를 들어, 이미지 스케일러(224)는 이미지의 크기 조정, 색상 변경, 필터링(filtering)에 의한 부드러운 이미지 생성 등을 수행할 수 있다. 그리고, 이미지 스케일러(224)에 의해 처리된 데이터는 메모리 제어부(226)에 할당된 AP-CM 버스를 통해 공유 메모리(230)에 저장될 수 있다.The image scaler 224 processes the data input from the image sensor 240 under the control of the controller 222 and converts the data into preset image data. For example, the image scaler 224 may perform image resizing, color change, smooth image generation by filtering, and the like. The data processed by the image scaler 224 may be stored in the shared memory 230 through the AP-CM bus allocated to the memory controller 226.

본 발명의 이미지 스케일러(224)는 공유 메모리(230)로 멀티미디어 데이터를 저장하는 구성 요소의 일 실시예에 불과할 수 있으며, 본 발명은 공유 메모리(230)로 멀티미디어 데이터(예를 들어, 이미지 데이터 및/또는 오디오 데이터 등)를 실시간 저장할 필요가 있는 모든 멀티미디어 데이터 입력부에 범용적으로 적용될 수도 있음은 당연하다.The image scaler 224 of the present invention may be just one embodiment of a component that stores multimedia data in the shared memory 230, and the present invention provides a multimedia data (e.g., image data and And / or audio data) may be universally applied to all multimedia data inputs that need to be stored in real time.

또한, 멀티미디어 처리부(223) 등은 공유 메모리(230)에 저장된 멀티미디어 데이터를 처리하는 구성 요소의 일 실시예에 불과하며, 공유 메모리(230)에 저장된 멀티미디어 데이터를 처리하여 공유 메모리(230)에 다시 저장하거나 표시부(250)를 통해 디스플레이하거나 또는 메인 프로세서(210)로 전송하는 모든 멀티미디어 데이터 처리부에 범용적으로 적용될 수 있음은 자명하다. In addition, the multimedia processing unit 223 is just an embodiment of a component that processes the multimedia data stored in the shared memory 230, and processes the multimedia data stored in the shared memory 230 and returns to the shared memory 230. Obviously, the present invention can be universally applied to any multimedia data processing unit that stores, displays through the display unit 250, or transmits the data to the main processor 210.

오디오 인터페이스(225)는 오디오 재생부(260)와의 인터페이스를 담당한다. 예를 들어, 오디오 재생부(260)는 오디오 코덱, 스피커 등을 포함할 수 있다. The audio interface 225 is in charge of the interface with the audio reproducing unit 260. For example, the audio player 260 may include an audio codec, a speaker, and the like.

메모리 제어부(226)는 이미지 센서(240)로부터 입력되는 데이터, 부가 프로세서(220)의 내부 구성 요소들(예를 들어, 멀티미디어 처리부(223), 오디오 인터페이스(225) 등)을 통해 입력되는 데이터를 공유 메모리(2300에 저장한다. 그리고, 메모리 제어부(226)는 부가 프로세서(220)의 내부 구성 요소들(예를 들어, 멀티미디어 처리부(223), 오디오 인터페이스(225) 등)가 공유 메모리(230)에 저장된 데이터를 독출하도록 하기 위해 AP-SM 버스의 할당을 제어한다. 메모리 제어부(226)는 컨트롤러(222)의 제어에 의해 버스 할당을 제어할 수 있음은 당연하다. The memory controller 226 may input data input from the image sensor 240 and data input through internal components of the additional processor 220 (eg, the multimedia processor 223, the audio interface 225, etc.). The memory controller 226 stores internal components (eg, the multimedia processor 223, the audio interface 225, and the like) of the additional processor 220 in the shared memory 230. The allocation of the AP-SM bus is controlled to read data stored in the memory controller 226. The memory controller 226 may control the bus allocation under the control of the controller 222.

공유 메모리(230)는 두개의 포트를 구비하며, 각각의 포트 중 어느 하나는 메인 프로세서(210)와 결합되며, 다른 하나는 부가 프로세서(220)와 결합된다. 예를 들어, 공유 메모리(230)는 MP-CM 버스를 통해 메인 프로세서(210)와 결합될 수 있으며, AP-CM 버스를 통해 부가 프로세서(220)와 결합될 수 있다. 여기서, 공유 메모리(230)는 듀얼 포트 메모리의 특성상 두개의 포트 중 어느 포트로도 전체 영역에 접근할 수 있으며, 각각의 포트를 통해서만 제한적으로 접근할 수 있도록 내부 영역이 구분될 수도 있다. The shared memory 230 has two ports, one of which is coupled to the main processor 210 and the other to the additional processor 220. For example, the shared memory 230 may be combined with the main processor 210 through the MP-CM bus and may be combined with the additional processor 220 through the AP-CM bus. In this case, the shared memory 230 may access the entire region through any of two ports due to the characteristics of the dual port memory, and the internal region may be divided so that only limited access is possible through each port.

예를 들어, 도 3에 예시된 바와 같이, 공유 메모리(230)는 3개의 영역으로 분리되어 있을 수 있으며, 각각 정해진 영역에 접근할 수 있는 포트(예를 들어, 제 1 억세스 포트(310), 제2 엑세스 포트(335))를 포함할 수 있으며, 각각의 포트를 통해 임의의 영역으로의 접근을 제어하는 내부 컨트롤러(315)를 포함할 수 있다. For example, as illustrated in FIG. 3, the shared memory 230 may be divided into three regions, each of which may access a predetermined region (eg, the first access port 310, The second access port 335 may be included, and may include an internal controller 315 for controlling access to an arbitrary area through each port.

도 3을 참조하면, 공유 메모리(230)는 메인 프로세서(210)만 접근할 수 있는 제1 영역(320), 부가 프로세서(220)만 접근할 수 있는 제3 영역(330), 메인 프로세서(210)와 부가 프로세서(220)에 의해 공동으로 접근될 수 있는 제2 영역(325)로 구분될 수 있다.Referring to FIG. 3, the shared memory 230 may include a first region 320 accessible only to the main processor 210, a third region 330 accessible only to the additional processor 220, and a main processor 210. ) And a second area 325 that can be jointly accessed by the additional processor 220.

제1 억세스 포트(310)는 메인 프로세서(210)와 결합되며, 제2 억세스 포트(335)는 부가 프로세서(220)와 결합되어 미리 정해진 임의의 영역에 접속할 있는 경로를 제공한다. 여기서, 각각의 포트(예를 들어, 제1 억세스 포트(310) 및 제2 억세스 포트(335))는 데이터 신호(Data_A, Data_B), 주소 신호(Addr_A, Addr_B), 제어 신호(Ctrl-A, Ctrl-B), 클럭 신호(CLK-A, CLK-B)를 위한 핀들을 각각 구비하여 이를 통해 메인 프로세서(210) 또는 부가 프로세서(220)와 결합되어 데이터(예를 들어, 데이터 신호, 주소 신호 등)를 송수신할 수 있다.The first access port 310 is coupled to the main processor 210, and the second access port 335 is coupled to the additional processor 220 to provide a path for accessing a predetermined area. Here, each of the ports (eg, the first access port 310 and the second access port 335) may include data signals Data_A and Data_B, address signals Addr_A and Addr_B, and control signals Ctrl-A, Ctrl-B) and pins for clock signals CLK-A and CLK-B, respectively, which are combined with the main processor 210 or the additional processor 220 to provide data (e.g., data signals, address signals). Etc.) can be transmitted and received.

내부 컨트롤러(315)는 메인 프로세서(210) 또는 부가 프로세서(220)가 제1 억세스 포트(310) 또는 제2 억세스 포트(335) 중 어느 하나를 통해 임의의 영역에 접근하는 경우, 해당 영역에 접근할 수 있도록 제어하는 기능을 수행한다.The internal controller 315 accesses an area when the main processor 210 or the additional processor 220 accesses an area through either the first access port 310 or the second access port 335. It performs the function to control so that it can be done.

또한, 메인 프로세서(210) 및 부가 프로세서(220)가 공통으로 사용하는 영역(예를 들어, 제2 영역(325))에 접근하고 있는 경우 내부 컨트롤러(315)는 공통 영역(즉, 제2 영역(325))의 접근이 완료되기전까지 다른 프로세서에 의해 해당 공통 영역(즉, 제2 영역(325))에 접근되지 못하도록 제어할 수 있다. In addition, when the main processor 210 and the additional processor 220 approach a region commonly used (for example, the second region 325), the internal controller 315 may access the common region (that is, the second region). Until the access of 325 is completed, it may be controlled to prevent access to the common area (ie, the second area 325) by another processor.

예를 들어, 메인 프로세서(210)가 MP-SM 버스를 통해 공유 메모리(230)의 제2 영역(325)에 접근하여 데이터를 저장하고 있다고 가정하자. 그러면, 부가 프로세서(220)는 AP-SM 버스를 통해 공유 메모리(230)에 접근할 수 있다. 그러나, 메모리 제어부(226)는 메인 프로세서(210)가 공유 메모리(230)의 제2 영역(320)에 데이터 저장이 완료될때까지 부가 프로세서(220)가 해당 영역(즉, 제2 영역(325))에 접근하지 못하도록 제어할 수 있다. 즉, 공유 메모리(230)는 복수의 영역으로 분할되어 구비된 각각의 포트를 통해 메인 프로세서(210) 또는 부가 프로세서(220)에 동시에 접근될 수 있다. 그러나, 메모리의 정합성을 위해 메모리 제어부(226)는 메인 프로세서(210) 또는 부가 프로세서(220) 중 어느 하나가 접근된 영역(예를 들어, 제2 영역(325))에 접근이 해제될때까지 해당 영역에 접근되지 못하도록 제어할 수 있다. 통해 메모리 제어부(226)는 공유 메모리(230)의 메인 프로세서(210) 또는 부가 프로세서(220)에 의해 임의의 영역에 동시 접근으로 발생하는 데이터 충돌로 인한 에러 발생을 방지할 수 있다.For example, assume that the main processor 210 accesses the second area 325 of the shared memory 230 through the MP-SM bus to store data. The additional processor 220 may then access the shared memory 230 through the AP-SM bus. However, in the memory controller 226, the additional processor 220 may maintain the corresponding area (ie, the second area 325) until the main processor 210 completes storing data in the second area 320 of the shared memory 230. ) Can be controlled from access. That is, the shared memory 230 may simultaneously access the main processor 210 or the additional processor 220 through respective ports provided in a plurality of areas. However, for memory consistency, the memory controller 226 may maintain the memory controller 226 until the region (eg, the second region 325) accessed by either the main processor 210 or the additional processor 220 is released. You can control access to an area. The memory controller 226 may prevent an error due to a data collision caused by simultaneous access to an arbitrary area by the main processor 210 or the additional processor 220 of the shared memory 230.

이하, 공유 메모리(230)로의 데이터 기록 및/또는 독출을 위해 메모리 제어부(226) 또는 제2 메모리 컨트롤러(214)가 공유 메모리(230)을 제어하기 위해 출력한 빠른 클록에 상응하여 내부 플립플롭에 안정적으로 데이터를 래치(latch)한 후 출력하는 것에 대해서는 하기에서 관련 도면을 참조하여 설명하기로 한다. Hereinafter, the internal flip-flop corresponds to a fast clock output by the memory controller 226 or the second memory controller 214 to control the shared memory 230 for writing and / or reading data into the shared memory 230. Stable output of the data after latching will be described with reference to the accompanying drawings.

상술한 바와 같이, 메인 프로세서(210) 또는 부가 프로세서(220)는 각각의 버스(예를 들어, MP-SM버스, AP-SM 버스 등)를 통해 공유 메모리와 결합되어 각각의 데이터를 기록 또는 독출할 수 있다. As described above, the main processor 210 or the additional processor 220 is coupled to the shared memory via each bus (e.g., MP-SM bus, AP-SM bus, etc.) to write or read each data. I can ship it.

우선, 이해와 설명의 편의를 위해, 도 4 내지 도 7을 참조하여 공유 메모리(230)에 데이터를 기록 또는 독출하는 경우 종래의 인터페이스에 따른 클럭과 시간 관계에 대해 간략하게 설명하기로 한다.First, for convenience of understanding and description, a clock and time relationship according to a conventional interface will be briefly described with reference to FIGS. 4 to 7 when writing or reading data to the shared memory 230.

도 4는 종래의 공유 메모리에 데이터를 기록하는 경우의 인터페이스의 블록도이며, 도 5는 도 4의 인터페이스에 상응하여 공유 메모리에 데이터를 기록하는 경우 클럭과 시간의 관계를 예시한 타이밍도이다. 이하에서, 공유 메모리(230)에 결합된 인터페이스는 메모리 제어부(226) 또는 제2 메모리 컨트롤러(214) 일 수 있으나, 설명의 편의를 위해, 메모리 제어부(226)인 것으로 가정하여 설명하기로 한다. 4 is a block diagram of an interface in the case of writing data in a conventional shared memory, and FIG. 5 is a timing diagram illustrating a relationship between a clock and time when data is written in the shared memory corresponding to the interface of FIG. 4. In the following description, the interface coupled to the shared memory 230 may be the memory controller 226 or the second memory controller 214. However, for convenience of description, it is assumed that the interface is coupled to the memory controller 226.

여기서, 클럭 생성부(410)는 메모리 제어부(226)의 각각의 구성 요소(예를 들어, D 플립플롭(420)) 또는 공유 메모리(230)의 동작을 위한 클럭 신호를 생성하거나 미리 정해진 시간 주기로 클럭 주기를 조절하여 출력하는 PLL 및 분주기를 포함한다. 여기서, PLL 및 분주기의 상세한 동작은 당업자에게는 자명한 사항이므로 이에 대한 상세한 설명은 생략하며, 이해와 설명의 편의를 위해 클럭 생성부로 통칭하여 설명하기로 한다. Here, the clock generator 410 generates a clock signal for the operation of each component of the memory controller 226 (eg, the D flip-flop 420) or the shared memory 230, or at predetermined time periods. It includes a PLL and a divider that adjusts and outputs a clock period. Here, since the detailed operation of the PLL and the divider is obvious to those skilled in the art, a detailed description thereof will be omitted and will be collectively described as a clock generator for convenience of understanding and description.

또한, 데이터 생성부(415)는 외부로부터 데이터를 전달받거나(예를 들어, 멀티미디어 처리부(223), 이미지 센서(240) 등), 메모리 제어부(226) 내부에서 임의의 연산에 의해 공유 메모리(230)에 기록할 필요가 있는 데이터를 생성하여 출력하는 기능을 수행한다. In addition, the data generator 415 may receive data from the outside (for example, the multimedia processor 223, the image sensor 240, or the like), or may execute the shared memory 230 by an arbitrary operation inside the memory controller 226. This function creates and outputs the data that needs to be recorded in.

도 4를 참조하면, 클럭 생성부(410)는 미리 정해진 시간에 상응하여 공유 메모리(230)에 데이터를 기록(write)하기 위해 공유 메모리(230)의 동작을 위한 클럭(이하, "메모리 클럭(SDR_CLK)"이라 칭함)을 D 플립플롭(420)으로 출력한다. 여기서, D 플립플롭(420)은 데이터 생성부(415)를 통해 출력된 데이터를 입력받아 래치(latch)하고 있을 수 있다. Referring to FIG. 4, the clock generator 410 may use a clock (hereinafter, referred to as a “memory clock”) to operate the shared memory 230 to write data to the shared memory 230 at a predetermined time. SDR_CLK) "is output to the D flip-flop 420. Here, the D flip-flop 420 may be latched by receiving data output through the data generator 415.

또한, 클럭 생성부(420)를 통해 출력된 메모리 클럭(SDR_CLK)은 제2 입출력 패드(430)를 통해 공유 메모리(230)로 출력된다. In addition, the memory clock SDR_CLK output through the clock generator 420 is output to the shared memory 230 through the second input / output pad 430.

D 플립플롭(420)은 입력된 메모리 클럭(SDR_CLK)에 상응하여 데이터를 제1 입출력 패드(425)로 출력한다. 데이터는 제1 입출력 패드(425)를 통해 공유 메모리(230)로 전달되는 과정에서 제1 입출력 패드(425)에 의해 시간 지연이 발생한다. 그러나, 제1 입출력 패드(425) 또는 제2 입출력 패드(430)에 의해 발생되는 시간 지연은 동일하게 발생되므로 이는 무시하여 설명하기로 한다. The D flip-flop 420 outputs data to the first input / output pad 425 corresponding to the input memory clock SDR_CLK. In the process of transferring data to the shared memory 230 through the first input / output pad 425, a time delay occurs by the first input / output pad 425. However, since the time delay generated by the first input / output pad 425 or the second input / output pad 430 is the same, the description thereof will be omitted.

공유 메모리(230)는 제1 입출력 패드(425)를 통해 기록할 데이터를 입력받고, 제2 입출력 패드(430)를 통해 공유 메모리(230)의 데이터 기록에 따른 동작 제어를 위한 클럭을 입력받으며, 입력된 클럭에 상응하여 입력된 데이터를 임의의 영역에 기록할 수 있다. The shared memory 230 receives data to be written through the first input / output pad 425, and receives a clock for controlling operation according to data writing of the shared memory 230 through the second input / output pad 430. The input data corresponding to the input clock can be recorded in an arbitrary area.

도 5의 510 및 515를 참조하면, 클럭 생성부(410)를 통해 출력된 메모리 클럭(SDR_CLK)에 상응하여 데이터 생성부(415)가 데이터를 출력하는 것이 예시되어 있다. 이는 당업자에게는 자명한 사항이므로 이에 대한 상세한 설명은 생략하기로 한다. Referring to 510 and 515 of FIG. 5, it is illustrated that the data generator 415 outputs data corresponding to the memory clock SDR_CLK output through the clock generator 410. Since this is obvious to those skilled in the art, a detailed description thereof will be omitted.

본 명세서에서 데이터 생성부(415)에서 출력된 데이터가 D 플립플롭(420)까지 전달되는 시간을 "제1 시간(t1)"이라 칭하기로 하며, D 플립플롭(420)에서 출력된 데이터가 제1 입출력 패드(425)까지 전달되는데 걸리는 시간을 "제2 시간(t2)"이라 칭하기로 한다. 그리고, 클럭 생성부(410)를 통해 출력된 메모리 클럭(SDR_CLK)이 제2 입출력 패드(430)까지 전달되는데 걸리는 시간을 "제3 시간(t3)"이라 칭하기로 한다.In the present specification, a time at which the data output from the data generator 415 is transmitted to the D flip-flop 420 will be referred to as a “first time t1”, and the data output from the D flip-flop 420 is generated. The time taken to transfer to the first input / output pad 425 will be referred to as "second time t2". The time taken for the memory clock SDR_CLK output through the clock generator 410 to be transferred to the second input / output pad 430 will be referred to as a “third time t3”.

520을 참조하면, 메모리 클럭(SDR_CLK)은 제3 시간만큼 지연된 후 공유 메모리(230)에 전달되며, 데이터는 제1 시간 및 제2 시간을 합한 시간(t1 + t2) 만큼 지연된 후 공유 메모리(230)에 전달된다. 물론, 제1 시간, 제2 시간, 제3 시간은 모두 수 나노초(nano second)의 시간일 수 있다. Referring to 520, the memory clock SDR_CLK is delivered to the shared memory 230 after being delayed by a third time, and the data is delayed by the time t1 + t2 that is the sum of the first time and the second time. Is delivered). Of course, the first time, the second time, and the third time may all be several nanoseconds.

즉, 공유 메모리(230)는 제1 입출력 패드(425)를 통해 입력된 메모리 클럭(SDR_CLK_OUT)에 상응하여 제2 입출력 패드(430)를 통해 입력된 데이터(DATA_OUT)를 기록한다. 본 명세서에서는 각각의 구성 요소 및 공유 메모리(230)가 클럭의 포지티브(positive) 동작에 상응하여 동작되는 것으로 가정하기로 한다.That is, the shared memory 230 writes data DATA_OUT input through the second input / output pad 430 corresponding to the memory clock SDR_CLK_OUT input through the first input / output pad 425. In the present specification, it is assumed that each component and the shared memory 230 are operated corresponding to the positive operation of the clock.

도 6은 종래의 공유 메모리에 데이터를 독출(read)하는 경우의 인터페이스의 블록도이며, 도 7은 도 6에 따른 인터페이스에 상응하여 공유 메모리에 데이터를 독출하는 경우 클럭과 데이터 독출에 상응하는 동작에 따른 시간의 관계를 예시한 타이밍도이다. 이하에서는 인터페이스가 메모리 제어부(226)인 것을 가정하여 설명하기로 한다. FIG. 6 is a block diagram of an interface when reading data into a conventional shared memory, and FIG. 7 corresponds to a clock and data reading when reading data into the shared memory according to the interface according to FIG. 6. A timing diagram illustrating a relationship of time according to an operation. Hereinafter, it will be described on the assumption that the interface is the memory controller 226.

도 6을 참조하면, 클럭 생성부(625)는 공유 메모리(230)로부터 데이터를 독출하기 위해 공유 메모리(230)의 동작을 제어하기 위한 메모리 클럭(이하, "메모리 클럭(SDR_CLK)"라 칭함)을 제1 입출력 패드(610)를 통해 공유 메모리(230)로 출력한다. Referring to FIG. 6, the clock generator 625 may include a memory clock for controlling the operation of the shared memory 230 to read data from the shared memory 230 (hereinafter, referred to as a “memory clock SDR_CLK”). Is output to the shared memory 230 through the first input / output pad 610.

도 7의 710 및 715를 참조하면, 공유 메모리(230)는 제1 입출력 패드(610)를 통해 입력된 메모리 클럭(SDR_CLK_OUT)에 상응하여 공유 메모리(230)는 저장된 데이터(즉, 메모리 제어부(226)에서 독출 요청한 데이터)를 독출하여 제3 입출력 패드(620)를 통해 입력된다. 도 715에서 보여지는 바와 같이, 공유 메모리(230)가 독출한 데이터가 저장된 영역에 접근하는데 소정의 시간이 소요되므로, 메모리 클럭(SDR_CLK_OUT)에 상응하여 715와 같은 데이터 접근 시간(t4)만큼 지연된 후 독출되어 메모리 제어부(226)로 전달된다.Referring to 710 and 715 of FIG. 7, the shared memory 230 corresponds to the memory clock SDR_CLK_OUT input through the first input / output pad 610, and the shared memory 230 stores the stored data (ie, the memory controller 226). Read data) is inputted through the third input / output pad 620. As shown in FIG. 715, since the shared memory 230 takes a predetermined time to access the area in which the read data is stored, it is delayed by a data access time t4 such as 715 corresponding to the memory clock SDR_CLK_OUT. The data is read and transferred to the memory controller 226.

다시 도 6을 참조하면, 제1 입출력 패드(610)를 통해 출력된 메모리 클럭(SDR_CLK_OUT)은 피드백되어 제2 입출력 패드(615)를 통해 입력되어 딜레이부(630) 또는 멀티플렉서(635)로 전달된다. 딜레이부(630)는 제2 입출력 패드(615)를 통해 입력된 클럭(FB_CLK)을 미리 정해진 소정의 시간동안 지연시킨 후 멀티플렉서(635)로 출력한다. 이에 멀티플렉서(635)는 딜레이부(630)를 통해 소정의 시간동안 지연되어 입력된 클럭과 제2 입출력 패드(615)를 통해 입력된 클럭 중 어느 하나를 선택하여 제1 플립플롭(640)으로 전달한다. 즉, 이와 같이, 멀티플렉서(635)가 제1 플립플롭(640)으로 입력되는 데이터에 상응하여 클럭을 선택적으로 출력한다.Referring back to FIG. 6, the memory clock SDR_CLK_OUT output through the first input / output pad 610 is fed back and input through the second input / output pad 615 to be transmitted to the delay unit 630 or the multiplexer 635. . The delay unit 630 delays the clock FB_CLK input through the second input / output pad 615 for a predetermined time and outputs the delayed signal to the multiplexer 635. In response, the multiplexer 635 selects one of a clock input delayed for a predetermined time through the delay unit 630 and a clock input through the second input / output pad 615, and transfers it to the first flip-flop 640. do. That is, as described above, the multiplexer 635 selectively outputs a clock corresponding to the data input to the first flip-flop 640.

제1 플립플롭(640)은 멀티플렉서(635)를 통해 입력되는 클럭(FB_DLY_CLK)에 상응하여 제3 입출력 패드(620)를 통해 입력된 데이터를 출력한다.The first flip-flop 640 outputs data input through the third input / output pad 620 corresponding to the clock FB_DLY_CLK input through the multiplexer 635.

도 7의 720 및 725를 참조하면, 피드백된 클럭이 두곳(즉, 딜레이부(630) 및 멀티플렉서(635))으로 전달되기 때문에 출력 부하(output loading)가 크게 된다. Referring to 720 and 725 of FIG. 7, since the feedback clock is transmitted to two places (ie, the delay unit 630 and the multiplexer 635), the output loading becomes large.

다시 도 6을 참조하면, 제2 플립플롭(645)은 제1 플립플롭(640)으로부터 데이터를 입력받아 래치(latch)한 후 클럭 생성부(625)를 통해 입력된 클럭에 상응하여 래치된 데이터를 출력한다. 여기서, 멀티플렉서(635)를 통해 출력된 클럭(FB_DLY_CLK)과 클럭 생성부(625)를 통해 출력된 클럭(SDR_CLK_OUT)간의 시간 차이가 짧아지면, 제2 플립플롭(645)이 제1 플립플롭(640)을 통해 출력된 데이터를 래치하는데 문제가 발생하게 된다. Referring to FIG. 6 again, the second flip-flop 645 receives data from the first flip-flop 640 and latches the data, and then latches the data corresponding to the clock input through the clock generator 625. Outputs Here, when the time difference between the clock FB_DLY_CLK output through the multiplexer 635 and the clock SDR_CLK_OUT output through the clock generator 625 is shortened, the second flip-flop 645 becomes the first flip-flop 640. There is a problem in latching the output data.

도 8은 본 발명의 바람직한 일 실시예에 따른 공유 메모리로부터 데이터를 독출하는 경우의 인터페이스의 블록도이며, 도 9은 도 8에 따른 인터페이스에 상응하여 공유 메모리로부터 데이터를 독출하는 경우의 클럭과 데이터 독출에 상응하는 동작에 따른 시간의 관계를 예시한 타이밍도이다. 인터페이스는 메모리 제어부(226) 또는 제2 메모리 컨트롤러(214) 내부에 포함된 일부 구성 요소일 수 있으며, 이하에서는 메모리 제어부(226)인 것을 가정하여 이를 중점으로 설명하기로 한다. FIG. 8 is a block diagram of an interface when reading data from a shared memory according to an embodiment of the present invention, and FIG. 9 is a clock when reading data from a shared memory corresponding to the interface of FIG. 8. And a timing diagram illustrating a relationship between time according to an operation corresponding to data reading. The interface may be some components included in the memory controller 226 or the second memory controller 214, and the following description will be mainly given assuming that the memory controller 226 is the memory controller 226.

도 8을 참조하면, 공유 메모리(230)로부터 데이터를 독출하기 위해 클럭 생성부(825)는 메모리 클럭을 제1 입출력 패드(810)를 통해 공유 메모리(230)로 전달 한다. 상술한 바와 같이, 공유 메모리(230)는 제1 입출력 패드(810)를 통해 입력된 메모리 클럭(SDR_CLK_OUT)에 상응하여 저장된 데이터를 독출하여 제3 입출력 패드(820)로 출력한다. Referring to FIG. 8, in order to read data from the shared memory 230, the clock generator 825 transfers the memory clock to the shared memory 230 through the first input / output pad 810. As described above, the shared memory 230 reads out data stored corresponding to the memory clock SDR_CLK_OUT input through the first input / output pad 810 and outputs the stored data to the third input / output pad 820.

제3 입출력 패드(820)를 통해 입력된 데이터(DATA_IN)는 딜레이부(830) 및 멀티플렉서(835)로 전달된다. 여기서, 딜레이부(830)는 입력된 데이터를 소정의 시간동안 지연시킨 후 멀티플렉서(835)로 출력한다. 멀티플렉서(835)는 딜레이부(830)로부터 지연되어 입력된 데이터와 제3 입출력 패드(820)를 통해 입력된 데이터 중 어느 하나를 선택하여 제1 플립플롭(840)으로 출력한다. 여기서, 멀티플렉서(835)는 미리 설정되거나 또는 부가 프로세서(220)의 내부 구성 요소들(예를 들어, 컨트롤러(222))로부터 입력된 선택신호에 상응하여 입력된 두개의 데이터 중 어느 하나를 선택하여 출력할 수 있다. The data DATA_IN input through the third input / output pad 820 is transferred to the delay unit 830 and the multiplexer 835. Here, the delay unit 830 delays the input data for a predetermined time and outputs the data to the multiplexer 835. The multiplexer 835 selects one of the data input delayed from the delay unit 830 and the data input through the third input / output pad 820 and outputs the selected flip-flop 840. Here, the multiplexer 835 may select one of two pieces of data that are preset or input in correspondence with a selection signal input from internal components (eg, the controller 222) of the additional processor 220. You can print

제1 입출력 패드(810)를 통해 출력된 메모리 클럭은 제2 입출력 패드(815)를 통해 피드백되어 입력되어 제1 플립플롭(840)으로 전달된다. The memory clock output through the first input / output pad 810 is fed back through the second input / output pad 815 and input to the first flip-flop 840.

제1 플립플롭(840)은 제2 입출력 패드(815)를 통해 피드백된 클럭을 입력받아 이에 상응하여 멀티플렉서(835)를 통해 입력된 데이터를 제2 플립플롭(845)으로 출력한다. 제1 플립플롭(840)을 통해 출력된 데이터를 편의상 "FF_OUT"이라 칭하기로 한다.The first flip-flop 840 receives the clock fed back through the second input / output pad 815 and outputs the data input through the multiplexer 835 to the second flip-flop 845 accordingly. Data output through the first flip-flop 840 will be referred to as "FF_OUT" for convenience.

제2 플립플롭(845)은 제1 플립플롭(840)을 통해 입력된 데이터(FF_OUT)를 래치한 후 클럭 생성부(825)로부터 입력된 메모리 클럭(SDR_CLK)에 상응하여 래치된 데이터를 출력한다. The second flip-flop 845 latches the data FF_OUT input through the first flip-flop 840 and then outputs the latched data corresponding to the memory clock SDR_CLK input from the clock generator 825. .

이로 인해, 제2 플립플롭(845)이 제1 플립플롭(840)으로부터 입력된 데이터를 래치할 수 있는 시간을 크게하여 보다 안정적으로 데이터를 출력할 수 있는 이점이 있다. As a result, the second flip-flop 845 has an advantage of increasing the time for latching the data input from the first flip-flop 840 to more stably output the data.

종래와 달리, 피드백된 클럭을 제1 플립플롭(840)으로 직접 출력하고, 공유 메모리(230)을 통해 입력되는 데이터를 선택적으로(예를 들어, 미리 설정되거나 부가 프로세서(220)의 내부 구성 요소(예를 들어, 컨트롤러(222))로부터 입력된 선택신호에 상응하여 어느 하나를 선택하여) 출력하도록 함으로써, 제1 플립플롭(840)을 통한 데이터 출력을 빠르게 하여 제2 플립플롭(845)이 데이터를 래치할 수 있는 시간을 충분히 확보할 수 있다(도 9의 930 및 935 참조). Unlike the prior art, the feedback clock is output directly to the first flip-flop 840, and the data input through the shared memory 230 is selectively (eg, preset or internal components of the additional processor 220). Outputting the data through the first flip-flop 840 to the second flip-flop 845 by speeding up the output of the data through the first flip-flop 840. Sufficient time for latching data can be secured (see 930 and 935 of FIG. 9).

상술한 바와 같이, 본 발명에 고속 데이터 전송이 가능한 사용자 단말기 및 그 방법을 제공함으로써, 멀티미디어 데이터 처리(예를 들어, 고화질, 고성능의 이미지 처리, 오디오 데이터 재생 등)의 경우 시간 지연을 최소화할 수 있는 효과가 있다.As described above, the present invention provides a user terminal capable of high-speed data transmission and a method thereof, thereby minimizing time delay in the case of multimedia data processing (for example, high quality, high performance image processing, audio data reproduction, and the like). It has an effect.

또한, 본 발명은 메인 프로세서의 메모리 사용에 상관없이 부가 프로세서가 이미지 센서로부터 입력된 데이터를 저장하도록 할 수 있어 메모리의 이용을 다양화할 수 있는 효과도 있다.In addition, the present invention may allow the additional processor to store data input from the image sensor regardless of the memory usage of the main processor, thereby diversifying the use of the memory.

또한, 본 발명은 빠른 클럭(clock)으로 동작하는 경우 메모리 인터페이스의 타이밍 여유도(timing margin) 확보가 어려우므로 클럭 패스를 개선하여 인터페이 스 내부 동작의 안정성을 확보할 수 있는 효과도 있다. In addition, the present invention is difficult to secure the timing margin (timing margin) of the memory interface when operating at a fast clock (clock) has the effect of ensuring the stability of the internal operation of the interface by improving the clock path.

또한, 본 발명의 또 다른 목적은 메인 프로세서와 부가 프로세서가 각각의 독립된 버스를 통해 메모리에 접근할 수 있으며, 접근된 메모리로 신속한 데이터 저장 및 독출이 가능한 효과도 있다.In addition, another object of the present invention is that the main processor and the additional processor can access the memory through each independent bus, there is an effect that can be quickly stored and read data into the accessed memory.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.

Claims (8)

결합된 메모리와 데이터를 송수신하는 인터페이스 모듈에 있어서,In the interface module for transmitting and receiving the combined memory and data, 상기 메모리를 동작시키기 위한 클럭(clock)을 출력하는 클럭 생성부;A clock generator for outputting a clock for operating the memory; 입력된 선택신호에 상응하여 송수신을 위한 데이터 및 미리 정해진 시간 동안 지연된 데이터를 상기 클럭에 상응하여 입력받아 어느 하나를 선택하여 출력하는 멀티플렉서; 및A multiplexer which receives data for transmission and reception and data delayed for a predetermined time corresponding to the input selection signal corresponding to the clock, and selects and outputs one of the multiplexers; And 상기 멀티플렉서로부터 입력된 데이터를 래치(latch)하고, 상기 래치된 데이터를 상기 클럭에 상응하도록 출력하는 플립플롭을 포함하는 인터페이스 모듈.And a flip-flop for latching data input from the multiplexer and outputting the latched data to correspond to the clock. 제 1항에 있어서,The method of claim 1, 상기 클럭을 상기 메모리로 출력하는 제1 입출력 패드(pad);A first input / output pad outputting the clock to the memory; 상기 클럭에 상응하여 상기 메모리로부터 데이터를 입력받는 제2 입출력 패드; 및A second input / output pad configured to receive data from the memory in response to the clock; And 상기 제1 입출력 패드를 통해 출력된 상기 클럭을 피드백으로 입력받아 상기 플립플롭으로 출력하는 제3 입출력 패드를 더 포함하는 인터페이스 모듈.And a third input / output pad configured to receive the clock output through the first input / output pad as feedback and output the feedback to the flip-flop. 청구항 3은(는) 설정등록료 납부시 포기되었습니다.Claim 3 was abandoned when the setup registration fee was paid. 제 2항에 있어서,The method of claim 2, 제 1항에 있어서,The method of claim 1, 상기 데이터를 미리 정해진 소정의 시간만큼 지연시켜 상기 멀티플렉서로 출력하는 딜레이부를 더 포함하는 것을 특징으로 하는 인터페이스 모듈.And a delay unit configured to delay the data by a predetermined time and output the delayed data to the multiplexer. 제 2항에 있어서,The method of claim 2, 상기 플립플롭은,The flip flop, 상기 멀티플렉서를 통해 선택 출력된 데이터를 입력받고, 상기 제3 입출력 패드를 통해 피드백된 클럭을 입력받아 상기 피드백된 클럭에 상응하여 상기 선택 출력된 데이터를 출력하는 제1 플립플롭; 및A first flip-flop configured to receive data selectively outputted through the multiplexer, receive a clock fed back through the third input / output pad, and output the selected output data corresponding to the feedback clock; And 상기 제1 플립플롭을 통해 출력된 데이터를 래치하고, 상기 클럭 생성부를 통해 출력된 클럭을 입력받아 상기 클럭에 상응하여 상기 래치된 데이터를 출력하는 제2 플립플롭을 포함하는 것을 특징으로 하는 인터페이스 모듈.And a second flip-flop for latching data output through the first flip-flop, receiving a clock output through the clock generator, and outputting the latched data corresponding to the clock. . 청구항 6은(는) 설정등록료 납부시 포기되었습니다.Claim 6 was abandoned when the registration fee was paid. 제 1항에 있어서,The method of claim 1, 상기 클럭을 생성하고 제어하는 PLL(phase locked loop); 및 A phase locked loop (PLL) for generating and controlling the clock; And 생성된 클럭을 미리 정해진 주기에 상응하여 출력하는 분주기를 포함하는 것을 특징으로 하는 인터페이스 모듈.And a divider for outputting the generated clock in correspondence with a predetermined period. 디지털 처리 장치에 있어서,In the digital processing device, 메모리; 및Memory; And 상기 메모리와 데이터를 송수신하기 위한 인터페이스 모듈을 포함하는 프로세서를 포함하되,Including a processor including an interface module for transmitting and receiving data with the memory, 상기 인터페이스 모듈은, The interface module, 상기 메모리를 동작시키기 위한 클럭(clock)을 출력하는 클럭 생성부;A clock generator for outputting a clock for operating the memory; 입력된 선택 신호에 상응하여 송수신을 위한 데이터 및 미리 정해진 시간 동안 지연된 데이터를 상기 클럭에 상응하여 입력받아 어느 하나를 선택하여 출력하는 멀티플렉서; 및A multiplexer which receives data for transmission and reception and data delayed for a predetermined time corresponding to the input selection signal in response to the clock, and selects and outputs one of the multiplexers; And 상기 멀티플렉서로부터 입력된 데이터를 래치(latch)하고, 상기 래치된 데이터를 상기 클럭에 상응하도록 출력하는 플립플롭을 포함하는 것을 특징으로 하는 디지털 처리 장치.And a flip-flop for latching data input from the multiplexer and outputting the latched data to correspond to the clock. 제 7항에 있어서,The method of claim 7, wherein 상기 데이터는 상기 클럭에 상응하여 상기 메모리로부터 독출되어 상기 인터페이스 모듈로 입력되는 것을 특징으로 하는 디지털 처리 장치.And the data is read from the memory and input to the interface module corresponding to the clock.
KR1020060078817A 2006-08-21 2006-08-21 Interface module which connects memory KR100799908B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060078817A KR100799908B1 (en) 2006-08-21 2006-08-21 Interface module which connects memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060078817A KR100799908B1 (en) 2006-08-21 2006-08-21 Interface module which connects memory

Publications (1)

Publication Number Publication Date
KR100799908B1 true KR100799908B1 (en) 2008-01-31

Family

ID=39219857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060078817A KR100799908B1 (en) 2006-08-21 2006-08-21 Interface module which connects memory

Country Status (1)

Country Link
KR (1) KR100799908B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462499A (en) * 2014-05-21 2017-02-22 索尼公司 Sensor module, method for controlling same, and electronic apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR910015931A (en) * 1990-02-27 1991-09-30 정용문 Memory-Shared Multiprocessor System
JPH11212939A (en) 1997-11-06 1999-08-06 Alcatel Cit System for exchanging data between data processor units having processor interconnected by common bus
KR20050029104A (en) * 2004-04-12 2005-03-24 삼성전자주식회사 Communication device and method having a shared local memory
JP2006345011A (en) 2005-06-07 2006-12-21 Sony Corp Communication apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR910015931A (en) * 1990-02-27 1991-09-30 정용문 Memory-Shared Multiprocessor System
JPH11212939A (en) 1997-11-06 1999-08-06 Alcatel Cit System for exchanging data between data processor units having processor interconnected by common bus
KR20050029104A (en) * 2004-04-12 2005-03-24 삼성전자주식회사 Communication device and method having a shared local memory
JP2006345011A (en) 2005-06-07 2006-12-21 Sony Corp Communication apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462499A (en) * 2014-05-21 2017-02-22 索尼公司 Sensor module, method for controlling same, and electronic apparatus
CN106462499B (en) * 2014-05-21 2019-06-28 索尼半导体解决方案公司 Sensor module, its control method and electronic equipment

Similar Documents

Publication Publication Date Title
CN107533525B (en) Universal die implementation for memory devices with independent interface paths
TWI740897B (en) Memory subsystem with narrow bandwidth repeater channel
CN109582596B (en) Reading from mode registers with different read and write timings
US7325104B2 (en) Storage device using interleaved memories to control power consumption
TWI579703B (en) Lower-power scrambling with improved signal integrity
KR102256441B1 (en) Common die implementation for low power memory devices
KR100855701B1 (en) Chip combined with a plurality of processor cores and data processing method thereof
CN102193865B (en) Storage system, storage method and terminal using same
JP2007128633A (en) Semiconductor storage device and transmission/reception system having the same
US20090190417A1 (en) Semiconductor integrated circuit device and method of testing same
JP2007251329A (en) Programmable logic device
JP2021125228A (en) Configurable write command delay in nonvolatile memory
KR100663380B1 (en) Imaging device and method for transferring image signal
KR100799908B1 (en) Interface module which connects memory
JP5324908B2 (en) Set device having card host LSI and card host LSI
KR100728650B1 (en) Method and apparatus for sharing multi-partitioned memory through a plurality of routes
KR100748191B1 (en) Device having shared memory and method for providing access status information by shared memory
KR100746364B1 (en) Method and apparatus for sharing memory
KR100731969B1 (en) Method and apparatus for sharing memory through a plurality of routes
KR101064878B1 (en) Method for sharing memory by a plurality of processors and portable terminal having structure of memory share
KR100658588B1 (en) Memory sharing system and method thereof
JP5895640B2 (en) Data processing device and memory control device
KR100663384B1 (en) Device and method for memory interface
KR100592108B1 (en) Rapid data delivery method among processors and digital processing apparatus having shared memory
KR100652690B1 (en) Multi processor apparatus for mobile communication device

Legal Events

Date Code Title Description
A201 Request for examination
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: 6

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171221

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191223

Year of fee payment: 13