KR20070118920A - Digital processing apparatus having shared memory and method for accessing to partitioned area in shared memory - Google Patents
Digital processing apparatus having shared memory and method for accessing to partitioned area in shared memory Download PDFInfo
- Publication number
- KR20070118920A KR20070118920A KR1020060053224A KR20060053224A KR20070118920A KR 20070118920 A KR20070118920 A KR 20070118920A KR 1020060053224 A KR1020060053224 A KR 1020060053224A KR 20060053224 A KR20060053224 A KR 20060053224A KR 20070118920 A KR20070118920 A KR 20070118920A
- Authority
- KR
- South Korea
- Prior art keywords
- control unit
- memory
- additional
- bus
- controller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Abstract
Description
도 1은 종래의 카메라 기능을 구비한 이동 통신 단말기의 블록 구성도.1 is a block diagram of a mobile communication terminal having a conventional camera function.
도 2는 종래의 메인 제어부, 부가 제어부 및 각각의 메모리간의 결합 구조를 예시한 도면.2 is a diagram illustrating a coupling structure between a conventional main controller, an additional controller, and respective memories;
도 3은 본 발명의 바람직한 일 실시예에 따른 메인 제어부, 부가 제어부 및 메모리부간의 결합 구조를 나타낸 도면.3 is a diagram illustrating a coupling structure between a main controller, an additional controller, and a memory unit according to an exemplary embodiment of the present invention.
도 4는 본 발명의 바람직한 일 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면.4 is a diagram illustrating a divided state of a storage area of a memory unit according to an exemplary embodiment of the present invention.
도 5는 본 발명의 바람직한 일 실시예에 따른 분할된 저장 영역의 크기 가변 방법을 나타낸 순서도. 5 is a flowchart illustrating a method for varying a size of a partitioned storage area according to an exemplary embodiment of the present invention.
도 6은 본 발명의 바람직한 다른 실시예에 따른 메인 제어부, 부가 제어부 및 메모리부간의 결합 구조를 나타낸 도면.6 is a diagram illustrating a coupling structure between a main controller, an additional controller, and a memory unit according to another exemplary embodiment of the present invention.
도 7은 본 발명의 바람직한 일 실시예에 따른 메인 제어부, 부가 제어부 및 메모리부간의 결합 구조를 나타낸 도면.7 is a diagram illustrating a coupling structure between a main controller, an additional controller, and a memory unit according to an exemplary embodiment of the present invention.
도 8은 본 발명의 바람직한 일 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면.8 is a diagram illustrating a divided state of a storage area of a memory unit according to an exemplary embodiment of the present invention.
도 9는 본 발명의 바람직한 일 실시예에 따른 임의의 제어부가 분할 저장 영역에 억세스하는 과정을 나타낸 순서도.9 is a flowchart illustrating a process of accessing a divided storage area by an arbitrary control unit according to an exemplary embodiment of the present invention.
도 10은 본 발명의 바람직한 다른 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면.10 is a diagram illustrating a divided state of a storage area of a memory unit according to another exemplary embodiment of the present invention.
도 11은 본 발명의 바람직한 일 실시예에 따른 메인 제어부, 부가 제어부, 메모리부 및 디스플레이 장치간의 결합 구조를 나타낸 도면.11 is a view illustrating a coupling structure between a main controller, an additional controller, a memory unit, and a display device according to an exemplary embodiment of the present invention.
도 12는 본 발명의 바람직한 일 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면.12 is a diagram illustrating a divided state of a storage area of a memory unit according to an exemplary embodiment of the present invention.
도 13은 본 발명의 바람직한 일 실시예에 따른 분할 저장 영역에 대한 접속 권한 제어에 따른 제어부의 순차적 접속 및 처리 과정을 나타낸 데이터 흐름도.FIG. 13 is a data flow diagram illustrating a sequential connection and processing procedure of a control unit according to access authority control for a divided storage area according to an exemplary embodiment of the present invention. FIG.
도 14 내지 도 16은 종래의 메모리 공유 구조를 나타낸 도면.14-16 illustrate a conventional memory sharing structure.
도 17은 도 16의 메모리 공유 구조에서의 타 메모리를 이용한 데이터 기록 방법을 나타낸 순서도.FIG. 17 is a flowchart illustrating a data writing method using another memory in the memory sharing structure of FIG. 16. FIG.
도 18은 본 발명의 바람직한 일 실시예에 따른 메모리 공유 구조를 나타낸 도면.Figure 18 illustrates a memory sharing structure in accordance with one preferred embodiment of the present invention.
도 19는 본 발명의 바람직한 일 실시예에 따른 메인 제어부의 처리 데이터를 비구동 상태의 부가 제어부에 종속된 메모리에 저장하는 과정을 나타낸 도면.FIG. 19 illustrates a process of storing processing data of a main controller in a memory dependent on an additional controller in a non-driven state according to an exemplary embodiment of the present invention; FIG.
도 20은 본 발명의 바람직한 다른 실시예에 따른 비구동 상태의 제1 부가 제 어부에 종속된 메모리에 제2 부가 제어부가 처리 데이터를 저장하는 과정을 나타낸 도면.20 is a diagram illustrating a process of storing, by a second additional control unit, processing data in a memory that is dependent on a first additional control unit in a non-driven state according to another exemplary embodiment of the present invention.
도 21은 종래의 복수의 메모리가 이용되는 장치의 구성을 나타낸 도면.Fig. 21 is a diagram showing the configuration of a device in which a plurality of conventional memories are used.
도 22는 종래의 부가 제어부의 개략적인 블록 구성도.22 is a schematic block diagram of a conventional additional control unit.
도 23은 본 발명의 바람직한 일 실시예에 따른 복수의 메모리와 결합되는 장치의 구성을 개략적으로 나타낸 도면.FIG. 23 schematically illustrates a configuration of an apparatus combined with a plurality of memories according to an exemplary embodiment of the present invention. FIG.
도 24는 본 발명의 바람직한 일 실시예에 따른 부가 제어부의 개략적인 블록 구성도.24 is a schematic block diagram of an additional controller according to an exemplary embodiment of the present invention.
도 25는 본 발명의 바람직한 일 실시예에 따른 메모리 인터페이스의 핀 용도(핀 먹싱 테이블)를 예시한 도면.FIG. 25 illustrates pin usage (pin muxing tables) of a memory interface in accordance with one preferred embodiment of the present invention. FIG.
본 발명은 디지털 처리 장치에 관한 것으로, 특히 복수의 프로세서가 구비된 디지털 처리 장치에 관한 것이다.The present invention relates to a digital processing device, and more particularly, to a digital processing device having a plurality of processors.
디지털 처리 장치 중 휴대형 단말기는 게임, 이동 통신 등의 기능을 수행하기 위하여 작은 크기로 형성되어 사용자의 휴대를 용이하게 한 전자 장치를 의미한다. 휴대형 단말기에는 이동 통신 단말기, 개인 휴대 단말기(PDA : Personal Digital Assistant), 휴대형 멀티미디어 단말기(PMP : Portable Multimedia Player) 등이 있을 수 있다.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 include a mobile communication terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), and 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 of a mobile communication terminal having a conventional 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)로 전달한다.The
메인 메모리(140)는 이동 통신 단말기(100)의 운용 프로그램, 각종 데이터 등을 저장한다. 메인 메모리(140)는 플래시 메모리(Flash Memory) 또는 EEPROM(Electrically Erasable Programmable Read Only Memory) 등으로 구성될 수 있다.The
표시부(145)는 이동 통신 단말기(100)의 동작 상태, 카메라(150)를 통해 촬영된 외부 영상 등을 표시한다.The
카메라(150)는 외부 영상(피사체)를 촬영하고, 영상 처리부(155)는 카메라(150)에 의해 촬영영상을 처리한다. The
영상 처리부(155)는 색 보간, 감마 보정, 화질 보정, JPEG 부호화 등의 기능을 수행한다. The
보조 메모리(160)는 영상 처리부(155)에 의해 처리된 외부 영상 등을 저장한다.The
상술한 바와 같이, 카메라 기능을 구비한 이동 통신 단말기(100)는 복수의 프로세서(즉, 메인 프로세서와 부가 기능 수행을 위한 하나 이상의 어플리케이션 프로세서)를 구비한다. 여기서, 어플리케이션 프로세서의 동작은 메인 프로세서에 의해 제어될 수 있다. 즉, 도 1에 도시된 바와 같이 이동 통신 단말기(100)의 전체적인 기능을 제어하기 위한 제어부(125)와 카메라 기능을 제어하기 위한 영상 처리부(155)가 포함된다. 또한, 각각의 프로세서는 각각 독립된 메모리와 결합되도록 구성된다. 본 명세서에서 메인 프로세서와 메인 제어부, 어플리케이션 프로세서와 부가 제어부는 각각 혼용하여 사용하기로 한다.As described above, the
어플리케이션 프로세서들의 형태는 휴대형 단말기에 어떤 부가 기능들이 구비되는지에 따라 상이할 수 있다. 예를 들어, 카메라 기능 수행을 위한 어플리케이션 프로세서는 JPEG 부호화(encoding), JPEG 복호화(decoding) 등의 기능을 수행할 수 있고, 동영상 재생 기능을 수행하기 위한 어플리케이션 프로세서는 비디오 파일(예를 들어, MPEG4, DIVX, H.264)의 부호화, 복호화 등을 수행할 수 있고, 음악 파일 재생 기능을 수행하기 위한 어플리케이션 프로세서는 음악 파일의 부호화, 복호화 등을 수행할 수 있다. 물론, 상술한 다양한 기능을 통합적으로 수행할 수 있는 어플리케이션 프로세서도 존재할 수 있다. 이러한 제어부들 각각에는 제어부에 의해 처리된 데이터를 저장하기 위한 메모리가 개별적으로 존재한다. 따라서, 종래 기술에 의하면 휴대형 단말기의 기능이 다기능화될수록 제어부의 수량 및 메모리의 수량도 증대되어야 하는 문제점이 있다.The type of application processors may differ depending on what additional functions are equipped in the portable terminal. For example, an application processor for performing a camera function may perform a function such as JPEG encoding or JPEG decoding, and an application processor for performing a video playback function may include a video file (eg, 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 controllers individually has a memory for storing data processed by the controller. Therefore, according to the related art, as the function of the portable terminal becomes more multifunctional, there is a problem that the quantity of the controller and the quantity of the memory must also increase.
도 2는 종래의 메인 제어부, 부가 제어부 및 각각의 메모리간의 결합 구조를 예시한 도면이다.2 is a diagram illustrating a coupling structure between a conventional main controller, an additional controller, and respective memories.
도 2를 참조하면, 메인 제어부(210)와 부가 제어부(220)가 버스(BUS) 1을 통해 정보를 송수신하고, 메인 제어부(210)는 메인 메모리(230)와 버스 2를 통해 결 합되며, 부가 제어부(220)와 부가 메모리(240)는 버스 3을 통해 결합되어 있다. 버스(Bus)는 컴퓨터 등에서 제어부와 주기억장치, 입출력 장치 간에 정보를 전송하는 데 사용되는 공용 목적의 전기적 통로를 의미한다. 버스는 각 장치(device)의 주소나 기억장치의 위치를 나타내는 정보들을 위한 선과 수행될 다양한 데이터 전송동작을 구별하기 위한 선을 포함한다.Referring to FIG. 2, the
도 2에 도시된 바와 같이, 각각의 제어부(210, 220)는 각각의 메모리(230, 240)와 독립적으로 결합되므로, 현재 수행되는 동작이 무엇인가에 따라 메인 제어부(210)는 메인 메모리(230)에 저장된 데이터를 읽어 호스트 인터페이스(Host Interface)를 통해 부가 제어부(220)로 전송하거나 부가 제어부(220)에 요청하여 부가 메모리(240)에 저장된 데이터를 읽어오는 등의 동작을 수행한다.As shown in FIG. 2, each of the
이 경우, 메인 제어부(210)와 부가 제어부(220)간에 송수신되는 데이터의 양이 많을수록 각 제어부(210, 220)는 자체 프로세스보다는 타 제어부의 요청에 따른 동작(즉, 메모리 억세스, 호스트 인터페이스 동작 등)에 보다 많은 시간을 소비하게 되는 문제점이 발생된다.In this case, as the amount of data transmitted and received between the
상술한 문제점은 휴대형 단말기에서 수행되는 기능이 많아지고, 또한 처리되어야할 데이터의 양이 많아짐에 따라 메인 제어부(210)와 부가 제어부(220)간의 데이터 송수신에 병목 현상을 야기하는 문제점이 있다. The above-described problem has a problem of causing bottlenecks in data transmission and reception between the
결과적으로, 상술한 문제점들은 다기능 휴대형 단말기의 전체 성능을 약화시키는 원인이 된다.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 allocate a dedicated area to each of the plurality of controllers coupled to the shared memory, thereby minimizing data transfer time, and sharing to optimize the operation speed of each controller. A digital processing apparatus having a memory and a method of accessing a partition of a shared memory are provided.
본 발명의 다른 목적은 메모리의 저장 영역을 공유 영역과 각 제어부들에 대한 전용 영역으로 할당함으로써 최적의 메모리 분할이 가능한 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.Another object of the present invention is to provide a digital processing apparatus having a shared memory capable of optimal memory partitioning by allocating a storage area of the memory as a shared area and a dedicated area for each of the controllers, and a method of accessing a partitioned area of the shared memory.
본 발명의 또 다른 목적은 하나의 메모리를 복수의 제어부들이 공유함으로써 필요한 데이터의 공유를 용이하게 하는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a digital processing apparatus having a shared memory that facilitates sharing of necessary data by sharing a single memory with a plurality of controllers, and a method of accessing a partition of the shared memory.
본 발명의 또 다른 목적은 특정 메모리에 저장된 데이터를 각 제어부간에 주고받는 불필요한 시간 손실(time loss)를 제거함으로써 고효율의 데이터 처리가 가능한 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a digital processing apparatus having a shared memory capable of processing data with high efficiency by eliminating unnecessary time loss of data stored in a specific memory between control units and a method of accessing a partition of the shared memory. To provide.
본 발명의 또 다른 목적은 공유 메모리의 저장 영역을 복수의 분할 영역으로 분할하고 각 분할 영역에 복수의 제어부들의 억세스를 가능하게 함으로써 각 제어부간의 데이터 전송 시간을 최소화할 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to divide a storage area of a shared memory into a plurality of partitions and to allow access of a plurality of controllers to each partition, thereby enabling digital processing having a shared memory capable of minimizing data transfer time between the controllers. A method of accessing a partition of a device and a shared memory is provided.
본 발명의 또 다른 목적은 복수의 영역으로 분할된 공유 메모리의 저장 영역 을 복수의 제어부들의 억세스를 가능하게 함으로써 각 제어부는 자체 프로세스만을 담당할 수 있어 각 제어부의 동작 속도 및 효율을 최적화할 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to enable a plurality of controllers to access a storage area of a shared memory divided into a plurality of regions, so that each controller can be in charge of its own process to optimize the operation speed and efficiency of each controller. A digital processing apparatus having a shared memory and a partition access method of the shared memory are provided.
본 발명의 또 다른 목적은 공유 메모리의 영역을 분할하여 사용함으로써 소프트웨어에서 공유 메모리의 제어가 용이한 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a digital processing apparatus having a shared memory and a method for accessing a shared memory having a shared memory, which can easily control the shared memory in software by dividing and using the shared memory.
본 발명의 또 다른 목적은 공유 메모리의 분할된 저장 영역을 복수의 제어부들이 교차하여 접속(Access)할 수 있으므로 접속 권한만의 이전에 의해 즉시 데이터가 전달된 효과가 발생하는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a digital processing having a shared memory in which a plurality of controllers can access and access a divided storage area of a shared memory in a manner that data can be immediately transferred by transfer of only access authority. A method of accessing a partition of a device and a shared memory is provided.
본 발명의 또 다른 목적은 공유 메모리가 분할된 저장 영역에 대한 상태 정보(즉, 점유 상태 정보)를 생성하여 출력함으로써 각 제어부들의 제어 시퀀스(sequence)를 최대한 간략하게 할 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to generate and output state information (i.e., occupied state information) for a storage area in which a shared memory is partitioned, and have a digital memory having a shared memory capable of simplifying the control sequence of each controller as much as possible. A method of accessing a partition of a processing device and a shared memory is provided.
본 발명의 또 다른 목적은 메인 제어부는 공유 메모리의 분할된 저장 영역에 순차적으로 임의의 데이터를 기록(write) 동작을 수행하고 부가 제어부는 메인 제어부가 기록한 저장 영역에 순차적으로 접속하여 읽기(read) 동작을 수행하도록 함으로써 데이터 전달 속도를 최대화할 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.Still another object of the present invention is that the main controller sequentially writes arbitrary data to the divided storage area of the shared memory, and the additional controller sequentially accesses the storage area recorded by the main controller to read the data. The present invention provides a digital processing apparatus having a shared memory and a partition access method of the shared memory capable of maximizing data transfer speed by performing an operation.
본 발명의 또 다른 목적은 간단한 구성의 메인 제어부에 의해 복수의 부가 제어부의 동작을 제어할 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a digital processing apparatus having a shared memory capable of controlling operations of a plurality of additional controllers by a main controller having a simple configuration, and a method of accessing a partition of the shared memory.
본 발명의 또 다른 목적은 메인 메모리에 의한 버스 컨트롤 기능 수행이 없거나 최소화됨으로써 메인 메모리의 처리 효율을 최적화할 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a digital processing apparatus having a shared memory capable of optimizing the processing efficiency of the main memory by performing no or minimizing bus control function by the main memory and a method of accessing a partition of the shared memory.
본 발명의 또 다른 목적은 비구동 상태인 부가 제어부가 종속된 메모리에 타 부가 제어부에 의해 생성되거나 요청된 데이터를 저장하는 불필요한 처리 동작이 제거될 수 있어 불필요한 전원 소모를 최소화할 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a shared memory capable of minimizing unnecessary power consumption by eliminating unnecessary processing operations for storing data generated or requested by another additional control unit in a memory in which the additional control unit which is not driven is dependent. The present invention provides a method for accessing a partition of a digital processing device and a shared memory.
본 발명의 또 다른 목적은 저장하고자 하는 데이터를 타 부가 제어부에 종속된 메모리에 저장할 때 타 부가 제어부의 처리 동작이 생략됨으로써 데이터 저장에 따른 처리 시간을 최소화할 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.Still another object of the present invention is to provide a digital processing apparatus having a shared memory capable of minimizing processing time due to data storage by omitting the processing operation of another additional control unit when storing data to be stored in a memory dependent on the other additional control unit; It is to provide a partition access method of shared memory.
본 발명의 또 다른 목적은 각 제어부들이 사용할 수 있는 가용 메모리 크기를 최대화할 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a digital processing apparatus having a shared memory capable of maximizing the available memory size available to each controller and a method of accessing a partition of the shared memory.
본 발명의 또 다른 목적은 종래의 버스 컨트롤 로직(logic)보다 훨씬 간단한 바이패스 로직(bypass logic)이 적용되는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a digital processing device having a shared memory to which bypass logic is applied, which is much simpler than a conventional bus control logic, and a method of accessing a partition of the shared memory.
본 발명의 또 다른 목적은 복수의 메모리와 결합되도록 하기 위한 메모리 인터페이스 구조를 최대한 간단하게 할 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a digital processing apparatus having a shared memory and a method of accessing a partition of the shared memory, which can simplify the memory interface structure to be combined with a plurality of memories as much as possible.
본 발명의 또 다른 목적은 메모리 인터페이스에 포함되는 핀(pin)들의 수량을 최소화함으로써 부가 제어부의 효율을 증가시키고, 또한 부가 제어부 구동을 위한 동작 전류를 감소시킬 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.Another object of the present invention is to increase the efficiency of the additional control unit by minimizing the number of pins included in the memory interface, and also to the digital processing apparatus having a shared memory capable of reducing the operating current for driving the additional control unit. It is to provide a partition access method of shared memory.
본 발명의 또 다른 목적은 복수의 메모리에 통합적으로 결합될 수 있는 메모리 인터페이스 구조를 간단화함으로써 부가 제어부의 가격을 낮출 수 있는 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.It is still another object of the present invention to provide a digital processing apparatus having a shared memory capable of lowering the price of an additional control unit by simplifying a memory interface structure that can be integrated into a plurality of memories, and a method of accessing a partition of the shared memory. will be.
본 발명의 또 다른 목적은 항상 사용되지는 않는 기능을 위해 핀을 만들어 외부로 뽑아야 하는 문제점을 해결하고, 메모리 인터페이스 공유를 통해 사용하고자 하는 인터페이스의 경로(Path)만을 열어주어 이에 맞는 로직만을 동작시킴으로써 보다 효율적인 동작이 가능한 공유 메모리를 가지는 디지털 처리 장치 및 공유 메모리의 분할 영역 억세스 방법을 제공하는 것이다.Another object of the present invention is to solve the problem of having to pull out the pin for a function that is not always used, by opening only the path of the interface to be used by sharing the memory interface to operate only the logic corresponding thereto A digital processing apparatus having a shared memory capable of more efficient operation and a method of accessing a partition of the shared memory are provided.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.Other objects of the present invention will be readily understood through the following description.
상기 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면 디지털 처리 장치가 제공된다.In order to achieve the above objects, according to one aspect of the present invention, a digital processing device is provided.
본 발명의 바람직한 일 실시예에 따른 휴대형 단말기는 메모리부; 상기 메모리부와 AP(Application Processor)-SM(Shared Memory) 버스(BUS)를 통해 결합되어, 상기 AP-SM 버스를 통해 접속(access)된 상기 메모리부에 저장된 원시 데이터를 처리 명령에 상응하도록 처리하여 저장하는 부가 제어부; 및 상기 메모리부와 MP(Main Processor)-SM 버스를 통해 결합되고, 상기 부가 제어부와 MP-AP 버스를 통해 결합되어 상기 처리 명령을 상기 MP-AP 버스를 통해 상기 부가 제어부로 전송하는 메인 제어부를 포함한다. 여기서, 상기 메모리부의 저장 영역은 상기 부가 제어부만이 억세스 가능한 제1 전용 영역, 상기 메인 제어부만이 억세스 가능한 제2 전용 영역, 상기 부가 제어부와 상기 메인 제어부가 억세스 가능한 공동 영역 및 가변 영역으로 분할되고, 상기 가변 영역은 상기 메인 제어부, 상기 부가 제어부 중 어느 하나에 의해 생성된 영역 분할 정보에 상응하도록 상기 제1 전용 영역, 상기 제2 전용 영역 및 상기 공동 영역 중 하나 이상에 포함되도록 가변적으로 변경될 수 있다.A portable terminal according to an embodiment of the present invention comprises a memory unit; Combined through the memory unit and an AP (Shared Memory) bus (BUS), the raw data stored in the memory unit accessed through the AP-SM bus is processed to correspond to a processing instruction. An additional control unit for storing the information; And a main control unit coupled to the memory unit through a Main Processor (MP) -SM bus, and coupled to the additional control unit through an MP-AP bus to transmit the processing command to the additional control unit through the MP-AP bus. Include. The storage area of the memory unit may be divided into a first dedicated area accessible only by the additional control unit, a second dedicated area accessible only by the main control unit, a common area accessible by the additional control unit and the main control unit, and a variable area. The variable area may be variably changed to be included in at least one of the first dedicated area, the second dedicated area, and the common area to correspond to area division information generated by one of the main control unit and the additional control unit. Can be.
상기 메모리부는 상기 AP-SM 버스를 통해 상기 부가 제어부와 정보를 송수신하고, 상기 MP-SM 버스를 통해 상기 메인 제어부와 정보를 송수신하기 위한 각각 독립된 인터페이스 구조를 가질 수 있다.The memory unit may have an independent interface structure for transmitting and receiving information with the additional control unit through the AP-SM bus and transmitting and receiving information with the main control unit through the MP-SM bus.
제1 제어부는 상기 영역 분할 정보를 생성하여 상기 MP-AP 버스를 통해 제2 제어부로 전송하되, 상기 제1 제어부는 상기 메인 제어부 또는 상기 부가 제어부 중 어느 하나이고, 상기 제2 제어부는 상기 메인 제어부 또는 상기 부가 제어부 중 다른 하나일 수 있다.The first control unit generates the area partitioning information and transmits the divided information to the second control unit through the MP-AP bus, wherein the first control unit is either the main control unit or the additional control unit, and the second control unit is the main control unit. Alternatively, the additional control unit may be another one.
상기 공동 영역에 억세스된 상기 제1 제어부는 기록하고자 하는 데이터의 크기가 상기 공동 영역의 기록 가능 용량의 크기보다 큰 경우 영역 재분할 정보를 생성하고, 상기 영역 재분할 정보에 의해 상기 제1 전용 영역, 상기 제2 전용 영역 중 하나 이상에 포함된 일부 또는 전부의 상기 가변 영역이 상기 공동 영역으로 포함되어 상기 공동 영역의 크기가 확장될 수 있다.The first control unit accessing the common area generates area repartitioning information when the size of data to be recorded is greater than the size of a recordable capacity of the common area, and generates the first dedicated area by the area repartitioning information. Some or all of the variable regions included in at least one of the second dedicated regions may be included as the common region, thereby expanding the size of the common region.
상기 AP-SM 버스와 상기 MP-SM 버스 중 상기 MP-SM 버스가 우선 권한을 가질 수 있다.The MP-SM bus may have priority among the AP-SM bus and the MP-SM bus.
상기 처리 명령은 상기 원시 데이터의 처리 유형에 대한 지시 정보, 상기 원시 데이터의 저장 위치를 포함할 수 있다. 상기 처리 명령은 상기 지시 정보에 상응하도록 처리된 원시 데이터를 저장하기 위한 위치 정보를 더 포함할 수 있다.The processing instruction may include instruction information on a processing type of the raw data and a storage location of the raw data. The processing instruction may further include location information for storing the raw data processed to correspond to the indication information.
본 발명의 바람직한 다른 실시예에 따른 디지털 처리 장치는 메모리부; 상기 메모리부와 AP-SM 버스를 통해 결합되어, 상기 AP-SM 버스를 통해 접속된 상기 메모리부에 저장된 원시 데이터를 처리 명령에 상응하도록 처리하여 저장하는 부가 제어부; 및 상기 메모리부와 MP-SM 버스를 통해 결합되고, 상기 부가 제어부와 MP-AP 버스를 통해 결합되어 상기 원시 데이터의 처리 유형에 대한 지시 정보, 상기 원시 데이터의 저장 위치를 포함하는 상기 처리 명령을 상기 MP-AP 버스를 통해 상기 부가 제어부로 전송하는 메인 제어부를 포함할 수 있다. 여기서, 상기 메모리부 의 저장 영역은 상기 부가 제어부가 상기 AP-SM 버스를 통해 접속 가능하고, 상기 메인 제어부가 상기 MP-SM 버스를 통해 접속 가능한 복수의 분할 저장 영역으로 분할되고, 상기 메모리부는 상기 AP-SM 버스를 통해 상기 부가 제어부와 정보를 송수신하기 위한 제1 포트 및 상기 MP-SM 버스를 통해 상기 메인 제어부와 정보를 송수신하기 위한 제2 포트를 구비할 수 있다.According to another preferred embodiment of the present invention, a digital processing device includes a memory unit; An additional control unit coupled to the memory unit through an AP-SM bus and processing and storing raw data stored in the memory unit connected through the AP-SM bus according to a processing command; And the processing command coupled to the memory unit through an MP-SM bus, and coupled to the additional control unit through an MP-AP bus to indicate instruction information about a processing type of the raw data and a storage location of the raw data. It may include a main control unit for transmitting to the additional control unit via the MP-AP bus. Here, the storage area of the memory unit is divided into a plurality of divided storage areas accessible by the additional control unit via the AP-SM bus, and accessible by the main control unit via the MP-SM bus, and the memory unit is A first port for transmitting and receiving information to and from the additional control unit through an AP-SM bus and a second port for transmitting and receiving information to and from the main control unit through the MP-SM bus may be provided.
상기 메인 제어부 또는 상기 부가 제어부 중 어느 하나가 어느 하나의 분할 저장 영역에 억세스하는 경우, 상기 메인 제어부 또는 상기 부가 제어부 중 나머지 다른 하나로 상기 MP-AP 버스를 통해 억세스 상태 정보를 전송할 수 있다.When either the main controller or the additional controller accesses any one of the divided storage areas, the access state information may be transmitted to the other of the main controller or the additional controller through the MP-AP bus.
상기 분할 저장 영역들의 크기에 상응하는 영역 분할 정보는 상기 메인 제어부 또는 상기 부가 제어부 중 어느 하나에 의해 설정되고, 상기 MP-AP 버스를 통해 상기 메인 제어부 또는 상기 부가 제어부 중 나머지 다른 하나로 전달될 수 있다.The area partitioning information corresponding to the size of the divided storage areas may be set by either the main controller or the additional controller and transferred to the other of the main controller or the additional controller via the MP-AP bus. .
상기 처리 명령은 상기 지시 정보에 상응하도록 처리된 원시 데이터를 저장하기 위한 위치 정보를 더 포함할 수 있다.The processing instruction may further include location information for storing the raw data processed to correspond to the indication information.
상기 복수의 분할 저장 영역은 상기 부가 제어부와 상기 메인 제어부간에 데이터를 전달하기 위한 데이터 전달 영역을 포함할 수 있다.The plurality of divided storage areas may include a data transfer area for transferring data between the additional control unit and the main control unit.
본 발명의 바람직한 또 다른 실시예에 따른 디지털 처리 장치는 복수의 분할 저장 영역으로 분할되고, 제1 포트 및 제2 포트를 구비한 메모리부; 상기 제1 포트와 MP-SM 버스를 통해 결합되고, 상기 MP-SM 버스를 통해 어느 하나의 분할 저장 영역에 접속하여 원시 데이터를 기록한 후, 상기 원시 데이터의 처리 명령을 MP-AP 버스를 통해 출력하는 메인 제어부; 및 상기 제2 포트와 AP-SM 버스를 통해 결합되 고, 상기 MP-AP 버스를 통해 상기 메인 제어부와 결합되며, 상기 MP-AP 버스를 통해 입력받은 상기 처리 명령에 상응하도록 상기 AP-SM 버스를 통해 상기 메모리부의 상기 분할 저장 영역에 기록된 상기 원시 데이터를 독출(read)하여 처리하는 부가 제어부를 포함할 수 있다. 여기서, 상기 각 분할 저장 영역은 상기 부가 제어부가 상기 AP-SM 버스를 통해 접속 가능하고, 상기 메인 제어부가 상기 MP-SM 버스를 통해 접속 가능하며, 상기 부가 제어부는 상기 MP-AP 버스를 통해 상기 메인 제어부로부터 상기 원시 데이터가 기록된 저장 위치 정보가 수신되는지 여부에 따라 상기 저장 위치 정보 또는 디폴트(default)로 설정된 저장 위치 정보를 이용하여 상기 분할 저장 영역에 기록된 상기 원시 데이터를 독출할 수 있다.According to still another aspect of the present invention, there is provided a digital processing apparatus comprising: a memory unit having a first port and a second port divided into a plurality of divided storage regions; Coupled to the first port through an MP-SM bus, connected to any one of the divided storage areas through the MP-SM bus to record raw data, and then outputs a processing command of the raw data through an MP-AP bus. A main control unit; And the AP-SM bus coupled to the second port through an AP-SM bus, coupled to the main controller via the MP-AP bus, and corresponding to the processing command received through the MP-AP bus. An additional control unit may be configured to read and process the raw data recorded in the divided storage area of the memory unit through the read unit. Here, each of the divided storage areas may be accessed by the additional controller through the AP-SM bus, the main controller may be connected through the MP-SM bus, and the additional controller may be connected to the MP-AP bus. The raw data recorded in the divided storage area may be read using the storage location information or storage location information set as a default according to whether storage location information on which the raw data is recorded is received from the main controller. .
상기 복수의 분할 저장 영역 중 하나 이상은 상기 부가 제어부와 상기 메인 제어부간에 데이터를 전달하기 위한 데이터 전달 영역이고, 상기 원시 데이터는 상기 데이터 전달 영역에 기록될 수 있다.At least one of the plurality of divided storage areas may be a data transfer area for transferring data between the additional control unit and the main control unit, and the raw data may be recorded in the data transfer area.
상기 처리 명령은 상기 원시 데이터의 처리 유형에 대한 지시 정보, 상기 저장 위치 정보를 포함할 수 있다. 또한, 상기 지시 정보에 상응하도록 처리된 원시 데이터를 저장하기 위한 위치 정보를 더 포함할 수도 있다.The processing instruction may include instruction information on a processing type of the raw data and the storage location information. The apparatus may further include location information for storing the raw data processed to correspond to the indication information.
상기 메인 제어부 또는 상기 부가 제어부 중 어느 하나가 어느 하나의 분할 저장 영역에 억세스하는 경우, 상기 메인 제어부 또는 상기 부가 제어부 중 나머지 다른 하나로 상기 MP-AP 버스를 통해 억세스 상태 정보를 전송할 수 있다.When either the main controller or the additional controller accesses any one of the divided storage areas, the access state information may be transmitted to the other of the main controller or the additional controller through the MP-AP bus.
상기 분할 저장 영역들의 크기에 상응하는 영역 분할 정보는 상기 메인 제어부 또는 상기 부가 제어부 중 어느 하나에 의해 설정되고, 상기 MP-AP 버스를 통해 상기 메인 제어부 또는 상기 부가 제어부 중 나머지 다른 하나로 전달될 수 있다.The area partitioning information corresponding to the size of the divided storage areas may be set by either the main controller or the additional controller and transferred to the other of the main controller or the additional controller via the MP-AP bus. .
본 발명의 바람직한 또 다른 실시예에 따른 디지털 처리 장치는 출력 장치; m(2 내지 n(2이상의 자연수) 중 임의의 자연수)개의 분할 저장 영역으로 구성된 메모리부; 상기 메모리부와 AP-SM 버스를 통해 결합되어, 상기 AP-SM 버스를 통해 접속(access)된 임의의 분할 저장 영역에 기록된 원시 데이터를 독출하여 처리 명령에 상응하도록 처리한 후 상기 출력 장치를 통해 출력되도록 하는 부가 제어부; 및 상기 부가 제어부와 MP-AP 버스를 통해 결합되어 상기 처리 명령을 상기 MP-AP 버스를 통해 상기 부가 제어부로 전송하고, 상기 메모리부와 MP-SM 버스를 통해 결합되어 상기 원시 데이터를 상기 분할 저장 영역에 기록하는 메인 제어부를 포함할 수 있다. 여기서, 상기 메모리부는 상기 분할 저장 영역에 대한 상기 부가 제어부 또는 상기 메인 제어부의 접속 상태 정보를 생성하여 상기 부가 제어부 및 상기 메인 제어부로 전송할 수 있다.According to another preferred embodiment of the present invention, a digital processing device includes an output device; a memory unit including m (any natural number of 2 to n (natural numbers of two or more)) divided storage areas; The output unit is coupled to the memory unit through an AP-SM bus, reads raw data recorded in an arbitrary divided storage area accessed through the AP-SM bus, processes the data corresponding to a processing instruction, and then outputs the output device. An additional control unit to be output through; And the additional control unit coupled to the additional control unit through the MP-AP bus to transmit the processing command to the additional control unit through the MP-AP bus, and coupled to the memory unit and the MP-SM bus to divide and store the raw data. It may include a main control unit for recording in the area. The memory unit may generate connection state information of the additional controller or the main controller of the divided storage area and transmit the generated state information to the additional controller and the main controller.
상기 부가 제어부는 상기 접속 상태 정보를 참조하여 상기 메인 제어부가 상기 원시 데이터를 기록한 후 접속을 해제한 분할 저장 영역에 접속하여 상기 원시 데이터를 독출할 수 있다.The additional control unit reads the raw data by accessing the divided storage area where the main control unit releases the connection after recording the raw data with reference to the connection state information.
상기 메모리부는 상기 AP-SM 버스를 통해 상기 부가 제어부와 제어 신호 및 상기 원시 데이터를 송수신하기 위한 제1 포트 및 상기 MP-SM 버스를 통해 상기 메인 제어부와 제어 신호 및 상기 원시 데이터를 송수신하기 위한 제2 포트를 구비할 수 있다.The memory unit may include a first port for transmitting and receiving a control signal and the raw data to and from the additional controller through the AP-SM bus, and a source for transmitting and receiving the control signal and the raw data to and from the main controller through the MP-SM bus. It can have two ports.
상기 접속 상태 정보에 의해 하나의 분할 저장 영역에 상기 부가 제어부 및 상기 메인 제어부가 동시에 접속될 수 없도록 제어될 수 있다.The additional control unit and the main control unit may not be simultaneously connected to one divided storage area by the connection state information.
상기 분할 저장 영역들의 크기 또는 수량에 상응하는 영역 분할 정보는 상기 메인 제어부 또는 상기 부가 제어부 중 어느 하나인 제1 제어부에 의해 설정되고, 상기 제2 버스를 통해 상기 메인 제어부 또는 상기 부가 제어부 중 다른 하나인 제2 제어부로 전달될 수 있다.Area division information corresponding to the size or quantity of the divided storage areas is set by a first control unit which is either the main control unit or the additional control unit, and the other of the main control unit or the additional control unit via the second bus. It may be delivered to the second control unit.
상기 접속 상태 정보는 상기 분할 저장 영역에 상응하는 기록(write) 가능 상태 및 독출(read) 가능 상태에 관한 정보일 수 있다.The access state information may be information about a writeable state and a readable state corresponding to the divided storage area.
본 발명의 바람직한 또 다른 실시예에 따른 디지털 처리 장치는 미리 설정된 부가 기능을 수행하는 부가 제어부-여기서, 상기 부가 기능은 카메라 기능, 멀티미디어 데이터 재생 기능 중 적어도 어느 하나를 포함함-; 상기 부가 제어부에 종속되도록 결합 또는 삽입된 부가 메모리부; 및 상기 부가 제어부와 결합되어 상기 부가 제어부의 구동 개시 또는 구동 종료를 제어하는 메인 제어부를 포함할 수 있다. 여기서, 상기 부가 제어부는 상기 부가 메모리에 상응하는 버스(bus)를 점유하고 있지 않은 경우, 상기 메인 제어부와 상기 부가 메모리부가 직접적(direct)으로 결합되도록 경로(route)를 전환할 수 있다.According to still another aspect of the present invention, there is provided a digital processing apparatus, comprising: an additional controller configured to perform a preset additional function, wherein the additional function includes at least one of a camera function and a multimedia data reproduction function; An additional memory unit coupled or inserted to be slaved to the additional control unit; And a main control unit coupled to the additional control unit to control driving start or driving termination of the additional control unit. Here, when the additional control unit does not occupy a bus corresponding to the additional memory, the additional control unit may switch a route so that the main control unit and the additional memory unit are directly coupled.
상기 부가 제어부가 상기 부가 메모리에 상응하는 버스(bus)를 점유하고 있지 않은 경우는, 상기 부가 제어부가 비구동 상태로 진입한 경우, 상기 부가 제어부가 구동상태이지만 상기 부가 메모리를 이용하고 있지 않은 경우 중 적어도 어느 하나일 수 있다.When the additional control unit does not occupy a bus corresponding to the additional memory, when the additional control unit enters a non-driven state, and when the additional control unit is in a driving state but does not use the additional memory. It may be at least one of.
상기 부가 제어부는 상기 경로를 전환하기 위하여 바이패스 로직(bypass logic)을 구비하고, 상기 바이패스 로직(bypass logic)은 상기 부가 제어부가 비구동 상태로 진입한 직후 수행되며, 바이패스 로직 수행 후 상기 부가 제어부는 상기 메인 제어부로 상응하는 상태 정보를 전송할 수 있다.The additional control unit includes bypass logic to switch the path, and the bypass logic is performed immediately after the additional control unit enters a non-driven state. The additional control unit may transmit corresponding state information to the main control unit.
상기 부가 제어부는 상기 경로를 전환하기 위하여 바이패스 로직(bypass logic)을 구비하고, 상기 바이패스 로직(bypass logic)은 상기 구동 종료의 제어에 의해 상기 부가 제어부가 비구동 상태로 진입하였음을 감지한 상기 메인 제어부로부터의 명령에 의해 수행될 수 있다.The additional control unit includes bypass logic to switch the path, and the bypass logic detects that the additional control unit has entered a non-driven state by controlling the driving termination. It may be performed by a command from the main controller.
상기 메인 제어부는 처리된 또는 처리될 데이터를 상기 경로를 통해 상기 부가 메모리부에 기록(Write)할 수 있다.The main controller may write the processed or processed data to the additional memory through the path.
본 발명의 바람직한 또 다른 실시예에 따른 디지털 처리 장치의 부가 프로세서-상기 디지털 처리 장치는 메인 프로세서, 상기 메인 프로세서의 제어에 의해 미리 설정된 부가 기능을 수행하고 복수의 메모리에 결합되는 부가 프로세서를 포함함-는 상기 미리 설정된 부가 기능을 수행하는 프로세싱부; 상기 프로세싱부의 제어에 의해, 공유 메모리 인터페이스를 통해 결합된 제1 메모리 또는 제2 메모리 중 어느 하나와의 정보 송수신 경로를 설정하는 경로 제어부; 제1 메모리 인터페이스 및 상기 경로 제어부를 통해 상기 제1 메모리와 정보를 송수신하는 제1 메모리 컨트롤러; 및 제2 메모리 인터페이스 및 상기 경로 제어부를 통해 상기 제2 메모리와 정보를 송수신하는 제2 메모리 컨트롤러를 포함할 수 있다. 여기서, 상기 제1 메모리와의 인터페이스를 위한 총 핀의 수가 n(자연수)개이고, 상기 제2 메모리와의 인터페이스를 위한 총 핀의 수가 m(상기 n보다 큰 자연수)개인 경우, 상기 공유 메모 리 인터페이스는 하나 내지 n-1개 중 어느 하나인 k(자연수)개의 핀들을 포함하고, 상기 제1 메모리 인터페이스는 n-k개의 핀들을 포함하며, 상기 제2 메모리 인터페이스는 m-k개의 핀들을 포함할 수 있다.An additional processor of the digital processing apparatus according to another preferred embodiment of the present invention, wherein the digital processing apparatus includes a main processor and an additional processor that performs a preset additional function controlled by the main processor and is coupled to a plurality of memories. A processing unit which performs the preset additional function; A path controller configured to set an information transmission / reception path with any one of a first memory and a second memory coupled through a shared memory interface under the control of the processing unit; A first memory controller configured to transmit and receive information to and from the first memory through a first memory interface and the path controller; And a second memory controller configured to transmit and receive information to and from the second memory through a second memory interface and the path controller. Here, when the total number of pins for the interface with the first memory is n (natural number), and the total number of pins for the interface with the second memory is m (natural number greater than n), the shared memory interface May include k (natural numbers) pins, any one of 1 to n−1, the first memory interface may include nk pins, and the second memory interface may include mk pins.
상기 프로세싱부의 제어에 의해 버스 컨트롤을 수행하는 버스 컨트롤러를 더 포함하되, 상기 경로 제어부는 상기 버스 컨트롤러로부터 수신되는 경로 제어 신호에 의해 상기 정보 송수신 경로를 설정할 수 있다.A bus controller may be further configured to perform bus control under the control of the processing unit, and the path controller may set the information transmission / reception path by a path control signal received from the bus controller.
상기 부가 프로세서는 상기 제1 메모리 인터페이스 및 상기 제2 메모리 인터페이스는 클럭(CLK) 신호, 칩 셀렉트(CS) 신호 중 적어도 어느 하나를 전송하기 위한 하나 이상의 핀을 포함할 수 있다.The additional processor may include one or more pins for transmitting at least one of a clock (CLK) signal and a chip select (CS) signal.
상기 제1 메모리는 내장 메모리, 이동식 메모리 중 어느 하나이고, 상기 제2 메모리는 내장 메모리, 이동식 메모리 중 다른 하나일 수 있다.The first memory may be any one of an internal memory and a removable memory, and the second memory may be another one of the internal memory and the removable memory.
상기 이동식 메모리는 SD(Secure Digital) 카드, CF(Compact Flash) 메모리 카드, XD(eXtreme Digital Picture Card), MS(Memory Stick), MMC(Multi-Media Card) 중 어느 하나일 수 있다.The removable memory may be any one of a Secure Digital (SD) card, a Compact Flash (CF) memory card, an eXtreme Digital Picture Card (XD), a Memory Stick (MS), and a Multi-Media Card (MMC).
상기 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면 메모리 억세스 방법 또는/및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체가 제공된다.In order to achieve the above objects, according to one aspect of the present invention, there is provided a recording medium in which a memory access method or / and a program for performing the method is recorded.
본 발명의 바람직한 일 실시예에 따르면, 메모리부, 상기 메모리부에 MP-SM 버스를 통해 결합된 메인 제어부 및 상기 메모리부에 AP-SM 버스를 통해 결합되고 상기 메인 제어부에 MP-AP 버스를 통해 결합된 부가 제어부를 포함하는 디지털 처 리 장치에서, 상기 메모리부의 분할 영역 크기를 가변하는 방법에 있어서, 상기 메인 제어부가 상기 메모리부의 저장 영역을 복수의 분할 영역으로 분할하기 위한 영역 분할 정보를 설정하여 상기 부가 제어부로 전송하는 단계-여기서, 상기 분할 영역은 적어도 상기 메인 제어부만이 억세스 가능한 제1 전용 영역, 상기 부가 제어부만이 억세스 가능한 제2 전용 영역, 상기 메인 제어부와 상기 부가 메인 제어부가 억세스 가능한 공동 영역 및 가변 영역을 포함하고, 상기 가변 영역은 상기 영역 분할 정보에 의해 상기 제1 전용 영역, 상기 제2 전용 영역 및 상기 공유 영역 중 하나 이상에 포함되도록 설정됨-; 상기 메인 제어부가 임의의 데이터를 기록하기 위하여 상기 공동 영역에 억세스하는 단계; 상기 메인 제어부가 기록될 데이터의 크기가 상기 공동 영역의 기록 가능 영역의 크기 이하인지 여부를 판단하는 단계; 및 이상인 경우, 상기 메인 제어부가 영역 재분할 정보를 생성하여 상기 부가 제어부로 전송하는 단계를 포함하는 메모리부의 분할 영역 크기 가변 방법이 제공된다. 여기서, 상기 영역 재분할 정보에 의해 상기 제1 전용 영역, 상기 제2 전용 영역 중 하나 이상에 포함된 일부 또는 전부의 상기 가변 영역이 상기 공동 영역으로 포함되어 상기 공동 영역의 크기가 확장될 수 있다.According to a preferred embodiment of the present invention, a memory unit, a main control unit coupled to the memory unit via an MP-SM bus, and the memory unit is coupled via an AP-SM bus and connected to the main control unit via an MP-AP bus. In the digital processing apparatus including a combined additional control unit, in the method of varying the size of the partition area of the memory unit, the main control unit by setting the area partitioning information for dividing the storage area of the memory unit into a plurality of partition areas; Transmitting to the additional control unit, wherein the divided area includes at least a first dedicated area accessible only by the main control unit, a second dedicated area accessible only by the additional control unit, accessible by the main control unit and the additional main control unit And a common area and a variable area, wherein the variable area includes the first area based on the area partitioning information. Configured to be included in at least one of a dedicated area, the second dedicated area, and the shared area; Accessing the common area by the main controller to record arbitrary data; Determining, by the main controller, whether the size of data to be recorded is equal to or less than a size of a recordable area of the common area; And in case of abnormality, providing a method of changing a size of a divided region of a memory unit including generating, by the main controller, region repartitioning information and transmitting the generated region repartition information to the additional controller. In this case, the variable area may include some or all of the variable areas included in at least one of the first dedicated area and the second dedicated area as the common area, thereby expanding the size of the common area.
상기 메모리부의 분할 영역 크기 가변 방법은 상기 부가 제어부가 임의의 데이터를 기록하기 위하여 상기 공동 영역에 억세스하는 단계; 상기 부가 제어부가 기록될 데이터의 크기가 상기 공동 영역의 기록 가능 영역의 크기 이하인지 여부를 판단하는 단계; 및 이상인 경우, 상기 부가 제어부가 영역 재분할 요청을 상기 메인 제어부로 전송하는 단계를 더 포함할 수 있다. 여기서, 상기 메인 제어부는 상 기 영역 재분할 요청에 상응하여 상기 영역 재분할 정보를 생성하며, 상기 영역 재분할 정보에 의해 상기 공동 영역의 크기가 확장될 수 있다.The method of changing a divided area size of the memory unit may include: accessing the common area by the additional control unit to record arbitrary data; Determining, by the additional control unit, whether a size of data to be recorded is equal to or less than a size of a recordable area of the common area; And in case of abnormality, the additional control unit may transmit a region repartition request to the main control unit. Here, the main controller may generate the area repartition information in response to the area repartition request, and the size of the common area may be extended by the area repartition information.
상기 공동 영역에 억세스된 상기 메인 제어부, 상기 부가 제어부 중 어느 하나는 상기 MP-AP 버스를 통해 상기 메인 제어부, 상기 부가 제어부 중 다른 하나로 접속 상태 정보를 전송할 수 있다.Any one of the main controller and the additional controller accessed in the common area may transmit connection state information to the other of the main controller and the additional controller through the MP-AP bus.
본 발명의 바람직한 다른 실시예에 따르면, 공유 메모리의 분할 영역의 다중 억세스 제어 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서-여기서, 상기 디지털 처리 장치는 메인 제어부와 부가 제어부를 포함하고, 상기 메인 제어부는 MP-SM 버스를 통해 메모리부와 결합되며, 상기 부가 제어부는 AP-SM 버스를 통해 상기 메모리부와 결합되고, 상기 메인 제어부와 상기 부가 제어부는 MP-AP 버스를 통해 결합되며, 상기 메모리부의 저장 영역은 복수의 분할 저장 영역으로 분할됨-, 상기 메인 제어부 또는 상기 부가 제어부 중 어느 하나인 제1 제어부가 어느 하나의 분할 저장 영역에 접속하기 위하여, 상기 분할 저장 영역에 상기 메인 제어부 또는 상기 부가 제어부 중 나머지 다른 하나인 제2 제어부가 이미 억세스하였는지 여부를 판단하는 단계; 상기 분할 저장 영역에 상기 제2 제어부가 억세스하지 않은 경우, 상기 제1 제어부는 상기 분할 저장 영역에 억세스하는 단계; 상기 제1 제어부가 상기 억세스된 분할 저장 영역에 임의의 데이터를 기록하는 단계; 및 상기 제1 제어부가 상기 분할 저장 영역에 대한 억세스를 종료하는 단계를 실행하는 프로그램을 기록한 기 록매체가 제공된다. According to another preferred embodiment of the present invention, a program of instructions, which can be executed by the digital processing apparatus for performing the multiple access control method of the partition of the shared memory, is tangibly implemented and read by the digital processing apparatus. In the recording medium for recording a program capable of-wherein the digital processing device includes a main control unit and an additional control unit, the main control unit is coupled to the memory unit via the MP-SM bus, the additional control unit is the AP-SM bus The main control unit and the additional control unit are coupled through an MP-AP bus, and a storage area of the memory unit is divided into a plurality of divided storage areas; In order for the first control unit, which is either to access the divided storage area, Determining whether or not said main control unit or the other one of the second control unit of the sub-control unit is already accessed to the partitioned storage area; Accessing the partitioned storage area by the first controller when the second controller does not access the partitioned storage area; Recording, by the first control unit, arbitrary data in the accessed divided storage area; And a recording medium on which a program is executed by the first control unit to terminate the access to the divided storage area.
상기 제1 제어부는 어느 하나의 분할 저장 영역에 억세스하는 경우, 상기 MP-AP 버스를 통해 상기 제2 제어부로 억세스 상태 정보를 전송할 수 있다.When the first control unit accesses any divided storage area, the first control unit may transmit access state information to the second control unit via the MP-AP bus.
상기 분할 저장 영역들의 크기에 상응하는 영역 분할 정보는 상기 제1 제어부에 의해 설정되고, 상기 MP-AP 버스를 통해 상기 제2 제어부로 전달될 수 있다.Area partitioning information corresponding to the sizes of the partitioned storage areas may be set by the first controller and transferred to the second controller through the MP-AP bus.
본 발명의 바람직한 또 다른 실시예에 따르면, 하나의 메모리부를 이용한 복수의 제어부간의 데이터 전달 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, (a) m(2 내지 n(2이상의 자연수) 중 임의의 자연수)개의 분할 저장 영역으로 구성된 메모리부가 각 분할 저장 영역의 제1 접속 상태 정보를 생성하여 제1 버스(Bus) 및 제2 버스를 통해 제1 제어부 및 제2 제어부에 제공하는 단계; (b) 상기 제1 제어부가 제3 버스를 통해 상기 제2 제어부로 임의의 원시 데이터에 상응하는 처리 명령을 전송하는 단계; (c) 상기 제1 제어부가 상기 제1 접속 상태 정보를 참조하여 상기 제1 버스를 통해 제1 분할 저장 영역에 접속하여 상기 원시 데이터의 기록(write)을 개시하면, 상기 메모리부가 상기 제1 분할 저장 영역이 상기 제1 제어부에 의해 접속되었음을 나타내는 제2 접속 상태 정보를 상기 제2 제어부로 전달하는 단계; (d) 상기 제1 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하면, 상기 메모리부가 상기 제1 분할 저장 영역이 접속 가능함을 나타내는 제3 접속 상태 정보를 상기 제2 제어부로 전달하는 단계; (e) 상기 제2 제어부가 상기 제3 접속 상태 정보 를 참조하여 상기 제2 버스를 통해 제1 분할 저장 영역에 접속하여 상기 원시 데이터의 독출(read)을 개시하면, 상기 메모리부가 상기 제1 분할 저장 영역이 상기 제2 제어부에 의해 접속되었음을 나타내는 제4 접속 상태 정보를 상기 제1 제어부로 전달하는 단계; 및 (f) 상기 제2 제어부가 상기 독출된 원시 데이터를 상기 처리 명령에 상응하도록 처리하는 단계를 실행하는 프로그램을 기록한 기록매체가 제공된다.According to still another preferred embodiment of the present invention, a program of instructions that can be executed by a digital processing apparatus is tangibly implemented to perform a data transfer method between a plurality of control units using one memory unit. In a recording medium on which a program can be read, the memory unit comprising (a) m (any natural number of 2 to n (natural numbers of 2 or more)) divided storage areas stores first connection state information of each divided storage area. Generating and providing the first control unit and the second control unit through a first bus and a second bus; (b) the first control unit transmitting a processing instruction corresponding to any raw data to the second control unit via a third bus; (c) when the first controller accesses the first partitioned storage area through the first bus with reference to the first connection state information and starts writing the raw data, the memory unit divides the first partition. Transferring second connection state information indicating that a storage area is connected by the first control unit to the second control unit; (d) when the first controller terminates the connection to the first divided storage area, the memory unit transferring third connection state information indicating that the first divided storage area is accessible to the second controller; (e) when the second controller accesses the first partitioned storage area through the second bus with reference to the third connection state information and starts reading the raw data, the memory unit divides the first partition. Transmitting fourth connection state information indicating that a storage area is connected by the second control unit to the first control unit; And (f) a recording medium on which a program is executed by the second control unit for processing the read raw data to correspond to the processing instruction.
상기 제2 제어부가 상기 처리된 원시 데이터가 결합된 출력 장치를 통해 출력되도록 하는 단계가 더 실행될 수 있다.The step of causing the second control unit to output the processed raw data through the combined output device may be further executed.
상기 프로그램은 상기 제2 제어부가 상기 제1 분할 저장 영역에 기록된 원시 데이터의 독출을 완료하였는지 판단하는 단계; 및 독출을 완료한 경우, 상기 제2 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하는 단계를 상기 단계 (f)에 후행하여 실행할 수 있다.The program determining whether the second controller has finished reading the raw data recorded in the first divided storage area; And when the reading is completed, the step of terminating the connection to the first divided storage area by the second controller may be performed after step (f).
상기 단계 (d)는, 상기 제1 제어부가 상기 제1 분할 저장 영역의 저장 공간이 모두 사용되었는지 판단하는 단계; 모두 사용된 경우, 상기 제1 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하는 단계; 상기 메모리부가 상기 제1 분할 저장 영역이 가능함을 표시하는 정보 및 제2 분할 저장 영역의 접속 가능 여부에 대한 정보를 포함하는 상기 제3 접속 상태 정보를 생성하여 상기 제1 제어부 및 상기 제2 제어부로 전달하는 단계; 상기 제1 제어부는 상기 제3 접속 상태 정보를 참조하여 상기 제2 분할 저장 영역의 접속이 가능한 경우, 상기 제1 버스를 통해 상기 제2 분할 저장 영역에 접속하여 상기 원시 데이터의 기록(write)을 연속하여 수 행하는 단계; 및 상기 메모리부가 상기 제2 분할 저장 영역이 상기 제1 제어부에 의해 접속되었음을 나타내는 제5 접속 상태 정보를 생성하여 상기 제2 제어부로 전달하는 단계일 수 있다.The step (d) may include: determining, by the first controller, whether the storage space of the first divided storage area is used up; When all are used, ending the connection to the first divided storage area by the first controller; The memory unit generates the third connection state information including information indicating that the first divided storage region is available and information on whether the second divided storage region is accessible, and generates the third connection state information to the first controller and the second controller. Delivering; When the second divided storage area is accessible by referring to the third connection state information, the first controller accesses the second divided storage area through the first bus to write the raw data. Performing continuously; And generating, by the memory unit, fifth connection state information indicating that the second divided storage area is connected by the first controller, and transmitting the fifth connection state information to the second controller.
상기 프로그램은 상기 제2 제어부가 상기 제1 분할 저장 영역에 기록된 원시 데이터의 독출을 완료하였는지 판단하는 단계; 독출을 완료한 경우, 상기 제2 제어부가 상기 제1 분할 저장 영역에 대한 접속을 종료하는 단계; 상기 메모리부가 상기 제1 분할 저장 영역이 접속 가능함을 나타내는 제6 접속 상태 정보를 상기 제1 제어부로 전달하는 단계; 상기 제2 제어부가 상기 메모리부로부터 상기 제2 분할 저장 영역이 접속 가능 상태임을 나타내는 제7 접속 상태 정보가 수신되는지 판단하는 단계; 및 상기 제7 접속 상태 정보가 수신되면, 상기 제2 제어부가 상기 제2 분할 저장 영역에 접속하여 상기 원시 데이터의 독출(read)을 연속하여 수행하는 단계가 상기 단계 (f)에 후행하여 실행할 수 있다.The program determining whether the second controller has finished reading the raw data recorded in the first divided storage area; When the reading is completed, terminating the connection to the first divided storage area by the second controller; Transmitting, by the memory unit, sixth connection state information indicating that the first divided storage area is accessible to the first controller; Determining, by the second controller, whether the seventh connection state information indicating that the second divided storage area is in an accessible state is received from the memory unit; And when the seventh connection state information is received, performing the step of continuously reading the raw data by accessing the second divided storage area by the second control unit may be performed after the step (f). have.
본 발명의 바람직한 또 다른 실시예에 따르면, 복수의 제어부 및 각 제어부에 각각 종속적으로 결합된 하나 이상의 메모리를 포함하는 디지털 처리 장치에서, 임의의 제어부에 종속된 메모리를 타 제어부가 이용하도록 하는 개별 메모리 접근 허용 방법에 있어서, 미리 설정된 부가 기능을 수행하기 위한 부가 제어부가 종속되어 결합된 부가 메모리에 상응하는 버스(bus)를 점유하고 있는지 여부를 판단하는 단계; 점유하고 있지 않은 경우, 상기 부가 제어부가 바이패스 로직(bypass logic)을 수행하여 하나 이상의 부가 제어부를 제어하는 메인 제어부 및 상기 부가 메모리부가 직접적(direct) 결합되도록 경로(route)가 전환되도록 하는 단계; 및 상기 메인 제어부는 가용 메모리 영역이 추가적으로 필요한지 여부를 판단하여 필요한 경우 상기 경로를 통해 결합된 상기 부가 메모리부 내에 처리될 또는 처리된 데이터를 저장하는 단계를 포함할 수 있다. According to still another preferred embodiment of the present invention, in a digital processing apparatus including a plurality of controllers and at least one memory coupled to each controller, each memory for allowing another controller to use a memory dependent on any controller A method for allowing access, comprising: determining whether an additional control unit for performing a preset additional function is occupied by a bus corresponding to a combined additional memory; If it is not occupied, causing the additional control unit to perform bypass logic so that a route is switched such that the main control unit controlling the one or more additional control units and the additional memory unit are directly coupled; And determining, by the main controller, whether an additional memory area is additionally needed, and storing data to be processed or processed in the additional memory unit coupled through the path if necessary.
상기 부가 제어부가 상기 부가 메모리에 상응하는 버스(bus)를 점유하고 있지 않은 경우는, 상기 부가 제어부가 비구동 상태로 진입한 경우, 상기 부가 제어부가 구동상태이지만 상기 부가 메모리를 이용하고 있지 않은 경우 중 적어도 어느 하나일 수 있다.When the additional control unit does not occupy a bus corresponding to the additional memory, when the additional control unit enters a non-driven state, and when the additional control unit is in a driving state but does not use the additional memory. It may be at least one of.
상기 부가 제어부는 상기 바이패스 로직 수행 후 상기 메인 제어부로 상응하는 상태 정보를 전송할 수 있다.The additional control unit may transmit corresponding state information to the main control unit after performing the bypass logic.
상기 부가 제어부는 상기 메인 제어부로부터 상기 바이패스 로직의 수행 명령이 수신되는지 여부를 이용하여 상기 부가 제어부가 상기 부가 메모리에 상응하는 버스(bus)를 점유하고 있는지 여부를 판단할 수 있다.The additional control unit may determine whether the additional control unit occupies a bus corresponding to the additional memory by using whether the execution command of the bypass logic is received from the main control unit.
본 발명의 바람직한 또 다른 실시예에 따르면, 복수의 제어부 및 각 제어부에 각각 종속적으로 결합된 하나 이상의 메모리를 포함하는 디지털 처리 장치에서, 임의의 제어부에 종속된 메모리를 타 제어부가 이용하도록 하는 개별 메모리 접근 허용 방법에 있어서, 미리 설정된 제1 부가 기능을 수행하기 위한 제1 부가 제어부가 종속되어 결합된 제1 부가 메모리에 상응하는 버스(bus)를 점유하고 있는지 여부를 판단하는 단계; 점유하고 있지 않은 경우, 상기 제1 부가 제어부가 바이패스 로직(bypass logic)을 수행하여 하나 이상의 부가 제어부를 제어하는 메인 제어부 및 상기 제1 부가 메모리부가 직접적(direct) 결합되도록 경로(route)가 전환되도 록 하는 단계; 미리 설정된 제2 부가 기능을 수행하기 위한 제2 부가 제어부가 가용 메모리 영역이 추가적으로 필요한지 여부를 판단하는 단계; 필요한 경우, 제2 부가 제어부가 상기 메인 제어부로 비구동 상태인 임의의 부가 제어부에 종속된 임의의 부가 메모리의 주소 정보를 요청하는 단계; 상기 제2 부가 제어부가 상기 메인 제어부로부터 상기 제1 부가 메모리에 상응하는 주소 정보를 수신하는 단계; 및 상기 제2 부가 제어부가 상기 경로를 이용하여 상기 주소 정보에 상응하는 상기 제1 부가 메모리로 처리될 또는 처리된 데이터를 저장하는 단계를 포함하는 개별 메모리 접근 허용 방법이 제공된다.According to still another preferred embodiment of the present invention, in a digital processing apparatus including a plurality of controllers and at least one memory coupled to each controller, each memory for allowing another controller to use a memory dependent on any controller A method for allowing access, comprising: determining whether a first additional controller for performing a first preset additional function is occupied by a bus corresponding to a first additional memory coupled to the second additional memory; If not occupied, a route is switched such that the first additional control unit performs bypass logic to control one or more additional control units and the first additional memory unit is directly coupled. Bringing it back; Determining, by the second additional control unit for performing the second preset additional function, whether the available memory area is additionally needed; If necessary, requesting, by the second additional control unit, address information of any additional memory dependent on any additional control unit which is not driven; Receiving, by the second additional control unit, address information corresponding to the first additional memory from the main control unit; And storing, by the second additional control unit, the data to be processed or processed into the first additional memory corresponding to the address information by using the path.
본 발명의 바람직한 또 다른 실시예에 따르면, 메인 프로세서, 상기 메인 프로세서의 제어에 의해 미리 설정된 부가 기능을 수행하고 복수의 메모리에 결합되는 부가 프로세서를 포함하는 디지털 처리 장치의 상기 부가 프로세서에 의해 수행되는 메모리 인터페이스 공유 방법에 있어서, 상기 메인 프로세서로부터 내장 메모리 또는 이동식 메모리 중 어느 하나에 대한 메모리 억세스를 위한 요청을 수신하는 단계; 상기 요청에 상응하는 메모리로 억세스되도록 하기 위한 경로를 설정하는 단계; 및 상기 메인 프로세서로부터 수신되는 데이터를 상기 설정된 경로를 통해 상응하는 메모리로 전달하는 단계를 포함하는 메모리 인터페이스 공유 방법이 제공된다. 여기서, 상기 경로는 상기 요청에 상응하는 메모리에 독립적으로 연결되는 개별 메모리 인터페이스 및 복수의 메모리에 공유되는 공유 메모리 인터페이스를 통해 설정되고, 상기 부가 프로세서에 결합된 상기 내장 메모리와의 인터페이스를 위한 총 핀의 수가 n(자연수)개이고, 상기 부가 프로세서에 결합된 상기 이동식 메 모리와의 인터페이스를 위한 총 핀의 수가 m(상기 n보다 큰 자연수)개인 경우, 상기 공유 메모리 인터페이스는 하나 내지 n-1개 중 어느 하나인 k(자연수)개의 핀들을 포함하고, 상기 내장 메모리를 위한 개별 메모리 인터페이스는 n-k개의 핀들을 포함하며, 상기 이동식 메모리를 위한 개별 메모리 인터페이스는 m-k개의 핀들을 포함할 수 있다.According to still another preferred embodiment of the present invention, a main processor is performed by the additional processor of the digital processing apparatus including an additional processor that performs a predetermined additional function controlled by the main processor and is coupled to a plurality of memories. A memory interface sharing method, comprising: receiving a request for memory access to either internal memory or removable memory from the main processor; Establishing a path for access to a memory corresponding to the request; And transferring data received from the main processor to a corresponding memory through the set path. Here, the path is set through a separate memory interface independently connected to a memory corresponding to the request and a shared memory interface shared to a plurality of memories, and total pins for interfacing with the internal memory coupled to the additional processor. If the number of n is a natural number, and the total number of pins for the interface with the removable memory coupled to the additional processor is m (natural number greater than n), the shared memory interface is one to n-1 of Any one includes k (natural numbers) pins, a separate memory interface for the internal memory includes nk pins, and a separate memory interface for the removable memory may include mk pins.
상기 개별 메모리 인터페이스 각각은 클럭(CLK) 신호, 칩 셀렉트(CS) 신호 중 적어도 어느 하나를 전송하기 위한 하나 이상의 핀을 포함할 수 있다.Each of the individual memory interfaces may include one or more pins for transmitting at least one of a clock (CLK) signal and a chip select (CS) signal.
본 발명의 바람직한 또 다른 실시예에 따르면, 메모리 인터페이스 공유 방법을 수행하기 위해 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 디지털 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, 부가 프로세서가 메인 프로세서로부터 임의의 메모리로의 억세스를 위한 요청을 수신하는 단계; 상기 요청에 상응하는 메모리로 억세스되도록 하기 위한 경로를 설정하는 단계-여기서, 상기 경로는 상기 요청에 상응하는 메모리에 독립적으로 연결되는 개별 메모리 인터페이스 및 복수의 메모리에 공유되는 공유 메모리 인터페이스를 통해 설정됨-; 및 상기 메인 프로세서로부터 수신되는 데이터를 상기 설정된 경로를 통해 상응하는 메모리로 전달하는 단계를 실행하는 프로그램이 기록된 기록매체가 제공된다. 여기서, 상기 디지털 처리 장치는 상기 메인 프로세서, 상기 메인 프로세서의 제어에 의해 미리 설정된 부가 기능을 수행하는 상기 부가 프로세서를 포함하고, 상기 부가 프로세서는 내장 메모리 및 이동식 메모리에 동시에 결합되고, 상기 부가 프로세서에 결합된 상기 내장 메모리와의 인터페이스를 위한 총 핀의 수가 n(자연수)개이고, 상기 부가 프로세서에 결합된 상기 이동식 메모리와의 인터페이스를 위한 총 핀의 수가 m(상기 n보다 큰 자연수)개인 경우, 상기 공유 메모리 인터페이스는 하나 내지 n-1개 중 어느 하나인 k(자연수)개의 핀들을 포함하고, 상기 내장 메모리를 위한 개별 메모리 인터페이스는 n-k개의 핀들을 포함하며, 상기 이동식 메모리를 위한 개별 메모리 인터페이스는 m-k개의 핀들을 포함할 수 있다.According to yet another preferred embodiment of the present invention, a program of instructions that can be executed by a digital processing apparatus is tangibly implemented to perform a memory interface sharing method, and a program that can be read by the digital processing apparatus is recorded. A recording medium, comprising: receiving, by an additional processor, a request for access to a memory from a main processor; Establishing a path for access to a memory corresponding to the request, wherein the path is established through a separate memory interface independently connected to a memory corresponding to the request and a shared memory interface shared to a plurality of memories -; And a recording medium on which a program for executing the step of transferring the data received from the main processor to the corresponding memory through the set path is provided. Here, the digital processing apparatus includes the main processor and the additional processor configured to perform an additional function preset by the control of the main processor, wherein the additional processor is simultaneously coupled to an internal memory and a removable memory. If the total number of pins for interface with the integrated memory coupled is n (natural number), and the total number of pins for interface with the removable memory coupled to the additional processor is m (natural number greater than n), the The shared memory interface includes k (natural numbers) pins, one of n to 1-1, the individual memory interface for the internal memory includes nk pins, and the individual memory interface for the removable memory is mk Pins may be included.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명은 복수의 제어부와 복수의 메모리들로 구성된 모든 형태의 디지털 처리 장치 또는 시스템(예를 들어, 이동 통신 단말기, PDA, PMP(Portable Multimedia Player), MP3 플레이어, 디지털 카메라, 디지털 텔레비전, 음향 기기 등과 같이 휴대형 단말기 및/또는 가정내에 구비되는 가정용 디지털 기기 등)에 동일하게 적용할 수 있음은 물론이나, 이하에서는 설명 및 이해의 편의를 위해 휴대형 단말기를 중심으로 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, and the same or corresponding components will be denoted by the same reference numerals regardless of the reference numerals and redundant description thereof will be omitted. In addition, the present invention provides a digital processing apparatus or system of any type consisting of a plurality of controllers and a plurality of memories (for example, a mobile communication terminal, a PDA, a portable multimedia player (PMP), an MP3 player, a digital camera, a digital television, The same may be applied to a portable terminal such as an acoustic device and / or a home digital device provided in a home), but the following description will focus on the portable terminal for convenience of explanation and understanding.
분할 영역 크기 가변Partition size variable
도 3은 본 발명의 바람직한 일 실시예에 따른 메인 제어부, 부가 제어부 및 메모리부간의 결합 구조를 나타낸 도면이고, 도 4는 본 발명의 바람직한 일 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면이다.3 is a diagram illustrating a coupling structure between a main controller, an additional controller, and a memory unit according to an exemplary embodiment of the present invention, and FIG. 4 is a diagram illustrating a divided state of a storage area of a memory unit according to an exemplary embodiment of the present invention. to be.
도 3을 참조하면, 메인 제어부(210)와 부가 제어부(220)는 MP(Main Processor)-AP(Application Processor) 버스(BUS)를 통해 정보를 송수신하고, 메인 제어부(210)와 메모리부(310)는 MP-SM(Shared Memory) 버스를 통해 정보를 송수신하며, 부가 제어부(220)와 메모리부(310)는 AP-SM 버스를 통해 정보를 송수신하도록 결합되어 있다. 버스(Bus)는 컴퓨터 등에서 제어부와 주기억장치, 입출력 장치 간에 정보를 전송하는 데 사용되는 공용 목적의 전기적 통로이다. 여기서, 메인 제어부(210)는 휴대형 단말기의 전반적인 동작을 제어하는 프로세서일 수 있다. 또한 부가 제어부(220)는 MPEG4, 3D 그래픽, 카메라 기능 등을 처리하기 위한 전용의 프로세서일 수 있다. 메인 제어부(210)는 부가 제어부(220)의 동작을 제어할 수 있다.Referring to FIG. 3, the
메모리부(310)는 메인 제어부(210)와 독점적으로 정보를 송수신하기 위한 하나 이상의 포트, 부가 제어부(220)와 독점적으로 정보를 송수신하기 위한 하나 이상의 포트를 구비한다. The
예를 들어, 도 3에 도시된 바와 같이 메모리부(310)가 메인 제어부(210) 및 부가 제어부(220)와 공통적으로 결합된 구조라면, 2개의 제어부(210, 220)가 하나의 메모리부(310)를 사용하는 구조이므로 메모리부(310)는 2개의 억세스 포트(Access Port)를 구비하여야 한다. 즉, 2개의 억세스 포트는 제1 포트(Addr_A, Data_A), 제2 포트(Addr_B, Data_B)로 구분되어 제1 포트는 메인 제어부(210)와 연결되도록 하고, 제2 포트는 부가 제어부(220)와 연결되도록 설정된다.For example, as shown in FIG. 3, if the
당해 메모리부(310)의 저장 영역은 도 4에 도시된 바와 같이 적게는 4개의 영역(즉, 메인 제어부 전용 영역(410), 공동 영역(430), 부가 제어부 전용 영역(450) 및 가변 영역(420, 440))으로 구분될 수 있고, 많게는 5개의 영역(즉, 메인 제어부(210) 전용 영역(410), 공동 영역(430), 부가 제어부 전용 영역(450), 제1 가변 영역(420) 및 제2 가변 영역(440))으로 구분될 수 있다. As shown in FIG. 4, the storage area of the
제1 및 제2 가변 영역(420, 440)은 메인 제어부 전용 영역(410), 공동 영 역(430) 또는 부가 제어부 전용 영역(450) 중 어느 하나의 용량이 부족한 경우 확장될 수 있도록 설정된 저장 영역이다. 상기 가변 영역은 각 제어부(즉, 메인 제어부 또는 부가 제어부)의 요구(예를 들어, 영역 분할 정보의 생성 및 공유 - 도 5 참조)에 따라 특정 영역(예를 들어, 메인 제어부 전용 영역(410), 공동 영역(430), 부가 제어부 전용 영역(450) 중 적어도 어느 하나)에 일부씩 또는 전체가 포함될 수 있다. 따라서, 공동 영역화하여 동작할 수 있는 최소의 저장 영역은 공동 영역(430)이며, 최대의 저장 영역은 제1 가변 영역(420), 공동 영역(430) 및 제2 가변 영역(440)의 합일 수 있다. 마찬가지로, 각 제어부가 독점적으로 이용할 수 있는 전용 영역의 크기도 가변 영역을 포함하는지 여부에 따라 증감될 수 있다. 제1 및 제2 가변 영역(420, 440)은 초기 상태에서는 메인 제어부 전용 영역(410), 공동 영역(430) 또는 부가 제어부 전용 영역(450) 중 적어도 어느 하나에 일부씩 또는 전체로 각각 포함된 저장 영역일 수 있다. 분할된 저장 영역의 가변 방법은 이후 도 5를 참조하여 상세히 설명한다.The first and second
메인 제어부(210)는 제1 포트를 통해 메인 제어부 전용 영역(410) 및/또는 공동 영역(430)에 접속하여 데이터 처리가 가능하고, 부가 제어부(220)는 제2 포트를 통해 부가 제어부 전용 영역(450) 및/또는 공동 영역(430)에 접속하여 데이터 처리가 가능하다. 다만, 공동 영역(430)은 복수의 제어부(210, 220)가 동시에 접속될 수 없도록 제한된다. The
공동 영역(430)에 복수의 제어부(210, 220)가 동시에 접속할 수 없도록 제한하는 방법은 먼저 접속한 제어부가 타 제어부로 접속 사실(예를 들어, 접속된 주소 정보 등)을 통지하는 방법, 메모리부(310)에서 임의의 제어부가 공동 영역에 접속한 경우 타 제어부로 접속 사실을 통지하는 방법 등이 있을 수 있다. 즉, 메인 제어부(210)와 부가 제어부(220)는 독립된 경로를 통해 메모리부(310)에 동시에 접속하여 데이터 처리가 가능하며, 이 경우 양자간의 충돌이 방지될 수 있다. A method of restricting a plurality of
다만, 본 발명에 따른 디지털 처리 장치(이하에서는 "휴대형 단말기"인 경우를 주로 가정하여 설명함)가 휴대 전화기인 경우라면, 당해 휴대 전화기의 메인 기능이 전화 통화 기능이므로 착신된 콜 신호에 응답하여 전화 통화가 개시된 상태에서는 공동 영역(430)에 대한 접속 우선 권한은 전화 통화 기능을 담당하는 메인 제어부(210)에서 가지도록 할 수 있다. 예를 들어, 부가 기능을 수행하는 부가 제어부(220)가 공동 영역(430)에 억세스된 상태에서 전화 통화가 개시되면 메인 제어부(210)는 부가 제어부(220)의 공동 영역(430) 억세스를 해제하도록 요청하고, 부가 제어부(220)는 메인 제어부(210)의 요청에 따라 공동 영역(430) 억세스를 해제함으로써 메인 제어부(210)의 공동 영역(430) 억세스가 가능하도록 할 수 있다. However, if the digital processing device (hereinafter, the description will mainly be made on the case of a "portable terminal") according to the present invention is a mobile phone, the main function of the mobile phone is a phone call function. In the state where the telephone call is started, the access priority right to the
메모리부(310)의 저장 영역 중 분할된 저장 영역에 대한 주소(Address) 정보는 메인 제어부(210)에 의해 설정되고 관리될 수 있으며, 메인 제어부(210)에 의해 설정된 주소 정보는 부가 제어부(220)에 제공되어 공유된다. 물론, 주소 정보에 대한 설정 및 관리는 부가 제어부(220)에 의해서도 수행될 수 있으며, 필요에 따라서는 각 제어부(210 또는 220)가 주소 정보의 설정 권한을 가지고 타 제어부(220 또는 210)로 설정된 주소 정보를 제공함으로써 주소 정보의 공유가 가능해진다. Address information of a divided storage area among the storage areas of the
메모리부(310)의 분할된 저장 영역에 대한 정보는 휴대형 단말기의 부 팅(booting) 과정에서 각 제어부에 의해 인식될 수 있다. Information about the divided storage areas of the
도 5는 본 발명의 바람직한 일 실시예에 따른 분할된 저장 영역의 크기 가변 방법을 나타낸 순서도이다. 5 is a flowchart illustrating a method of varying a size of a partitioned storage area according to an exemplary embodiment of the present invention.
도 5는 메인 제어부(210)가 임의의 데이터를 처리하여 공동 영역(430)에 저장한 후 부가 제어부(220)가 공동 영역(430)에 저장된 데이터를 재처리하여 공동 영역(430)에 재저장하는 과정을 설명한 것이다. 또한, 도 5의 순서도는 메모리부(310)의 공동 영역(430)의 크기에 대한 설정 권한이 메인 제어부(210)에 있는 경우를 가정한 것이다.5 illustrates that the
도 5를 참조하면, 단계 505에서 메인 제어부(210)는 메모리부(310)의 저장 영역을 복수로 분할하기 위하여 분할된 각 저장 영역의 주소(address) 범위를 설정(즉, 영역 분할 정보 설정)한다. 즉, 메인 제어부(210)는 메모리부(310)의 저장 영역을 분할하여 설정할 수 있도록 하는 레지스터(Register)에 적절한 값을 기록한다.Referring to FIG. 5, in
메인 제어부(210)는 단계 510에서 설정된 영역 분할 정보를 부가 제어부(220)로 전송하고, 부가 제어부(220)는 단계 515에서 수신된 영역 분할 정보를 등록함으로써 메인 제어부(210)와 부가 제어부(220)간에 메모리부(310)의 영역 분할 정보를 공유한다.The
단계 520에서 메인 제어부(210)는 메모리부(310)의 저장 영역 중 공동 영역(430)에 억세스(access) 가능한지 판단한다. 억세스 가능하지 않은 경우(예를 들어, 부가 제어부(220)가 이미 동일 영역에 억세스한 경우), 단계 520에서 대기한 다. In
그러나, 억세스 가능한 경우 단계 525로 진행하여, 공동 영역(430)에 기록하고자 하는 데이터의 크기(size)가 공동 영역(430)의 기록 가능한 영역의 크기를 초과하는지 여부를 판단한다. 메인 제어부(210)가 공동 영역(430)에 억세스된 경우, 동시에 부가 제어부(220)가 공동 영역(430)에 억세스하지 않도록 메인 제어부(210)의 억세스 상태를 나타내는 정보가 부가 제어부(220)로 전송될 필요가 있다. 해당 정보는 메인 제어부(210) 또는 메모리부(310)가 부가 제어부(220)로 통지할 수 있다. 해당 정보는 상태 레지스터(status register)를 통해 통지될 수 있다.However, if accessible, the flow advances to step 525 to determine whether the size of data to be recorded in the
만일 기록하고자 하는 데이터의 크기가 작은 경우에는 단계 545로 진행하여 기록하고자 하는 데이터를 공동 영역(430)에 저장한다. 공동 영역(430)에 저장되는 데이터는 메인 제어부(210)에 의해 처리된 결과이거나 부가 제어부(220)의 처리를 위해 메인 제어부(210) 전용 영역(410)에 저장된 데이터로서 공동 영역(430)으로 이동되는 데이터일 수 있다. 메인 제어부(210)는 저장된 데이터를 부가 제어부(220)가 처리할 수 있도록 처리 명령(예를 들어, 해당 데이터의 저장 주소 정보, 당해 데이터의 처리 형태(예를 들어, 디코딩 등) 등)을 부가 제어부(220)로 전송할 수 있다.If the size of the data to be recorded is small, the flow proceeds to step 545 to store the data to be recorded in the
그러나, 만일 기록하고자 하는 데이터의 크기가 기록 가능한 영역의 크기를 초과하는 경우, 메인 제어부(210)는 단계 530에서 공동 영역(430)을 확장하기 위하여 분할된 각 저장 영역의 주소 범위를 재설정(즉, 영역 재분할 정보 설정)한다. However, if the size of the data to be recorded exceeds the size of the recordable area, the
메인 제어부(210)는 단계 535에서 설정된 영역 재분할 정보를 부가 제어 부(220)로 전송하고, 부가 제어부(220)는 단계 540에서 수신된 영역 재분할 정보를 등록함으로써 메인 제어부(210)와 부가 제어부(220)간에 메모리부(310)의 영역 재분할 정보를 공유한다.The
메인 제어부(210)는 단계 545에서 확장된 공동 영역(430)에 기록하고자 하는 데이터를 저장한다. 물론, 메인 제어부(210)는 확장된 공동 영역(430)에 해당 데이터를 저장한 후, 단계 535 및 단계 540을 수행할 수도 있다.The
단계 550에서 부가 제어부(220)는 메모리부(310)의 저장 영역 중 공동 영역(430)에 억세스(access) 가능한지 판단한다. 억세스 가능하지 않은 경우(예를 들어, 메인 제어부(210)가 아직 동일 영역에 억세스되어 있는 경우), 단계 550에서 대기한다. In
그러나, 억세스 가능한 경우 단계 555로 진행하여, 공동 영역(430)에 기록되어 처리하여야 할 데이터를 독출(read)한다. 부가 제어부(220)가 공동 영역(430)에 억세스된 경우, 동시에 메인 제어부(210)가 공동 영역(430)에 억세스하지 않도록 부가 제어부(220)의 억세스 상태를 나타내는 정보를 메인 제어부(210)로 전송될 필요가 있음은 앞서 설명한 바와 같다. However, if accessible, the process proceeds to step 555 where data to be recorded and processed in the
단계 560에서 부가 제어부(220)는 독출한 데이터를 미리 설정된 방식으로 처리한다. 앞서 설명한 바와 같이, 해당 데이터의 처리 형태는 메인 제어부(210)에 의해 지시될 수 있다.In
단계 565에서 부가 제어부(220)는 메모리부(310)의 저장 영역 중 공동 영역(430)에 억세스(access) 가능한지 판단한다. 억세스 가능하지 않은 경우(예를 들 어, 메인 제어부(210)가 동일 영역에 억세스한 경우), 단계 565에서 대기한다. In
그러나, 억세스 가능한 경우 단계 570으로 진행하여, 부가 제어부(220)는 단계 560을 통해 처리한 데이터를 공동 영역(430)에 기록(Write)한다. 만일 이 경우, 기록될 데이터의 크기가 공동 영역(430)의 기록 가능한 영역의 크기를 초과하는 경우 부가 제어부(220)는 메인 제어부(210)로 영역 재분할 요청을 전송하고, 메인 제어부(210)에 의해 공동 영역(430)이 확장된 후 해당 데이터를 기록할 수 있다.However, if accessible, the process proceeds to step 570, where the
이제까지 도 5를 참조하여 메인 제어부(210)가 메모리부(310)의 저장 영역을 분할한 각 분할 영역의 크기를 설정하는 방법을 중심으로 설명하였다.The
그러나, 메인 제어부(210)가 아닌 부가 제어부(220)에서 분할 영역의 크기를 설정한 후 메인 제어부(210)로 영역 분할 정보를 전송함으로써 영역 분할 정보가 공유되도록 할 수도 있음은 자명하다. However, it is apparent that the region division information may be shared by setting the size of the division area in the
또 다른 방법으로 현재 공동 영역에 억세스된 제어부가 기록하고자 하는 데이터의 크기와 기록 가능한 저장 영역의 크기를 비교하여 데이터의 크기가 큰 경우 공동 영역의 크기가 확장되도록 영역 분할 정보를 설정한 후 타 제어부로 전송하는 방법도 적용될 수 있음은 자명하다. 본 방법이 적용되는 경우 공동 영역에 억세스된 제어부가 스스로 분할 영역의 크기를 재설정할 수 있어 복수의 제어부간에 전송되는 정보(예를 들어, 영역 재분할 요청 등)의 양을 최소화할 수 있는 효과가 있다.Another method is to compare the size of the data to be recorded by the control unit currently accessed in the common area with the size of the recordable storage area, and set the region partition information so that the size of the common area is expanded when the data size is large. It is obvious that the method of transmission may also be applied. When the method is applied, the control unit accessed to the common area can reset the size of the partition by itself, thereby minimizing the amount of information (for example, request for subdivision of a region) transmitted between the plurality of control units. .
상술한 두 가지 방법들에 대해서는 구체적인 설명을 생략할지라도 당업자가 상술한 설명을 통해 쉽게 이해할 수 있을 것이므로 별도의 설명은 생략하기로 한 다.Although the detailed description of the two methods described above will be omitted by those skilled in the art through the above description will be omitted a separate description.
도 6은 본 발명의 바람직한 다른 실시예에 따른 메인 제어부, 부가 제어부 및 메모리부간의 결합 구조를 나타낸 도면이다.6 is a diagram illustrating a coupling structure between a main controller, an additional controller, and a memory unit according to another exemplary embodiment of the present invention.
도 6에 도시된 바와 같이, 부가 제어부(220)와 메모리부(310)는 하나의 패키지(package, 610)로 구현될 수 있다. 즉, 부가 제어부(220)와 메모리부(310)를 하나의 패키지로 구현함으로써 인쇄회로기판(Printed Circuit Board)에서 사용 영역을 줄일 수 있고, 결과적으로 휴대형 단말기의 소형화가 가능하도록 할 수 있다. As illustrated in FIG. 6, the
분할 영역의 다중 억세스 제어Multiple access control of partitions
도 7은 본 발명의 바람직한 일 실시예에 따른 메인 제어부, 부가 제어부 및 메모리부간의 결합 구조를 나타낸 도면이고, 도 8은 본 발명의 바람직한 일 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면이다.7 is a diagram illustrating a coupling structure between a main controller, an additional controller, and a memory unit according to an exemplary embodiment of the present invention, and FIG. 8 is a diagram illustrating a divided state of a storage area of a memory unit according to an exemplary embodiment of the present invention. to be.
도 7을 참조하면, 메인 제어부(210)와 부가 제어부(220)는 MP(Main Processor)-AP(Additional Processor) 버스를 통해 정보(예를 들어, 처리 명령, 상태 정보 등)를 송수신하고, 메인 제어부(210)와 메모리부(310)는 MP(Main Processor)-SM(Shared Memory) 버스를 통해 데이터를 송수신하며, 부가 제어부(220)와 메모리부(310)는 AP-SM 버스를 통해 데이터를 송수신하도록 결합되어 있다. 여기서, 메인 제어부(210)는 디지털 처리 장치의 전반적인 동작을 제어하는 프로세서일 수 있다. 또한 부가 제어부(220)는 MPEG4, 3D 그래픽, 카메라 기능, MP3 파일 재생 등을 처리하기 위한 전용의 프로세서로서, 메인 제어부(210)에 의해 제어될 수 있다. 부가 제어부(220) 후단에는 디스플레이 장치(710) 등과 같은 주변 장치가 결합될 수 있다. 디스플레이 장치(710) 등을 통해 어떤 데이터가 출력되도록 할 것인지 여부는 메인 제어부(210) 또는 부가 제어부(220)에 의해 제어될 수 있다.Referring to FIG. 7, the
메모리부(310)는 결합된 복수의 제어부에 의해 공유되는 구조로서 구비된 또는 메모리부(310)를 공유하는 제어부의 수량에 상응하는 억세스 포트(Access Port)를 구비하여야 한다. 메모리부(310)는 도시하지는 않았으나 메모리부(310) 내부의 동작을 제어하기 위한 내부 제어기(Internal Controller)를 포함할 수 있다.The
예를 들어, 도 7 및 도 8에 도시된 바와 같이 메모리부(310)가 메인 제어부(210) 및 부가 제어부(220)와 공통적으로 결합된 구조라면, 2개의 제어부(210, 220)가 하나의 메모리부(310)를 사용하는 구조이므로 메모리부(310)는 2개의 억세스 포트(Access Port)를 구비하여야 한다. 즉, 2개의 억세스 포트는 제1 포트(810), 제2 포트(820)로 구분되어 제1 포트(810)는 메인 제어부(210)와 연결되도록 하고, 제2 포트(820)는 부가 제어부(220)와 연결되도록 설정된다. 메인 제어부(210) 및 부가 제어부(220)는 각각 독립적인 클록(Clock)을 사용할 수 있다.For example, as shown in FIGS. 7 and 8, when the
또한 메모리부(310)의 저장 영역은 결합된 제어부의 수량에 상응하는 분할 영역들로 분할될 수 있다. 이는 각 제어부들이 각각의 분할 영역에 동시에 접속하여 데이터 기록(Write)을 수행할 수 있도록 하기 위함이다. 예를 들어, 메모리부(310)에 결합된 제어부가 2개인 경우 도 8에 도시된 바와 같이 메모리부(310)는 2개의 영역(즉, 제1 저장 영역(830), 제2 저장 영역(840))으로 분할될 수 있다. 각 분할 영역(830, 840)은 특정 제어부에 전용 영역으로 할당되지 않고 동시에 억세스되지만 않는다면 개별적인 억세스가 가능하다. 이는 어느 한쪽의 처리가 완료된 후 다음 처리 과정이 진행되도록 설정함으로써 데이터의 시간적인 정합성을 연속적으로 유지하기 위함이다. 물론, 메모리부(310)에 결합된 제어부가 2개일지라도 메모리부(310)의 저장 영역은 2 이상으로 분할될 수도 있다. In addition, the storage area of the
메모리부(310)의 분할 영역, 즉 제1 저장 영역(830) 및 제2 저장 영역(840)의 크기는 디폴트(default)로 미리 지정되어 있거나, 메인 제어부(210) 및/또는 부가 제어부(220)에 의해 임의의 크기들로 분할되거나 필요 시점(예를 들어, 기록하고자 하는 데이터가 기록 가능 영역의 크기 이상인 경우)마다 메인 제어부(210) 및/또는 부가 제어부(220)에 의해 가변되도록 설정될 수도 있다. 즉, 메모리부(310)의 저장 영역 중 분할된 저장 영역에 대한 주소(Address) 정보는 메인 제어부(210)에 의해 설정되고 관리될 수 있으며, 메인 제어부(210)에 의해 설정된 주소 정보는 부가 제어부(220)에 제공되어 공유된다. 물론, 주소 정보에 대한 설정 및 관리는 부가 제어부(220)에 의해서도 수행될 수 있으며, 필요에 따라서는 각 제어부(210 또는 220)가 주소 정보의 설정 권한을 가지고 타 제어부(220 또는 210)로 설정된 주소 정보를 제공함으로써 주소 정보의 공유가 가능해진다. 이 경우, 메모리부(310)의 분할된 저장 영역에 대한 정보는 휴대형 단말기의 부팅(booting) 과정에서 각 제어부에 의해 인식될 수 있다. 또한 만일 메모리부(310)가 SDRAM인 경우에는 뱅크(Bank) 단위로 영역이 구분될 수도 있다. 즉, 일반적인 SDRAM은 RAS address, CAS address 및 Bank address를 포함하며, 통상 뱅크(Bank)는 4개로 구성 된다. 이때, 4개의 뱅크를 각각 2개씩 나누어 제1 저장 영역(830), 제2 저장 영역(840)으로 할당할 수 있다.The divided areas of the
또한 도 8에는 제1 포트(810)가 제1 저장 영역(830)쪽에, 제2 포트(820)가 제2 저장 영역(840)쪽에 도시되었으나 이는 도시의 편의를 위한 것일 뿐 각 포트(810 또는 820)를 통해서는 어느 한쪽의 저장 영역에만의 접속이 가능하다는 의미는 아니다. 따라서, 각 포트(810 또는 820)를 통해 억세스할 때 분할된 각 저장 영역(830, 840)으로의 억세스가 가능함은 당연하다. 다만, 상술한 바와 같이, 어느 하나의 제어부가 데이터를 기록하기 위해 어느 하나의 저장 영역에 억세스한 상태라면 다른 제어부는 당해 저장 영역에 억세스할 수 없도록 제한되어야 한다. 제1 저장 영역(830) 또는 제2 저장 영역(840)에 복수의 제어부(210, 220)가 동시에 접속할 수 없도록 제한하는 방법은 먼저 접속한 제어부가 타 제어부로 접속 사실(예를 들어, 접속된 주소 정보 등)을 통지하는 방법, 메모리부(310)에서 임의의 제어부가 공동 영역에 접속한 경우 타 제어부로 접속 사실을 통지하는 방법 등이 있을 수 있다. 즉, 메인 제어부(210)와 부가 제어부(220)는 독립된 경로를 통해 메모리부(310)의 개별 저장 영역에 동시에 접속하여 데이터 처리가 가능하며, 이 경우 양자간의 충돌이 방지될 수 있다. 8, the
도 9는 본 발명의 바람직한 일 실시예에 따른 임의의 제어부가 분할 저장 영역에 억세스하는 과정을 나타낸 순서도이다.9 is a flowchart illustrating a process of accessing the divided storage area by an arbitrary control unit according to an exemplary embodiment of the present invention.
본 발명에 따른 메모리부(310)의 저장 영역은 복수의 분할 저장 영역(830, 840)으로 분할될 수 있으며, 각 제어부는 억세스 포트를 통해 어느 하나의 분할 저 장 영역에 접속하여 데이터를 기록(Write)하거나 기록된 데이터를 독출(Read)할 수 있다. 즉, 제1 저장 영역(830)이 메인 제어부(210)에 의해 억세스된 상태에서 부가 제어부(220)는 제2 저장 영역(840)에 자유롭게 억세스할 수 있는 것이다. 따라서, 각 제어부는 메모리부(310)의 분할 저장 영역 각각에 동시에 억세스하여 필요한 데이터 처리가 가능한 장점이 있다. 다만, 어느 하나의 분할 저장 영역에 복수의 제어부가 동시에 억세스하는 경우 데이터 정합성이 훼손될 수 있으므로 이에 대한 제한 방안이 요구된다. 물론, 동일한 분할 저장 영역에 복수의 제어부가 동시에 억세스할지라도 어느 하나의 제어부는 데이터를 기록하고 다른 하나의 제어부는 데이터를 독출만 하는 경우에는 허용될 수도 있다. 이하, 도 9를 참조하여 하나의 분할 저장 영역에 복수의 제어부가 동시에 억세스하지 않도록 하는 방법을 설명한다. The storage area of the
도 9를 참조하면, 단계 910에서 임의의 제어부(즉, 메인 제어부(210) 또는 부가 제어부(220) 중 어느 하나 - 이하, 제1 제어부라 칭함)는 특정 분할 저장 영역(즉, 제1 저장 영역(830) 또는 제2 저장 영역(840))에 억세스하여야 하는지 판단한다.Referring to FIG. 9, in
당해 분할 저장 영역에 억세스할 필요가 없는 경우 단계 910에서 대기한다. If there is no need to access the partitioned storage area, the process waits at
그러나 당해 분할 저장 영역에 억세스하여야 하는 경우, 제1 제어부는 단계 920에서 타 제어부(즉, 메인 제어부(210) 또는 부가 제어부(220) 중 다른 하나 - 이하 제2 제어부라 칭함)가 해당 분할 저장 영역에 이미 억세스한 상태인지 여부를 판단한다. 제2 제어부가 임의의 분할 저장 영역에 억세스하였는지 여부는 해당 제어부 또는 메모리부(310)로부터 수신되는 상태 정보를 통해 인식될 수 있다.However, when the divided storage area needs to be accessed, the first control part may have another control part (ie, the other one of the
만일 당해 분할 저장 영역에 제2 제어부가 억세스한 상태라면 해당 제2 제어부가 당해 분할 저장 영역에 대한 억세스 상태를 종료할 때까지 단계 920에서 대기한다.If the second control unit accesses the divided storage area, the process waits at
그러나, 당해 분할 저장 영역이 억세스 가능하다면 단계 930으로 진행하여 제1 제어부는 해당 분할 저장 영역으로 억세스하고, 당해 제1 제어부가 당해 분할 저장 영역에 억세스하였음을 나타내는 억세스 상태 정보를 제2 제어부로 전송한다. 억세스 상태 정보는 당해 분할 저장 영역으로의 억세스 직전에 전송될 수도 있으며, 상술한 바와 같이 메모리부(310)에 의해 제2 제어부로 전송될 수도 있다.However, if the partitioned storage area is accessible, the process proceeds to step 930 where the first controller accesses the partitioned storage area and transmits access status information indicating that the first controller accesses the partitioned storage area to the second controller. do. The access state information may be transmitted immediately before the access to the divided storage area, or may be transmitted to the second control unit by the
단계 940에서 제1 제어부는 억세스된 분할 저장 영역에 기록하고자 하는 데이터의 저장이 완료되었는지 여부를 판단한다. 만일 기록하고자 하는 데이터의 기록이 완료되지 않았다면 해당 데이터의 기록을 계속 수행하나, 만일 기록하고자 하는 데이터의 기록이 완료되었다면 단계 950에서 해당 분할 저장 영역에 대한 억세스를 종료한다. 또한, 제1 제어부 또는 메모리부(310)는 해당 분할 저장 영역에 대한 억세스 종료 정보를 제2 제어부로 전송하여 제2 제어부의 억세스를 가능하게 한다. In
상술한 바와 같이, 본 발명에 따른 분할 저장 영역 공유 방법은 메인 제어부(210) 및 부가 제어부(220)가 복수의 분할 저장 영역을 서로 교차하여 억세스할 수 있으므로, 상호간에 전달하고자 하는 데이터를 각 분할 저장 영역의 일정 영역에 기록한 후 해당 분할 저장 영역에 대한 억세스 권한을 상대방에게 제공(예를 들어, 억세스 종료 정보 전송)함으로써 실시간 데이터 전달이 가능한 장점을 가진다. 따라서, 메인 제어부(210)의 처리 명령에 의해 부가 제어부(220)가 임의의 데이터를 처리할 때 신속한 처리가 가능해진다. 이 경우 필요하면 해당 데이터의 저장 주소 정보가 상대방에 전달될 수 있다.As described above, in the divided storage area sharing method according to the present invention, since the
도 10은 본 발명의 바람직한 다른 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면이다.10 is a diagram illustrating a divided state of a storage area of a memory unit according to another exemplary embodiment of the present invention.
도 10에 도시된 바와 같이, 메모리부(310)의 저장 영역은 복수의 분할 저장 영역(즉, 제1 저장 영역(1010), 제2 저장 영역(1020), 제1 데이터 전달 영역(1030), 제2 데이터 전달 영역(1040) 등)으로 분할될 수도 있다.As illustrated in FIG. 10, the storage area of the
앞서 도 8에 도시된 바와 같이 메모리부(310)의 저장 영역을 제1 저장 영역(810), 제2 저장 영역(820)만으로 분할하는 방법에서는 제1 제어부(즉, 메인 제어부(210) 또는 부가 제어부(220) 중 어느 하나)가 임의의 분할 저장 영역에 데이터를 기록한 상태에서 해당 데이터를 제2 제어부(즉, 메인 제어부(210) 또는 부가 제어부(220) 중 다른 하나)가 이용할 수 있도록 하기 위해서는 해당 분할 저장 영역에 대한 억세스를 종료하여야 한다. As shown in FIG. 8, in the method of dividing the storage area of the
그러나, 그래픽 처리 등과 같이 많은 양의 데이터가 메인 제어부(210)와 부가 제어부(220)간에 이동되어야 하는 경우일지라도, 도 10과 같이 별도의 데이터 전달 영역(1030, 1040)을 구비하면 상호간에 전달되어야 하는 데이터를 각 저장 영역에서 상응하는 데이터 전달 영역으로 이동 또는 복제한 후 타 제어부로 해당 데이터 전달 영역으로 억세스하도록 하는 정보만을 전달함으로써 해당 저장 영역(1010 또는 1020)에 대한 억세스 권한을 포기할 필요가 없게 된다. 타 제어부로 전달될 데이터가 데이터 전달 영역에 저장한 후, 해당 제어부는 타 제어부로 해당 데이터의 저장 위치 정보와 처리 명령(예를 들어, 해당 데이터의 처리 유형 지시)이 상응하는 버스(Bus)를 통해 전달된다. 물론, 데이터 전달 영역내의 데이터 저장 주소가 디폴트로 설정되어 있다면 저장 위치 정보는 생략될 수 있다. 이와 같이 데이터를 저장한 저장 영역 자체에 대한 억세스 권한을 복수의 제어부간에 주고 받음으로써 데이터 처리를 위한 데이터 송수신 시간을 절감할 수 있게 된다. However, even when a large amount of data is to be moved between the
물론, 복수의 제어부간에 적은 양의 데이터를 전송하여야 하는 경우에는 해당 분할 저장 영역에 대한 억세스를 종료하지 않더라도 각 제어부간에 연결된 버스(Bus)를 통해 데이터를 송수신할 수도 있다.Of course, when a small amount of data needs to be transmitted between the plurality of control units, data may be transmitted and received through a bus connected between the control units even if the access to the divided storage area is not terminated.
신속한 데이터 전달Fast data delivery
이하에서는 메인 제어부(210)가 임의의 부가 제어부(220)에서 처리되어야할 데이터를 특정 저장 영역에 기록(write)한 후 당해 부가 제어부(220)가 해당 저장 영역에 접속하여 독출(read)할 수 있도록 메모리부(310)에서 접속 권한을 제어하는 과정만을 중심으로 설명하지만, 당업자는 어느 하나의 제1 제어부(예를 들어, 메인 제어부 또는 제1 부가 제어부)가 다른 제2 제어부(예를 들어, 제2 부가 제어부 또는 메인 제어부)에서 처리되어야할 데이터를 특정 저장 영역에 기록(write)한 후 제2 제어부가 해당 저장 영역에 접속하여 독출(read)할 수 있도록 메모리부에서 접속 권한을 제어하는 등의 방법으로도 동일하게 적용할 수 있음을 쉽게 이해할 수 있을 것이다. 따라서, 당업자가 쉽게 이해할 수 있는 추가적인 사항에 대한 설명을 생략할 뿐 본 발명의 기술적 사상이 하기의 기재 사항으로 제한되는 것이 아님을 유념해야 한다.Hereinafter, after the
도 11은 본 발명의 바람직한 일 실시예에 따른 메인 제어부, 부가 제어부, 메모리부 및 디스플레이 장치간의 결합 구조를 나타낸 도면이고, 도 12는 본 발명의 바람직한 일 실시예에 따른 메모리부의 저장 영역의 분할 상태를 나타낸 도면이다.11 is a diagram illustrating a coupling structure between a main controller, an additional controller, a memory unit, and a display device according to an exemplary embodiment of the present invention, and FIG. 12 is a divided state of a storage area of a memory unit according to an exemplary embodiment of the present invention. The figure which shows.
도 11을 참조하면, 본 발명에 따른 디지털 처리 장치는 메인 제어부(210)와 부가 제어부(220)는 하나의 메모리부(310)를 공유하는 구조로 결합된다. 부가 제어부(220) 후단에는 메인 제어부(210)에 의해 직접 제어되거나 메인 제어부(210)의 처리 명령에 따라 부가 제어부(220)에 의해 제어되는 디스플레이 장치(710)가 결합된다. 물론, 부가 제어부(220)의 기능에 따라 결합되는 출력 장치는 다양할 수 있다. 또한 도 11에는 하나의 부가 제어부(220)만이 도시되었으나 부가 제어부의 수량이나 처리 동작은 디지털 처리 장치가 구비한 기능들에 따라 다양할 것임은 자명하다. 또한 부가 제어부는 메인 제어부에 의해 제어될 수 있다.Referring to FIG. 11, in the digital processing apparatus according to the present invention, the
도 11에 도시된 바와 같이 메인 제어부(210)와 부가 제어부(220)는 MP-AP 버스를 통해 정보(예를 들어, 디스플레이 장치(710)의 구동 개시 명령 또는 구동 종료 명령 등의 처리 명령, 상태 정보 등)를 송수신한다. 메인 제어부(210)는 MP-SM 버스를 통해 메모리부(310)와 결합되어 메모리부(310)의 일정 저장 영역에 임의의 데이터(예를 들어, 폴리곤 데이터, 텍스처 데이터 등)를 기록(write)한다. 또한, 부가 제어부(220)는 AP-SM 버스를 통해 메모리부(310)와 결합되어 메모리부(310)의 일정 저장 영역에 기록된 데이터(즉, 메인 제어부(210)에 의해 기록된 데이터)를 독출(read)한다. 버스(Bus)는 컴퓨터 등에서 제어부와 주기억장치, 입출력 장치 간에 정보를 전송하는 데 사용되는 공용 목적의 전기적 통로이다. 여기서, 메인 제어부(210)는 디지털 처리 장치(예를 들어, 휴대형 단말기)의 전반적인 동작을 제어하는 프로세서일 수 있다. 또한 부가 제어부(220)는 MPEG4, 3D 그래픽, 카메라 기능, MP3 파일 재생 등을 처리하기 위한 전용의 프로세서일 수 있다. 부가 제어부(220) 후단에는 도시된 디스플레이 장치(710) 이외의 주변 장치가 결합될 수 있다. As illustrated in FIG. 11, the
메모리부(310)는 결합된 복수의 제어부(즉, 메인 제어부(210)와 하나 이상의 부가 제어부)에 의해 공유되는 구조로서, 구비된 또는 메모리부(310)를 공유하는 제어부들의 수량에 상응하는 억세스 포트(Access Port)를 구비한다. 예를 들어, 도 11 및 도 12에 도시된 바와 같이 메모리부(310)가 메인 제어부(210) 및 부가 제어부(220)와 공통적으로 결합된 구조라면, 2개의 제어부(210, 220)가 하나의 메모리부(310)를 사용하는 구조이므로 메모리부(310)는 2개의 억세스 포트(Access Port)를 구비한다. 즉, 2개의 억세스 포트는 제1 포트, 제2 포트로 구분되어 제1 포트는 메인 제어부(210)와 연결되도록 하고, 제2 포트는 부가 제어부(220)와 연결되도록 설정된다. 즉, 메모리부(310)의 메모리 코어(memory core)는 하나이지만 복수의 억세스 포트가 구비될 수 있는 것이다. 메인 제어부(210) 및 부가 제어부(220)는 각각 독립적인 클럭(Clock)을 사용할 수도 있다. 도시되지는 않았으나 메모리부(310)는 내부의 동작 제어를 위한 내부 제어기(Internal Controller)가 포함될 수 있다. The
또한, 메모리부(310)의 저장 영역은 복수의 영역들로 분할될 수 있으며, 저 장 영역의 수량은 최소 2개에서 최대 n(자연수)개일 수 있다. 예를 들어, 분할된 저장 영역의 수량은 구비된 제어부들의 수량과 일치할 수도 있다. 이는 각 제어부들이 독립된 경로를 통해 각각의 분할 영역에 동시점에 개별적으로 접속하여 필요한 동작(예를 들어, 데이터 기록(write) 또는 데이터 독출(read))을 방해받음이 없고 양자간의 충돌없이 수행할 수 있도록 하기 위함이다. In addition, the storage area of the
예를 들어, 메모리부(310)에 결합된 제어부가 2개인 경우 도 12에 도시된 바와 같이 메모리부(310)는 2개의 영역(즉, 제1 저장 영역(1210), 제2 저장 영역(1220))으로 분할될 수 있다. 각 분할 영역(1210, 1220)은 특정 제어부에 전용 영역으로 할당되지 않고 동시에 억세스(access)되지만 않는다면 개별적인 억세스가 가능하다. 이는 어느 한쪽의 처리가 완료된 후 다음 처리 과정이 진행되도록 설정함으로써 데이터의 시간적인 정합성을 연속적으로 유지하기 위함이다. 물론, 메모리부(310)에 결합된 제어부가 2개일지라도 메모리부(310)의 저장 영역은 2 이상으로 분할될 수도 있다. For example, when there are two control units coupled to the
도 12에 도시된 신호 입출력 과정을 간략히 설명하면, 메인 제어부(210)가 메모리부(310)의 분할 영역 중 저장 영역 A에 특정 데이터를 기록하고자 하는 경우, 메인 제어부(210)는 메모리부(310)로 데이터의 기록을 위한 주소 정보(Addr_A : 저장 영역 A의 Address Signal), 기록하고자 하는 데이터(Data_A), 제어 신호들(예를 들어, 저장 영역 A로의 데이터 기록을 지시하기 위한 WE_A(Write Enable), 저장 영역 A에 대한 칩 선택 신호(CS_A : Chip Select _ A), 클럭(CLK_A) 등)을 전송한다. 메모리부(310)는 메인 제어부(210)의 명령(즉, 기록 명령)에 따라 수신되는 데이터를 저장 영역 A에 기록되도록 한다. 메인 제어부(210)는 분할 영역에 대해 미리 설정된 주소 정보와 데이터 기록시 지시한 주소 정보를 이용하여 저장 영역 A의 저장 용량을 모두 이용한 경우에는 저장 영역 A와의 접속을 종료하며, 메모리부(310)는 점유 상태 정보(예를 들어, 저장 영역 A에 대한 접속이 종료되었으며 저장 영역 B에 접속하여 데이터 기록이 가능하다는 내용의 정보)를 제어부들로 제공한다. Referring briefly to the signal input / output process illustrated in FIG. 12, when the
또한, 메인 제어부(210)는 저장 영역 A의 저장 용량을 모두 이용하기 전에 데이터 기록이 완료되었다면 메모리부(310)와의 접속을 종료함으로써 족한 것이며, 이 경우에도 메모리부(310)는 점유 상태 정보가 새롭게 갱신되었으므로 이를 제어부들에 제공한다. 상술한 과정을 통해 저장 영역 A에 임의의 데이터가 기록되면 해당 데이터를 독출하여 이용하고자 하는 부가 제어부(220)는 데이터의 독출을 위한 주소 정보(Addr_A : 저장 영역 A의 Address Signal), 제어 신호들(예를 들어, 저장 영역 A에서의 데이터 독출을 지시하기 위한 OE_A(Output Enable), 저장 영역 A에 대한 칩 선택 신호(CS_A : Chip Select _ A), 클럭(CLK_A) 등)을 전송함으로써 데이터(Data_A)를 독출하게 된다. 부가 제어부(220)가 저장 영역 A에 접속할 수 있는지 여부는 메모리부(310)로부터 제공받은 점유 상태 정보를 이용하여 확인할 수 있다. 예를 들어, 메모리부(310)로부터 제공받은 점유 상태 정보 중 "RBusy(Read Busy)_A"가 제1 상태(예를 들어, "Low State")인 경우에는 접속하여 독출 가능한 상태인 것으로 인식될 수 있다. 메모리부(310)의 임의의 저장 영역에 제1 제어부가 데이터를 기록하고, 제2 제어부가 제1 제어부의 데이터 기록이 완료된 후 해당 저 장 영역에 접속하여 기록된 데이터를 독출하는 과정은 이후 도 13을 참조하여 상세히 설명하기로 한다. In addition, if the data recording is completed before the storage capacity of the storage area A is completely used, the
또한, 메모리부(310)의 분할 영역, 즉 제1 저장 영역(1210) 및 제2 저장 영역(1220)의 크기는 디폴트(default)로 미리 지정되어 있거나, 메인 제어부(210) 및/또는 부가 제어부(220)에 의해 임의의 크기들로 분할되거나 필요 시점(예를 들어, 기록하고자 하는 데이터가 기록 가능 영역의 크기 이상인 경우)마다 메인 제어부(210) 및/또는 부가 제어부(220)에 의해 가변되도록 설정될 수도 있다. 즉, 메모리부(310)의 전체 저장 영역 중 분할된 저장 영역에 대한 주소(Address) 정보는 메인 제어부(210)에 의해 설정되고 관리될 수 있으며, 메인 제어부(210)에 의해 설정된 주소 정보는 부가 제어부(220)에 제공되어 공유될 수 있다. 물론, 주소 정보에 대한 설정 및 관리는 부가 제어부(220)에 의해서도 수행될 수 있으며, 필요에 따라서는 각 제어부(210 또는 220)가 주소 정보의 설정 권한을 가지고 타 제어부(220 또는 210)로 설정된 주소 정보를 제공함으로써 주소 정보의 공유가 가능해진다. 이 경우, 메모리부(310)의 분할된 저장 영역에 대한 정보는 디지털 처리 장치(예를 들어, 휴대형 단말기)의 부팅(booting) 과정에서 각 제어부에 의해 인식될 수 있다. In addition, the size of the divided area of the
또한 만일 메모리부(310)가 SDRAM인 경우에는 뱅크(Bank) 단위로 영역이 구분될 수도 있다. 즉, 일반적인 SDRAM은 RAS address, CAS address 및 Bank address를 포함하며, 통상 뱅크(Bank)는 4개로 구성된다. 이때, 4개의 뱅크를 각각 2개씩 나누어 제1 저장 영역(1210), 제2 저장 영역(1220)으로 할당할 수 있다.In addition, if the
도 13은 본 발명의 바람직한 일 실시예에 따른 분할 저장 영역에 대한 접속 권한 제어에 따른 제어부의 순차적 접속 및 처리 과정을 나타낸 데이터 흐름도이다.FIG. 13 is a data flow diagram illustrating a sequential connection and processing procedure of a controller according to access authority control for a divided storage area according to an exemplary embodiment of the present invention.
도 13을 참조하여 제어부의 순차적 접속 및 처리 과정을 설명함에 있어 메모리부(310)의 모든 분할 저장 영역(이하, 저장 영역 A와 저장 영역 B만으로 분할된 경우를 가정함)에 초기 상태는 쓰기 가능 상태(즉, WBusy(Write Busy)가 Low인 상태) 및 독출 가능 상태(즉, RBusy(Read Busy)가 Low인 상태)이고 각 분할 영역의 주소(Address) 크기는 1000인 것으로 가정하여 설명한다. 또한, 메인 제어부(210)가 저장 영역 A, 저장 영역 B, 저장 영역 A의 순으로 데이터를 기록하고, 부가 제어부(220)가 메인 제어부(210)에 의해 기록된 데이터를 저장 영역 A, 저장 영역 B, 저장 영역 A의 순으로 독출하는 경우를 가정하여 설명한다.In describing the sequential connection and processing of the control unit with reference to FIG. 13, the initial state is writable in all divided storage areas (hereinafter, assumed to be divided into only storage area A and storage area B) of the
도 13을 참조하면, 메모리부(310)는 단계 1305에서 모든 분할 저장 영역의 초기 상태가 쓰기 가능 상태 및 독출 가능 상태임을 나타내는 제1 점유 상태 정보를 각 제어부들로 제공한다.Referring to FIG. 13, in
임의의 주변 장치(예를 들어, 디스플레이 장치(710))를 통해 임의의 정보(예를 들어, 3D 그래픽)가 출력되어야 하는 경우, 메인 제어부(210)는 단계 1315에서 당해 주변 장치에 결합된 부가 제어부(220)로 MP-AP 버스를 통해 구동 개시 명령을 전송한다.If any information (eg, 3D graphics) is to be output via any peripheral device (eg, display device 710), the
이어서, 메인 제어부(210)는 단계 1320에서 저장 영역 A에 임의의 데이터를 기록하기 위하여 MP-SM 버스를 통해 데이터 저장 명령을 전송한다. 상술한 바와 같이, 데이터 저장 명령 내에는 데이터 저장 주소, 기록될 데이터, 제어 신호들(예를 들어, WE_A, CS_A, CLK_A)이 포함될 수 있다. Subsequently, the
단계 1325에서 메모리부(310)는 저장 영역 A에 메인 제어부(210)가 접속되어 데이터 기록을 수행중이므로 저장 영역 A가 데이터 기록을 위해 메인 제어부(210)에 의해 점유되었음을 나타내는 제2 점유 상태 정보를 각 제어부로 제공한다. 제2 점유 상태 정보는 종전의 점유 상태 정보에 비해 변경된 정보(즉, WBusy_A = High)만을 포함하거나, 모든 분할 영역들에 대한 점유 상태 정보(즉, WBusy_A = High, RBusy_A = Low, WBusy_B = Low, RBusy_B = Low)를 포함하도록 구성될 수 있다. In
부가 제어부(220)는 단계 1315의 구동 개시 명령에 의해 메모리부(310)로 접속하거나 메모리부(310)로부터 제공되는 점유 상태 정보를 이용하여 메인 제어부(210)가 데이터를 기록하는 저장 영역으로의 접속이 가능해지면 메모리부(310)로 접속하여 메인 제어부(210)에 의해 기록된 데이터를 독출하게 된다. 부가 제어부(220)는 구동 개시 명령 수신 후 점유 상태 정보의 변경 상태(즉, WBusy_A = Low에서 WBusy_A = High로의 전환)만으로도 메인 제어부(210)가 어느 분할 저장 영역에 데이터를 저장하는지 인식할 수 있다.The
단계 1330에서 메인 제어부(210)는 저장 영역 A의 저장 공간을 모두 이용했는지 여부를 판단한다. 메인 제어부(210)는 데이터 저장 명령에 포함된 데이터 저장 주소와 각 분할 저장 영역에 미리 할당된 데이터 저장 주소의 크기를 비교하여 모든 저장 공간이 이용되었는지 여부를 판단할 수 있다. 물론, 분할된 저장 영역의 저장 공간이 모두 이용되었는지 여부에 대한 정보를 메모리부(310)에서 제공할 수도 있다. 또한, 메인 제어부(210)가 부가 제어부(220)로 전달할 데이터의 기록이 완료되었다면 메인 제어부(210)의 이후의 단계는 생략될 수 있다.In
모든 저장 공간이 이용되었다면 단계 1335로 진행하지만, 저장 공간이 남아있는 경우에는 단계 1320으로 다시 진행한다. 즉, 데이터 저장 명령은 기록될 데이터가 모두 기록되었거나 저장 영역 A의 저장 공간이 모두 이용될 때까지 새로운 저장 주소 및/또는 새로운 데이터에 상응하도록 반복적으로 전송될 수 있다. 다만, 메모리부(310)는 저장 영역 A에 접속된 메인 제어부(210)가 접속 상태를 해제할 때까지 저장 영역 A에 대한 메인 제어부(210)의 점유 상태를 유지한다. 따라서, 메모리부(310)는 단계 1320이 반복 수행될 때마다 점유 상태 정보를 반복하여 출력할 필요는 없으며, 현재의 점유 상태 정보를 유지하는 것으로 족하다.If all the storage space has been used, the process proceeds to step 1335, but if the storage space remains, the process proceeds to step 1320 again. That is, the data storage command may be repeatedly transmitted to correspond to the new storage address and / or the new data until all the data to be recorded is recorded or the storage space of the storage area A is used up. However, the
메인 제어부(210)는 단계 1325를 통해 제공받은 제2 점유 상태 정보를 통해 저장 영역 B가 기록 가능 상태(즉, WBusy = Low)임을 인식하고 있으므로, 단계 1335에서 남은 데이터들을 저장 영역 B에 기록하기 위하여 MP-SM 버스를 통해 메모리부(310)로 데이터 저장 명령을 전송한다. 물론, 저장 영역 B가 타 부가 제어부에 의해 접속되어 있는 상태라면 해당 타 부가 제어부의 접속이 해제될 때까지 대기할 것이다.Since the
단계 1340에서 메모리부(310)는 메인 제어부(210)가 저장 영역 A에 대한 접속을 해제하고 저장 영역 B에 데이터 기록을 위해 접속하였음을 나타내는 제3 점유 상태 정보를 각 제어부로 제공한다. 상술한 바와 같이 제3 점유 상태 정보도 종전의 점유 상태 정보에 비해 변경된 정보(즉, WBusy_A = Low, WBusy_B = High)만을 포함하거나, 모든 분할 영역들에 대한 점유 상태 정보(즉, WBusy_A = Low, RBusy_A = Low, WBusy_B = High, RBusy_B = Low)를 포함하도록 구성될 수 있다. In
부가 제어부(220)는 제3 점유 상태 정보(및 제2 점유 상태 정보)에 의해 저장 영역 A가 메인 제어부(210)의 접속이 해제되었고 독출 가능 상태(즉, RBusy_A = Low)임을 인식하고 메모리부(310)로 저장 영역 A에 기록된 데이터의 독출 명령을 전송한다. 상술한 바와 같이 데이터 독출 명령은 데이터 저장 주소, 제어 신호들(예를 들어, OE_A, CS_A, CLK_A)이 포함될 수 있다. The
단계 1350에서 메모리부(310)는 부가 제어부(220)가 데이터 독출을 위해 저장 영역 A에 접속하였음을 나타내는 제4 점유 상태 정보를 각 제어부로 제공한다. 상술한 바와 같이 제4 점유 상태 정보도 종전의 점유 상태 정보에 비해 변경된 정보(즉, RBusy_A = High)만을 포함하거나, 모든 분할 영역들에 대한 점유 상태 정보(즉, WBusy_A = Low, RBusy_A = High, WBusy_B = High, RBusy_B = Low)를 포함하도록 구성될 수 있다. In operation 1350, the
단계 1355-1에서 부가 제어부(220)는 저장 영역 A에 기록된 데이터의 독출을 완료했는지 여부를 판단한다. 저장된 데이터의 독출 완료 여부는 데이터 독출 명령에 포함된 데이터 저장 주소와 각 분할 저장 영역에 미리 할당된 데이터 저장 주소의 크기를 비교하여 판단될 수 있다.In step 1355-1, the
저장 영역 A에 기록된 모든 데이터의 독출이 완료되지 않았다면, 단계 1345로 진행하여 데이터의 독출을 지속한다. 이 경우에도 단계 1350은 생략될 수 있다. 그러나, 저장 영역 A에 기록된 모든 데이터의 독출이 완료되었다면 부가 제어부(220)는 단계 1360-1로 진행하여 저장 영역 A에 대한 접속을 해제한다. If the reading of all data recorded in the storage area A has not been completed, the flow advances to step 1345 to continue reading of the data. In this case, step 1350 may be omitted. However, if the reading of all data recorded in the storage area A is completed, the
단계 1365에서 메모리부(310)는 부가 제어부(220)가 저장 영역 A에 대한 접속을 해제하였음을 나타내는 제5 점유 상태 정보를 각 제어부로 제공한다. 상술한 바와 같이 제5 점유 상태 정보도 종전의 점유 상태 정보에 비해 변경된 정보(즉, RBusy_A = Low)만을 포함하거나, 모든 분할 영역들에 대한 점유 상태 정보(즉, WBusy_A = Low, RBusy_A = Low, WBusy_B = High, RBusy_B = Low)를 포함하도록 구성될 수 있다. 이후 부가 제어부(220)는 데이터 독출을 위해 저장 영역 B에 접속 가능할 때까지(즉, 메인 제어부(210)가 저장 영역 B에 데이터의 기록을 종료하고 접속을 해제할 때까지) 대기한다. In operation 1365, the
이와 별도로, 메인 제어부(210)는 단계 1355-2에서 저장 영역 B의 저장 공간을 모두 이용했는지 여부를 판단한다. 메인 제어부(210)는 데이터 저장 명령에 포함된 데이터 저장 주소와 각 분할 저장 영역에 미리 할당된 데이터 저장 주소의 크기를 비교하여 모든 저장 공간이 이용되었는지 여부를 판단할 수 있다. 물론, 분할된 저장 영역의 저장 공간이 모두 이용되었는지 여부에 대한 정보를 메모리부(310)에서 제공할 수도 있다. 또한, 메인 제어부(210)가 부가 제어부(220)로 전달할 데이터의 기록이 완료되었다면 메인 제어부(210)의 이후의 단계는 생략될 수 있다.Separately, the
모든 저장 공간이 이용되었다면 단계 1360-2로 진행하여 다시 저장 영역 A에 데이터를 기록하기 위한 데이터 저장 명령을 메모리부(310)로 전송하지만, 저장 영역 B에 아직 저장 공간이 남아있는 경우에는 단계 1335로 다시 진행한다. 이 경우에도 상술한 바와 같이 단계 1340은 생략될 수 있다. 단계 1360-2에 의해 저장 영역 A에 저장되는 데이터는 단계 1320에 의해 저장된 데이터에 오버라이 트(overwrite)되거나 기존의 데이터를 삭제한 후 기록될 수 있다. 다만, 단계 1360-2는 부가 제어부(220)가 아직 저장 영역 A에서 데이터 독출을 수행 중이라면 부가 제어부(220)가 접속을 종료한 후 수행될 수 있다.If all the storage space has been used, go to step 1360-2 to send a data storage command to the
단계 1365에서 메모리부(310)는 메인 제어부(210)가 저장 영역 B와의 접속을 해제하고 저장 영역 A로 다시 접속하였음을 나타내는 제6 점유 상태 정보를 각 제어부로 제공한다. 상술한 바와 같이 제6 점유 상태 정보도 종전의 점유 상태 정보에 비해 변경된 정보(즉, WBusy_A = Low, WBusy_B = High)만을 포함하거나, 모든 분할 영역들에 대한 점유 상태 정보를 포함하도록 구성될 수 있다.In operation 1365, the
도 13에 도시된 바와 같이, 저장 영역 B에 접속된 메인 제어부(210)는 데이터의 기록을 수행하고, 저장 영역 A에 접속된 부가 제어부(220)는 데이터의 독출을 수행한다. 다만 도 13의 단계 1355-1 내지 단계 1365에서 메인 제어부(210) 및 부가 제어부(220)의 각 단계가 동시에 수행되는 것처럼 도시되었으나 이는 각 제어부의 처리 능력이나 처리 동작의 난이도 등에 따라 시계열적인 순서로 재구성될 수도 있음은 자명하다. 다시 말하여, 각 제어부의 처리는 별개의 동작으로 개별적으로 수행될 뿐이다. 즉, 저장 영역 B에 데이터를 기록하는 메인 제어부(210)는 저장 영역 B의 저장 용량을 모두 이용한 경우 저장 영역 A에 임의의 부가 제어부가 접속하였는지를 제5 점유 상태 정보를 이용하여 판단한 후 접속이 가능하다면 저장 영역 A로 다시 접속하여 데이터를 기록하게 된다. 이와 별도로, 저장 영역 A에 기록된 데이터를 독출하는 부가 제어부(220)는 모든 데이터가 독출되었다면 저장 영역 B에 접속이 가능한지 여부(즉, 메인 제어부(210)나 다른 부가 제어부가 접속하였는지 여부)를 제6 점유 상태 정보를 이용하여 판단한 후 접속이 가능 가능하다면 저장 영역 B로 접속하여 데이터를 독출하게 된다.As shown in FIG. 13, the
상술한 과정을 통해 메인 제어부(210)는 부가 제어부(220)에서 처리될 데이터를 MP-AP 버스를 통해 전달할 필요가 없이 임의의 저장 영역에 저장 완료한 후 접속을 종료하고, 해당 저장 영역에 부가 제어부(220)가 접속되도록 하여 저장 영역에 대한 접속 주체의 변경만으로 데이터의 신속한 전달이 가능하다.Through the above-described process, the
개별 메모리 접근 허용Allow individual memory access
최근 저장 공간의 확장 또는 처리 효율의 증진 등을 위해 각 부가 제어부가 개별적으로 구비한 메모리를 타 부가 제어부 또는 메인 제어부가 공유하도록 하기 위한 다양한 시도가 행해지고 있다. 이 경우, 버스 컨트롤러(Bus Controller) 또는 셀렉터(Selector) 등을 이용하여 특정 메모리를 이용할 수 있는 제어부(즉, 메인 제어부 또는 임의의 부가 제어부)가 구분된다. In recent years, various attempts have been made to share a memory provided by each additional control unit with another additional control unit or the main control unit in order to expand storage space or improve processing efficiency. In this case, a controller (that is, a main controller or an optional additional controller) that can use a specific memory is distinguished by using a bus controller or a selector.
도 14 내지 도 16은 종래의 메모리 공유 구조를 나타낸 도면이다.14 to 16 illustrate a conventional memory sharing structure.
도 14를 참조하면, 복수의 부가 제어부(1410, 1420, 1430)가 각 버스(BUS)를 통해 메인 제어부(1440)의 버스 컨트롤러(1450)와 복수의 부가 메모리(1460, 1470, 1480)로 연결된다. 각 부가 메모리는 각각의 부가 제어부에 종속된 메모리일 수 있다. 물론, 메인 제어부(1440)는 자신에게 종속되며, 타 부가 제어부에 의해 임의의 데이터가 기록(Write)될 수 있는 메인 메모리(미도시)를 구비할 수 있다. 일반적으로 각 부가 제어부는 자신에게 종속된 부가 메모리 또는 타 부가 제어부에 종속된 부가 메모리에 임의의 데이터를 기록(Write)하기 위해서는 당해 부가 제어부내에 버스 컨트롤러(미도시)를 구비한 상태에서 각각의 부가 메모리로 연결되어야 한다. 이 경우, 각각의 부가 제어부가 현재 어떤 부가 메모리를 이용하고 있는지 알고 있어야 하며, 또한 버스 충돌의 위험과 부가 메모리 내의 동일한 저장 영역에 복수의 부가 제어부에 의한 데이터가 중복되어 기록될 수 있으므로 이를 제어하기 위하여 메인 제어부(1440) 내에 별도의 버스 컨트롤러(1450)가 구비되어야 한다. 즉, 메인 제어부(1440) 내에 구비된 버스 컨트롤러(1450)가 각 부가 제어부들의 부가 메모리 접속 상태 등을 관리함으로써 버스 충돌 또는 데이터 중복 기재를 방지한다. Referring to FIG. 14, the plurality of
그러나, 도 14에 도시된 종래의 메모리 공유 구조는 메인 제어부(1440)의 구성이 복잡해지고, 메인 제어부(1440) 내의 버스 컨트롤러(1450)가 버스 컨트롤 등의 기능을 수행하여야 하므로 메인 제어부(1440)의 자체 기능에 대한 처리 효율이 감소되며, 또한 전체 시스템이 메인 제어부(1440)에 대한 의존도가 커지는 문제점이 있다.However, in the conventional memory sharing structure shown in FIG. 14, the configuration of the
도 15를 참조하면, 복수의 부가 제어부(1410, 1420)가 각 버스(BUS)를 통해 메인 제어부(1440) 및 복수의 메모리(1460, 1470, 1510)로 연결된다. 각 부가 메모리는 각각의 부가 제어부에 종속된 메모리일 수 있다. 복수의 제어부들이 복수의 메모리를 공유하기 위해서는 각 제어부(즉, 메인 제어부 및 부가 제어부)들이 메모리들과 인터페이스를 가진 상태에서 메인 제어부(1440)에 의해 버스 컨트롤되어져야 한다. 즉, 메인 제어부(1440)는 버스 컨트롤러뿐 아니라 부가 제어부를 제어하기 위한 제어 로직(Control Logic)을 더 구비하여야 한다. 이 상태에서 메인 제어 부(1440)는 임의의 부가 제어부가 특정 메모리를 이용할 수 없도록 당해 부가 제어부를 종료시키거나 불능 상태로 제어하게 된다. Referring to FIG. 15, a plurality of
그러나, 도 15에 도시된 종래의 메모리 공유 구조 역시 메인 제어부(1440)의 구성이 복잡해지고, 메인 제어부(1440) 내의 버스 컨트롤러(1450)가 버스 컨트롤 등의 기능을 수행하여야 하므로 메인 제어부(1440)의 자체 기능에 대한 처리 효율이 감소되며, 또한 전체 시스템이 메인 제어부(1440)에 대한 의존도가 커지는 문제점이 있다.However, the conventional memory sharing structure illustrated in FIG. 15 also complicates the configuration of the
도 16은 복수의 제어부들(즉, 메인 제어부(1440) 및 복수의 부가 제어부(1410, 1420))이 하나의 공유 메모리(1610)를 공유하는 구조를 보여준다. 도 16에 도시된 메모리 공유 구조 역시 도 15의 메모리 공유 구조와 마찬가지로 각 제어부(즉, 메인 제어부 및 부가 제어부 각각)는 공유 메모리(1410)와의 인터페이스를 가져야 하며, 또한 메인 제어부(1440)에 의해 버스 컨트롤되어야 한다. 즉, 메인 제어부(1440)는 버스 컨트롤러뿐 아니라 부가 제어부를 제어하기 위한 제어 로직(Control Logic)을 더 구비하여야 한다.16 illustrates a structure in which a plurality of controllers (that is, the
따라서, 도 16에 도시된 메모리 공유 구조에 의할 경우에도 메인 제어부(1440)는 구성의 복잡성, 낮은 처리 효율 등의 문제점이 여전히 존재한다.Therefore, even in the memory sharing structure illustrated in FIG. 16, the
도 17은 상술한 종래의 메모리 공유 구조에서의 타 메모리를 이용한 데이터 기록 방법을 나타낸 순서도이다. 즉, 도 17은 종래의 메모리 공유 구조에 의할 때, 임의의 부가 제어부(1705)가 기록(Write)하고자 하는 데이터의 크기가 스스로 구비한 메모리의 저장 가능 저장 영역보다 큰 경우 또는 추가적인 저장 영역이 필요한 경우 타 부가 제어부 또는 메인 제어부(1440)가 구비한 메모리에 해당 데이터를 저장하는 과정을 나타낸다.17 is a flowchart showing a data writing method using another memory in the above-described conventional memory sharing structure. That is, according to the conventional memory sharing structure, FIG. 17 illustrates a case in which the size of data to be written by the arbitrary additional control unit 1705 is larger than the storage capable storage area of the memory provided by the additional control unit 1705 or the additional storage area. If necessary, the process of storing the corresponding data in a memory provided by the other additional control unit or the
도 17을 참조하면, 단계 1710에서 임의의 부가 제어부(1705)는 미리 설정된 기능을 수행한다. 당해 부가 제어부(1705)는 JPEG 부호화(encoding), JPEG 복호화(decoding) 등의 카메라 기능 수행을 위한 부가 프로세서이거나 음악 파일의 부호화, 음악 파일의 복호화 등을 수행하는 음악 파일 재생 기능을 위한 부가 프로세서일 수 있다.Referring to FIG. 17, in
단계 1715에서 부가 제어부(1705)는 기능 수행에 따라 생성된 또는 기능 수행을 위해 필요한 데이터를 저장하기 위한 추가 저장 영역이 필요한지 여부를 판단한다. 추가 저장 영역이 필요한 경우는 기록(Write)하고자 하는 데이터의 크기가 스스로 구비한 메모리의 저장 가능 저장 영역보다 큰 경우 등일 것이다.In
추가 저장 영역이 필요하지 않은 경우(예를 들어, 기록하고자 하는 데이터의 크기가 스스로 구비한 메모리의 저장 가능 저장 영역보다 작은 경우)에는 단계 1710으로 다시 진행한다. 이 경우, 기록될 필요가 있는 데이터는 당해 부가 제어부(1705)에 연결된 또는 당해 부가 제어부(1705) 내에 구비된 메모리에 기록될 것이다. If no additional storage area is needed (e.g., if the size of the data to be written is smaller than the storage area of the memory provided by itself), the process proceeds to step 1710 again. In this case, data that needs to be recorded will be recorded in a memory connected to the additional control unit 1705 or provided in the additional control unit 1705.
추가 저장 영역이 필요한 경우에는 단계 1720으로 진행하여 부가 제어부(1705)는 메인 제어부(1440)로 데이터 버스 점유 허용 요청을 전송한다. 버스 점유 허용 요청은 임의의 메모리(즉, 타 부가 제어부(1705)에 종속되는 메모리 또는 메인 제어부(1440)에 종속되는 메모리)에 임의의 데이터를 기록하기 위하여 특정 버스를 점유받기 위한 요청이다.If the additional storage area is needed, the controller 1705 proceeds to step 1720 and the additional controller 1705 transmits a data bus occupancy permission request to the
메인 제어부(1440)는 단계 1725에서 해당 부가 제어부(1705)에게 점유를 허용할 수 있는 버스(즉, 프리(free)상태의 버스)가 존재하는지 여부를 판단한다. The
해당 버스가 존재하는 경우, 메인 제어부(1440)는 단계 1730에서 버스 점유 허용 정보를 당해 부가 제어부(1705)로 전송한다. 당해 버스 점유 허용 정보에 의해 해당 버스는 당해 부가 제어부만이 점유할 수 있으며, 해당 부가 제어부가 점유를 해제하기까지 타 부가 제어부는 해당 버스를 점유할 수 없게 된다.If the bus exists, the
단계 1735에서 부가 제어부(1705)는 버스 점유 허용 정보에 상응하는 버스를 통해 상응하는 메모리로 기록하고자 하는 데이터를 전송하여 기록되도록 한다. In
상술한 바와 같이, 종래의 메모리 공유 구조에 의할 때 메인 제어부(1440)는 모든 부가 제어부(1705)에 대한 버스 컨트롤을 수행하여야 한다. 따라서, 메인 제어부(1440)가 버스 컨트롤러를 구비하여야 하므로 그 구성이 복잡해지고, 모든 부가 제어부들에 대한 버스 컨트롤을 수행하여야 하므로 자체 기능에 대한 처리 효율이 떨어지는 문제점이 있다.As described above, according to the conventional memory sharing structure, the
또한, 메인 제어부(1440)는 제1 부가 제어부가 관할하고 있는 특정 메모리를 제2 부가 제어부가 접속 가능하도록 제어한 경우, 일반적인 메모리 구조상 당해 메모리는 제1 부가 제어부의 내부에 존재하거나 제1 부가 제어부에 종속되도록 구비되어 있으므로 제1 부가 제어부는 제2 부가 제어부로부터 데이터를 제공받아 해당 데이터를 종속된 메모리 내에 저장하게 된다. 이 경우, 제1 부가 제어부는 자신의 기능 수행이 아닌 제2 부가 제어부에 의해 생성된 데이터의 저장 기능을 수행하여 야 하므로 불필요한 기능 수행에 따른 전원 소모 및 처리 효율 저감의 원인이 되는 문제점이 있다.In addition, when the
도 18은 본 발명의 바람직한 일 실시예에 따른 메모리 공유 구조를 나타낸 도면이다.18 is a diagram illustrating a memory sharing structure according to an embodiment of the present invention.
도 18에 도시된 바와 같이, 본 발명에 따른 개별 메모리 접근 허용 방법을 수행하기 위한 휴대형 단말기 등의 디지털 처리 장치는 메인 제어부(1830), 메인 제어부와 각각 버스를 통해 결합된 제1 및 제2 부가 제어부(1810, 1820), 제1 및 제2 부가 제어부(1810, 1820)에 각각 종속되는 제1 및 제2 부가 메모리(1870)를 포함한다. As illustrated in FIG. 18, a digital processing apparatus such as a portable terminal for performing a method of allowing individual memory access according to the present invention includes a main controller 1830 and a first and a second unit coupled to a main controller through a bus, respectively. The
여기서, 메인 제어부(1830)는 휴대형 단말기의 전반적인 동작을 제어하고, 각 부가 제어부에 임의의 명령(예를 들어, 동작 개시 명령, 동작 종료 명령 등)을 줄 수 있는 프로세서일 수 있다. 도 18에는 도시되지 않았으나 메인 제어부(1830)는 별도의 메인 메모리와 결합되거나 메인 메모리를 포함할 수 있다.Here, the main controller 1830 may be a processor that controls the overall operation of the portable terminal and may give an arbitrary command (for example, an operation start command or an operation end command) to each additional control unit. Although not shown in FIG. 18, the main controller 1830 may be combined with a separate main memory or include a main memory.
또한 부가 제어부(1810, 1820)는 MPEG4, 3D 그래픽, 카메라 기능 등을 처리하기 위한 전용의 프로세서일 수 있다. 또한 도 18에는 부가 제어부가 2개인 경우만을 가정하여 도시하였으나 휴대형 단말기가 구비한 기능들의 종류에 따라 부가 제어부의 수량은 가감될 수 있음은 자명하다. Also, the
또한 본 발명이 적용될 수 있는 휴대형 단말기는 특정 유형의 단말기에 제한되지 않고 메인 제어부(1830), 복수의 부가 제어부 및 각각의 메모리들을 포함하여 구성된 디지털 처리 장치인 경우라면 동일하게 적용될 수 있음을 쉽게 이해할 수 있을 것이다.In addition, it is easy to understand that the portable terminal to which the present invention can be applied is not limited to a specific type of terminal, but may be equally applicable to a digital processing apparatus including the main controller 1830, a plurality of additional controllers, and respective memories. Could be.
각각의 부가 제어부(1810 또는 1820)는 종속되는 부가 메모리(1860 또는 1870)로의 인터페이스 여부를 제어하기 위한 바이패스 로직 수행부(1840 또는 1850)를 포함한다. 바이패스 로직 수행부(1840 또는 1850)는 당해 부가 제어부(1810 또는 1820)의 동작 또는 비동작 여부(즉, 당해 부가 제어부가 해당 부가 메모리를 사용하는지 여부)에 따라 각 부가 메모리(1860 또는 1870)의 사용 주체를 변경하도록 하는 바이패스 로직(Bypass Logic)을 구동한다. 다시 말하여, 바이패스 로직 수행부(1840, 1850)는 당해 부가 제어부(1810, 1820)가 구동 상태인 경우에는 당해 부가 제어부(1810, 1820)에 의해 생성되거나 처리되어야 하는 데이터가 상응하는 부가 메모리(1860, 1870)에 저장되도록 경로를 설정하고, 당해 부가 제어부(1810, 1820)가 비구동 상태인 경우에는 메인 제어부(1830) 또는 타 부가 제어부로부터 전송되는 데이터가 당해 부가 메모리(1860, 1870)에 저장되도록 경로를 설정한다. 예를 들어, 당해 부가 제어부가 카메라 기능을 수행하는 경우 사용자에 의해 카메라 기능의 실행이 선택되지 않은 상태라면 당해 부가 제어부는 비구동 상태라 할 수 있다. 이 경우 당해 부가 제어부는 메인 제어부(1830) 또는 타 부가 제어부와 당해 부가 메모리를 물리적으로 연결시키는 교량 역할만을 수행하는 것으로 볼 수 있다. Each
또한, 당해 부가 제어부가 단순한 교량 역할만을 수행하므로 종래의 메모리 공유 구조에서와 같이 데이터 수신 및 수신된 데이터의 저장 동작을 수행할 필요가 없어 불필요한 전원 소모가 제거된다. 각 제어부들이 예를 들어 CMOS IC로 구현된 경우라면 클럭(Clock)의 스위칭이 일어나지 않으므로 전원소모는 없는 것으로 볼 수 있다. In addition, since the additional control unit serves only as a bridge, it is not necessary to perform data reception and storage operation of the received data as in the conventional memory sharing structure, thereby eliminating unnecessary power consumption. If the controllers are implemented with, for example, CMOS ICs, no switching of the clock occurs and thus no power consumption can be seen.
또한, 메인 제어부(1830)나 타 부가 제어부는 부수적인 메모리의 증설이 없더라도 사용 가능한 메모리의 총량이 증가되는 효과를 가지게 된다. 부가 제어부는 비구동 상태(예를 들어, 슬립(Sleep) 모드)로 전환될 때 상응하는 상태 정보를 메인 제어부(1830)로 전송할 수 있다. 물론, 바이패스 로직 수행부(1840 또는 1850)는 각 부가 제어부(1810 또는 1820)내에 당해 바이패스 로직이 구동되도록 하는 임의의 프로그램의 형태로 내장될 수 있다. In addition, the main controller 1830 or the other additional controllers have an effect of increasing the total amount of available memory even without additional memory expansion. The additional control unit may transmit corresponding state information to the main control unit 1830 when the non-driven state (eg, the sleep mode) is switched. Of course, the bypass
각 부가 메모리(1860, 1870)는 SRAM 또는 SDRAM 등일 수 있으며, 각 부가 제어부(1810, 1820) 내에 내장될 수 있다. Each of the
상술한 바와 같이 본 발명은 복수의 부가 제어부들과 결합된 메인 제어부가 버스 컨트롤 기능을 수행할 필요가 없으므로 메인 제어부의 구성이 간단해질 뿐 아니라 처리 동작의 수가 적어짐으로써 부하가 절감되며 각 제어부에 종속된 메모리들에 연결되는 인터페이스(즉, 당해 메모리에 데이터를 기록하기 위한 별도의 인터페이스)를 별도로 구비할 필요가 없어 시스템 인터페이스가 간단해진다. As described above, in the present invention, since the main control unit combined with the plurality of additional control units does not need to perform the bus control function, the configuration of the main control unit is simplified and the number of processing operations is reduced, thereby reducing the load and subordinate to each control unit. The system interface is simplified because it is not necessary to separately provide an interface (i.e., a separate interface for writing data to the memory) connected to the memories.
이와 같이, 각 부가 제어부에 구비된 바이패스 로직 수행에 의해 부가 메모리들과의 직접(direct) 연결됨으로써 메인 제어부는 부가 메모리와 직접 연결되도록 하기 위한 별도의 인터페이스가 불필요하고, 버스 컨트롤러가 필요할 경우에도 메인 시스템은 버스 컨트롤러를 구비할 필요가 없게 된다.As such, the main control unit does not need a separate interface for directly connecting to the additional memory by performing direct logic with each additional control unit, and thus requires a bus controller. The main system does not need to have a bus controller.
본 발명에 따른 메모리 공유 구조가 종래의 메모리 공유 구조에 비해 가지는 특징들은 이하의 설명을 통해 쉽게 이해될 수 있을 것이다.Features of the memory sharing structure according to the present invention compared to the conventional memory sharing structure will be easily understood through the following description.
도 19는 본 발명의 바람직한 일 실시예에 따른 메인 제어부의 처리 데이터를 비구동 상태의 부가 제어부에 종속된 메모리에 저장하는 과정을 나타낸 도면이다.19 is a diagram illustrating a process of storing processing data of a main controller in a memory dependent on an additional controller of a non-driven state according to an exemplary embodiment of the present invention.
도 19를 참조하면, 단계 1910에서 제1 부가 제어부(1810)는 현재 상태가 디폴트(default)인 비구동 상태이거나 비구동 상태로 전환되었는지 여부를 판단한다. 예를 들어, 제1 부가 제어부(1810)가 카메라 기능을 수행하는 구성 요소인 경우, 사용자에 의해 카메라 기능의 실행이 요청된 경우에는 구동 상태로서 전환될 것이다. 물론, 제1 부가 제어부(1810)가 구동중인 경우라도 제1 부가 메모리(1860)에 임의의 데이터를 저장하기 위한 버스(bus)를 점유하고 있지 않을 수도 있다. 이 경우에도 당해 제1 부가 메모리(1860)를 제1 부가 제어부(1810)가 독점하고 있을 필요가 없으므로 비구동 상태인 경우와 동일하게 처리될 수 있다. 즉, 제1 부가 제어부(1810)의 현재 상태가 디폴트(default)인 비구동 상태인 경우, 비구동 상태로 전환된 경우, 제1 부가 제어부(1810)가 구동 상태임에도 제1 부가 메모리(1860)에 데이터를 기록할 필요가 없어 제1 부가 메모리(1860)에 상응하는 버스를 점유하고 있지 않은 경우 등에서 바이패스 로직이 수행될 수 있으므로, 이하에서는 "비구동 상태로 전환된 경우"로 통칭하여 설명한다.Referring to FIG. 19, in
구동 상태인 경우에는 제1 부가 제어부(1810)에 의해 처리된 데이터 또는 처리될 데이터는 제1 부가 메모리(1860) 내에 저장된다. In the driving state, the data processed by the first
비구동 상태로 전환된 경우 등이라면 제1 부가 제어부(1810)는 단계 1915에서 바이패스 로직(Bypass Logic)을 구동한다. 바이패스 로직이 구동되면 제1 부가 제어부(1810)에 종속된 제1 부가 메모리(1860)는 메인 제어부(1830)와 직접(direct) 연결된 형태로 경로(route)가 갱신된다. 이는 당해 제1 부가 제어부(1810)가 구동되지 않으므로 제1 부가 제어부(1810)에 의해 처리된 또는 처리될 데이터가 존재하지 않아 제1 부가 제어부(1810)와 제1 부가 메모리(1860)간의 연결 관계를 유지할 필요가 없기 때문이다. 제1 부가 제어부(1810)는 비구동 상태로 전환되었음(당해 부가 메모리가 이용되고 있지 않음)을 나타내는 상태 정보를 메인 제어부(1830) 및/또는 타 부가 제어부로 전송할 수 있다.In the case of switching to the non-driven state, etc., the first
메인 제어부(1830)는 단계 1920에서 고유하게 할당된 기능을 수행하고 단계 1925에서 처리된 또는 처리될 데이터를 저장하기 위하여 추가적인 저장 영역이 필요한지 여부를 판단한다. 예를 들어, 메인 제어부(1830)가 동영상 재생 등의 기능을 수행하는 경우 처리되거나 처리될 데이터의 크기 때문에 추가적인 저장 영역이 필요할 수 있다. 물론, 해당 기능을 수행하는 경우 저장 영역이 부족하지 않더라도 처리 효율의 증진을 위해 추가적인 저장 영역의 획득을 시도할 수도 있다.The main controller 1830 determines whether an additional storage area is required to perform the function uniquely assigned in
추가 저장 영역이 필요한 경우, 메인 제어부(1830)는 단계 1930에서 제1 부가 제어부(1810)가 비구동 상태로 존재함(또는 당해 부가 메모리가 이용되지 않고 있음)을 인식하고 저장하고자 하는 데이터를 제1 부가 제어부(1810)에 종속된 제1 부가 메모리(1860)로 전송한다. 또한, 메인 제어부(1830)는 제1 부가 메모리(1860)를 이용하고자 할 때 해당 버스를 점유(occupy)함을 나타내는 상태 정보를 부가 제어부들로 전송할 수도 있다. If an additional storage area is required, the main controller 1830 recognizes that the first
단계 1935에서 제1 부가 메모리(1860)는 메인 제어부(1830)로부터 전송된 데 이터를 저장한다. 이 과정에서 제1 부가 제어부(1810)는 바이패스 로직을 수행하여 제1 부가 메모리(1860)와 메인 제어부(1830)가 직접 연결되는 형태로 경로를 설정한 상태(즉, 교량 역할)이므로 종래의 메모리 공유 구조에서와 같이 메인 제어부(1830)로부터 임의의 데이터를 수신하여 수신된 데이터를 제1 부가 메모리(1860)로 저장하는 일련의 처리를 수행할 필요가 없다. 따라서, 종래에 불필요한 처리 과정에 의해 발생되던 처리 시간 및 전원 소모 등을 최소화할 수 있다.In
이제까지 도 19를 참조하여 임의의 부가 제어부가 비구동 상태로 전환된 경우 등에서 메인 제어부(1830)와 당해 부가 제어부에 종속되는 부가 메모리가 직접 연결되도록 하는 방법을 설명하였다. 또한 이 과정에서 부가 제어부가 메인 제어부(1830)로 상태 정보를 전송하는 경우를 설명하였다.The method of allowing the main controller 1830 and the additional memory dependent on the additional control unit to be directly connected to the case where the arbitrary additional control unit is switched to the non-driven state has been described with reference to FIG. 19. In addition, the case in which the additional control unit transmits state information to the main control unit 1830 has been described.
그러나, 메인 제어부는 연결된 부가 제어부들의 구동 여부, 종속된 부가 메모리들의 이용 여부를 직접적으로 인식할 수도 있으므로 임의의 부가 제어부가 비구동 상태로 전환되거나 임의의 부가 메모리가 이용되지 않는 경우 메인 제어부가 해당 부가 제어부로 바이패스 로직 수행 명령을 전송하여 해당 부가 제어부에 의해 바이패스 로직이 실행되도록 할 수도 있다. 또한, 이와 같이 구성하는 방법은 위의 설명을 통해 당업자가 쉽게 이해할 수 있을 것이므로 이에 대한 별도의 설명을 생략한다.However, the main controller may directly recognize whether the connected additional controllers are driven and whether the dependent additional memories are used, so that when the additional controller is switched to the non-driven state or when the additional controller is not used, the main controller is applicable. The bypass logic execution command may be transmitted to the additional control unit so that the bypass logic is executed by the corresponding additional control unit. In addition, the configuration as described above will be easily understood by those skilled in the art through the above description and a separate description thereof will be omitted.
도 20은 본 발명의 바람직한 다른 실시예에 따른 비구동 상태의 제1 부가 제어부에 종속된 메모리에 제2 부가 제어부가 처리 데이터를 저장하는 과정을 나타낸 도면이다.FIG. 20 is a diagram illustrating a process of storing processing data by a second additional control unit in a memory dependent on a first additional control unit in a non-driven state according to another exemplary embodiment of the present invention.
도 20을 참조하면, 단계 1910에서 제1 부가 제어부(1810)는 현재 상태가 디폴트(default)인 비구동 상태이거나 비구동 상태로 전환되었는지 여부를 판단한다. 예를 들어, 제1 부가 제어부(1810)가 카메라 기능을 수행하는 구성 요소인 경우, 사용자에 의해 카메라 기능의 실행이 요청된 경우에는 구동 상태로서 전환될 것이다. 이외에도, 제1 부가 제어부(1810)가 구동중인 경우라도 제1 부가 메모리(1860)에 임의의 데이터를 저장하기 위한 버스(bus)를 점유하고 있지 않은 경우 동일한 결과가 도출될 수 있음은 앞서 설명한 바와 같다. 따라서, 이에 대한 중복 설명은 생략한다.Referring to FIG. 20, in
구동 상태인 경우에는 제1 부가 제어부(1810)에 의해 처리된 데이터 또는 처리될 데이터는 제1 부가 메모리(1860) 내에 저장된다. In the driving state, the data processed by the first
비구동 상태로 전환된 경우 등이라면 제1 부가 제어부(1810)는 단계 1915에서 바이패스 로직(Bypass Logic)을 구동한다. 바이패스 로직이 구동되면 제1 부가 제어부(1810)에 종속된 제1 부가 메모리(1860)는 메인 제어부(1830)와 직접(direct) 연결된 형태로 경로(route)가 갱신된다. 이는 앞서 설명한 바와 같이 제1 부가 제어부(1810)와 제1 부가 메모리(1860)간의 연결 관계를 유지할 필요가 없기 때문이다. 제1 부가 제어부(1810)는 비구동 상태로 전환되었음(또는 당해 제1 부가 메모리(1860)가 이용되고 있지 않음)을 나타내는 상태 정보를 메인 제어부(1830) 및/또는 타 부가 제어부로 전송할 수 있다.In the case of switching to the non-driven state, etc., the first
단계 2010에서 제2 부가 제어부(1820)는 고유하게 할당된 기능을 수행하고 단계 2015에서 처리된 또는 처리될 데이터를 저장하기 위하여 추가적인 저장 영역 이 필요한지 여부를 판단한다. 예를 들어, 제2 부가 제어부(1820)가 동영상 재생 등의 기능을 수행하는 경우 처리되거나 처리될 데이터의 크기 때문에 추가적인 저장 영역이 필요할 수 있다. 물론, 해당 기능을 수행하는 경우 저장 영역이 부족하지 않더라도 처리 효율의 증진을 위해 추가적인 저장 영역의 획득을 시도할 수도 있다.In
추가 저장 영역이 필요한 경우, 제1 부가 제어부(1810)는 단계 2020에서 메인 제어부(1830)로 사용 가능 메모리 정보 요청을 전송한다. If an additional storage area is needed, the first
메인 제어부(1830)는 단계 2025에서 비구동 상태로 전환된 제1 부가 제어부(1810)에 종속된 제1 부가 메모리가 사용 가능함 또는 제1 부가 제어부(1810)가 구동 상태이지만 제1 부가 메모리의 사용이 가능함을 나타낸 사용 가능 메모리 정보를 제2 부가 제어부(1820)로 전송한다. 이때, 메인 제어부(1830) 또는 제2 부가 제어부(1820)는 제1 부가 메모리(1860)의 이용을 위한 버스가 제2 부가 제어부(1820)에 의해 점유(occupy)됨을 나타내는 상태 정보를 타 부가 제어부들로 전송할 수도 있다. 물론, 비구동 상태로 전환된(또는 제1 부가 메모리를 이용하지 않는) 제1 부가 제어부(1810)가 상술한 상태 정보를 제2 부가 제어부(1820)로도 전송하는 경우라면 단계 2020 및 단계 2025는 생략될 수 있다. The main controller 1830 may use the first additional memory dependent on the first
단계 2030에서 제2 부가 제어부(1820)는 저장하고자 하는 데이터를 제1 부가 제어부(1810)에 종속된 제1 부가 메모리(1860)로 전송한다. In
단계 2035에서 제1 부가 메모리(1860)는 제2 부가 제어부(1820)로부터 전송된 데이터를 저장한다. 이 과정에서 제1 부가 제어부(1810)는 바이패스 로직을 수 행하여 제1 부가 메모리(1860)와 제2 부가 제어부(1820)가 직접 연결되는 형태로 경로를 설정한 상태(즉, 교량 역할)이므로 종래의 메모리 공유 구조에서와 같이 제1 부가 제어부(1810)로부터 임의의 데이터를 수신하여 수신된 데이터를 제1 부가 메모리(1860)로 저장하는 일련의 처리를 수행할 필요가 없다. 따라서, 종래에 불필요한 처리 과정에 의해 발생되던 처리 시간 및 전원 소모 등을 최소화할 수 있다.In
이제까지 도 20을 참조하여 임의의 부가 제어부가 비구동 상태로 전환된 경우 등에서 타 부가 제어부와 당해 부가 제어부에 종속되는 부가 메모리가 직접 연결되도록 하는 방법을 설명하였다. 또한 이 과정에서 부가 제어부가 메인 제어부(1830) 및/또는 타 부가 제어부로 상태 정보를 전송하는 경우를 설명하였다.Up to now, referring to FIG. 20, a method of allowing another additional control unit and an additional memory dependent on the additional control unit to be directly connected in a case where an arbitrary additional control unit is switched to a non-driven state has been described. In addition, the case in which the additional control unit transmits state information to the main control unit 1830 and / or the other additional control unit has been described.
그러나, 상술한 바와 같이 메인 제어부(1830)는 연결된 부가 제어부들의 구동 여부, 종속된 부가 메모리들의 이용 여부를 직접적으로 인식할 수도 있으므로 임의의 부가 제어부가 비구동 상태로 전환되거나 임의의 부가 메모리가 이용되지 않는 경우 메인 제어부가 해당 부가 제어부로 바이패스 로직 수행 명령을 전송하여 해당 부가 제어부에 의해 바이패스 로직이 실행되도록 할 수도 있음은 자명하다. However, as described above, the main controller 1830 may directly recognize whether the connected additional controllers are driven and whether the dependent additional memories are used, so that the additional controller is switched to a non-driven state or any additional memory is used. If not, the main controller may transmit a bypass logic execution command to the corresponding additional control unit so that the bypass logic is executed by the corresponding additional control unit.
메모리 인터페이스 공유Memory interface sharing
전기/전자 장치가 복합 기능을 수행하기 위해서는 기능 수행시 필요한 데이터 및 정보를 저장하기 위한 하나 이상의 저장 장치가 요구된다. 저장 장치로는 낸드 플래시 메모리(NAND Flash Memory)와 SD(Secure Digital) 카드가 주로 이용된다. 낸드 플래시 메모리는 이동 통신 단말기의 폰 보드(Phone board)에 직접 연결 되어 사용자에 의한 착탈이 불가능한 메모리이다. 이와 달리, SD 카드는 소켓(Socket)이 폰 보드에 구비되어 있어 사용자에 의한 착탈이 가능한 메모리이다.In order for an electric / electronic device to perform a complex function, one or more storage devices for storing data and information necessary for performing a function are required. Storage devices include NAND flash memory and secure digital (SD) cards. NAND flash memory is a memory that is directly connected to a phone board of a mobile communication terminal and is not removable by a user. On the other hand, the SD card is a memory (Socket) is provided on the phone board is removable memory by the user.
복수의 제어부 및 복수의 메모리로 구성되는 장치의 내부 시스템이 도 21 및 도 22에 도시되어 있다.An internal system of an apparatus consisting of a plurality of controllers and a plurality of memories is shown in FIGS. 21 and 22.
도 21은 종래의 복수의 메모리가 이용되는 장치의 구성을 나타낸 도면이고, 도 22는 종래의 부가 제어부의 개략적인 블록 구성도이다.FIG. 21 is a diagram illustrating a configuration of a device in which a plurality of conventional memories are used, and FIG. 22 is a schematic block diagram of a conventional additional controller.
도 21에 도시된 바와 같이, 복합 기능을 수행하기 위한 장치는 메인 제어부(22100)와 부가 제어부(2120)가 임의의 데이터 및/또는 정보를 송수신하기 위한 버스(BUS)를 통해 결합되며, 부가 제어부(2120)는 하나 이상의 메모리와 각각 결합된다. 버스(BUS)란 장치 내의 각 제어부, 메모리 등간에 정보를 송수신하기 위해 사용되는 공용 목적의 전기적 통로를 의미한다.As shown in FIG. 21, an apparatus for performing a complex function is coupled between a main controller 22100 and an
부가 제어부(2120)는 SD 카드(2130) 및 낸드 플래시 메모리(2140)와 결합될 수 있으며, 각 메모리들(2130, 2140)과 결합되기 위한 인터페이스를 구비한다. 즉, 부가 제어부(2120)는 구비된 복수의 메모리 인터페이스를 필요에 따라 동작시켜 임의의 메모리에 멀티미디어 데이터를 저장하거나 저장된 데이터를 독출하여 재생하는 등의 동작을 수행한다.The
도 22를 참조하면, 부가 제어부(2120)는 프로세싱부(2210), 버스 컨트롤러(2220), 제1 메모리 컨트롤러(2230) 및 제2 메모리 컨트롤러(2240)를 포함한다. Referring to FIG. 22, the
프로세싱부(2210)는 부가 제어부(2120)가 수행하도록 미리 설정된 기능(예를 들어, MPEG4, 3D 그래픽스, 카메라 기능 등)을 수행한다. 또한 프로세싱부(2210)는 메인 제어부(22100)로부터 수신되는 명령(이는 어느 인터페이스를 이용할 것인지에 대한 정보를 포함함)을 해석하여 버스 컨트롤러에 전달함으로써 버스 컨트롤러(2220)를 제어한다. 프로세싱부(2210)는 32비트 프로세서일 수 있다.The
버스 컨트롤러(2220)는 프로세싱부(2210)의 제어에 의해 제1 또는 제2 메모리 컨트롤러(2230, 2240)가 동작되도록 내부 버스 제어를 수행한다. The
제1 메모리 컨트롤러(2230)는 제1 메모리 인터페이스를 통해 SD 카드(2130)와의 데이터 및/또는 정보 송수신 기능을 수행한다. 부가 제어부가 구비하는 SD 카드(2130)와 결합되도록 하기 위한 제1 메모리 인터페이스는 일반적으로 9핀 인터페이스로 형성된다. 9핀 인터페이스는 4개의 데이터 신호용 핀(즉, SD DAT0, SD DAT1, SD DAT2, SD DAT3)과 5개의 제어 신호용 핀(즉, 클럭(CLK) 신호, 커맨드(Command) 신호, 카드 검출(Card Detect) 신호, 전원 제어(Power Control) 신호, 쓰기 방지(Write Protect) 신호)로 구성된다.The
제2 메모리 컨트롤러(2240)는 제2 메모리 인터페이스를 통해 낸드 플래시 메모리(2140)와의 데이터 및/또는 정보 송수신 기능을 수행한다. 부가 제어부가 구비하는 낸드 플래시 메모리(2140)와 결합되도록 하기 위한 제2 메모리 인터페이스는 일반적으로 14핀 인터페이스로 형성된다. 14핀 인터페이스는 8개의 데이터 신호용 핀(즉, NF Data0, NF Data1, NF Data2, NF Data3, NF Data4, NF Data5, NF Data6, NF Data7)과 6개의 제어 신호용 핀(즉, 칩 셀렉트(CS : Chip Select) 신호, 명령 래치(CLE : Command Latch Enable) 신호, 어드레스 래치 인에이블(ALE : Address Latch Enable) 신호, 독출 인에이블(REN : Read Enable) 신호, 쓰기 인에이블 (WEN : Write Enable) 신호, 쓰기 방지(WP : Write Protection) 신호)로 구성된다.The
따라서, 종래의 장치는 결합될 수 있는 모든 메모리 인터페이스를 구비하여야 하므로 도 21 및 도 22에 예시된 경우 23개의 핀(즉, SD 카드(2130)용 9개 핀 및 낸드 플래시 메모리(2140)용 14개 핀)이 구비되어야 한다. Thus, the conventional device must have all the memory interfaces that can be combined so that the 23 pins (i.e. 9 pins for
그러나, 대부분의 장치에서 부가 제어부(2120)는 동시에 복수의 메모리에 억세스하지 않으며, 하나의 메모리에만 또는 교번하여 억세스한다. 또한, 메인 제어부(22100)에서 SD 카드(2130) 또는 낸드 플래시 메모리(2140)를 억세스하려고 할지라도 동시에 2개의 메모리에 억세스하는 경우는 발생하지 않는다. 이러한 점들을 고려할 때, 부가 제어부(2120)가 2개의 메모리 인터페이스를 별도로 구비할 필요성이 없으며, 오히려 자원의 낭비가 되는 것이다. However, in most devices, the
또한, 이로 인하여 부가 제어부(2120)의 물리적인 크기가 증가되고 결과적으로 가격 상승의 요인이 되는 문제점도 있었다.In addition, this increases the physical size of the
도 23은 본 발명의 바람직한 일 실시예에 따른 복수의 메모리와 결합되는 장치의 구성을 개략적으로 나타낸 도면이고, 도 24는 본 발명의 바람직한 일 실시예에 따른 부가 제어부의 개략적인 블록 구성도이며, 도 25는 본 발명의 바람직한 일 실시예에 따른 메모리 인터페이스의 핀 용도(핀 먹싱 테이블)를 예시한 도면이다.FIG. 23 is a diagram schematically illustrating a configuration of an apparatus combined with a plurality of memories according to an exemplary embodiment of the present invention, and FIG. 24 is a schematic block diagram of an additional control unit according to an exemplary embodiment of the present invention. FIG. 25 is a diagram illustrating pin usage (pin muxing table) of a memory interface according to an exemplary embodiment of the present invention. FIG.
도 23을 참조하면, 복합 기능을 수행하기 위한 본 발명에 따른 장치는 메인 제어부(2110)와 부가 제어부(2120)가 임의의 데이터 및/또는 정보를 송수신하기 위한 버스(BUS)를 통해 결합되며, 부가 제어부(2120)는 하나 이상의 메모리와 결합된다. 버스(BUS)란 장치 내의 각 제어부, 메모리 등간에 정보를 송수신하기 위해 사 용되는 공용 목적의 전기적 통로를 의미한다.Referring to FIG. 23, in the apparatus according to the present invention for performing a complex function, the
부가 제어부(2120)는 도시된 바와 같이 SD 카드(2130) 및 낸드 플래시 메모리(2140)와 결합될 수 있으며, 각 메모리들(2130, 2140)과 결합되기 위한 메모리 인터페이스를 구비한다. 즉, 부가 제어부(2120)는 구비된 복수의 메모리 인터페이스를 필요에 따라 동작시켜 임의의 메모리에 멀티미디어 데이터를 저장하거나 저장된 데이터를 독출하여 재생하는 등의 동작을 수행한다. 부가 제어부(2120)에서 구비하는 메모리 인터페이스는 이동식 메모리(예를 들어, SD 카드(2130))와 독립적인 신호 송수신을 위한 제1 메모리 인터페이스, 내장 메모리(예를 들어, 낸드 플래시 메모리(2140))와 독립적인 신호 송수신을 위한 제2 메모리 인터페이스, 이동식 메모리 또는 내장 메모리와 신호 송수신을 위해 선택적 공유되는 공유 메모리 인터페이스로 구성된다. The
본 발명에 적용될 수 있는 이동식 메모리는 장치에 구비된 소켓(Socket)을 통해 착탈이 용이한 메모리로서, SD 카드, CF(Compact Flash) 메모리 카드, XD(eXtreme Digital Picture Card), MS(Memory Stick), MMC(Multi-Media Card) 등이 이에 포함될 수 있다. 그러나, 설명 및 이해의 편의를 도모하기 위해 부가 제어부에 2개의 메모리가 결합되고, 결합된 내장 메모리는 낸드 플래시 메모리이고, 결합된 이동식 메모리는 SD 카드인 경우를 가정하여 설명한다. Removable memory that can be applied to the present invention is a removable memory through a socket (Socket) provided in the device, SD card, Compact Flash (CF) memory card, XD (eXtreme Digital Picture Card), MS (Memory Stick) This may include a Multi-Media Card (MMC). However, for convenience of explanation and understanding, it is assumed that two memories are coupled to the additional control unit, and the combined internal memory is a NAND flash memory, and the combined removable memory is an SD card.
또한, 부가 메모리에 결합될 수 있는 내장 메모리는 낸드 플래시 메모리와 같이 장치 내부에 구비되어 사용자에 의한 착탈이 용이하지 않은 메모리를 의미한다. In addition, the built-in memory that can be coupled to the additional memory means a memory which is provided inside the device like NAND flash memory and is not easily removable by a user.
도 24를 참조하면, 본 발명에 따른 부가 제어부(2120)는 프로세싱부(2210), 버스 컨트롤러(2220), 제1 메모리 컨트롤러(2230), 제2 메모리 컨트롤러(2240) 및 경로 제어부(2410)를 포함한다. 도 24에는 도시되지 않았으나 메모리 인터페이스가 더 포함된다.Referring to FIG. 24, the
프로세싱부(2210)는 부가 제어부(2120)가 수행하도록 미리 설정된 기능(예를 들어, MPEG4, 3D 그래픽스, 카메라 기능 등)을 수행한다. 또한 프로세싱부(2210)는 메인 제어부(2110)로부터 수신되는 명령(이는 어느 인터페이스를 이용할 것인지에 대한 정보를 포함함)을 해석하여 버스 컨트롤러에 전달함으로써 버스 컨트롤러(2220)를 제어한다. 프로세싱부(2210)는 버스 컨트롤러(2220)가 임의의 메모리와의 경로를 설정하도록 하기 위한 경로 제어 신호를 생성하여 버스 컨트롤러로 전송할 수 있다. 프로세싱부(2210)는 32비트 프로세서일 수 있다.The
버스 컨트롤러(2220)는 프로세싱부(2210)의 제어에 의해 제1 또는 제2 메모리 컨트롤러(2230, 2240)가 동작되도록 내부 버스 제어를 수행한다. 또한, 버스 컨트롤러(2220)는 프로세싱부(2210)의 제어에 의해 공유 메모리 인터페이스가 요청된 메모리에 결합되도록 경로 제어부(2410)를 제어한다. 버스 컨트롤러(2220)는 프로세싱부(2210)로부터 경로 제어 신호가 수신되면 이에 상응하도록 제1 또는 제2 메모리 컨트롤러(2230, 2240)를 활성화하고, 경로 제어 신호를 경로 제어부(2410)로 전송함으로써 공유 메모리 인터페이스를 통해 상응하는 메모리와 정보 송수신이 가능하도록 한다. 경로 제어 신호는 프로세싱부(2210)로부터 전달되는 정보(즉, 메인 제어부(2110)로부터 수신된 명령을 해석한 정보)를 이용하여 버스 컨트롤러(2220) 가 생성할 수 있다. 제1 및 제2 메모리 컨트롤러(2230, 2240)는 디폴트(default)로 활성화되어 있을 수 있다.The
제1 메모리 컨트롤러(2230)는 제1 메모리 인터페이스를 통해 SD 카드(2130)로 제어 신호를 전송한다. 제1 메모리 인터페이스를 통해 SD 카드(2130)로 전달되는 신호는 다른 신호들과 먹싱(muxing)되지 않는 신호(즉, 독립적인 핀이 요구되는 신호)로 제한할 수 있다. 예를 들어, SD 카드(2130)로 전송되는 신호(즉, 데이터 신호, 클럭(CLK) 신호, 커맨드(Command) 신호, 카드 검출(Card Detect) 신호, 전원 제어(Power Control) 신호, 쓰기 방지(Write Protect) 신호) 중 먹싱되지 않는 신호는 클럭 신호뿐이므로, 클럭 신호만이 제1 메모리 인터페이스를 통해 전송되도록 설정할 수 있다. 따라서, 제1 메모리 인터페이스는 클럭 신호 전송을 위한 최소 하나의 핀으로 구성될 수 있다. 또한, 예를 들어 당해 외장형 메모리가 CF(Compact Flash) 메모리 카드인 경우 제1 메모리 인터페이스는 먹싱되지 않는 신호인 칩 셀렉트(CS) 신호 및 클럭(CLK) 신호를 위한 최소 2개의 핀을 포함할 수 있다. 또한, 예를 들어, 당해 외장형 메모리가 XD(eXtreme Digital Picture Card), MMC(Multi-Media Card) 등인 경우 제1 메모리 인터페이스는 먹싱되지 않는 신호인 클럭 신호를 위한 최소 1개의 핀을 포함할 수 있다. The
제2 메모리 컨트롤러(2240)는 제2 메모리 인터페이스를 통해 낸드 플래시 메모리(2140)로 제어 신호를 전송한다. 제2 메모리 인터페이스를 통해 낸드 플래시 메모리(2140)로 전달되는 신호 역시 다른 신호들과 먹싱(muxing)되지 않는 신호로 제한할 수 있다. 예를 들어, 낸드 플래시 메모리(2140)로 전송되는 신호(즉, 데이 터 신호, 칩 셀렉트(CS) 신호, 명령 래치(CLE) 신호, 어드레스 래치 인에이블(ALE) 신호, 독출 인에이블(REN) 신호, 쓰기 인에이블(WEN) 신호, 쓰기 방지(WP) 신호) 중 먹싱되지 않는(핀을 공유할 수 없는) 신호는 칩 셀렉트(CS) 신호뿐이다. 그러나, SD 카드(2130)와의 인터페이스를 위해 필요한 핀 수가 9개로 낸드 플래시 메모리(2140)의 핀 수(14개)보다 적기 때문에 결과적으로 먹싱되지 않는 신호들이 추가적으로 존재한다. 예를 들어, 추가적으로 먹싱되지 않는 신호들은 명령 래치(CLE) 신호, 어드레스 래치 인에이블(ALE) 신호, 독출 인에이블(REN) 신호, 쓰기 인에이블(WEN) 신호 및 쓰기 방지(WP) 신호일 수 있다. 상술한 먹싱되지 않는 신호들이 제2 메모리 인터페이스를 통해 낸드 플래시 메모리(2140)로 전송되도록 설정될 수 있다. 따라서, 제2 메모리 인터페이스는 상술한 신호들 각각을 전송하기 위한 6개의 핀들로 구성될 수 있다. 물론, 다른 메모리가 더 많은 핀들을 필요로 하는 경우 제2 메모리 인터페이스에 포함되는 핀 수는 최소 1개(즉, 칩 셀렉트 신호를 위한 핀)일 수 있다. The
경로 제어부(2410)는 버스 컨트롤러(2220)의 제어에 의해 어떤 메모리가 이용되는지에 따라 데이터 플로우를 제어한다. 경로 제어부(2410)는 공유 메모리 인터페이스를 제어하여 제1 또는 제2 메모리 컨트롤러(2230, 2240)와 SD 카드(2130) 또는 낸드 플래시 메모리(2140)간에 정보 송수신이 가능하도록 한다. 예를 들어, 경로 제어부(2410)는 버스 컨트롤러(2220)로부터 수신되는 경로 제어 신호에 의해 제1 또는 제2 메모리 컨트롤러(2240)로부터 제공되는 신호 중 어느 하나만을 선택하여 공유 메모리 인터페이스를 통해 출력할 수 있다. 공유 메모리 인터페이스는 각 메모리(2130, 2140)와 송수신되는 신호들 중 먹싱(muxing)될 수 있는 신호들을 위한 핀들을 포함하여 구성된다.The
상술한 바와 같이, 본 발명에 따른 부가 제어부는 복수의 메모리와 결합될지라도 각각 몇 개의 신호를 제외하고 나머지는 공유 메모리 인터페이스를 통해 송수신할 수 있다. 공유 메모리 인터페이스, 즉 핀을 공유한다는 의미는 회로적으로 공유된 핀들이 각 메모리(2130, 2140)에 공통적으로 연결된다는 의미이다. 본 발명에 따른 메모리 인터페이스의 핀 용도(핀 먹싱 테이블)가 도 25에 예시되어 있다. 도 25에 예시된 바와 같이 공유 메모리 인터페이스를 구비함으로써 부가 제어부(2120)가 구비하여야 하는 핀의 수를 15개로 감소시킬 수 있다. 종래기술에서는 각 메모리별로 독립된 인터페이스 구조를 가지므로 총 23개의 핀들이 필요했음은 앞서 설명한 바와 같다.As described above, although the additional control unit according to the present invention is combined with a plurality of memories, except for a few signals, each of the additional controllers may transmit / receive through the shared memory interface. The shared memory interface, that is, sharing pins, means that the circuit-shared pins are commonly connected to the
도 24를 참조하여 메인 제어부(2110)가 SD 카드(2130)에 억세스하여 데이터를 기록(write)하거나 독출(read)하는 과정을 간략히 설명하면 다음과 같다. 메인 제어부(2110)가 낸드 플래시 메모리(2140)에 억세스하여 데이터를 기록(write)하거나 독출(read)하는 과정 역시 유사하므로 이에 대한 설명은 생략한다.Referring to FIG. 24, a process in which the
메인 제어부(2110)는 SD 카드(2130)에 임의의 데이터를 기록하기 위해 명령(command)와 기록할 데이터를 부가 제어부(2120)로 전송한다. 부가 제어부(2120)는 명령에 포함된 인터페이스 선택 정보를 참조하여 제1 메모리 컨트롤러(2230)를 활성화시키고, 또한 경로 제어부(2410)를 제어하여 SD 카드(2130)와 데이터 송수신이 가능하도록 경로를 설정한다. 이어서, 부가 제어부(2120)는 메인 제어부(2110) 로부터 수신된/수신되는 데이터를 설정된 경로를 통해 SD 카드(2130)에 저장한다. The
메인 제어부(2110)가 SD 카드(2130)로부터 임의의 데이터를 독출하는 방법 역시 설정된 경로를 통해 제공받게 된다. The
상술한 바와 같이, 본 발명은 공유 메모리에 결합된 복수의 제어부들에 각각 전용 영역을 할당함으로써 데이터 전송 시간을 최소화할 수 있고, 각 제어부의 동작 속도를 최적화할 수 있는 효과가 있다.As described above, the present invention can minimize the data transfer time by allocating a dedicated area to each of the plurality of control units coupled to the shared memory, thereby optimizing the operation speed of each control unit.
또한, 본 발명은 메모리의 저장 영역을 공유 영역과 각 제어부들에 대한 전용 영역으로 할당함으로써 최적의 메모리 분할이 가능한 효과도 있다.In addition, the present invention also has the effect of optimal memory partitioning by allocating the storage area of the memory as a shared area and a dedicated area for each controller.
또한, 본 발명은 하나의 메모리를 복수의 제어부들이 공유함으로써 필요한 데이터의 공유를 용이하게 하는 효과도 있다.In addition, the present invention also has an effect of facilitating sharing of necessary data by sharing a single memory with a plurality of control units.
또한, 본 발명은 특정 메모리에 저장된 데이터를 각 제어부간에 주고받는 불필요한 시간 손실(time loss)를 제거함으로써 고효율의 데이터 처리가 가능한 효과도 있다.In addition, the present invention also has the effect of high-efficiency data processing by eliminating unnecessary time loss (transmission and reception) of data stored in a specific memory between each control unit.
또한, 본 발명은 공유 메모리의 저장 영역을 복수의 분할 영역으로 분할하고 각 분할 영역에 복수의 제어부들의 억세스를 가능하게 함으로써 각 제어부간의 데이터 전송 시간을 최소화할 수 있는 효과도 있다.In addition, the present invention also has the effect of minimizing the data transfer time between the controllers by dividing the storage area of the shared memory into a plurality of partitions and allowing access to a plurality of controllers in each partition.
또한, 본 발명은 복수의 영역으로 분할된 공유 메모리의 저장 영역을 복수의 제어부들의 억세스를 가능하게 함으로써 각 제어부는 자체 프로세스만을 담당할 수 있어 각 제어부의 동작 속도 및 효율을 최적화할 수 있는 효과도 있다.In addition, according to the present invention, by allowing a plurality of controllers to access a storage area of a shared memory divided into a plurality of regions, each controller may be in charge of its own process, thereby optimizing the operation speed and efficiency of each controller. have.
또한, 본 발명은 공유 메모리의 영역을 분할하여 사용함으로써 소프트웨어에서 공유 메모리의 제어가 용이한 효과도 있다.In addition, the present invention also has an effect of easily controlling the shared memory in software by dividing the shared memory region.
또한, 본 발명은 공유 메모리의 분할된 저장 영역을 복수의 제어부들이 교차하여 접속(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 controllers can access the divided storage area of the shared memory cross (Access).
또한, 본 발명은 공유 메모리가 분할된 저장 영역에 대한 상태 정보(즉, 점유 상태 정보)를 생성하여 출력함으로써 각 제어부들의 제어 시퀀스(sequence)를 최대한 간략하게 할 수 있는 효과도 있다.In addition, the present invention has the effect of simplifying the control sequence of each control unit by generating and outputting state information (that is, occupied state information) for the storage area in which the shared memory is divided.
또한, 본 발명은 메인 제어부는 공유 메모리의 분할된 저장 영역에 순차적으로 임의의 데이터를 기록(write) 동작을 수행하고 부가 제어부는 메인 제어부가 기록한 저장 영역에 순차적으로 접속하여 읽기(read) 동작을 수행하도록 함으로써 데이터 전달 속도를 최대화할 수 있는 효과도 있다.In addition, according to the present invention, the main controller sequentially writes arbitrary data in the divided storage area of the shared memory, and the additional controller sequentially accesses the storage area recorded by the main controller to perform a read operation. By doing so, the data transfer speed can be maximized.
또한, 본 발명은 간단한 구성의 메인 제어부에 의해 복수의 부가 제어부의 동작을 제어할 수 있는 효과도 있다.In addition, the present invention also has the effect that the operation of the plurality of additional control unit can be controlled by the main control unit of a simple configuration.
또한, 본 발명은 메인 메모리에 의한 버스 컨트롤 기능 수행이 없거나 최소화됨으로써 메인 메모리의 처리 효율을 최적화할 수 있는 효과도 있다.In addition, the present invention has the effect of optimizing the processing efficiency of the main memory by minimizing or minimizing the bus control function performed by the main memory.
또한, 본 발명은 비구동 상태인 부가 제어부가 종속된 메모리에 타 부가 제어부에 의해 생성되거나 요청된 데이터를 저장하는 불필요한 처리 동작이 제거될 수 있어 불필요한 전원 소모를 최소화할 수 있는 효과도 있다.In addition, the present invention can eliminate unnecessary processing operations for storing data generated or requested by the additional control unit in a memory in which the additional control unit in a non-drive state is dependent, thereby minimizing unnecessary power consumption.
또한, 본 발명은 저장하고자 하는 데이터를 타 부가 제어부에 종속된 메모리에 저장할 때 타 부가 제어부의 처리 동작이 생략됨으로써 데이터 저장에 따른 처리 시간을 최소화할 수 있는 효과도 있다.In addition, the present invention has the effect of minimizing the processing time due to data storage when the data to be stored in the memory dependent on the additional control unit is omitted.
또한, 본 발명은 각 제어부들이 사용할 수 있는 가용 메모리 크기를 최대화할 수 있는 효과도 있다.In addition, the present invention also has the effect of maximizing the available memory size that each control unit can use.
또한, 본 발명은 종래의 버스 컨트롤 로직(logic)보다 훨씬 간단한 바이패스 로직(bypass logic)이 적용되는 효과도 있다.In addition, the present invention has the effect that bypass logic is applied which is much simpler than conventional bus control logic.
또한, 본 발명은 복수의 메모리와 결합되도록 하기 위한 메모리 인터페이스 구조를 최대한 간단하게 할 수 있는 효과도 있다.In addition, the present invention has the effect of simplifying the memory interface structure to be combined with a plurality of memories as possible.
또한, 본 발명은 메모리 인터페이스에 포함되는 핀(pin)들의 수량을 최소화함으로써 부가 제어부의 효율을 증가시키고, 또한 부가 제어부 구동을 위한 동작 전류를 감소시킬 수 있는 효과도 있다.In addition, the present invention has the effect of increasing the efficiency of the additional control unit by minimizing the number of pins included in the memory interface, and also reducing the operating current for driving the additional control unit.
또한, 본 발명은 복수의 메모리에 통합적으로 결합될 수 있는 메모리 인터페이스 구조를 간단화함으로써 부가 제어부의 가격을 낮출 수 있는 효과도 있다.In addition, the present invention has the effect of lowering the price of the additional control unit by simplifying the memory interface structure that can be integrated into a plurality of memories.
또한, 본 발명은 항상 사용되지는 않는 기능을 위해 핀을 만들어 외부로 뽑아야 하는 문제점을 해결하고, 메모리 인터페이스 공유를 통해 사용하고자 하는 인터페이스의 경로(Path)만을 열어주어 이에 맞는 로직만을 동작시킴으로써 보다 효율적인 동작이 가능한 효과도 있다.In addition, the present invention solves the problem of having to make pins for the functions that are not always used to the outside, and by opening only the path of the interface to use through memory interface sharing to operate only the appropriate logic There is also a possible effect.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.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 (53)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060053224A KR20070118920A (en) | 2006-06-13 | 2006-06-13 | Digital processing apparatus having shared memory and method for accessing to partitioned area in shared memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060053224A KR20070118920A (en) | 2006-06-13 | 2006-06-13 | Digital processing apparatus having shared memory and method for accessing to partitioned area in shared memory |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070118920A true KR20070118920A (en) | 2007-12-18 |
Family
ID=39137439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060053224A KR20070118920A (en) | 2006-06-13 | 2006-06-13 | Digital processing apparatus having shared memory and method for accessing to partitioned area in shared memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20070118920A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101704931B1 (en) * | 2015-10-30 | 2017-02-23 | 성균관대학교산학협력단 | Generation device and method of real time chain code using of dividing memory |
-
2006
- 2006-06-13 KR KR1020060053224A patent/KR20070118920A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101704931B1 (en) * | 2015-10-30 | 2017-02-23 | 성균관대학교산학협력단 | Generation device and method of real time chain code using of dividing memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7325104B2 (en) | Storage device using interleaved memories to control power consumption | |
KR100591371B1 (en) | Method for varying size of partitioned blocks of shared memory and portable terminal having shared memory | |
US8051264B2 (en) | Portable device and method for controlling shared memory in portable device | |
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 | |
US8850086B2 (en) | SD switch box in a cellular handset | |
WO2006126777A1 (en) | Sharing memory interface | |
US20120066422A1 (en) | Method and system for transferring high-speed data within a portable device | |
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 | |
KR100736902B1 (en) | Method and apparatus for sharing memory by a plurality of processors | |
KR100822468B1 (en) | Device having shared memory and method for transferring code data | |
KR100731969B1 (en) | Method and apparatus for sharing memory through a plurality of routes | |
KR100592106B1 (en) | Method and apparatus for allowing access to individual memory | |
KR20070118920A (en) | Digital processing apparatus having shared memory and method for accessing to partitioned area in shared memory | |
KR100592109B1 (en) | Method for controlling access to partitioned blocks of shared memory and portable terminal having shared memory | |
KR100592108B1 (en) | Rapid data delivery method among processors and digital processing apparatus having shared memory | |
KR101064878B1 (en) | Method for sharing memory by a plurality of processors and portable terminal having structure of memory share | |
US20080005417A1 (en) | Method for speedy delivery of data between processors and digital processing apparatus having shared memory | |
KR100700040B1 (en) | Device having shared memory and method for providing access status information by shared memory | |
KR100888427B1 (en) | Device having shared memory and method for displaying data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E601 | Decision to refuse application |