Pim computing system and pim computation offloading method thereof
AssigneesSK hynix Inc., Korea University Research and Business Foundation
InventorsSeon Wook KIM, Chang Hyun KIM, Won Joon LEE
Life of this patent
Estimating the term…
Abstract
A Processing-In-Memory (PIM) computing system and a PIM computation offloading method thereof perform PIM computation offloading using a DMA engine. The DMA engine is configured to process a transaction by respectively performing descriptor requests and PIM requests for one or more descriptors stored in a memory, in response to a memory request of a CPU. The memory includes a PIM unit and a memory array, which memory array may be a DRAM. In response to the PIM requests, the PIM unit performs PIM operations using information included in data provided to the DMA engine in response to the descriptor requests.
Claims20
A PIM computing system comprising:
- a central processing unit (CPU) configured to transmit a memory request for offloading of a processing-in-memory (PIM) computation;
- a DRAM including a memory array which stores descriptors corresponding to PIM transactions for the PIM computation as descriptors and a PIM device which performs a PIM transaction when the PIM transaction is generated, each of the descriptors including a next descriptor address, operand address information, and an opcode;
- and
- a direct memory access (DMA) engine configured to store a current descriptor address and a tail descriptor address included in the memory request, and sequentially provide a descriptor request and a PIM request for each of the descriptors stored in the DRAM sequentially selected using the first current descriptor address and the last tail descriptor address,
- wherein, in response to the descriptor request, the PIM device stores the operand address information and the opcode among descriptor information read from the DRAM by the DMA engine, and
- wherein, in response to the PIM request, the PIM device performs the PIM transaction by using the stored operand address information and opcode.
A PIM computation offloading method of a PIM computing system comprising:
- storing a current descriptor address and a tail descriptor address in a DMA engine by transmitting a memory request for offloading of a PIM computation, by a CPU;
- before the PIM computation, storing all PIM transactions for the PIM computation as descriptors in a memory array of a DRAM and registering descriptor address information in a PIM device of the DRAM, by the CPU;
- sequentially selecting the descriptors from the current descriptor address to the last tail descriptor address for the PIM computation and reading descriptor information by providing a descriptor request for a selected descriptor, by the DMA engine;
- providing operand address information and an opcode in the read descriptor information, to the PIM device, by the DMA engine;
- identifying the descriptor request and registering the operand address information and the opcode provided from the DMA engine, by the PIM device;
- providing a PIM request which generates a PIM transaction, on the basis of the read descriptor information, by the DMA engine;
- identifying the PIM request and performing the PIM transaction by using the stored operand address information and opcode, by the PIM device;
- and
- completing the PIM computation by providing the descriptor request and the PIM request for each of the descriptors from the current descriptor address to the last tail descriptor address.
Dependencies are inferred from the claim text.