KR100728650B1 - 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치 - Google Patents
복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치 Download PDFInfo
- Publication number
- KR100728650B1 KR100728650B1 KR20050068065A KR20050068065A KR100728650B1 KR 100728650 B1 KR100728650 B1 KR 100728650B1 KR 20050068065 A KR20050068065 A KR 20050068065A KR 20050068065 A KR20050068065 A KR 20050068065A KR 100728650 B1 KR100728650 B1 KR 100728650B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- multimedia data
- processor
- storage area
- controller
- 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/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
본 발명은 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치에 관한 것이다. 본 발명의 바람직한 일 실시예에 따른 디지털 처리 장치는 메인 프로세서, 상기 메인 프로세서에 의해 제어되며 하나의 연결 버스를 통해 상기 메인 프로세서에 연결되는 부가 프로세서 및 독립된 메모리 버스를 통해 상기 부가 프로세서에 각각 결합되는 복수의 포트를 구비하고, n(자연수)개의 저장 영역으로 분할된 메모리를 포함한다. 본 발명에 의해, 고화질 이미지 처리시 빠른 시간 내에 처리가 가능하다.
분할, 공유, 메모리, 프로세서, 버스
Description
도 1은 종래의 카메라 기능을 구비한 이동 통신 단말기의 블록 구성도.
도 2는 종래 기술에 따른 프로세서와 메모리간의 결합 구조를 간략히 나타낸 도면.
도 3은 종래 기술에 따른 메인 프로세서와 부가 프로세서가 부가 프로세서에 결합된 부가 메모리를 공유하는 구조를 나타낸 블록 구성도.
도 4는 본 발명의 바람직한 일 실시예에 따른 다중 분할된 메모리 공유 구조를 나타낸 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 다중 분할된 메모리의 분할 형태를 예시한 도면.
도 6은 본 발명의 바람직한 일 실시예에 따른 부가 프로세서의 동작 과정을 나타낸 순서도.
본 발명은 메모리(저장 장치)의 공유에 관한 것으로, 특히 전기/전자 장치(디지털 처리 장치)에 구비된 복수의 프로세서가 메모리를 공유하는 방법 및 그 장치에 관한 것이다.
전기/전자 장치의 일 예로서, 휴대형 단말기는 게임, 이동 통신 등의 기능을 수행하기 위하여 작은 크기로 형성되어 사용자의 휴대를 용이하게 한 전자 장치를 의미한다. 휴대형 단말기에는 이동 통신 단말기, 개인 휴대 단말기(PDA : Personal Digital Assistant), 휴대형 멀티미디어 단말기(PMP : Portable Multimedia Player) 등이 있다.
이중, 이동 통신 단말기는 본질적으로 이동중인 사용자가 원격지의 수신자와 전화 통화를 가능하도록 구현된 장치이다. 그러나, 과학 기술의 발전으로 인해, 최근의 이동 통신 단말기는 전화 통화 기능, 단문 메시지 송수신 기능, 주소록 관리 기능 등의 본질적 기능 외에 카메라 기능, 멀티미디어 데이터 재생 기능 등의 부가적 기능을 더 구비한다.
도 1은 종래의 카메라 기능을 구비한 이동 통신 단말기의 블록 구성도이다.
도 1을 참조하면, 카메라 기능을 구비한 이동 통신 단말기(100)는 고주파 처리부(110), A/D 변환부(115), D/A 변환부(120), 제어부(125), 전원부(130), 키 입력부(135), 메인 메모리(140), 표시부(145), 카메라(150), 영상 처리부(155) 및 보조 메모리(160)를 포함하여 구성된다.
고주파 처리부(110)는 안테나를 통해 수신되거나 안테나를 통해 송신되는 고 주파 신호를 처리한다.
A/D 변환부(115)는 고주파 처리부(110)로부터 출력되는 아날로그 신호를 디지털 신호로 변환하여 제어부(125)로 전달한다.
D/A 변환부(120)는 제어부(125)로부터 출력되는 디지털 신호를 아날로그 신호로 변환하여 고주파 처리부(110)로 전달한다.
제어부(125)는 이동 통신 단말기(100)의 전반적인 동작을 제어한다. 제어부(125)는 CPU(Central Processing Unit) 또는 마이크로 컨트롤러(Micro-Controller)를 포함할 수 있다.
전원부(130)는 이동 통신 단말기(100)의 동작을 위해 필요한 전원을 공급하는 수단으로, 전원부(130)는 외부 전원 소스(source)와 결합되거나 배터리(battery) 등과 결합될 수 있다.
키 입력부(135)는 이동 통신 단말기(100)의 각종 기능 설정, 다이얼링 등을 수행하기 위한 키 데이터를 생성하여 제어부(125)로 전달한다.
메인 메모리(140)는 이동 통신 단말기(100)의 운용 프로그램, 각종 데이터 등을 저장한다. 메인 메모리(140)는 플래시 메모리(Flash Memory) 또는 EEPROM(Electrically Erasable Programmable Read Only Memory) 등으로 구성될 수 있다.
표시부(145)는 이동 통신 단말기(100)의 동작 상태, 관련 정보(예를 들어, 날짜, 시각 등), 카메라(150)를 통해 촬영된 외부 영상 등을 표시한다.
카메라(150)는 외부 영상(피사체)를 촬영하고, 영상 처리부(155)는 카메라 (150)에 의해 촬영된 외부 영상을 처리한다. 영상 처리부(155)는 색 보간, 감마 보정, 화질 보정, JPEG 부호화 등의 기능을 수행한다. 보조 메모리(160)는 영상 처리부(155)에 의해 처리된 외부 영상 등을 저장한다. 보조 메모리(160)는 SRAM(Static RAM) 또는 SDRAM(Synchronous DRAM)일 수 있다.
상술한 바와 같이, 카메라 기능을 구비한 이동 통신 단말기(100)는 복수의 프로세서(즉, 메인 프로세서와 부가 기능 수행을 위한 하나 이상의 부가 프로세서)를 구비한다. 즉, 도 1에 도시된 바와 같이 이동 통신 단말기(100)의 전체적인 기능을 제어하기 위한 제어부(125)와 카메라 기능을 제어하기 위한 영상 처리부(155)가 포함된다. 또한, 각각의 프로세서는 각각 독립된 메모리와 결합되도록 구성된다.
부가 프로세서의 형태 및 수량은 휴대형 단말기(100)에 어떤 부가 기능이 구비되는지에 따라 상이할 수 있다. 예를 들어, 카메라 기능 수행을 위한 부가 프로세서는 JPEG 부호화(encoding), JPEG 복호화(decoding) 등의 기능을 수행할 수 있고, 음악 파일 재생 기능을 수행하기 위한 부가 프로세서는 음악 파일의 부호화, 복호화 등을 수행할 수 있다. 이외에도 휴대형 단말기는 게임 컨트롤을 위한 부가 프로세서 등을 더 포함할 수도 있다. 상술한 프로세서들 각각은 처리된 데이터를 저장하기 위한 메모리를 개별적으로 구비한다.
이러한 구성에서, 저장 공간의 확장 또는 처리 효율의 증진 등을 위해 각 부가 프로세서가 구비한 메모리를 타 부가 프로세서 또는 메인 프로세서가 공유하도록 하기 위한 다양한 시도가 행해지고 있다.
그러나, 종래의 메모리 공유 구조는 하나의 포트(port)를 구비한 메모리를 이용하도록 구성되어 고화질, 고성능의 이미지 처리 등에 있어 시간 지연, 처리 효율 감소 등의 문제점이 있었다.
도 2는 종래 기술에 따른 프로세서와 메모리간의 결합 구조를 간략히 나타낸 도면이다.
도 2에 도시된 바와 같이, 하나의 프로세서는 이미지 신호 처리부(210), 멀티미디어 처리부(220), 제어 기능 처리부(230)를 포함하여 구성될 수 있고, 각 처리부들은 하나의 버스를 통해 병렬적으로 메모리(240)에 결합된다.
이 경우 각각의 처리부는 동시에 메모리(240)에 억세스할 수 없으므로 우선 순위 또는 지정 순서에 따라 순차적으로 메모리(240)에 억세스하게 된다. 따라서, 각 처리부의 처리 동작에 시간 지연이 발생되고, 프로세서가 많은 양의 데이터를 처리함에 부담을 가지게 된다. 또한, 이미지 센서의 화소 수가 증가할수록 비례하여 이미지 신호 처리부(210)가 메모리(240)를 점유하는 시간이 길어지게 되어 다른 처리부에서 지정된 동작을 수행하기 위해 메모리(240)를 이용하는 시간이 제약될 수 밖에 없게 된다.
도 3은 종래 기술에 따른 메인 프로세서와 부가 프로세서가 부가 프로세서에 결합된 부가 메모리를 공유하는 구조를 나타낸 블록 구성도이다. 이하 도 3을 참조하여 종래의 부가 메모리 공유 구조를 설명함에 있어, 부가 프로세서는 이미지 센서(330)를 제어하고 이미지 센서(330)로부터 입력되는 멀티미디어 데이터 처리를 위한 멀티미디어 프로세서인 경우를 가정하여 설명한다.
도 3을 참조하면, 메인 프로세서(310)는 복수의 메모리 컨트롤러(즉, 제1 메 모리 컨트롤러(333), 제2 메모리 컨트롤러(336))를 구비한다. 메인 프로세서(310)는 제1 메모리 컨트롤러(333)의 동작에 의해 MP(Main Processor)-AP(Application Processor) 버스(BUS)를 통해 멀티미디어 프로세서(320)에 접속함으로써, 멀티미디어 프로세서(320)에 결합된 부가 메모리(325)에 데이터를 기록(Write)하거나 부가 메모리(325)에 저장된 데이터를 독출(Read)한다.
또한, 메인 프로세서(310)는 제2 메모리 컨트롤러(336)의 동작에 의해 MP(Main Processor)-MM(Main Memory) 버스(BUS)를 통해 메인 프로세서(310)에 직접 결합된 메인 메모리(315)에 접속하여 데이터를 기록하거나 저장된 데이터를 독출한다.
멀티미디어 프로세서(320)는 인터페이스(342), 컨트롤러(344), 멀티미디어 처리부(346), 이미지 스케일러(348), 우선 순위 제어부(353), 메모리 제어부(356)를 포함한다.
멀티미디어 프로세서(320)는 AP-AM(Application Memory) 버스를 통해 하나의 포트를 구비한 부가 메모리(325)에 결합된다. 또한 멀티미디어 프로세서(320)는 처리한 멀티미디어 데이터를 디스플레이하기 위한 표시부(145)와 결합될 수 있다.
인터페이스(342)는 멀티미디어 프로세서(320)와 결합된 메인 프로세서(310)간에 정보 송수신을 수행한다. 멀티미디어 프로세서(320)는 인터페이스(342)를 통해 메인 프로세서(310)로부터 제어 신호가 수신되면 상응하는 처리 동작을 수행한다.
컨트롤러(344)는 멀티미디어 프로세서(320)의 구동을 위해 내장된 프로그램 에 의해 멀티미디어 프로세서(320)의 동작을 제어한다. 즉, 멀티미디어 프로세서(320)의 동작을 제어하고, 프로그램의 수행시 필요한 데이터는 부가 메모리(325)로부터 독출하며, 처리된 프로그래밍 결과를 부가 메모리(325)에 저장한다. 컨트롤러(344)는 시스템 버스(350), 메모리 제어부(356)를 통해 부가 메모리(325)에 억세스할 수 있다. 일반적으로 컨트롤러(344)는 메인 프로세서(310)로부터 수신된 제어 신호에 상응하여 멀티미디어 프로세서(320)의 동작을 제어한다. 컨트롤러(344)는 예를 들어 MCU(Microcontroller Unit)일 수 있다.
멀티미디어 처리부(346)는 부가 메모리(325)에 저장된 이미지 데이터를 독출하여 미리 지정된 포맷(예를 들어 JPEG, MPEG4)으로 압축하거나 필요한 효과를 주는 등의 역할을 수행한다. 또한 멀티미디어 처리부(346)는 메인 프로세서(310)로부터 수신되어 부가 메모리(325)에 저장된 압축 파일을 독출하여 디코딩을 수행한 후 표시부(145)에 디스플레이하는 기능을 수행한다.
이미지 스케일러(348)는 이미지 센서(330)로부터 입력되는 데이터를 컨트롤러(344)의 제어에 의해 가공하여 미리 지정된 데이터로 변환한다. 이미지 스케일러(348)는 예를 들어 이미지의 크기 조정, 색상 변경, 필터링(filtering)에 의한 부드러운 이미지 생성 등을 수행한다. 이미지 스케일러(348)에 의해 처리된 데이터는 메모리 제어부(356)에 의해 AP-AM 버스를 통해 부가 메모리(325)에 저장된다.
우선 순위 제어부(353)는 멀티미디어 프로세서(320)의 부가 메모리(325) 억세스 및 메인 프로세서(310)로부터의 부가 메모리(325) 억세스 요청간의 우선 순위를 결정하여 어느 하나가 부가 메모리(325)에 억세스할 수 있도록 제어한다. 또한, 우선 순위 제어부(353)는 멀티미디어 프로세서(320) 내의 구성 요소(즉, function unit)간의 부가 메모리(325) 억세스 요청시 각 구성 요소의 우선순위를 결정하여 메모리 제어부(356)를 제어한다. 멀티미디어 프로세서(320)는 예를 들어, 이미지 스케일러(348)에 의해 처리된 이미지 데이터의 저장, 멀티미디어 처리부(346)에 의한 부가 메모리(325)에 저장된 데이터의 처리, 처리된 데이터의 저장 등의 경우 부가 메모리(325)에 억세스할 수 있다.
메모리 제어부(356)는 메인 프로세서(310)와 멀티미디어 프로세서(320)가 동시에 부가 메모리(325) 억세스를 요청한 경우 우선 순위 제어부(353)의 우선 순위 제어 신호에 의해 어느 하나의 프로세서가 부가 메모리(325)에 억세스할 수 있도록 처리한다. 또한, 메모리 제어부(356)는 멀티미디어 프로세서(320) 내부의 구성 요소들이 동시에 부가 메모리(325) 억세스를 요청한 경우 우선 순위 제어부(353)의 제어에 의해 어느 하나의 구성 요소가 부가 메모리(325)에 억세스하도록 처리한다.
도 3에 도시된 바와 같이 종래의 메모리 공유 구조는 복수의 프로세서들 및/또는 구성 요소들이 하나의 버스를 통해 하나의 메모리에 억세스하는 구조이다. 따라서, 메인 프로세서(310)에서 임의의 부가 프로세서(320)의 메모리를 이용하기 위해 많은 시간적 제한을 가진다.
예를 들어, MPEG 파일을 재생하는 경우 메인 프로세서(310)는 연결된 메인 메모리(315)에 저장된 또는 실시간으로 입력받은 MPEG 파일을 멀티미디어 프로세서로 전달하여야 한다. MPEG 파일은 그 크기가 크기 때문에 멀티미디어 프로세서(320)에 결합된 부가 메모리(325)에 우선 기록되며, 필요 시점에 멀티미디어 프로 세서(320)의 특정 구성 요소(예를 들어, 멀티미디어 처리부(346))가 해당 데이터를 독출하여 디코딩(decoding)을 수행한 후 표시부(145)로 전달한다.
결과적으로, 도 3에 도시된 종래의 메모리 공유 구조에 의하면 프로세서간에 전달된 데이터의 크기가 클수록 멀티미디어 프로세서(320)에 연결된 부가 메모리(325)를 이용함에 많은 제한이 있을 수 밖에 없다. 이는 멀티미디어 프로세서(320)에 포함된 각 구성 요소들이 처리 동작을 수행할 때 부가 메모리(325)에 연결된 AP-AM 버스를 이용하여야 하기 때문이다.
상술한 바와 같이, 종래의 메모리 공유 구조는 고성능, 고화질의 이미지 처리 등의 경우 많은 시간 지연이 발생되는 문제점이 있었다. 또한, 부가 프로세서의 처리 효율이 감소되는 문제점도 있었다.
따라서, 상술한 문제점들을 해결하기 위한 본 발명의 목적은 고성능, 고화질의 이미지 처리 등의 경우 시간 지연을 최소화할 수 있고, 부가 프로세서의 처리 효율 감소를 최소화할 수 있는 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 데이터 저장 또는 데이터 처리를 요하는 복수의 구성 요소가 별개의 경로로서 별개의 저장 영역을 이용할 수 있도록 하여 데이터 저장 및 처리의 효율성을 극대화할 수 있는 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 멀티미디어 프로세서의 동작 여부에 무관하게 이미지 센서로부터 입력되는 이미지 데이터가 부가 메모리에 실시간 저장될 수 있어 메모리 사용 효율을 최적화할 수 있는 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 이미지 센서로부터 입력되는 이미지 데이터의 저장시 시간 지연을 제거할 수 있어 데이터 손실을 억제할 수 있는 복수 경로를 통한 메모리 공유 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 버스 컨트롤러(Bus Controller)의 기능을 수행하는 구성 요소에만 저장 장치로의 인터페이스가 연결되어 저장 장치 제어가 용이한 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 메인 프로세서가 하나의 버스(bus)를 통해 부가 프로세서 제어 및 부가 프로세서와의 데이터 송수신이 가능한 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 복수의 구성 요소가 독립적인 경로로 부가 메모리(325)에 접속할 수 있어 시스템 버스의 트래픽(traffic)을 경감시킬 수 있는 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치를 제공하는 것이다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
상기 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면 다중 분할된 메모리를 공유하는 장치가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 디지털 처리 장치에 있어서, 메인 프로세서; 상기 메인 프로세서에 의해 제어되며 하나의 연결 버스를 통해 상기 메인 프로세서에 연결되는 부가 프로세서; 및 독립된 메모리 버스를 통해 상기 부가 프로세서에 각각 결합되는 복수의 포트를 구비하고, n(자연수)개의 저장 영역으로 분할된 메모리를 포함하는 디지털 처리 장치가 제공된다.
상기 부가 프로세서는, 입력 장치로부터 입력되는 멀티미디어 데이터를 처리하여 저장 영역 A에 저장하는 멀티미디어 데이터 입력부; 상기 멀티미디어 데이터 입력부에 의해 저장된 멀티미디어 데이터를 독출하여 처리한 후 저장 영역 B에 저장하거나, 표시부를 통해 디스플레이하거나 또는 상기 메인 프로세서로 전송하는 멀티미디어 데이터 처리부; 상기 멀티미디어 데이터 처리부로부터 수신된 독출 명령 또는 저장 명령에 상응하여 상기 멀티미디어 데이터 처리부가 상기 저장 영역 A 또는 상기 저장 영역 B에 접속되도록 어느 하나의 메모리 버스를 통해 경로를 설정하는 제1 메모리 제어부; 및 상기 멀티미디어 데이터 입력부의 저장 명령에 상응하여 상기 멀티미디어 데이터 입력부가 상기 저장 영역 A에 접속되도록 다른 하나의 메모리 버스를 통해 경로를 설정하는 제2 메모리 제어부를 포함할 수 있다.
상기 n개의 저장 영역 중 m(2 내지 n-1 중 어느 하나)개의 저장 영역은 상기 멀티미디어 데이터 입력부에 의해 전용될 수 있다.
상기 멀티미디어 데이터 입력부는 상기 저장 영역 A의 저장 공간을 모두 이 용한 경우, 상응하는 상태 신호를 상기 제2 메모리 제어부로 전송하면, 상기 제2 메모리 제어부는 상기 상태 신호에 상응하여 상기 멀티미디어 데이터 입력부가 저장 영역 C에 접속되도록 경로를 갱신할 수 있다.
상기 부가 프로세서는, 상기 멀티미디어 데이터 입력부, 상기 멀티미디어 데이터 처리부의 동작을 제어하는 컨트롤러; 및 상기 메인 프로세서, 상기 멀티미디어 데이터 처리부 및 상기 컨트롤러의 억세스 우선 순위의 조정을 위해 상기 제1 메모리 제어부를 제어하는 억세스 제어부를 더 포함할 수 있다.
상기 억세스 제어부는, 상기 멀티미디어 데이터 입력부가 처리된 멀티미디어 데이터를 출력하지 않는 경우에는 억세스 우선 순위에 따라 상기 메인 프로세서, 상기 멀티미디어 데이터 처리부 및 상기 컨트롤러 중 어느 하나가 상기 다른 하나의 메모리 버스를 통해 상기 복수의 저장 영역 중 어느 하나에 억세스되도록 상기 제2 메모리 제어부를 제어할 수 있다.
상기 부가 프로세서는, 상기 연결 버스를 통해 상기 메인 프로세서로부터 제어 신호, 데이터 중 어느 하나에 상응하는 정보를 수신하고, 상기 제어 신호에 상응하는 데이터를 전송하는 인터페이스부를 더 포함할 수 있다.
상기 입력 장치는 이미지 센서일 수 있다. 또한, 상기 부가 프로세서 및 상기 메모리는 동일한 칩 내에 구현될 수 있다.
상기 목적들을 달성하기 위하여, 본 발명의 다른 측면에 따르면 메모리 공유 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 기록매체가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 부가 프로세서에 포함된 각 구성 요소가 메모리를 공유하는 방법에 있어서, (a) 메모리 제어부 A가 멀티미디어 데이터 입력부의 저장 명령에 상응하여 메모리 버스 A를 통해 상기 멀티미디어 데이터 입력부가 제1 저장 영역에 억세스되도록 경로를 설정하는 단계; (b) 상기 멀티미디어 데이터 입력부가 상기 제1 저장 영역의 저장 공간을 모두 이용한 경우, 상태 신호를 상기 메모리 제어부 A로 전송하는 단계; (c) 상기 메모리 제어부 A가 상기 메모리 버스 A를 통해 상기 멀티미디어 데이터 입력부가 제2 저장 영역에 억세스되도록 경로를 재설정하는 단계; (d) 메모리 제어부 B가 멀티미디어 데이터 처리부의 독출 명령에 상응하여 메모리 버스 B를 통해 상기 멀티미디어 데이터 처리부가 상기 제1 저장 영역에 억세스되도록 경로를 설정하는 단계; (e) 상기 멀티미디어 데이터 처리부가 상기 제1 저장 영역에 저장된 데이터를 독출하여 처리하는 단계; 및 (f) 메모리 제어부 B가 상기 멀티미디어 데이터 처리부의 저장 명령에 상응하여 메모리 버스 B를 통해 상기 멀티미디어 데이터 처리부에 의해 처리된 데이터가 제3 저장 영역에 억세스되도록 경로를 재설정하는 단계를 포함하는 메모리 공유 방법이 제공된다.
상기 단계 (d)는, 억세스 제어부가 컨트롤러 및 상기 멀티미디어 처리부로부터 상기 메모리로의 억세스 요청을 수신하는 단계; 상기 컨트롤러 및 상기 멀티미디어 데이터 처리부간의 억세스 우선 순위를 설정하는 단계; 및 상기 멀티미디어 데이터 처리부의 우선 순위가 선순위인 경우, 상기 메모리 제어부 B가 멀티미디어 데이터 처리부의 독출 명령에 상응하여 메모리 버스 B를 통해 상기 멀티미디어 데 이터 처리부가 상기 제1 저장 영역에 억세스되도록 경로를 설정하는 단계를 포함할 수 있다.
상기 메모리는 독립된 메모리 버스를 통해 상기 부가 프로세서에 각각 결합되는 복수의 포트를 구비하고, 상기 복수의 포트를 통해 각각 억세스될 수 있는 n(자연수)개의 저장 영역으로 분할되는 것을 특징으로 한다.
본 발명의 바람직한 다른 실시예에 따르면, 부가 프로세서에 포함된 각 구성 요소가 메모리를 공유하는 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, (a) 메모리 제어부 A가 멀티미디어 데이터 입력부의 저장 명령에 상응하여 메모리 버스 A를 통해 상기 멀티미디어 데이터 입력부가 제1 저장 영역에 억세스되도록 경로를 설정하는 단계; (b) 상기 멀티미디어 데이터 입력부가 상기 제1 저장 영역의 저장 공간을 모두 이용한 경우, 상태 신호를 상기 메모리 제어부 A로 전송하는 단계; (c) 상기 메모리 제어부 A가 상기 메모리 버스 A를 통해 상기 멀티미디어 데이터 입력부가 제2 저장 영역에 억세스되도록 경로를 재설정하는 단계; (d) 메모리 제어부 B가 멀티미디어 데이터 처리부의 독출 명령에 상응하여 메모리 버스 B를 통해 상기 멀티미디어 데이터 처리부가 상기 제1 저장 영역에 억세스되도록 경로를 설정하는 단계; (e) 상기 멀티미디어 데이터 처리부가 상기 제1 저장 영역에 저장된 데이터를 독출하여 처리하는 단계; 및 (f) 메모리 제어부 B가 상기 멀티미디어 데이터 처리부의 저장 명령에 상응하여 메모리 버스 B를 통해 상기 멀티미디어 데이터 처리부에 의 해 처리된 데이터가 제3 저장 영역에 억세스되도록 경로를 재설정하는 단계를 실행하는 것을 특징으로 하는 프로그램을 기록한 기록매체가 제공된다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 명세서에서 이용되는 서수(ordinal number, 예를 들어, 제1, 제2, A, B 등)는 동일 또는 유사한 개체가 표시된 순서대로 단지 구별을 위해 순차적으로 구분하기 위한 식별 기호에 불과하다. 따라서, 서수가 부가된 구성 요소의 명칭은 그 전체로서 특정되는 것은 아니며, 또한 이로 인해 본 발명의 권리범위가 제한되지 않음은 자명하다.
또한, 본 발명에 따른 다중 분할된 메모리 공유 방법은 복수의 프로세서를 구비하고, 특정 메모리가 복수의 프로세서에 의해 공유될 필요가 있거나 하나의 프로세서에 포함된 복수의 구성 요소가 동시에 메모리를 공유할 필요가 있는 모든 형태의 디지털 처리 장치 또는 시스템(예를 들어, 이동 통신 단말기, PDA, PMP(Portable Multimedia Player), MP3 플레이어, 디지털 카메라, 디지털 텔레비전, 음향 기기 등과 같이 휴대형 단말기 및/또는 가정 내에 구비되는 가정용 디지털 기기 등)에 동일하게 적용할 수 있음은 자명하다. 다만, 이하에서는 설명 및 이해의 편의를 위해 휴대형 단말기를 중심으로 설명하기로 한다. 또한, 하기의 설명을 통해 본 발명이 적용될 수 있는 휴대형 단말기가 특정 유형의 단말기에 제한되지 않고 복수의 프로세서 또는 구성 요소들에 의해 공유되는 메모리를 포함하여 구성된 단말기인 경우라면 동일하게 적용될 수 있음을 쉽게 이해할 수 있을 것이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 다중 분할된 메모리 공유 구조를 나타낸 도면이고, 도 5는 본 발명의 바람직한 일 실시예에 따른 다중 분할된 메모리의 분할 형태를 예시한 도면이다.
부가 프로세서(320)는 이미지 센서(330)를 제어하고 이미지 센서(330)로부터 입력되는 멀티미디어 데이터(예를 들어, 이미지 데이터 및 음성 데이터 등)의 처리를 위한 멀티미디어 프로세서인 경우를 가정하여 설명한다. 또한, 부가 프로세서(320)와 결합된 부가 메모리(430)는 메인 프로세서(310) 및 부가 프로세서(320) 내에 포함된 각 구성 요소들에 의해 공유될 수 있으나, 이하에서는 부가 프로세서(320) 내의 각 구성 요소들에 의해 공유되는 경우만을 중심으로 설명한다.
도 4를 참조하면, 본 발명에 따른 부가 프로세서(320)는 MP-AP 버스(Host I/F)를 통해 메인 프로세서(310)와 결합되고, 2개의 포트를 구비한 부가 메모리(325)와 제1 메모리 버스 및 제2 메모리 버스를 통해 결합된다. 또한 부가 프로세서(320)는 이미지 센서(330)로부터 입력된 멀티미디어 데이터를 처리하여 부가 메모리(325)에 저장하고, 부가 메모리(325)에 저장된 멀티미디어 데이터를 처리하여 표시부(145)를 통해 디스플레이한다.
부가 프로세서(320)는 인터페이스(343), 컨트롤러(344), 멀티미디어 처리부(346), 이미지 스케일러(348), 억세스 제어부(410), 제1 메모리 제어부(415), 제2 메모리 제어부(420)를 포함한다.
인터페이스(342)는 부가 프로세서(320)와 결합된 메인 프로세서(310)간에 정보 송수신을 수행한다. 부가 프로세서(320)는 인터페이스(342)를 통해 메인 프로세서(310)로부터 제어 신호가 수신되면 상응하는 처리 동작을 수행한다.
컨트롤러(344)는 부가 프로세서(320)의 구동을 위해 내장된 프로그램에 의해 부가 프로세서(320)의 동작을 제어한다. 즉, 부가 프로세서(320)의 동작을 제어하고, 프로그램의 수행시 필요한 데이터는 부가 메모리(325)로부터 독출하며, 처리된 프로그래밍 결과를 부가 메모리(325)에 저장한다. 컨트롤러(344)는 시스템 버스(350), 제1 메모리 제어부(415) 또는 제2 메모리 제어부(420)를 통해 부가 메모리(325)의 특정 분할 영역(도 5 참조)에 억세스할 수 있다. 일반적으로 컨트롤러(344)는 메인 프로세서(310)로부터 수신된 제어 신호에 상응하여 부가 프로세서(320)의 동작을 제어한다. 컨트롤러(344)는 예를 들어 MCU(Microcontroller Unit)일 수 있다.
멀티미디어 처리부(346)는 제1 메모리 제어부(415) 또는 제2 메모리 제어부(420)를 통해 부가 메모리(325)의 특정 분할 영역에 억세스한 후, 해당 영역에 저장된 이미지 데이터를 독출하여 미리 지정된 포맷(예를 들어 JPEG, MPEG4)으로 압축하거나 필요한 효과를 주는 등의 역할을 수행한다. 또한 멀티미디어 처리부(346)는 메인 프로세서(310)로부터 수신되어 부가 메모리(325)에 저장된 압축 파일을 독출하여 디코딩을 수행한 후 표시부(145)에 디스플레이하는 기능을 수행한다. 멀티미디어 처리부(346)는 처리한 데이터를 부가 메모리(325) 내의 임의의 저장 영역에 저장할 수 있다.
이미지 스케일러(348)는 이미지 센서(330)로부터 입력되는 데이터를 컨트롤러(344)의 제어에 의해 가공하여 미리 지정된 데이터로 변환한다. 이미지 스케일러(348)는 예를 들어 이미지의 크기 조정, 색상 변경, 필터링(filtering)에 의한 부드러운 이미지 생성 등을 수행한다. 이미지 스케일러(348)에 의해 처리된 데이터는 제2 메모리 제어부(420)에 의해 제2 메모리 버스를 통해 부가 메모리(325)의 특정 분할 영역에 저장된다.
본 발명의 이미지 스케일러(348)는 부가 메모리(325)로 멀티미디어 데이터를 저장하는 구성 요소의 일 실시예에 불과하며, 본 발명은 부가 메모리(325)로 멀티미디어 데이터(예를 들어, 이미지 데이터 및/또는 음성 데이터 등)를 실시간 저장할 필요가 있는 모든 멀티미디어 데이터 입력부에 범용적으로 적용될 수 있음은 자명하다.
또한 마찬가지로 도 5에 도시된 멀티미디어 처리부(346) 등은 부가 메모리(325)에 저장된 멀티미디어 데이터를 처리하는 구성 요소의 일 실시예에 불과하며, 본 발명은 부가 메모리(325)에 저장된 멀티미디어 데이터를 처리하여 부가 메모리(325)에 다시 저장하거나, 표시부(145)를 통해 디스플레이하거나, 또는 메인 프로세서(310)로 전송하는 모든 멀티미디어 데이터 처리부에 범용적으로 적용될 수 있음은 자명하다.
억세스 제어부(410)는 부가 프로세서(320)의 부가 메모리(325) 억세스 및 메인 프로세서(310)로부터의 부가 메모리(325) 억세스 요청간의 우선 순위를 결정하여 어느 하나가 부가 메모리(325)에 억세스할 수 있도록 제어한다. 또한, 억세스 제어부(410)는 부가 프로세서(320) 내의 구성 요소(즉, function unit)간의 부가 메모리(325) 억세스 요청시 각 구성 요소의 우선순위를 결정하여 제1 및 제2 메모리 제어부(415, 420)를 제어한다. 다만, 억세스 제어부(410)는 이미지 스케일러(348)로부터 입력되는 멀티미디어 데이터는 우선 순위 결정시 제외(즉, 최우선 순위로 설정)할 수 있다. 즉, 이미지 스케일러(348)로부터 입력되는 멀티미디어 데이터는 제2 메모리 제어부(420)를 제어하여 제2 메모리 버스를 통해 부가 메모리(325)의 특정 분할 영역에 실시간 저장되도록 할 수 있다.
제1 메모리 제어부(415)는 메인 프로세서(310)와 부가 프로세서(320)가 동시에 부가 메모리(325) 억세스를 요청한 경우 억세스 제어부(410)의 우선 순위 제어 신호에 의해 어느 하나의 프로세서가 제1 메모리 버스를 통해 부가 메모리(325)에 억세스할 수 있도록 처리한다. 또한, 제1 메모리 제어부(415)는 부가 프로세서(320) 내부의 구성 요소들(이미지 스케일러(348)를 제외한)이 동시에 부가 메모리(325) 억세스를 요청한 경우 억세스 제어부(410)의 제어에 의해 어느 하나의 구성 요소가 제1 메모리 버스를 통해 부가 메모리(325)에 억세스하도록 처리한다.
제2 메모리 제어부(420)는 이미지 스케일러(348)로부터 멀티미디어 데이터(예를 들어, 이미지 데이터 및/또는 음성 데이터 등)가 입력되는 경우, 억세스 제어부(410)의 제어에 의해 해당 데이터가 제2 메모리 버스를 통해 부가 메모리(325) 내의 특정 저장 영역에 저장되도록 한다. 만일 이미지 스케일러(348)로부터의 데이터 입력이 없는 경우에는 억세스 제어부(410)의 제어에 의해 제2 메모리 버스를 통 해 다른 구성 요소 또는 메인 프로세서(310)가 부가 메모리(325)에 접속할 수 있도록 한다.
또한, 부가 프로세서(320)에 2개의 버스를 통해 결합되는 부가 메모리(325)는 2개의 억세스 포트를 구비하며, 저장 영역이 n(자연수)개의 저장 영역으로 분할되도록 구현된다.
즉, 도 5에 도시된 바와 같이 부가 메모리(325)의 내부 구조는 하나의 메모리 코어(memory core)를 가지고, 2개의 억세스 포트를 통해 제1 저장 영역, 제2 저장 영역 또는 제3 저장 영역 모두에 억세스 가능하도록 구성되어있다. 이 경우, 제1 저장 영역은 컨트롤러(344) 및/또는 멀티미디어 처리부(346) 등에 의해 전용되도록 설정될 수 있으며, 제2 저장 영역과 제3 저장 영역은 이미지 스케일러(348)로부터 입력되는 멀티미디어 데이터를 저장하기 위한 전용 영역으로 설정될 수도 있다. 도 5에는 편의상 저장 영역이 3개로 분할된 경우를 가정하였으나 저장 영역의 분할 개수는 편의에 따라 증감될 수 있음은 자명하다.
메인 프로세서(310) 및/또는 부가 프로세서(320)의 특정 구성 요소는 임의의 저장 영역 A에 데이터를 기록하고자 하는 경우 메인 프로세서(310) 및/또는 특정 구성 요소는 데이터의 기록을 위한 기록 명령(즉, 주소 정보(Addr_A : 저장 영역 A의 Address Signal), 기록하고자 하는 데이터(Data_A), 제어 신호들(예를 들어, 저장 영역 A로의 데이터 기록을 지시하기 위한 WE_A(Write Enable), 저장 영역 A에 대한 칩 선택 신호(CS_A : Chip Select _ A), 클럭(CLK_A) 등))을 부가 메모리(325)로 전송한다. 마찬가지로, 메인 프로세서(310) 및/또는 부가 프로세서(320)의 특정 구성 요소는 임의의 저장 영역 B에 기록된 데이터를 독출하고자 하는 경우 메인 프로세서(310) 및/또는 특정 구성 요소는 데이터의 독출을 위한 독출 명령(즉, 주소 정보(Addr_B : 저장 영역 B의 Address Signal), 기록하고자 하는 데이터(Data_B), 제어 신호들(예를 들어, 저장 영역 B에서의 데이터 독출을 지시하기 위한 OE_A(Output Enable), 저장 영역 B에 대한 칩 선택 신호(CS_B : Chip Select_B), 클럭(CLK_B) 등))을 부가 메모리(325)로 전송한다. 데이터 저장을 위한 상술한 정보들 및/또는 데이터 독출을 위한 상술한 정보들이 제1 메모리 제어부(415) 및/또는 제2 메모리 제어부(420)에 각각 연결될 수 있다.
예를 들어, 이미지 스케일러(348)는 멀티미디어 데이터의 저장만을 수행할 것이므로 데이터 저장을 위한 저장 명령(예를 들어, WE_A 등)만을 제2 메모리 제어부(420)로 전송할 것이며, 멀티미디어 처리부(346)는 필요에 따라 데이터의 독출 및 저장을 선택적으로 수행할 수 있으므로 독출 명령과 저장 명령을 제1 메모리 제어부(415) 또는 제2 메모리 제어부(420)로 전송할 수 있을 것이다. 이미지 스케일러(348)를 제외한 다른 구성 요소들의 제2 메모리 제어부(420)를 통한 억세스 요청은 이미지 스케일러(348)가 제2 메모리 버스를 점유하고 있지 않은 기간으로 제한될 수 있다.
상술한 바와 같이, 본 발명에 따른 다중 분할된 메모리 공유 방법은 이미지 센서(330)로부터 입력되는 멀티미디어 데이터를 2개의 억세스 포트 중 하나의 억세스 포트를 통해 실시간 부가 메모리(325)에 저장되도록 하고, 다른 구성 요소 또는 메인 프로세서(310)에 의한 억세스 요구는 다른 하나의 억세스 포트를 통해 실시간 수행되도록 함으로써 복수의 구성 요소들에 의한 병렬 처리가 가능하다. 따라서, 공유 메모리의 이용을 위한 대기 시간을 최소화할 수 있는 효과가 있다. 이는 이미지 센서(330)의 크기가 종래에는 640x480pixel(픽셀)이었으나 현재는 1280x1024 pixel(픽셀)이 일반적이고, 향후 1920x1200 pixel(픽셀) 또는 2560x2048 pixel(픽셀)까지 지속적으로 커지고, 따라서 이미지 데이터의 크기도 커질 것으로 예상되며 결과적으로 저장 장치에 데이터를 저장하는 시간이 길어짐에 의해 야기되는 문제점들을 해결할 수 있다.
도 6은 본 발명의 바람직한 일 실시예에 따른 부가 프로세서의 동작 과정을 나타낸 순서도이다.
도 6을 참조하여 부가 프로세서의 동작 과정 및 다중 분할된 메모리 공유 방법을 설명함에 있어 도 5에 도시된 공유 메모리 내부 구조를 참조한다. 또한 제1 저장 영역은 컨트롤러(344) 및/또는 멀티미디어 처리부(346) 등을 위한 전용 영역이고, 제2 저장 영역과 제3 저장 영역은 이미지 스케일러(348)를 위한 전용 영역인 것으로 가정한다. 다만, 각 저장 영역의 명칭 및 수량은 이에 제한되지 않음은 앞서 설명한 바와 같다.
도 6을 참조하면, 단계 610에서 이미지 스케일러(348)는 이미지 센서(330)로부터 실시간 입력되는 멀티미디어 데이터를 제2 저장 영역에 저장한다. 억세스 제어부(410)는 이미지 스케일러(348)로부터 출력되는 멀티미디어 데이터가 제2 메모리 제어부(420) 및 제2 메모리 버스를 통해 제2 저장 영역에 저장될 수 있도록 경 로를 제어한다. 이미지 스케일러(348)로 입력된 멀티미디어 데이터와 이미지 스케일러(348)로부터 출력되는 멀티미디어 데이터간의 특성은 상이할 수 있다.
이미지 스케일러(348)는 단계 615에서 제2 저장 영역에 멀티미디어 데이터 저장이 완료되었는지 여부를 판단한다. 제2 저장 영역에 멀티미디어 데이터를 저장할 수 있는 저장 공간이 남아있는 경우에는 단계 610으로 다시 진행한다.
그러나, 제2 저장 영역의 모든 저장 공간에 멀티미디어 데이터가 저장되었다면 단계 620으로 진행한다. 단계 620에서 이미지 스케일러(348)는 제2 저장 영역에 대한 억세스를 종료한다. 즉, 제2 저장 영역의 저장 공간을 모두 이용한 이미지 스케일러(348)는 시스템 버스(350)를 통해 제2 메모리 제어부(420)로 상태 신호(예를 들어, 멀티미디어 데이터 저장이 완료되었다는 정보, 해당 저장 영역의 저장 공간이 모두 이용되었다는 정보, 다른 저장 영역으로 억세스하라는 요청 등 중 적어도 어느 하나를 포함할 수 있음)를 전송한다. 제2 메모리 제어부(420)는 수신한 상태 신호를 참조하여 이미지 스케일러(348)가 제3 저장 영역에 억세스되도록 제어한다. 이미지 스케일러(348)는 상태 신호를 억세스 제어부(410)로 전송할 수도 있으며, 억세스 제어부(410)는 제2 메모리 제어부(420)로 이미지 스케일러(348)의 억세스 상태 변경을 지시할 수도 있다.
단계 635에서 이미지 스케일러(348)는 억세스된 제3 저장 영역에 이미지 센서(330)로부터 실시간 입력되는 멀티미디어 데이터를 제3 저장 영역에 저장한다. 억세스 제어부(410)는 이미지 스케일러(348)로부터 출력되는 멀티미디어 데이터가 제2 메모리 제어부(420) 및 제2 메모리 버스를 통해 제3 저장 영역에 저장될 수 있 도록 경로를 제어한다. 단계 635 이하의 단계는 이미지 스케일러(348)가 부가 메모리(325)에 저장할 데이터가 제2 저장 영역의 크기 보다 큰 경우, 이미지 센서(330)로부터 멀티미디어 데이터를 실시간 지속적으로 입력받는 경우, 이미지 스케일러(348)가 임의의 데이터를 제2 저장 영역에 저장하고 억세스를 종료한 후 제3 저장 영역에 다시 접속하여 새로운 데이터를 저장하는 경우 등에만 수행될 수 있을 것이다.
이미지 스케일러(348)는 단계 640에서 제3 저장 영역에 멀티미디어 데이터 저장이 완료되었는지 여부를 판단한다. 제3 저장 영역에 멀티미디어 데이터를 저장할 수 있는 저장 공간이 남아있는 경우에는 단계 635로 다시 진행한다.
그러나, 제3 저장 영역의 모든 저장 공간에 멀티미디어 데이터가 저장되었다면 단계 645로 진행한다. 단계 645서 이미지 스케일러(348)는 제3 저장 영역에 대한 억세스를 종료한다. 즉, 제3 저장 영역의 저장 공간을 모두 이용한 이미지 스케일러(348)는 시스템 버스(350)를 통해 제2 메모리 제어부(420)로 상태 신호(예를 들어, 멀티미디어 데이터 저장이 완료되었다는 정보, 해당 저장 영역의 저장 공간이 모두 이용되었다는 정보, 다른 저장 영역으로 억세스하라는 요청 등 중 적어도 어느 하나를 포함할 수 있음)를 전송한다. 제2 메모리 제어부(420)는 수신한 상태 신호를 참조하여 이미지 스케일러(348)가 또 다른 저장 영역에 억세스되도록 제어한다. 이미지 스케일러(348)는 상태 신호를 억세스 제어부(410)로 전송할 수도 있으며, 억세스 제어부(410)는 제2 메모리 제어부(420)로 이미지 스케일러(348)의 억세스 상태 변경을 지시할 수도 있다. 만일 이미지 스케일러(348)가 멀티미디어 데 이터를 저장할 수 있도록 지정된 저장 영역이 제2 및 제3 저장 영역만이라면, 제2 메모리 제어부(420)는 단계 645 이후에 이미지 스케일러(348)가 다시 제2 저장 영역에 억세스되도록 제어할 것이다. 이 경우, 이하에서 설명되는 바와 같이 멀티미디어 처리부(346)가 아직 제2 저장 영역에 억세스하여 저장된 데이터를 독출하고 있다면 멀티미디어 처리부(346)의 데이터 독출이 완료될 때까지 이미지 스케일러(348)의 제2 저장 영역에 대한 데이터 저장은 제한될 수 있다.
다시 단계 620을 참조하면, 이미지 스케일러(348)는 제2 저장 영역에 대한 억세스를 종료하기 위해 상태 신호를 제2 메모리 제어부(420) 및/또는 억세스 제어부(410)로 전송한다. 제2 메모리 제어부(420) 및/또는 억세스 제어부(410)는 해당 상태 신호를 컨트롤러(344) 및/또는 멀티미디어 처리부(346)로 전송한다.
단계 625에서 멀티미디어 처리부(346)(또는 컨트롤러(344) - 이하 동일함)는 억세스 제어부(410) 및/또는 제1 메모리 제어부(415)로 제2 저장 영역에 대한 억세스 요청(이는 독출 명령을 포함할 수 있음)을 전송하고, 제1 메모리 제어부(415)는 억세스 제어부(410)로부터 수신된 우선 순위 제어 신호에 의해 멀티미디어 처리부(346)가 제1 메모리 버스를 통해 제1 저장 영역에 억세스되도록 제어한다. 멀티미디어 처리부(346)는 제2 저장 영역에 저장된 멀티미디어 데이터를 독출하여 필요한 처리를 수행한 후 결과 데이터를 제1 저장 영역에 저장하거나 MP-AP 버스를 통해 메인 프로세서(310)로 전송한다(단계 630). 또한 처리한 데이터를 표시부(145)를 통해 디스플레이할 수도 있음은 자명하다.
단계 625 내지 단계 630은 상술한 단계 635 내지 단계 645와 별개의 저장 영 역에 대하여 병렬적으로 수행된다. 따라서, 각 구성 요소는 공유 메모리를 이용하기 위해 타 구성 요소의 동작이 완료될 때까지 대기할 필요가 없게 된다.
마찬가지로, 단계 645에서 멀티미디어 처리부(346)는 제3 저장 영역에 대한 억세스 요청을 억세스 제어부(410) 및/또는 제1 메모리 제어부(415)로 전송하고, 제1 메모리 제어부(415)는 멀티미디어 처리부(346)가 제3 저장 영역에 억세스되도록 제어한다. 이어서, 멀티미디어 처리부(346)는 제3 저장 영역에 저장된 멀티미디어 데이터를 독출하여 필요한 처리를 수행한 후 결과 데이터를 제1 저장 영역에 저장하거나 MP-AP 버스를 통해 메인 프로세서(310)로 전송한다(단계 650). 또한 처리한 데이터를 표시부(145)를 통해 디스플레이할 수도 있음은 자명하다.
상술한 바와 같이 본 발명에 따른 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치는 고성능, 고화질의 이미지 처리 등의 경우 시간 지연을 최소화할 수 있고, 부가 프로세서의 처리 효율 감소를 최소화할 수 있는 효과가 있다.
또한, 본 발명은 데이터 저장 또는 데이터 처리를 요하는 복수의 구성 요소가 별개의 경로로서 별개의 저장 영역을 이용할 수 있도록 하여 데이터 저장 및 처리의 효율성을 극대화할 수 있는 효과가 있다.
또한, 본 발명은 멀티미디어 프로세서의 동작 여부에 무관하게 이미지 센서로부터 입력되는 이미지 데이터가 부가 메모리에 실시간 저장될 수 있어 메모리 사용 효율을 최적화할 수 있는 효과가 있다.
또한, 본 발명은 이미지 센서로부터 입력되는 이미지 데이터의 저장시 시간 지연을 제거할 수 있어 데이터 손실을 억제할 수 있는 효과가 있다.
또한, 본 발명은 버스 컨트롤러(Bus Controller)의 기능을 수행하는 구성 요소에만 저장 장치로의 인터페이스가 연결되어 저장 장치 제어가 용이한 효과가 있다.
또한, 본 발명은 메인 프로세서가 하나의 버스(bus)를 통해 부가 프로세서 제어 및 부가 프로세서와의 데이터 송수신이 가능한 효과가 있다.
또한, 본 발명은 복수의 구성 요소가 독립적인 경로로 부가 메모리(325)에 접속할 수 있어 시스템 버스의 트래픽(traffic)을 경감시킬 수 있는 효과가 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (13)
- 디지털 처리 장치에 있어서,둘 이상의 포트를 구비하고, 저장 공간이 둘 이상의 저장 영역으로 분할된 메모리;메인 프로세서; 및연결 버스를 통해 연결된 상기 메인 프로세서에 의해 동작 제어되고, 복수의 메모리 버스를 통해 상기 포트에 개별적으로 결합되는 부가 프로세서를 포함하되,상기 메인 프로세서는 상기 부가 프로세서의 메모리 버스 제어에 의해 상기 메모리로의 접속 여부가 결정되고,상기 부가 프로세서는 입력 장치로부터 입력되는 멀티미디어 데이터를 실시간 처리하여 어느 하나의 저장 영역에 저장하는 멀티미디어 데이터 입력부를 포함하고, 상기 멀티미디어 데이터 입력부가 처리한 멀티미디어 데이터를 임의의 저장 영역에 실시간 저장할 수 있도록 하나의 메모리 버스가 상기 멀티미디어 데이터 입력부에 대해 최우선 순위로 할당되도록 설정되는 것을 특징으로 하는 디지털 처리 장치.
- 제1항에 있어서,상기 저장 영역이 저장 영역 A와 저장 영역 B를 포함하도록 분할되고, 상기 포트가 제1 포트 및 제2 포트를 포함하며, 상기 멀티미디어 데이터 입력부가 상기 제1 포트를 통해 상기 저장 영역 A에 접속한 경우,상기 부가 프로세서는,상기 멀티미디어 데이터 입력부에 의해 상기 저장 영역 A에 저장된 멀티미디어 데이터를 독출하여 처리한 후 상기 저장 영역 B에 저장하거나, 표시부를 통해 디스플레이하거나 또는 상기 메인 프로세서로 전송하는 멀티미디어 데이터 처리부를 더 포함하되,상기 멀티미디어 데이터 입력부가 상기 저장 영역 A에 대한 접속을 종료한 후 상기 멀티미디어 데이터 처리부가 상기 저장 영역 A에 접속하는 것을 특징으로 하는 디지털 처리 장치.
- 제2항에 있어서,상기 부가 프로세서는,상기 멀티미디어 데이터 처리부로부터 수신된 독출 명령 또는 저장 명령에 상응하여 상기 멀티미디어 데이터 처리부가 상기 저장 영역 A 또는 상기 저장 영역 B에 접속되도록 어느 하나의 메모리 버스를 통해 경로를 설정하는 제1 메모리 제어부; 및상기 멀티미디어 데이터 입력부의 저장 명령에 상응하여 상기 멀티미디어 데이터 입력부가 상기 저장 영역 A에 접속되도록 다른 하나의 메모리 버스를 통해 경로를 설정하는 제2 메모리 제어부를 더 포함하는 것을 특징으로 하는 디지털 처리 장치.
- 제2항에 있어서,상기 저장 영역이 저장 영역 C를 더 포함하도록 분할된 경우,상기 멀티미디어 데이터 입력부는 상기 저장 영역 A의 저장 공간을 모두 이용한 경우, 상응하는 상태 신호를 상기 제2 메모리 제어부로 전송하고,상기 제2 메모리 제어부는 상기 상태 신호에 상응하여 상기 멀티미디어 데이터 입력부가 저장 영역 C에 접속되도록 경로를 갱신하는 것을 특징으로 하는 디지털 처리 장치.
- 제3항에 있어서,상기 부가 프로세서는,상기 멀티미디어 데이터 입력부, 상기 멀티미디어 데이터 처리부의 동작을 제어하는 컨트롤러; 및상기 메인 프로세서, 상기 멀티미디어 데이터 처리부 및 상기 컨트롤러의 억세스 우선 순위의 조정을 위해 상기 제1 메모리 제어부를 제어하는 억세스 제어부를 더 포함하는 디지털 처리 장치.
- 제5항에 있어서,상기 억세스 제어부는, 상기 멀티미디어 데이터 입력부가 처리된 멀티미디어 데이터를 저장하기 위해 임의의 저장 영역에 접속하지 않는 동안에는 억세스 우선 순위에 따라 상기 메인 프로세서, 상기 멀티미디어 데이터 처리부 및 상기 컨트롤러 중 어느 하나가 상기 다른 하나의 메모리 버스를 통해 상기 복수의 저장 영역 중 어느 하나에 억세스되도록 상기 제2 메모리 제어부를 제어하는 것을 특징으로 하는 디지털 처리 장치.
- 제2항에 있어서,상기 부가 프로세서는,상기 연결 버스를 통해 상기 메인 프로세서로부터 제어 신호, 데이터 중 어 느 하나에 상응하는 정보를 수신하고, 상기 제어 신호에 상응하는 데이터를 전송하는 인터페이스부를 더 포함하는 디지털 처리 장치.
- 제1항에 있어서,상기 입력 장치는 이미지 센서인 것을 특징으로 하는 디지털 처리 장치.
- 제1항에 있어서,상기 부가 프로세서 및 상기 메모리는 동일한 칩 내에 구현되는 것을 특징으로 하는 디지털 처리 장치.
- 부가 프로세서에 포함된 각 구성 요소가 메모리를 공유하는 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,(a) 억세스 제어부가 멀티미디어 데이터 입력부의 저장 명령에 상응하는 멀티미디어 데이터가 상기 메모리의 분할된 저장 영역 중 제1 저장 영역에 기록되도록 하기 위해 메모리 제어부 A를 제어하는 단계; 및(b) 상기 억세스 제어부가 상기 멀티미디어 데이터 입력부가 상기 제1 저장 영역에 기록한 멀티미디어 데이터 처리를 위한 멀티미디어 데이터 처리부의 독출 명령에 상응하여 상기 멀티미디어 데이터 처리부가 상기 제1 저장 영역에 접속할 수 있도록 메모리 제어부 B를 제어하는 단계를 실행하되,상기 멀티미디어 데이터 처리부는 상기 제1 저장 영역에 대한 상기 멀티미디어 데이터 입력부의 접속이 종료된 후 상기 제1 저장 영역으로의 접속이 허용되고,상기 멀티미디어 데이터 입력부는 상기 제1 저장 영역의 저장 공간이 모두 이용되면 후속하는 멀티미디어 데이터의 저장을 위하여 상기 메모리 제어부 A에 의해 제2 저장 영역으로 접속되도록 제어되며,상기 메모리 제어부 A와 상기 메모리 제어부 B는 각각 독립된 버스를 통해 상기 메모리에 결합되는 것을 특징으로 하는 프로그램을 기록한 기록매체.
- 제10항에 있어서,컨트롤러로부터 상기 메모리로의 억세스 요청을 더 수신되는 경우,상기 단계 (b)는,상기 억세스 제어부가 상기 컨트롤러 및 상기 멀티미디어 데이터 처리부간의 억세스 우선 순위를 결정하는 단계; 및상기 멀티미디어 데이터 처리부의 우선 순위가 선순위인 경우, 상기 멀티미디어 데이터 처리부가 상기 제1 저장 영역에 접속되도록 상기 메모리 제어부 B를 제어하는 단계를 포함하는 것을 특징으로 하는 프로그램을 기록한 기록매체.
- 삭제
- 삭제
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050068065A KR100728650B1 (ko) | 2005-07-26 | 2005-07-26 | 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치 |
PCT/KR2006/002740 WO2007013744A1 (en) | 2005-07-26 | 2006-07-12 | Sharing multi-partitioned memory through a plurality of routes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050068065A KR100728650B1 (ko) | 2005-07-26 | 2005-07-26 | 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070013620A KR20070013620A (ko) | 2007-01-31 |
KR100728650B1 true KR100728650B1 (ko) | 2007-06-14 |
Family
ID=37683599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20050068065A KR100728650B1 (ko) | 2005-07-26 | 2005-07-26 | 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100728650B1 (ko) |
WO (1) | WO2007013744A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101111946B1 (ko) | 2009-12-17 | 2012-02-14 | 엠텍비젼 주식회사 | 촬상 장치, 이미지 시그널 프로세서 칩 및 칩 간의 메모리 공유 방법 |
US9706156B2 (en) | 2014-04-18 | 2017-07-11 | Samsung Electronics Co., Ltd. | Image sensor for controlling a transmission speed of sensed image data and image processing system including the same |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100822468B1 (ko) * | 2006-09-11 | 2008-04-16 | 엠텍비젼 주식회사 | 공유 메모리를 구비한 장치 및 코드 데이터 전송 방법 |
KR100855701B1 (ko) * | 2007-01-26 | 2008-09-04 | 엠텍비젼 주식회사 | 복수의 프로세서 코어가 통합된 칩 및 데이터 처리 방법 |
KR101035732B1 (ko) * | 2008-10-07 | 2011-05-19 | 주식회사 칩스앤미디어 | 메모리 액세스 인터페이스의 변환 방법 및 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000044726A (ko) * | 1998-12-30 | 2000-07-15 | 전주범 | 디지탈 처리 시스템에서의 메모리 관리 방법 |
KR20040093167A (ko) * | 2002-04-04 | 2004-11-04 | 인피니온 테크놀로지스 아게 | 공유 메모리를 갖는 향상된 아키텍처 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6401176B1 (en) * | 1997-11-14 | 2002-06-04 | Agere Systems Guardian Corp. | Multiple agent use of a multi-ported shared memory |
JP3938471B2 (ja) * | 1998-06-30 | 2007-06-27 | 三菱電機株式会社 | マルチcpuユニット |
KR100400165B1 (ko) * | 1998-11-16 | 2003-10-01 | 텔레폰아크티에볼라게트 엘엠 에릭슨 | 처리 시스템 스케쥴링 |
KR20040106778A (ko) * | 2003-06-11 | 2004-12-18 | 엘지전자 주식회사 | 복수개의 프로세서를 갖는 이동통신 단말기의 메모리 공유장치 및 그 방법 |
-
2005
- 2005-07-26 KR KR20050068065A patent/KR100728650B1/ko active IP Right Grant
-
2006
- 2006-07-12 WO PCT/KR2006/002740 patent/WO2007013744A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000044726A (ko) * | 1998-12-30 | 2000-07-15 | 전주범 | 디지탈 처리 시스템에서의 메모리 관리 방법 |
KR20040093167A (ko) * | 2002-04-04 | 2004-11-04 | 인피니온 테크놀로지스 아게 | 공유 메모리를 갖는 향상된 아키텍처 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101111946B1 (ko) | 2009-12-17 | 2012-02-14 | 엠텍비젼 주식회사 | 촬상 장치, 이미지 시그널 프로세서 칩 및 칩 간의 메모리 공유 방법 |
US9706156B2 (en) | 2014-04-18 | 2017-07-11 | Samsung Electronics Co., Ltd. | Image sensor for controlling a transmission speed of sensed image data and image processing system including the same |
Also Published As
Publication number | Publication date |
---|---|
WO2007013744A1 (en) | 2007-02-01 |
KR20070013620A (ko) | 2007-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100855701B1 (ko) | 복수의 프로세서 코어가 통합된 칩 및 데이터 처리 방법 | |
KR100591371B1 (ko) | 공유 메모리의 분할 영역 크기 가변 방법 및 공유 메모리를가지는 휴대형 단말기 | |
US8051264B2 (en) | Portable device and method for controlling shared memory in portable device | |
KR100592105B1 (ko) | 공유 메모리의 분할 영역의 다중 억세스 제어 방법 및 공유메모리를 가지는 휴대형 단말기 | |
KR100728650B1 (ko) | 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치 | |
KR100663380B1 (ko) | 촬상 장치 및 영상 신호 생성 방법 | |
KR100782592B1 (ko) | 공유 메모리를 구비한 장치 및 공유 메모리 제어 방법 | |
KR100731969B1 (ko) | 복수 경로를 통한 메모리 공유 방법 및 장치 | |
US8145852B2 (en) | Device having shared memory and method for providing access status information by shared memory | |
KR100736902B1 (ko) | 복수의 프로세서에 의한 메모리 공유 방법 및 장치 | |
KR100746364B1 (ko) | 메모리 공유 방법 및 장치 | |
KR100592106B1 (ko) | 개별 메모리 접근 허용 방법 및 장치 | |
KR100592109B1 (ko) | 공유 메모리의 분할 영역의 다중 억세스 제어 방법 및 공유메모리를 가지는 휴대형 단말기 | |
KR100658588B1 (ko) | 메모리 공유 시스템 및 그 방법 | |
KR100592108B1 (ko) | 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유메모리를 가지는 디지털 처리 장치 | |
KR100658591B1 (ko) | 공유 메모리를 이용한 디스플레이 제어 방법 및 장치 | |
US20090222630A1 (en) | Memory share by a plurality of processors | |
KR100909025B1 (ko) | 복수의 프로세서에 의한 메모리 공유 방법 및 메모리 공유구조를 가지는 휴대형 단말기 | |
US20080005417A1 (en) | Method for speedy delivery of data between processors and digital processing apparatus having shared memory | |
KR100888427B1 (ko) | 공유 메모리를 구비한 디지털 처리 장치 및 데이터 출력방법 | |
KR100700040B1 (ko) | 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태정보 제공 방법 | |
KR100759865B1 (ko) | 독립 동작 가능한 부가 제어부를 구비한 사용자 단말기 및메모리 공유 방법 | |
KR20070118920A (ko) | 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의분할 영역 억세스 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20130530 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140528 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150526 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180528 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190527 Year of fee payment: 13 |