Modelling device behaviour using a first model, a second model and stored valid behaviour
AssigneeArm Limited
InventorsSyed Samin Ishtiaq, Peter Neal, John Mark Burton
Life of this patent
Estimating the term…
Abstract
A first model (10), such as a architectural level model or an instruction set simulator model makes calls to a second model (12), such as a pipeline simulator for a data processing device returning cycle count or energy consumption values. The calls to the second model are relatively slow. The system stalls the returned behavioural characteristics from the second model (12) in a memo table (14) and when a sufficient number of these have been returned with sufficiently little variation between them, then they are marked as being valid for use in place of a call to the second model (12), thus speeding up modelling.
Claims33
A method of modelling behaviour of a device following an execution path between sequence points to determine a desired behavioural characteristic, said method comprising the steps of:
- using a first model to determine from a starting state of said device defining a starting sequence point a next state of said device defining a next sequence point;
- detecting if said first model has previously modelled said device performing a modelling step of moving between said starting sequence point and said next sequence point and stored as valid said desired behavioural characteristic associated with said modelling step;
- if said desired behavioural characteristic associated with said modelling step is not stored as valid, then using a second model to model said device moving between said starting sequence point and said next sequence point to determine said desired behavioural characteristic;
- and
- if said desired behavioural characteristic associated with said modelling step is stored as valid, then using said previously determined stored behavioural characteristic without using said second model.
Apparatus for modelling behaviour of a device following a execution path between sequence points to determine a desired behavioural characteristic, said apparatus comprising:
- first model logic operable to determine from a starting state of said device defining a starting sequence point a next state of said device defining a next sequence point;
- and
- detection logic operable to detect if said first model logic has previously modelled said device performing a modelling step of moving between said starting sequence point and said next sequence point and stored as valid said desired behavioural characteristic associated with said modelling step;
- wherein
- if said desired behavioural characteristic associated with said modelling step is not stored as valid, then using second model logic to model said device moving between said starting sequence point and said next sequence point to determine said desired behavioural characteristic;
- and
- if said desired behavioural characteristic associated with said modelling step is stored as valid, then using said previously determined stored behavioural characteristic without using said second model logic.
A computer program product comprising a computer program for controlling a computer to model behaviour of a device following a execution path between sequence points to determine a desired behavioural characteristic, said computer program comprising:
- first model code operable to determine from a starting state of said device defining a starting sequence point a next state of said device defining a next sequence point;
- and
- detection code operable to detect if said first model code has previously modelled said device performing a modelling step of moving between said starting sequence point and said next sequence point and stored as valid said desired behavioural characteristic associated with said modelling step;
- wherein
- if said desired behavioural characteristic associated with said modelling step is not stored as valid, then using second model code to model said device moving between said starting sequence point and said next sequence point to determine said desired behavioural characteristic;
- and
- if said desired behavioural characteristic associated with said modelling step is stored as valid, then using said previously determined stored behavioural characteristic without using said second model code.
Dependencies are inferred from the claim text.