IP Library Granted Patent US 12,613,698
Granted Patent B2
US 12,613,698 · App. 18/609,945 · Granted Apr 28, 2026

Apparatus and method for hiding vector load latency in a time-based vector coprocessor

Inventors: David Witt (Bulverde, TX); Thang Minh Tran (Austin, TX)
Assignee: Simplex Micro, Inc.
G06F9/30036G06F9/30043G06F9/3016G06F9/3836G06F9/3838G06F9/3861G06F9/3877G06F15/8053
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,613,698
App. No.
18/609,945
Granted
Apr 28, 2026
Kind
B2
Abstract

A processor includes a time counter and a vector coprocessor for executing vector instructions for statically dispatching vector instructions with preset execution times based on a write time of a register in a coprocessor register scoreboard and a time counter provided to a vector execution pipeline. The processor also provides a method for hiding the latency of the vector load instructions.

Claims (79)

1 . A vector coprocessor that processes vector instructions and that is coupled to a processor that executes instructions in accordance with a processor time count representing a current time of the processor, wherein the processor time count is incremented with each clock cycle of a clock unit, the vector instructions including a first committed vector load instruction, received from the processor, the vector coprocessor including hardware that comprises:

a vector time counter generating a vector time count representing a current time of the vector coprocessor, wherein the vector time count is incremented with each clock cycle of the clock unit;

a vector functional unit, among a plurality of vector functional units, that processes vector load data in accordance with the first committed vector load instruction;

a vector load-store buffer coupled to the vector time counter and comprising a plurality of entries wherein an entry is reserved to receive the vector load data and at a schedule time which is a first future time in reference to the vector time count, to write the vector load data to a vector register file; and

wherein the vector load-store buffer causes the vector time counter to freeze counting if the vector load data is not received at the schedule time.

2 . The vector coprocessor of claim 1 wherein the vector load-store buffer unfreezes counting by the vector time counter upon receiving of the vector load data.

3 . The vector coprocessor of claim 1 wherein the vector load-store buffer comprises a circular buffer with a write pointer that is incremented and wrapped around to a first entry, wherein each entry of the vector load-store buffer is identified by an entry number, and wherein the entry number pointed to by the write pointer is employed by the vector load-store buffer as a bus request ID to external memory.

4 . The vector coprocessor of claim 1 wherein the vector load-store buffer includes a register free list to assign a free entry to a new vector load instruction or a new vector store instruction and to reclaim the free entry upon deallocation by the vector load-store buffer.

5 . The vector coprocessor of claim 4 further comprising:

a vector register scoreboard that contains a first write time of a first vector register in the vector register file, wherein the first write time represents a first future time relative to the vector time count; and

vector time-resource matrix circuitry that is coupled to the vector register scoreboard and the vector time counter and that stores information relating to vector resources that are available for at least some vector time counts of the vector time counter, and wherein the vector resources include at least one of: a plurality of vector read buses, a plurality of vector write buses, and a plurality of vector functional units; and

vector coprocessor issue circuitry coupled to the vector time-resource matrix circuitry to receive vector data therefrom and to issue a second vector instruction at a particular vector time count if all vector resources indicated by the vector time-resource matrix circuitry are available at the particular vector time count, and to stall the second vector instruction if any of the vector resources indicated by the vector time-resource matrix circuitry are not available at the particular vector time count.

6 . The vector coprocessor of claim 4 further comprising:

vector read control circuitry storing, for each of a plurality of vector time count entries, an identification of a vector register in the vector register file that may be read and transported on a vector read bus; and

vector write control circuitry storing, for each of a plurality of a vector time count entries, an identification of a vector register in the vector register file that may be written into from a vector write bus.

7 . The vector coprocessor of claim 1 :

wherein a first vector store instruction is stored in an entry of the vector load-store buffer;

wherein store data specified by the first vector store instruction is read from a vector register file at a preset time in reference to the vector time count; and

wherein a store operation specified by the first vector store instruction proceeds when the store data is valid.

8 . The vector coprocessor of claim 1 further comprising:

a vector register scoreboard that contains:

a first write time of a first vector register in the vector register file, wherein the first write time represents a first future time relative to the vector time count,

a read time of a second vector register in the vector register file, wherein the read time represents a second future time relative to the vector time count; and

