IP Library › Granted Patent US 11,461,097
Granted Patent B2
US 11,461,097 · App. 17/149,936 · Granted Oct 4, 2022

Content-addressable processing engine

Inventors: José F. Martínez (Ithaca, NY); Helena Caminal (Ithaca, NY); Kailin Yang (Ithaca, NY); Khalid Al-Hawaj (Ithaca, NY); Christopher Batten (Ithaca, NY)
Assignee: CORNELL UNIVERSITY
G06F9/30036G06F9/3001G06F9/3004
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,461,097
App. No.
17/149,936
Granted
Oct 4, 2022
Kind
B2
Abstract

A content-addressable processing engine, also referred to herein as CAPE, is provided. Processing-in-memory (PIM) architectures attempt to overcome the von Neumann bottleneck by combining computation and storage logic into a single component. CAPE provides a general-purpose PIM microarchitecture that provides acceleration of vector operations while being programmable with standard reduced instruction set computing (RISC) instructions, such as RISC-V instructions with standard vector extensions. CAPE can be implemented as a standalone core that specializes in associative computing, and that can be integrated in a tiled multicore chip alongside other types of compute engines. Certain embodiments of CAPE achieve average speedups of 14× (up to 254×) over an area-equivalent out-of-order processor core tile with three levels of caches across a diverse set of representative applications.

Claims (32)

1. A content-addressable processing engine (CAPE) configured to execute a program having scalar operations and vector operations according to a CAPE instruction set architecture (ISA), the CAPE comprising:

a control processor configured to execute the scalar operations; and

a compute-storage block (CSB) which is a co-processor of the control processor and comprises an array of content-addressable parallel processing memories, wherein the CSB is configured to decode and carry out the vector instructions in situ via sequences of content-addressable memory operations without assistance from arithmetic logic units (ALUs);

wherein the vector instructions reference program data within the CSB according to a predetermined list of available vector register identifiers specified in the CAPE ISA.

2. The CAPE of claim 1 , wherein the array of content-addressable parallel processing memories in the CSB comprises a plurality of subarrays, each subarray comprising rows of content-addressable memories.

3. The CAPE of claim 2 , wherein each row in one of the plurality of subarrays corresponds to a different bit of a vector element.

4. The CAPE of claim 1 , further comprising a vector memory unit (VMU) configured to interface with a memory external to the CAPE.

5. The CAPE of claim 4 , wherein load and store instructions route to the CSB through the VMU.

6. The CAPE of claim 1 , further comprising a vector control unit (VCU) configured to generate signal sequences for the CSB to execute the vector operations.

7. The CAPE of claim 6 , wherein non memory-access instructions route to the CSB through the VCU.

8. An integrated circuit, comprising:

a content-addressable processing engine (CAPE) comprising an array of content-addressable parallel processing memories;

wherein:

the CAPE is configured to execute processing instructions comprising instructions for executing vector operations according to a CAPE instruction set architecture (ISA); and

the CAPE is configured to decode and carry out the instructions for executing vector operations in situ via sequences of content-addressable memory operations without assistance from arithmetic logic units (ALUs).

9. The integrated circuit of claim 8 , wherein the CAPE is programmable using reduced instruction set computing (RISC) instructions.

10. The integrated circuit of claim 9 , wherein the CAPE is programmable using RISC-V or later instructions.

11. The integrated circuit of claim 8 , wherein:

the integrated circuit is a multi-core processor; and

the CAPE comprises a first core of the multi-core processor.

12. The integrated circuit of claim 11 , wherein the multi-core processor is configured to cause the CAPE to operate in a memory-only mode providing on-chip memory for other cores of the multi-core processor.

13. The integrated circuit of claim 11 , further comprising a central processing unit (CPU) core.

14. The integrated circuit of claim 11 , further comprising a graphic processing unit (GPU) core.

15. The integrated circuit of claim 8 , wherein the CAPE is configured to perform a first vector operation and a first scalar operation in parallel if there is no data dependency between the first vector operation and the first scalar operation.

16. A method for executing a program using parallel processing in a content-addressable processing engine (CAPE) according to a CAPE instruction set architecture (ISA), the method comprising:

receiving, at the CAPE, a set of processing instructions described by a general instruction set;

executing scalar operations from the set of processing instructions; and

decoding vector instructions from the set of processing instructions and executing corresponding vector operations in situ via content-addressable memory operations by an array of content-addressable parallel processing memories;

wherein the vector instructions reference program data according to a predetermined list of available vector register identifiers specified in the CAPE ISA.

17. The method of claim 15 , further comprising:

generating signal sequences for operating the array of content-addressable parallel processing memories from the vector instructions described by the general instruction set; and

performing search and update operations using the signal sequences in a bit-parallel fashion across the array of content-addressable parallel processing memories.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2022
From: MARTÍNEZ, JOSÉ F.; CAMINAL, HELENA; YANG, KAILIN; AL-HAWAJ, KHALID; BATTEN, CHRISTOPHER
To: CORNELL UNIVERSITY
Reel/Frame 058968/0102 →
Continuity (1)
Related Publication 20220229663A1 · Jul 21, 2022