1. Field of the Invention
The present invention relates to a technology which enables a processor provided in a multiprocessing device to be activated with a higher degree of freedom and achieves the reduction of an area and power consumption in the processor, and an information processing device provided with the multiprocessing device.
2. Description of the Related Art
In recent years, functions and performance levels of various information processing devices, in which a processor is used, are significantly improving. In order to further improve the functions and performance levels, a higher processing speed is demanded in the processor. It is effective to increase an operation frequency in order to increase the processing speed of the processor; however, there are limitations to the improvement of the operation frequency. Therefore, a plurality of processors are disposed in parallel and caused to execute their processing in parallel as a solution to this problem. Further, there is a strong request for the reduction of power consumption in the information processing device, and it is requested that a mobile device be reduced in size. In order to respond to these requests, for example, the number of parts in the device is reduced, and circuits are efficiently utilized. In a multiprocessing device, a memory in which instructions executed by processors are stored is shared by the processors, and the instructions are loaded into memories of the respective processors when the system is powered on or restarted, so that the number of memories in which instructions are stored is reduced to one from a plural number.
In the conventional technology, it was necessary to prepare individual instruction execution memories (RAM) where the instructions executed by a plurality of processors are stored. In the case where the number of the processors is increased, it is necessary to increase the number of the instruction execution memories (RAM) in a like manner, which is a disadvantage in the reduction of an area and power consumption.
As a possible solution, an instruction execution memory (RAM) shared by a plurality of processors is provided so as to divide accesses from the respective processors in a timing-sharing manner using a memory controller or the like. In the case where the instruction execution memory (RAM) is shared, a leading address used when each processor reads the boot program has to be fixed. As a result, it may be obstructed to arbitrarily change a program which is designed to realize a complicated function or efficiently utilize the shared instruction execution memory (RAM).
Therefore, a main object of the present invention is to provide a multiprocessing device capable of efficiently utilizing an instruction execution memory.
A multiprocessing device according to the present invention comprises:
a plurality of processors including a specific processor and the other processors;
an instruction storage memory in which instructions executed by the plurality of processors are stored;
an instruction execution memory in which the instructions stored in and transferred from the instruction storage memory are retained, and from which, when an instruction is executed by one of the plurality of processors, a required instruction is retrieved by the processor; and
an address storage memory in which a leading address of a position where the required instruction of the other processors is retained in the instruction execution memory is stored; and
a memory control circuit for coordinating access to the instruction execution memory by the plurality of processors and controlling access to the address storage memory by the specific processor.
In the constitution described above, the specific processor reads the instruction from the instruction storage memory and initializes itself, and transfers the instruction of the other processors from the instruction storage memory to the instruction execution memory via the memory control circuit. Further, the specific processor writes the leading address of the position where the required instruction of the other processors transferred to the instruction execution memory is retained (transfer destination address) in the address storage memory. The other processors access the instruction execution memory via the memory control circuit in accordance with the leading address of the position where the required instruction read from the address storage memory is retained, read the instruction from the instruction execution memory, and start their operation.
According to the present invention, since each of the processors is provided with an address storage memory in which the leading address of the retaining position of a required instruction is stored, the other processors can access the instruction execution memory in accordance with the leading address of the retaining position of the required instruction. Therefore, the instruction execution memory can be shared by the plurality of processors. In other words, it becomes unnecessary to provide the instruction execution memory for each of the processors. As a result, an area of the device can be reduced.
Furthermore, at the time of a program change which requires an increase or a decrease of a program size, the leading address of the retaining position of the required instruction can be set for each of the processors. Therefore, there are no restrictions as to a program size, and the memory can be efficiently utilized.
In the present invention, the specific processor may set the leading address for each of the plurality of processors and store the set leading address in the address storage memory, when the system is powered on or restarted. Accordingly, the leading address of the instruction can be automatically set in the address storage memory for each of the processors in conjunction with the power-up and the restart of the system.
In the present invention, a reset control circuit for controlling the reset of the operation of each of the plurality of processors may be further provided. Accordingly, each of the processors can be arbitrarily reset as necessary.
In the present invention, the reset control circuit may control the reset release of the operation of each of the plurality of processors. Accordingly, the reset of the operation of each processor is arbitrarily released as necessary so as to start the operation.
In the present invention, the specific processor may set the leading address for each of the plurality of processors and store the set leading address in the address storage memory, and
the reset control circuit may control the reset release of the operation of each of the plurality of processors after the leading address is set for each of the plurality of processors.
This constitution can flexibly respond to application change, and the operation can be realized with power which is optimal for each of the applications.
An information processing device according to the present invention comprises
a data generator for generating data; and
the multiprocessing device according to the present invention for processing the data.
According to the present invention, each processor can access the instruction execution memory in accordance with the leading address of the instruction in the address storage memory provided for each processor. As a result, the instruction execution memory can be shared by the plurality of processors, which leads to area reduction.
At the time of a program change which requires an increase or a decrease of a program size, since the leading address of the retaining position in the instruction execution memory can be set for each of the processors, there are no restrictions as to a program size, and the memory can be efficiently utilized.
Furthermore, the plurality of processors can be separately reset-controlled. Therefore, in the case where it is unnecessary for the plurality of processors to be operated in an application, the reset can be kept unleased (not operated). According to the constitution, therefore, the operation can be realized with power which is optimal for each of different applications.
The multiprocessing device according to the present invention is useful to a mobile device, typical examples of which are a mobile telephone, a digital still camera and the like. The multiprocessing device is also applicable to an information processing device including stationary devices such as a DVD device and a television.
These and other objects of the invention will become clear by the following description of preferred embodiments of the invention and be specified in the claims attached hereto. A number of benefits not recited in this specification will come to the attention of the skilled in the art upon the implementation of the present invention.
Hereinafter, preferred embodiments of a multiprocessing device according to the present invention are described in detail referring to the drawings.
A multiprocessing device according to a preferred embodiment 1 of the present invention is constituted, for example, as illustrated in
In the multiprocessing device thus constituted, the first processor 1 reads a required instruction from the instruction storage memory 4 when activated, and initializes itself. In the data of the instruction storage memory 4, for example, the required instructions of the first, second and third processors 1, 2 and 3 are memorized in that order as illustrated in
In the data of the instruction execution memory 5, the required instructions of the second and third processors 3 are written in that order as illustrated in
When the processing of the first processor 1 (the required instructions of the second and third processors 2 and 3 are transferred and written in the address storage memories 6 and 7) is completed, the second and third processors 2 and 3 reads the respective required instructions from the instruction execution memory 5 via the memory control circuit 8 and start their operations.
The instruction storage memory 4 is a memory device which can retain data even during no power supply, while the instruction execution memory 5 is a memory which cannot retain data during no power supply. Examples of the instruction storage memory 4 are a mask ROM, a flash ROM, a hard disk device, CD-ROM, DVD-ROM, DVD-RAM and the like, and an access rate thereof is generally slow. SDRAM (Synchronous DRAM) and DDR-SDRAM (Double Data Rate SDRAM) are used as the instruction execution memory 5, which can access the instruction storage memory 4 at a high rate.
Memory sizes of the first and second storage memories 6 and 7 depend on address lengths used by the second and third processors 2 and 3, and are generally at most 64 bits, which are very small in comparison to the sizes of the instruction storage memory 4 and the instruction execution memory 5. Thus, power consumed for those memories is a very small amount. Therefore, the area reduction and power reduction in the whole device are hardly adversely affected by those memories.
The memory control circuit 8 sequentially processes the access to the instruction execution memory 5 by the first, second, and third processors 1, 2 and 3 in a time-sharing manner. In the case where the access is tried from two processors at the same time, the processor with a higher priority is allowed to access the memory, while the processor with a lower priority has to wait to access the memory until the processor with a higher priority completes its access. In the case where a processor tries to access the memory while another processor is accessing the memory, the processor which tried to access the memory has to wait. The respective processors access the instruction execution memory 5 when they read the required instructions. However, the instruction execution memory 5 is not always accessed, and therefore, the plurality of processors can be connected thereto. The memory control circuit 8 controls the write by the first processor 1 with respect to the first address storage memory 6 and the write by the first processor 1 with respect to the second address storage memory 7.
In the foregoing constitution, the instruction execution memory 5 is shared by the plurality of processors. Therefore, it is unnecessary to provide the instruction execution memory for each of the plurality of processors, and the plurality of processors can be operated with one common memory. Further, when the program is changed and the program size is thereby increased or decreased, the leading address of the instruction can be easily changed. Therefore, there are no restrictions as to a program size, and the memory can be efficiently utilized.
The required instruction of the first processor 1, which is not transferred to the instruction execution memory 5 in the present preferred embodiment, may also be transferred to the instruction execution memory 5.
In the preferred embodiment 1, the multiprocessing device comprising three processors was described; however, two processors or four or more processors can constitute the multiprocessing device in a similar manner.
A multiprocessing device according to a preferred embodiment 2 of the present invention is constituted, for example, as illustrated in
In the multiprocessing device thus constituted, the rest of the first processor 1 is released by the reset control circuit 9, and the operation of the first processor starts. The first processor 1 reads its required instruction from the instruction storage memory 4 and initializes itself.
The first processor 1, after its initialization, activates the second and third processors 2 and 3 as illustrated in a flow chart of
Next, the first processor judges whether or not it is necessary to transfer the required instruction of the third processor 3 (S3). When judged that it is necessary, the first processor 1 reads the required instruction of the third processor 3 from the instruction storage memory 4 and transfers it to the instruction execution memory 5 via the memory control circuit 8. The first processor 1 writes the transfer destination address (leading address of retaining position) of the required instruction of the third processor 3 transferred to the instruction execution memory 5 in the second address storage memory 7 (S4).
Then, the first processor 1 judges whether or not it is necessary to operate the second processor 2 (S5). When judged that it is necessary, the first processor 1 releases the reset of the second processor 2 by controlling the reset control circuit 9. Accordingly, the second processor 2 reads its required instruction from the instruction execution memory 5 via the memory control circuit 8 and starts its operation (S6).
Then, the first processor 1 judges whether or not it is necessary to operate the third processor 3 (S7). When judged that it is necessary, the first processor 1 releases the reset of the third processor 3 by controlling the reset control circuit 9. Accordingly, the third processor 3 reads its required instruction from the instruction execution memory 5 via the memory control circuit 8 and starts its operation (S8).
The timings by which the reset of the second and third processors 2 and 3 is released are not necessarily as described earlier. The reset can be released at an arbitrary required timing anytime after the completion of the transfer of the instruction to the instruction execution memory 5 and the write of the instruction in the first or second address storage memory 6 or 7.
According to the foregoing constitution, in the case where it is unnecessary to operate any of the processors in the multiprocessing device comprising the plurality of processors, the following are made possible:
As a result, the operation with power optimal for different applications can be realized.
In the preferred embodiment 2, the multiprocessing device comprising three processors was described; however, two processors or four or more processors can constitute the multiprocessing device in a similar manner.
In the imaging device thus constituted, an output signal (video signal) of the imaging element 12 is inputted to the DSP 15 via the AFE 14 and signal-processed therein in a recording mode. The video signal signal-processed in the DSP 15 is outputted to the display circuit 18. The resulting video signal is processed into data to be recorded in the DSP 15 and outputted to and recorded on the recording medium 17.
The multiprocessing device 16 controls the system and also executes audio processing and the like. Therefore, in the multiprocessing device 16, a plurality of processors provided therein are operated. In a mode where a still image is reproduced, video data for one page is read from the recording medium 17 and display-processed in the DSP 15, and then outputted to the display circuit 18. In that case, the multiprocessing device 16 does not need to execute any processing except controlling the system. Therefore, it is unnecessary for the plurality of processors to be operated and it is unnecessary for all of the plurality of processors provided therein to be operated.
When the operation of the multiprocessing device provided in the imaging device is changed depending on the modes according to the method recited in the preferred embodiment 2, the operation can be realized with optimal power.
In the case where the multiprocessing device 16 is applied to a mobile telephone, any complicate processing is unnecessary in a standby position. Therefore, all of the plurality of processors provided therein do not need to be operated. In the case of reproducing music, playing a game or the like, however, the system is changed depending on processing complexity according to the method recited in the preferred embodiment 2 so that the plurality of processors are operated. As a result, the operation can be realized with optimal power.
In the case where the multiprocessing device 16 is applied to, for example, a DVD recording/reproduction device, a processing volume of the processors is increased at the time of recording in comparison with at the time of reproduction because it is necessary to process inputted information. Even in such a case, the operation can be realized with optimal power when the operation of the multiprocessing device is changed according to the method recited in the preferred embodiment 2.
In the preferred embodiment 3, the application of the multiprocessing device 16 to the imaging device, mobile telephone and DVD recording/reproducing device was described. The multiprocessing device, however, can be applied to any information processing device in which a multiprocessor is provided.
While there has been described what is at present considered to be preferred embodiments of this invention, it will be understood that various modifications may be made therein, and it is intended to cover in the appended claims all such modifications as fall within the true spirit and scope of this invention.
Number | Date | Country | Kind |
---|---|---|---|
2007-251024 | Sep 2007 | JP | national |