vector instruction decode circuitry that decodes a first vector load instruction to generate the schedule time, the vector instruction decode circuitry further accessing the vector register scoreboard to obtain read and write times for source operands of a second vector instruction to determine an execution time for the second vector instruction.

9 . The vector coprocessor of claim 8 further comprising:

vector write control circuitry that controls access to write buses of the vector coprocessor is synchronized with the schedule time in the vector load-store buffer.

10 . The vector coprocessor of claim 1 further comprising:

a vector execution queue that stores a plurality of the vector instructions, and wherein each of the vector instructions has associated therewith a read time which is a corresponding future time relative to the vector time count and wherein the vector execution queue dispatches the vector instructions to at least one vector functional unit.

11 . The vector coprocessor of claim 10 wherein the vector execution queue further comprises a micro-operation count that identifies a number of micro-operations of a first vector instruction in consecutive clock cycles of the clock unit.

12 . The vector coprocessor of claim 11 further comprising:

vector read control circuitry that forwards data from a vector functional unit or the vector load-store buffer if a write time in a vector register scoreboard is the same as the vector time count.

13 . A processor including hardware that comprises:

circuitry to receive and decode a first vector load instruction and dispatch the first vector load instruction to a first functional unit or to a load-store unit;

a re-order buffer that receives decoded instructions in order and records completion of instructions and cancels or validates vector instructions when a branch instruction is mispredicted; and

a vector coprocessor comprising:

a vector time counter generating a vector time count representing a current time of the vector coprocessor, wherein the vector time count is incremented periodically;

a vector load-store buffer coupled to the vector time counter and the load-store unit to select a first entry for storage of first vector load data and to store a schedule time corresponding to the vector time count to write the first vector load data to a vector register file;

vector decode circuitry that receives the first vector load instruction upon validation by the re-order buffer and issues the first vector load instruction;

a vector register scoreboard coupled to the vector time counter and the vector decode circuitry to receive the first vector load instruction and to provide a corresponding write time or read time for each operand of the first vector load instruction, wherein the write time corresponds to a future vector time count in which no data dependency is violated;

a vector time-resource matrix coupled to the vector time counter and the vector register scoreboard to receive the write time, and further coupled to the vector load-store buffer to read a first entry, and select a worst case time for updating the schedule time in the vector load-store unit, and further coupled to vector issue circuitry to check the vector time-resource matrix for availability of a write port at the schedule time and to issue the first vector load instruction if the write port is available, or to stall the first vector load instruction in the vector issue circuitry to increment the write time and to access the write port of the vector time-resource matrix again in a next cycle and to update the schedule time in the vector load-store buffer; and

wherein the vector issue circuitry is further coupled to the vector register file to write vector data associated with the first vector load instruction if the vector data is valid when the vector time count is the same as the schedule time and if the vector data is not valid to stop counting by the vector time counter until the vector data is valid.

14 . A computer program product stored on a non-transitory computer readable storage medium and including computer system instructions for causing a computer system to execute a method that is executable by a vector coprocessor for processing a committed coprocessor vector load instruction received from a processor that operates in accordance with a time count that is incremented with each clock cycle of a clock unit, the method comprising:

generating a vector time count by incrementing a vector time counter with each clock cycle of the clock unit;

receiving a vector load instruction from the processor and allocating an entry in a vector load-store buffer wherein the vector load-store buffer is coupled to the vector time counter and comprises a plurality of entries, each of the entries corresponding to a load instruction or a store instruction;

processing of the committed coprocessor vector load instruction in the vector coprocessor to determine a schedule time in reference to the vector time count of the vector load instruction to write a vector register file when vector load data is valid in the entry of the vector load-store buffer;

freezing the vector time count if the vector load data is not returned at the schedule time; and

unfreezing the vector time counter when the vector load data is received and transferred to the vector register file.

15 . The computer program product of claim 14 wherein the method further comprises:

incrementing a write pointer in a circular buffer and wrapping the write pointer to a first entry of the circular buffer; and

identifying each entry of the vector load-store buffer with an entry number;

employing the write pointer by the vector load-store buffer as a bus request ID to external memory.

16 . The computer program product of claim 14 wherein the method further comprises:

assigning with a register free list in the vector load-store buffer a free entry to a new vector load or vector store instruction; and

reclaiming the free entry upon deallocation by the vector load-store buffer.

