KR100710626B1 - 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법 - Google Patents

데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법 Download PDF

Info

Publication number
KR100710626B1
KR100710626B1 KR1020050130270A KR20050130270A KR100710626B1 KR 100710626 B1 KR100710626 B1 KR 100710626B1 KR 1020050130270 A KR1020050130270 A KR 1020050130270A KR 20050130270 A KR20050130270 A KR 20050130270A KR 100710626 B1 KR100710626 B1 KR 100710626B1
Authority
KR
South Korea
Prior art keywords
data
application processor
information
processor
host processor
Prior art date
Application number
KR1020050130270A
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 KR1020050130270A priority Critical patent/KR100710626B1/ko
Application granted granted Critical
Publication of KR100710626B1 publication Critical patent/KR100710626B1/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control

Abstract

본 발명은 데이터 버스 확장 구조를 갖는 휴대용 단말기 및 그 방법에 관한 것이다. 본 발명의 일 측면에 따르면, 멀티프로세서를 구비한 디지털 처리 장치에 있어서, 호스트 프로세서는 주소 버스를 통해 주소 정보 또는 데이터를 선택적으로 어플리케이션 프로세서로 전송할 수 있는 디지털 처리 장치가 제공된다. 따라서, 본 발명에 의해 별도의 하드웨어 추가 또는 변경 없이 데이터 전송을 대략 두 배 정도 빠르게 할 수 있다.
휴대용 단말기, 메모리, 공유

Description

