Abstract: | A computational memory for a computer. The memory includes a memory bank
having a selected-row buffer and being configured to store records up to
a number, K. The memory also includes an accumulator connected to the
memory bank, the accumulator configured to store up to K records. The
memory also includes an arithmetic and logic unit (ALU) connected to the
accumulator and to the selected row buffer of the memory bank, the ALU
having an indirect network of 2K ports for reading and writing records in
the memory bank and the accumulator, and the ALU further physically
configured to operate as a sorting network. The memory also includes a
controller connected to the memory bank, the ALU, and the accumulator,
the controller being hardware configured to direct operation of the ALU. |