17 . The computer program product of claim 16 wherein the method further comprises:

storing to a vector register scoreboard a first write time of a first vector register in the vector register file, wherein the first write time represents a first future time relative to the vector time count; and

storing to vector time-resource matrix circuitry, that is coupled to the vector register scoreboard and the vector time counter, information relating to vector resources that are available for at least some vector time counts of the vector time counter, and wherein the vector resources include at least one of: a plurality of vector read buses, a plurality of vector write buses, and a plurality of vector functional units; and

receiving with vector coprocessor issue circuitry, that is coupled to the vector time-resource matrix circuitry, vector data therefrom and issuing a second vector instruction at a particular vector time count if all vector resources indicated by the vector time-resource matrix circuitry are available at the particular vector time count, and stalling the second vector instruction if any of the vector resources indicated by the vector time-resource matrix circuitry are not available at the particular vector time count.

18 . The computer program product of claim 16 wherein the method further comprises:

storing with vector read control circuitry, for each of a plurality of vector time count entries, an identification of a vector register in the vector register file that may be read and transported on a vector read bus; and

storing with vector write control circuitry, for each of a plurality of vector time count entries, an identification of a vector register in the vector register file that may be written into from a vector write bus.

19 . The computer program product of claim 14 wherein the method further comprises:

storing a first vector store instruction to a first entry of the vector load-store buffer;

reading store data specified by the first vector store instruction from the vector register file at a preset time in reference to the vector time count; and

proceeding with a store operation specified by the first vector store instruction when the store data is valid.

20 . The computer program product of claim 14 wherein the method further comprises:

maintaining in a vector register scoreboard,

a first write time of a first vector register in the vector register file, wherein the first write time represents a first future time relative to the vector time count,

a read time of a second vector register in the vector register file, wherein the read time represents a second future time relative to the vector time count; and

decoding in vector instruction decode circuitry a first vector load instruction to generate the schedule time, wherein the vector instruction decode circuitry accesses the vector register scoreboard to obtain read and write times for source operands of a second vector instruction to determine an execution time for the second vector instruction.

21 . The computer program product of claim 20 wherein the method further comprises:

controlling access, with vector write control circuitry, to write buses of the vector coprocessor with a synchronized schedule time in the vector load-store buffer.

22 . The computer program product of claim 14 wherein the method further comprises:

storing with a vector execution queue a plurality of vector instructions, and wherein each of the vector instructions has associated therewith a read time which is a corresponding future time relative to the vector time count; and

dispatching by the vector execution queue the vector instructions to at least one vector functional unit.

23 . The computer program product of claim 22 wherein the method further comprises:

maintaining in the vector execution queue a micro-operation count that causes issuance of micro-operations of a first vector instruction in consecutive clock cycles of the clock unit.

24 . The computer program product of claim 23 wherein the method further comprises:

