IP Library Granted Patent US 11,106,463
Granted Patent B2
US 11,106,463 · App. 16/421,920 · Granted Aug 31, 2021

System and method for addressing data in memory

Inventors: Timothy David Anderson (University Park, TX); Duc Quang Bui (Grand Prairie, TX); Joseph Zbiciak (San Jose, CA); Kai Chirca (Dallas, TX)
Assignee: TEXAS INSTRUMENTS INCORPORATED
G06F9/30123G06F9/30101G06F9/30134
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,106,463
App. No.
16/421,920
Granted
Aug 31, 2021
Kind
B2
Abstract

A digital signal processor having a CPU with a program counter register and, optionally, an event context stack pointer register for saving and restoring the event handler context when higher priority event preempts a lower priority event handler. The CPU is configured to use a minimized set of addressing modes that includes using the event context stack pointer register and program counter register to compute an address for storing data in memory. The CPU may also eliminate post-decrement, pre-increment and post-decrement addressing and rely only on post-increment addressing.

Claims (47)

1. A method for addressing data in a memory, the method comprising:

maintaining a program counter register;

maintaining an event context stack pointer register that is separate from the program counter register and that stores an address and a nest count associated with a set of nested interrupts, wherein an offset is based on the nest count;

receiving an event interrupt;

in response to the event interrupt, using the event context stack pointer register to save and restore event handler context;

receiving an instruction that specifies a memory address of the memory based on the address in the event context stack pointer register;

in response to the instruction, using the event context stack pointer register as a base address to access the memory; and

offsetting the address stored in the event context stack pointer register with the offset to determine the memory address, wherein the offset is selectively scaled based on a data type.

2. The method of claim 1 , wherein:

the offset is an unsigned 5-bit constant; and

the offset is scaled.

3. The method of claim 1 , wherein:

the offset is a 32-bit constant; and

the offset is not scaled.

4. A digital signal processor comprising:

a central processing unit (CPU) configured to couple to a memory, wherein:

the CPU includes a program counter register and an event context stack pointer register for saving and restoring event handler context when a higher priority event preempts a lower priority event handler; and

the CPU is configured to:

receive an instruction that specifies a memory location in the memory based on the event context stack pointer register that stores an address and a nest count associated with a set of nested interrupts, wherein an offset is based on the nest count, and wherein the offset is selectively scaled based on a data type;

use the address and the offset of the event context stack pointer register as a base address to determine the memory location; and

in response to the instruction, load or store data at the memory location in the memory.

5. The digital signal processor of claim 4 , wherein:

the offset is an unsigned 5-bit constant; and

the offset is scaled.

6. The digital signal processor of claim 4 , wherein:

the offset is a 32-bit constant; and

the offset is not scaled.

7. A digital signal processor system comprising:

a memory;

a digital signal processor coupled to the memory comprising:

a central processing unit (CPU) comprising a program counter register and an event context stack pointer register for saving and restoring event handler context when higher priority event preempts a lower priority event handler, and

wherein the event context stack point register stores an address and a nest count associated with a set of nested interrupts,

wherein an offset is based on the nest count,

wherein the offset is selectively scaled based on a data type, and

wherein the CPU is configured to use the address and the offset of the event context stack pointer register as a base address for loading or storing data in the memory at a memory address.

8. The digital signal processor system of claim 7 , wherein:

the offset is an unsigned 5-bit constant; and

the offset is scaled.

9. The digital signal processor system of claim 7 , wherein:

the offset is a 32-bit constant; and

the offset is not scaled.

10. The method of claim 1 further comprising, in response to the instruction, incrementing the address stored in the event context stack pointer register after the using of the event context stack pointer register to access the memory.

11. The method of claim 10 , wherein the instruction specifies to increment the address by an addressed element size after the using of the event context stack pointer register to access the memory.

12. The method of claim 10 , wherein the instruction specifies to increment the address by a constant after the using of the event context stack pointer register to access the memory.

13. The digital signal processor of claim 4 , wherein the instruction specifies a post-increment operation of the value of the event context stack pointer register.

14. The digital signal processor of claim 13 , wherein the instruction specifies the post-increment operation to increment the value of the event context stack pointer register by an addressed element size.

15. The digital signal processor of claim 13 , wherein the instruction specifies a constant and specifies the post-increment operation to increment the value of the event context stack pointer register by the constant.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2019
From: ANDERSON, TIMOTHY DAVID; BUI, DUC QUANG; CHIRCA, KAI; ZBICIAK, JOSEPH
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 049300/0740 →
Continuity (1)
Related Publication 20200371803A1 · Nov 26, 2020
Cited By (2)
US 12,493,467 US 12,645,457