KR100592108B1 - 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유메모리를 가지는 디지털 처리 장치 - Google Patents

복수의 프로세서간의 신속한 데이터 전달 방법 및 공유메모리를 가지는 디지털 처리 장치 Download PDF

Info

Publication number
KR100592108B1
KR100592108B1 KR1020050032454A KR20050032454A KR100592108B1 KR 100592108 B1 KR100592108 B1 KR 100592108B1 KR 1020050032454 A KR1020050032454 A KR 1020050032454A KR 20050032454 A KR20050032454 A KR 20050032454A KR 100592108 B1 KR100592108 B1 KR 100592108B1
Authority
KR
South Korea
Prior art keywords
control unit
storage area
state information
controller
divided storage
Prior art date
Application number
KR1020050032454A
Other languages
English (en)
Inventor
정종식
이병옥
Original Assignee
엠텍비젼 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠텍비젼 주식회사 filed Critical 엠텍비젼 주식회사
Priority to KR1020050032454A priority Critical patent/KR100592108B1/ko
Application granted granted Critical
Publication of KR100592108B1 publication Critical patent/KR100592108B1/ko

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/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/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Abstract

본 발명은 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유 메모리를 가지는 디지털 처리 장치에 관한 것이다. 본 발명의 바람직한 일 실시예에 따르면, 복수의 분할 저장 영역으로 구성된 메모리부가 임의의 분할 저장 영역에 대한 특정 제어부의 접속 상태 정보를 각 제어부들로 전송함으로써 중복 접속을 방지하고, 제1 제어부가 제1 분할 저장 영역에 데이터를 기록한 후 제2 분할 저장 영역으로 접속 상태를 전환하면 제2 제어부가 제1 분할 저장 영역에 접속하여 데이터를 독출한다. 본 발명에 따르면 복수의 제어부간에 데이터를 전달할 때 버스를 통한 데이터 송수신 과정이 필요없어 데이터의 신속한 전달이 가능해진다.
공유, 메인 메모리, 포트, 버스

Description

