Computer operating process allocating tasks between first and second processors at run time based upon current processor load
First Claim
1. A process of operating a computer system having a storage holding an operating system and an application program, a first processor having a first instruction set, and a second processor having a second instruction set different from the first instruction set, the process comprising:
- storing a indication of whether a part of the appication program is expected to best run on the first processor or on the second processor for each part of the application program capable of being run on either the first processor or the second processor;
running at least some of the operating system on the first processor determining whether a part of the application program shall run on the first processor or the second processor at run time and based upon a then current processing load of the first processor and the second processor, so that the first processor sets up for at least part of the application program at run time at least one second processor object;
said step of determining whether said part of the application program shall be run on the first processor or on the second processor occurs at run time and is based upon a then current processing load of the first processor and the second processor and on consideration of said stored indication, whereby said stored indication may be overridden based upon said then current processing load of said first processor and said second processor; and
concurrently running the second processor to access the second processor object and thereby determine operations for the second processor to access second processor instructions in said second instruction set for said part of the application program and data to be processed according to said second processor instructions, and running the second processor to process the data according to said second processor instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
A process of operating a computer system (100). The computer system (100) has a storage (HDD, 110) holding an operating system (OS) and an application program (APP.exe), a first processor (106) having an instruction set, and a second processor (1730) having a different instruction set. The process includes steps of 1) running (2424) at least some of the operating system (OS) on the first processor (106) so that the first processor (106) sets up for at least part of the application program at run time at least one second processor object (VSP OBJECT 1); and 2) concurrently running the second processor (3310) to access the second processor object (VSP OBJECT1) and thereby determine operations for the second processor (1730) to access second processor instructions for said part of the application program (APP.exe) and data to be processed according to said second processor instructions, and running (2436) the second processor (1730) to process the data according to said second processor instructions. Other processes, systems, devices and methods are also disclosed.
-
Citations
2 Claims
-
1. A process of operating a computer system having a storage holding an operating system and an application program, a first processor having a first instruction set, and a second processor having a second instruction set different from the first instruction set, the process comprising:
-
storing a indication of whether a part of the appication program is expected to best run on the first processor or on the second processor for each part of the application program capable of being run on either the first processor or the second processor;
running at least some of the operating system on the first processor determining whether a part of the application program shall run on the first processor or the second processor at run time and based upon a then current processing load of the first processor and the second processor, so that the first processor sets up for at least part of the application program at run time at least one second processor object;
said step of determining whether said part of the application program shall be run on the first processor or on the second processor occurs at run time and is based upon a then current processing load of the first processor and the second processor and on consideration of said stored indication, whereby said stored indication may be overridden based upon said then current processing load of said first processor and said second processor; and
concurrently running the second processor to access the second processor object and thereby determine operations for the second processor to access second processor instructions in said second instruction set for said part of the application program and data to be processed according to said second processor instructions, and running the second processor to process the data according to said second processor instructions.
-
-
2. A process of operating a computer system having a storage holding an operating system, a first processor having a first instruction set, and a second processor having a second instruction set different from the first instruction set, the process comprising:
-
dividing an application program into a plurality of granules;
compiling each of said plurality of granules into either a first object code in the first instruction set or a second object code in the said second instruction set, including compiling at least some of said granules into both a first object code in the first instruction set and a second object code in said second instruction set;
storing each of said first object codes and each of said second object codes;
storing a indication of whether a granule complied in both a first object code and a second object code is expected to best run on the first processor or on the second processor;
running at least some of the operating system on the first processor to determine at run time whether a granule of the application program shall be run on the first processor or on the second processor, said step including determining to run a granule compiled only in a first object code on the first processor, determining to run a granule compiled only in a second object code on the second processor, determining whether a granule compiled in both the first object code and the second object code shall be run on the first processor or on the second processor based upon a then current processing load of the first processor and the second processor, and said step of determining whether a granule compiled in both the first object code and the second object code shall be run on the first processor or on the second processor is based upon a then current processing load of the first processor and the second processor and on consideration of said stored indication, whereby said stored indication may be overridden based upon said then current processing load of said first processor and said second processor; and
concurrently running the second processor to run granules determined to run on the second processor to process the data according to said second object code.
-
Specification