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.
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 varying the size of partitioned areas of the shared memory that can minimize the length of data transmission time and optimize the operation speed of each control unit, by assigning a dedicated area to each of the plurality of control units coupled to the shared memory.
It is another object of the present invention to provide a portable terminal having a shared memory and a method for varying the size of partitioned areas of the shared memory that can optimally partition the memory by having the main control unit assign the storage area of the memory as a shared area and a dedicated area for each supplementary control unit.
It is yet another object of the present invention to provide a portable terminal having a shared memory and method for varying the size of partitioned areas of the shared memory that can ease the sharing of needed data by having a plurality of control units share a single memory.
It is still another object of the present invention to provide a portable terminal having a shared memory and a method for varying the size of partitioned areas 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 the control units.
In order to achieve the above objects, an aspect of the present invention features a portable terminal having a shared memory that can vary the size of partitioned areas.
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 bus #1, 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 bus #1; and a main control unit coupled to the memory unit through bus #2 and coupled to the supplementary control unit through bus #3, the main control unit transmitting the process order to the supplementary control unit through bus #3. A storage area of the memory unit is partitioned into a first dedicated area accessible by the supplementary control unit only, a second dedicated area accessible by the main control unit only, and a shared area and a variable area accessible by the supplementary control unit and the main control unit, and the variable area is variably changed to be included in at least one of the first dedicated area, the second dedicated area, and the shared area to correspond to area partition information generated by one of the main control unit and the supplementary control unit.
The memory unit has a separate interface structure for communicating information with the supplementary control unit through bus #1 and for communicating information with the main control unit through bus #2.
In the above portable terminal, a first control unit (either the main control unit or the supplementary control unit) can generate the area partition information and transmit to a second control unit (the other of either said main control unit or said supplementary control unit) through bus #3.
Moreover, the first control unit, accessed to the shared area, can generate area re-partition information if the size of the data to be written is larger than the size of writable capacity of the shared area, and the size of the shared area can be expanded by including partial or whole variable area, included in at least one of the first dedicated area and the second dedicated area, in the shared area in accordance with the area re-partition information.
The above bus #2 can have priority over the above bus #1.
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.
In order to achieve the above objects, another aspect of the present invention features a method for varying the size of partitioned areas of a shared memory and a recorded medium recording a program for executing the method thereof.
According to a preferred embodiment of the present invention, the portable terminal comprises a memory unit, a main control unit coupled to the memory unit through bus #1, and a supplementary control unit coupled to the memory unit through bus #2 and coupled to the main control unit through bus #3. The method for varying the size of partitioned areas of a memory unit in a portable terminal comprises the steps of: the main control unit generating area partition information, for partitioning a storage area of the memory unit into a plurality of partitioned areas, and transmitting to the supplementary control unit, wherein the partitioned area comprises at least a first dedicated area accessible by the main control unit only, a second dedicated area accessible by the supplementary control unit only, and a shared area and a variable area accessible by the main control unit and the supplementary control unit, and the variable unit is included in at least one of the first dedicated area, the second dedicated area, and the shared area by the area partition information; the main control unit accessing the shared area in order to write data; the main control unit determining whether the size of the data to be written is smaller than the size of the writable area of the shared area; and if bigger, the main control generating area re-partition information and transmitting to the supplementary control unit. The size of the shared area is expanded by including partial or whole variable area, included in at least one of the first dedicated area and the second dedicated area, in the shared area in accordance with the area re-partition information.
The method for varying the size of partitioned areas of the memory unit can further comprise the steps of the supplementary control unit accessing the shared area in order to write data; the supplementary control unit determining whether the size of the data to be written is smaller than the size of the writable area of the shared area; and if bigger, the supplementary control unit transmitting an area re-partition request to the main control unit. Here, the main control unit can generate the area re-partition information in accordance with the area repartition request, and the size of the shared area can be expanded in accordance with the area repartition information.
Either the main control unit or the supplementary control unit, accessed to the shared area, can transmit access status information to the other of either of the main control unit or the supplementary control unit through the above bus #3.
According to another 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 varying the size of partitioned areas of a shared memory, and the program is readable by the portable terminal. The portable terminal comprises a memory unit, a main control unit, and a supplementary control unit. The main control unit is coupled with the memory unit through bus #1. The supplementary control unit is coupled with the memory unit through bus #2. The main control unit and the supplementary control unit are coupled with each other through bus #3. The recorded medium can execute the acts of the main control unit setting area partition information, for partitioning a storage area of the memory unit into a plurality of partitioned areas, and transmitting to the supplementary control unit, wherein the partitioned area comprises at least a first dedicated area accessible by the main control unit only, a second dedicated area accessible by the supplementary control unit only, and a shared area and a variable area accessible by the main control unit and the supplementary control unit, and the variable unit is included in at least one of the first dedicated area, the second dedicated area, and the shared area by the area partition information; the maid control unit accessing the shared area in order to write data; the main control unit determining whether the size of the data to be written is smaller than the size of the writable area of the shared area; and if bigger, the main control generating area re-partition information and transmitting to the supplementary control unit, wherein the size of the shared area is expanded by including partial or whole variable area, included in at least one of the first dedicated area and the second dedicated area, in the shared area in accordance with the area re-partition information.
The above program can further comprise the acts of the supplementary control unit determining whether the shared area is accessible in order to write data; if accessible, the supplementary control unit determining whether the size of the data to be written is smaller than the size of the writable area of the shared area; and if bigger, the supplementary control unit generating area re-partition information and transmitting to the main control unit.
The above program can further comprise the acts of the supplementary control unit determining whether the shared area is accessible in order to write data; if accessible, the supplementary control unit determining whether the size of the data to be written is smaller than the size of the writable area of the shared area; if bigger, the supplementary control unit transmitting an area re-partition request to the main control unit, and the main control unit generating the area repartition information and transmitting to the supplementary control unit.
The memory unit can transmit an inaccessible message to a second control unit if the second control unit attempts to access the shared area to write data while a first control unit is accessed to the shared area and is writing data. Here, 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 main control unit can transmit access status information to the supplementary control unit in case the main control unit accesses the shared area to write data.
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 equipped with one or more ports for exclusively communicating data with the main control unit 210 and one or more ports for exclusively communicating data with the supplementary control unit 220.
For example, in a structure of the memory unit coupled to both the main control unit 210 and the supplementary control unit 220, as shown in
As illustrated in
The first and second variable areas 420, 440 are configured to have any of the main control unit dedicated area 410, shared area 430, or supplementary control unit dedicated area 450 expand to in case it does not have sufficient space.
The above variable areas can be included in a specific area (e.g. at least one of the main control unit dedicated area 410, the shared area 430, and the supplementary control unit dedicated area 450), depending on the request (e.g. creating and sharing area partition information—refer to
Therefore, the minimum storage area that can be operated by sharing the area can be the shared area 430, while the maximum storage area can be the sum of the first variable area 420, the shared area 430, and the second variable area 440. Likewise, the size of the dedicated area, which each control unit can exclusive use, can depend on the addition of the variable area. Suppose the memory unit 310 has a storage size of 40 megabytes, and each of the main control unit dedicated area 410, shared area 430, supplementary control unit dedicated area 450, and variable areas 420, 440 has a storage area of 10 megabytes. Then, the 10 megabytes, assigned in the variable areas 420, 440 can be wholly or partially included in other storage areas, thereby increasing the size of the pertinent storage area. If, for example, the 10 megabytes of the variable area 420, 440 is included in the main control unit dedicated area 410, the main control unit dedicated area 410 functions as a 20-megabyte storage. Moreover, if the 10 megabytes of the variable area 420, 440 are divided into two 5 megabytes to be included in each of the main control unit dedicated area 410 and the shared area 430, the main control unit dedicated area 410 and the shared area 430 each functions as a 15-megabyte storage. The storage area, in which the variable area 420, 440 is to be included, can be changed by the control of the main control unit 210 and/or the variable control unit 220.
Each of the first and second variable areas 420, 440 can be included in at least one of the main control unit dedicated area 410, the shared area 430, or the supplementary control unit dedicated area 450 in the initial state. The method of varying the partitioned storage areas will be described later with reference to
The main control unit 210 can process data by accessing the main control unit dedicated area 410 and/or the shared area 430 through the first port, and the supplementary control unit 220 can process data by accessing the supplementary control unit dedicated area 450 and/or the shared area 430 through the second port. However, the shared area 430 is restricted from being accessed by a plurality of control units 210, 220 simultaneously. The plurality of control units 210, 220 can be restricted from simultaneously accessing the shared area 430 by having the first accessed control unit notify the other control unit of the access (e.g. accessed address information) or having the memory unit 310 notify, if one of the control units access the shared area, the other control unit of the access. In other words, it is possible for the main control unit 210 and the supplementary control unit 220 to process data by simultaneously accessing the memory unit 310 through independent routes, and in this case a collision between the two control units can be prevented. In case, however, the portable terminal in accordance with the present invention is a mobile phone, the main function of which is a telephonic function, the access priority over the shared area 430 is given to the main control unit 210 when a telephonic communication is in progress by having received a call. For example, when a telephonic communication sorts while the supplementary control unit 220 is accessed to the shared area 430, the main control unit 210 can request the access to the shared area 430 by the supplementary control unit 220 to be released, and the supplementary control unit 220 can release the access to the shared area 430 in accordance with the request by the main control unit 210, thereby enabling the main control unit 210 to access the shared area 430.
The address information on the partitioned storage areas of the memory unit 310 can be set and managed by the main control unit 210, and 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 be set and managed by the supplementary control unit 220 also, and, when necessary, one of the two control units 210, 220 can have the authority to set the address information and provide the address information to the other of the two control units 210, 220, enabling the sharing of address information.
The information on the partitioned storage areas of the memory unit 310 can be recognized by each control unit during the booting of the portable terminal.
In the process illustrated in
Referring to
The main control unit 210 sends the set area partition information to the supplementary control unit 220 in step 510, and the supplementary control unit 220 registers the received area partition information in step 515, thereby allowing the area partition information of the memory unit 310 to be shared between the main control unit 210 and the supplementary control unit 220.
In step 520, the main control unit 210 determines if the shared area 430 of the storage area of the memory unit 310 is accessible. If it is not accessible (for example, the supplementary control unit 220 is already accessed to the same area), the process waits in step 520 until it becomes accessible.
If it is accessible, however, step 525 is performed to determine if the size of the data to be written in the shared area 430 is in excess of the size writable in the shared area 430. When the main control unit 210 is accessed to the shared area 430, it is necessary to send the access status of the main control unit 210 to the supplementary control unit 220 such that the supplementary control unit 220 does not access the shared area 430 at the same time. The pertinent information can be notified to the supplementary control unit 220 by the main control unit or the memory unit 310. The pertinent information can be notified through the status register.
If the size of the data to be written is small, step 545 is performed to store the data to be written in the shared area 430. The data stored in the shared area 430 can be either the result processed by the main control unit 210 or the data, which was stored in the main control unit dedicated area 410 for processing by the supplementary control unit 220, to be transferred to the shared area 430. The main control unit 210 can send a process order (e.g. the storage address information of the pertinent data, the process type, such as decoding, of the pertinent data) to the supplementary control unit 220 such that the supplementary control unit 220 can process the stored data.
However, if the size of the data to be written is in excess of the size of the writable area, the main control unit 210 re-sets (i.e. sets area repartition information), in step 530, the address range of each partitioned storage area.
In step 535, the main control unit 210 sends the set area repartition information to the supplementary control unit 220. In step 540, the supplementary control unit 220 registers the received area repartition information, thereby allowing the area repartition information of the memory unit 310 to be shared between the main control unit 210 and the supplementary control unit 220.
In step 545, the main control unit 210 stores the data to be written in the expanded shared area 430. It is possible, of course, for the main control unit 210 to perform steps 535 and 540 after storing the pertinent data in the expanded shared area 430.
In step 550, the supplementary control unit 220 determines if the shared area 430 of the storage area of the memory unit 310 is accessible. If it is not accessible (for example, the main control unit 210 is still accessed to the same area), the process waits in step 550 until it becomes accessible.
If it is accessible, however, step 555 is performed to read the data to be written and processed in the shared area 430. As described earlier, when the supplementary control unit 220 is accessed to the shared area 430, it is necessary to send the access status of the supplementary control unit 220 to the main control unit 210 such that the main control unit 210 does not access the shared area 430 at the same time.
In step 560, the supplementary control unit 220 processes the read data in a predetermined method. As described earlier, the process type of the pertinent data can be instructed by the main control unit 210.
In step 565, the supplementary control unit 220 determines if the shared area 430 of the storage area of the memory unit 310 is accessible. If it is not accessible (for example, the main control unit 210 is accessed to the same area), the process waits in step 565 until it becomes accessible.
If it is accessible, however, step 570 is performed to have the supplementary control unit 220 write the data processed through step 560 in the shared area 430. If the size of the data to be written is in excess of the size of the writable area of the shared area 430, the supplementary control unit 220 can send an area repartition request to the main control unit 210, and can write the pertinent data after the shared area 430 is expanded.
By referencing
However, it should be evident that the area partition information can be shared by sending the area partition information to the main control unit 210 after setting the size of the partitioned area in the supplementary control unit 220 not in the main control unit 210.
It should be evident that, as another method, the size of the data to be written by the control unit that is currently accessed to the shared area and the size of the writable storage area can be compared, and when the data is larger, the area partition information, which is first set to expand the size of the shared area, can be sent to the other control unit. If this method is used, the control unit accessed to the shared area can re-set the size of the partitioned area by itself, thereby minimizing the amount of information (e.g. the area re-partition request) transmitted between a plurality of control units.
Although detailed description of the above two methods is not provided, anyone of ordinary skill in the art should be able to easily understand the methods through the description above.
As shown in
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 varying the size of partitioned areas of the shared memory can minimize the data transmission time and optimize the operation speed of each control unit by assigning a dedicated area to each of the plurality of control units coupled with the shared memory.
The present invention also enables the optimal memory partition by having the main control unit assign the storage area of a memory as a shared area and a dedicated area for each supplementary control unit.
Moreover, the present invention can ease the sharing of needed data by having a plurality of control units share a single memory.
Furthermore, the present invention enables a highly efficient data process by eliminating the unnecessary time loss when data stored in a specific memory is exchanged between each control unit.
Number | Date | Country | Kind |
---|---|---|---|
10-2005-0024210 | Mar 2005 | KR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR05/03062 | 9/15/2005 | WO | 00 | 9/19/2007 |