forwarding, with vector read control circuitry, data from a vector functional unit or the vector load-store buffer if a write time in a vector register scoreboard is the same as the vector time count.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2024
From: WITT, DAVID; TRAN, THANG MINH
To: SIMPLEX MICRO, INC.
Reel/Frame 067246/0707 →
Continuity (1)
Related Publication 20250298612A1 · Sep 25, 2025
References Cited (171)
US 5021985A · Hu et al. · 1991 [cited by applicant]
US 5185868A · Tran · 1993 [cited by applicant]
US 5187796A · Wang et al. · 1993 [cited by applicant]
US 5251306A · Tran · 1993 [cited by applicant]
US 5497467A · Wakui et al. · 1996 [cited by applicant]
US 5655096A · Branigin · 1997 [cited by applicant]
US 5689653A · Karp et al. · 1997 [cited by applicant]
US 5699536A · Hopkins et al. · 1997 [cited by applicant]
US 5799163A · Park et al. · 1998 [cited by applicant]
US 5802386A · Kahle et al. · 1998 [cited by applicant]
US 5809268A · Chan · 1998 [cited by applicant]
US 5835745A · Sager et al. · 1998 [cited by applicant]
US 5860018A · Panwar · 1999 [cited by applicant]
US 5870579A · Tan · 1999 [cited by applicant]
US 5881302A · Omata · 1999 [cited by applicant]
US 5903779A · Park · 1999 [cited by applicant]
US 5903919A · Myers · 1999 [cited by applicant]
US 5933618A · Tran et al. · 1999 [cited by applicant]
US 5958041A · Petolino, Jr. et al. · 1999 [cited by applicant]
US 5961630A · Zaidi et al. · 1999 [cited by applicant]
US 5964867A · Anderson et al. · 1999 [cited by applicant]
US 5974538A · Wilmot, II · 1999 [cited by applicant]
US 5996061A · Lopez-Aguado et al. · 1999 [cited by applicant]
US 5996064A · Zaidi et al. · 1999 [cited by applicant]
US 6003128A · Tran · 1999 [cited by applicant]
US 6016540A · Zaidi et al. · 2000 [cited by applicant]
US 6035389A · Grochowski et al. · 2000 [cited by applicant]
US 6035393A · Glew et al. · 2000 [cited by applicant]
US 6065105A · Zaidi et al. · 2000 [cited by applicant]
US 6247113B1 · Jaggar · 2001 [cited by applicant]
US 6282634B1 · Hinds et al. · 2001 [cited by applicant]
US 6304955B1 · Arora · 2001 [cited by applicant]
US 6425090B1 · Arimilli et al. · 2002 [cited by applicant]
US 6453424B1 · Janniello · 2002 [cited by applicant]
US 6591359B1 · Hass et al. · 2003 [cited by applicant]
US 6671799B1 · Parthasarathy · 2003 [cited by applicant]
US 6959379B1 · Wojcieszak et al. · 2005 [cited by applicant]
US 7069425B1 · Takahashi · 2006 [cited by applicant]
US 7434032B1 · Coon et al. · 2008 [cited by applicant]
US 8166281B2 · Gschwind et al. · 2012 [cited by applicant]
US 9256428B2 · Heil et al. · 2016 [cited by applicant]
US 9348590B1 · Kashyap et al. · 2016 [cited by applicant]
US 9354884B2 · Comparan et al. · 2016 [cited by applicant]
US 10339095B2 · Moudgill et al. · 2019 [cited by applicant]
US 10346171B2 · Gabor et al. · 2019 [cited by applicant]
US 10437595B1 · Kanapathipillai et al. · 2019 [cited by applicant]
US 11062200B2 · Lie et al. · 2021 [cited by applicant]
US 11132199B1 · Tran · 2021 [cited by applicant]
US 11144319B1 · Battle et al. · 2021 [cited by applicant]
US 11163582B1 · Tran · 2021 [cited by applicant]
US 11188478B1 · Tran · 2021 [cited by applicant]
US 11204770B2 · Tran · 2021 [cited by applicant]
US 11263013B2 · Tran · 2022 [cited by applicant]
US 11467841B1 · Tran · 2022 [cited by applicant]
US 11829187B2 · Tran · 2023 [cited by applicant]
US 11829762B2 · Tran · 2023 [cited by applicant]
US 11829767B2 · Tran · 2023 [cited by applicant]
US 11954491B2 · Tran · 2024 [cited by applicant]
US 12061906B2 · Stephens et al. · 2024 [cited by applicant]
US 20010004755A1 · Levy et al. · 2001 [cited by applicant]
US 20030023646A1 · Lin et al. · 2003 [cited by applicant]
US 20030135712A1 · Theis · 2003 [cited by applicant]
US 20040073779A1 · Hokenek et al. · 2004 [cited by applicant]
US 20040168045A1 · Morris et al. · 2004 [cited by applicant]
US 20040236920A1 · Sheaffer · 2004 [cited by applicant]
US 20040243894A1 · Smith et al. · 2004 [cited by applicant]
US 20050038980A1 · Rodgers et al. · 2005 [cited by applicant]
US 20050251657A1 · Boucher · 2005 [cited by applicant]
US 20060010305A1 · Maeda et al. · 2006 [cited by applicant]
US 20060095732A1 · Tran et al. · 2006 [cited by applicant]
US 20060218124A1 · Williamson et al. · 2006 [cited by applicant]
US 20060259800A1 · Maejima · 2006 [cited by applicant]
US 20060288194A1 · Lewis et al. · 2006 [cited by applicant]
US 20070028078A1 · Harris et al. · 2007 [cited by applicant]
US 20070038984A1 · Gschwind et al. · 2007 [cited by applicant]
US 20070113058A1 · Tran et al. · 2007 [cited by applicant]
US 20070113059A1 · Tran · 2007 [cited by applicant]
US 20070255903A1 · Tsadik et al. · 2007 [cited by applicant]
US 20070260856A1 · Tran et al. · 2007 [cited by applicant]
US 20080114966A1 · Begon et al. · 2008 [cited by applicant]
US 20080294882A1 · Jayapala et al. · 2008 [cited by applicant]
US 20090113192A1 · Hall et al. · 2009 [cited by applicant]
US 20090158279A1 · Lino et al. · 2009 [cited by applicant]
US 20090217020A1 · Yourst · 2009 [cited by applicant]
US 20100049958A1 · Vaskevich et al. · 2010 [cited by applicant]
US 20100064106A1 · Yamada et al. · 2010 [cited by applicant]
US 20100306505A1 · Williamson et al. · 2010 [cited by applicant]
US 20110099354A1 · Takashima et al. · 2011 [cited by applicant]
US 20110153987A1 · Luke et al. · 2011 [cited by applicant]
US 20110320765A1 · Karkhanis et al. · 2011 [cited by applicant]
US 20120047352A1 · Yamana · 2012 [cited by applicant]
US 20120060015A1 · Eichenberger et al. · 2012 [cited by applicant]
US 20120124344A1 · Jarvis · 2012 [cited by applicant]
US 20120151156A1 · Citron et al. · 2012 [cited by applicant]
US 20130151816A1 · Indukuru et al. · 2013 [cited by applicant]
US 20130297912A1 · Tran et al. · 2013 [cited by applicant]
US 20130298129A1 · Rabinovitch et al. · 2013 [cited by applicant]
US 20130346985A1 · Nightingale · 2013 [cited by applicant]
US 20140059328A1 · Gonion · 2014 [cited by applicant]
US 20140082626A1 · Busaba et al. · 2014 [cited by applicant]
US 20150026435A1 · Muff et al. · 2015 [cited by applicant]
US 20150089141A1 · Chen et al. · 2015 [cited by applicant]
US 20150100754A1 · Reid et al. · 2015 [cited by applicant]
US 20150212972A1 · Boettcher et al. · 2015 [cited by applicant]
US 20150227369A1 · Gonion · 2015 [cited by applicant]
US 20150331760A1 · Dalessandro et al. · 2015 [cited by applicant]
US 20160092230A1 · Chen et al. · 2016 [cited by applicant]
US 20160092238A1 · Codrescu et al. · 2016 [cited by applicant]
US 20160275043A1 · Grochowski et al. · 2016 [cited by applicant]
US 20160283240A1 · Mishra et al. · 2016 [cited by applicant]
US 20160371091A1 · Brownscheidle et al. · 2016 [cited by applicant]
US 20170177345A1 · Ould-Ahmed-Vall et al. · 2017 [cited by applicant]
US 20170177354A1 · Ould-Ahmed-Vall · 2017 [cited by applicant]
US 20170185407A1 · Shwartsman · 2017 [cited by applicant]
US 20170357513A1 · Ayub et al. · 2017 [cited by applicant]
US 20170371657A1 · Mahurin et al. · 2017 [cited by applicant]
US 20180181400A1 · Scherbinin et al. · 2018 [cited by applicant]
US 20180196678A1 · Thompto · 2018 [cited by applicant]
US 20180253310A1 · Stephens · 2018 [cited by applicant]
US 20180321938A1 · Boswell et al. · 2018 [cited by applicant]
US 20190079764A1 · Diamond et al. · 2019 [cited by applicant]
US 20190243646A1 · Anderson · 2019 [cited by applicant]
US 20190303161A1 · Nassi et al. · 2019 [cited by applicant]
US 20200004534A1 · Gurram et al. · 2020 [cited by applicant]
US 20200004543A1 · Kumar et al. · 2020 [cited by applicant]
US 20200065111A1 · Bouzguarrou et al. · 2020 [cited by applicant]
US 20200089528A1 · Gutierrez et al. · 2020 [cited by applicant]
US 20200125498A1 · Betts et al. · 2020 [cited by applicant]
US 20200310796A1 · Pfister et al. · 2020 [cited by applicant]
US 20200319885A1 · Eyole et al. · 2020 [cited by applicant]
US 20200371810A1 · Lichtenau et al. · 2020 [cited by applicant]
US 20200387382A1 · Tseng et al. · 2020 [cited by applicant]
US 20210026639A1 · Tekmen et al. · 2021 [cited by applicant]
US 20210200550A1 · Sivtsov et al. · 2021 [cited by applicant]
US 20210208891A1 · Wen et al. · 2021 [cited by applicant]
US 20210311743A1 · Tran · 2021 [cited by applicant]
US 20210326141A1 · Tran · 2021 [cited by applicant]
US 20210389979A1 · Tran · 2021 [cited by applicant]
US 20220066760A1 · Chang et al. · 2022 [cited by applicant]
US 20220326988A1 · Gunter · 2022 [cited by examiner]
US 20230068637A1 · Feiste et al. · 2023 [cited by applicant]
US 20230130826A1 · Segger · 2023 [cited by applicant]
US 20230214218A1 · Battle et al. · 2023 [cited by applicant]
US 20230244490A1 · Tran · 2023 [cited by applicant]
US 20230244491A1 · Tran · 2023 [cited by applicant]
US 20230367599A1 · Waterman et al. · 2023 [cited by applicant]
US 20230393852A1 · Tran · 2023 [cited by applicant]
EP 0840213A2 · 1998 [cited by applicant]
EP 0902360A2 · 1999 [cited by applicant]
EP 0959575A1 · 1999 [cited by applicant]
WO 0010076A1 · 2000 [cited by applicant]
WO 0208894A1 · 2002 [cited by applicant]
WO 0213005A1 · 2002 [cited by applicant]
WO 2024015445A1 · 2024 [cited by applicant]
Anonymous: “RISC-V—Wikipedia”, Apr. 16, 2022 (Apr. 16, 2022), XP093142703, Retrieved from the Internet: URL:https://en.wikipedia.org/w/index.php?title=RISC-V&oldid=1083030760 [retrieved on Mar. 27, 2024]. [cited by applicant]
Choi, W., Park, SJ., Dubois, M. (2009). Accurate Instruction Pre-scheduling in Dynamically Scheduled Processors. In: Stenström, P. (eds) Transactions on High-Performance Embedded Architectures and Compilers I. Lecture N… [cited by applicant]
Diavastos, Andreas & Carlson, Trevor. (2021). Efficient Instruction Scheduling using Real-time Load Delay Tracking. (Year: 2021). [cited by applicant]
J. S. Hu, N. Vijaykrishnan and M. J. Irwin, “Exploring Wakeup-Free Instruction Scheduling,” 10th International Symposium on High Performance Computer Architecture (HPCA'04), Madrid, Spain, pp. 232-232 (Year: 2004). [cited by applicant]
PCT/US2023/018996, Written Opinion of the International Preliminary Examining Authority, Apr. 8, 2024. [cited by applicant]
PCT/US23/27497: Written Opinion of the International Searching Authority. [cited by applicant]
PCTUS2023081682, Written Opinion of the International Searching Authority, Mar. 22, 2024. [cited by applicant]
Written Opinion of The International Preliminary Examining Authority, PCTUS2023/018970, Mar. 25, 2024. [cited by applicant]
Written Opinion of the International Searching Authority, PCT/S2022/052185. [cited by applicant]
Written Opinion of the International Searching Authority, PCT/US2023/018970. [cited by applicant]
Written Opinion of the International Searching Authority, PCT/US2023/018996. [cited by applicant]
PCT/US2023/018970, International Preliminary Report on Patentability, Jul. 18, 2024. [cited by applicant]
PCT/US2023/018996, International Preliminary Report on Patentability, Jul. 19, 2024. [cited by applicant]
H. O. Kultala et al., “Exposed datapath optimizations for loop scheduling,” 2017 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS), Pythagorion, Greece, pp. 171-178 (… [cited by applicant]
PCT/US2024/02037, Written Opinion of the International Searching Authority, Dec. 11, 2024. [cited by applicant]
PCT/US2024/020737 International Search Report, Dec. 11, 2024. [cited by applicant]
Wang, Y., Jia, Z., Chen, R., Wang, M., Liu, D. and Shao, Z., Loop scheduling with memory access reduction subject to register constraints for DSP applications. Softw. Pract. Exper., pp. 999-1026. (Year: 2014). [cited by applicant]