摘要:
A first OS (1) dispatches a first thread to a first CPU. The first OS (2) compares the access frequency of shared resources by the first thread and a first threshold. The first OS (3) judges a dependence relationship between the first thread and a second thread under execution by a second CPU. Upon that the access frequency is greater than the first threshold and that no dependence relationship exists (marked by x), the first OS (4) changes the setting of a clock generating circuit so that the phase of the clock to be supplied to the first CPU and the phase of the clock to be supplied to the second CPU are opposite to each other. The first OS (4) changes the setting of the clock generating circuit so that the frequency of the clock to be supplied to the shared resources will be twice as great as the frequency of the clock to be supplied to the first CPU.
摘要:
Memory access contention by plural devices is prevented. A multi-core processor system (100) at time t3 designated by reference numeral (103) allocates processing executed by an app (#0) to a GPU (106) and allocates processing executed by an app (#1) to a CPU (#0). The multi-core processor system (100) then controls a memory controller (112) so that the GPU (106) accesses a storage area (115#0) as an area for app (#0), via a port (113#0) as a port for app (#0). The multi-core processor system (100) further controls the memory controller (112) so that the CPU (#0) accesses a storage area (115#1) as an area for app (#1), via a port (113#1) that is not the port for app (#0).
摘要:
Load distribution among multiple cores is achieved without altering an execution object for single core. A CPU (#0) detects, by a detecting unit (303), an assignment to a CPU (#1), of a child thread (302) that is generated from a parent thread (301) assigned to a CPU (#2). After the detection, the CPU (#0) determines whether the parent thread (301) and the child thread (302) operate exclusively of each other. If the parent thread (301) and the child thread (302) operate exclusively, the CPU (#0) copies copy-source data stored in a parent thread context area (311) onto a copied-parent thread context area (312). After the copying, the CPU (#0) calculates an offset value for an address of copy-destination data based on the destination address of the copied data and a predetermined value. After the calculation, the CPU (#0) notifies the CPU (#1) of the offset value for the destination address of the copied data by a notifying unit (307).
摘要:
When access contention by cores occurs at a device, processing performance is maintained and power consumption is reduced. A CPU (#0), via a detecting unit (307), detects the CPU (#0) and a CPU (#1), which form a predetermined core group that causes access contention at a device (#H0) in a device group (205). The CPU (#0), via an identifying unit (309), identifies the access contention state at the device (#H0) in the device group (205). The CPU (#0), from a clock frequency table (301), extracts according to the access contention state at the device (#H0), a clock frequency for the device (#H0) and a clock frequency for the CPUs (#0) and (#1). The CPU (#0) causes the device (#H0) to operate at the clock frequency for the device (#H0) and causes the CPUs (#0) and (#1) to operate at the clock frequency for the predetermined core group.
摘要:
When an OS (191) assigns a thread 2 to a CPU (102), the OS (191) updates identification information of an assignment destination CPU in an assignment destination CPU identification information field where output data in an output data field is "variable z" and identification information of an input destination thread in an input destination thread identification information field is "thread 2", to "CPU (102)". The OS (191) updates identification information of an assignment destination CPU in the assignment destination CPU identification information field where output data in the output data field is "variable x" and identification information of an input destination thread in the input destination thread identification information field is "thread 2", to "CPU (102)". When the OS (191) detects a request for writing the variable x, the OS (191) searches a table for identification information of an assignment destination CPU in the assignment destination CPU identification information field, using the variable x as a search key and thereby, identifies the identification information of an assignment destination CPU. Based on the result of identifying the identification information, the OS (191) stores the variable x in a distributed cache (112) of the CPU (102).
摘要:
A sensor node (101-1) has no subsequent assignment-destination sensor node (101), when the execution of data processing is assigned to a sensor node (101-h) that can directly communicate with a parent device (102) (dashed-lined arrow), and the data processing is not completed by the assignment-destination sensor node (101-h). Thus, when unable to execute the data processing, the sensor node (101-1) requests a sensor node (101-m) that requires plural hops in communicating with the parent device (102) (solid lined arrow). Even when the data processing is not completed by the assignment-destination sensor node (101-m), the data processing can be completed by executing the data processing in stages by plural sensor nodes (101).
摘要:
While a specific CPU saves state information, another CPU continues a process to implement continuous operation. A CPU (#0) detects, by a detecting unit (301), that a process (210) is executed. After the execution, the CPU (#0) generates, by a generating unit (302), a monitoring thread (211) saving state information (215) indicating an executed state of the process (210) and an executed state of threads (212) as threads to be monitored of the process (210). As a result, while the CPU (#0) is saving the state information (215), a CPU (#1) can execute a process (220) having no dependence on the process (210), to achieve continuous operation.
摘要:
A CPU (#0) among a multi-core processor, by a detecting unit (502), detects a migration of a thread under execution by a CPU (#M) as a synchronization source core to a CPU (#N) as a synchronization destination core in the multi-core processor. After the detection, the CPU (#0), by an identifying unit (503), refers to a register dependency table (501) and identifies a particular register corresponding to the thread for which migration was detected. After the identification, the CPU (#0), by a generating unit (504), generates synchronization control information identifying the identified particular register and the synchronization destination core. A synchronization controller (505) communicably connected to the multi-core processor acquires the generated synchronization control information from the CPU (#0). The synchronization controller (505) then reads in the value of the particular register obtainable from the synchronization control information from the particular register of the CPU (#M) and writes the read-in value in the particular register of the CPU (#N).
摘要:
After electrical power supply to a CPU #1 and a local memory 1 is suspended, a data restoration apparatus (110) restores contents of the local memory onto a shared memory (104) from redundant data as a process at step S1. For example, DATA 2 stored in the local memory 1 is restored from DATA 1, DATA 3, and Parity 1 and stored into an saving area #1 in the shared memory (104). After the restoration at step S1, the data restoration apparatus (110) reconstructs parity data according to the number of operating CPUs as a process at step S2.
摘要:
A multi-core processor system (100) includes an executing unit (503) that establishes coherency of shared data values stored in a cache memory accessed by each CPU. The multi-core processor system (100) detects a first thread executed by a CPU (#0) using a detecting unit (504) and identifies a second thread under execution by a CPU (#1) other than the CPU (#0). After the identification, the multi-core processor system (100) determines via a determining unit (506) whether shared data commonly accessed by the first and the second threads is present. If the multi-core processor system (100) determines that no such shared data is present, the multi-core processor system (100) causes the executing unit (503) to stop establishing coherency between a snoop supporting cache (#0) corresponding to the CPU (#0) and a snoop supporting cache (#1) corresponding to the CPU (#1).