The present invention is directed to a portable terminal, particularly to a portable terminal having a plurality of processors.
A portable terminal refers to a compact electronic device that is designed to be easily carried by a user in order to perform functions such as game or mobile communication. A portable terminal can be a mobile communication terminal, a personal digital assistant (PDA), or a portable multimedia player (PMP).
A mobile communication terminal generally refers to a device designed to allow a mobile user to telecommunicate with a remotely-located receiver. Through technological developments, however, the latest mobile communication terminals are equipped with extra features, such as camera and multimedia data playback, to the essential functions of mobile communication, short message communication, and address book.
Referring to
The high frequency processing unit 110 processes a high frequency signal, which is transmitted or received through an antenna.
The A/D conversion unit 115 converts an analog signal, outputted from the high frequency processing unit 110, to a digital signal and sends to the control unit 125.
The D/A conversion unit 120 converts a digital signal, outputted from the control unit 125, to an analog signal and sends to the high frequency processing unit 110.
The control unit 125 controls the general operation of the mobile communication terminal 100. The control unit 125 can comprise a central processing unit (CPU) or a micro-controller.
The power supply 130 supplies electric power required for operating the mobile communication terminal 100. The power supply 130 can be coupled to, for example, an external power source or a battery.
The key input 135 generates key data for, for example, setting various functions or dialing of the mobile communication terminal 100 and sends to the control unit 125.
The main memory 140 stores an operating system and a variety of data of the mobile communication terminal 100. The main memory 140 can be, for example, a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory).
The display 145 displays the operation status of the mobile communication terminal 100 and an external image photographed by the camera 150.
The camera 150 photographs an external image (a photographic subject), and the image processing unit 155 processes the external image photographed by the camera 150. The image processing unit 155 can perform functions such as color interpolation, gamma correction, image quality correction, and JPEG encoding. The support memory 160 stores the external image processed by the image processing unit 155.
As described above, the mobile communication terminal 100 having a camera function is equipped with a plurality of processors (that is, a main control unit and one or more supplementary control unit for performing additional functions). In other words, as shown in
The supplementary control unit can take different forms depending on the kinds of additional functions, with which the portable terminal is equipped. For example, the supplementary control unit for controlling the camera function can process functions such as JPEG encoding and JPEG decoding; the supplementary control unit for controlling the movie file playback function can process functions such as video file (e.g., MPEG4, DIVX, H.264) encoding and decoding; and the supplementary control unit for controlling the music file playback function can process functions such as audio file encoding and decoding. Of course, there can be a supplementary control unit that can process various aforementioned functions altogether. Each of these control units has an individual memory for storing the data processed by the control unit. Therefore, according to the prior art, it is necessary to increase the number of control units and memories as portable terminals become increasingly multifunctional.
Referring to
As illustrated in
In this case, the larger the amount of data, communicated between the main control unit 210 and the supplementary control unit 220, is, the more time each control unit 210, 220 spends on the operation (i.e. memory access, host interface operation) requested by the other control unit rather than the operation requested by its own processor.
This problem causes a bottleneck problem in data communication between the main control unit 210 and the supplementary control unit 220 as the amount of data to be processed and the functions performed by a portable terminal increase.
As a result, the problems described above weaken the overall performance of a multi-function portable terminal.
Therefore, in order to solve the problems described above, it is an object of the present invention to provide a portable terminal having a shared memory and a method for controlling multiple access to partitioned blocks of the shared memory that can minimize the data transmission time between control units, by partitioning the storage area of the shared memory into a plurality of partitioned blocks and allowing a plurality of control units to access each partitioned block.
It is another object of the present invention to provide a portable terminal having a shared memory and a method for controlling multiple access to partitioned blocks of the shared memory that can optimize the operation speed and efficiency of each control unit, by allowing the storage area of the shared memory, partitioned into a plurality of blocks, to be accessed by a plurality of control units such that each control unit can handle its own process only.
It is yet another object of the present invention to provide a portable terminal having a shared memory and a method for controlling multiple access to partitioned blocks of the shared memory that can easily control the shared memory in software, by using partitioned blocks of the shared memory.
It is still another object of the present invention to provide a portable terminal having a shared memory and a method for controlling multiple access to partitioned blocks of the shared memory that can process data highly efficiently by eliminating the loss of time needed to communicate the data, stored in a specific memory, between control units.
In order to achieve the above objects, an aspect of the present invention features a portable terminal having a shared memory with partitioned blocks that are accessible by a plurality of control units.
According to a preferred embodiment of the present invention, the portable terminal comprises a memory unit; a supplementary control unit coupled to the memory unit through an AP (additional processor)-ME (Memory) bus, the supplementary control unit processing and storing raw data in accordance with a process order, the raw data being stored in the memory unit, the memory unit being accessed through the AP-ME bus; and a main control unit coupled to the memory unit through an MP (main processor)-ME bus and coupled to the supplementary control unit through an MP-AP bus, the main control unit transmitting the process order to the supplementary control unit through the MP-AP bus. A storage area of the memory unit is accessible by the supplementary control unit through the AP-ME bus and by the main control unit through the MP-ME bus, and the memory unit comprises a first port, for transmitting and receiving data to and from the supplementary control unit through the AP-ME bus, and a second port, for transmitting and receiving data to and from the main control unit through the MP-ME bus.
In case a first control unit (either the main control unit or the supplementary control unit) accesses any one of the partitioned storage areas, the first control unit can transmit access status information to a second control unit (the other of either the main control unit or the supplementary control unit) through the MP-AP bus.
Or, in case the second control unit attempts to access a partitioned storage area to write data while the first control unit is accessed to the same partitioned storage area and is writing data, the memory unit can transmit an inaccessible message to the second control unit.
Area partition information corresponding to the size of the partitioned storage areas can be set by the first control unit, which is either the main control unit or the supplementary control unit, and can be transmitted to the second control unit, which is the other of either the main control unit or the supplementary control unit, through the MP-AP bus.
The process order can comprise instruction information on the process type of the raw data and a storage location of the raw data. Moreover, the process order can further comprise location information for storing raw data processed to correspond to the instruction information.
The plurality of partitioned storage areas can comprise a data delivery area for delivering data between the supplementary control unit and the main control unit.
In order to achieve the above objects, an aspect of the present invention features a method for controlling access by a plurality of control units to partitioned areas of a shared memory and/or a recorded medium recording the method thereof.
According to a preferred embodiment of the present invention, the recorded medium tangibly embodies a program of instructions executable by a portable terminal to execute a method for controlling multiple access to partitioned blocks of a shared memory. The program is readable by the portable terminal, and the portable terminal comprises a main control unit and a supplementary control unit. The main control unit is coupled with the memory unit through an MP-ME bus. The supplementary control unit is coupled with the memory unit through an AP-ME bus. The main control unit and the supplementary control unit are coupled with each other through an MP-AP bus. The storage area of the memory unit is partitioned to a plurality of partitioned storage areas. The recorded medium executes the acts of a first control unit determining, in order to access any one of the partitioned storage areas, whether a second control unit is already accessed to the partitioned storage area, wherein the first control unit is either the main control unit or the supplementary control unit, and the second control unit is the other of either the main control unit or the supplementary control unit; the first control unit accessing the partitioned storage area if the second control unit is not accessed to the partitioned storage area; the first control unit writing data in the accessed partitioned storage area; and the first control unit terminating the access to the partitioned storage area.
In case the first control unit accesses any one of the partitioned storage areas, the first control unit can transmit access status information to the second control unit through the MP-AP bus.
In case the second control unit attempts to access a partitioned storage area to write data while the first control unit is accessed to the same partitioned storage area and is writing data, the memory unit can transmit an inaccessible message.
Area partition information corresponding to the size of the partitioned storage areas can be set by the first control unit and transmitted to the second control unit through the MP-AP bus.
The present invention, operative advantages of the present invention, and objects achieved by embodying the present invention shall be apparent with reference to the accompanying drawings and the description therein.
Hereinafter, preferred embodiments of the present invention shall be described in detail with reference to the accompanying drawings. To aid overall understanding of the present invention, the same reference numbers shall be assigned to the same means, regardless of the figure number. Moreover, the numbers (e.g., bus #1, bus #2, first, second, etc.) are only used in the description to identify identical or similar elements.
Referring to
The memory unit 310 is structured to be used by a control unit or a plurality of control units coupled to the memory unit 310, and must have the number of access ports corresponding to the number of control units equipped in the structure or sharing the memory unit 310.
For example, in a structure of the memory unit 310 coupled to both the main control unit 210 and the supplementary control unit 220, as shown in
The storage area of the memory unit 310 can be partitioned to the number of partitions corresponding to the number of control units coupled to the memory unit 310. This is to allow each control unit to access each partition at the same time to write data. For example, in case 2 control units are connected to the memory unit 310, as shown in
The size of the partitioned block, that is, the first storage area 430 and the second storage area 440, of the memory unit 310 can be configured to be predetermined by default, partitioned to a certain size by the main control unit 210 and/or the supplementary control unit 220, or varied whenever necessary (for example, when the data to be written is bigger than the writable area) by the main control unit 210 and/or the supplementary control unit 220. In other words, the address information on the partitioned storage area of the memory unit 310 can be set and managed by the main control unit 210, the address information set by the main control unit 210 is provided to and shared by the supplementary control unit 220. Of course, the address information can also be set and managed by the supplementary control unit 220, and, as necessary, one of the control units can have an address setting authority to supply the set address information to the other control unit to have the address information shared. In this case, the information on the partitioned storage area of the memory unit 310 can be recognized by each control unit when the portable terminal is booted. The storage area can be partitioned in units of bank in case the memory is an SDRAM. An SDRAM usually comprises an RAS address, a CAS address, and a Bank address, and it is common that there are 4 banks. Here, the 4 banks can be grouped in two to have each group assigned as the first storage area 430 and the second storage area 440, respectively.
Although
The storage area of the memory unit 310 of the present invention can be partitioned to a plurality of storage areas 430, 440, and each control unit can write or read data by accessing one of the partitioned storage units through an access port. In other words, while the main control unit 210 is accessed to the first storage area 430, the supplementary control unit 220 can freely access the second storage area 440. Therefore, each control unit can simultaneously access each partitioned storage area of the memory unit 310 to perform the necessary data process. If a plurality of control units are accessed to one partitioned storage area simultaneously, however, the data consistency can be damaged, for which a preventive measure is required. Of course, it may be allowed to have one control unit write data while the other control unit read data although a plurality of control units are accessed to the same partitioned storage area at the same time. Below, a method for not allowing a plurality of control units to access the same partitioned storage area will be described with reference to
Referring to
If there is no need to access the partitioned storage area, step 510 is repeated.
If the partitioned storage area needs to be accessed, however, the first control unit determines, in step 520, whether the other control unit (i.e. the other of either the main control unit 210 or the supplementary control unit 220, hereinafter referred to as “second control unit”) is already accessed to the partitioned storage area. The access by the second control unit to a partitioned storage area can be recognized through status information received from the pertinent control unit or the memory unit 310.
If the second control unit is accessed to the partitioned storage area, the process waits in step 520 until the second control unit terminates its access to the pertinent partitioned storage area.
If the partitioned storage area is accessible, however, the first control unit accesses the partitioned storage area, in step 530, and sends access status information, indicating the access by the first control unit to the partitioned storage area, to the second control unit. The access status information can be transmitted immediately before the access to the partitioned storage area, or can be transmitted to the second control unit by the memory unit 310 as described above.
In step 540, the first control unit determines whether the data to be written is completely stored in the accessed partitioned storage area. If the data to be written is not completely written, the pertinent data keeps being written, but if the data is completely written, the access to the pertinent partitioned storage area is terminated in step 550. Furthermore, the first control unit or the memory unit 310 sends access termination information of the partitioned storage area to the second control unit to enable the access by the second control unit.
As described above, the method for sharing the partitioned storage area in accordance with the present invention can allow the main control unit 210 and the supplementary control unit 220 to cross-access a plurality of partitioned storage areas, thereby making the real-time data delivery possible by writing the data to be delivered to the other control unit in a specific area of each partitioned storage area and providing the authority to access the pertinent partitioned storage area to the other control unit. Therefore, a prompt process becomes possible when the supplementary control unit 220 processes data in accordance with a process order by the main control unit 210. In this case, the storage address information of the data can be delivered to the other control unit, if necessary.
As illustrated in
As illustrated in
If, as in
Of course, in case a small amount of data is to be transmitted between a plurality of control units, the data can be communicated through a bus connected between each control unit although the access to the pertinent partitioned storage area is not terminated.
The drawings and detailed description are only an example of the present invention, serve only for describing the present invention, and by no means limit or restrict the spirit and scope of the present invention. Thus, any person of ordinary skill in the art shall understand that a large number of permutations and other equivalent embodiments are possible. The true scope of the present invention must be defined only by the spirit of the appended claims.
As described above, a portable terminal having a shared memory and a method for controlling multiple access to partitioned blocks of the shared memory can minimize the data transmission time between control units by partitioning the storage area of the shared memory into a plurality of partitioned blocks and allowing a plurality of control units to access each partitioned block
Moreover, the present invention can optimize the operation speed and efficiency of each control unit by allowing the storage area of the shared memory, partitioned into a plurality of blocks, to be accessed by a plurality of control units such that each control unit can handle its own process only.
Furthermore, the present invention can easily control the shared memory in software by using partitioned blocks of the shared memory.
The present invention can also process data highly efficiently by eliminating the loss of time needed to communicate the data, stored in a specific memory, between control units.
Number | Date | Country | Kind |
---|---|---|---|
10-2005-0024926 | Mar 2005 | KR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR05/03144 | 9/22/2005 | WO | 00 | 9/19/2007 |