KR100700040B1 - Device having shared memory and method for providing access status information by shared memory - Google Patents
Device having shared memory and method for providing access status information by shared memory Download PDFInfo
- Publication number
- KR100700040B1 KR100700040B1 KR1020060021902A KR20060021902A KR100700040B1 KR 100700040 B1 KR100700040 B1 KR 100700040B1 KR 1020060021902 A KR1020060021902 A KR 1020060021902A KR 20060021902 A KR20060021902 A KR 20060021902A KR 100700040 B1 KR100700040 B1 KR 100700040B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- processors
- common area
- state information
- area
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02K—DYNAMO-ELECTRIC MACHINES
- H02K7/00—Arrangements for handling mechanical energy structurally associated with dynamo-electric machines, e.g. structural association with mechanical driving motors or auxiliary dynamo-electric machines
- H02K7/10—Structural association with clutches, brakes, gears, pulleys or mechanical starters
- H02K7/106—Structural association with clutches, brakes, gears, pulleys or mechanical starters with dynamo-electric brakes
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02K—DYNAMO-ELECTRIC MACHINES
- H02K5/00—Casings; Enclosures; Supports
- H02K5/24—Casings; Enclosures; Supports specially adapted for suppression or reduction of noise or vibrations
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02K—DYNAMO-ELECTRIC MACHINES
- H02K2205/00—Specific aspects not provided for in the other groups of this subclass relating to casings, enclosures, supports
- H02K2205/09—Machines characterised by drain passages or by venting, breathing or pressure compensating means
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
Description
도 1은 종래의 카메라 기능을 구비한 이동 통신 단말기의 블록 구성도를 예시한 도면.1 is a block diagram illustrating a conventional mobile communication terminal having a camera function.
도 2는 종래의 메인 프로세서, 어플리케이션 프로세서, 각각의 메모리들 및 디스플레이 장치간의 결합 구조를 예시한 도면.2 is a diagram illustrating a coupling structure between a conventional main processor, an application processor, respective memories, and a display device.
도 3은 본 발명의 바람직한 일 실시예에 따른 메인 프로세서, 어플리케이션 프로세서, 메모리부 및 디스플레이 장치간의 결합 구조를 나타낸 도면.3 is a diagram illustrating a coupling structure between a main processor, an application processor, a memory unit, and a display device according to an exemplary embodiment of the present invention.
도 4는 본 발명의 바람직한 일 실시예에 따른 메모리부의 구성을 나타낸 도면.4 is a diagram illustrating a configuration of a memory unit according to an exemplary embodiment of the present invention.
도 5는 본 발명의 바람직한 다른 실시예에 따른 메모리부의 구성을 나타낸 도면.5 is a diagram showing the configuration of a memory unit according to another embodiment of the present invention.
도 6은 본 발명의 바람직한 일 실시예에 따른 공통 영역에 대한 접속 권한 제어 과정을 나타낸 데이터 흐름도.6 is a data flow diagram illustrating a process of controlling access rights to a common area according to an embodiment of the present invention.
본 발명은 디지털 처리 장치에 관한 것으로, 특히 복수의 프로세서에 의해 공유되는 공유 메모리를 포함하는 구비된 디지털 처리 장치에 관한 것이다.The present invention relates to a digital processing device, and more particularly, to an equipped digital processing device including a shared memory shared by a plurality of processors.
디지털 처리 장치 중 휴대형 단말기는 게임, 이동 통신 등의 기능을 수행하기 위하여 작은 크기로 형성되어 사용자의 휴대를 용이하게 한 전자 장치를 의미한다. 휴대형 단말기로는 예를 들어, 이동 통신 단말기, 개인 휴대 단말기(PDA : Personal Digital Assistant), 휴대형 멀티미디어 단말기(PMP : Portable Multimedia Player), MP3 플레이어 등이 있을 수 있다.The portable terminal of the digital processing device is an electronic device that is formed in a small size in order to perform a function such as a game or a mobile communication, so that the user can easily carry it. The portable terminal may be, for example, a mobile communication terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, or the like.
이중, 이동 통신 단말기는 본질적으로 이동중인 사용자가 원격지의 수신자와 전화 통화할 수 있도록 구현된 장치이다. 그러나, 과학 기술의 발전으로 인해, 최근의 이동 통신 단말기는 전화 통화 기능, 단문 메시지 송수신 기능, 주소록 관리 기능 등의 본질적 기능 외에 카메라 기능, 멀티미디어 데이터 재생 기능 등의 부가적 기능을 더 구비하고 있다.Among them, a mobile communication terminal is essentially a device implemented so that a mobile user can make a telephone call with a remote receiver. However, due to the development of science and technology, recent mobile communication terminals have additional functions such as a camera function and a multimedia data reproduction function in addition to the essential functions such as a telephone call function, a short message transmission and reception function, and an address book management function.
도 1은 종래의 카메라 기능을 구비한 이동 통신 단말기의 블록 구성도를 예시한 도면이다.1 is a block diagram illustrating a conventional mobile communication terminal having a camera function.
도 1을 참조하면, 카메라 기능을 구비한 이동 통신 단말기(100)는 고주파 처리부(110), A/D 변환부(115), D/A 변환부(120), 프로세서(125), 전원부(130), 키 입력부(135), 메인 메모리(140), 표시부(145), 카메라(150), 영상 처리부(155) 및 보조 메모리(160)를 포함하여 구성된다.Referring to FIG. 1, the
고주파 처리부(110)는 안테나를 통해 수신되거나 안테나를 통해 송신되는 고주파 신호를 처리한다. The
A/D 변환부(115)는 고주파 처리부(110)로부터 출력되는 아날로그 신호를 디지털 신호로 변환하여 프로세서(125)로 전달한다. The A /
D/A 변환부(120)는 프로세서(125)로부터 출력되는 디지털 신호를 아날로그 신호로 변환하여 고주파 처리부(110)로 전달한다.The D /
프로세서(125)는 이동 통신 단말기(100)의 전반적인 동작을 제어한다. 프로세서(125)는 예를 들어 CPU(Central Processing Unit) 또는 마이크로 컨트롤러(Micro-Controller)를 포함할 수 있다.The
전원부(130)는 이동 통신 단말기(100)의 동작을 위해 필요한 전원을 공급하는 수단이다. 전원부(130)는 외부 전원 소스(source)에 결합되거나 배터리(battery) 등과 결합되기 위한 단자를 포함할 수 있다.The
키 입력부(135)는 이동 통신 단말기(100)의 각종 기능 설정, 다이얼링 등을 수행하기 위한 키 데이터를 생성하여 프로세서(125)로 전달한다. 예를 들어, 키 입력부(135)는 복수의 키 버튼을 포함하는 키 패드로 구현될 수 있다.The
메인 메모리(140)는 이동 통신 단말기(100)의 운용 프로그램, 각종 데이터 등을 저장한다. 메인 메모리(140)는 플래시 메모리(Flash Memory) 또는 EEPROM(Electrically Erasable Programmable Read Only Memory) 등으로 구성될 수 있다.The
표시부(145)는 이동 통신 단말기(100)의 동작 상태, 카메라(150)를 통해 촬영된 외부 영상 등을 표시한다. 예를 들어, 표시부(145)는 액정 디스플레이(LCD) 패널을 포함할 수 있다. The
카메라(150)는 외부 영상(피사체)를 촬영하고 촬영된 외부 영상에 상응하는 영상 신호를 생성하여 출력한다.The
영상 처리부(155)는 카메라(150)로부터 입력되는 영상 신호를 처리한다. 영상 처리부(155)는 색 보간, 감마 보정, 화질 보정, JPEG 부호화 등의 기능을 수행한다. 카메라(150) 및 영상 처리부(155)는 프로세서(125)에 의해 제어될 수 있다.The
보조 메모리(160)는 영상 처리부(155)에 의해 처리된 외부 영상 등을 저장한다.The
상술한 바와 같이, 카메라 기능을 구비한 이동 통신 단말기(100)는 복수의 프로세서(즉, 메인 프로세서와 부가 기능 수행을 위한 하나 이상의 어플리케이션 프로세서)를 구비한다. 예를 들어, 도 1에 도시된 이동 통신 단말기(100)는, 이동 통신 단말기(100)의 전체적인 기능을 제어하기 위한 프로세서(125)와 카메라 기능을 제어하기 위한 영상 처리부(155)가 포함된다. 여기서, 영상 처리부(155)는 프로세서(125)에 의해 제어된다. 프로세서(125)와 영상 처리부(155)는 독립한 프로세서로 구현되며, 각각의 프로세서는 각각 독립된 메모리와 결합되도록 구성된다.As described above, the
각각 독립된 프로세서로 구현될 수 있고, 메인 프로세서에 의해 제어되는 어플리케이션 프로세서들의 형태는 휴대형 단말기에 어떤 부가 기능들이 구비되는지에 따라 상이할 수 있다. 예를 들어, 카메라 기능 수행을 위한 어플리케이션 프로 세서는 JPEG 부호화(encoding), JPEG 복호화(decoding) 등의 기능을 수행할 수 있고, 동영상 재생 기능을 수행하기 위한 어플리케이션 프로세서는 비디오 파일(예를 들어, MPEG4, DIVX, H.264)의 부호화, 복호화 등을 수행할 수 있고, 음악 파일 재생 기능을 수행하기 위한 어플리케이션 프로세서는 음악 파일의 부호화, 복호화 등을 수행할 수 있다. 물론, 상술한 다양한 기능을 통합적으로 수행할 수 있는 어플리케이션 프로세서도 존재할 수 있다. Each may be implemented as an independent processor, and the types of application processors controlled by the main processor may vary depending on what additional functions are provided in the portable terminal. For example, an application processor for performing a camera function may perform functions such as JPEG encoding and JPEG decoding, and an application processor for performing a video playback function may include a video file (for example, MPEG4, DIVX, and H.264) may be encoded and decoded, and an application processor for performing a music file reproduction function may perform encoding and decoding of a music file. Of course, there may also be an application processor that can integrally perform the various functions described above.
이러한 프로세서들 각각에는 프로세서에 의해 처리된 데이터를 저장하기 위한 메모리가 개별적으로 결합된다. 따라서, 종래 기술에 의하면 휴대형 단말기의 기능이 다기능화될수록 구비되는 프로세서의 수량 및 메모리의 수량도 증대되어야 하는 문제점이 있다.Each of these processors is individually coupled with a memory for storing data processed by the processor. Therefore, according to the related art, as the functions of the portable terminal become more multifunctional, there is a problem in that the number of processors and the number of memories are increased.
도 2는 종래의 메인 프로세서, 어플리케이션 프로세서, 각각의 메모리들 및 디스플레이 장치간의 결합 구조를 예시한 도면이다.2 is a diagram illustrating a coupling structure between a conventional main processor, an application processor, respective memories, and a display device.
도 2를 참조하면, 메인 프로세서(210)와 어플리케이션 프로세서(220)는 결합된 버스(BUS)를 통해 정보(예를 들어, 어플리케이션 프로세서(220)를 제어하기 위한 명령, 어플리케이션 프로세서(220)에 의해 처리될 데이터 등)를 송수신한다. 메인 프로세서(210)는 메인 메모리(230)와 버스를 통해 결합되며, 어플리케이션 프로세서(220)와 어플리케이션 메모리(240)는 버스를 통해 결합되어 있다. 또한 어플리케이션 프로세서(220)는 디스플레이 장치(250)와 결합되어 메인 프로세서(210)의 명령에 상응하는 정보 또는 메인 프로세서(210)로부터 전달받은 정보가 디스플레이 장치(250)에 표시되도록 한다. 일반적으로 버스(Bus)는 컴퓨터 등에서 프로세서와 주기억장치, 입출력 장치 간에 정보를 전송하는데 사용되는 공용 목적의 전기적 통로를 의미한다. 버스는 각 장치(device)의 주소나 기억장치의 위치를 나타내는 정보들을 위한 선과 수행될 다양한 데이터 전송 동작을 구별하기 위한 선을 포함한다. 이하, 구분의 편의를 위해 메인 프로세서(210)와 어플리케이션 프로세서(220)를 결합하는 버스를 MP(Main Processor)-AP(Application Processor) 버스라 칭하고, 메인 프로세서(210)와 메인 메모리(230)를 결합하는 버스를 MP-MM(Main Memory) 버스라 칭하며, 어플리케이션 프로세서(220)와 어플리케이션 메모리(240)를 결합하는 버스를 AP-AM(Application Memory) 버스라 칭하기로 한다.Referring to FIG. 2, the
도 2에 도시된 바와 같이, 각각의 프로세서(210, 220)는 각각의 메모리(230, 240)와 독립적으로 결합되므로, 현재 수행되어야 하는 동작이 무엇인가에 따라 메인 프로세서(210)는 메인 메모리(230)에 저장된 데이터를 읽어 MP-AP 버스(Host Interface)를 통해 어플리케이션 프로세서(220)로 전송하거나, 어플리케이션 프로세서(220)에 요청하여 어플리케이션 메모리(240)에 저장된 데이터를 읽어오는 등의 동작을 수행한다. As shown in FIG. 2, each of the
즉, 임의의 데이터 처리를 메인 프로세서(210)와 어플리케이션 프로세서(220)에서 각각 수행하여야 하는 경우, 메인 프로세서(210)가 메인 메모리(230)에 억세스하여 독출한 데이터를 이용하여 필요한 연산처리를 수행한 후 어플리케이션 프로세서(220)로 처리된 데이터를 전송하며, 어플리케이션 프로세서(220)는 수신된 데이터를 재처리하여 어플리케이션 메모리(240)에 저장한다. 이어서, 어플리케이션 프로세서(220)는 어플리케이션 메모리(240)에 저장된 데이터를 다시 메인 프로세서 (210)로 전송하여 메인 메모리(230)에 저장되도록 한다.That is, when any data processing is to be performed in the
이 경우, 메인 프로세서(210)와 어플리케이션 프로세서(220)간에 송수신되는 데이터의 양이 많을수록 각 프로세서(210, 220)는 자체 프로세스보다는 타 프로세서의 요청에 따른 동작(즉, 메모리 억세스, 데이터 독출, 호스트 인터페이스 동작 등)에 보다 많은 시간을 소비하게 되는 문제점이 발생된다.In this case, as the amount of data transmitted and received between the
예를 들어, 데이터 전송량이 많은 3D 그래픽 데이터를 처리하여 디스플레이 장치(250)를 통해 표시되도록 하는 경우, 메인 프로세서(210)는 메인 메모리(230)에 저장된 데이터들을 독출하여 처리한 후 MP-AP 버스를 통해 어플리케이션 프로세서(220)로 전송하고, 어플리케이션 프로세서(220)는 MP-AP 버스를 통해 수신한 데이터들(예를 들어, 폴리곤(Polygon) 데이터, 텍스처(Texture) 데이터 등)을 어플리케이션 메모리(240)에 저장한 후 독출하여 처리한 후 디스플레이 장치(250)를 통해 표시되도록 한다. For example, when processing 3D graphic data having a large amount of data to be displayed through the
이와 같은 3D 그래픽 데이터 처리 등의 경우 메인 프로세서(210)와 어플리케이션 프로세서(220)간에 송수신되는 데이터의 양이 많을 수 밖에 없고, 많은 양의 데이터 송수신 과정에서 불필요한 시간 낭비 및 각 프로세서(210, 220)의 처리 능력 낭비 등이 발생되는 문제점이 있다. In the case of such 3D graphic data processing, the amount of data transmitted and received between the
또한, 휴대형 단말기에서 수행되는 기능이 많아지고, 또한 복수의 프로세서간에 연동하여 처리되어야 할 데이터의 양이 많아짐에 따라 데이터 송수신 과정에서 병목 현상을 야기하는 문제점도 있다. In addition, as the functions performed in the portable terminal increase and the amount of data to be processed in association with a plurality of processors increases, there is a problem that causes bottlenecks in the data transmission and reception process.
결과적으로, 상술한 문제점들은 다기능 휴대형 단말기의 전체 성능을 약화시 키는 원인이 된다.As a result, the above-described problems are a cause of weakening the overall performance of the multifunctional portable terminal.
따라서, 상술한 문제점들을 해결하기 위한 본 발명의 목적은 공유 메모리의 저장 영역을 복수의 분할 영역(예를 들어, 전용 영역과 공통 영역)으로 분할함으로써 메모리의 이용 효율성 증진시킬 수 있는 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태 정보 제공 방법를 제공하는 것이다.Accordingly, an object of the present invention for solving the above problems is to provide a shared memory that can improve the use efficiency of the memory by dividing the storage area of the shared memory into a plurality of partitions (for example, a dedicated area and a common area) A device and a method of providing shared memory access state information are provided.
본 발명의 다른 목적은 분할된 저장 영역 중 공통 영역에 각 프로세서의 접속이 가능하도록 설정함으로써 각 프로세서간의 데이터 전송 시간을 최소화할 수 있는 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태 정보 제공 방법를 제공하는 것이다.Another object of the present invention is to provide a device having a shared memory and a method for providing shared memory access state information that can minimize the data transfer time between processors by setting each processor to be connected to a common area among the divided storage areas. will be.
본 발명의 또 다른 목적은 공유 메모리의 공통 영역을 이용하여 데이터 전달이 가능하므로 각 프로세서는 데이터 전달을 위한 부가적인 프로세스를 생략할 수 있어 각 프로세서의 동작 속도 및 효율을 최적화할 수 있는 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태 정보 제공 방법를 제공하는 것이다.Another object of the present invention is to transfer data using a common area of the shared memory, so that each processor can omit additional processes for data transfer so that the shared memory can be optimized for the operation speed and efficiency of each processor. The present invention provides a device and a method for providing shared memory access state information.
본 발명의 또 다른 목적은 공유 메모리의 분할된 저장 영역 중 공통 영역을 복수의 프로세서들이 교차하여 접속(Access)할 수 있으므로 접속 권한만의 이전에 의해 즉시 데이터가 전달된 효과가 발생하는 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태 정보 제공 방법를 제공하는 것이다.It is still another object of the present invention to provide a shared memory in which a plurality of processors can access and access a common area among the divided storage areas of the shared memory. The present invention provides a device and a method for providing shared memory access state information.
본 발명의 또 다른 목적은 공유 메모리가 공통 영역에 대한 접속 상태 정보( 즉, 점유 상태 정보)를 생성하여 출력함으로써 각 프로세서들의 제어 시퀀스(sequence)를 최대한 간략하게 할 수 있는 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태 정보 제공 방법를 제공하는 것이다.It is still another object of the present invention to provide an apparatus having a shared memory capable of simplifying the control sequence of each processor as much as possible by generating and outputting connection state information (ie, occupancy state information) for a common area. And a method for providing shared memory access state information.
본 발명의 또 다른 목적은 메인 프로세서는 n(자연수)개로 분할된 공통 영역에 순차적으로 임의의 데이터를 기록(write)하고 어플리케이션 프로세서는 메인 프로세서가 기록한 저장 영역에 순차적으로 접속하여 읽기(read) 동작을 수행하도록 함으로써 데이터 전달 속도를 최대화할 수 있는 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태 정보 제공 방법를 제공하는 것이다.It is still another object of the present invention that the main processor sequentially writes arbitrary data in a common area divided into n (natural numbers), and the application processor sequentially accesses a storage area written by the main processor to read a read operation. The present invention provides a device having a shared memory and a method of providing shared memory access state information that can maximize data transfer speed.
본 발명의 이외의 목적들은 하기의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.Other objects of the present invention will be readily understood through the description of the following examples.
상기 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면 복수의 프로세서가 하나의 메모리를 공유하는 디지털 처리 장치 및/또는 복수의 프로세서에 의해 공유되는 메모리 장치가 제공된다.In order to achieve the above objects, according to an aspect of the present invention, there is provided a digital processing device in which a plurality of processors share one memory and / or a memory device shared by the plurality of processors.
본 발명의 바람직한 일 실시예에 따른 디지털 처리 장치는 n(2이상인 임의의 자연수)개의 프로세서들; 독립된 버스를 통해 상기 n개의 프로세서들에 각각 결합되고, 저장 영역이 상기 각 프로세서들에 개별 할당된 n개의 전용 영역 및 m(임의의 자연수)개의 공통 영역으로 분할되며, 상기 공통 영역에 임의의 프로세서가 접속하였는지 여부에 대한 접속 상태 정보를 생성하여 각 프로세서들로 출력하는 메 모리부를 포함할 수 있다. 여기서, 상기 전용 영역은 미리 설정된 프로세서만에 의한 독점 저장 영역이고, 상기 공통 영역은 k(2≤k≤n인 임의의 자연수)개의 프로세서가 중첩되지 않는 시간 동안 개별 접속 가능한 저장 영역일 수 있다.A digital processing apparatus according to one preferred embodiment of the present invention comprises: n (any natural number two or more) processors; Respectively coupled to the n processors via independent buses, and a storage area is divided into n dedicated areas and m (random natural numbers) common areas individually allocated to the respective processors, and any processor in the common area. It may include a memory unit for generating the connection state information on whether or not connected to each processor. Here, the dedicated area may be an exclusive storage area by only a predetermined processor, and the common area may be a storage area that is individually accessible for a time where k (any natural number of 2 ≦ k ≦ n) processors do not overlap.
상기 n개의 프로세서들은, 메인 프로세서; 및 상기 메인 프로세서와 독립된 제어 버스를 통해 결합되고, 상기 제어 버스를 통해 입력되는 제어 신호에 따른 동작을 수행하는 n-1개의 어플리케이션 프로세서들을 포함할 수 있다.The n processors may include a main processor; And n-1 application processors coupled to the main processor through a control bus independent of the main processor and performing an operation according to a control signal input through the control bus.
상기 어플리케이션 프로세서는 상기 제어 신호에 따라 상기 메인 프로세서가 상기 공통 영역에 기록한 데이터를 처리할 수 있다.The application processor may process data recorded by the main processor in the common area according to the control signal.
상기 접속 상태 정보는 읽기 상태 정보 및 쓰기 상태 정보를 포함할 수 있다.The connection state information may include read state information and write state information.
상기 메모리부는, 상기 프로세서들 각각에 대응되는 n개의 접속 포트; 상기 전용 영역 및 상기 공통 영역으로 분할된 상기 저장 영역; 및 상기 공통 영역에 임의의 프로세서가 접속하였는지 여부에 대한 접속 상태 정보를 생성하여 각 프로세서들로 출력되도록 하는 내부 제어부를 포함할 수 있다.The memory unit may include n connection ports corresponding to each of the processors; The storage area divided into the dedicated area and the common area; And an internal controller configured to generate connection state information on whether any processor is connected to the common area and output the generated state information to each processor.
상기 메모리부는 임의의 프로세서로부터 입력되는 주소 정보, 데이터, 제어 신호 중 하나 이상을 참조하여 상기 접속 상태 정보를 생성하여 출력할 수 있다. The memory unit may generate and output the connection state information by referring to one or more of address information, data, and control signals input from an arbitrary processor.
또는, 상기 메모리부는 상기 공통 영역에 접속하기 위하여 임의의 프로세서가 미리 지정된 영역에 기록한 값을 참조하여 상기 접속 상태 정보를 생성하여 출력할 수 있다.Alternatively, the memory unit may generate and output the connection state information with reference to a value recorded in a predetermined area by a processor in order to access the common area.
상기 프로세서들은 상기 접속 상태 정보를 참조하여 어느 하나의 프로세서가 상기 공통 영역에 접속중인 것으로 인식되면, 상기 프로세서가 상기 공통 영역의 접속을 종료할 때까지 접속 대기하는 것을 특징으로 한다.When the processor recognizes that one processor is accessing the common area with reference to the connection state information, the processors wait for the connection until the processor terminates the connection of the common area.
상기 전용 영역 및 상기 공통 영역의 크기 또는 수량에 상응하는 영역 분할 정보는 어느 하나의 프로세서에 의해 설정되어 n-1개의 프로세서들로 전달될 수 있다.The area partitioning information corresponding to the size or quantity of the dedicated area and the common area may be set by one processor and transferred to n-1 processors.
본 발명의 바람직한 다른 실시예에 따른 메모리 장치는 결합된 n(2이상인 임의의 자연수)개의 프로세서들 각각에 대응되어 결합되는 n개의 접속 포트; 전용 영역 및 공통 영역으로 분할된 상기 저장 영역; 및 상기 공통 영역에 임의의 프로세서가 접속하였는지 여부에 대한 접속 상태 정보를 생성하여 각 프로세서들로 출력되도록 하는 내부 제어부를 포함할 수 있다. 여기서, 상기 전용 영역은 프로세서 각각에 개별 할당된 독점 저장 영역이고, 상기 공통 영역은 복수의 프로세서가 중첩되지 않는 시간 동안 개별 접속 가능한 저장 영역일 수 있다.According to another exemplary embodiment of the present invention, a memory device includes: n connection ports coupled correspondingly to each of n (any two or more natural numbers) processors coupled; The storage area divided into a dedicated area and a common area; And an internal controller configured to generate connection state information on whether any processor is connected to the common area and output the generated state information to each processor. Here, the dedicated area may be an exclusive storage area individually allocated to each processor, and the common area may be a storage area that is individually accessible for a time when the plurality of processors do not overlap.
상기 목적들을 달성하기 위하여, 본 발명의 다른 측면에 따르면 메모리 장치에 의해 수행되는 억세스 상태 정보 제공 방법 및/또는 그 방법을 실행하기 위한 프로그램이 기록된 기록매체가 제공된다.In order to achieve the above objects, according to another aspect of the present invention, there is provided a method for providing access state information performed by a memory device and / or a recording medium having recorded thereon a program for executing the method.
본 발명의 바람직한 일 실시예에 따른 복수의 프로세서에 의해 공유되는 메모리에서 수행되는 억세스 상태 정보 제공 방법은, 공통 영역에 어느 하나의 프로세서가 접속하였는지 여부를 판단하는 단계; 및 상기 공통 영역에 어느 하나의 프로세서가 접속한 경우, 상응하는 접속 상태 정보를 생성하여 출력하는 단계를 포함 할 수 있다. 여기서, 상기 메모리의 저장 영역은 상기 각 프로세서들에 개별 할당된 n개의 전용 영역 및 m(임의의 자연수)개의 공통 영역으로 분할되며, 상기 전용 영역은 미리 설정된 프로세서만에 의한 독점 저장 영역이고, 상기 공통 영역은 k(2≤k≤n인 임의의 자연수)개의 프로세서가 중첩되지 않는 시간 동안 개별 접속 가능한 저장 영역일 수 있다.In accordance with another aspect of the present invention, there is provided a method of providing access state information performed in a memory shared by a plurality of processors, the method comprising: determining which processor is connected to a common area; And when one processor is connected to the common area, generating and outputting corresponding connection state information. Here, the storage area of the memory is divided into n dedicated areas and m (random natural numbers) common areas individually allocated to the processors, and the dedicated area is an exclusive storage area by only a predetermined processor. The common area may be a storage area that is individually accessible for a time where k (any natural number of 2 ≦ k ≦ n) processors do not overlap.
상기 메모리를 공유하는 복수의 프로세서간에는 독립된 제어 버스가 형성될 수 있다.Independent control buses may be formed between a plurality of processors sharing the memory.
상기 복수의 프로세서는 메인 프로세서와 어플리케이션 프로세서를 포함하고, 상기 어플리케이션 프로세서는 상기 제어 버스를 통해 상기 메인 프로세서로부터 수신된 제어 신호에 따라 상기 메인 프로세서가 상기 공통 영역에 기록한 데이터를 처리할 수 있다.The plurality of processors may include a main processor and an application processor, and the application processor may process data recorded by the main processor in the common area according to a control signal received from the main processor through the control bus.
상기 접속 상태 정보는 읽기 상태 정보 및 쓰기 상태 정보를 포함할 수 있다.The connection state information may include read state information and write state information.
상기 메모리부는, 상기 프로세서들 각각에 대응되는 n개의 접속 포트; 상기 전용 영역 및 상기 공통 영역으로 분할된 상기 저장 영역; 및 상기 공통 영역에 임의의 프로세서가 접속하였는지 여부에 대한 접속 상태 정보를 생성하여 각 프로세서들로 출력되도록 하는 내부 제어부를 포함할 수 있다.The memory unit may include n connection ports corresponding to each of the processors; The storage area divided into the dedicated area and the common area; And an internal controller configured to generate connection state information on whether any processor is connected to the common area and output the generated state information to each processor.
상기 메모리부는 임의의 프로세서로부터 입력되는 주소 정보, 데이터, 제어 신호 중 하나 이상을 참조하여 상기 접속 상태 정보를 생성하여 출력할 수 있다.The memory unit may generate and output the connection state information by referring to one or more of address information, data, and control signals input from an arbitrary processor.
또는, 상기 메모리부는 상기 공통 영역에 접속하기 위하여 임의의 프로세서 가 미리 지정된 영역에 기록한 값을 참조하여 상기 접속 상태 정보를 생성하여 출력할 수 있다.Alternatively, the memory unit may generate and output the connection state information with reference to a value recorded by a processor in a predetermined area in order to access the common area.
상기 프로세서들은 상기 접속 상태 정보를 참조하여 어느 하나의 프로세서가 상기 공통 영역에 접속중인 것으로 인식되면, 상기 프로세서가 상기 공통 영역의 접속을 종료할 때까지 접속 대기하는 것을 특징으로 한다.When the processor recognizes that one processor is accessing the common area with reference to the connection state information, the processors wait for the connection until the processor terminates the connection of the common area.
본 발명의 바람직한 다른 실시예에 따르면, 메모리 억세스 상태 정보 제공 방법을 수행하기 위하여 메모리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 메모리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, 공통 영역에 어느 하나의 프로세서가 접속하였는지 여부를 판단하는 단계; 및 상기 공통 영역에 어느 하나의 프로세서가 접속한 경우, 상응하는 접속 상태 정보를 생성하여 출력하는 단계를 실행하되, 상기 메모리 장치는 복수의 프로세서에 의해 공유되고, 상기 메모리의 저장 영역은 상기 각 프로세서들에 개별 할당된 n개의 전용 영역 및 m(임의의 자연수)개의 공통 영역으로 분할되며, 상기 전용 영역은 미리 설정된 프로세서만에 의한 독점 저장 영역이고, 상기 공통 영역은 k(2≤k≤n인 임의의 자연수)개의 프로세서가 중첩되지 않는 시간 동안 개별 접속 가능한 저장 영역인 것을 특징으로 하는 프로그램을 기록한 기록매체가 제공된다.According to another preferred embodiment of the present invention, in order to perform the method for providing memory access state information, a program of instructions that can be executed by a memory device is tangibly embodied, and a record recording a program that can be read by the memory device. 12. A medium, comprising: determining which processor is connected to a common area; And generating and outputting corresponding connection state information when any one processor is connected to the common area, wherein the memory device is shared by a plurality of processors, and a storage area of the memory is stored in each of the processors. Divided into n dedicated areas and m (random natural numbers) common areas individually allocated to each other, wherein the dedicated areas are exclusive storage areas only by a predetermined processor, and the common areas are k (2 ≦ k ≦ n). There is provided a recording medium on which a program is recorded, characterized in that the individual processors are individually accessible storage areas for a time when they do not overlap.
이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도 면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 버스 1, 버스 2, 제1, 제2, A, B 등)는 동일 또는 유사한 개체를 구분하기 위한 식별 수단에 불과하다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, in order to facilitate the overall understanding, the same reference numerals will be used for the same means regardless of the drawing numbers. In addition, numbers used in the description process (for example, bus 1, bus 2, first, second, A, B, etc.) are merely identification means for distinguishing the same or similar entities.
또한, 본 명세서에서는 메인 프로세서가 임의의 어플리케이션 프로세서에서 처리되어야할 데이터를 특정 저장 영역에 기록(write)한 후, 어플리케이션 프로세서가 해당 데이터의 처리를 위해 해당 저장 영역에 접속하여 독출(read)할 수 있도록 메모리부에서 접속 권한을 제어하는 과정만을 중심으로 설명하지만, 당업자는 어느 하나의 제1 프로세서(예를 들어, 메인 프로세서 또는 제1 어플리케이션 프로세서)가 다른 제2 프로세서(예를 들어, 제2 어플리케이션 프로세서 또는 메인 프로세서)에서 처리되어야할 데이터를 특정 저장 영역에 기록(write)한 후 제2 프로세서가 해당 저장 영역에 접속하여 독출(read)할 수 있도록 메모리부에서 접속 권한을 제어하는 등의 방법으로도 동일하게 적용할 수 있음을 쉽게 이해할 수 있을 것이다. 따라서, 당업자가 쉽게 이해할 수 있는 추가적인 사항에 대한 설명을 생략할 뿐 본 발명의 기술적 사상이 하기의 기재 사항으로 제한되는 것이 아님을 유념해야 한다.In addition, in the present specification, after the main processor writes data to be processed in an application processor in a specific storage area, the application processor may access and read the storage area for processing of the data. Although only the process of controlling access rights in the memory unit will be described, the person skilled in the art will understand that any one first processor (for example, the main processor or the first application processor) is different from another second processor (for example, the second application). Processor or main processor) writes data to be processed in a specific storage area and then controls access rights in the memory unit so that the second processor can access and read the storage area. It will be readily understood that the same can be applied. Therefore, it is to be noted that the technical spirit of the present invention is not limited to the following descriptions merely by omitting descriptions of additional matters easily understood by those skilled in the art.
도 3은 본 발명의 바람직한 일 실시예에 따른 메인 프로세서, 어플리케이션 프로세서, 메모리부 및 디스플레이 장치간의 결합 구조를 나타낸 도면이고, 도 4는 본 발명의 바람직한 일 실시예에 따른 메모리부의 구성을 나타낸 도면이며, 도 5는 본 발명의 바람직한 다른 실시예에 따른 메모리부의 구성을 나타낸 도면이다.3 is a diagram illustrating a coupling structure between a main processor, an application processor, a memory unit, and a display device according to an exemplary embodiment of the present invention, and FIG. 4 is a diagram illustrating a configuration of a memory unit according to an exemplary embodiment of the present invention. 5 is a diagram illustrating a configuration of a memory unit according to another exemplary embodiment of the present invention.
도 3을 참조하면, 본 발명에 따른 디지털 처리 장치는 메인 프로세서(210)와 어플리케이션 프로세서(220)는 하나의 메모리부(310)를 공유하는 구조로 결합된다. Referring to FIG. 3, in the digital processing apparatus according to the present invention, the
어플리케이션 프로세서(220) 후단에는 메인 프로세서(210)에 의해 직접 제어되거나 메인 프로세서(210)의 처리 명령에 따라 어플리케이션 프로세서(220)에 의해 제어되는 디스플레이 장치(250)가 결합된다. 메인 프로세서(210)는 디스플레이 장치(250) 또는 어플리케이션 프로세서(220)를 제어하기 위한 제어 명령을 MP-AP 버스를 통해 출력할 수 있다. 물론, 어플리케이션 프로세서(220)의 기능에 따라 결합되는 출력 장치는 다양할 수 있을 것이다. The rear end of the
도 3에는 하나의 어플리케이션 프로세서(220)만이 도시되었으나 어플리케이션 프로세서의 수량이나 처리 동작은 디지털 처리 장치가 구비한 기능들에 따라 다양할 것임은 자명하다. 또한, 도 3에는 복수의 프로세서(210, 220)에 의해 공유되는 메모리부(310)가 하나인 경우만이 예시되었으나, 공유되는 메모리부(310)의 수량은 필요에 따라 증감될 수 있을 뿐 아니라 각 메모리부(310)를 공유하는 프로세서들은 각각 상이할 수도 있다. 예를 들어, 제1 메모리부는 메인 프로세서와 제1 어플리케이션 프로세서에 의해 공유될 수 있고, 제2 메모리부는 메인 프로세서와 제2 어플리케이션 프로세서에 의해 공유될 수 있으며, 제3 메모리부는 제1 어플리케이션 프로세서와 제2 어플리케이션 프로세서에 의해 공유될 수 있을 것이다.Although only one
도 3을 참조하면, 메인 프로세서(210)와 어플리케이션 프로세서(220)는 MP-AP 버스를 통해 정보(예를 들어, 디스플레이 장치(250)의 구동 명령 또는 구동 종료 명령 등의 처리 명령, 상태 정보 등)를 송수신한다. Referring to FIG. 3, the
메인 프로세서(210)는 MP-SM(Shared Memory) 버스를 통해 메모리부(310)와 결합되어 메모리부(310)의 일정 저장 영역에 임의의 데이터(예를 들어, 폴리곤 데이터, 텍스처 데이터 등)를 기록(write)한다. 버스(Bus)는 컴퓨터 등에서 프로세서와 주기억장치, 입출력 장치 간에 정보를 전송하는 데 사용되는 공용 목적의 전기적 통로이다. 여기서, 메인 프로세서(210)는 디지털 처리 장치(예를 들어, 휴대형 단말기)의 전반적인 동작을 제어하는 프로세서일 수 있다.The
MP-SM 버스를 통해 메인 프로세서(210)로부터 처리 명령을 수신한 어플리케이션 프로세서(220)는 AP-SM 버스를 통해 메모리부(310)에 접속하고, 메모리부(310)의 일정 저장 영역에 기록된 데이터(즉, 메인 프로세서(210)에 의해 기록된 데이터)를 독출(read)한다. 어플리케이션 프로세서는 수신한 처리 명령에 따라 메인 프로세서가 공통 영역에 기록한 데이터를 처리할 수 있다. 이때, 어플리케이션 프로세서(220)는 메인 프로세서(210)가 공통 영역(도 4 또는 도 5 참조)에 대한 접속을 종료한 후 공통 영역으로 접속할 수 있다. 여기서, 어플리케이션 프로세서(220)는 메인 프로세서(210)의 제어에 의해 MPEG4, 3D 그래픽, 카메라 기능, MP3 파일 재생 등을 처리하기 위한 전용의 프로세서일 수 있다. 물론, 어플리케이션 프로세서(220)는 동작 개시 및 종료만을 메인 프로세서(210)에 의해 제어받고, 동작 개시 후의 처리 동작은 미리 지정된 프로세스에 의해 수행되거나 키 입력부(135)를 통한 사용자 명령에 의해 제어될 수도 있다. 어플리케이션 프로세서(220) 후단에는 도시된 디스플레이 장치(250) 이외의 주변 장치가 결합될 수 있다.The
메모리부(310)는 결합된 복수의 프로세서(즉, 메인 프로세서(210)와 하나 이상의 어플리케이션 프로세서)에 의해 공유되는 구조로서, 구비된 또는 메모리부(310)를 공유하는 프로세서들의 수량에 상응하는 억세스 포트(Access Port)를 구비 한다. The
예를 들어, 도 3 내지 도 5에 도시된 바와 같이 메모리부(310)가 메인 프로세서(210) 및 어플리케이션 프로세서(220)에 의해 공유되는 구조라면, 메모리부(310)는 프로세서들(210, 220) 각각에 하나씩 대응되도록 2개의 억세스 포트(Access Port)를 구비한다. 즉, 2개의 억세스 포트는 제1 포트, 제2 포트로 구분되어 제1 포트는 메인 프로세서(210)에 연결되도록 하고, 제2 포트는 어플리케이션 프로세서(220)에 연결되도록 설정된다. For example, as shown in FIGS. 3 to 5, when the
메모리부(310)는 하나의 내부 제어부(internal controller, 410)를 포함하나, 복수의 억세스 포트가 구비될 수 있고, 각 프로세서(210, 220)에 대해 각각 독립적인 클럭(Clock)이 사용될 수도 있다.The
도 4 및 도 5에 예시된 바와 같이, 메모리부(310)의 저장 영역은 복수의 영역들로 분할될 수 있으며, 저장 영역의 수량은 최소 3개에서 최대 n(자연수)개일 수 있다. 예를 들어, 분할된 저장 영역들은 구비된 프로세서들의 수량과 일치하는 전용 영역들 및 하나 이상의 공통 영역을 포함할 수 있다. 여기서, 전용 영역은 해당 분할 영역에 상응하도록 미리 설정된 프로세서만을 상응하는 포트를 통해 독점점으로 접속할 수 있는 영역이고, 공통 영역은 결합된 모든 프로세서들이 동일하지 않은 시점이라면 개별적으로 접속할 수 있는 영역이다. 이는 각 프로세서들이 독립된 경로를 통해 각각의 분할 영역(즉, 전용 영역 또는 공통 영역)에 개별적으로 접속하여 필요한 동작(예를 들어, 데이터 기록(write) 또는 데이터 독출(read))을 수행할 수 있도록 하기 위함이다. As illustrated in FIGS. 4 and 5, the storage area of the
먼저, 도 4를 참조하여 공유 메모리의 구조 및 공유 메모리 접속 상태 정보 제공 방법을 간략히 설명한다.First, a structure of the shared memory and a method of providing shared memory access state information will be briefly described with reference to FIG. 4.
메모리부(310)를 공유하는 프로세서가 2개인 것으로 가정할 때, 메모리부(310)의 저장 영역은 도 4에 도시된 바와 같이 2개의 전용 영역(즉, 영역 A(420) 및 영역 B(430)) 및 공통 영역(440)으로 분할될 수 있다. Assuming that there are two processors sharing the
메모리부(310)가 예를 들어 SDRAM인 경우, 편의상 각 뱅크(Bank) 단위로 저장 영역의 용도가 설정될 수 있다. 예를 들어 256Mbit SDRAM은 8Mb x 8비트 x 4뱅크로 설명될 수 있다. 해당 뱅크들 중 2개는 영역 A(420)로 할당하고, 각각 1개의 뱅크를 공통 영역(440)과 영역 B(430)로 할당할 수 있다. When the
물론, 각 영역을 구성하는 뱅크들의 수는 필요에 따라 변경될 수 있을 것이다. 즉, 4개의 뱅크는 각각 영역 A(420), 영역 B(430), 제1 공통 영역 및 제2 공통 영역으로 할당될 수도 있을 것이다. 공통 영역(440)이 제1 공통 영역 및 제2 공통 영역으로 분할되는 경우, 메인 프로세서(210)가 어플리케이션 프로세서(220)로 대용량의 데이터를 전달하고자 하는 경우, 제1 공통 영역의 저장 영역 크기만큼 제1 공통 영역에 우선 기록한 후, 나머지 데이터는 제2 공통 영역에 연속하여 기록할 수 있을 것이다. 또한 어플리케이션 프로세서(220)는 데이터를 기록한 메인 프로세서(210)가 제1 공통 영역에 대한 접속을 종료하면 제1 공통 영역에 접속하여 기록된 데이터를 독출할 수 있고, 이어서 메인 프로세서(210)가 제2 공통 영역에 대한 접속을 종료하면 제2 공통 영역에 접속하여 후속하여 기록된 데이터를 독출할 수 있다.Of course, the number of banks constituting each region may be changed as necessary. That is, the four banks may be allocated to the
도 4를 참조하여 메모리부(310)에 의한 접속 상태 정보 제공 방법을 간략히 설명한다. A method of providing connection state information by the
메모리부(310)는 각 분할 영역에 대한 접속 상태 정보를 제공함에 있어, 전용 영역(즉, 영역 A(420) 및 영역 B(430))에 대한 접속 상태 정보는 각 프로세서(210, 220)로 제공할 필요가 없다. 이는 각 전용 영역(420, 430)에 접속할 수 있는 프로세서가 미리 특정되어 있고, 해당 프로세서는 스스로 해당 전용 영역에 접속하였는지 여부를 이미 알고 있기 때문이다. In the
따라서, 메모리부(310)는 공통 영역(440)에 대한 접속 상태 정보만을 각 프로세서 또는 타 프로세서(즉, 현재 공통 영역에 접속하지 않은 프로세서)로 제공하면 족하다. 이는, 각 프로세서는 타 프로세서가 공통 영역(440)에 접속하지 않은 경우에만 공통 영역(440)에 접속할 수 있도록 제한되기 때문이다.Therefore, the
메인 프로세서(210)가 메모리부(310)의 공통 영역(440)에 특정 데이터(예를 들어, 어플리케이션 프로세서(220)에 의해 처리될 데이터, 디스플레이 장치(250)를 통해 디스플레이될 데이터 등 중 어느 하나)를 기록하고자 하는 경우, 메인 프로세서(210)는 메모리부(310)의 제1 포트를 통해 데이터의 기록을 위한 주소 정보(Addr_A : 저장 영역 A의 Address Signal), 기록하고자 하는 데이터(Data_A), 제어 신호들을 전송한다. 제어 신호들로는 예를 들어, 저장 영역 A로의 데이터 기록을 지시하기 위한 WE_A(Write Enable), 저장 영역 A에 대한 칩 선택 신호(CS_A : Chip Select _ A), 클럭(CLK_A) 등이 있을 수 있다.The
메모리부(310)는 메인 프로세서(210)가 공통 영역에 접속한 경우, 접속 상태 정보를 생성하여 어플리케이션 프로세서(220)(및 메인 프로세서(210))로 전송한다. 접속 상태 정보는 공통 영역(440)의 접속 상태를 관리하는 내부 제어부(410)에 의해 생성되어 출력될 수 있다. 접속 상태 정보는 미리 지정된 핀을 통해 출력될 수 있고, 예를 들어 하이(High) 신호가 출력되는 경우 임의의 동작 수행을 위한 점유 중인 것으로 인식될 수 있을 것이다. 접속 상태 정보는 도시된 바와 같이 제1 핀을 통해 쓰기 상태 정보가 출력되고 제2 핀을 통해 읽기 상태 정보가 출력될 수 있다. 쓰기 상태 정보(Wbusy) 또는 읽기 상태 정보(Rbusy)는 하이(high) 신호가 출력되는 경우 쓰기 또는 읽기 동작을 위해 공통 영역(440)이 이용되고 있음을 나타낼 수 있을 것이다. 물론, 접속 상태 정보로서 하이 신호 또는 로우(Low) 신호의 의미는 설계 방법에 따라 다양하게 정의될 수 있다.When the
예를 들어, 메모리부(310)는 메인 프로세서(210)의 명령(즉, 기록 명령)에 따라 수신되는 데이터를 공통 영역(440)에 기록되도록 하는 경우, 메모리부(310)는 메인 프로세서(310)에 의해 공통 영역(440)이 점유되었음을 나타내기 위해 하이 상태의 쓰기 상태 정보(Wbusy(Write Busy)_A)를 어플리케이션 프로세서(220)(및 메인 프로세서(210))로 출력할 것이다. 물론, 메인 프로세서(210)가 공통 영역(440)에 접속하기 위해서는 현재 어플리케이션 프로세서(220)가 공통 영역(440)에 접속하지 않은 상태이어야 한다.For example, when the
또한, 만일 앞서 설명한 바와 같이 공통 영역(440)이 제1 공통 영역 및 제2 공통 영역으로 분할되는 경우, 메모리부(310)는 각 공통 영역에 대한 접속 상태 정보를 각각 출력할 것이다. 예를 들어, 메인 프로세서(210)는 제1 공통 영역에 임의 의 데이터를 기록하는 중에 제1 공통 영역의 저장 용량이 모두 이용된 경우, 나머지 데이터를 기록하기 위해 제1 공통 영역에 대한 접속을 종료하고, 제2 공통 영역으로 접속을 시도할 것이다. 이 경우, 메모리부(310)는 상응하는 접속 상태 정보(예를 들어, 제1 공통 영역에 대한 접속이 종료되었으며 제2 공통 영역에 접속하여 데이터 기록을 수행한다는 내용의 정보로서, 제1 공통 영역에 대한 쓰기 상태 정보 및 읽기 상태 정보를 모두 로우 상태의 신호로 출력하고, 제2 공통 영역에 대한 쓰기 상태 정보 및 읽기 상태 정보 중 어느 하나를 하이 상태의 신호로 출력함)를 어플리케이션 프로세서(220)(및 메인 프로세서(210))로 제공한다. 상술한 접속 상태 정보에 의해 어플리케이션 프로세서(220)는 제1 공통 영역에 접속 가능함을 인지하고, 제1 공통 영역에 접속하여 기록된 데이터를 독출하여 처리할 수 있다.Also, as described above, when the
또한, 만일 메인 프로세서(210)는 제1 공통 영역의 저장 용량이 모두 이용되기 전에 필요한 데이터의 기록을 완료하였다면 메모리부(310)와의 접속을 종료할 것이며, 메모리부(310)는 새로운 접속 상태 정보(예를 들어, 제1 및 제2 공통 영역에 대한 쓰기 상태 정보 및 읽기 상태 정보를 모두 로우 상태의 신호로 출력함)를 상응하는 프로세서에 제공할 것이다. In addition, if the
상술한 과정을 통해 공통 영역(440)(또는 상술한 제1 공통 영역, 이하 동일함)에 임의의 데이터가 기록되면 해당 데이터를 독출하여 이용하고자 하는 어플리케이션 프로세서(220)는 데이터의 독출을 위한 주소 정보(Addr_A : 저장 영역 A의 Address Signal), 제어 신호들(예를 들어, 저장 영역 A에서의 데이터 독출을 지시하기 위한 OE_A(Output Enable), 저장 영역 A에 대한 칩 선택 신호(CS_A : Chip Select _ A), 클럭(CLK_A) 등)을 전송함으로써 데이터(Data_A)를 독출하게 된다. 어플리케이션 프로세서(220)가 공통 영역(440)에 기록된 데이터를 독출하여 처리하기 위하여 메인 프로세서(210)는 상응하는 처리 지시(예를 들어, 주소 정보와 처리 명령)를 데이터의 기록 직전 또는 기록 직후에 어플리케이션 프로세서(220)로 전달할 수 있다.If arbitrary data is recorded in the common area 440 (or the first common area, which is the same as described above) through the above-described process, the
상술한 바와 같이, 어플리케이션 프로세서(220)는 공통 영역(440)에 접속할 수 있는지 여부를 메모리부(310)로부터 제공받은 접속 상태 정보를 이용하여 확인할 수 있다. 예를 들어, 메모리부(310)로부터 제공받은 접속 상태 정보 중 "RBusy(Read Busy)_A"가 제1 상태(예를 들어, "Low State")인 경우에는 접속하여 독출 가능한 상태인 것으로 인식될 수 있다. 물론, 어플리케이션 프로세서(220)가 공통 영역(440)에 접속하기 위해서는 접속 상태 정보 중 "WBusy_A"도 제1 상태(예를 들어, "Low State")이어야 할 것이다. As described above, the
이하, 도 5를 참조하여 메모리부(310)에 의한 접속 상태 정보 제공 방법을 간략히 설명한다. Hereinafter, a method of providing connection state information by the
상술한 바와 같이, 메모리부(310)는 각 분할 영역 중 공통 영역(440)에 대한 접속 상태 정보만을 각 프로세서 또는 타 프로세서(즉, 현재 공통 영역에 접속하지 않은 프로세서)로 제공하면 족하다. As described above, the
앞서 설명한 도 4의 실시예는 메모리부(310, 즉 내부 제어부(410))가 공통 영역(440)에 임의의 프로세서(210 또는 220)가 어떤 동작(즉, 쓰기 또는 읽기)을 수행하기 위해 접속한 상태인지 여부까지 접속 상태 정보를 제공하는 방법 및 구성 에 관한 것이다. 이를 위해, 각 프로세서(210, 220)와 메모리부(310)는 접속 상태 정보를 입출력하기 위한 2개의 핀들을 더 구비하여야 한다. 물론, 접속 상태 정보가 출력되어야 하는 공통 영역의 수량이 증가된다면 접속 상태 정보의 입출력을 위한 핀들의 수는 더 증가될 것이다.In the above-described embodiment of FIG. 4, the
그러나, 어느 하나의 프로세서가 공통 영역(440)에 접속 가능한지 여부를 인식하는 경우 타 프로세서가 공통 영역(440)에 현재 접속한 상태인지만 인식하면 충분하다. 즉, 타 프로세서가 현재 공통 영역(440)에 어떤 동작을 위해 접속하였는지에 관한 정보는 불필요할 수 있다. 이는, 타 프로세서가 공통 영역(440)에 접속하여 처리하는 동작이 무엇인지에 관계없이 타 프로세서가 현재 공통 영역(440)에 접속하지 않았다면 해당 프로세서가 공통 영역(440)에 접속 가능하기 때문이다.However, when recognizing whether one processor is accessible to the
이를 위해, 내부 제어부(410)는 공통 영역(440)에 특정 프로세서(210 또는 220)가 접속한 상태인 경우, 이에 상응하는 접속 상태 정보(STA_A 또는 STA_B)를 타 프로세서(및 접속된 프로세서)로 출력할 수 있다. 내부 제어부(410)는 어느 하나의 프로세서가 공통 영역(440)에 접속하였는지 여부만으로 접속 상태 정보를 출력하거나, 앞서 설명한 바와 같이 어느 하나의 프로세서에 상응하는 쓰기 상태 정보(Wbusy) 및 읽기 상태 정보(Rbusy) 중 어느 하나가 하이 상태인 경우 하이 상태의 접속 상태 정보를 출력할 수 있다. To this end, when the
도 5에 도시된 바와 같이, 메모리부(310)는 출력되는 접속 상태 정보의 수를 감소시킴으로써 이를 위한 핀 수를 감소시킬 수 있다. 예를 들어, 메인 프로세서(210)와 메모리부(310)간에 접속 상태 정보의 입출력을 위해 도 4의 경우 2개의 핀 이 필요하였다면, 도 5의 경우에는 1개의 핀 만으로 충분하기 때문이다. 다만, 정밀한 제어를 위해서는 도 4의 경우와 같이 보다 많은 핀을 이용함이 바람직할 수도 있을 것이다.As shown in FIG. 5, the
이제까지 도 4 및 도 5를 참조하여 설명한 바와 같이 본 발명에 따른 메모리부(310)는 공통 영역(440)에 대한 각 프로세서의 접속 여부에 대한 정보를 출력할 수 있다. As described above with reference to FIGS. 4 and 5, the
이를 위해, 메모리부(310)(즉, 내부 제어부(410))는 임의의 프로세서가 공통 영역(440)에 접속하였는지 여부를 인식하여야 한다. 메모리부(310)가 임의의 프로세서가 공통 영역(440)에 접속하였는지 여부를 인식하는 방법으로는 상응하는 포트를 통해 입력된 주소 정보, 제어 신호 등을 이용하여 인식하는 방법, 임의의 프로세서가 메모리부(310)의 일정 영역(예를 들어, 미리 설정된 레지스터 또는 저장 영역)에 미리 지정된 값을 기록하였는지 여부로서 인식하는 방법 등이 있을 수 있다. 물론, 이외에도 특정 프로세서가 공통 영역(440)에 접속하였는지 여부를 메모리부(310)가 인식할 수 있는 모든 방법이 제한없이 적용될 수 있음은 자명하다.To this end, the memory 310 (ie, the internal controller 410) must recognize whether any processor is connected to the
도 4 및 도 5에 예시된, 메모리부(310)의 분할 영역, 즉 전용 영역(영역 A(420) 및 영역 B(430)) 및 공통 영역(440)의 크기는 디폴트(default)로 미리 지정되어 있거나, 메인 프로세서(210) 및/또는 어플리케이션 프로세서(220)에 의해 임의의 크기들로 분할되거나 필요 시점(예를 들어, 기록하고자 하는 데이터가 기록 가능 영역의 크기 이상인 경우)마다 메인 프로세서(210) 및/또는 어플리케이션 프로세서(220)에 의해 가변되도록 설정될 수도 있다. 4 and 5, the sizes of the divided regions of the
즉, 메모리부(310)의 전체 저장 영역 중 분할된 저장 영역에 대한 주소(Address) 정보는 메인 프로세서(210)에 의해 설정되고 관리될 수 있으며, 메인 프로세서(210)에 의해 설정된 주소 정보는 메모리부(310)의 특정 영역에 기록되거나 MP-AP 버스를 통해 어플리케이션 프로세서(220)에 제공되어 공유될 수 있다. 물론, 주소 정보에 대한 설정 및 관리는 어플리케이션 프로세서(220)에 의해서도 수행될 수 있으며, 필요에 따라서는 각 프로세서(210 또는 220)가 주소 정보의 설정 권한을 가지고 타 프로세서(220 또는 210)로 설정된 주소 정보를 제공함으로써 주소 정보의 공유가 가능해진다. 이 경우, 메모리부(310)의 분할된 저장 영역에 대한 정보는 디지털 처리 장치(예를 들어, 휴대형 단말기)의 부팅(booting) 과정에서 각 프로세서에 의해 인식될 수 있다. That is, address information of the divided storage areas among the entire storage areas of the
도 6은 본 발명의 바람직한 일 실시예에 따른 공통 영역에 대한 접속 권한 제어 과정을 나타낸 데이터 흐름도이다.6 is a data flow diagram illustrating a process of controlling access rights to a common area according to an embodiment of the present invention.
도 6을 참조하여 메인 프로세서(210)의 공통 영역 접속 및 동작 과정을 설명함에 있어 공통 영역(440)의 초기 상태는 쓰기 및 읽기 가능 상태(즉, Wbusy 신호 및 Rbusy 신호가 모두 로우(Low)인 상태)를 가정하여 설명한다. Referring to FIG. 6, the initial state of the
도 6을 참조하면, 메모리부(310)는 단계 610에서 공통 영역(440)에 대한 접속 상태 정보(즉, 쓰기 상태 신호와 읽기 상태 신호(도 4 참조), 또는 하나의 접속 상태 신호(도 5 참조))를 상응하는 프로세서(이하, 메인 프로세서(210)로 가정함)로 출력한다. 메인 프로세서(210)로 입력되는 접속 상태 정보는 어플리케이션 프로 세서(220)가 공통 영역(440)에 접속하였는지 여부에 대한 정보를 포함할 수 있다. Referring to FIG. 6, in
물론, 메모리부(310)가 복수의 프로세서에 의해 공유되는 경우, 메모리부(310)는 어느 하나의 프로세서가 공통 영역(440)에 접속하였는지 여부에 대한 접속 상태 정보를 접속된 각 프로세서들로 출력할 수 있다. 즉, 각 프로세서들로 출력되는 접속 상태 정보(도 4 및 도 5 참조)는 동일한 정보일 수 있다. 이는, 특정 프로세서가 공통 영역(440)에 접속하고자 할 때, 접속 상태 정보에 의해 공통 영역(440)이 임의의 프로세서에 의해 이미 접속된 상태로 인식되는 경우 해당 프로세서가 공통 영역(440)에 접속하지 않았다면 타 프로세서에 의해 점유된 것으로 쉽게 인식할 수 있으며, 공통 영역(440)에 대한 타 프로세서의 접속이 완료된 이후에 공통 영역(440)에 대한 접속을 시도할 수 있기 때문이다. Of course, when the
단계 620에서 메인 프로세서(210)는 공통 영역(440)에 어플리케이션 프로세서(220)가 접속하였는지 여부를 판단한다. 메인 프로세서(210)는 어플리케이션 프로세서(220)에 상응하는 쓰기 상태 신호와 읽기 상태 신호(예를 들어, 도 4의 Wbusy_B 또는 Rbusy_B), 또는 하나의 접속 상태 신호(예를 들어, 도 5의 STA_B)를 참조하여, 어플리케이션 프로세서(220)가 공통 영역(440)에 접속중인지 여부를 인식할 수 있다.In
단계 620의 판단 결과로, 공통 영역(440)에 어플리케이션 프로세서(220)가 접속 중이라면 어플리케이션 프로세서(220)가 공통 영역(440)에 대한 접속을 종료할 때까지 대기한다. 어플리케이션 프로세서(220)가 공통 영역(440)에 대한 접속을 종료하였는지 여부는 메모리부(310)에서 출력되는 접속 상태 정보에 의해 판단될 수 있다.As a result of the determination of
그러나 만일 어플리케이션 프로세서(220)가 공통 영역(440)에 접속되지 않은 경우라면, 메인 프로세서(210)는 공통 영역(440)에 접속(단계 630)하여, 데이터 기록 또는 데이터 독출을 수행한다(단계 640). 메모리부(310)는 공통 영역(440)에 메인 프로세서(210)가 접속되면, 공통 영역(440)이 메인 프로세서(210)에 의해 점유되었음을 나타내는 갱신된 상태 신호를 생성하여 출력할 것이다. However, if the
메모리부(310)는 단계 650에서 메인 프로세서(210)가 공통 영역(440)에 대한 접속을 종료하였는지 여부를 판단한다. The
만일 메인 프로세서(210)가 공통 영역(440)에 대한 접속 상태를 종료한 경우에는 단계 610으로 다시 진행하여, 갱신된 접속 상태 정보를 생성하여 출력한다. If the
상술한 과정을 통해 메모리를 공유하는 각 프로세서들은 메모리로부터 출력되는 접속 상태 정보를 이용하여 효율적으로 공유 메모리의 이용이 가능하고, 공유 메모리의 공통 영역에 대한 억세스 권한만을 각 프로세서간에 이전함으로써 공통 영역에 기록된 데이터가 신속하게 타 프로세서로 전달되는 효과가 발생된다.Through the above-described process, each of the processors sharing the memory can efficiently use the shared memory using the connection state information output from the memory, and transfer only the access right to the common area of the shared memory between the processors to the common area. The effect is that the recorded data is quickly transferred to another processor.
이제까지 메인 프로세서가 임의의 어플리케이션 프로세서에서 처리되어야할 데이터를 특정 저장 영역에 기록(write)하기 위하여, 메인 프로세서와 메모리부간의 연동 과정을 중심으로 설명하였다. 그러나, 메인 프로세서 또는 어플리케이션 프로세서가 메모리부의 공통 영역에 접속하여 데이터를 기록하거나 기록된 데이터를 독출하는 과정도 상술한 설명을 통해 당업자는 쉽게 이해할 수 있을 것이다. 따라서, 이에 대한 설명은 생략하기로 한다.Until now, the main processor has described the interworking process between the main processor and the memory unit in order to write data to be processed in an application processor in a specific storage area. However, it will be readily understood by those skilled in the art through the above description that the main processor or the application processor accesses the common area of the memory unit to record data or read recorded data. Therefore, description thereof will be omitted.
상술한 바와 같이 본 발명에 따른 공유 메모리를 구비한 장치 및 공유 메모리 억세스 상태 정보 제공 방법은 공유 메모리의 저장 영역을 복수의 분할 영역(예를 들어, 전용 영역과 공통 영역)으로 분할함으로써 메모리의 이용 효율성 증진시킬 수 있는 효과가 있다.As described above, the apparatus having the shared memory and the method for providing shared memory access state information according to the present invention utilize the memory by dividing the storage area of the shared memory into a plurality of divided areas (for example, a dedicated area and a common area). It has the effect of improving efficiency.
또한, 본 발명은 분할된 저장 영역 중 공통 영역에 각 프로세서의 접속이 가능하도록 설정함으로써 각 프로세서간의 데이터 전송 시간을 최소화할 수 있는 효과도 있다.In addition, the present invention also has the effect of minimizing the data transfer time between the processor by setting each processor to be connected to a common area of the divided storage area.
또한, 본 발명은 공유 메모리의 공통 영역을 이용하여 데이터 전달이 가능하므로 각 프로세서는 데이터 전달을 위한 부가적인 프로세스를 생략할 수 있어 각 프로세서의 동작 속도 및 효율을 최적화할 수 있는 효과도 있다.In addition, since the present invention enables data transfer using a common area of the shared memory, each processor can omit an additional process for data transfer, thereby optimizing an operation speed and efficiency of each processor.
또한, 본 발명은 공유 메모리의 분할된 저장 영역 중 공통 영역을 복수의 프로세서들이 교차하여 접속(Access)할 수 있으므로 접속 권한만의 이전에 의해 즉시 데이터가 전달된 효과가 발생하는 효과도 있다.In addition, the present invention also has the effect that the data is transferred immediately by the transfer of access rights only because a plurality of processors can access the common area of the divided storage area of the shared memory cross (Access).
또한, 본 발명은 공유 메모리가 공통 영역에 대한 접속 상태 정보(즉, 점유 상태 정보)를 생성하여 출력함으로써 각 프로세서들의 제어 시퀀스(sequence)를 최대한 간략하게 할 수 있는 효과도 있다.In addition, the present invention has the effect that the shared memory generates and outputs connection state information (ie, occupied state information) for the common area to simplify the control sequence of each processor as much as possible.
또한, 본 발명은 메인 프로세서는 n(자연수)개로 분할된 공통 영역에 순차적으로 임의의 데이터를 기록(write)하고 어플리케이션 프로세서는 메인 프로세서가 기록한 저장 영역에 순차적으로 접속하여 읽기(read) 동작을 수행하도록 함으로써 데이터 전달 속도를 최대화할 수 있는 효과도 있다.In addition, according to the present invention, the main processor sequentially writes arbitrary data in the common area divided into n (natural numbers), and the application processor sequentially accesses the storage area recorded by the main processor to perform a read operation. By doing so, the data transmission speed can be maximized.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.
Claims (19)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060021902A KR100700040B1 (en) | 2006-03-08 | 2006-03-08 | Device having shared memory and method for providing access status information by shared memory |
PCT/KR2007/001140 WO2007102712A1 (en) | 2006-03-08 | 2007-03-08 | Device having shared memory and method for providing access status information by shared memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060021902A KR100700040B1 (en) | 2006-03-08 | 2006-03-08 | Device having shared memory and method for providing access status information by shared memory |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100700040B1 true KR100700040B1 (en) | 2007-03-26 |
Family
ID=38475106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060021902A KR100700040B1 (en) | 2006-03-08 | 2006-03-08 | Device having shared memory and method for providing access status information by shared memory |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100700040B1 (en) |
WO (1) | WO2007102712A1 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884055A (en) * | 1996-11-27 | 1999-03-16 | Emc Corporation | Method and apparatus including a shared resource and multiple processors running a common control program accessing the shared resource |
EP1182570A3 (en) * | 2000-08-21 | 2004-08-04 | Texas Instruments Incorporated | TLB with resource ID field |
US20060059319A1 (en) * | 2002-04-04 | 2006-03-16 | Rudi Frenzel | Architecture with shared memory |
KR20040106778A (en) * | 2003-06-11 | 2004-12-18 | 엘지전자 주식회사 | Device and the Method for sharing the memory of mobile phone with a couples of processor |
-
2006
- 2006-03-08 KR KR1020060021902A patent/KR100700040B1/en active IP Right Grant
-
2007
- 2007-03-08 WO PCT/KR2007/001140 patent/WO2007102712A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2007102712A1 (en) | 2007-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100740635B1 (en) | Portable device and method for controlling shared memory in portable device | |
KR100591371B1 (en) | Method for varying size of partitioned blocks of shared memory and portable terminal having shared memory | |
KR100855701B1 (en) | Chip combined with a plurality of processor cores and data processing method thereof | |
KR100592105B1 (en) | Method for controlling access to partitioned blocks of shared memory and portable terminal having shared memory | |
KR100634566B1 (en) | Method for controlling shared memory and user terminal for controlling operation of shared memory | |
KR100782592B1 (en) | Device having shared memory and method for controlling shared memory | |
KR100748191B1 (en) | Device having shared memory and method for providing access status information by shared memory | |
KR100728650B1 (en) | Method and apparatus for sharing multi-partitioned memory through a plurality of routes | |
KR100746364B1 (en) | Method and apparatus for sharing memory | |
KR100731969B1 (en) | Method and apparatus for sharing memory through a plurality of routes | |
KR100736902B1 (en) | Method and apparatus for sharing memory by a plurality of processors | |
KR100592106B1 (en) | Method and apparatus for allowing access to individual memory | |
KR100592109B1 (en) | Method for controlling access to partitioned blocks of shared memory and portable terminal having shared memory | |
KR100700040B1 (en) | Device having shared memory and method for providing access status information by shared memory | |
KR100592108B1 (en) | Rapid data delivery method among processors and digital processing apparatus having shared memory | |
KR100658588B1 (en) | Memory sharing system and method thereof | |
US20090222630A1 (en) | Memory share by a plurality of processors | |
US20080005417A1 (en) | Method for speedy delivery of data between processors and digital processing apparatus having shared memory | |
KR100888427B1 (en) | Device having shared memory and method for displaying data | |
KR100658591B1 (en) | Method and apparatus for controlling display using shared memory | |
KR20070118920A (en) | Digital processing apparatus having shared memory and method for accessing to partitioned area in shared memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
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: 20130221 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140303 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150302 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180226 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190225 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20200225 Year of fee payment: 14 |