복수의 프로세서간의 신속한 데이터 전달 방법 및 공유 메모리를 가지는 디지털 처리 장치{Rapid data delivery method among processors and digital processing apparatus having shared memory}
도 1은 종래의 카메라 기능을 구비한 이동 통신 단말기의 블록 구성도.
도 2는 종래의 메인 제어부, 부가 제어부, 각각의 메모리들 및 디스플레이 장치간의 결합 구조를 예시한 도면.
도 3은 본 발명의 바람직한 일 실시예에 따른 메인 제어부, 부가 제어부, 메모리부 및 디스플레이 장치간의 결합 구조를 나타낸 도면.
도 4는 본 발명의 바람직한 일 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 분할 저장 영역에 대한 접속 권한 제어에 따른 제어부의 순차적 접속 및 처리 과정을 나타낸 데이터 흐름도.
본 발명은 디지털 처리 장치에 관한 것으로, 특히 복수의 프로세서가 구비된 디지털 처리 장치에 관한 것이다.
디지털 처리 장치 중 휴대형 단말기는 게임, 이동 통신 등의 기능을 수행하기 위하여 작은 크기로 형성되어 사용자의 휴대를 용이하게 한 전자 장치를 의미한다. 휴대형 단말기에는 이동 통신 단말기, 개인 휴대 단말기(PDA : Personal Digital Assistant), 휴대형 멀티미디어 단말기(PMP : Portable Multimedia Player), MP3 플레이어 등이 있을 수 있다.
이중, 이동 통신 단말기는 본질적으로 이동중인 사용자가 원격지의 수신자와 전화 통화를 가능하도록 구현된 장치이다. 그러나, 과학 기술의 발전으로 인해, 최근의 이동 통신 단말기는 전화 통화 기능, 단문 메시지 송수신 기능, 주소록 관리 기능 등의 본질적 기능 외에 카메라 기능, 멀티미디어 데이터 재생 기능 등의 부가적 기능을 더 구비하고 있다.
도 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)에 의해 처리된 외부 영상 등을 저장한다.
상술한 바와 같이, 카메라 기능을 구비한 이동 통신 단말기(100)는 복수의 프로세서(즉, 메인 제어부와 부가 기능 수행을 위한 하나 이상의 부가 제어부)를 구비한다. 즉, 도 1에 도시된 바와 같이 이동 통신 단말기(100)의 전체적인 기능을 제어하기 위한 제어부(125)와 카메라 기능을 제어하기 위한 영상 처리부(155)가 포함된다. 또한, 각각의 프로세서는 각각 독립된 메모리와 결합되도록 구성된다.
부가 제어부들의 형태는 휴대형 단말기에 어떤 부가 기능들이 구비되는지에 따라 상이할 수 있다. 예를 들어, 카메라 기능 수행을 위한 부가 제어부는 JPEG 부호화(encoding), JPEG 복호화(decoding) 등의 기능을 수행할 수 있고, 동영상 재생 기능을 수행하기 위한 부가 제어부는 비디오 파일(예를 들어, MPEG4, DIVX, H.264)의 부호화, 복호화 등을 수행할 수 있고, 음악 파일 재생 기능을 수행하기 위한 부가 제어부는 음악 파일의 부호화, 복호화 등을 수행할 수 있다. 물론, 상술한 다양한 기능을 통합적으로 수행할 수 있는 부가 제어부도 존재할 수 있다. 이러한 제어부들 각각에는 제어부에 의해 처리된 데이터를 저장하기 위한 메모리가 개별적으로 존재한다. 따라서, 종래 기술에 의하면 휴대형 단말기의 기능이 다기능화될수록 제어부의 수량 및 메모리의 수량도 증대되어야 하는 문제점이 있다.
도 2는 종래의 메인 제어부, 부가 제어부, 각각의 메모리들 및 디스플레이 장치간의 결합 구조를 예시한 도면이다.
도 2를 참조하면, 메인 제어부(210)와 부가 제어부(220)가 버스(BUS) 1을 통해 정보를 송수신하고, 메인 제어부(210)는 메인 메모리(230)와 버스 2를 통해 결합되며, 부가 제어부(220)와 부가 메모리(240)는 버스 3을 통해 결합되어 있다. 또한 부가 제어부(220)는 디스플레이 장치(250)와 결합되어 메인 제어부(210)의 명령에 상응하는 정보가 디스플레이 장치(250)에 표시되도록 한다. 일반적으로 버스(Bus)는 컴퓨터 등에서 제어부와 주기억장치, 입출력 장치 간에 정보를 전송하는데 사용되는 공용 목적의 전기적 통로를 의미한다. 버스는 각 장치(device)의 주소나 기억장치의 위치를 나타내는 정보들을 위한 선과 수행될 다양한 데이터 전송 동작을 구별하기 위한 선을 포함한다.
도 2에 도시된 바와 같이, 각각의 제어부(210, 220)는 각각의 메모리(230, 240)와 독립적으로 결합되므로, 현재 수행되는 동작이 무엇인가에 따라 메인 제어부(210)는 메인 메모리(230)에 저장된 데이터를 읽어 호스트 인터페이스(Host Interface)를 통해 부가 제어부(220)로 전송하거나 부가 제어부(220)에 요청하여 부가 메모리(240)에 저장된 데이터를 읽어오는 등의 동작을 수행한다. 즉, 임의의 데이터 처리를 메인 제어부(210)와 부가 제어부(220)에서 각각 수행하여야 하는 경우, 메인 제어부(210)가 메인 메모리(230)에 억세스하여 필요한 연산처리를 수행한 후 부가 제어부(220)로 처리된 데이터를 전송하며, 부가 제어부(220)는 수신된 데이터를 재처리하여 부가 메모리(240)에 저장한다. 이어서, 부가 제어부(220)는 부가 메모리(240)에 저장된 데이터를 다시 메인 제어부(210)로 전송하여 메인 메모리(230)에 저장되도록 한다.
이 경우, 메인 제어부(210)와 부가 제어부(220)간에 송수신되는 데이터의 양이 많을수록 각 제어부(210, 220)는 자체 프로세스보다는 타 제어부의 요청에 따른 동작(즉, 메모리 억세스, 호스트 인터페이스 동작 등)에 보다 많은 시간을 소비하게 되는 문제점이 발생된다.
예를 들어, 데이터 전송량이 많은 3D 그래픽 데이터를 처리하여 디스플레이 장치(250)를 통해 표시되도록 하는 경우, 메인 제어부(210)는 메인 메모리(230)에 저장된 데이터들을 독출하여 처리한 후 버스 1을 통해 부가 제어부(220)로 전송하고, 부가 제어부(220)는 버스 1을 통해 수신한 데이터들(예를 들어, 폴리곤(Polygon) 데이터, 텍스처(Texture) 데이터 등)을 부가 메모리(240)에 저장한 후 독출하여 처리한 후 디스플레이 장치(250)를 통해 표시되도록 한다.
이와 같은 3D 그래픽 데이터 처리 등의 경우 메인 제어부(210)와 부가 제어부(220)간에 송수신되는 데이터의 양이 많을 수 밖에 없고, 많은 양의 데이터 송수신 과정에서 불필요한 시간 낭비 및 각 제어부(210, 220)의 처리 능력 낭비 등이 발생되는 문제점이 있다.
또한, 휴대형 단말기에서 수행되는 기능이 많아지고, 또한 복수의 프로세서간에 연동하여 처리되어야 할 데이터의 양이 많아짐에 따라 데이터 송수신 과정에서 병목 현상을 야기하는 문제점도 있다.
결과적으로, 상술한 문제점들은 다기능 휴대형 단말기의 전체 성능을 약화시키는 원인이 된다.
따라서, 상술한 문제점들을 해결하기 위한 본 발명의 목적은 공유 메모리의 저장 영역을 복수의 분할 영역으로 분할하고 각 분할 영역에 복수의 제어부들의 억세스를 가능하게 함으로써 각 제어부간의 데이터 전송 시간을 최소화할 수 있는 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유 메모리를 가지는 디지털 처리 장치를 제공하는 것이다.
본 발명의 다른 목적은 복수의 영역으로 분할된 공유 메모리의 저장 영역을 복수의 제어부들의 억세스를 가능하게 함으로써 각 제어부는 자체 프로세스만을 담당할 수 있어 각 제어부의 동작 속도 및 효율을 최적화할 수 있는 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유 메모리를 가지는 디지털 처리 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 공유 메모리의 분할된 저장 영역을 복수의 제어부들이 교차하여 접속(Access)할 수 있으므로 접속 권한만의 이전에 의해 즉시 데이터가 전달된 효과가 발생하는 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유 메모리를 가지는 디지털 처리 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 공유 메모리가 분할된 저장 영역에 대한 상태 정보(즉, 점유 상태 정보)를 생성하여 출력함으로써 각 제어부들의 제어 시퀀스(sequence)를 최대한 간략하게 할 수 있는 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유 메모리를 가지는 디지털 처리 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 메인 제어부는 공유 메모리의 분할된 저장 영역에 순차적으로 임의의 데이터를 기록(write) 동작을 수행하고 부가 제어부는 메인 제어부가 기록한 저장 영역에 순차적으로 접속하여 읽기(read) 동작을 수행하도록 함으로써 데이터 전달 속도를 최대화할 수 있는 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유 메모리를 가지는 디지털 처리 장치를 제공하는 것이다.
본 발명의 이외의 목적들은 하기의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면 복수의 제어부가 하나의 메모리를 공유하는 디지털 처리 장치가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 디지털 처리 장치에 있어서, 출력 장치; m(2 내지 n(2이상의 자연수) 중 임의의 자연수)개의 분할 저장 영역으로 구성된 메모리부; 상기 메모리부와 제1 버스(BUS)를 통해 결합되어, 상기 제1 버스를 통해 접속(access)된 임의의 분할 저장 영역에 기록된 원시 데이터를 독출하여 처리 명령에 상응하도록 처리한 후 상기 출력 장치를 통해 출력되도록 하는 부가 제어부; 및 상기 부가 제어부와 제2 버스를 통해 결합되어 상기 처리 명령을 상기 제2 버스를 통해 상기 부가 제어부로 전송하고, 상기 메모리부와 제3 버스를 통해 결합되어 상기 원시 데이터를 상기 분할 저장 영역에 기록하는 메인 제어부를 포함하되, 상기 메모리부는 상기 분할 저장 영역에 대한 상기 부가 제어부 또는 상기 메인 제어부의 접속 상태 정보를 생성하여 상기 부가 제어부 및 상기 메인 제어부로 전송하는 것을 특징으로 하는 디지털 처리 장치가 제공된다.
상기 부가 제어부는 상기 접속 상태 정보를 참조하여 상기 메인 제어부가 상기 원시 데이터를 기록한 후 접속을 해제한 분할 저장 영역에 접속하여 상기 원시 데이터를 독출하는 것을 특징으로 한다.
상기 메모리부는 상기 제1 버스를 통해 상기 부가 제어부와 제어 신호 및 상기 원시 데이터를 송수신하기 위한 제1 포트 및 상기 제3 버스를 통해 상기 메인 제어부와 제어 신호 및 상기 원시 데이터를 송수신하기 위한 제2 포트를 구비할 수 있다.
상기 디지털 처리 장치는 상기 접속 상태 정보에 의해 하나의 분할 저장 영역에 상기 부가 제어부 및 상기 메인 제어부가 동시에 접속될 수 없도록 제어한다.
상기 분할 저장 영역들의 크기 또는 수량에 상응하는 영역 분할 정보는 상기 메인 제어부 또는 상기 부가 제어부 중 어느 하나인 제1 제어부에 의해 설정되고, 상기 제2 버스를 통해 상기 메인 제어부 또는 상기 부가 제어부 중 다른 하나인 제2 제어부로 전달될 수 있다.
상기 접속 상태 정보는 하나 이상의 분할 저장 영역에 상응하는 기록(write) 가능 상태 및 독출(read) 가능 상태에 관한 정보일 수 있다.
상기 목적들을 달성하기 위하여, 본 발명의 다른 측면에 따르면 복수의 제어부가 하나의 메모리에 구비된 임의의 분할 영역에 대한 접속 권한을 주고 받음으로써 데이터 전달이 실시간으로 수행되도록 하는 프로그램을 기록한 기록매체가 제공 된다.
본 발명의 바람직한 일 실시예에 따르면, 하나의 메모리부를 이용한 복수의 제어부간의 데이터 전달 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, (a) m(2 내지 n(2이상의 자연수) 중 임의의 자연수)개의 분할 저장 영역으로 구성된 메모리부가 각 분할 저장 영역의 제1 접속 상태 정보를 생성하여 제1 버스(Bus) 및 제2 버스를 통해 제1 제어부 및 제2 제어부에 제공하는 단계; (b) 상기 제1 제어부가 제3 버스를 통해 상기 제2 제어부로 임의의 원시 데이터에 상응하는 처리 명령을 전송하는 단계; (c) 상기 제1 제어부가 상기 제1 접속 상태 정보를 참조하여 상기 제1 버스를 통해 제1 분할 저장 영역에 접속하여 상기 원시 데이터의 기록(write)을 개시하면, 상기 메모리부가 상기 제1 분할 저장 영역이 상기 제1 제어부에 의해 접속되었음을 나타내는 제2 접속 상태 정보를 상기 제2 제어부로 전달하는 단계; (d) 상기 제1 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하면, 상기 메모리부가 상기 제1 분할 저장 영역이 접속 가능함을 나타내는 제3 접속 상태 정보를 상기 제2 제어부로 전달하는 단계; 및 (e) 상기 제2 제어부가 상기 제3 접속 상태 정보를 참조하여 상기 제2 버스를 통해 제1 분할 저장 영역에 접속하여 상기 원시 데이터의 독출(read)을 개시하면, 상기 메모리부가 상기 제1 분할 저장 영역이 상기 제2 제어부에 의해 접속되었음을 나타내는 제4 접속 상태 정보를 상기 제1 제어부로 전달하는 단계; 및 (f) 상기 제2 제어부가 상기 독출된 원시 데이터를 상기 처리 명령에 상응하도록 처리하는 단계를 실행하는 프로그램을 기록한 기록매체가 제공된다.
상기 제2 제어부는 상기 처리된 원시 데이터가 결합된 출력 장치를 통해 출력되도록 하는 단계를 더 실행할 수 있다.
상기 단계 (f)는, 상기 제2 제어부가 상기 독출되는 원시 데이터를 상기 처리 명령에 상응하도록 처리하는 단계; 상기 제2 제어부가 상기 제1 분할 저장 영역에 기록된 원시 데이터의 독출을 완료하였는지 판단하는 단계; 및 독출을 완료한 경우, 상기 제2 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하는 단계를 포함할 수 있다.
상기 단계 (d)는, 상기 제1 제어부가 상기 제1 분할 저장 영역의 저장 공간이 모두 사용되었는지 판단하는 단계; 모두 사용된 경우, 상기 제1 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하는 단계; 상기 메모리부가 상기 제1 분할 저장 영역이 가능함을 표시하는 정보 및 제2 분할 저장 영역의 접속 가능 여부에 대한 정보를 포함하는 상기 제3 접속 상태 정보를 생성하여 상기 제1 제어부 및 상기 제2 제어부로 전달하는 단계; 상기 제1 제어부는 상기 제3 접속 상태 정보를 참조하여 상기 제2 분할 저장 영역의 접속이 가능한 경우, 상기 제1 버스를 통해 상기 제2 분할 저장 영역에 접속하여 상기 원시 데이터의 기록(write)을 연속하여 수행하는 단계; 및 상기 메모리부가 상기 제2 분할 저장 영역이 상기 제1 제어부에 의해 접속되었음을 나타내는 제5 접속 상태 정보를 생성하여 상기 제2 제어부로 전달하는 단계를 포함할 수 있다.
상기 단계 (f)는, 상기 제2 제어부가 상기 독출되는 원시 데이터를 상기 처 리 명령에 상응하도록 처리하는 단계; 상기 제2 제어부가 상기 제1 분할 저장 영역에 기록된 원시 데이터의 독출을 완료하였는지 판단하는 단계; 독출을 완료한 경우, 상기 제2 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하는 단계; 상기 메모리부가 상기 제1 분할 저장 영역이 접속 가능함을 나타내는 제6 접속 상태 정보를 상기 제1 제어부로 전달하는 단계; 상기 제2 제어부가 상기 메모리부로부터 상기 제2 분할 저장 영역이 접속 가능 상태임을 나타내는 제7 접속 상태 정보가 수신되는지 판단하는 단계; 및 상기 제7 접속 상태 정보가 수신되면, 상기 제2 제어부가 상기 제2 분할 저장 영역에 접속하여 상기 원시 데이터의 독출(read)을 연속하여 수행하는 단계를 포함할 수 있다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다. 또한, 하기의 설명 과정에서 이용되는 숫자(예를 들어, 버스 1, 버스 2, 제1, 제2, A, B 등)는 동일 또는 유사한 개체를 구분하기 위한 식별 수단에 불과하다.
또한, 본 명세서에서는 메인 제어부가 임의의 부가 제어부에서 처리되어야할 데이터를 특정 저장 영역에 기록(write)한 후 당해 부가 제어부가 해당 저장 영역에 접속하여 독출(read)할 수 있도록 메모리부에서 접속 권한을 제어하는 과정만을 중심으로 설명하지만, 당업자는 어느 하나의 제1 제어부(예를 들어, 메인 제어부 또는 제1 부가 제어부)가 다른 제2 제어부(예를 들어, 제2 부가 제어부 또는 메인 제어부)에서 처리되어야할 데이터를 특정 저장 영역에 기록(write)한 후 제2 제어부가 해당 저장 영역에 접속하여 독출(read)할 수 있도록 메모리부에서 접속 권한을 제어하는 등의 방법으로도 동일하게 적용할 수 있음을 쉽게 이해할 수 있을 것이다. 따라서, 당업자가 쉽게 이해할 수 있는 추가적인 사항에 대한 설명을 생략할 뿐 본 발명의 기술적 사상이 하기의 기재 사항으로 제한되는 것임 아님을 유념해야 한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 메인 제어부, 부가 제어부, 메모리부 및 디스플레이 장치간의 결합 구조를 나타낸 도면이고, 도 4는 본 발명의 바람직한 일 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면이다.
도 3을 참조하면, 본 발명에 따른 디지털 처리 장치는 메인 제어부(210)와 부가 제어부(220)는 하나의 메모리부(310)를 공유하는 구조로 결합된다. 부가 제어부(220) 후단에는 메인 제어부(210)에 의해 직접 제어되거나 메인 제어부(210)의 처리 명령에 따라 부가 제어부(220)에 의해 제어되는 디스플레이 장치(250)가 결합된다. 물론, 부가 제어부(220)의 기능에 따라 결합되는 출력 장치는 다양할 수 있다. 또한 도 3에는 하나의 부가 제어부(220)만이 도시되었으나 부가 제어부의 수량이나 처리 동작은 디지털 처리 장치가 구비한 기능들에 따라 다양할 것임은 자명하다.
도 3에 도시된 바와 같이 메인 제어부(210)와 부가 제어부(220)는 버스(Bus) 1을 통해 정보(예를 들어, 디스플레이 장치(250)의 구동 개시 명령 또는 구동 종료 명령 등의 처리 명령, 상태 정보 등)를 송수신한다. 메인 제어부(210)는 버스 2를 통해 메모리부(310)와 결합되어 메모리부(310)의 일정 저장 영역에 임의의 데이터(예를 들어, 폴리곤 데이터, 텍스처 데이터 등)를 기록(write)한다. 또한, 부가 제어부(220)는 버스 3을 통해 메모리부(310)와 결합되어 메모리부(310)의 일정 저장 영역에 기록된 데이터(즉, 메인 제어부(210)에 의해 기록된 데이터)를 독출(read)한다. 버스(Bus)는 컴퓨터 등에서 제어부와 주기억장치, 입출력 장치 간에 정보를 전송하는 데 사용되는 공용 목적의 전기적 통로이다. 여기서, 메인 제어부(210)는 디지털 처리 장치(예를 들어, 휴대형 단말기)의 전반적인 동작을 제어하는 프로세서일 수 있다. 또한 부가 제어부(220)는 MPEG4, 3D 그래픽, 카메라 기능, MP3 파일 재생 등을 처리하기 위한 전용의 프로세서일 수 있다. 부가 제어부(220) 후단에는 도시된 디스플레이 장치(250) 이외의 주변 장치가 결합될 수 있다.
메모리부(310)는 결합된 복수의 제어부(즉, 메인 제어부(210)와 하나 이상의 부가 제어부)에 의해 공유되는 구조로서, 구비된 또는 메모리부(310)를 공유하는 제어부들의 수량에 상응하는 억세스 포트(Access Port)를 구비한다. 예를 들어, 도 3 및 도 4에 도시된 바와 같이 메모리부(310)가 메인 제어부(210) 및 부가 제어부(220)와 공통적으로 결합된 구조라면, 2개의 제어부(210, 220)가 하나의 메모리부(310)를 사용하는 구조이므로 메모리부(310)는 2개의 억세스 포트(Access Port)를 구비한다. 즉, 2개의 억세스 포트는 제1 포트, 제2 포트로 구분되어 제1 포트는 메인 제어부(210)와 연결되도록 하고, 제2 포트는 부가 제어부(220)와 연결되도록 설정된다. 즉, 메모리부(310)의 메모리 코어(memory core)는 하나이지만 복수의 억세스 포트가 구비될 수 있는 것이다. 메인 제어부(210) 및 부가 제어부(220)는 각각 독립적인 클럭(Clock)을 사용할 수도 있다.
또한, 메모리부(310)의 저장 영역은 복수의 영역들로 분할될 수 있으며, 저장 영역의 수량은 최소 2개에서 최대 N(자연수)개일 수 있다. 예를 들어, 분할된 저장 영역의 수량은 구비된 제어부들의 수량과 일치할 수도 있다. 이는 각 제어부들이 독립된 경로를 통해 각각의 분할 영역에 동시점에 개별적으로 접속하여 필요한 동작(예를 들어, 데이터 기록(write) 또는 데이터 독출(read))을 방해받음이 없고 양자간의 충돌없이 수행할 수 있도록 하기 위함이다. 예를 들어, 메모리부(310)에 결합된 제어부가 2개인 경우 도 4에 도시된 바와 같이 메모리부(310)는 2개의 영역(즉, 제1 저장 영역(410), 제2 저장 영역(420))으로 분할될 수 있다. 각 분할 영역(410, 420)은 특정 제어부에 전용 영역으로 할당되지 않고 동시에 억세스(access)되지만 않는다면 개별적인 억세스가 가능하다. 이는 어느 한쪽의 처리가 완료된 후 다음 처리 과정이 진행되도록 설정함으로써 데이터의 시간적인 정합성을 연속적으로 유지하기 위함이다. 물론, 메모리부(310)에 결합된 제어부가 2개일지라도 메모리부(310)의 저장 영역은 2 이상으로 분할될 수도 있다. 도 4에 도시된 신호 입출력 과정을 간략히 설명하면, 메인 제어부(210)가 메모리부(310)의 분할 영역 중 저장 영역 A에 특정 데이터를 기록하고자 하는 경우, 메인 제어부(210)는 메모리부(310)로 데이터의 기록을 위한 주소 정보(Addr_A : 저장 영역 A의 Address Signal), 기록하고자 하는 데이터(Data_A), 제어 신호들(예를 들어, 저장 영역 A로의 데이터 기록을 지시하기 위한 WE_A(Write Enable), 저장 영역 A에 대한 칩 선택 신호(CS_A : Chip Select _ A), 클럭(CLK_A) 등)을 전송한다. 메모리부(310)는 메 인 제어부(210)의 명령(즉, 기록 명령)에 따라 수신되는 데이터를 저장 영역 A에 기록되도록 한다. 메인 제어부(210)는 분할 영역에 대해 미리 설정된 주소 정보와 데이터 기록시 지시한 주소 정보를 이용하여 저장 영역 A의 저장 용량을 모두 이용한 경우에는 저장 영역 A와의 접속을 종료하며, 메모리부(310)는 점유 상태 정보(예를 들어, 저장 영역 A에 대한 접속이 종료되었으며 저장 영역 B에 접속하여 데이터 기록이 가능하다는 내용의 정보)를 제어부들로 제공한다. 또한, 메인 제어부(210)는 저장 영역 A의 저장 용량을 모두 이용하기 전에 데이터 기록이 완료되었다면 메모리부(310)와의 접속을 종료함으로써 족한 것이며, 이 경우에도 메모리부(310)는 점유 상태 정보가 새롭게 갱신되었으므로 이를 제어부들에 제공한다. 상술한 과정을 통해 저장 영역 A에 임의의 데이터가 기록되면 해당 데이터를 독출하여 이용하고자 하는 부가 제어부(220)는 데이터의 독출을 위한 주소 정보(Addr_A : 저장 영역 A의 Address Signal), 제어 신호들(예를 들어, 저장 영역 A에서의 데이터 독출을 지시하기 위한 OE_A(Output Enable), 저장 영역 A에 대한 칩 선택 신호(CS_A : Chip Select _ A), 클럭(CLK_A) 등)을 전송함으로써 데이터(Data_A)를 독출하게 된다. 부가 제어부(220)가 저장 영역 A에 접속할 수 있는지 여부는 메모리부(310)로부터 제공받은 점유 상태 정보를 이용하여 확인할 수 있다. 예를 들어, 메모리부(310)로부터 제공받은 점유 상태 정보 중 "RBusy(Read Busy)_A"가 제1 상태(예를 들어, "Low State")인 경우에는 접속하여 독출 가능한 상태인 것으로 인식될 수 있다. 메모리부(310)의 임의의 저장 영역에 제1 제어부가 데이터를 기록하고, 제2 제어부가 제1 제어부의 데이터 기록이 완료된 후 해당 저장 영역에 접속하 여 기록된 데이터를 독출하는 과정은 이후 도 5를 참조하여 상세히 설명하기로 한다.
또한, 메모리부(310)의 분할 영역, 즉 제1 저장 영역(410) 및 제2 저장 영역(420)의 크기는 디폴트(default)로 미리 지정되어 있거나, 메인 제어부(210) 및/또는 부가 제어부(220)에 의해 임의의 크기들로 분할되거나 필요 시점(예를 들어, 기록하고자 하는 데이터가 기록 가능 영역의 크기 이상인 경우)마다 메인 제어부(210) 및/또는 부가 제어부(220)에 의해 가변되도록 설정될 수도 있다. 즉, 메모리부(310)의 전체 저장 영역 중 분할된 저장 영역에 대한 주소(Address) 정보는 메인 제어부(210)에 의해 설정되고 관리될 수 있으며, 메인 제어부(210)에 의해 설정된 주소 정보는 부가 제어부(220)에 제공되어 공유될 수 있다. 물론, 주소 정보에 대한 설정 및 관리는 부가 제어부(220)에 의해서도 수행될 수 있으며, 필요에 따라서는 각 제어부(210 또는 220)가 주소 정보의 설정 권한을 가지고 타 제어부(220 또는 210)로 설정된 주소 정보를 제공함으로써 주소 정보의 공유가 가능해진다. 이 경우, 메모리부(310)의 분할된 저장 영역에 대한 정보는 디지털 처리 장치(예를 들어, 휴대형 단말기)의 부팅(booting) 과정에서 각 제어부에 의해 인식될 수 있다. 또한 만일 메모리부(310)가 SDRAM인 경우에는 뱅크(Bank) 단위로 영역이 구분될 수도 있다. 즉, 일반적인 SDRAM은 RAS address, CAS address 및 Bank address를 포함하며, 통상 뱅크(Bank)는 4개로 구성된다. 이때, 4개의 뱅크를 각각 2개씩 나누어 제1 저장 영역(410), 제2 저장 영역(420)으로 할당할 수 있다.
도 5는 본 발명의 바람직한 일 실시예에 따른 분할 저장 영역에 대한 접속 권한 제어에 따른 제어부의 순차적 접속 및 처리 과정을 나타낸 데이터 흐름도이다.
도 5를 참조하여 제어부의 순차적 접속 및 처리 과정을 설명함에 있어 메모리부(310)의 모든 분할 저장 영역(이하, 저장 영역 A와 저장 영역 B만으로 분할된 경우를 가정함)에 초기 상태는 쓰기 가능 상태(즉, WBusy(Write Busy)가 Low인 상태) 및 독출 가능 상태(즉, RBusy(Read Busy)가 Low인 상태)이고 각 분할 영역의 주소(Address) 크기는 1000인 것으로 가정하여 설명한다. 또한, 메인 제어부(210)가 저장 영역 A, 저장 영역 B, 저장 영역 A의 순으로 데이터를 기록하고, 부가 제어부(220)가 메인 제어부(210)에 의해 기록된 데이터를 저장 영역 A, 저장 영역 B, 저장 영역 A의 순으로 독출하는 경우를 가정하여 설명한다.
도 5를 참조하면, 메모리부(310)는 단계 505에서 모든 분할 저장 영역의 초기 상태가 쓰기 가능 상태 및 독출 가능 상태임을 나타내는 제1 점유 상태 정보를 각 제어부들로 제공한다.
임의의 주변 장치(예를 들어, 디스플레이 장치(250))를 통해 임의의 정보(예를 들어, 3D 그래픽)가 출력되어야 하는 경우, 메인 제어부(210)는 단계 515에서 당해 주변 장치에 결합된 부가 제어부(220)로 버스 1(도 3 참조)을 통해 구동 개시 명령을 전송한다.
이어서, 메인 제어부(210)는 단계 520에서 저장 영역 A에 임의의 데이터를 기록하기 위하여 버스 2(도 3 참조)를 통해 데이터 저장 명령을 전송한다. 상술한 바와 같이, 데이터 저장 명령 내에는 데이터 저장 주소, 기록될 데이터, 제어 신호들(예를 들어, WE_A, CS_A, CLK_A)이 포함될 수 있다.
단계 525에서 메모리부(310)는 저장 영역 A에 메인 제어부(210)가 접속되어 데이터 기록을 수행중이므로 저장 영역 A가 데이터 기록을 위해 메인 제어부(210)에 의해 점유되었음을 나타내는 제2 점유 상태 정보를 각 제어부로 제공한다. 제2 점유 상태 정보는 종전의 점유 상태 정보에 비해 변경된 정보(즉, WBusy_A = High)만을 포함하거나, 모든 분할 영역들에 대한 점유 상태 정보(즉, WBusy_A = High, RBusy_A = Low, WBusy_B = Low, RBusy_B = Low)를 포함하도록 구성될 수 있다.
부가 제어부(220)는 단계 515의 구동 개시 명령에 의해 메모리부(310)로 접속하거나 메모리부(310)로부터 제공되는 점유 상태 정보를 이용하여 메인 제어부(210)가 데이터를 기록하는 저장 영역으로의 접속이 가능해지면 메모리부(310)로 접속하여 메인 제어부(210)에 의해 기록된 데이터를 독출하게 된다. 부가 제어부(220)는 구동 개시 명령 수신 후 점유 상태 정보의 변경 상태(즉, WBusy_A = Low에서 WBusy_A = High로의 전환)만으로도 메인 제어부(210)가 어느 분할 저장 영역에 데이터를 저장하는지 인식할 수 있다.
단계 530에서 메인 제어부(210)는 저장 영역 A의 저장 공간을 모두 이용했는 지 여부를 판단한다. 메인 제어부(210)는 데이터 저장 명령에 포함된 데이터 저장 주소와 각 분할 저장 영역에 미리 할당된 데이터 저장 주소의 크기를 비교하여 모든 저장 공간이 이용되었는지 여부를 판단할 수 있다. 물론, 분할된 저장 영역의 저장 공간이 모두 이용되었는지 여부에 대한 정보를 메모리부(310)에서 제공할 수도 있다. 또한, 메인 제어부(210)가 부가 제어부(220)로 전달할 데이터의 기록이 완료되었다면 메인 제어부(210)의 이후의 단계는 생략될 수 있다.
모든 저장 공간이 이용되었다면 단계 535로 진행하지만, 저장 공간이 남아있는 경우에는 단계 520으로 다시 진행한다. 즉, 데이터 저장 명령은 기록될 데이터가 모두 기록되었거나 저장 영역 A의 저장 공간이 모두 이용될 때까지 새로운 저장 주소 및/또는 새로운 데이터에 상응하도록 반복적으로 전송될 수 있다. 다만, 메모리부(310)는 저장 영역 A에 접속된 메인 제어부(210)가 접속 상태를 해제할 때까지 저장 영역 A에 대한 메인 제어부(210)의 점유 상태를 유지한다. 따라서, 메모리부(310)는 단계 520이 반복 수행될 때마다 점유 상태 정보를 반복하여 출력할 필요는 없으며, 현재의 점유 상태 정보를 유지하는 것으로 족하다.
메인 제어부(210)는 단계 525를 통해 제공받은 제2 점유 상태 정보를 통해 저장 영역 B가 기록 가능 상태(즉, WBusy = Low)임을 인식하고 있으므로, 단계 535에서 남은 데이터들을 저장 영역 B에 기록하기 위하여 버스 2(도 3 참조)를 통해 메모리부(310)로 데이터 저장 명령을 전송한다. 물론, 저장 영역 B가 타 부가 제어부에 의해 접속되어 있는 상태라면 해당 타 부가 제어부의 접속이 해제될 때까지 대기할 것이다.
단계 540에서 메모리부(310)는 메인 제어부(210)가 저장 영역 A에 대한 접속을 해제하고 저장 영역 B에 데이터 기록을 위해 접속하였음을 나타내는 제3 점유 상태 정보를 각 제어부로 제공한다. 상술한 바와 같이 제3 점유 상태 정보도 종전의 점유 상태 정보에 비해 변경된 정보(즉, WBusy_A = Low, WBusy_B = High)만을 포함하거나, 모든 분할 영역들에 대한 점유 상태 정보(즉, WBusy_A = Low, RBusy_A = Low, WBusy_B = High, RBusy_B = Low)를 포함하도록 구성될 수 있다.
부가 제어부(220)는 제3 점유 상태 정보(및 제2 점유 상태 정보)에 의해 저장 영역 A가 메인 제어부(210)의 접속이 해제되었고 독출 가능 상태(즉, RBusy_A = Low)임을 인식하고 메모리부(310)로 저장 영역 A에 기록된 데이터의 독출 명령을 전송한다. 상술한 바와 같이 데이터 독출 명령은 데이터 저장 주소, 제어 신호들(예를 들어, OE_A, CS_A, CLK_A)이 포함될 수 있다.
단계 550에서 메모리부(310)는 부가 제어부(220)가 데이터 독출을 위해 저장 영역 A에 접속하였음을 나타내는 제4 점유 상태 정보를 각 제어부로 제공한다. 상술한 바와 같이 제4 점유 상태 정보도 종전의 점유 상태 정보에 비해 변경된 정보(즉, RBusy_A = High)만을 포함하거나, 모든 분할 영역들에 대한 점유 상태 정보(즉, WBusy_A = Low, RBusy_A = High, WBusy_B = High, RBusy_B = Low)를 포함하도록 구성될 수 있다.
단계 555-1에서 부가 제어부(220)는 저장 영역 A에 기록된 데이터의 독출을 완료했는지 여부를 판단한다. 저장된 데이터의 독출 완료 여부는 데이터 독출 명령에 포함된 데이터 저장 주소와 각 분할 저장 영역에 미리 할당된 데이터 저장 주소 의 크기를 비교하여 판단될 수 있다.
저장 영역 A에 기록된 모든 데이터의 독출이 완료되지 않았다면, 단계 545로 진행하여 데이터의 독출을 지속한다. 이 경우에도 단계 550은 생략될 수 있다. 그러나, 저장 영역 A에 기록된 모든 데이터의 독출이 완료되었다면 부가 제어부(220)는 단계 560-1로 진행하여 저장 영역 A에 대한 접속을 해제한다.
단계 565에서 메모리부(310)는 부가 제어부(220)가 저장 영역 A에 대한 접속을 해제하였음을 나타내는 제5 점유 상태 정보를 각 제어부로 제공한다. 상술한 바와 같이 제5 점유 상태 정보도 종전의 점유 상태 정보에 비해 변경된 정보(즉, RBusy_A = Low)만을 포함하거나, 모든 분할 영역들에 대한 점유 상태 정보(즉, WBusy_A = Low, RBusy_A = Low, WBusy_B = High, RBusy_B = Low)를 포함하도록 구성될 수 있다. 이후 부가 제어부(220)는 데이터 독출을 위해 저장 영역 B에 접속 가능할 때까지(즉, 메인 제어부(210)가 저장 영역 B에 데이터의 기록을 종료하고 접속을 해제할 때까지) 대기한다.
이와 별도로, 메인 제어부(210)는 단계 555-2에서 저장 영역 B의 저장 공간을 모두 이용했는지 여부를 판단한다. 메인 제어부(210)는 데이터 저장 명령에 포함된 데이터 저장 주소와 각 분할 저장 영역에 미리 할당된 데이터 저장 주소의 크기를 비교하여 모든 저장 공간이 이용되었는지 여부를 판단할 수 있다. 물론, 분할된 저장 영역의 저장 공간이 모두 이용되었는지 여부에 대한 정보를 메모리부(310)에서 제공할 수도 있다. 또한, 메인 제어부(210)가 부가 제어부(220)로 전달할 데이터의 기록이 완료되었다면 메인 제어부(210)의 이후의 단계는 생략될 수 있다.
모든 저장 공간이 이용되었다면 단계 560-2로 진행하여 다시 저장 영역 A에 데이터를 기록하기 위한 데이터 저장 명령을 메모리부(310)로 전송하지만, 저장 영역 B에 아직 저장 공간이 남아있는 경우에는 단계 535로 다시 진행한다. 이 경우에도 상술한 바와 같이 단계 540은 생략될 수 있다. 단계 560-2에 의해 저장 영역 A에 저장되는 데이터는 단계 520에 의해 저장된 데이터에 오버라이트(overwrite)되거나 기존의 데이터를 삭제한 후 기록될 수 있다. 다만, 단계 560-2는 부가 제어부(220)가 아직 저장 영역 A에서 데이터 독출을 수행 중이라면 부가 제어부(220)가 접속을 종료한 후 수행될 수 있다.
단계 565에서 메모리부(310)는 메인 제어부(210)가 저장 영역 B와의 접속을 해제하고 저장 영역 A로 다시 접속하였음을 나타내는 제6 점유 상태 정보를 각 제어부로 제공한다. 상술한 바와 같이 제6 점유 상태 정보도 종전의 점유 상태 정보에 비해 변경된 정보(즉, WBusy_A = Low, WBusy_B = High)만을 포함하거나, 모든 분할 영역들에 대한 점유 상태 정보를 포함하도록 구성될 수 있다.
도 5에 도시된 바와 같이, 저장 영역 B에 접속된 메인 제어부(210)는 데이터의 기록을 수행하고, 저장 영역 A에 접속된 부가 제어부(220)는 데이터의 독출을 수행한다. 다만 도 5의 단계 555-1 내지 단계 565에서 메인 제어부(210) 및 부가 제어부(220)의 각 단계가 동시에 수행되는 것처럼 도시되었으나 이는 각 제어부의 처리 능력이나 처리 동작의 난이도 등에 따라 시계열적인 순서로 재구성될 수도 있음은 자명하다. 다시 말하여, 각 제어부의 처리는 별개의 동작으로 개별적으로 수행될 뿐이다. 즉, 저장 영역 B에 데이터를 기록하는 메인 제어부(210)는 저장 영역 B의 저장 용량을 모두 이용한 경우 저장 영역 A에 임의의 부가 제어부가 접속하였는지를 제5 점유 상태 정보를 이용하여 판단한 후 접속이 가능하다면 저장 영역 A로 다시 접속하여 데이터를 기록하게 된다. 이와 별도로, 저장 영역 A에 기록된 데이터를 독출하는 부가 제어부(220)는 모든 데이터가 독출되었다면 저장 영역 B에 접속이 가능한지 여부(즉, 메인 제어부(210)나 다른 부가 제어부가 접속하였는지 여부)를 제6 점유 상태 정보를 이용하여 판단한 후 접속이 가능 가능하다면 저장 영역 B로 접속하여 데이터를 독출하게 된다.
상술한 과정을 통해 메인 제어부(210)는 부가 제어부(220)에서 처리될 데이터를 버스 1을 통해 전달할 필요가 없이 임의의 저장 영역에 저장 완료한 후 접속을 종료하고, 해당 저장 영역에 부가 제어부(220)가 접속되도록 하여 저장 영역에 대한 접속 주체의 변경만으로 데이터의 신속한 전달이 가능하다.
상술한 바와 같이 본 발명에 따른 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유 메모리를 가지는 디지털 처리 장치는 공유 메모리의 저장 영역을 복수의 분할 영역으로 분할하고 각 분할 영역에 복수의 제어부들의 억세스를 가능하게 함으로써 각 제어부간의 데이터 전송 시간을 최소화할 수 있는 효과가 있다.
또한, 본 발명은 복수의 영역으로 분할된 공유 메모리의 저장 영역을 복수의 제어부들의 억세스를 가능하게 함으로써 각 제어부는 자체 프로세스만을 담당할 수 있어 각 제어부의 동작 속도 및 효율을 최적화할 수 있다.
또한, 본 발명은 공유 메모리의 분할된 저장 영역을 복수의 제어부들이 교차하여 접속(Access)할 수 있으므로 접속 권한만의 이전에 의해 즉시 데이터가 전달된 효과가 발생하는 효과가 있다.
또한, 본 발명은 공유 메모리가 분할된 저장 영역에 대한 상태 정보(즉, 점유 상태 정보)를 생성하여 출력함으로써 각 제어부들의 제어 시퀀스(sequence)를 최대한 간략하게 할 수 있는 효과가 있다.
또한, 본 발명은 메인 제어부는 공유 메모리의 분할된 저장 영역에 순차적으로 임의의 데이터를 기록(write) 동작을 수행하고 부가 제어부는 메인 제어부가 기록한 저장 영역에 순차적으로 접속하여 읽기(read) 동작을 수행하도록 함으로써 데이터 전달 속도를 최대화할 수 있는 효과가 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (11)

  1. 디지털 처리 장치에 있어서,
    출력 장치;
    m(2 내지 n(2이상의 자연수) 중 임의의 자연수)개의 분할 저장 영역으로 구성된 메모리부;
    상기 메모리부와 제1 버스(BUS)를 통해 결합되어, 상기 제1 버스를 통해 접속(access)된 임의의 분할 저장 영역에 기록된 원시 데이터를 독출하여 처리 명령에 상응하도록 처리한 후 상기 출력 장치를 통해 출력되도록 하는 부가 제어부; 및
    상기 부가 제어부와 제2 버스를 통해 결합되어 상기 처리 명령을 상기 제2 버스를 통해 상기 부가 제어부로 전송하고, 상기 메모리부와 제3 버스를 통해 결합되어 상기 원시 데이터를 상기 분할 저장 영역에 기록하는 메인 제어부를 포함하되,
    상기 메모리부는 상기 분할 저장 영역에 대한 상기 부가 제어부 또는 상기 메인 제어부의 접속 상태 정보를 생성하여 상기 부가 제어부 및 상기 메인 제어부로 전송하는 것을 특징으로 하는 디지털 처리 장치.
  2. 제1항에 있어서,
    상기 부가 제어부는 상기 접속 상태 정보를 참조하여 상기 메인 제어부가 상기 원시 데이터를 기록한 후 접속을 해제한 분할 저장 영역에 접속하여 상기 원시 데이터를 독출하는 디지털 처리 장치.
  3. 제1항에 있어서,
    상기 메모리부는 상기 제1 버스를 통해 상기 부가 제어부와 제어 신호 및 상기 원시 데이터를 송수신하기 위한 제1 포트 및 상기 제3 버스를 통해 상기 메인 제어부와 제어 신호 및 상기 원시 데이터를 송수신하기 위한 제2 포트를 구비한 디지털 처리 장치.
  4. 제1항에 있어서,
    상기 접속 상태 정보에 의해 하나의 분할 저장 영역에 상기 부가 제어부 및 상기 메인 제어부가 동시에 접속될 수 없도록 제어되는 디지털 처리 장치.
  5. 제1항에 있어서,
    상기 분할 저장 영역들의 크기 또는 수량에 상응하는 영역 분할 정보는 상기 메인 제어부 또는 상기 부가 제어부 중 어느 하나인 제1 제어부에 의해 설정되고, 상기 제2 버스를 통해 상기 메인 제어부 또는 상기 부가 제어부 중 다른 하나인 제2 제어부로 전달되는 디지털 처리 장치.
  6. 제1항에 있어서,
    상기 접속 상태 정보는 상기 분할 저장 영역에 상응하는 기록(write) 가능 상태 및 독출(read) 가능 상태에 관한 정보인 디지털 처리 장치.
  7. 하나의 메모리부를 이용한 복수의 제어부간의 데이터 전달 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,
    (a) m(2 내지 n(2이상의 자연수) 중 임의의 자연수)개의 분할 저장 영역으로 구성된 메모리부가 각 분할 저장 영역의 제1 접속 상태 정보를 생성하여 제1 버스(Bus) 및 제2 버스를 통해 제1 제어부 및 제2 제어부에 제공하는 단계;
    (b) 상기 제1 제어부가 제3 버스를 통해 상기 제2 제어부로 임의의 원시 데이터에 상응하는 처리 명령을 전송하는 단계;
    (c) 상기 제1 제어부가 상기 제1 접속 상태 정보를 참조하여 상기 제1 버스를 통해 제1 분할 저장 영역에 접속하여 상기 원시 데이터의 기록(write)을 개시하면, 상기 메모리부가 상기 제1 분할 저장 영역이 상기 제1 제어부에 의해 접속되었음을 나타내는 제2 접속 상태 정보를 상기 제2 제어부로 전달하는 단계;
    (d) 상기 제1 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하면, 상기 메모리부가 상기 제1 분할 저장 영역이 접속 가능함을 나타내는 제3 접속 상태 정보를 상기 제2 제어부로 전달하는 단계; 및
    (e) 상기 제2 제어부가 상기 제3 접속 상태 정보를 참조하여 상기 제2 버스를 통해 제1 분할 저장 영역에 접속하여 상기 원시 데이터의 독출(read)을 개시하면, 상기 메모리부가 상기 제1 분할 저장 영역이 상기 제2 제어부에 의해 접속되었음을 나타내는 제4 접속 상태 정보를 상기 제1 제어부로 전달하는 단계; 및
    (f) 상기 제2 제어부가 상기 독출된 원시 데이터를 상기 처리 명령에 상응하도록 처리하는 단계를 실행하는 프로그램을 기록한 기록매체.
  8. 제7항에 있어서,
    상기 제2 제어부는 상기 처리된 원시 데이터가 결합된 출력 장치를 통해 출력되도록 하는 단계를 더 실행하는 프로그램을 기록한 기록매체.
  9. 제7항에 있어서,
    상기 제2 제어부가 상기 제1 분할 저장 영역에 기록된 원시 데이터의 독출을 완료하였는지 판단하는 단계; 및
    독출을 완료한 경우, 상기 제2 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하는 단계가 상기 단계 (f)에 후행하여 실행되는 것을 특징으로 하는 프로그램을 기록한 기록매체.
  10. 제7항에 있어서,
    상기 단계 (d)는,
    상기 제1 제어부가 상기 제1 분할 저장 영역의 저장 공간이 모두 사용되었는지 판단하는 단계;
    모두 사용된 경우, 상기 제1 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하는 단계;
    상기 메모리부가 상기 제1 분할 저장 영역이 가능함을 표시하는 정보 및 제2 분할 저장 영역의 접속 가능 여부에 대한 정보를 포함하는 상기 제3 접속 상태 정보를 생성하여 상기 제1 제어부 및 상기 제2 제어부로 전달하는 단계;
    상기 제1 제어부는 상기 제3 접속 상태 정보를 참조하여 상기 제2 분할 저장 영역의 접속이 가능한 경우, 상기 제1 버스를 통해 상기 제2 분할 저장 영역에 접속하여 상기 원시 데이터의 기록(write)을 연속하여 수행하는 단계; 및
    상기 메모리부가 상기 제2 분할 저장 영역이 상기 제1 제어부에 의해 접속되었음을 나타내는 제5 접속 상태 정보를 생성하여 상기 제2 제어부로 전달하는 단계인 것을 특징으로 하는 프로그램을 기록한 기록매체.
  11. 제10항에 있어서,
    상기 제2 제어부가 상기 제1 분할 저장 영역에 기록된 원시 데이터의 독출을 완료하였는지 판단하는 단계;
    독출을 완료한 경우, 상기 제2 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하는 단계;
    상기 메모리부가 상기 제1 분할 저장 영역이 접속 가능함을 나타내는 제6 접속 상태 정보를 상기 제1 제어부로 전달하는 단계;
    상기 제2 제어부가 상기 메모리부로부터 상기 제2 분할 저장 영역이 접속 가능 상태임을 나타내는 제7 접속 상태 정보가 수신되는지 판단하는 단계; 및
    상기 제7 접속 상태 정보가 수신되면, 상기 제2 제어부가 상기 제2 분할 저장 영역에 접속하여 상기 원시 데이터의 독출(read)을 연속하여 수행하는 단계가 상기 단계 (f)에 후행하여 실행되는 것을 특징으로 하는 프로그램을 기록한 기록매체.
