Nova Patents
EP0992902A2

Dual interrupt vector mapping

Abstract

A processor (100) is provided that is a programmable digital signal processor (DSP) with variable instruction length, offering both high code density and easy programming. Architecture and instruction set are optimized for low power consumption and high efficiency execution of DSP algorithms, such as for wireless telephones, as well as pure control tasks. Two sets of interrupt vectors are maintained. Interrupts vectors pertaining to interrupts originated by one set of interrupt sources (820, 821, 822) are stored in a DSP interrupt vector table (850) located in a memory circuit 801 that is private to the DSP. Interrupt vectors pertaining to interrupts originated by a host processor (810) are stored in a Host interrupt vector table (851) located in a dual ported communication memory circuit (802). The DSP executes interrupt service routines to service all of the interrupts, but the host can change the interrupt vectors for host initiated interrupts.

EP0992902A2, drawing sheet 1
Sheet 1 of 14

Term

Term ended

Projected expiry passed 8 March 2019, 7.5 years ago.

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

10 claims: 7 independent, 3 dependent

  1. 1
    A digital system comprising a microprocessor, wherein the microprocessor is operable to respond to an interrupt request from a plurality of sources, wherein the microprocessor comprises:means for receiving a plurality of interrupt requests from the plurality of sources;means for selecting a first interrupt vector from a first memory circuit in response to a first interrupt request from a first source selected from the plurality of sources;means for selecting a second interrupt vector from a second memory circuit in response to a second interrupt request from a second source selected from the plurality of sources;wherein the second memory circuit is distinct from the first memory circuit;and means for executing a first interrupt service routine from a plurality of interrupt service routines in response to the first interrupt vector and a second interrupt service routine from the plurality of interrupt service routines in response to the second interrupt vector.
  2. 3
    The digital system according to any preceding Claim, further comprising a host processor connected to the host processor interface, wherein the host processor interface is operable to cause a different value to be stored in the second memory for the second interrupt vector in response to a first signal from the host processor, and wherein the host processor interface is operable to provide the second interrupt request in response to a second signal from the host processor.
  3. 4
    The digital system according to any preceding Claim, wherein:the means for receiving a plurality of interrupt requests comprises priority arbitration circuitry connected to receive the plurality of interrupt requests, the priority arbitration circuitry operable to provide an interrupt number to the microprocessor representative of a highest priority interrupt request of the plurality of interrupt requests;the means for selecting a first interrupt vector comprises a first pointer register connected to the microprocessor, the first pointer register operable to hold a portion of an address of the first interrupt vector;the means for selecting a second interrupt vector comprises a second pointer register connected to the microprocessor, the second pointer register operable to hold a portion of an address of the second interrupt vector;and the means for executing a first interrupt service routine comprises address circuitry connected to the first pointer, to the second pointer, and to the priority arbitration circuitry, the address circuitry operable to form an address for accessing the first memory circuit by combining the value of the first pointer and the interrupt number if the value of the interrupt number is within a first range, the address circuitry further operable to form an address for accessing the second memory circuit by combining the value of the second pointer and the interrupt number if the value of the interrupt number is within a second range.
  4. 5
    The digital system according to any preceding Claim being a cellular telephone, further comprising:an integrated keyboard (12) connected to the processor via a keyboard adapter;a display (14), connected to the processor via a display adapter;radio frequency (RF) circuitry (16) connected to the processor;and an aerial (18) connected to the RF circuitry.
  5. 6
    A method of operating a digital system comprising a microprocessor, wherein the microprocessor is operable to respond to an interrupt request from a plurality of sources, comprising the steps of:storing a first interrupt vector in a first memory circuit;storing a second interrupt vector in a second memory circuit;receiving a plurality of interrupt requests from the plurality of sources;determining an interrupt number of a highest priority interrupt request of the plurality of interrupt requests;retrieving the first interrupt vector from the first memory circuit in response to a first interrupt request from a first source selected from the plurality of sources when the first interrupt request the highest priority interrupt;executing a first interrupt service routine from a plurality of interrupt service routines in response to the first interrupt vector;retrieving the second interrupt vector from the second memory circuit in response to a second interrupt request from a second source selected from the plurality of sources when the second interrupt request is the highest priority interrupt;wherein the second memory circuit is distinct from the first memory circuit;and executing a second interrupt service routine from the plurality of interrupt service routines in response to the second interrupt vector.
  6. 8
    The method according to any of Claims 6-7, wherein the first range and the second range are determined by accessing a range table stored in a third memory circuit.
  7. 9
    The method according to any of Claims 6-8, wherein the second source is a host processor;and    wherein the step storing a second interrupt vector comprises storing the second interrupt vector in the second memory circuit in response to memory transaction initiated by the host processor.