US9753769B2

Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof

Summary by NHIP

Logic sharing in reconfigurable processors

The apparatus stores data from multiple functional units and transmits it to shared logic based on a scheduling rule. An arbitrator processor manages transmission while an output device buffers results for a predetermined delay before release. Functional units belong to groups that concurrently process separate tasks within a reconfigurable processor.

Claim Score by NHIP

Read claim 17, the broadest

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.

US9753769B2, drawing sheet 1
Sheet 1 of 9

Term

7.6 yearsleft in the term

Expires 4 May 2034, including 102 days of term adjustment.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

19 claims: 5 independent, 14 dependent

  1. 1
    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.
  2. 7
    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.
  3. 9
    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.
  4. 13
    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.
  5. 17
    Broadest claimClaim Score 41, average(NHIP)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.