데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그 방법{Digital processing device and method for having extend structure of data-bus }
도 1은 본 발명의 바람직한 일 실시예에 따른 휴대용 단말기의 블록도.
도 2는 본 발명의 바람직한 일 실시예에 따른 휴대용 단말기의 호스트 프로세서, 어플리케이션 프로세서 및 저장부의 결합 구조를 나타낸 도면.
도 3은 본 발명의 바람직한 일 실시예에 따른 호스트 프로세서와 어플리케이션 프로세서간의 데이터 전송 방법을 나타낸 순서도.
<도면의 주요 부분에 대한 부호의 설명>
210 : 저장부
220 : 호스트 프로세서
230 : 어플리케이션 프로세서
본 발명은 휴대용 단말기에 관한 것으로, 특히 데이터 버스 확장 구조를 갖는 휴대용 단말기 및 그 방법에 관한 것이다.
급속한 정보통신 기술의 발전으로 인해 휴대용 단말기는 고유의 기능인 전화 통화 기능 뿐만이 아니라, 일정관리, 카메라 기능, 멀티미디어 데이터 재생 기능(예를 들어, MP3 파일 재생, 동영상 재생 등) 등의 부가적인 기능이 추가되고 있다.
일반적으로, 휴대용 단말기의 베이스밴드 프로세서와 어플리케이션 프로세서는 주소 버스와 데이터 버스를 통해 결합되어 있다. 그리고, 베이스밴드 프로세서에서 어플리케이션 프로세서로 데이터를 전송하거나 어플리케이션 프로세서로부터 데이터를 읽는데 있어서 베이스밴드 프로세서는 주소 버스를 통해 주소 정보를 전송하고 데이터 버스를 통해 데이터들을 전송하였다. 즉, 상대적으로 적은 정보량인 주소 정보의 전송이 완료되면, 데이터 전송이 완료될때까지 아무런 동작을 수행하지 않았다. 이로 인해, 데이터 전송량이 많은 경우 베이스밴드 프로세서와 어플리케이션 프로세서의 병목 현상이 가중되는 문제점이 있다.
따라서, 상술한 문제점을 해결하기 위한 본 발명의 목적은 별도의 하드웨어 추가 또는 변경 없이 데이터 전송을 대략 두 배 정도 빠르게 할 수 있는 데이터 버스 확장 구조를 갖는 휴대용 단말기 및 그 방법을 제공하는 것이다.
본 발명의 다른 목적은 베이스밴드 프로세서와 어플리케이션 프로세서의 데 이터 전송에 따른 병목현상을 줄일 수 있는 데이터 버스 확장 구조를 갖는 휴대용 단말기 및 그 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 하드웨어 장치의 유휴시간을 줄임으로써 자원을 효율적으로 사용할 수 있는 데이터 버스 확장 구조를 갖는 휴대용 단말기 및 그 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 기존의 하드웨어를 이용하여 호스트 프로세서와 어플리케이션 프로세서간의 데이터 전송을 위한 대역폭을 2배 증가시켜 별도의 추가적인 비용이 필요 없는 데이터 버스 확장 구조를 갖는 휴대용 단말기 및 그 방법을 제공하는 것이다.
이외의 본 발명의 목적들은 하기의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 일 측면에 따르면, 멀티프로세서를 구비한 디지털 처리 장치에 있어서, 호스트 프로세서는 주소 버스를 통해 주소 정보 또는 데이터를 선택적으로 어플리케이션 프로세서로 전송할 수 있는 디지털 처리 장치가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 멀티프로세서를 구비한 디지털 처리 장치에 있어서, 복수개의 데이터를 저장하고 있는 저장부; 상기 저장부와 결합되어, 전송할 연속 저장된 데이터의 개수 정보 및 시작 주소 정보를 주소 버스를 통해 전송하는 호스트 프로세서; 및 상기 주소 버스 및 데이터 버스를 통해 상기 호스트 프로세서와 결합되며 상기 개수 정보 및 상기 시작 주소 정보에 상응하여 상기 연속 저장된 데이터를 상기 주소 버스 및 상기 데이터 버스를 통해 상기 호스트 프로세서로부터 전송받는 어플리케이션 프로세서를 포함하는 디지털 처리 장치가 제공될 수 있다.
상기 어플리케이션 프로세서는 카운트 레지스터를 더 포함하며, 상기 호스트 프로세서 및 상기 어플리케이션 프로세서는 상기 호스트 프로세서가 전송할 연속 저장된 데이터 개수 정보에 상응하여 상기 카운트 레지스터를 갱신할 수 있다.
상기 어플리케이션 프로세서는 상기 카운트 레지스터의 정보와 상기 호스트 프로세서로부터 전송 완료된 데이터 개수 정보를 비교하여 전송 완료 여부를 판단할 수 있다.
상기 어플리케이션 프로세서는 컨피그(config) 레지스터를 더 포함하며, 상기 컨피그 레지스터는 상기 호스트 프로세서에 의해 상기 주소 버스를 통해 데이터를 전송할 것인지 주소 정보를 전송할 것인지에 상응하여 갱신될 수 있다.
상기 어플리케이션 프로세서는 상기 시작 주소 정보에 상응하여 상기 호스트 프로세서로부터 연속 전송되는 데이터에 상응하는 주소 정보를 산출할 수 있다.
본 발명의 다른 측면에 따르면, 저장부와 결합된 호스트 프로세서가 어플리케이션 프로세서로 데이터를 전송하는 방법이 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 저장부와 결합된 호스트 프로세서가 어플리케이션 프로세서로 데이터를 전송하는 방법에 있어서, 상기 저장부에 연 속 저장된 복수개의 데이터 중 연속 전송할 데이터의 개수 정보 및 상기 연속 전송할 데이터의 시작 주소 정보를 주소 버스를 통해 상기 어플리케이션 프로세서로 전송하는 단계; 상기 어플리케이션 프로세서의 상태 정보를 상기 데이터 버스를 통해 입력받는 단계; 및 상기 상태 정보를 분석하여 상기 데이터 전송이 가능하다고 판단되면, 상기 주소 버스 및 상기 데이터 버스를 통해 상기 데이터를 상기 어플리케이션 프로세서로 전송하는 단계를 포함하는 데이터 전송 방법이 제공될 수 있다.
상기 어플리케이션 프로세서는 상기 개수 정보에 상응하여 카운트 레지스터를 갱신하는 단계; 및 상기 어플리케이션 프로세서는 상기 시작 주소 정보를 이용하여 전송될 상기 데이터들이 저장될 주소 정보를 생성하는 단계를 더 포함할 수 있다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다.
본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다. 또한, 본 명세서에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 동일 또는 유사한 개체를 구별하기 위한 것일 뿐 이에 의해 권리범위나 그 대상이 제한되는 것은 아니다.
도 1은 본 발명의 바람직한 일 실시예에 따른 휴대용 단말기의 블록도이다.
도 1을 참조하여 MP3 파일 재생 기능을 구비한 휴대용 단말기(100)는 송수 신부(110), A/D 변환부(115), D/A 변환부(120), 제어부(125), 전원부(130), 입력부(135), 제1 저장부(140), 표시부(145), 신호 처리부(150) 및 음향 출력부(155)를 포함하여 구성된다.
송수신부(110)는 안테나를 포함하며, 안테나를 통해 수신되거나 송신되는 고주파 신호를 처리하는 기능을 수행한다. 즉, 송수신부(110)는 통신망을 통해 임의의 정보를 제공하는 장치(미도시)와 연결되어 데이터를 송수신하는 기능을 수행한다.
A/D 변환부(115)는 송수신부(110)로부터 출력되는 아날로그 신호를 디지털 신호로 변환하여 제어부(125)로 전송하는 기능을 수행한다.
D/A 변환부(120)는 제어부(125)로부터 출력되는 디지털 신호를 아날로그 신호로 변환하여 송수신부(110)로 전송하는 기능을 수행한다.
제어부(125)는 휴대용 단말기(100)의 내부 구성 요소들(예를 들어, 송수신부(110), A/D 변환부(115), D/A 변환부(120), 전원부(130), 입력부(135), 제1 저장부(140), 표시부(145), 신호 처리부(150), 음향 출력부(155) 등)을 제어하는 기능을 수행한다. 또한, 제어부(125)는 신호 처리부(150)에 임의의 명령(예를 들어, 데이터 처리 명령 등)을 전달할 수 있다.
예를 들어, 사용자로부터 입력부(135)를 통해 임의의 MP3 파일 선택에 상응하여 재생 명령이 입력되면, 제어부(125)는 제1 저장부(140)에 해당 MP3 파일이 저장되어 있는 위치(즉, 해당 MP3 파일이 저장된 주소)에 상응하는 특정 주소를 생성하여 신호 처리부(150)로 전달할 수 있다.
여기서, 특정 주소는 제어부(125)가 제1 저장부(140)에 연속적으로 저장된 데이터를 전송하기 위한 시작 주소 정보와 몇 개의 데이터를 연속적으로 전송할것인지에 대한 정보(이하에서는 "연속 전송할 데이터 정보"라 칭하기로함)를 포함할 수 있다.
또한, 제어부(125)는 CPU(Central Processing Unit) 또는 마이크로 컨트롤러(Micro-Controller)를 포함하며 휴대용 단말기(100)의 내부 구성 요소들을 제어하는 기능을 수행하는 것으로, 이하에서는 "호스트 프로세서"라 칭하기로 한다.
전원부(130)는 휴대용 단말기(100)가 동작하는데 필요한 전원을 공급하는 수단으로, 전원부(130)는 외부 전원 소스(source)와 결합되거나 배터리(battery) 등과 결합될 수 있다.
입력부(135)는 사용자로부터 휴대용 단말기(100)의 동작을 제어하기 위한 제어 명령, 기능 선택 명령(예를 들어, 임의의 기능 활성 명령, 임의의 MP3 파일 선택 명령 등) 등을 입력받기 위한 수단이다. 예를 들어, 입력부(135)는 복수개의 키 버튼(예를 들어, 숫자/문자 키, * 또는 #의 기호 키, 하나 이상의 기능 키(예를 들어, 메뉴키, 통화 키, 확인키, 무선 인터넷 접속을 위한 키 등))으로 구현되거나 터치 스크린 등의 형태로 구현될 수 있다.
제1 저장부(140)는 본 발명에 따른 휴대용 단말기(100)의 운용 프로그램, 각종 데이터 등을 저장한다. 제1 저장부(140)는 휴대용 단말기(100) 내부에 포함된 메모리 일수도 있으며, 외장 메모리로 휴대용 단말기(100)에 구비된 메모리 소켓(미도시)를 통해 휴대용 단말기(100)에 결합될 수도 있다. 예를 들어, 제1 저장부 (140)는 플래시 메모리(Flash Memory) 또는 EEPROM(Electrically Erasable Programmable Read Only Memory) 등으로 구성될 수 있다.
여기서, 제1 저장부(140)는 호스트 프로세서(210)와 결합되어 호스트 프로세서(210)의 제어에 의해 제1 저장부(140)에 저장된 데이터가 다른 내부 장치(예를 들어, 신호 처리부(150) 등)로 전달될 수 있다.
표시부(145)는 호스트 프로세서(210)의 제어에 의해 영상 데이터, 이미지 데이터, 문자 데이터, 숫자 데이터 등을 디스플레이하는 기능을 수행한다. 예를 들어, 표시부(145)는 액정화면(LCD : Liquid Crystal Display) 일 수 있다.
신호 처리부(150)는 MPEG-4, 3차원 그래픽, 카메라 기능, 오디오 데이터 재생(예를 들어, MP3 파일 재생) 등의 멀티미디어 데이터를 처리하기 위한 전용 프로세서일 수 있다.
이하에서는 신호 처리부(150)를 오디오 코덱(Code)으로 가정하여 설명하며, "어플리케이션 프로세서"라 칭하기로 한다. 즉, 어플리케이션 프로세서(220)는 호스트 프로세서(210)를 통해 전달되는 MP3 파일을 MPEG-1 방식으로 압축을 해제한 후 오디오 데이터 형식으로 복호화(decoding)한 후 아날로그 음성 신호로 변환하여 음향 출력부(155)를 통해 출력할 수 있다.
또한, 호스트 프로세서(210)와 어플리케이션 프로세서(220)는 데이터 버스(235)와 주소 버스(230)를 통해 결합되어 있으며, 이에 대해서는 도 2를 참조하여 상세히 설명하기로 한다.
음향 출력부(155)는 음향을 출력하는 수단으로 음원칩(예를 들어, 야마하)을 포함할 수 있다. 예를 들어, 음향 출력부(155)는 스피커일 수 있다.
도 2는 본 발명의 바람직한 일 실시예에 따른 휴대용 단말기의 호스트 프로세서, 어플리케이션 프로세서 및 저장부의 결합 구조를 나타낸 도면이다.
도 2에서 보여지는 바와 같이, 제1 저장부(140)는 호스트 프로세서(210)와 결합되어 있으며, 어플리케이션 프로세서(220)와는 호스트 프로세서(210)를 통해 결합되어 있다.
호스트 프로세서(210)는 제1 저장부(140)와 결합되어 있으며, 제1 저장부(140)에 연속적으로 저장된 다수의 데이터를 주소 버스(230) 및 데이터 버스(235)를 통해 어플리케이션 프로세서(220)로 전달하는 기능을 수행한다. 즉, 호스트 프로세서(210)에 결합된 주소 버스(230)는 어플리케이션 프로세서(220)로 주소 정보를 전달할 수도 있으며, 제1 저장부(140)에 저장된 데이터를 전송할 수도 있다. 이에 대해서는 도 3을 참조하여 상세히 설명하기로 한다.
여기서, 주소 버스(235)는 범용출력(GPO : General purpose output)핀으로 호스트 프로세서(210)에 의해 주소 정보 또는 데이터를 선택적으로 전송할 수 있다. 또한, 호스트 프로세서(210)는 제1 저장부(140)로부터 읽어온 주소 정보를 임시 버퍼(또는 레지스터 등)에 일시적으로 저장할 수도 있다.
또한, 호스트 프로세서(210)는 호스트 프로세서(210)에 연결된 다수의 어플리케이션 프로세서(즉, 칩들)들 중 하나를 선택하여 선택된 어플리케이션 프로세서로 허용(enable) 신호를 보내어 해당 어플리케이션 프로세서만 동작하고 나머지 어 플리케이션 프로세서들은 동작을 수행하지 않도록 할 수 있는 칩 셀렉터(chip selector)를 포함할 수도 있다. 이하에서는 칩 셀렉터에 의한 동작 수행은 당업자에게는 자명한 사항이므로 이에 대한 상세한 설명은 생략하기로 한다.
이해와 설명의 편의를 위해, 본 명세서에서는 데이터 버스(235)와 주소 버스(230)를 16비트 정보 전송이 가능한 버스인것으로 가정하여 설명하기로 하나, 16비트 이외의 8비트, 32 비트 등과 같이 16비트 보다 더 많은 정보를 전송이 가능하거나 더 적은 정보를 전송할 수 있는 경우에도 동일하게 적용될 수 있음은 당연하다.
제1 저장부(140)는 호스트 프로세서(210)와 독점적으로 정보를 송수신하기 위한 하나 이상의 포트를 구비하여 결합되어 있다. 어플리케이션 프로세서(220)와 결합되는 저장 매체는 어플리케이션 프로세서(220)의 내부에 구비되어 있거나 본 명세서에서는 기재하고 있지 않으나 어플리케이션 프로세서(220)의 외부에 별도로 연결되어 있을 수 있다. 어플리케이션 프로세서(220)와 연결되는 저장 매체는 호스트 프로세서(210)와 결합되어 있는 제1 저장부(140)와는 별개의 저장 매체일 수 있다.
본 발명에 따른 제1 저장부(140)의 전체 또는 일부는 SDRAM(Synchronous Dynamic Random Access Memory), 의사(Pseudo) SRAM , NAND 플래시(Flash), SD, MMC(Multimedia card) 등으로 구현될 수 있다.
어플리케이션 프로세서(220)는 주소 버스(230) 및 데이터 버스(235)를 통해 호스트 프로세서(210)와 결합되어 있다. 어플리케이션 프로세서(220)는 제1 스텝에 서는 호스트 프로세서(210)로부터 주소 버스(230)를 통해 전송할 데이터의 특정 주소를 전달받는다. 여기서, 특정 주소는 상술한 바와 같이, 제1 저장부(140)에 연속적으로 저장된 데이터의 시작 주소 정보와 몇 개의 데이터를 보낼것인지에 대한 정보(즉, 연속 전송할 데이터 정보)를 포함할 수 있다.
예를 들어, 어플리케이션 프로세서(220)는 호스트 프로세서(210)로부터 시작 주소 정보를 입력받아 제2 저장부에 저장될 위치를 결정한 후 시작 주소 정보를 이용하여 연속적으로 호스트 프로세서(210)로부터 입력되는 데이터의 저장될 주소를 산출하여 해당 주소에 상응하는 위치에 저장되도록 할 수도 있다.
또한, 어플리케이션 프로세서(220)는 도 2에는 도시되어 있지 않으나 다수의 레지스터를 포함할 수 있다. 본 명세서에서 기재된 레지스터는 어플리케이션 프로세서(220)의 내부에 포함된 것이나 호스트 프로세서(210)에 의해 접근되어 갱신될 수도 있다.
본 명세서에서 "컨트롤 레지스터(control register)"는 호스트 프로세서(210)가 어플리케이션 프로세서(220)이 수행할 동작을 지시하기 위한 제어 명령(이하에서는 "동작 수행 명령"이라 칭하기로 함)에 상응하여 갱신되도록 설정된 레지스터인 것으로 정의하기로 한다.
또한, "상태 레지스터(state register)"는 어플리케이션 프로세서(220)가 호스트 프로세서(210)의 동작 수행 명령에 상응하는 동작을 수행하여 해당 동작 수행 완료 여부에 상응하여 갱신하도록 설정된 레지스터인 것으로 정의하기로 한다.
또한, "카운트 레지스터(count register)"는 호스트 프로세서(210)가 어플 리케이션 프로세서(220)로 전송할 연속 저장된 데이터의 개수 정보에 상응하여 갱신되도록 설정된 레지스터인 것으로 정의하기로 한다.
또한, "컨피그 레지스터(config register)"는 호스트 프로세서(210)가 어플리케이션 프로세서(220)로 주소 버스를 통해 데이터를 전송할 것인지 주소 정보를 전송할 것인지에 상응하여 갱신되도록 설정된 레지스터인 것으로 정의하기로 한다.
예를 들어, 호스트 프로세서(210)가 제1 저장부(140)에 연속 저장된 다수의 데이터를 어플리케이션 프로세서(220)로 전송한다고 가정하자. 이때, 호스트 프로세서(210)는 어플리케이션 프로세서(220)에 연결된 저장매체(이하에서는 "제2 저장부(미도시)"라 칭하기로함)의 임의의 위치에 기록하기 위해 전송한다고 가정하자. 우선, 호스트 프로세서(210)는 연속 저장된 다수의 데이터를 전송받기 위한 동작을 수행하도록 동작 수행 지시 명령을 주소 버스(230)를 통해 어플리케이션 프로세서(220)로 전송한다. 동작 수행 지시 명령에 상응하여 컨트롤 레지스터를 갱신할 수 있다. 물론, 여기서 컨트롤 레지스터는 호스트 프로세서(210) 및 어플리케이션 프로세서(220)에 의해 접근되어 갱신될 수 있다. 이하에서는 이해와 설명의 편의를 위해 어플리케이션 프로세서(220)의 내부 레지스터는 호스트 프로세서(210)의 제어 명령에 의해 어플리케이션 프로세서(220)에 의해 갱신되는 것으로 가정하여 설명하기로 한다. 그러나, 호스트 프로세서(210)에 의해 직접 갱신될 수도 있다.
본 명세서에서는 이와 같이, 호스트 프로세서(210)가 주소 버스(230)를 통해 어플리케이션 프로세서(220)로 주소 정보를 전송하는 단계까지를 "제1 스텝"이라 정의하기로 한다.
이후, 호스트 프로세서(210)가 주소 버스(230) 및 데이터 버스(235)를 통해 어플리케이션 프로세서(220)로 데이터를 전송하는 단계를 "제2 스텝"으로 정의하기로 한다.
본 발명에서는 상술한 바와 같이, 주소 버스(230)를 데이터 전송을 위한 용도로 사용하여 연속 저장된 복수개의 데이터를 어플리케이션 프로세서(220)로 전송하는 경우, 종래에 비해 전송 대역폭을 2배 가량 확장할 수 있는 이점이 있다.
도 3은 본 발명의 바람직한 일 실시예에 따른 호스트 프로세서와 어플리케이션 프로세서간의 데이터 전송 방법을 나타낸 순서도이다. 이하에서는 이해와 설명의 편의를 위해, 휴대용 단말기(100)에 구비된 입력부(135)를 통해 재생될 MP3 파일이 선택된 이후, 제1 저장부(140)에 저장된 재생될 MP3 파일을 복호화(decoding)하여 음향 출력부(155)를 통해 출력(재생)되는 과정을 가정하여 설명하기로 한다. 이하에서는 호스트 프로세서(210)에서 어플리케이션 프로세서(220)로의 데이터를 전송하는 것을 중점으로 설명하기로 하며 이후 동작(예를 들어, MP3 파일 복호화 및 출력 등)에 대한 설명은 생략하기로 한다.
단계 310에서 호스트 프로세서(210)는 제1 저장부(140)에 연속 저장된 복수개의 데이터 전송을 위해 어플리케이션 프로세서(220)로 호스트 프로세서(210)로부터 데이터를 전송받기 위한 동작 수행을 준비하도록 제어 명령(즉, 동작 수행 명령)을 주소 버스(230)를 통해 어플리케이션 프로세서(220)로 전달할 수 있다.
호스트 프로세서(210)로부터 동작 수행 명령을 입력받은 어플리케이션 프로 세서(220)는 호스트 프로세서(210)로부터 데이터를 전송받기 위한 동작을 수행하도록 준비할 수 있다. 즉, 어플리케이션 프로세서(220)는 동작 수행 명령에 상응하여 컨트롤 레지스터를 갱신할 수 있다.
단계 315에서 어플리케이션 프로세서(220)는 호스트 프로세서(210)로부터 동작 수행 명령을 입력받아 어플리케이션 프로세서(220)의 상태를 기록하고 있는 상태 레지스터의 값을 독출하여 상태 정보를 데이터 버스(235)를 통해 호스트 프로세서(210)로 전송한다. 물론, 호스트 프로세서(210)는 어플리케이션 프로세서(220)의 내부에 포함된 상태 레지스터에 직접 접근하여 어플리케이션 프로세서(220)의 상태를 판단할 수도 있다.
단계 320에서 호스트 프로세서(210)는 데이터 전송 가능 여부를 판단한다. 예를 들어, 호스트 프로세서(210)는 어플리케이션 프로세서(220)의 내부에 포함된 상태 레지스터에 접속하여 상태 레지스터의 값을 독출하여 이를 분석하여 어플리케이션 프로세서(220)의 상태를 판단할 수 있다. 또한, 호스트 프로세서(210)는 어플리케이션 프로세서(220)로부터 상태 레지스터에 저장된 상태 정보를 데이터 버스(235)를 통해 입력받아 해당 상태 정보를 분석하여 어플리케이션 프로세서(220)의 상태를 판단할 수도 있다.
만일, 데이터 전송이 가능하다고 결정되면, 단계 325에서 호스트 프로세서(210)는 제2 저장부에 어느 영역에 저장할 것인지에 대한 주소 정보(즉, 시작 주소 정보)와 몇 개의 데이터를 연속적으로 전송할 것인지에 대한 정보(즉, 연속 전송할 데이터 개수 정보)를 주소 버스(230)를 통해 어플리케이션 프로세서(220)로 전달한 다.
단계 330에서 어플리케이션 프로세서(220)는 호스트 프로세서(210)로부터 입력된 연속 전송할 데이터 개수 정보에 상응하여 카운트 레지스터를 갱신한다. 그리고, 어플리케이션 프로세서(220)는 상태 레지스터를 갱신하여 호스트 프로세서(210)로부터 데이터를 전송받는 상태(예를 들어, 비지(busy) 상태)로 설정할 수 있다. 그리고, 호스트 프로세서(210)는 어플리케이션 프로세서(220)의 컨피그 레지스터를 갱신하여 이후 주소 버스를 통해 데이터를 전송할 것임을 어플리케이션 프로세서(220)에 알릴 수 있다.
단계 335에서 호스트 프로세서(210)는 주소 버스(230) 및 데이터 버스(235)를 이용하여 연속적 저장된 데이터를 어플리케이션 프로세서(220)로 전송한다.
일반적으로, 호스트 프로세서(210)에서 어플리케이션 프로세서(220)로 데이터를 전송하는 경우, 호스트 프로세서(210)는 주소 버스(230)를 통해 주소 정보를 어플리케이션 프로세서(220)로 전송하고, 데이터 버스(235)를 통해 데이터를 어플리케이션 프로세서(220)로 전송하였다. 따라서, 상대적으로 데이터량이 적은 주소 정보는 주소 버스(230)를 통해 어플리케이션 프로세서(220)로 전송된 이후, 상대적으로 데이터량이 많은 데이터 정보가 데이터 버스(235)를 통해 전송이 완료될때까지 주소 버스(230)는 아무런 동작도 수행하지 않게 된다.
그러나, 본 발명에 따른 호스트 프로세서(210)는 연속적으로 저장된 다수의 데이터를 전송하는데 있어서 우선, 연속된 데이터의 시작 주소 정보와 연속적으로 전송할 데이터의 개수 정보를 어플리케이션 프로세서(220)로 전송한 후, 호스트 프 로세서(210)는 주소 버스(230) 및 데이터 버스(235)를 통해 어플리케이션 프로세서(220)로 데이터를 전송할 수 있다.
호스트 프로세서(210)는 예를 들어, 주소 버스(230) 및 데이터 버스(235)가 각각 16비트 라인으로 구성되어 있다면, 결과적으로 한번 전송시 32비트 단위로 데이터를 전송하도록 할 수 있다.
여기서, 어플리케이션 프로세서(220)는 호스트 프로세서(210)로부터 주소 버스(230)를 통해 입력받은 시작 주소 정보를 추출하여 이후 전송되는 데이터의 주소 정보를 자동으로 산출할 수 있다. 따라서, 어플리케이션 프로세서(220)는 호스트 프로세서(210)로부터 시작 주소 정보를 주소 버스를 통해 전달받은 이후 자동으로 전송받은 데이터의 저장될 위치를 결정하여 제2 저장부에 저장할 수 있다.
또한, 어플리케이션 프로세서(220)는 호스트 프로세서(210)로부터 전송 완료된 데이터 개수 정보를 일시적으로 저장하여 카운트 레지스터에 기록된 값과 비교하여 데이터 전송이 완료되었는지 여부를 판단할 수도 있다.
단계 340에서 호스트 프로세서(210)는 주소 버스(230) 및 데이터 버스(235)를 통해 연속적인 다수의 데이터의 전송을 마치고, 어플리케이션 프로세서(220)가 데이터를 모두 전송하였는지 여부를 확인하기 위해 어플리케이션 프로세서(220)에 상태 정보 전송을 주소 버스(230)를 통해 요청한다. 예를 들어, 어플리케이션 프로세서(220)는 전송 완료된 데이터 정보와 카운트 레지스터에 저장된 전송될 데이터 개수 정보를 비교하여 호스트 프로세서(210)로부터 데이터 전송이 완료되었는지 여부를 판단할 수 있다. 만일 전송이 완료되었다고 판단되면, 어플리케이션 프로세서 (220)는 전송 완료에 상응하여 상태 레지스터를 갱신할 수 있다. 따라서, 호스트 프로세서(210)는 어플리케이션 프로세서(220)로부터 상태 정보를 데이터 버스(235)를 통해 입력받아 전송 완료 여부를 확인할 수 있으며, 다음 데이터 전송을 준비할 수 있다. 물론, 호스트 프로세서(210)는 어플리케이션 프로세서(220)의 내부의 상태 레지스터에 직접 접근하여 어플리케이션 프로세서(220)의 상태를 확인할 수도 있다.
상술한 바와 같이, 본 발명에 따른 데이터 버스 확장 구조를 갖는 휴대용 단말기 및 그 방법을 제공함으로써, 별도의 하드웨어 추가 또는 변경 없이 데이터 전송을 대략 두 배 정도 빠르게 할 수 있는 효과가 있다.
또한, 본 발명은 베이스밴드 프로세서와 어플리케이션 프로세서의 데이터 전송에 따른 병목현상을 줄일 수 있는 효과도 있다.
또한, 본 발명은 하드웨어 장치의 유휴시간을 줄임으로써 자원을 효율적으로 사용할 수 있는 효과도 있다.
또한, 본 발명은 기존의 하드웨어를 이용하여 호스트 프로세서와 어플리케이션 프로세서간의 데이터 전송을 위한 대역폭을 2배 증가시킬 수 있으며, 추가 비용이 필요없는 효과도 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (7)

  1. 멀티프로세서를 구비한 디지털 처리 장치에 있어서,
    복수개의 데이터를 저장하고 있는 저장부;
    상기 저장부와 결합되어, 전송할 연속 저장된 데이터의 개수 정보 및 시작 주소 정보를 주소 버스를 통해 전송하는 호스트 프로세서; 및
    상기 주소 버스 및 데이터 버스를 통해 상기 호스트 프로세서와 결합되며 상기 개수 정보 및 상기 시작 주소 정보에 상응하여 상기 연속 저장된 데이터를 상기 주소 버스 및 상기 데이터 버스를 통해 상기 호스트 프로세서로부터 전송받는 어플리케이션 프로세서를 포함하는 디지털 처리 장치.
  2. 제 1항에 있어서,
    상기 어플리케이션 프로세서는 카운트 레지스터를 더 포함하며, 상기 호스트 프로세서 및 상기 어플리케이션 프로세서는 상기 호스트 프로세서가 전송할 연속 저장된 데이터 개수 정보에 상응하여 상기 카운트 레지스터를 갱신하는 디지털 처리 장치.
  3. 제 2항에 있어서,
    상기 어플리케이션 프로세서는 상기 카운트 레지스터의 정보와 상기 호스트 프로세서로부터 전송 완료된 데이터 개수 정보를 비교하여 전송 완료 여부를 판단하는 디지털 처리 장치.
  4. 제 1항에 있어서,
    상기 어플리케이션 프로세서는 컨피그(config) 레지스터를 더 포함하며, 상기 컨피그 레지스터는 상기 호스트 프로세서에 의해 상기 주소 버스를 통해 데이터를 전송할 것인지 주소 정보를 전송할 것인지에 상응하여 갱신되는 디지털 처리 장치.
  5. 제 1항에 있어서,
    상기 어플리케이션 프로세서는 상기 시작 주소 정보에 상응하여 상기 호스트 프로세서로부터 연속 전송되는 데이터의 주소 정보를 산출하는 디지털 처리 장치.
  6. 저장부와 결합된 호스트 프로세서가 어플리케이션 프로세서로 데이터를 전송하는 방법에 있어서,
    상기 저장부에 연속 저장된 복수개의 데이터 중 연속 전송할 데이터의 개수 정보 및 상기 연속 전송할 데이터의 시작 주소 정보를 주소 버스를 통해 상기 어플리케이션 프로세서로 전송하는 단계;
    상기 어플리케이션 프로세서의 상태 정보를 상기 데이터 버스를 통해 입력받는 단계; 및
    상기 상태 정보를 분석하여 상기 데이터 전송이 가능하다고 판단되면, 상기 주소 버스 및 상기 데이터 버스를 통해 상기 데이터를 상기 어플리케이션 프로세서로 전송하는 단계를 포함하는 데이터 전송 방법.
  7. 제 6항에 있어서,
    상기 어플리케이션 프로세서는 상기 개수 정보에 상응하여 카운트 레지스터를 갱신하는 단계; 및
    상기 어플리케이션 프로세서는 상기 시작 주소 정보를 이용하여 전송될 상기 데이터들이 저장될 주소 정보를 생성하는 단계를 더 포함하는 데이터 전송 방법.
KR1020050130270A 2005-12-27 2005-12-27 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법 KR100710626B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050130270A KR100710626B1 (ko) 2005-12-27 2005-12-27 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050130270A KR100710626B1 (ko) 2005-12-27 2005-12-27 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법

Publications (1)

Publication Number Publication Date
KR100710626B1 true KR100710626B1 (ko) 2007-04-24

Family

ID=38182085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050130270A KR100710626B1 (ko) 2005-12-27 2005-12-27 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법

Country Status (1)

Country Link
KR (1) KR100710626B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100968376B1 (ko) 2009-01-13 2010-07-09 주식회사 코아로직 이종 프로세서 간의 응용 프로그램 처리장치와 처리방법, 및 그 처리장치를 포함하는 ap 통신 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990057184A (ko) * 1997-12-29 1999-07-15 김영환 이동통신 시스템 제어국에서의 다중 전송 방법
KR19990064824A (ko) * 1999-05-12 1999-08-05 노명래 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법
KR19990079974A (ko) * 1998-04-10 1999-11-05 김영환 멀티프로세서 시스템에서 두 개의 버스 사이에 지연된 요구를처리하기 위한 장치 및 그 제어방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990057184A (ko) * 1997-12-29 1999-07-15 김영환 이동통신 시스템 제어국에서의 다중 전송 방법
KR19990079974A (ko) * 1998-04-10 1999-11-05 김영환 멀티프로세서 시스템에서 두 개의 버스 사이에 지연된 요구를처리하기 위한 장치 및 그 제어방법
KR19990064824A (ko) * 1999-05-12 1999-08-05 노명래 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100968376B1 (ko) 2009-01-13 2010-07-09 주식회사 코아로직 이종 프로세서 간의 응용 프로그램 처리장치와 처리방법, 및 그 처리장치를 포함하는 ap 통신 시스템

Similar Documents

Publication Publication Date Title
US7730236B2 (en) Cellular phone and portable storage device using the same
KR100855701B1 (ko) 복수의 프로세서 코어가 통합된 칩 및 데이터 처리 방법
US8639749B2 (en) Platform independent information handling system, communication method, and computer program product thereof
US20060160569A1 (en) Cellular phone and portable storage device using the same
CN109656844A (zh) 一种AT24xx EEPROM驱动方法和装置
KR100782592B1 (ko) 공유 메모리를 구비한 장치 및 공유 메모리 제어 방법
KR20100016954A (ko) 유무선으로 접속가능한 분리형 디스플레이장치
KR100728650B1 (ko) 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치
KR20090034140A (ko) 복수의 포트를 갖는 메모리를 구비한 휴대 단말기 및 부팅제어 방법
KR100710626B1 (ko) 데이터 버스 확장 구조를 갖는 디지털 처리 장치 및 그방법
KR100731969B1 (ko) 복수 경로를 통한 메모리 공유 방법 및 장치
KR100736902B1 (ko) 복수의 프로세서에 의한 메모리 공유 방법 및 장치
KR20070094167A (ko) 이동 단말기에서 메모리를 이용한 멀티 운영 체제 구동장치 및 방법
KR100746364B1 (ko) 메모리 공유 방법 및 장치
KR20150116720A (ko) 메모리 시스템 및 이를 포함하는 전자 장치
KR100658588B1 (ko) 메모리 공유 시스템 및 그 방법
CN101911003B (zh) 信息处理设备和程序
TW561767B (en) Method for refreshing flash of a cellular phone
KR100592109B1 (ko) 공유 메모리의 분할 영역의 다중 억세스 제어 방법 및 공유메모리를 가지는 휴대형 단말기
JP4003919B2 (ja) データ処理装置およびデータ処理方法
KR100658591B1 (ko) 공유 메모리를 이용한 디스플레이 제어 방법 및 장치
KR20120018539A (ko) 복수 개의 표시 패널을 가지는 표시부 제어 방법 및 이를 기반으로 운용되는 휴대 단말기
KR100888427B1 (ko) 공유 메모리를 구비한 디지털 처리 장치 및 데이터 출력방법
KR100719808B1 (ko) 메모리 공유 방법 및 메모리 공유 구조를 가지는 휴대용단말기
KR100909025B1 (ko) 복수의 프로세서에 의한 메모리 공유 방법 및 메모리 공유구조를 가지는 휴대형 단말기

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
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20170329

Year of fee payment: 11