Patents by Inventor Trevor Mudge

Trevor Mudge 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: 10585701
    Abstract: A technique is provided for processing thread groups, each thread group having associated program code comprising a plurality of regions that each require access to an associated plurality of registers providing operand values for the instructions of that region. Capacity management circuitry is arranged, for a thread group having a region of the associated program code that is ready to be executed, to perform an operand setup process to reserve sufficient storage elements within an operand staging unit to provide the associated plurality of registers, and to cause the operand value for any input register to be preloaded into a reserved storage element allocated for that input register, an input register being a register whose operand value is required before the region can be executed. Scheduling circuitry selects for processing a thread group for which the operand setup process has been performed in respect of the region to be executed.
    Type: Grant
    Filed: October 12, 2017
    Date of Patent: March 10, 2020
    Assignee: The Regents of the University of Michigan
    Inventors: John Kloosterman, Jonathan Beaumont, Davoud Anoushe Jamshidi, Jonathan Bailey, Trevor Mudge, Scott Mahlke
  • Patent number: 10409615
    Abstract: Subject matter disclosed herein may relate to arithmetic units of processors, and may relate more particularly to configurable arithmetic units. Configurable arithmetic units may comprise a plurality of basic units, and may further comprise a programmable fabric to selectively connect the plurality of basic units at least in part to process one or more sets of parameters in accordance with one or more specified arithmetic operations.
    Type: Grant
    Filed: June 19, 2017
    Date of Patent: September 10, 2019
    Assignee: The Regents of the University of Michigan
    Inventors: Yajing Chen, Trevor Mudge, Ronald Dreslinski, Jr., Shengshuo Lu, Hun Seok Kim, David Theodore Blaauw, Fu Cheng
  • Publication number: 20190114205
    Abstract: An apparatus and method are provided for processing thread groups, where each thread group has associated program code and comprises one or more threads. Scheduling circuitry is used to select thread groups from a plurality of thread groups, and then thread processing circuitry is responsive to the scheduling circuitry to process one or more threads of a selected thread group by executing instructions of the associated program code. The associated program code comprises a plurality of regions that each require access to an associated plurality of registers providing operand values for the instructions of that region. An operand staging unit is provided that has a plurality of storage elements that are dynamically allocated to provide the associated plurality of registers for one or more of the regions.
    Type: Application
    Filed: October 12, 2017
    Publication date: April 18, 2019
    Inventors: John KLOOSTERMAN, Jonathan BEAUMONT, Davoud Anoushe JAMSHIDI, Jonathan BAILEY, Trevor MUDGE, Scott MAHLKE
  • Publication number: 20180365021
    Abstract: Subject matter disclosed herein may relate to arithmetic units of processors, and may relate more particularly to configurable arithmetic units. Configurable arithmetic units may comprise a plurality of basic units, and may further comprise a programmable fabric to selectively connect the plurality of basic units at least in part to process one or more sets of parameters in accordance with one or more specified arithmetic operations.
    Type: Application
    Filed: June 19, 2017
    Publication date: December 20, 2018
    Inventors: Yajing Chen, Trevor Mudge, Ronald Dreslinski, JR., Shengshuo Lu, Hun Seok Kim, David Theodore Blaauw, Fu Cheng
  • Patent number: 10002657
    Abstract: Various implementations described herein are directed to an integrated circuit. The integrated circuit may include a memory cell configured to operate in multiple retention states including a static retention state and a dynamic retention state. The integrated circuit may include a controller configured to selectively apply different voltage levels to the memory cell based on the retention state of the memory cell.
    Type: Grant
    Filed: March 25, 2016
    Date of Patent: June 19, 2018
    Assignee: The Regents of the University of Michigan
    Inventors: Byoungchan Oh, Sandunmalee Abeyratne, Ronald G. Dreslinski, Jr., Trevor Mudge
  • Publication number: 20170278561
    Abstract: Various implementations described herein are directed to an integrated circuit. The integrated circuit may include a memory cell configured to operate in multiple retention states including a static retention state and a dynamic retention state. The integrated circuit may include a controller configured to selectively apply different voltage levels to the memory cell based on the retention state of the memory cell.
    Type: Application
    Filed: March 25, 2016
    Publication date: September 28, 2017
    Inventors: Byoungchan Oh, Sandunmalee Abeyratne, Ronald G. Dreslinski, JR., Trevor Mudge
  • Publication number: 20080077824
    Abstract: There is disclosed data storage control circuitry for controlling storage and retrieval of data in a data store in which data is stored in data blocks, each of said data blocks comprising a plurality of bits, said data store comprising at least one faulty bit within at least some of said data blocks.
    Type: Application
    Filed: July 2, 2007
    Publication date: March 27, 2008
    Inventors: Trevor Mudge, Ganesh Dasika, David Roberts
  • Publication number: 20070288798
    Abstract: An integrated circuit includes a plurality of processing stages each including processing logic 2, a non-delayed latch 4, a delayed latch 8 and a comparator 6. The non-delayed latch 4 captures an output from the processing logic 2 at a non-delayed capture time. At a later delayed capture time, the delayed latch 8 also captures a value from the processing logic 2. The comparator 6 compares these values and if they are not equal this indicates that the non-delayed value was captured too soon and should be replaced by the delayed value. The non-delayed value is passed to the subsequent processing stage immediately following its capture and accordingly error recovery mechanisms are used to suppress the erroneous processing which has occurred by the subsequent processing stages, such as gating the clock and allowing the correct signal values to propagate through the subsequent processing logic before restarting the clock.
    Type: Application
    Filed: August 16, 2007
    Publication date: December 13, 2007
    Applicants: ARM Limited, University of Michigan
    Inventors: Krisztian Flautner, Todd Austin, David Blaauw, Trevor Mudge
  • Publication number: 20070022260
    Abstract: A memory circuit for use in a data processing circuit is described, in which memory cells have at least two states, each state being determined by both a first voltage level corresponding to a first supply line and a second voltage level corresponding to a second supply line. The memory circuit comprises a readable state in which information stored in a memory cell is readable and an unreadable state in which information stored in said memory cell is reliably retained but unreadable. Changing the first voltage level but keeping the second voltage level substantially constant effects a transition between the readable state and the unreadable state. In use, the static power consumption of the memory cell in the unreadable state is less than static power consumption of the memory cell in the readable state.
    Type: Application
    Filed: September 26, 2006
    Publication date: January 25, 2007
    Applicants: ARM Limited, University of Michigan
    Inventors: Krisztian Flautner, Trevor Mudge
  • Publication number: 20070011476
    Abstract: Performance level selection is carried out by calculating a plurality of performance requests using a plurality of performance request calculating algorithms, combining those different performance requests to form a global performance request and then selecting a performance level in dependence upon the global performance level request. The performance request calculating algorithms can be arranged in a hierarchy with their performance requests evaluated in a sequence starting from the least dominant position in the hierarchy and moving through to the most dominant position in the hierarchy. Commands may accompany each performance level request to specify how it should be combined with other performance level requests.
    Type: Application
    Filed: September 13, 2006
    Publication date: January 11, 2007
    Applicants: ARM Limited, University of Michigan
    Inventors: Krisztian Flautner, Trevor Mudge
  • Publication number: 20060253666
    Abstract: A memory circuit for use in a data processing circuit is described, in which memory cells have at least two states, each state being determined by both a first voltage level corresponding to a first supply line and a second voltage level corresponding to a second supply line. The memory circuit comprises a readable state in which information stored in a memory cell is readable and an unreadable state in which information stored in said memory cell is reliably retained but unreadable. Changing the first voltage level but keeping the second voltage level substantially constant effects a transition between the readable state and the unreadable state. In use, the static power consumption of the memory cell in the unreadable state is less than static power consumption of the memory cell in the readable state.
    Type: Application
    Filed: February 14, 2006
    Publication date: November 9, 2006
    Applicants: ARM Limited, University of Michigan
    Inventors: Krisztian Flautner, David Blaauw, Trevor Mudge, Nam Kim, Steven Martin
  • Publication number: 20060200699
    Abstract: An integrated circuit 2 has a specified range of runtime-variable operating parameters. Data processing circuits 4 within the integrated circuit 2 have associated error detection and error repair mechanisms 6. When operating within a narrow typical-case range of runtime-variable operating parameters the data processing circuits 4 operate correctly and substantially without error. When operating outside of this typical-case range but inside the specified range of permitted values for the run-time variable operating parameters, then the error detection and error repair circuit 6 operate to repair the errors which occur.
    Type: Application
    Filed: December 13, 2005
    Publication date: September 7, 2006
    Applicants: ARM Limited, The Regents of the University of Michigan
    Inventors: Krisztian Flautner, David Bull, Todd Austin, David Blaauw, Trevor Mudge
  • Publication number: 20060018171
    Abstract: There is provided a memory for storing data comprising: a fast data reading mechanism operable to read a data value from said memory to generate a fast read result that is output from said memory for further processing; a slow data reading mechanism operable to read said data value from said memory to generate a slow read result available after said fast read result has been output for further processing, said slow data reading mechanism being less prone to error in reading said data value than said fast data reading mechanism; a comparator operable to compare said fast read result and said slow read result to detect if said fast read result differs from said slow read result; and error repair logic operable if said comparator detects that said fast read result differs from said slow read result to suppress said further processing using said fast read result, to output said slow read result in place of said fast read result and to restart said further processing based upon said slow read result.
    Type: Application
    Filed: June 13, 2005
    Publication date: January 26, 2006
    Applicant: ARM Limited
    Inventors: Todd Austin, David Blaauw, Trevor Mudge, Dennis Sylvester, Krisztian Flautner
  • Publication number: 20050097228
    Abstract: A performance counter accumulates a value by periodically adding a variable increment value representing the amount of work performed. The increment value can be varied in dependence upon the processor clock frequency and may be adjusted under hardware and/or software control.
    Type: Application
    Filed: October 20, 2003
    Publication date: May 5, 2005
    Applicants: ARM LIMITED, University of Michigan
    Inventors: Krisztian Flautner, Trevor Mudge, David Flynn
  • Publication number: 20050022094
    Abstract: An integrated circuit includes a plurality of processing stages each including processing logic 1014, a non-delayed signal-capture element 1016, a delayed signal-capture element 1018 and a comparator 1024. The non-delayed signal-capture element 1016 captures an output from the processing logic 1014 at a non-delayed capture time. At a later delayed capture time, the delayed signal-capture element 1018 also captures a value from the processing logic 1014. An error detection circuit 1026 and error correction circuit 1028 detect and correct random errors in the delayed value and supplies an error-checked delayed value to the comparator 1024. The comparator 1024 compares the error-checked delayed value and the non-delayed value and if they are not equal this indicates that the non-delayed value was captured too soon and should be replaced by the error-checked delayed value.
    Type: Application
    Filed: July 23, 2004
    Publication date: January 27, 2005
    Inventors: Trevor Mudge, Todd Austin, David Blaauw, Krisztian Flautner
  • Publication number: 20030217249
    Abstract: A computing device including a logical register file having a specified number of logical registers, each logical register storing an architected operand, and a physical register file having a specified number of physical registers, each physical register storing either a speculative operand or a architected operand. A plurality of virtual register numbers is provided that is greater than the number of logical registers plus physical registers. Each virtual register number is assigned to provide a direct index into the physical register file, with additional bits to store other information. A processor processes an instruction by using virtual numbers to directly index the physical register file to obtain any necessary input operand, or to determine that the operand is available only from the logical register file. Accordingly, the physical register file contains some speculative operands and some architected operands while the logical file only contains architected operands.
    Type: Application
    Filed: May 20, 2002
    Publication date: November 20, 2003
    Applicant: The Regents of the University of Michigan
    Inventors: Matthew A. Postiff, Trevor Mudge, David Greene, Steven Raasch