Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof
AssigneeSamsung Electronics Co., Ltd.
InventorsHae-Woo Park, Suk-Jin Kim
Life of this patent
Estimating the term…
Abstract
An apparatus and method for sharing a function logic between functional units and a reconfigurable processor are provided. The apparatus for sharing a function logic may include a storage which is configured to store data which is received from two or more functional units in order to share one or more function logics, and an arbitrator which is configured, based on a scheduling rule, to transmit the data stored in the storage into the function logic.
Claims19
An apparatus for sharing a function logic, the apparatus comprising:
- a storage which is configured to store data which is received from at least two functional units in order to share at least one function logic;
- and
- an arbitrator which is implemented as a processor and which is configured to transmit the stored data to each of the at least one function logic, based on a scheduling rule,
- wherein each of the at least one function logic is configured to perform a same operation with respect to each data which is received from the at least two functional units, and
- wherein the apparatus further comprises an output device which is configured to temporarily store, in a buffer, at least one result obtained by the at least one function logic and, based on the scheduling rule, to delay an outputting of the obtained at least one result for a predetermined amount of time, and to output the obtained at least one result after the predetermined amount of time passes,
- wherein each functional unit of the at least two functional units belongs to a respective functional unit group of at least two functional unit groups, and
- wherein a first functional unit group and a second functional unit group of the at least two functional unit groups are configured to concurrently process a first task and a second task, respectively.
A reconfigurable processor comprising:
- a plurality of functional units;
- at least two queues which are respectively configured to store data which is received from a corresponding one of at least two functional units from among the plurality of functional units, the at least two functional units being connected in order to share at least one function logic;
- an arbitrator which is configured to transmit the stored data to the at least one function logic, based on a scheduling rule;
- and
- an output device which is configured to transmit at least one result which is obtained by the at least one or more function logic via processing the data which is transmitted by the arbitrator to each of the at least two functional units,
- wherein each of the at least one function logic is configured to perform a same operation with respect to data which is received from the at least two functional units, and
- wherein the output unit is further configured to temporarily store, in a buffer, the obtained at least one result and, based on a scheduling rule, to delay the transmission of the obtained at least one result for a predetermined amount of time, and to output the obtained at least one result after the predetermined amount of time passes, and
- wherein each functional unit of the at least two functional units belongs to a respective functional unit group of at least two functional unit groups, and
- wherein a first functional unit group and a second functional unit group of the at least two functional unit groups are configured to concurrently process a first task and a second task, respectively.
A method for sharing a function logic, the method comprising:
- storing data, which is received from at least two functional units in order to share at least one function logic, in a respective one of at least two queues which correspond to the at least two functional units;
- and
- transmitting the stored data to the at least one function logic based on a scheduling rule,
- wherein each of the at least one function logic is configured to perform a same operation with respect to each data which is received from the at least two functional units,
- wherein the method further comprises temporarily storing at least one result obtained by the at least one function logic and applying the scheduling rule to determine a delay time for the temporary storage of the obtained at least one result and a corresponding transmission time for transmitting the obtained at least one result, based on the scheduling rule, to delay an outputting of the obtained at least one result, and to output the obtained at least one result after the predetermined amount of time passes, and
- wherein each functional unit of the at least two functional units belongs to a respective functional unit group of at least two functional unit groups, and
- wherein a first functional unit group and a second functional unit group of the at least two functional unit groups are configured to concurrently process a first task and a second task, respectively.
A function-executing apparatus, comprising:
- an arbitration processor which is configured to access first data which is received from a first functional unit and to access second data which is received from a second functional unit;
- a function processor which is configured to receive the first data and the second data from the arbitration processor and to execute a function with respect to the received first data and the received second data, wherein the function processor is further configured to execute a same function with respect to the received first data and the received second data;
- and
- an output device which is configured to receive at least one result of the executed function from the function processor and to output the received at least one result,
- wherein the arbitration processor is further configured to determine an order for transmission of the first data and the second data to the function processor based on a scheduling rule, and
- wherein the output device is further configured to temporarily store, in a buffer, the received at least one result and, based on the scheduling rule, to delay a transmission of the obtained at least one result for a predetermined amount of time, and to output the obtained at least one result after the predetermined amount of time passes, and
- wherein the function-executing apparatus further comprises a first queue which is configured to store the first data and a second queue which is configured to store the second data, and wherein the arbitration processor is further configured to access the first data from the first queue at a first time based on the scheduling rule, and to access the second data from the second queue at a second time based on the scheduling rule.
A method for executing a function, the method comprising:
- receiving first data from a first functional unit and receiving second data from a second functional unit;
- determining an order for processing each of the received first data and the received second data based on a scheduling rule;
- executing the function with respect to the received first data and the received second data based on the determined order for processing, wherein the executing comprises performing a same operation with respect to the received first data and the received second data;
- obtaining at least one result of the executed function;
- and
- temporarily storing, in a buffer, the obtained at least one result and, based on the scheduling rule, delaying an outputting of the obtained at least one result for a predetermined amount of time, and outputting the obtained at least one result after the predetermined amount of time passes,
- wherein the outputting the obtained at least one result comprises applying the scheduling rule to determine a transmission time for transmitting the obtained at least one result, and
- wherein the method further comprises storing the first data in a first queue and storing the second data in a second queue, and wherein the determining the order for processing comprises applying the scheduling rule to determine a first delay which relates to a timing for processing the first data and a second delay time which relates to a timing for processing the second data.
Dependencies are inferred from the claim text.