Patents by Inventor Alan L. Davis

Alan L. Davis has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11972236
    Abstract: A method for compiling and executing a nested loop includes initializing a nested loop controller with an outer loop count value and an inner loop count value. The nested loop controller includes a predicate FIFO. The method also includes coalescing the nested loop and, during execution of the coalesced nested loop, causing the nested loop controller to populate the predicate FIFO and executing a get predicate instruction having an offset value, where the get predicate returns a value from the predicate FIFO specified by the offset value. The method further includes predicating an outer loop instruction on the returned value from the predicate FIFO.
    Type: Grant
    Filed: September 12, 2022
    Date of Patent: April 30, 2024
    Assignee: Texas Instruments Incorporated
    Inventors: Kai Chirca, Timothy D. Anderson, Todd T. Hahn, Alan L Davis
  • Publication number: 20240086193
    Abstract: A nested loop controller includes a first register having a first value initialized to an initial first value, a second register having a second value initialized to an initial second value, and a third register configured as a predicate FIFO, initialized to have a third value. The second value is advanced in response to a tick instruction during execution of a loop. In response to the second value reaching a second threshold, the second register is reset to the initial second value. The nested loop controller further includes a comparator coupled to the second register and to the predicate FIFO and configured to provide an outer loop indicator value as input to the predicate FIFO when the second value is equal to the second threshold, and provide an inner loop indicator value as input to the predicate FIFO when the second value is not equal to the second threshold.
    Type: Application
    Filed: November 13, 2023
    Publication date: March 14, 2024
    Inventors: Kai Chirca, Timothy D. Anderson, Todd T. Hahn, Alan L. Davis
  • Publication number: 20240069920
    Abstract: In an example, a system includes a processor, where the processor includes a plurality of processor registers, and where the processor is configured to execute a first instruction in a first execution context. The processor is also configured to receive a PRESERVE instruction that indicates at least one processor register among the plurality of processor registers. The processor is configured to, responsive to the PRESERVE instruction, preserve parameters in the at least one processor register and clear other processor registers in the plurality of processor registers in the first execution context. The processor is also configured to execute a second instruction in a second execution context.
    Type: Application
    Filed: August 26, 2022
    Publication date: February 29, 2024
    Inventors: David P. FOLEY, Alexander TESSAROLO, Alan L. DAVIS
  • Patent number: 11816485
    Abstract: A nested loop controller includes a first register having a first value initialized to an initial first value, a second register having a second value initialized to an initial second value, and a third register configured as a predicate FIFO, initialized to have a third value. The second value is advanced in response to a tick instruction during execution of a loop. In response to the second value reaching a second threshold, the second register is reset to the initial second value. The nested loop controller further includes a comparator coupled to the second register and to the predicate FIFO and configured to provide an outer loop indicator value as input to the predicate FIFO when the second value is equal to the second threshold, and provide an inner loop indicator value as input to the predicate FIFO when the second value is not equal to the second threshold.
    Type: Grant
    Filed: July 4, 2021
    Date of Patent: November 14, 2023
    Assignee: Texas Instruments Incorporated
    Inventors: Kai Chirca, Timothy D. Anderson, Todd T. Hahn, Alan L. Davis
  • Publication number: 20230015163
    Abstract: A method of storing register data elements to interleave with data elements of a different register, a processor thereof, and a system thereof, wherein each non-consecutive data elements of a register is retrieved to be stored to interleave with each non-consecutive data elements of a different register upon an executive of an interleaving store instruction, wherein a mask instruction directing a lane of a storage space in which the non-consecutive data elements are stored is executed in conjunction with the interleaving store instruction, and wherein a processor of a second type is configured to emulate a processor of a first type to store the non-consecutive data elements the same as non-consecutive data elements stored in the first type processor.
    Type: Application
    Filed: September 16, 2022
    Publication date: January 19, 2023
    Inventors: Duc Quang BUI, Alan L. DAVIS, Dheera Balasubramanian SAMUDRALA, Timothy David ANDERSON
  • Patent number: 11449336
    Abstract: A method of storing register data elements to interleave with data elements of a different register, a processor thereof, and a system thereof, wherein each non-consecutive data elements of a register is retrieved to be stored to interleave with each non-consecutive data elements of a different register upon an executive of an interleaving store instruction, wherein a mask instruction directing a lane of a storage space in which the non-consecutive data elements are stored is executed in conjunction with the interleaving store instruction, and wherein a processor of a second type is configured to emulate a processor of a first type to store the non-consecutive data elements the same as non-consecutive data elements stored in the first type processor.
    Type: Grant
    Filed: February 10, 2020
    Date of Patent: September 20, 2022
    Assignee: Texas Instmments Incorporated
    Inventors: Duc Quang Bui, Alan L. Davis, Dheera Balasubramanian Samudrala, Timothy David Anderson
  • Patent number: 11442709
    Abstract: A method for compiling and executing a nested loop includes initializing a nested loop controller with an outer loop count value and an inner loop count value. The nested loop controller includes a predicate FIFO. The method also includes coalescing the nested loop and, during execution of the coalesced nested loop, causing the nested loop controller to populate the predicate FIFO and executing a get predicate instruction having an offset value, where the get predicate returns a value from the predicate FIFO specified by the offset value. The method further includes predicating an outer loop instruction on the returned value from the predicate FIFO.
    Type: Grant
    Filed: August 3, 2020
    Date of Patent: September 13, 2022
    Assignee: Texas Instmments Incorporated
    Inventors: Kai Chirca, Timothy D. Anderson, Todd T. Hahn, Alan L. Davis
  • Publication number: 20210334103
    Abstract: A nested loop controller includes a first register having a first value initialized to an initial first value, a second register having a second value initialized to an initial second value, and a third register configured as a predicate FIFO, initialized to have a third value. The second value is advanced in response to a tick instruction during execution of a loop. In response to the second value reaching a second threshold, the second register is reset to the initial second value. The nested loop controller further includes a comparator coupled to the second register and to the predicate FIFO and configured to provide an outer loop indicator value as input to the predicate FIFO when the second value is equal to the second threshold, and provide an inner loop indicator value as input to the predicate FIFO when the second value is not equal to the second threshold.
    Type: Application
    Filed: July 4, 2021
    Publication date: October 28, 2021
    Inventors: Kai Chirca, Timothy D. Anderson, Todd T. Hahn, Alan L. Davis
  • Patent number: 11055095
    Abstract: A nested loop controller includes a first register having a first value initialized to an initial first value, a second register having a second value initialized to an initial second value, and a third register configured as a predicate FIFO, initialized to have a third value. The second value is advanced in response to a tick instruction during execution of a loop. In response to the second value reaching a second threshold, the second register is reset to the initial second value. The nested loop controller further includes a comparator coupled to the second register and to the predicate FIFO and configured to provide an outer loop indicator value as input to the predicate FIFO when the second value is equal to the second threshold, and provide an inner loop indicator value as input to the predicate FIFO when the second value is not equal to the second threshold.
    Type: Grant
    Filed: May 24, 2019
    Date of Patent: July 6, 2021
    Assignee: Texas Instruments Incorporated
    Inventors: Kai Chirca, Timothy D. Anderson, Todd T. Hahn, Alan L. Davis
  • Publication number: 20200371800
    Abstract: A nested loop controller includes a first register having a first value initialized to an initial first value, a second register having a second value initialized to an initial second value, and a third register configured as a predicate FIFO, initialized to have a third value. The second value is advanced in response to a tick instruction during execution of a loop. In response to the second value reaching a second threshold, the second register is reset to the initial second value. The nested loop controller further includes a comparator coupled to the second register and to the predicate FIFO and configured to provide an outer loop indicator value as input to the predicate FIFO when the second value is equal to the second threshold, and provide an inner loop indicator value as input to the predicate FIFO when the second value is not equal to the second threshold.
    Type: Application
    Filed: May 24, 2019
    Publication date: November 26, 2020
    Inventors: Kai CHIRCA, Timothy D. ANDERSON, Todd T. HAHN, Alan L. DAVIS
  • Publication number: 20200371762
    Abstract: A method for compiling and executing a nested loop includes initializing a nested loop controller with an outer loop count value and an inner loop count value. The nested loop controller includes a predicate FIFO. The method also includes coalescing the nested loop and, during execution of the coalesced nested loop, causing the nested loop controller to populate the predicate FIFO and executing a get predicate instruction having an offset value, where the get predicate returns a value from the predicate FIFO specified by the offset value. The method further includes predicating an outer loop instruction on the returned value from the predicate FIFO.
    Type: Application
    Filed: August 3, 2020
    Publication date: November 26, 2020
    Inventors: Kai CHIRCA, Timothy D. ANDERSON, Todd T. HAHN, Alan L. DAVIS
  • Publication number: 20200371790
    Abstract: A method of storing register data elements to interleave with data elements of a different register, a processor thereof, and a system thereof, wherein each non-consecutive data elements of a register is retrieved to be stored to interleave with each non-consecutive data elements of a different register upon an executive of an interleaving store instruction, wherein a mask instruction directing a lane of a storage space in which the non-consecutive data elements are stored is executed in conjunction with the interleaving store instruction, and wherein a processor of a second type is configured to emulate a processor of a first type to store the non-consecutive data elements the same as non-consecutive data elements stored in the first type processor.
    Type: Application
    Filed: February 10, 2020
    Publication date: November 26, 2020
    Inventors: Duc Quang BUI, Alan L. DAVIS, Dheera Balasubramanian SAMUDRALA, Timothy David ANDERSON
  • Patent number: 10732945
    Abstract: A method for compiling and executing a nested loop includes initializing a nested loop controller with an outer loop count value and an inner loop count value. The nested loop controller includes a predicate FIFO. The method also includes coalescing the nested loop and, during execution of the coalesced nested loop, causing the nested loop controller to populate the predicate FIFO and executing a get predicate instruction having an offset value, where the get predicate returns a value from the predicate FIFO specified by the offset value. The method further includes predicating an outer loop instruction on the returned value from the predicate FIFO.
    Type: Grant
    Filed: May 24, 2019
    Date of Patent: August 4, 2020
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Kai Chirca, Timothy D. Anderson, Todd T. Hahn, Alan L. Davis
  • Patent number: 10025569
    Abstract: A compiler converts a high level language program into a corresponding machine level language program. The compiler forms an initial control flow graph of the high level language program with nodes and edge, the nodes including a starting node, initializing a collapse count to zero, and sets the initial control flow graph as a current control flow graph. The compiler performs iterative collapsing operations on the current control flow graph until only a single node remains. After performing the iterative collapsing operations, data flow analysis is performed on the initial control flow graph for a number of iterations equal to one greater than the collapse count. Then, the machine level language program corresponding to the high level language program is generated based upon the data flow analysis.
    Type: Grant
    Filed: July 19, 2016
    Date of Patent: July 17, 2018
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Alan L. Davis, Paul Fuqua, Timothy John Harvey
  • Publication number: 20180024820
    Abstract: A compiler converts a human readable high level program into a corresponding machine language program. This invention improves data-flow analysis. A compiler implementing data-flow analysis typically relies on an iterative algorithm for data-flow analysis. According to the prior art determination of the exact number of loop iterations required for convergence was believed impractical. The prior art selected a maximum number of data-flow analysis iterations relatively arbitrarily. This invention calculates the number of iterations for convergence using backedges in a control flow graph of the source program. This permits the data-flow analysis to be run for exactly the number of iterations needed for convergence. In the event of convergence, an extra, useless iteration is avoided. In the event of non-convergence, valid data can be separated from invalid data, whereas all data was previously discarded.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventors: Alan L. Davis, Paul Fuqua, Timothy John Harvey
  • Patent number: 9390773
    Abstract: A shiftable memory is employed in a system and a method to shift a contiguous subset of stored data within the shiftable memory. The shiftable memory includes a memory having built-in shifting capability to shift a contiguous subset of data stored by the memory from a first location to a second location within the memory. The contiguous subset has a size that is smaller than a total size of the memory. The system further includes a processor to provide an address and the length of the contiguous subset. The method includes selecting the contiguous subset of data and shifting the selected contiguous subset.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: July 12, 2016
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Terence P. Kelly, Alan L. Davis, Matthew D. Pickett
  • Patent number: 9092228
    Abstract: A computer system includes a processor and program storage coupled to the processor. The program storage stores a software instruction translator that, when executed by the processor, is configured to receive source code and translate the source code to a low-level language. The source code is restricted to a subset of a high-level language and the low-level language is a specialized instruction set. Each statement of the subset of the high-level language directly maps to an instruction of the low-level language.
    Type: Grant
    Filed: January 17, 2013
    Date of Patent: July 28, 2015
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Alan L. Davis, Ching-Yu Hung, Jadadeesh Sankaran, James Nagurne, Mel Alan Phipps, Ajay Jayaraj
  • Patent number: 8938139
    Abstract: Embodiments of the present invention are directed to optoelectronic network switches. In one embodiment, an optoelectronic switch includes a set of roughly parallel input waveguides and a set of roughly parallel output waveguides positioned roughly perpendicular to the input waveguides. Each of the output waveguides crosses the set of input waveguides. The optoelectronic switch includes at least one switch element configured to switch one or more optical signals transmitted on one or more input waveguides onto one or more crossing output waveguides.
    Type: Grant
    Filed: March 11, 2008
    Date of Patent: January 20, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Moray McLaren, Jung Ho Ahn, Nathan L. Binkert, Alan L. Davis, Norman Paul Jouppi
  • Patent number: 8774625
    Abstract: Embodiments of the present invention are directed to implementing high-radix switch topologies on relatively lower-radix physical networks. In one embodiment, the method comprises constructing the physical network (702) composed of one or more optical switches connected via one or more waveguides. A desired switch topology (704) is then designed for implementation on the physical network. The switch topology is then overlain on the switch network by configuring the optical switches and waveguides (706) to implement the switch topology on the physical network. The optical switches can be reconfigured following a transmission over the physical network and can be configured to implement circuit switching or packet switch.
    Type: Grant
    Filed: August 8, 2008
    Date of Patent: July 8, 2014
    Assignee: Hewlett-Packard Development Company, L. P.
    Inventors: Nathan L. Binkert, Alan L. Davis, Moray McLaren
  • Patent number: 8472802
    Abstract: Various embodiments of the present invention are directed to methods and systems for transmitting optical signals from a source to a plurality of receiving devices. In one method embodiment, an optical enablement signal is transmitted (401) from the source to the plurality of receiving devices. The target receiving device responds to receiving the optical enablement signal by preparing to receive one or more optical data signals. The source transmits the one or more optical data signals to the target receiving device. The remaining receiving devices do not receive the one or more optical data signals.
    Type: Grant
    Filed: March 10, 2008
    Date of Patent: June 25, 2013
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Jung Ho Ahn, Moray McLaren, Alan L. Davis