Branch searching to prioritize received interrupt signals
AssigneeArm Limited
InventorsHedley James Francis, Dominic Hugo Symes
Life of this patent
Estimating the term…
Abstract
A data processing system 2 for identifying the highest priority source signal from a plurality of signals each controlling the setting of a bit of a status word held within a status register 10 using programmable mask words. The mask words are used in a branch search strategy to successively narrow the possibilities for the highest priority bit at each search level until a single bit within the status word is identified corresponding to the highest priority interrupt signal. The programmable masks may be programmed for a particular configuration of the priorities of the respective bits within the status word. The branch search strategy provides a reduced maximum interrupt latency and improved predictability in the interrupt latency.
Claims14
Apparatus for processing data, said apparatus comprising:
- (i) an signal receiving circuit coupled to a plurality of signal sources, said signal receiving circuit providing a signal status word, one or more bits of said signal status word indicating whether a respective signal source has asserted a signal;
- and
- (ii) signal prioritising logic for reading said signal status word and identifying, using a branch search having a plurality of search levels, in accordance with a predetermined priority ordering, a highest priority signal source indicated by said signal status word as having asserted a signal;
- wherein
- (iii) said signal prioritising logic searches said signal status word using one or more programmable mask words that are combined with said signal status word to generate a result indicative of said highest priority signal source;
- and
- (iv) changing said one or more programmable mask words changes said predetermined priority ordering.
A method of processing data, said method comprising the steps of:
- (i) generating a signal status word, one or more bits of said signal status word indicating whether a respective signal source has asserted a signal;
- and
- (ii) reading said signal status word and identifying, using a branch search having a plurality of search levels, in accordance with a predetermined priority ordering, a highest priority signal source indicated by said signal status word as having asserted a signal;
- and
- (iv) searching said signal status word using one or more programmable mask words that are combined with said signal status word to generate a result indicative of said highest priority signal source;
- wherein
- (v) changing said one or more programmable mask words changes said predetermined priority ordering.
Apparatus for processing data, said apparatus comprising:
- (i) a signal receiving circuit coupled to a plurality of signal sources, said signal receiving circuit providing a signal status word, one or more bits of said signal status word indicating whether a respective signal source has asserted a signal;
- and
- (ii) signal prioritising logic for reading said signal status word and identifying, using a branch search having a plurality of search levels, in accordance with a predetermined priority ordering, a highest priority signal source indicated by said signal status word as having asserted a signal;
- wherein
- (iii) said signal prioritising logic searches said signal status word using one or more programmable mask words that are combined with said signal status word to generate a result indicative of said highest priority signal source;
- and
- (iv) changing said one or more programmable mask word changes said predetermined priority ordering, wherein each level of said branch search serves to identify a reduced number of said plurality of signal source as candidates for being said highest priority signal source, a lowest level of said branch search serving to resolve a particular one of said plurality of signal sources as said highest priority signal source, wherein which programmable mask used at each search level is independent of search results from one or more preceding search levels and said signal status word is modified at each search level in dependence upon search results from a preceding search level.
A method of processing data, said method comprising the steps of:
- (i) providing a signal status word from a signal receiving circuit coupled to a plurality of signal sources, and one or more bits of said signal status word indicating whether a respective signal source has asserted a signal;
- and
- (ii) reading said signal status word and identifying, using a branch search having a plurality of search levels, in accordance with a predetermined priority ordering, a highest priority signal source indicated by said signal status word as having asserted a signal;
- (iii) searching said signal status word using one or more programmable mask words that are combined with said signal status word and generating a result indicative of said highest priority signal source;
- and
- (iv) changing said one or more programmable mask word changes said predetermined priority ordering, wherein each level of said branch search serves to identify a reduced number of said plurality of signal source as candidates for being said highest priority signal source, a lowest level of said branch search serving to resolve a particular one of said plurality of signal sources as said highest priority signal source;
- wherein which programmable mask used at each search level is independent of search results from one or more preceding search levels and said signal status word is modified at each search level in dependence upon search results from a preceding search level.
Dependencies are inferred from the claim text.