Browse Prior Art Database

Programmable Direct Forwarding of Execution Results as New Operand Values with Updated Tags

IP.com Disclosure Number: IPCOM000240706D
Publication Date: 2015-Feb-19
Document File: 3 page(s) / 40K

Publishing Venue

The IP.com Prior Art Database

Abstract

Programmable drect forwarding of execution results as new operand values

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 3

Programmable Direct Forwarding of Execution Results as New Operand Values with Updated Tags

    Disclosed is a method for programming whether the execution result of an operation executed by a functional unit in a near-memory computing device, has to be used as an operand for a consecutive operation by the same or another functional unit, while also indicating which operand it will become for that operation and whether that (intermediate) execution result also has to be stored inside the memory of the device.

    The presented idea relates to a near-memory computing device that is based on the concept of a decoupled architecture comprised of an access processor that is integrated into the memory system, and which controls all the memory related functions, including address generation, address mapping, and memory access scheduling. The data is retrieved from the memory under control of the access processor after which it is transferred as operand data to a functional unit, denoted as execution processor, which performs operations on that operand data and sends the execution results back to the access processor which will write these execution results back into the memory. This concept involves the use of tags to identify data that is transferred from the memory to the execution processor(s) (as operand data) and that is transferred back from the execution processor(s) to the access processor (as execution results). These tags allow the execution processor(s) to identify for each data element which operand value it is, and which operand values belong together
(i.e., are involved in the same operation). The tags also allow the access processor to identify the individual execution results that are received from the execution processor(s) and where these have to be written into the memory.

    For the latter purpose, the access processor will typically precalculate the addresses of the memory locations where the execution result data has to be written. These precalculated addresses are stored in a so called write-command table which is indexed using the tags associated with the execution result data that the access processor receives from the execution processors. This data is then written into the memory locations corresponding to the addresses stored in the index table entries, under control of the access processor (e.g. as soon as a free access slot occurs).

    Many applications involve the reuse of the execution results as operand values in consecutive operations. To efficiently support this, the execution processor could be programmed to store the reused execution results in...