KR100634566B1 - 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기 - Google Patents

공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기 Download PDF

Info

Publication number
KR100634566B1
KR100634566B1 KR1020050093751A KR20050093751A KR100634566B1 KR 100634566 B1 KR100634566 B1 KR 100634566B1 KR 1020050093751 A KR1020050093751 A KR 1020050093751A KR 20050093751 A KR20050093751 A KR 20050093751A KR 100634566 B1 KR100634566 B1 KR 100634566B1
Authority
KR
South Korea
Prior art keywords
processor
storage area
processors
data
access
Prior art date
Application number
KR1020050093751A
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 KR1020050093751A priority Critical patent/KR100634566B1/ko
Priority to PCT/KR2006/003530 priority patent/WO2007040307A1/en
Priority to US12/089,345 priority patent/US8135919B2/en
Application granted granted Critical
Publication of KR100634566B1 publication Critical patent/KR100634566B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • 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/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/52Details of telephonic subscriber devices including functional features of a camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

공유 메모리 제어 방법 및 공유 메모리 동작 제어를 수행하는 사용자 단말기가 개시된다. 본 발명의 바람직한 일 실시예에 따르면, 휴대형 단말기는 저장 영역이 n개의 분할 영역으로 분할된 메모리부, 임의의 분할 영역에 억세스하여 데이터 기록 또는 독출을 수행하는 복수의 프로세서를 포함한다. 분할 영역 중 하나 이상은 억세스 권한을 가진 프로세서가 접속할 수 있는 공동 저장 영역으로 할당되며, 억세스 권한을 가진 프로세서가 상기 공동 저장 영역에 기록된 데이터 유지 동작을 수행한다. 본 발명에 의해, 공동 저장 영역에 복수의 프로세서들이 억세스할 수 있어 각 프로세서간의 데이터 전송 시간을 최소화할 수 있다.
공유 메모리, 제어, 포트, 버스

Description

