EP0933705A2

Data processor with robust interrupt branching and method of operation

Abstract

An interrupt service table pointer (ISTP) facilitates fast branching to interrupt service routines. An interrupt service table base (ISTB) field establishes a base address at which one or more routines reside in memory. A highest priority enabled interrupt (HPEINT) field identifies an interrupt to service. The concatenation of the ISTB, the HPEINT, and one or more least significant zeros points to the first instruction of a group of instructions which service a specific interrupt. The ISTB is user programmable. The HPEINT is automatically calculated each cycle by the data processor incorporating the ISTP.

EP0933705A2, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Projected expiry passed 2 February 2019, 7.6 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

10 claims: 5 independent, 5 dependent

  1. 1
    A data processor comprising a register, the data processor operable to fetch instructions at the address specified by the register in the event of an interrupt, the register comprising:a first field, user programmable to store most significant bits of an address;anda second field storing the a representation of a highest priority interrupt of a plurality of interrupts asserted during a predetermined time interval.
  2. 2
    A data processor comprising:fetch logic for fetching instructions to execute;data path logic coupled to the fetch logic, the data path logic executing the instructions;an interrupt service table pointer further comprising;an interrupt service table base field, user programmable to store most significant bits of an address;a highest priority interrupt field;interrupt field logic coupled to the highest priority interrupt field, the interrupt field logic storing a representation of a highest priority interrupt of a plurality of interrupts during a predetermined time interval;andcontrol logic coupled to the fetch logic and to the interrupt service table pointer, the control logic supplying an address of an interrupt service routine to the fetch logic responsive to an assertion of an interrupt, the address logical equivalent to the contents of the interrupt service table pointer.
  3. 6
    A method of operating a data processor comprising the steps of:during a first time interval,storing most significant bits of an address into a first field of a register;during a second time interval,receiving a plurality of interrupts in the data processor;determining a highest priority interrupt of the plurality of interrupts;storing a representation of the highest priority interrupt into a second field of the register;andexecuting an instruction addressed by a concatenation of the first field and the second field.
  4. 9
    The method of Claims 6,7 or 8, wherein the step of determining further comprises the step of determining a highest priority enabled interrupt of the plurality of interrupts.
  5. 10
    The method of Claims 6,7,8 or 9, wherein the step of executing further comprises the step of executing an instruction addressed by a concatenation of the first field, the second field, and at least one zero.