KR100799908B1 - Interface module which connects memory - Google Patents
Interface module which connects memory Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/287—Multiplexed 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
Description
도 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
도 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
또한, 메인 프로세서(110)는 제2 메모리 컨트롤러(114)의 동작에 의해 MP- MM(main memory) 버스(BUS)를 통해 메인 프로세서(110)에 직접 결합된 메인 메모리(130)에 접속하여 데이터를 기록하거나 저장된 데이터를 독출한다. In addition, the
부가 프로세서(120)는 인터페이스(121), 컨트롤러(123), 이미지 스케일링(125), 멀티미디어 처리부(127), 메모리 제어부(129)를 포함한다. The
부가 프로세서(120)는 AP-AM(application memory) 버스(BUS)를 통해 하나의 포트를 구비한 부가 메모리(140)에 결합된다. 그리고, 부가 프로세서(120)는 처리한 멀티미디어 데이터를 디스플레이하기 위한 표시부(150)와 결합될 수 있다. The
인터페이스(121)는 부가 프로세서(120)와 결합된 메인 프로세서(110)간의 데이터 송수신을 수행한다. 부가 프로세서(120)는 인터페이스(121)를 통해 메인 프로세서(110)로부터 제어 신호가 수신되면 상응하는 처리 동작을 수행한다. The
컨트롤러(123)는 부가 프로세서(120)의 구동을 위해 내장된 프로그램에 의해 부가 프로세서(120)의 동작을 제어한다. 예를 들어, 컨트롤러(123)는 부가 프로세서(120)의 동작을 제어하고, 프로그램의 수행시 필요한 데이터를 부가 메모리(140)로부터 독출하며, 처리된 프로그래밍 결과를 부가 메모리(140)에 저장할 수 있다. 즉, 컨트롤러(123)는 시스템 버스(170), 메모리 제어부(129)를 통해 부가 메모리(140)에 접근할 수 있다. 일반적으로 컨트롤러(123)는 메인 프로세서(110)로부터 수신된 제어 신호에 상응하여 부가 프로세서(120)의 동작을 제어한다. 컨트롤러(123)는 예를 들어, MCU(microcontroller unit)일 수 있다.The
이미지 스케일러(125)는 이미지 센서(160)로부터 입력되는 데이터를 컨트롤러(123)의 제어에 의해 가공하여 미리 설정된 데이터로 변환한다. 이미지 스케일 러(125)는 예를 들어, 이미지의 크기 조정, 색상 변경, 필터링(filtering)에 의한 부드러운 이미지 생성 등을 수행한다. 이미지 스케일러(125)에 의해 처리된 데이터는 메모리 제어부(129)에 의해 AP-AM 버스를 통해 부가 메모리(140)에 저장된다.The image scaler 125 processes the data input from the
멀티미디어 처리부(127)는 부가 메모리(140)에 저장된 이미지 데이터를 독출하여 미리 정해진 포맷(예를 들어, MPEG-4, JPEG 등)으로 압축하거나 필요한 효과를 주는 기능을 수행한다. 또한, 멀티미디어 처리부(127)는 메인 프로세서(110)로부터 수신되어 부가 메모리(140)에 저장된 압축 파일을 독출하여 디코딩을 수행한 후 표시부(150)에 출력하는 기능을 수행한다. The
메모리 제어부(129)는 부가 프로세서(120)의 내부 구성 요소들이 부가 메모리(140)로의 접근을 요청하는 경우 우선 순위를 결정하여 어느 하나의 구성 요소가 부가 메모리(140)에 접근하도록 제어하는 기능을 수행한다. 또한, 메모리 제어부(129)는 메인 프로세서(110)와 부가 프로세서(120)가 동시에 부가 메모리(140)로의 접근을 요청한 경우 우선 순위를 결정하여 어느 하나의 프로세서가 부가 메모리(140)에 접근할 수 있도록 제어할 수 있다. The
이와 같이, 종래의 메모리 구조는 복수의 프로세서들 및/또는 구성 요소들이 하나의 버스를 통해 하나의 메모리에 접근하는 구조이다. 따라서, 메인 프로세서(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
예를 들어, MPEG 파일을 재생하는 경우, 메인 프로세서(110)는 연결된 메인 메모리(130)에 저장된 또는 실시간으로 입력받은 MPEG 파일을 부가 프로세서(120) 로 전달하여야 한다. 여기서, MPEG 파일은 그 크기가 크기 때문에 부가 프로세서(120)에 결합된 부가 메모리(140)에 우선 기록되며, 필요한 시점에 부가 프로세서(120)의 특정 구송 요소(예를 들어, 멀티미디어 처리부(127))가 해당 데이터를 독출하여 디코딩(decoding)을 수행한 후 표시부(150)로 전달하여야 한다. For example, when playing an MPEG file, the
따라서, 종래의 메모리 공유 구조에 의하면 프로세서간에 전달된 데이터의 크기가 클수록 부가 프로세서(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
상술한 바와 같이, 종래의 메모리 공유 구조는 고성능, 고화질의 이미지 처리 등의 경우 많은 시간 지연이 발생되는 문제점이 있었다. 또한, 부가 프로세서의 처리 효율이 감소되는 문제점도 있었다.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
도 2를 참조하면, 메인 프로세서(210)는 복수의 메모리 컨트롤러(예를 들어, 제1 메모리 컨트롤러(212), 제2 메모리 컨트롤러(214))를 구비한다. 메인 프로세서(210)는 제1 메모리 컨트롤러(212)의 동작에 의해 MP(main-processor)-AP(application processor) 버스(BUS)를 통해 부가 프로세서(220)와 결합되어 데이터 또는 제어 명령 등을 송수신할 수 있다. Referring to FIG. 2, the
또한, 메인 프로세서(210)는 제2 메모리 컨트롤러(214)의 동작에 의해 MP-SM(share memory) 버스를 통해 공유 메모리(230)에 접속하여 데이터를 기록하거나 저장된 데이터를 독출할 수 있다. In addition, the
부가 프로세서(220)는 MP(main processor)-AP(application processor) 버스 를 통해 메인 프로세서(210)와 결합된다. 그리고, 부가 프로세서(220)는 두개의 포트를 구비한 공유 메모리(230)와 AP-CM(share memory) 버스를 통해 결합된다. 또한, 부가 프로세서(220)는 이미지 센서(240)로부터 입력된 멀티미디어 데이터를 처리하여 공유 메모리(230)에 저장하고, 공유 메모리(230)에 저장된 멀티미디어 데이터를 처리하여 출력 수단(예를 들어, 표시부(250), 오디오 재생부(260))을 통해 출력할 수 있다. The
부가 프로세서(220)는 MP 인터페이스(221), 컨트롤러(222), 멀티미디어 처리부(223), 이미지 스케일러(224), 오디오 인터페이스(225) 및 메모리 제어부(226)를 포함한다. The
MP 인터페이스(221)는 MP-AP 버스를 통해 부가 프로세서(220)와 결합된 메인 프로세서(210)간의 데이터를 송수신한다. 예를 들어, 부가 프로세서(220)는 MP 인터페이스(221)를 통해 메인 프로세서(210)로부터 제어 신호가 수신되면 상응하는 처리 동작을 수행한다. The
컨트롤러(222)는 부가 프로세서(210)의 구동을 위해 내장된 프로그램에 의해 부가 프로세서(220)의 동작을 제어한다. 부가 프로세서(220)의 동작을 제어하고, 프로그램의 수행시 필요한 데이터는 공유 메모리(230)로부터 독출하며, 처리된 결과를 공유 메모리(230)에 저장하거나 출력 수단을 통해 출력되도록 한다. 컨트롤러(222)는 예를 들어, MCU(microcontroller unit)일 수 있다.The
멀티미디어 처리부(223)는 메모리 제어부(226)를 통해 공유 메모리(230)에 저장된 데이터를 독출하여 상응하는 처리를 수행한다. 예를 들어, 멀티미디어 처리 부(223)는 독출된 데이터가 이미지 데이터인 경우 미리 지정된 포맷(예를 들어, MPEG-4, JPEG)으로 압축하거나 필요한 이미지 효과(예를 들어, 흑백 처리 등)를 주는 등의 역할을 수행할 수 있다. 또한, 멀티미디어 처리부(223)는 독출된 데이터가 오디오 데이터인 경우 디코딩을 수행할 수 있다. 멀티미디어 처리부(223)에 의해 처리된 데이터는 공유 메모리(230)에 저장되거나 출력 수단(예를 들어, 표시부(250), 오디오 재생부(260))을 통해 출력될 수 있다.The
이미지 스케일러(224)는 이미지 센서(240)로부터 입력되는 데이터를 컨트롤러(222)의 제어에 의해 가공하여 미리 설정된 이미지 데이터로 변환한다. 예를 들어, 이미지 스케일러(224)는 이미지의 크기 조정, 색상 변경, 필터링(filtering)에 의한 부드러운 이미지 생성 등을 수행할 수 있다. 그리고, 이미지 스케일러(224)에 의해 처리된 데이터는 메모리 제어부(226)에 할당된 AP-CM 버스를 통해 공유 메모리(230)에 저장될 수 있다.The
본 발명의 이미지 스케일러(224)는 공유 메모리(230)로 멀티미디어 데이터를 저장하는 구성 요소의 일 실시예에 불과할 수 있으며, 본 발명은 공유 메모리(230)로 멀티미디어 데이터(예를 들어, 이미지 데이터 및/또는 오디오 데이터 등)를 실시간 저장할 필요가 있는 모든 멀티미디어 데이터 입력부에 범용적으로 적용될 수도 있음은 당연하다.The
또한, 멀티미디어 처리부(223) 등은 공유 메모리(230)에 저장된 멀티미디어 데이터를 처리하는 구성 요소의 일 실시예에 불과하며, 공유 메모리(230)에 저장된 멀티미디어 데이터를 처리하여 공유 메모리(230)에 다시 저장하거나 표시부(250)를 통해 디스플레이하거나 또는 메인 프로세서(210)로 전송하는 모든 멀티미디어 데이터 처리부에 범용적으로 적용될 수 있음은 자명하다. In addition, the
오디오 인터페이스(225)는 오디오 재생부(260)와의 인터페이스를 담당한다. 예를 들어, 오디오 재생부(260)는 오디오 코덱, 스피커 등을 포함할 수 있다. The
메모리 제어부(226)는 이미지 센서(240)로부터 입력되는 데이터, 부가 프로세서(220)의 내부 구성 요소들(예를 들어, 멀티미디어 처리부(223), 오디오 인터페이스(225) 등)을 통해 입력되는 데이터를 공유 메모리(2300에 저장한다. 그리고, 메모리 제어부(226)는 부가 프로세서(220)의 내부 구성 요소들(예를 들어, 멀티미디어 처리부(223), 오디오 인터페이스(225) 등)가 공유 메모리(230)에 저장된 데이터를 독출하도록 하기 위해 AP-SM 버스의 할당을 제어한다. 메모리 제어부(226)는 컨트롤러(222)의 제어에 의해 버스 할당을 제어할 수 있음은 당연하다. The
공유 메모리(230)는 두개의 포트를 구비하며, 각각의 포트 중 어느 하나는 메인 프로세서(210)와 결합되며, 다른 하나는 부가 프로세서(220)와 결합된다. 예를 들어, 공유 메모리(230)는 MP-CM 버스를 통해 메인 프로세서(210)와 결합될 수 있으며, AP-CM 버스를 통해 부가 프로세서(220)와 결합될 수 있다. 여기서, 공유 메모리(230)는 듀얼 포트 메모리의 특성상 두개의 포트 중 어느 포트로도 전체 영역에 접근할 수 있으며, 각각의 포트를 통해서만 제한적으로 접근할 수 있도록 내부 영역이 구분될 수도 있다. The shared
예를 들어, 도 3에 예시된 바와 같이, 공유 메모리(230)는 3개의 영역으로 분리되어 있을 수 있으며, 각각 정해진 영역에 접근할 수 있는 포트(예를 들어, 제 1 억세스 포트(310), 제2 엑세스 포트(335))를 포함할 수 있으며, 각각의 포트를 통해 임의의 영역으로의 접근을 제어하는 내부 컨트롤러(315)를 포함할 수 있다. For example, as illustrated in FIG. 3, the shared
도 3을 참조하면, 공유 메모리(230)는 메인 프로세서(210)만 접근할 수 있는 제1 영역(320), 부가 프로세서(220)만 접근할 수 있는 제3 영역(330), 메인 프로세서(210)와 부가 프로세서(220)에 의해 공동으로 접근될 수 있는 제2 영역(325)로 구분될 수 있다.Referring to FIG. 3, the shared
제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
내부 컨트롤러(315)는 메인 프로세서(210) 또는 부가 프로세서(220)가 제1 억세스 포트(310) 또는 제2 억세스 포트(335) 중 어느 하나를 통해 임의의 영역에 접근하는 경우, 해당 영역에 접근할 수 있도록 제어하는 기능을 수행한다.The
또한, 메인 프로세서(210) 및 부가 프로세서(220)가 공통으로 사용하는 영역(예를 들어, 제2 영역(325))에 접근하고 있는 경우 내부 컨트롤러(315)는 공통 영역(즉, 제2 영역(325))의 접근이 완료되기전까지 다른 프로세서에 의해 해당 공통 영역(즉, 제2 영역(325))에 접근되지 못하도록 제어할 수 있다. In addition, when the
예를 들어, 메인 프로세서(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
이하, 공유 메모리(230)로의 데이터 기록 및/또는 독출을 위해 메모리 제어부(226) 또는 제2 메모리 컨트롤러(214)가 공유 메모리(230)을 제어하기 위해 출력한 빠른 클록에 상응하여 내부 플립플롭에 안정적으로 데이터를 래치(latch)한 후 출력하는 것에 대해서는 하기에서 관련 도면을 참조하여 설명하기로 한다. Hereinafter, the internal flip-flop corresponds to a fast clock output by the
상술한 바와 같이, 메인 프로세서(210) 또는 부가 프로세서(220)는 각각의 버스(예를 들어, MP-SM버스, AP-SM 버스 등)를 통해 공유 메모리와 결합되어 각각의 데이터를 기록 또는 독출할 수 있다. As described above, the
우선, 이해와 설명의 편의를 위해, 도 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
도 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
여기서, 클럭 생성부(410)는 메모리 제어부(226)의 각각의 구성 요소(예를 들어, D 플립플롭(420)) 또는 공유 메모리(230)의 동작을 위한 클럭 신호를 생성하거나 미리 정해진 시간 주기로 클럭 주기를 조절하여 출력하는 PLL 및 분주기를 포함한다. 여기서, PLL 및 분주기의 상세한 동작은 당업자에게는 자명한 사항이므로 이에 대한 상세한 설명은 생략하며, 이해와 설명의 편의를 위해 클럭 생성부로 통칭하여 설명하기로 한다. Here, the
또한, 데이터 생성부(415)는 외부로부터 데이터를 전달받거나(예를 들어, 멀티미디어 처리부(223), 이미지 센서(240) 등), 메모리 제어부(226) 내부에서 임의의 연산에 의해 공유 메모리(230)에 기록할 필요가 있는 데이터를 생성하여 출력하는 기능을 수행한다. In addition, the
도 4를 참조하면, 클럭 생성부(410)는 미리 정해진 시간에 상응하여 공유 메모리(230)에 데이터를 기록(write)하기 위해 공유 메모리(230)의 동작을 위한 클럭(이하, "메모리 클럭(SDR_CLK)"이라 칭함)을 D 플립플롭(420)으로 출력한다. 여기서, D 플립플롭(420)은 데이터 생성부(415)를 통해 출력된 데이터를 입력받아 래치(latch)하고 있을 수 있다. Referring to FIG. 4, the
또한, 클럭 생성부(420)를 통해 출력된 메모리 클럭(SDR_CLK)은 제2 입출력 패드(430)를 통해 공유 메모리(230)로 출력된다. In addition, the memory clock SDR_CLK output through the
D 플립플롭(420)은 입력된 메모리 클럭(SDR_CLK)에 상응하여 데이터를 제1 입출력 패드(425)로 출력한다. 데이터는 제1 입출력 패드(425)를 통해 공유 메모리(230)로 전달되는 과정에서 제1 입출력 패드(425)에 의해 시간 지연이 발생한다. 그러나, 제1 입출력 패드(425) 또는 제2 입출력 패드(430)에 의해 발생되는 시간 지연은 동일하게 발생되므로 이는 무시하여 설명하기로 한다. The D flip-
공유 메모리(230)는 제1 입출력 패드(425)를 통해 기록할 데이터를 입력받고, 제2 입출력 패드(430)를 통해 공유 메모리(230)의 데이터 기록에 따른 동작 제어를 위한 클럭을 입력받으며, 입력된 클럭에 상응하여 입력된 데이터를 임의의 영역에 기록할 수 있다. The shared
도 5의 510 및 515를 참조하면, 클럭 생성부(410)를 통해 출력된 메모리 클럭(SDR_CLK)에 상응하여 데이터 생성부(415)가 데이터를 출력하는 것이 예시되어 있다. 이는 당업자에게는 자명한 사항이므로 이에 대한 상세한 설명은 생략하기로 한다. Referring to 510 and 515 of FIG. 5, it is illustrated that the
본 명세서에서 데이터 생성부(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
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
즉, 공유 메모리(230)는 제1 입출력 패드(425)를 통해 입력된 메모리 클럭(SDR_CLK_OUT)에 상응하여 제2 입출력 패드(430)를 통해 입력된 데이터(DATA_OUT)를 기록한다. 본 명세서에서는 각각의 구성 요소 및 공유 메모리(230)가 클럭의 포지티브(positive) 동작에 상응하여 동작되는 것으로 가정하기로 한다.That is, the shared
도 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
도 6을 참조하면, 클럭 생성부(625)는 공유 메모리(230)로부터 데이터를 독출하기 위해 공유 메모리(230)의 동작을 제어하기 위한 메모리 클럭(이하, "메모리 클럭(SDR_CLK)"라 칭함)을 제1 입출력 패드(610)를 통해 공유 메모리(230)로 출력한다. Referring to FIG. 6, the
도 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
다시 도 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 /
제1 플립플롭(640)은 멀티플렉서(635)를 통해 입력되는 클럭(FB_DLY_CLK)에 상응하여 제3 입출력 패드(620)를 통해 입력된 데이터를 출력한다.The first flip-
도 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
다시 도 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-
도 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
도 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
제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 /
제1 입출력 패드(810)를 통해 출력된 메모리 클럭은 제2 입출력 패드(815)를 통해 피드백되어 입력되어 제1 플립플롭(840)으로 전달된다. The memory clock output through the first input /
제1 플립플롭(840)은 제2 입출력 패드(815)를 통해 피드백된 클럭을 입력받아 이에 상응하여 멀티플렉서(835)를 통해 입력된 데이터를 제2 플립플롭(845)으로 출력한다. 제1 플립플롭(840)을 통해 출력된 데이터를 편의상 "FF_OUT"이라 칭하기로 한다.The first flip-
제2 플립플롭(845)은 제1 플립플롭(840)을 통해 입력된 데이터(FF_OUT)를 래치한 후 클럭 생성부(825)로부터 입력된 메모리 클럭(SDR_CLK)에 상응하여 래치된 데이터를 출력한다. The second flip-
이로 인해, 제2 플립플롭(845)이 제1 플립플롭(840)으로부터 입력된 데이터를 래치할 수 있는 시간을 크게하여 보다 안정적으로 데이터를 출력할 수 있는 이점이 있다. As a result, the second flip-
종래와 달리, 피드백된 클럭을 제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-
상술한 바와 같이, 본 발명에 고속 데이터 전송이 가능한 사용자 단말기 및 그 방법을 제공함으로써, 멀티미디어 데이터 처리(예를 들어, 고화질, 고성능의 이미지 처리, 오디오 데이터 재생 등)의 경우 시간 지연을 최소화할 수 있는 효과가 있다.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)
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)
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)
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 |
-
2006
- 2006-08-21 KR KR1020060078817A patent/KR100799908B1/en active IP Right Grant
Patent Citations (4)
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)
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 |