Computational memory
Abstract
An example device includes a plurality of computational memory banks. Each computational memory bank of the plurality of computational memory banks includes an array of memory units and a plurality of processing elements connected to the array of memory units. The device further includes a plurality of single instruction, multiple data (SIMD) controllers. Each SIMD controller of the plurality of SIMD controllers is contained within at least one computational memory bank of the plurality of computational memory banks. Each SIMD controller is to provide instructions to the at least one computational memory bank.
Claims
exact text as granted — not AI-modified1 . A device comprising:
a plurality of computational memory banks, each computational memory bank of the plurality of computational memory banks including an array of memory units and a plurality of processing elements connected to the array of memory units; and a plurality of single instruction, multiple data (SIMD) controllers, each SIMD controller of the plurality of SIMD controllers being contained within at least one computational memory bank of the plurality of computational memory banks; each SIMD controller to provide instructions to the at least one computational memory bank.
2 . The device of claim 1 , further comprising a bus connecting the plurality of processing elements within a computational memory bank of the plurality of computational memory banks.
3 . The device of claim 2 , wherein the bus is connected to a SIMD controller of the computational memory bank, and wherein the bus is configured to carry opcodes to the plurality of processing elements.
4 . The device of claim 2 , wherein the bus is segmented.
5 . The device of claim 1 , further comprising a plurality of busses, each bus operable to unidirectionally or bidirectionally communicate information among any of the SIMD controller and the plurality of processing elements, wherein at least one of the busses is segmented and at least another of the busses is not segmented.
6 . The device of claim 1 , further comprising a bus connecting processing elements of a computational memory bank of the plurality of computational memory banks to processing elements of another computational memory bank of the plurality of computational memory banks.
7 . The device of claim 6 , wherein the bus is segmented.
8 . The device of claim 1 , further comprising a plurality of busses, each bus operable to unidirectionally or bidirectionally communicate information among any of the computational memory banks, wherein at least one of the busses is segmented and at least another of the busses is not segmented.
9 . The device of claim 1 , wherein each SIMD controller is contained within a different one computational memory bank of the plurality of computational memory banks.
10 . The device of claim 1 , wherein a SIMD controller of the plurality of SIMD controllers is contained within at least two of the computational memory banks of the plurality of computational memory banks.
11 . The device of claim 1 further comprising a bus connecting the plurality of SIMD controllers.
12 . The device of claim 1 , further comprising an input/output circuit connected to the plurality of SIMD controllers.
13 . The device of claim 1 , wherein each processing element of the plurality of processing elements includes static registers and an arithmetic logic unit (ALU) to perform operations with the static registers.
14 . The device of claim 13 , wherein the ALU includes multiple levels of multiplexers.
15 . The device of claim 13 , further comprising a bus connecting the plurality of processing elements and the SIMD controller within a computational memory bank, the bus to deliver operand selections from the SIM controller to the ALU of each processing element.
16 . The device of claim 13 , further comprising a bus connecting the plurality of processing elements and the SIMD controller within a computational memory bank, the bus to communicate a function to the ALU of each processing element.
17 . The device of claim 13 , wherein each processing element is to receive communicated state from static registers of another processing element, the ALU to perform operations with the static registers and the communicated state.
18 . The device of claim 13 , further comprising communications registers that are slaved to the static registers, the communications registers to provide communicated state to another processing element.
19 . The device of claim 17 , further comprising at least one direct connection between each processing element and at least another processing element of the plurality of processing elements.
20 . The device of claim 19 , wherein the at least one direction connection is to provide the communicated state.Join the waitlist — get patent alerts
Track US2023229450A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.