# US 8,751,703 B2 · Interrupt event management

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,703 B2
- Document ID: US8751703B2
- Status: Granted
- Kind: B2
- Application number: 13/356,041
- Filed: 2012-01-23
- Published: 2013-06-27
- Granted: 2014-06-10
- Earliest claimed: 2011-12-23
- Assignees: Broadcom Corporation
- Applicants: Ari Petteri Hatula; Mika Tapani Lehtonen
- Inventors: Ari Petteri Hatula; Mika Tapani Lehtonen
- Web page: https://patentgrep.com/patent/US8751703B2

## CPC

- G06F 9/327: {for interrupts}
- H04B 1/0003: {Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain (digital baseband systems H04L25/00; digital modulation/demodulation H04L27/00; CDMA H04B1/707; TDMA H04B7/2643; image transmission H04N5/00)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04B: TRANSMISSION

## Abstract

An interrupt management apparatus is provided for managing interrupt events generated by, for example, peripheral devices and computing modules. The interrupt management apparatus has an event decoder for receiving one or more interrupt signals from one or more interrupt sources and for decoding a received interrupt signal to produce control data relating to an interrupt event. The apparatus also has a sequence memory for storing one or more sequences, a sequence including one or more steps for handling one or more interrupt events, and one or more sequencers for interpreting one or more steps of a sequence stored in the sequence memory, the one or more sequencers being arranged to receive said control data from the event decoder. This enables the apparatus to manage said interrupt events without assistance from a central processing unit.

## Claims

### Claim 1

An interrupt management apparatus comprising:
an event decoder for receiving one or more interrupt signals from one or more interrupt sources and decoding a received interrupt signal to produce control data relating to an interrupt event;
a sequence memory for storing one or more sequences, a sequence comprising one or more steps for handling one or more interrupt events; and
one or more sequencers for receiving said control data from the event decoder, retrieving one or more steps of a sequence from the sequence memory based on the received control data, and interpreting the retrieved one or more steps.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the event decoder is arranged to implement a mapping between a received interrupt signal and a sequence stored in the sequence memory, the control data indicating a start address of said sequence.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein the mapping is configurable.

### Claim 4 (depends on 2)

The apparatus of claim 2, wherein a sequencer is arranged to retrieve a sequence from the sequence memory based on said mapping before interpreting said sequence.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein a sequencer comprises:
a step decoder comprising:
a command decoder for decoding one or more commands in a step from a sequence; and
one or more registers for storing one or more respective variables.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein the one or more sequencers are arranged to interpret a step comprising at least a variable storage operation involving said one or more registers.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein a sequencer comprises: an access controller for controlling access to at least one of the sequence memory and a data bus.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the one or more sequencers are arranged to interpret a step comprising at least one of the following operations:
a loop command for a sequence;
a branch command for a sequence; and
an arithmetic computation.

### Claim 9 (depends on 1)

The apparatus of claim 1, wherein the apparatus forms part of a system with one or more processing units, the event decoder being arranged to receive said one or more interrupt signals from said one or more interrupt sources on behalf of one or more processing units.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the one or more sequencers are arranged to interpret a step comprising at least an input/output (I/O) operation involving one of a memory or said one or more processing units.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the one or more sequencers are arranged to interpret a step comprising at least an operation for generating a further interrupt signal, said further interrupt signal to be sent to one of said one or more processing units.

### Claim 12 (depends on 9)

The apparatus of claim 9, wherein one or more sequences are loaded into the sequence memory by a central processing unit or a direct memory access controller.

### Claim 13 (depends on 11)

The apparatus of claim 11, wherein said central processing unit comprises one of said one or more processing units.

### Claim 14 (depends on 12)

The apparatus of claim 12, wherein the sequence memory has an interface for coupling the sequence memory to a control bus.

### Claim 15 (depends on 1)

The apparatus of claim 1, wherein a sequencer comprises an interface for coupling the sequencer to a respective master port.

### Claim 16 (depends on 1)

The apparatus of claim 1, comprising an arbiter for coupling a plurality of sequencers to one or more master ports.

### Claim 17 (depends on 1)

The apparatus of claim 1, comprising:
a plurality of sequencers arranged to interpret a respective plurality of sequences in parallel.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein at least a first sequencer is coupled to a first computing module and at least a second sequencer is coupled to a second computing module, the event decoder being arranged to receive interrupt signals from both of said first and second computing modules.

### Claim 19

A computing module comprising:
an apparatus comprising:
an event decoder for receiving one or more interrupt signals from one or more interrupt sources and decoding a received interrupt signal to produce control data relating to an interrupt event;
a sequence memory for storing one or more sequences, a sequence comprising one or more steps for handling one or more interrupt events; and
one or more sequencers for receiving said control data from the event decoder, retrieving one or more steps of a sequence from the sequence memory based on the received control data, and interpreting the retrieved one or more steps; and
a module interface coupled to said one or more sequencers and said sequence memory, the module interface being arranged to send and/or receive data over a data bus.

### Claim 20 (depends on 19)

The computing module of claim 19, wherein the computing module comprises a telecommunication module or a modem.

### Claim 21

A computing system comprising:
one or more central processing units; and
an apparatus comprising:
an event decoder for receiving one or more interrupt signals from one or more interrupt sources and decoding a received interrupt signal to produce control data relating to an interrupt event;
a sequence memory for storing one or more sequences, a sequence comprising one or more steps for handling one or more interrupt events; and
one or more sequencers for receiving said control data from the event decoder, retrieving one or more steps of a sequence from the sequence memory based on the received control data, and interpreting the retrieved one or more steps,
the event decoder of said apparatus being arranged to receive one or more interrupt signals from one or more interrupt sources on behalf of said one or more central processing units.

### Claim 22 (depends on 21)

The computing system of claim 21, comprising:
a peripheral device or a component module coupled to the event decoder of said apparatus, the peripheral device or component module being arranged to send an interrupt signal to said event decoder.

### Claim 23

A method for managing interrupt events comprising:
receiving, by an event decoder, one or more interrupt signals from one or more interrupt sources;
decoding, by the event decoder, a received interrupt signal to produce control data relating to an interrupt event;
receiving, by one or more sequencers, said control data from the event decoder;
retrieving, by the one or more sequencers, one or more steps of a sequence from a sequence memory, the sequence memory for storing one or more sequences, a sequence comprising one or more steps for handling one or more interrupt events; and
interpreting, by the one or more sequencers, said retrieved one or more steps.