공유 메모리 제어 방법 및 공유 메모리 동작 제어를 수행하는 사용자 단말기{Method for controlling shared memory and user terminal for controlling operation of shared memory}
도 1은 종래의 카메라 기능을 구비한 이동 통신 단말기의 블록 구성도.
도 2는 종래의 메인 프로세서, 부가 프로세서 및 각각의 메모리간의 결합 구조를 예시한 도면.
도 3은 본 발명의 바람직한 일 실시예에 따른 메인 프로세서, 부가 프로세서 및 메모리부간의 결합 구조를 나타낸 도면.
도 4는 본 발명의 바람직한 일 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면.
도 5는 본 발명의 바람직한 일 실시예에 따른 공동 저장 영역에 대한 억세스 권한 이전 과정을 나타낸 순서도.
도 6은 본 발명의 바람직한 일 실시예에 따른 SDRAM의 기본 구조를 예시한 도면.
본 발명은 휴대형 단말기에 관한 것으로, 특히 메모리를 공유하는 복수의 프로세서가 구비된 휴대형 단말기에 관한 것이다.
휴대형 단말기는 게임, 이동 통신 등의 기능을 수행하기 위하여 작은 크기로 형성되어 사용자의 휴대를 용이하게 한 전자 장치를 의미한다. 휴대형 단말기에는 이동 통신 단말기, 개인 휴대 단말기(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)에 의해 처리된 외부 영상 등을 저장한다.
상술한 바와 같이, 카메라 기능을 구비한 이동 통신 단말기(100)는 복수의 프로세서(즉, 메인 프로세서와 부가 기능 수행을 위한 하나 이상의 부가 프로세서)를 구비한다. 즉, 도 1에 도시된 바와 같이 이동 통신 단말기(100)의 전체적인 기능을 제어하기 위한 제어부(125)와 카메라 기능을 제어하기 위한 영상 처리부(155)는 프로세서들일 수 있다. 또한, 각각의 프로세서는 각각 독립된 메모리와 결합되도록 구성된다.
부가 프로세서는 휴대형 단말기가 어떤 부가 기능을 구비되는지에 따라 상이할 수 있다. 예를 들어, 카메라 기능 수행을 위한 부가 프로세서는 JPEG 부호화(encoding), JPEG 복호화(decoding) 등의 기능을 수행할 수 있다. 동영상 재생 기능을 수행하기 위한 부가 프로세서는 비디오 파일(예를 들어, MPEG4, DIVX, H.264)의 부호화, 복호화 등을 수행할 수 있다. 음악 파일 재생 기능을 수행하기 위한 부가 프로세서는 음악 파일의 부호화, 복호화 등을 수행할 수 있다. 물론, 상술한 다양한 기능을 통합적으로 수행할 수 있는 부가 프로세서도 존재할 수 있다. 이러한 프로세서들 각각에는 프로세서에 의해 처리된 데이터를 저장하기 위한 메모리가 개별적으로 구비된다. 따라서, 종래 기술에 의하면 휴대형 단말기의 기능이 다기능화될수록 프로세서의 수량이 증가되고, 이에 비례하여 메모리의 수량도 증대되어야 하는 문제점이 있다.
도 2는 종래의 메인 프로세서, 부가 프로세서 및 각각의 메모리간의 결합 구 조를 예시한 도면이다.
도 2를 참조하면, 메인 프로세서(210)와 부가 프로세서(220)가 호스트 인터페이스(Host I/F)를 통해 정보를 송수신한다. 메인 프로세서(210)는 메인 메모리(230)와 MP(Main Processor)-MM(Main Memory) 버스를 통해 결합되며, 부가 프로세서(220)와 부가 메모리(240)는 AP(Application Processor)-AM(Application Memory) 버스를 통해 결합된다. 버스(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)는 자체 프로세스보다는 타 제어부의 요청에 따른 동작(즉, 메모리 억세스, 호스트 인터페이스 동작 등)에 보다 많은 시간을 소비하게 되는 문제점이 발생된다.
상술한 문제점은 휴대형 단말기에서 수행되는 기능이 많아지고, 또한 처리되어야 할 데이터의 양이 많아짐에 따라 메인 프로세서(210)와 부가 프로세서(220)간의 데이터 송수신에 병목 현상을 야기하는 문제점이 있다.
결과적으로, 상술한 문제점들은 다기능 휴대형 단말기의 전체 성능을 약화시키는 원인이 된다.
따라서, 상술한 문제점들을 해결하기 위한 본 발명의 목적은 공유 메모리의 저장 영역을 복수의 분할 영역으로 분할하고 각 분할 영역에 복수의 프로세서들이 억세스 가능하게 함으로써 각 프로세서간의 데이터 전송 시간을 최소화할 수 있는 공유 메모리 제어 방법 및 공유 메모리 동작 제어를 수행하는 사용자 단말기를 제공하는 것이다.
본 발명의 다른 목적은 복수의 영역으로 분할된 공유 메모리의 저장 영역을 복수의 프로세서들이 억세스할 수 있도록 함으로써 각 프로세서는 자체 프로세스만을 담당할 수 있어 각 프로세서의 동작 속도 및 효율을 최적화할 수 있는 공유 메모리 제어 방법 및 공유 메모리 동작 제어를 수행하는 사용자 단말기를 제공하는 것이다.
본 발명의 또 다른 목적은 특정 메모리 영역에 저장된 데이터를 각 프로세서간에 주고받는 불필요한 시간 손실(time loss)를 제거함으로써 고효율의 데이터 처리가 가능한 공유 메모리 제어 방법 및 공유 메모리 동작 제어를 수행하는 사용자 단말기를 제공하는 것이다.
본 발명의 또 다른 목적은 메인 프로세서와 부가 프로세서간의 연결을 위한 핀(pin)들의 수량을 최소화할 수 있는 공유 메모리 제어 방법 및 공유 메모리 동작 제어를 수행하는 사용자 단말기를 제공하는 것이다.
본 발명의 또 다른 목적은 하나의 메모리를 복수의 프로세서가 공유할 때 공유 영역에 저장된 데이터값의 유지가 용이한 공유 메모리 제어 방법 및 공유 메모리 동작 제어를 수행하는 사용자 단말기를 제공하는 것이다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
상기 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면 복수의 프로세서가 메모리를 공유하도록 구현된 휴대형 단말기가 제공된다.
본 발명의 바람직한 일 실시예에 따른 휴대형 단말기는, 둘 이상의 포트를 구비하고, 저장 영역이 n(자연수)개의 분할 영역으로 분할된 메모리부; 및 각각 할당된 포트를 통해 임의의 분할 영역에 억세스하여 데이터 기록(Write) 또는 독출 (Read)을 수행하는 복수의 프로세서를 포함한다. 여기서, 상기 n개의 분할 영역 중 하나 이상은 상기 복수의 프로세서 중 억세스 권한을 가진 프로세서가 접속할 수 있는 공동 저장 영역으로 할당되고, 상기 억세스 권한은 상기 복수의 프로세서간에 이전되며, 상기 억세스 권한을 가진 프로세서가 상기 공동 저장 영역에 기록된 데이터 유지 동작을 수행할 수 있다.
상기 복수의 프로세서는, 메인 프로세서; 및 상기 메인 프로세서의 처리 지시에 상응하여 임의의 분할 영역에 기록된 데이터를 처리하는 하나 이상의 부가 프로세서를 포함한다.
상기 메인 프로세서와 상기 부가 프로세서는 호스트 인터페이스를 통해 결합되며, 상기 호스트 인터페이스는 시리얼 인터페이스(serial interface)로 형성될 수 있다. 상기 시리얼 인터페이스를 위한 핀들에는 상기 메인 프로세서 및 상기 부가 프로세서 상호간에 제어 명령을 송수신하기 위한 제1 핀, 상기 메인 프로세서 및 상기 부가 프로세서 상호간에 응답 신호 또는 설정 상태 확인을 위한 제2 핀, 시리얼 데이터와의 동기화 클럭을 위한 제3 핀, 유효 데이터 송수신 구간을 나타내기 위한 제4 핀, 상기 부가 프로세서가 상기 메인 프로세서로 상기 억세스 권한의 이전 또는 할당을 요구하기 위한 제5 핀이 포함될 수 있다.
상기 메인 프로세서는 상기 억세스 권한의 이전 또는 할당을 요청하기 위하여 상기 호스트 인터페이스를 통해 상기 부가 프로세서 내의 미리 지정된 레지스터의 값을 미리 지정된 값으로 갱신할 수 있다.
타 프로세서로부터 상기 억세스 권한의 이전 요구를 입력받은 경우, 상기 공 동 저장 영역에 이미 억세스한 임의의 프로세서는 미리 지정된 작업 우선 순위에 따라 억세스 권한의 즉시 이전, 처리 작업의 완료 후 이전 중 어느 하나를 결정하는 것을 특징으로 한다.
상기 데이터 유지 동작은 프리챠지(precharge), 리프레쉬(refresh)를 포함할 수 있다.
상기 복수의 프로세서는 상기 n개의 분할 영역 중 하나 이상씩을 독점 영역으로 미리 할당받는 것을 특징으로 한다.
상기 목적들을 달성하기 위하여, 본 발명의 다른 측면에 따르면 복수의 프로세서간의 메모리 공유 방법 및/또는 그 방법을 수행하기 위한 프로그램이 기록된 기록매체가 제공된다.
본 발명의 바람직한 일 실시예에 따른 휴대형 단말기에 구비된 복수의 프로세서간의 메모리 공유 방법은, (a) 제1 프로세서가 공동 저장 영역에 대한 억세스 권한을 획득하는 단계; (b) 상기 제1 프로세서가 상기 공동 저장 영역에 억세스하여 데이터 독출 또는 기록을 수행하는 단계; (c) 제2 프로세서로부터 상기 공동 저장 영역에 대한 억세스 권한 이전을 요청받으면, 상기 공동 저장 영역에 대한 억세스를 종료하는 단계; 및 (d) 상기 제2 프로세서가 상기 공동 저장 영역에 억세스하여 데이터 독출 또는 기록을 수행하는 단계를 포함할 수 있다. 여기서, 상기 복수의 프로세서에 개별적으로 결합되도록 복수의 포트를 구비한 메모리부는 저장 영역이 n개의 분할 영역으로 구성되고, 상기 n개의 분할 영역 중 하나 이상은 상기 억 세스 권한을 가진 임의의 프로세서가 접속할 수 있는 공동 저장 영역으로 할당되고, 상기 억세스 권한을 가진 프로세서는 상기 공동 저장 영역에 기록된 데이터 유지 동작을 수행할 수 있다.
상기 데이터 유지 동작은 프리챠지(precharge), 리프레쉬(refresh)를 포함할 수 있다.
상기 복수의 프로세서는, 메인 프로세서; 및 상기 메인 프로세서의 처리 지시에 상응하여 임의의 분할 영역에 기록된 데이터를 처리하는 하나 이상의 부가 프로세서를 포함한다.
상기 메인 프로세서와 상기 부가 프로세서는 호스트 인터페이스를 통해 결합되고, 상기 호스트 인터페이스는 시리얼 인터페이스(serial interface)로 형성될 수 있다. 상기 시리얼 인터페이스를 위한 핀들에는 상기 메인 프로세서 및 상기 부가 프로세서 상호간에 제어 명령을 송수신하기 위한 제1 핀, 상기 메인 프로세서 및 상기 부가 프로세서 상호간에 응답 신호 또는 설정 상태 확인을 위한 제2 핀, 시리얼 데이터와의 동기화 클럭을 위한 제3 핀, 유효 데이터 송수신 구간을 나타내기 위한 제4 핀, 상기 부가 프로세서가 상기 메인 프로세서로 상기 억세스 권한의 이전 또는 할당을 요구하기 위한 제5 핀이 포함될 수 있다.
상기 제1 프로세서가 상기 메인 프로세서인 경우, 상기 단계 (a)는 상기 메인 프로세서가 상기 억세스 권한의 이전 또는 할당을 요청하기 위하여 상기 호스트 인터페이스를 통해 상기 부가 프로세서 내의 미리 지정된 레지스터의 값을 미리 지정된 값으로 갱신하는 것을 특징으로 한다.
상기 제1 프로세서가 상기 부가 프로세서인 경우, 상기 단계 (a)는 상기 부가 프로세서가 상기 억세스 권한의 이전 또는 할당을 요청하기 위하여 상기 호스트 인터페이스를 통해 상기 메인 프로세서로 미리 지정된 신호를 전송하는 것을 특징으로 한다.
상기 단계 (c)는, 상기 제1 프로세서가 상기 제2 프로세서로부터 억세스 권한 이전을 요청받은 단계; 상기 제1 프로세서가 상기 공동 저장 영역에서의 데이터 독출 또는 기록이 완료되었는지 여부를 판단하는 단계; 데이터 독출 또는 기록이 완료된 경우, 상기 제1 프로세서가 상기 공동 저장 영역에 대한 억세스를 종료하는 단계; 및 데이터 독출 또는 기록이 완료되지 않은 경우, 상기 제1 프로세서가 미리 지정된 작업 우선 순위에 따라 억세스 권한의 즉시 이전, 처리 작업의 완료 후 이전 중 어느 하나를 결정하여 상응하도록 수행하는 단계를 포함할 수 있다.
상기 복수의 프로세서는 상기 n개의 분할 영역 중 하나 이상씩을 독점 영역으로 미리 할당받는 것을 특징으로 한다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다. 본 발명을 설명함에 있어 동일 또는 유사한 수단을 단순히 구분하기 위해 이용되는 서수(예를 들어, 제1, 제2)는 본 발명의 권리범위를 제한하기 위한 것이 아니다.
도 3은 본 발명의 바람직한 일 실시예에 따른 메인 프로세서, 부가 프로세서 및 메모리부간의 결합 구조를 나타낸 도면이고, 도 4는 본 발명의 바람직한 일 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면이다.
도 3을 참조하면, 메인 프로세서(210)와 부가 프로세서(220)는 호스트 인터페이스(Host Interface)를 통해 정보(예를 들어, 처리 명령, 상태 정보, 제어 명령, 응답 신호(Ack), 처리 완료 응답, 타 프로세서의 동작상태/설정 상태 확인 정보 등)를 송수신한다.
메인 프로세서(210)와 메모리부(310)는 MP-ME 버스를 통해 데이터를 송수신하며, 부가 프로세서(220)와 메모리부(310)는 AP-ME 버스를 통해 데이터를 송수신하도록 결합되어 있다. 버스(Bus)는 컴퓨터 등에서 제어부와 주기억장치, 입출력 장치 간에 정보를 전송하는 데 사용되는 공용 목적의 전기적 통로이다.
메인 프로세서(210)는 휴대형 단말기의 전반적인 동작을 제어하는 프로세서일 수 있다. 또한 부가 프로세서(220)는 MPEG4, 3D 그래픽, 카메라 기능, MP3 파일 재생 등을 처리하기 위한 전용의 프로세서일 수 있다. 부가 프로세서(220) 후단에는 표시부(250) 등과 같은 주변 장치가 결합될 수 있다. 표시부(250) 등을 통해 어떤 데이터가 출력되도록 할 것인지 여부는 메인 프로세서(210) 또는 부가 프로세서(220)에 의해 제어될 수 있다.
메모리부(310)는 결합된 복수의 제어부에 의해 사용되는 구조로서, 휴대형 단말기에 구비된 또는 메모리부(310)를 공유하는 제어부의 수량에 상응하는 억세스 포트(Access Port)를 구비하여야 한다.
예를 들어, 도 3 및 도 4에 도시된 바와 같이 메모리부(310)가 메인 프로세서(210) 및 부가 프로세서(220)와 공통적으로 결합된 구조라면, 2개의 프로세서(210, 220)가 하나의 메모리부(310)를 사용하는 구조이므로 메모리부(310)는 2개의 억세스 포트(Access Port)를 구비하여야 한다.
즉, 2개의 억세스 포트는 제1 포트(410), 제2 포트(420)로 구분되어 제1 포트는 메인 프로세서(210)와 연결되도록 하고, 제2 포트는 부가 프로세서(220)와 연결되도록 설정된다. 메인 프로세서(210) 및 부가 프로세서(220)는 각각 독립적인 클럭(Clock)을 사용할 수 있다. 도 4에 도시된 Addr은 어드레스 신호(Address signal)을 의미하고, Data는 데이터 버스를 의미하며, Ctrl은 제어 신호(control signal)을 의미한다. 제어 신호에는 클럭(Clock), 라이트 인에이블(Write Enable), 칩 셀렉트(Chip Select) 등이 포함될 수 있다.
또한 메모리부(310)의 저장 영역은 결합된 제어부의 수량에 상응하는 분할 영역들로 분할될 수 있다. 이는 각 제어부들이 각각의 분할 영역에 동시에 접속하여 데이터 기록(Write)을 수행할 수 있도록 하기 위함이다. 예를 들어, 메모리부(310)에 결합된 프로세서가 2개인 경우 최소한 2개의 영역(즉, 제1 저장 영역(440), 제2 저장 영역(460))으로 분할되어 하나씩 각 프로세서에 전용되도록 할당될 수 있다. 따라서, 각 프로세서는 할당된 포트를 통해 전용되도록 할당된 저장 영역에 억세스하여 데이터 기록/독출이 가능하다.
또한, 메모리부(310)는 복수의 프로세서(210, 220)가 동시에 억세스할 수는 없지만 각 프로세서가 다른 시점에 억세스할 수 있는 공동 저장 영역(450)을 더 포 함하도록 분할될 수 있다. 즉, 공동 저장 영역(450)은 특정 프로세서의 전용 영역으로 할당되지 않고 동시에 억세스되지만 않는다면 개별적인 억세스가 가능한 저장 영역이다. 이는 어느 한쪽의 처리가 완료된 후 다음 처리 과정이 진행되도록 설정함으로써 데이터의 시간적인 정합성을 연속적으로 유지하기 위함이다. 물론, 메모리부(310)에 결합된 프로세서가 2개일지라도 메모리부(310)의 저장 영역은 3 이상으로 분할될 수도 있다.
메모리부(310)의 각 분할 영역(즉, 제1 저장 영역(440), 공동 저장 영역(450) 및 제2 저장 영역(460) 등)의 크기는 디폴트(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개로 구성된다.
메모리부(310)의 저장 영역을 복수의 분할 영역으로 나눌 때 내부 블록 단위로 나누는 것이 가장 이상적이므로, 예를 들어 2개의 뱅크를 제1 저장 영역(440)으로 할당하고, 공동 저장 영역(450) 및 제2 저장 영역(460)에 각각 1개씩의 뱅크를 할당할 수 있다.
상술한 바와 같이, 공동 저장 영역(450)에는 어느 시점이건 최대한 하나의 프로세서만이 억세스 가능하도록 제한되므로 메인 프로세서(210) 및 부가 프로세서(220)는 공동 저장 영역(450)의 억세스 여부에 관한 정보를 타 프로세서로 제공하여야 한다.
메모리부(310)는 하나의 메모리 제어부(430)를 구비할 수 있고, 메모리 제어부(430)는 어드레스 디코딩, 프로세서로부터 수신되는 제어 신호에 상응해서 공유 메모리가 동작할 수 있도록 제어 기능 등을 수행한다.
이하, 특정 프로세서가 공동 저장 영역(450)으로의 억세스 시도/요청 또는 억세스 상태를 타 프로세서로 전달하는 방법을 예를 들어 설명한다.
먼저, 메인 프로세서(210)는 메모리부(310)의 공동 저장 영역(450)에 접속하고자 할 때, 호스트 인터페이스를 통해 부가 프로세서(220)로 이를 알려주어야 한다. 이를 위해 부가 프로세서 내에는 이에 상응하는 정보를 기록하기 위한 레지스 터(register, P-reg)가 미리 구비되어야 한다.
즉, 메인 프로세서(210)는 공동 저장 영역(450)에 접속하고자 할 때, 호스트 인터페이스틀 통해 부가 프로세서(220) 내의 해당 레지스터의 값을 미리 지정된 제1 값(예를 들어, "1")으로 갱신한다. 이어서, 메인 프로세서(210)는 부가 프로세서(220)가 공동 저장 영역(450)에 접속하지 않은 상태라면 공동 저장 영역(450)에 억세스를 시도한다. 이 경우, 부가 프로세서(220)는 메인 프로세서(210)가 공동 저장 영역(450)에 접속할 것임을 미리 통지하였으므로 메인 프로세서(210)가 공동 저장 영역(450)의 억세스를 종료할 때까지 공동 저장 영역(450)으로의 억세스를 시도하지 않는다. 메인 프로세서(210)는 공동 저장 영역(450)의 억세스를 종료한 후 해당 레지스터의 값의 미리 지정된 제2 값(예를 들어, "0")으로 갱신한다.
다만, 메인 프로세서(210)가 해당 레지스터의 값을 제1 값으로 갱신한 시점에서 이미 부가 프로세서(220)가 공동 저장 영역(450)에 억세스한 상태인 경우 문제된다. 이 경우, 부가 프로세서(220)는 처리하는 동작이 미리 지정된 우선 순위 정보에 의해 해당 동작을 완료한 후 공동 저장 영역(450)으로의 억세스 권한을 이전할 것인지, 해당 동작을 무조건 중단한 후 억세스 권한을 이전할 것인지 등을 결정한다. 부가 프로세서(220)의 억세스 권한 이전 과정은 미리 결정될 수 있고, 이는 당업자에게 자명한 사항이므로 상세한 설명은 생략한다.
다음으로, 부가 프로세서(220)가 메모리부(310)의 공동 저장 영역(450)에 접속하고자 할 때, 호스트 인터페이스를 통해 메인 프로세서(210)로 이를 알려주어야 한다. 이를 위해 호스트 인터페이스를 위한 핀들 중에 인터럽트 신호 전송 핀이 포 함될 수 있다.
즉, 부가 프로세서(220)는 공동 저장 영역(450)에 접속하고자 할 때, 호스트 인터페이스틀 통해 메인 프로세서(210)로 인터럽트 신호(interrupt signal)를 전송한다. 이어서, 부가 프로세서(220)는 메인 프로세서(210)가 공동 저장 영역(450)에 접속하지 않은 상태라면 공동 저장 영역(450)에 억세스를 시도한다. 이 경우, 메인 프로세서(210)는 부가 프로세서(220)가 공동 저장 영역(450)에 접속할 것임을 미리 통지하였으므로 부가 프로세서(220)가 공동 저장 영역(450)의 억세스를 종료할 때까지 공동 저장 영역(450)으로의 억세스를 시도하지 않는다. 부가 프로세서(220)는 공동 저장 영역(450)의 억세스를 종료한 후 호스트 인터페이스를 통해 억세스 종료 신호를 전송한다.
다만, 부가 프로세서(220)가 해당 레지스터의 값을 제1 값으로 갱신한 시점에서 이미 메인 프로세서(210)가 공동 저장 영역(450)에 억세스한 상태인 경우 문제된다. 이 경우, 메인 프로세서(210)는 처리하는 동작이 미리 지정된 우선 순위 정보에 의해 해당 동작을 완료한 후 공동 저장 영역(450)으로의 억세스 권한을 이전할 것인지, 해당 동작을 무조건 중단한 후 억세스 권한을 이전할 것인지 등을 결정한다. 메인 프로세서(210)의 억세스 권한 이전 과정은 미리 결정될 수 있고, 이는 당업자에게 자명한 사항이므로 상세한 설명은 생략한다.
앞에서는 어느 하나의 프로세서가 공동 저장 영역(450)으로의 억세스를 요청한 상태에서 타 프로세서가 아직 공동 저장 영역(450)에 억세스하지 않았다면 억세스를 요청한 프로세서가 우선권을 가지는 경우를 중심으로 설명하였다. 그러나, 어 느 하나의 프로세서가 억세스를 요청하였으나 억세스를 시도하지 않은 상태에서 타 프로세서가 우선 순위가 높은 동작의 수행을 위해 억세스를 요청한 프로세서로 억세스 중지 요청을 전송함으로써 우선 순위가 높은 동작이 먼저 수행되도록 할 수도 있음은 자명하다. 이 경우, 먼저 억세스를 요청한 프로세서일지라도 우선 순위가 높은 동작의 수행이 완료될 때까지 공동 저장 영역(450)으로의 억세스가 중지된다. 동작의 우선 순위는 미리 결정되어, 각 프로세서에서 인식하도록 하거나 메인 프로세서(210)가 제어하도록 할 수도 있다. 이외에도 다양한 방법들이 더 이용될 수 있을 것이다.
메인 프로세서(210)와 부가 프로세서(220)간의 호스트 인터페이스를 위한 핀 구조를 간략히 설명하면 다음과 같다.
본 발명에 따른 메모리 공유 구조에 의할 때, 메인 프로세서(210)와 부가 프로세서(220)는 상호간에 직접 데이터를 주고받을 필요가 없다. 공동 저장 영역(450)으로의 억세스 권한만을 이전하면 충분하기 때문이다. 즉, 메인 프로세서(210)와 부가 프로세서(220)간에 주고받을 필요가 있는 데이터인 경우, 해당 데이터를 전달할 필요가 있는 프로세서가 공동 저장 영역(450)에 억세스하여 해당 데이터를 기록한 후 억세스를 종료한다. 이어서, 저장된 데이터를 이용할 필요가 있는 프로세서가 공동 저장 영역(450)에 억세스하여 해당 데이터를 독출하여 처리한다.
따라서, 메인 프로세서(210)와 부가 프로세서(220)간에 접속을 위한 호스트 인터페이스에서 이용되는 핀의 수를 최소화할 수 있으며, 호스트 인터페이스의 핀 수를 최소화하기 위해 시리얼 인터페이스(serial interface)가 이용될 수 있다.
호스트 인터페이스를 위해 필요한 핀들을 정의하면 아래 표와 같다.
신호명 내용
S_data_out MP(Main Processor) data out to AP(Application Processor)
S_data_in AP(Application Processor) data out to MP(Main Processor)
S_CLK Serial data synchronous clock
S-Enable Define enable period
Interrupt AP(Application Processor) output to MP(Main Processor) to get something
메인 프로세서(210)는 부가 프로세서(220)로 제어 명령(예를 들어, 임의의 제어 신호, 처리 지시 등)을 전송하기 위하여 신호 S_data_out을 이용할 수 있고, 부가 프로세서(220)는 메인 프로세서(210)로 응답 신호(예를 들어, Ack, 처리 완료 응답 등)이나 메인 프로세서(210)/부가 프로세서(220)의 동작 상태/설정 상태를 확인하기 위해 신호 S_data_in이 이용될 수 있다. 신호 S_CLK는 시리얼 통신을 위해 시리얼 데이터와의 동기화를 위한 클럭으로 이용될 수 있고, S_enable은 통신을 위해 유효 데이터들의 송수신의 구간을 나타내기 위해 이용될 수 있다. 신호 Interrupt는 부가 프로세서(220)가 공동 저장 영역(450)에 접속하고자 하는 등의 시점에서 메인 프로세서(210)에 통지하기 위해 이용될 수 있다.
도 5는 본 발명의 바람직한 일 실시예에 따른 공동 저장 영역에 대한 억세스 권한 이전 과정을 나타낸 순서도이고, 도 6은 본 발명의 바람직한 일 실시예에 따른 SDRAM의 기본 구조를 예시한 도면이다.
즉, 도 5는 메인 프로세서(210) 및 부가 프로세서(220)가 동시에 억세스하지만 않는다면 개별적으로 억세스 가능한 공동 저장 영역(450)에 어느 하나의 프로세 서가 억세스하여 필요한 동작을 수행한 후 타 프로세서로 억세스 권한을 이전하는 과정을 나타낸다.
이하, 먼저 공동 저장 영역(450)에 억세스한 제1 프로세서(즉, 메인 프로세서(210) 또는 부가 프로세서(220) 중 어느 하나)가 제2 프로세서(즉, 즉, 메인 프로세서(210) 또는 부가 프로세서(220) 중 다른 하나)로 억세스 권한을 이전하는 과정을 설명한다.
도 5를 참조하면, 단계 510에서 제1 프로세서는 메모리부(310)의 분할 저장 영역 중 공동 저장 영역(450)으로의 억세스가 완료되었는지 여부를 판단한다. 제1 프로세서는 공동 저장 영역(450)을 억세스하기 전까지 해당 영역에 저장된 데이터의 삭제를 방지하기 위하여 리프레쉬(refresh)를 실시한다.
제1 프로세서는 공동 저장 영역(450)으로 억세스하기 전에 제2 프로세서가 이미 공동 저장 영역(450)에 억세스한 상태인지 여부를 판단하여야 한다. 따라서, 제1 프로세서는 제2 프로세서가 공동 저장 영역(450)에 억세스하지 않았거나 공동 저장 영역(450)에 대한 억세스를 종료한 후 공동 저장 영역(450)에 억세스한다.
또한, 제1 프로세서는 공동 저장 영역(450)에 억세스하기 전에 이를 제2 프로세서로 통지하여야 한다. 만일 제1 프로세서가 메인 프로세서(210)라면 호스트 인터페이스를 통해 부가 프로세서(220)에 존재하는 미리 지정된 레지스터의 값을 제1 값(예를 들어, "1")으로 갱신할 것이다. 또한 만일 제1 프로세서가 부가 프로세서(220)라면 호스트 인터페이스를 통해 interrupt 신호를 메인 프로세서(210)로 전송할 것이다. 이를 통해 제2 프로세서는 제1 프로세서가 공동 저장 영역(450)에 억세스할 것임을 인식할 수 있다. 이 경우, 만일 제2 프로세서가 이미 공동 저장 영역(450)에 억세스한 상태라면 미리 지정된 우선 순위에 따라 현재의 동작을 즉시 중지하고 억세스 권한을 이전할 것인지, 현재의 동작을 완료하고 억세스 권한을 이전할 것인지 여부를 결정한다. 예를 들어, 메인 프로세서(210)가 표시부(250)를 통해 즉시 표시되어야하는 데이터를 공동 저장 영역(450)에 기록하는 도중 부가 프로세서(220)로부터 억세스 권한 이전을 요청받은(즉, interrupt 신호를 수신한) 경우 메인 프로세서(210)는 해당 동작을 완료한 후 공동 저장 영역(450)에 대한 억세스 권한을 부가 프로세서(220)로 전달할 것이다. 그러나, 메인 프로세서(210)가 표시부(250)를 통해 나중에 표시될 데이터를 공동 저장 영역(450)에 미리 기록하는 도중 부가 프로세서(220)로부터 억세스 권한 이전을 요청받은 경우 메인 프로세서(210)는 해당 동작을 즉시 중지한 후 공동 저장 영역(450)에 대한 억세스 권한을 부가 프로세서(220)로 전달할 수도 있을 것이다. 이와 같이 미리 지정된 우선 순위 중 전화 통화 기능 수행이 가장 앞선 우선 순위로 지정될 수 있다.
단계 515에서, 제1 프로세서는 프리챠지(precharge) 및 데이터 기록/독출을 수행한다.
일반적으로 SDRAM은 4개의 독립된 뱅크를 포함한다. 도 6에 도시된 바와 같이, 각 뱅크는 행(Row)과 열(Column)으로 구분된 격자 내에 데이터를 저장하는 단위인 셀(Cell)로 채워져 있다. 각 셀은 데이터를 충전하기 위한 커패시터(Capacitor, 610)를 구비한다.
데이터 억세스를 위해 대응되는 뱅크상의 상응하는 행은 기록(Write)과 독출 (Read)을 위한 '활성화(Activate)' 명령에 의해 개방된다. 2 내지 4 사이클을 필요로 하는 활성화 후에, 데이터 전송은 열 주소와 함께 독출 또는 기록 명령을 전송함으로써 시작된다. 전송 후에, 뱅크는 개방된 행을 비활성화시키고 다음 '활성화' 명령을 위해 뱅크를 준비하기 위해 프리챠지(precharge, 사전 충전)된다. 프리챠지 명령은 개방 행을 폐쇄한다. 본 명세서에서는 공유 메모리가 SDRAM인 경우를 중심으로 설명하나, 본 발명은 임의의 동적 램(예를 들어, 2중 데이터 레이트 램(DDR-RAM), 개선된 동기식 DRAM(ESDRAM), 동기식 연결 DRAM(SLDRAM), 램버스 DRAM(RDRAM) 등)에 공통적으로 적용될 수 있음은 자명하다.
단계 520에서 제1 프로세서는 제2 프로세서로부터 억세스 권한 이전 요청이 입력되는지 여부를 판단한다.
상술한 바와 같이, 만일 제2 프로세서가 메인 프로세서(210)라면 호스트 인터페이스를 통해 부가 프로세서(220)에 존재하는 미리 지정된 레지스터의 값을 제1 값(예를 들어, "1")으로 갱신할 것이다. 또한 만일 제2 프로세서가 부가 프로세서(220)라면 호스트 인터페이스를 통해 interrupt 신호를 메인 프로세서(210)로 전송할 것이다. 이후의 과정은 상술한 바와 같다.
제2 프로세서로부터 억세스 권한 이전 요청이 입력되지 않으면, 제1 프로세서는 억세스 상태에 있는 공동 저장 영역(450)에 대해 주기적으로 리프레쉬(refresh)를 수행한다(단계 525).
상술한 바와 같이, SDRAM은 단위 셀들이 격자 형태로 구성되고, 각 셀은 데이터를 충전하기 위한 커패시터(Capacitor, 610)를 구비한다. 예를 들어, 커패시터 (610)가 충전되어 있으면 "1"로 인식되도록 하고, 충전되어 있지 않으면 "0"으로 인식되도록 할 수 있다. 즉, SDRAM은 행이 지정된 후 해당 행에 속한 비트들의 값을 억세스하게 된다. 도 6에 도시된 바와 같이, 임의의 행(Row line)이 지정되면 CMOS 게이트(gate)가 오픈되어 커패시터에 충전된 전하량에 따라 각 열(Column line)의 상태가 변동되며 그 값이 검출(detect)되어 데이터가 비트별로 순차적으로 하이(high)인지 로우(Low)인지 알 수 있다.
그러나, 커패시터의 특성상 충전이 되지 않은 상태로 계속해서 독출 동작(read operation)을 수행하면 커패시터에 충전된 전하들이 모두 방전되어 해당 데이터가 삭제된다. 따라서, 이를 방지하기 위해 주기적으로 리프레쉬(refresh)를 수행한다. 메모리 표준에는 메모리 모듈이 64 밀리초(msec)마다 리프레쉬되도록 규정되어 있다.
그러나, 제2 프로세서로부터 억세스 권한 이전 요청이 입력되면, 단계 530으로 진행하여 제1 프로세서는 제2 프로세서로 공동 저장 영역(450)에 대한 억세스 권한을 이전하기 전에 공동 저장 영역(450)에 대해 프리챠지를 다시 수행한다. 이는 단계 525에서 주기적 리프레쉬를 통해 데이터의 삭제를 방지하였으나, 리프레쉬 동작이 주기적으로 수행되므로 억세스 권한 이전 과정에서 데이터가 삭제될 우려가 있기 때문이다.
단계 535에서 제1 프로세서는 제2 프로세서로 억세스 권한을 이전한다. 이로써, 제1 프로세서는 공동 저장 영역(450)에 대한 억세스를 종료하고, 제2 프로세서가 이어서 공동 저장 영역(450)에 억세스할 수 있게 된다.
제1 프로세서로부터 억세스 권한을 이전받은 제2 프로세서는 공동 저장 영역(450)에 억세스하기 전까지 주기적으로 공동 저장 영역(450)에 대한 리프레쉬(refresh)를 수행한다.
상술한 바와 같이, 본 발명은 복수의 프로세서가 접속할 수 있는 공동 저장 영역(450)에 저장된 데이터의 유지 및 관리를 현재 억세스된 또는 억세스 권한을 부여받은 프로세서가 수행하도록 하고, 각 프로세서간의 데이터 전송을 공동 저장 영역을 이용하여 수행하도록 함으로써 신속한 데이터 전달이 가능하도록 한 발명이다.
이제까지, 공동 저장 영역(450)에 기록된 데이터의 유지를 위한 과정을 중심으로 설명하였으나, 당업자는 각 프로세서가 독점적으로 이용할 수 있도록 할당된 제1 저장 영역(440) 및 제2 저장 영역(460)에 기록된 데이터의 유지가 해당 프로세서들에 의해 개별적으로 수행되어야 함을 쉽게 이해할 수 있을 것이다. 이는 제1 저장 영역(440) 및 제2 저장 영역(460)은 각 프로세서에 독점적으로 할당된 영역으로 타 프로세서로 억세스 권한을 이전할 필요가 없기 때문이다.
또한 이제까지, 본 발명이 하나의 메인 프로세서와 하나의 부가 프로세서간에 하나의 메모리를 공유하는 방법을 중심으로 설명하였으나, 본 발명은 셋 이상의 프로세서가 하나의 메모리를 공유하는 경우에도 공통적으로 적용될 수 있음은 당업자에게 자명하므로 별도의 설명은 생략한다.
상술한 바와 같이, 본 발명에 따른 공유 메모리 제어 방법 및 공유 메모리 동작 제어를 수행하는 사용자 단말기는 공유 메모리의 저장 영역을 복수의 분할 영역으로 분할하고 각 분할 영역에 복수의 프로세서들이 억세스 가능하게 함으로써 각 제어부간의 데이터 전송 시간을 최소화할 수 있는 효과가 있다.
또한, 본 발명은 복수의 영역으로 분할된 공유 메모리의 저장 영역을 복수의 프로세서들이 억세스할 수 있도록 함으로써 각 프로세서는 자체 프로세스만을 담당할 수 있어 각 프로세서의 동작 속도 및 효율을 최적화할 수 있는 효과도 있다.
또한, 본 발명은 특정 메모리 영역에 저장된 데이터를 각 프로세서간에 주고받는 불필요한 시간 손실(time loss)를 제거함으로써 고효율의 데이터 처리가 가능한 효과도 있다.
또한, 본 발명은 메인 프로세서와 부가 프로세서간의 연결을 위한 핀(pin)들의 수량을 최소화할 수 있는 효과도 있다.
또한, 본 발명은 하나의 메모리를 복수의 프로세서가 공유할 때 공유 영역에 저장된 데이터값의 유지가 용이한 효과도 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (17)

  1. 휴대형 단말기에 있어서,
    둘 이상의 포트를 구비하고, 저장 영역이 n(자연수)개의 분할 영역으로 분할된 메모리부; 및
    각각 할당된 포트를 통해 임의의 분할 영역에 억세스하여 데이터 기록(Write) 또는 독출(Read)을 수행하는 복수의 프로세서를 포함하되,
    상기 n개의 분할 영역 중 하나 이상은 상기 복수의 프로세서 중 억세스 권한을 가진 프로세서가 접속할 수 있는 공동 저장 영역으로 할당되고, 상기 억세스 권한은 상기 복수의 프로세서간에 이전되며, 상기 억세스 권한을 가진 프로세서가 상기 공동 저장 영역에 기록된 데이터 유지 동작을 수행하는 것을 특징으로 하는 공유 메모리 동작 제어를 수행하는 휴대형 단말기.
  2. 제1항에 있어서,
    상기 복수의 프로세서는,
    메인 프로세서; 및
    상기 메인 프로세서의 처리 지시에 상응하여 임의의 분할 영역에 기록된 데이터를 처리하는 하나 이상의 부가 프로세서를 포함하되,
    상기 메인 프로세서와 상기 부가 프로세서는 호스트 인터페이스를 통해 결합 되는 것을 특징으로 하는 공유 메모리 동작 제어를 수행하는 휴대형 단말기.
  3. 제2항에 있어서,
    상기 호스트 인터페이스는 시리얼 인터페이스(serial interface)로 형성되는 것을 특징으로 하는 공유 메모리 동작 제어를 수행하는 휴대형 단말기.
  4. 제3항에 있어서,
    상기 시리얼 인터페이스를 위한 핀들에는 상기 메인 프로세서 및 상기 부가 프로세서 상호간에 제어 명령을 송수신하기 위한 제1 핀, 상기 메인 프로세서 및 상기 부가 프로세서 상호간에 응답 신호 또는 설정 상태 확인을 위한 제2 핀, 시리얼 데이터와의 동기화 클럭을 위한 제3 핀, 유효 데이터 송수신 구간을 나타내기 위한 제4 핀, 상기 부가 프로세서가 상기 메인 프로세서로 상기 억세스 권한의 이전 또는 할당을 요구하기 위한 제5 핀이 포함되는 것을 특징으로 하는 공유 메모리 동작 제어를 수행하는 휴대형 단말기.
  5. 제2항에 있어서,
    상기 메인 프로세서는 상기 억세스 권한의 이전 또는 할당을 요청하기 위하 여 상기 호스트 인터페이스를 통해 상기 부가 프로세서 내의 미리 지정된 레지스터의 값을 미리 지정된 값으로 갱신하는 것을 특징으로 하는 공유 메모리 동작 제어를 수행하는 휴대형 단말기.
  6. 제1항에 있어서,
    타 프로세서로부터 상기 억세스 권한의 이전 요구를 입력받은 경우, 상기 공동 저장 영역에 이미 억세스한 임의의 프로세서는 미리 지정된 작업 우선 순위에 따라 억세스 권한의 즉시 이전, 처리 작업의 완료 후 이전 중 어느 하나를 결정하는 것을 특징으로 하는 공유 메모리 동작 제어를 수행하는 휴대형 단말기.
  7. 제1항에 있어서,
    상기 데이터 유지 동작은 프리챠지(precharge), 리프레쉬(refresh)를 포함하는 것을 특징으로 하는 공유 메모리 동작 제어를 수행하는 휴대형 단말기.
  8. 제1항에 있어서,
    상기 복수의 프로세서는 상기 n개의 분할 영역 중 하나 이상씩을 독점 영역으로 미리 할당받는 것을 특징으로 하는 공유 메모리 동작 제어를 수행하는 휴대형 단말기.
  9. 휴대형 단말기에 구비된 복수의 프로세서간의 메모리 공유 방법에 있어서,
    (a) 제1 프로세서가 공동 저장 영역에 대한 억세스 권한을 획득하는 단계;
    (b) 상기 제1 프로세서가 상기 공동 저장 영역에 억세스하여 데이터 독출 또는 기록을 수행하는 단계;
    (c) 제2 프로세서로부터 상기 공동 저장 영역에 대한 억세스 권한 이전을 요청받으면, 상기 공동 저장 영역에 대한 억세스를 종료하는 단계; 및
    (d) 상기 제2 프로세서가 상기 공동 저장 영역에 억세스하여 데이터 독출 또는 기록을 수행하는 단계를 포함하되,
    상기 복수의 프로세서에 개별적으로 결합되도록 복수의 포트를 구비한 메모리부는 저장 영역이 n개의 분할 영역으로 구성되고, 상기 n개의 분할 영역 중 하나 이상은 상기 억세스 권한을 가진 임의의 프로세서가 접속할 수 있는 공동 저장 영역으로 할당되고, 상기 억세스 권한을 가진 프로세서는 상기 공동 저장 영역에 기록된 데이터 유지 동작을 수행하는 것을 특징으로 하는 복수의 프로세서간의 메모리 공유 방법.
  10. 제9항에 있어서,
    상기 데이터 유지 동작은 프리챠지(precharge), 리프레쉬(refresh)를 포함하는 것을 특징으로 하는 복수의 프로세서간의 메모리 공유 방법.
  11. 제9항에 있어서,
    상기 복수의 프로세서는,
    메인 프로세서; 및
    상기 메인 프로세서의 처리 지시에 상응하여 임의의 분할 영역에 기록된 데이터를 처리하는 하나 이상의 부가 프로세서를 포함하되,
    상기 메인 프로세서와 상기 부가 프로세서는 호스트 인터페이스를 통해 결합되는 것을 특징으로 하는 복수의 프로세서간의 메모리 공유 방법.
  12. 제11항에 있어서,
    상기 호스트 인터페이스는 시리얼 인터페이스(serial interface)로 형성되는 것을 특징으로 하는 복수의 프로세서간의 메모리 공유 방법.
  13. 제12항에 있어서,
    상기 시리얼 인터페이스를 위한 핀들에는 상기 메인 프로세서 및 상기 부가 프로세서 상호간에 제어 명령을 송수신하기 위한 제1 핀, 상기 메인 프로세서 및 상기 부가 프로세서 상호간에 응답 신호 또는 설정 상태 확인을 위한 제2 핀, 시리얼 데이터와의 동기화 클럭을 위한 제3 핀, 유효 데이터 송수신 구간을 나타내기 위한 제4 핀, 상기 부가 프로세서가 상기 메인 프로세서로 상기 억세스 권한의 이전 또는 할당을 요구하기 위한 제5 핀이 포함되는 것을 특징으로 하는 복수의 프로세서간의 메모리 공유 방법.
  14. 제11항에 있어서,
    상기 제1 프로세서가 상기 메인 프로세서인 경우, 상기 단계 (a)는 상기 메인 프로세서가 상기 억세스 권한의 이전 또는 할당을 요청하기 위하여 상기 호스트 인터페이스를 통해 상기 부가 프로세서 내의 미리 지정된 레지스터의 값을 미리 지정된 값으로 갱신하는 것을 특징으로 하는 복수의 프로세서간의 메모리 공유 방법.
  15. 제11항에 있어서,
    상기 제1 프로세서가 상기 부가 프로세서인 경우, 상기 단계 (a)는 상기 부가 프로세서가 상기 억세스 권한의 이전 또는 할당을 요청하기 위하여 상기 호스트 인터페이스를 통해 상기 메인 프로세서로 미리 지정된 신호를 전송하는 것을 특징으로 하는 복수의 프로세서간의 메모리 공유 방법.
  16. 제9항에 있어서,
    상기 단계 (c)는,
    상기 제1 프로세서가 상기 제2 프로세서로부터 억세스 권한 이전을 요청받은 단계;
    상기 제1 프로세서가 상기 공동 저장 영역에서의 데이터 독출 또는 기록이 완료되었는지 여부를 판단하는 단계;
    데이터 독출 또는 기록이 완료된 경우, 상기 제1 프로세서가 상기 공동 저장 영역에 대한 억세스를 종료하는 단계; 및
    데이터 독출 또는 기록이 완료되지 않은 경우, 상기 제1 프로세서가 미리 지정된 작업 우선 순위에 따라 억세스 권한의 즉시 이전, 처리 작업의 완료 후 이전 중 어느 하나를 결정하여 상응하도록 수행하는 단계를 포함하는 것을 특징으로 하는 복수의 프로세서간의 메모리 공유 방법.
  17. 제9항에 있어서,
    상기 복수의 프로세서는 상기 n개의 분할 영역 중 하나 이상씩을 독점 영역으로 미리 할당받는 것을 특징으로 하는 복수의 프로세서간의 메모리 공유 방법.
KR1020050093751A 2005-10-06 2005-10-06 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기 KR100634566B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020050093751A KR100634566B1 (ko) 2005-10-06 2005-10-06 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기
PCT/KR2006/003530 WO2007040307A1 (en) 2005-10-06 2006-09-06 Operation control of shared memory
US12/089,345 US8135919B2 (en) 2005-10-06 2006-09-06 Operation control of a shared memory partitioned into multiple storage areas

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050093751A KR100634566B1 (ko) 2005-10-06 2005-10-06 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기

Publications (1)

Publication Number Publication Date
KR100634566B1 true KR100634566B1 (ko) 2006-10-16

Family

ID=37626323

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050093751A KR100634566B1 (ko) 2005-10-06 2005-10-06 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기

Country Status (3)

Country Link
US (1) US8135919B2 (ko)
KR (1) KR100634566B1 (ko)
WO (1) WO2007040307A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745369B1 (ko) 2005-12-22 2007-08-02 삼성전자주식회사 포트상태 시그날링 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166238B2 (en) * 2007-10-23 2012-04-24 Samsung Electronics Co., Ltd. Method, device, and system for preventing refresh starvation in shared memory bank
US20110320730A1 (en) * 2010-06-23 2011-12-29 International Business Machines Corporation Non-blocking data move design
US20120144104A1 (en) * 2010-12-02 2012-06-07 Advanced Micro Devices, Inc. Partitioning of Memory Device for Multi-Client Computing System
KR102011137B1 (ko) * 2012-12-07 2019-08-14 삼성전자주식회사 데이터 처리 장치와 회로
US9684689B2 (en) * 2015-02-03 2017-06-20 Ca, Inc. Distributed parallel processing system having jobs processed by nodes based on authentication using unique identification of data
FR3035241B1 (fr) * 2015-04-16 2017-12-22 Inside Secure Procede de partage d'une memoire entre au moins deux entites fonctionnelles
CN105827909B (zh) * 2016-01-25 2017-06-23 维沃移动通信有限公司 一种双摄像头快速启动方法及移动终端
EP3519975B1 (en) * 2016-09-28 2021-09-08 Nanolock Security Inc. Access control for integrated circuit devices

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297260A (en) * 1986-03-12 1994-03-22 Hitachi, Ltd. Processor having a plurality of CPUS with one CPU being normally connected to common bus
US6014705A (en) * 1991-10-01 2000-01-11 Intermec Ip Corp. Modular portable data processing terminal having a higher layer and lower layer partitioned communication protocol stack for use in a radio frequency communications network
US5490112A (en) * 1993-02-05 1996-02-06 Micron Technology, Inc. Multi-port memory device with multiple sets of columns
US6965974B1 (en) * 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
US6385704B1 (en) * 1997-11-14 2002-05-07 Cirrus Logic, Inc. Accessing shared memory using token bit held by default by a single processor
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
JP3925602B2 (ja) * 1999-06-14 2007-06-06 セイコーエプソン株式会社 接着材料の貼着方法及び半導体装置の製造方法
US6965912B2 (en) * 1999-10-18 2005-11-15 4Yoursoul.Com Method and apparatus for distribution of greeting cards with electronic commerce transaction
US6912716B1 (en) * 1999-11-05 2005-06-28 Agere Systems Inc. Maximized data space in shared memory between processors
JP2002024084A (ja) * 2000-07-12 2002-01-25 Mitsubishi Electric Corp 半導体集積回路装置および電子システム
JP2005517242A (ja) * 2002-02-06 2005-06-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ アドレス空間、バスシステム、メモリコントローラ及びデバイスシステム
KR20040061728A (ko) * 2002-12-31 2004-07-07 주식회사 팬택앤큐리텔 휴대용 단말기에 있어서 메모리 공유 장치 및 방법
KR20040106778A (ko) 2003-06-11 2004-12-18 엘지전자 주식회사 복수개의 프로세서를 갖는 이동통신 단말기의 메모리 공유장치 및 그 방법
KR100515059B1 (ko) * 2003-07-22 2005-09-14 삼성전자주식회사 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법
US20050144401A1 (en) * 2003-12-30 2005-06-30 Pantalone Brett A. Multiprocessor mobile terminal with shared memory arbitration
DE102004009497B3 (de) * 2004-02-27 2005-06-30 Infineon Technologies Ag Chipintegriertes Mehrprozessorsystem und Verfahren zur Kommunikation zwischen mehreren Prozessoren eines chipintegrierten Mehrprozessorsystems
KR100740635B1 (ko) * 2005-12-26 2007-07-18 엠텍비젼 주식회사 휴대형 단말기 및 휴대형 단말기에서의 공유 메모리 제어방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745369B1 (ko) 2005-12-22 2007-08-02 삼성전자주식회사 포트상태 시그날링 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치

Also Published As

Publication number Publication date
US20080263286A1 (en) 2008-10-23
WO2007040307A1 (en) 2007-04-12
US8135919B2 (en) 2012-03-13

Similar Documents

Publication Publication Date Title
KR100740635B1 (ko) 휴대형 단말기 및 휴대형 단말기에서의 공유 메모리 제어방법
KR100634566B1 (ko) 공유 메모리 제어 방법 및 공유 메모리 동작 제어를수행하는 사용자 단말기
KR100592105B1 (ko) 공유 메모리의 분할 영역의 다중 억세스 제어 방법 및 공유메모리를 가지는 휴대형 단말기
KR100591371B1 (ko) 공유 메모리의 분할 영역 크기 가변 방법 및 공유 메모리를가지는 휴대형 단말기
US7984246B1 (en) Multicore memory management system
KR100847968B1 (ko) 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법
KR100758301B1 (ko) 메모리 카드 및 그것의 데이터 저장 방법
US8200911B2 (en) Device having shared memory and method for controlling shared memory
KR100748191B1 (ko) 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태정보 제공 방법
US11016914B2 (en) Data processing system including memory systems coupled through internal channel
KR100746364B1 (ko) 메모리 공유 방법 및 장치
KR100736902B1 (ko) 복수의 프로세서에 의한 메모리 공유 방법 및 장치
KR102384344B1 (ko) 모바일 장치 및 모바일 장치의 동작 방법
KR100731969B1 (ko) 복수 경로를 통한 메모리 공유 방법 및 장치
KR20070013620A (ko) 복수 경로를 통한 다중 분할된 메모리 공유 방법 및 장치
KR100592109B1 (ko) 공유 메모리의 분할 영역의 다중 억세스 제어 방법 및 공유메모리를 가지는 휴대형 단말기
US20080005417A1 (en) Method for speedy delivery of data between processors and digital processing apparatus having shared memory
KR100658588B1 (ko) 메모리 공유 시스템 및 그 방법
KR100592108B1 (ko) 복수의 프로세서간의 신속한 데이터 전달 방법 및 공유메모리를 가지는 디지털 처리 장치
KR100700040B1 (ko) 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태정보 제공 방법
KR100663384B1 (ko) 메모리 인터페이스 장치 및 방법
CN116257481A (zh) 控制方法及电子设备

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: 20120928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 14