Exemplary embodiments of an information processing device according to the present invention are explained in detail with reference to the accompanying drawings; however, the invention is not limited to the embodiments.
Particularly, the embodiment below is explained with respect to an application in the field of image processing technology; however, the embodiment can be applied to other fields in the same manner.
General outline of the information processing device is explained below, and structure, process and the like of the information processing device are explained thereafter.
The information processing device generally has basic characteristics that are mentioned below. In other words, the information processing device includes a plurality of integrated circuits that are interconnected via an external bus. Each of the integrated circuits is structured to be connectable via an internal bus to a CPU, a user logic, and a bridge. Among the plurality of integrated circuits, one integrated circuit is set as a master integrated circuit that controls other integrated circuits, and the other integrated circuits are set as slave integrated circuits whose CPUs are fixed to a reset state. The CPU of the master integrated circuit controls user logics of the slave integrated circuits via the bridge and the external bus.
The term “user logic” as used herein indicates a logical computing means that is realized by a user by using a particular logical circuit other than the CPU on an integrated circuit such as ASIC and FPGA. For example, it is possible to use an image computing unit as the user logic.
The CPU of the master integrated circuit alone is used to control user logics of the integrated circuits and the CPU of the slave integrated circuits is fixed to a reset state. Therefore, one control program suffices the need and the control by the control program does not become complicated, resulting in an inexpensive formulation of the system. Furthermore, a communication line for synchronization of the master integrated circuit and the slave integrated circuits is not needed, and one ROM for storing control program is sufficient, which reduces expenditure on materials.
When the information processing device executes control by using a user logic control unit, it manages memory address space of the user logic of the slave integrated circuits as a separate memory space.
By managing memory address space of the user logic of the slave integrated circuits as separate memory address spaces, it becomes possible to prevent competition among memory address spaces.
First, explanation is given about the structure of the system.
As shown in
The CPU 102 is a device that conducts information processing by executing various processes according to control programs such as an operating system (OS) stored in a program ROM 501 or computer programs that specify procedures of various types of processes. The CPU 102 is set to control a plurality of the integrated circuits. Particularly, the CPU 102 functions as the user logic control means that controls a user logic 204 via the external bus 400 and a bridge 208, and as an address managing means that manages memory space addresses other than those used by the user logic 104.
The slave integrated circuit 200 includes a CPU 202; the user logic 204 that can be customized or has been customized by the user; an internal bus 206 that connects the CPU 202 and the user logic 204 with each other on the slave integrated circuit 200; the bridge 208 that reads the address of the data, which is on the external bus 400 or on the slave integrated circuit 200, and judges sending/receiving of the corresponding data; and a M/S (Master/Slave) selecting port 210 that selects either the master integrated circuit or the slave integrated circuit according to the need. The M/S selecting port 110 of the slave integrated circuit 200 is set to “slave” position, so that the CPU 202 is fixed to a reset state.
If the conventional technology is used, a communication line for synchronization is arranged between the master integrated circuit 100 and the slave integrated circuit 200 to perform synchronization control. However, in the slave integrated circuit 200, because the CPU 202 is fixed to a reset state, the communication line for synchronization, which is necessary in the conventional technology for synchronizing parallel processing, is not needed. Thus, expenditure on materials is reduced. Furthermore, there is no need to develop a computer program for controlling synchronization, which reduces the development cost as well.
The external bus 400 shown in
The program ROM 501 stores the OS (operating system) and/or the computer programs that are used by the CPU 102 when performing various other processes
In the slave integrated circuit 200, because the M/S selecting port 210 is set such that the CPU 202 set to a reset state, there is no need to have a program ROM corresponding to the CPU 202 for parallel processing, and a cost-cut can be realized as compared to the conventional device shown in
An example of the system processing according to the embodiment is explained below in detail.
A user logic control of controlling the user logic of the slave integrated circuit via the bridge and the external bus is explained below in detail.
Upon booting, the CPU 102 first judges whether the integrated circuit to which it belongs is the master integrated circuit or the slave integrated circuit. Because all the M/S selecting ports of the integrated circuits other than the master integrated circuit are set to “slave” position, and the CPUs in these integrated circuits are already in reset states, if a CPU boots normally, that CPU judges that it belongs to an integrated circuit that is the master integrated circuit.
The CPU 102 sends, among the data to be processed by user logics, the data that is to be processed by the user logic 104 of the master integrated circuit 100 to the user logic 104 via the internal bus 106, and sends the data that is to be processed by the user logic 204 of the slave integrated circuit 200 to the user logic 204 via the bridge 208 and the external bus 400.
For example, when the CPU 102 is to control the user logic 104 to process the data corresponding to right part of the screen out of the image processing data, and is to control the user logic 204 to process the data corresponding to left part of the screen out of the image processing data, the CPU 102 sends the data corresponding to the right part to the internal bus 106 and sends the data corresponding to the left part to the external bus 400.
With this, the user logic control process is completed. The sequence or contents of the process is not limited to the example mentioned above, and can be applied in another way such as sending an upper part of the image processing data to the internal bus 106 and sending a lower part of the image processing data to the external bus 400. Further, it is also possible to send an asymmetrical data to each other, taking into consideration process speed and transmission rate.
Next, explanation is given in detail about an address managing process.
When the CPU 102 is to control processing according to the user logic control unit, memory address space for the user logic of the slave integrated circuit is managed as a separate memory space address.
For example, the CPU 102 implements address management by treating the user logics of the master integrated circuit and the slave integrated circuit as if the user logics are on one substrate. In other words, as viewed from the CPU 102, the processing capacity of the user logic 104 expands by an amount equivalent to the processing capacity of the user logic 204, i.e., memory space available for allocation increases, which leads to prevention of allocation of identical addresses to different data (see lower part of
With this, the address managing process is completed. As mentioned in the above example, the data that is allocated with addresses is processed according to an address offset process, and the data can be retrieved as image data that corresponds to the left or right position of the screen.
In conventional information processing devices, the number of computer programs usually required for controlling is equal to the number of integrated circuits that are to be controlled. However, the information processing device formed as described above suffices with having one controlling program regardless of the number of the integrated circuits, which reduces the development expenditure. Further, usually individual program ROMs are necessary for the number of integrated circuits. However, the information processing device formed as described above suffices with having one program ROM regardless of the number of the integrated circuits, which reduces the cost of materials. Moreover, one CPU is able to control all of the integrated circuits, because of which, as compared to the initialization of a plurality of CPUs, there is no need to do adjustment among those CPUs, which results in simplification of the controlling process.
The embodiments according to the present invention are explained above; however, the present invention is applicable to embodiments other than the embodiments mentioned above, and also to any other embodiments that come under the scope of the technological philosophy of the claims.
Particularly, in the embodiments mentioned above, an example is described of a combination of one master integrated circuit with one slave integrated circuit. However, it need not be limited to the example, and one master integrated circuit can be in combination with more than two slave integrated circuits.
In addition, process steps, control steps, specific nomenclature mentioned in the specification and the diagrams can be arbitrarily changed if not otherwise specified.
Furthermore, each of the components of the configuration of the system that includes the master integrated circuit 100 and the slave integrated circuit 200 as shown in
Moreover, distribution and integration of the information processing device is not limited to the specific form shown in the diagram, all or part of it can functionally or physically be distributed or integrated based on arbitrary unit according to various types of loads.
Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.
Number | Date | Country | Kind |
---|---|---|---|
2006-094732 | Mar 2006 | JP | national |