KR1020050032454A 2005-04-19 2005-04-19 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유메모리를 가지는 디지털 처리 장치 KR100592108B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050032454A KR100592108B1 (ko) 2005-04-19 2005-04-19 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유메모리를 가지는 디지털 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050032454A KR100592108B1 (ko) 2005-04-19 2005-04-19 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유메모리를 가지는 디지털 처리 장치

Publications (1)

Publication Number Publication Date
KR100592108B1 true KR100592108B1 (ko) 2006-06-21

Family

ID=37183034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050032454A KR100592108B1 (ko) 2005-04-19 2005-04-19 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유메모리를 가지는 디지털 처리 장치

Country Status (1)

Country Link
KR (1) KR100592108B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008032935A1 (en) * 2006-09-11 2008-03-20 Mtekvision Co., Ltd. Device having shared memory and method for transferring code data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008032935A1 (en) * 2006-09-11 2008-03-20 Mtekvision Co., Ltd. Device having shared memory and method for transferring code data
US8266417B2 (en) 2006-09-11 2012-09-11 Mtekvision Co., Ltd. Device having shared memory and method for transferring code data

Similar Documents

Publication Publication Date Title
KR100855701B1 (ko) 복수의 프로세서 코어가 통합된 칩 및 데이터 처리 방법
KR100740635B1 (ko) 휴대형 단말기 및 휴대형 단말기에서의 공유 메모리 제어방법
KR100592105B1 (ko) 공유 메모리의 분할 영역의 다중 억세스 제어 방법 및 공유메모리를 가지는 휴대형 단말기
KR100591371B1 (ko) 공유 메모리의 분할 영역 크기 가변 방법 및 공유 메모리를가지는 휴대형 단말기
KR100634566B1 (ko) 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기
KR100782592B1 (ko) 공유 메모리를 구비한 장치 및 공유 메모리 제어 방법
US8145852B2 (en) Device having shared memory and method for providing access status information by shared memory
KR100728650B1 (ko) 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치
KR100746364B1 (ko) 메모리 공유 방법 및 장치
KR100736902B1 (ko) 복수의 프로세서에 의한 메모리 공유 방법 및 장치
KR100731969B1 (ko) 복수 경로를 통한 메모리 공유 방법 및 장치
KR100592108B1 (ko) 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유메모리를 가지는 디지털 처리 장치
KR100592109B1 (ko) 공유 메모리의 분할 영역의 다중 억세스 제어 방법 및 공유메모리를 가지는 휴대형 단말기
KR100592106B1 (ko) 개별 메모리 접근 허용 방법 및 장치
KR101064878B1 (ko) 복수의 프로세서에 의한 메모리 공유 방법 및 메모리 공유구조를 가지는 휴대형 단말기
US20080005417A1 (en) Method for speedy delivery of data between processors and digital processing apparatus having shared memory
KR100700040B1 (ko) 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태정보 제공 방법
KR100888427B1 (ko) 공유 메모리를 구비한 디지털 처리 장치 및 데이터 출력방법
KR20070118920A (ko) 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의분할 영역 억세스 방법
KR100658591B1 (ko) 공유 메모리를 이용한 디스플레이 제어 방법 및 장치
JPH08335190A (ja) メモリカード制御装置

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130530

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140528

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150526

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180528

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190527

Year of fee payment: 14