Systems and methods for integer-to-floating-point data transfers
Abstract
A disclosed method for integer-to-floating-point data transfers includes intercepting, by a scheduler of a register file, a unit of register data from an external computing resource. The method also includes sorting, by the scheduler, the unit of register data into a first-in, first-out queue. Additionally, the method includes selecting, by the scheduler, a port of the register file based on a review of existing data pipelines to the register file. Furthermore, the method includes injecting, by the scheduler, the unit of register data into a data pipeline of the selected port, wherein the unit of register data is held in the first-in, first-out queue until previous register data is processed. Various other methods, devices, and systems are also disclosed.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method comprising:
intercepting, by a scheduler of a register file, a unit of register data from an external computing resource; sorting, by the scheduler, the unit of register data into a first-in, first-out (FIFO) queue; selecting, by the scheduler, a port of the register file based on a review of existing data pipelines to the register file; and injecting, by the scheduler, the unit of register data into a data pipeline of the selected port, wherein the unit of register data is held in the FIFO queue until previous register data is processed.
2 . The method of claim 1 , wherein the register file comprises at least one floating-point register.
3 . The method of claim 1 , wherein the unit of register data comprises integer data from at least one integer register.
4 . The method of claim 1 , wherein intercepting the unit of register data comprises:
monitoring a set of register file load ports; and intercepting incoming transaction data from the set of register file load ports.
5 . The method of claim 1 , wherein sorting the unit of register data into the FIFO queue comprises at least one of:
adding the unit of register data to an end of the FIFO queue; and processing a previous unit of register data from a head of the FIFO queue.
6 . The method of claim 1 , wherein selecting the port of the register file comprises at least one of:
selecting a preferred write port of the register file; and selecting an alternative port of the register file with a lower priority than the preferred write port.
7 . The method of claim 6 , wherein selecting the preferred write port of the register file comprises at least one of:
selecting the preferred write port to send the unit of register data to the register file based on detecting no possible collision with existing data traffic at a data pipeline of the preferred write port; and selecting the preferred write port to send the unit of register data to the register file based on:
detecting possible collisions with the existing data traffic at each data pipeline of each write port in a set of write ports of the register file; and
determining that a duration of the unit of register data in the FIFO queue exceeds a predetermined limit.
8 . The method of claim 7 , wherein the predetermined limit comprises at least one of:
a depth of the FIFO queue, wherein the depth is calculated based on a longest latency of the preferred write port; and a preset time limit to force a timeout of the unit of register data.
9 . The method of claim 7 , further comprising:
determining that the duration of the unit of register data in the FIFO queue does not exceed the predetermined limit; and performing an additional review of the existing data pipelines to the register file during a clock cycle of the scheduler.
10 . The method of claim 6 , wherein selecting the alternative port of the register file comprises:
detecting a possible collision with existing data traffic at the data pipeline of the preferred write port; identifying an available port with a next highest priority; detecting no possible collision at a data pipeline of the available port; and selecting the available port based on the next highest priority and detecting no possible collision at the data pipeline of the available port.
11 . The method of claim 1 , wherein injecting the unit of register data into the data pipeline of the selected port comprises at least one of:
sending the unit of register data to the selected port through the data pipeline, wherein the data pipeline is available; holding existing data traffic at the data pipeline, wherein the data pipeline is unavailable; and injecting the unit of register data to bypass the existing data traffic.
12 . The method of claim 11 , wherein injecting the unit of register data to bypass the existing data traffic comprises at least one of:
bypassing the existing data traffic from the selected port during a floating-point writeback process; and bypassing the existing data traffic from the selected port during a floating-point write pre-decode process.
13 . The method of claim 12 , wherein injecting the unit of register data into the data pipeline comprises multiplexing the register data with the existing data traffic during the floating-point write pre-decode process.
14 . An integrated circuit comprising:
a register file; a first-in, first-out (FIFO) queue electronically connected to a set of data pipelines to a set of write ports of the register file; and a scheduler electronically connected to the FIFO queue and configured to:
intercept a unit of register data from an external computing resource;
sort the unit of register data into the FIFO queue;
select a port of the register file based on a review of the set of data pipelines to the register file; and
inject the unit of register data into a data pipeline of the selected port, wherein the unit of register data is held in the FIFO queue until previous register data is processed.
15 . The integrated circuit of claim 14 , wherein the unit of register data comprises an integer-to-floating-point data transaction.
16 . The integrated circuit of claim 14 , wherein the scheduler is electronically connected to the set of data pipelines to the register file such that the scheduler intercepts the unit of register data from the set of data pipelines.
17 . The integrated circuit of claim 14 , further comprising a multiplexer that injects the unit of register data into the data pipeline by multiplexing the unit of register data with existing data traffic of the data pipeline during a floating-point write pre-decode process.
18 . A system comprising:
at least one computing resource; and an integrated circuit connected to the at least one computing resource by at least one bus, wherein the integrated circuit comprises:
a register file;
a buffer electronically connected to a set of buses to a set of write ports of the register file and comprising a first-in, first-out (FIFO) queue; and
a scheduler of the register file electronically connected to the buffer and configured to:
intercept a unit of register data from the at least one computing resource;
sort the unit of register data into the FIFO queue;
select a port of the register file based on a review of the set of buses to the set of write ports of the register file; and
inject the unit of register data into a bus of the selected port, wherein the unit of register data is held in the buffer until previous register data is processed.
19 . The system of claim 18 , wherein the at least one computing resource shares the set of write ports with at least one alternate computing resource such that:
the at least one computing resource is electronically connected to the set of write ports; and the at least one alternate computing resource is connected to the set of write ports.
20 . The system of claim 18 , further comprising at least one resource scheduler of the at least one computing resource, wherein the scheduler of the register file is not electronically connected to the at least one resource scheduler.Join the waitlist — get patent alerts
Track US2026086963A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.