Instruction pre-fetching
AssigneeNXP USA, Inc.
InventorsStefan Singer, Jochen M Gerster, Michael Rohleder
Life of this patent
Estimating the term…
Abstract
Pre-fetching instructions for tasks of an operating system (OS) is provided by calling a task scheduler that determines a load start time for a set of instructions for a particular task corresponding to a task switch condition. The OS calls, and in response to the load start time, a loader entity module that generates a pre-fetch request that loads the set of instructions for the particular task from a non-volatile memory circuit into a random access memory circuit. The OS calls the task scheduler to switch to the particular task.
Claims20
A method for pre-fetching instructions for tasks under the control of an operating system (OS), the method comprising:
- calling, by the OS, a task scheduler in response to a task scheduler event, the task scheduler:
- identifying a future task switch condition corresponding to a particular task and a task switch time;
- accessing, in response to identifying the task switch condition, a task information queue to retrieve task information for the particular task;
- and
- determining, based upon the task information and the task switch time, a load start time for a set of instructions for the particular task based on a load anticipation time for the set of instructions;
- calling, by the task scheduler in response to the load start time, a loader entity module, the loader entity module generating, a pre-fetch request to load the set of instructions for the particular task from a non-volatile memory circuit into a random access memory circuit,
- wherein the set of instructions includes less than all instructions in the particular task and less than all constant data for the particular task, and
- wherein the loader entity module generates additional load anticipation times for additional sets of instructions for the particular task;
- and
- switching, by the task scheduler and in response to the task switch time, to the particular task.
A system comprising:
- a computer processor circuit that is configured for pre-fetching instructions for tasks under the control of an operating system (OS) by executing code that causes the computer processor circuit to:
- call, by the OS, a task scheduler in response to task scheduler events, the task scheduler configured to:
- identify a future task switch condition corresponding to a particular task and a task switch time;
- access, in response to identifying the task switch condition, a task information queue to retrieve task information for the particular task;
- determine, based upon the task information and the task switch time, a load start time for a set of instructions for the particular task based on a load anticipation time for the set of instructions;
- switch, in response to the task switch time, to the particular task;
- and
- call, in response to the load start time, a loader entity module, the loader entity module configured to generate a pre-fetch request to load the set of instructions for the particular task from a non-volatile memory circuit into a random access memory circuit,
- wherein the set of instructions includes less than all instructions in the particular task and less than all constant data for the particular task, and
- wherein the loader entity module generates additional loan anticipation times for additional sets of instructions for the particular task.
Dependencies are inferred from the claim text.