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: 10585701Abstract: 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: GrantFiled: October 12, 2017Date of Patent: March 10, 2020Assignee: The Regents of the University of MichiganInventors: John Kloosterman, Jonathan Beaumont, Davoud Anoushe Jamshidi, Jonathan Bailey, Trevor Mudge, Scott Mahlke
-
Patent number: 10409615Abstract: 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: GrantFiled: June 19, 2017Date of Patent: September 10, 2019Assignee: The Regents of the University of MichiganInventors: Yajing Chen, Trevor Mudge, Ronald Dreslinski, Jr., Shengshuo Lu, Hun Seok Kim, David Theodore Blaauw, Fu Cheng
-
Publication number: 20190114205Abstract: 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: ApplicationFiled: October 12, 2017Publication date: April 18, 2019Inventors: John KLOOSTERMAN, Jonathan BEAUMONT, Davoud Anoushe JAMSHIDI, Jonathan BAILEY, Trevor MUDGE, Scott MAHLKE
-
Publication number: 20180365021Abstract: 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: ApplicationFiled: June 19, 2017Publication date: December 20, 2018Inventors: Yajing Chen, Trevor Mudge, Ronald Dreslinski, JR., Shengshuo Lu, Hun Seok Kim, David Theodore Blaauw, Fu Cheng
-
Patent number: 10002657Abstract: 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: GrantFiled: March 25, 2016Date of Patent: June 19, 2018Assignee: The Regents of the University of MichiganInventors: Byoungchan Oh, Sandunmalee Abeyratne, Ronald G. Dreslinski, Jr., Trevor Mudge
-
Publication number: 20170278561Abstract: 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: ApplicationFiled: March 25, 2016Publication date: September 28, 2017Inventors: Byoungchan Oh, Sandunmalee Abeyratne, Ronald G. Dreslinski, JR., Trevor Mudge
-
Publication number: 20080077824Abstract: 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: ApplicationFiled: July 2, 2007Publication date: March 27, 2008Inventors: Trevor Mudge, Ganesh Dasika, David Roberts
-
Publication number: 20070288798Abstract: 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: ApplicationFiled: August 16, 2007Publication date: December 13, 2007Applicants: ARM Limited, University of MichiganInventors: Krisztian Flautner, Todd Austin, David Blaauw, Trevor Mudge
-
Publication number: 20070022260Abstract: 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: ApplicationFiled: September 26, 2006Publication date: January 25, 2007Applicants: ARM Limited, University of MichiganInventors: Krisztian Flautner, Trevor Mudge
-
Publication number: 20070011476Abstract: 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: ApplicationFiled: September 13, 2006Publication date: January 11, 2007Applicants: ARM Limited, University of MichiganInventors: Krisztian Flautner, Trevor Mudge
-
Publication number: 20060253666Abstract: 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: ApplicationFiled: February 14, 2006Publication date: November 9, 2006Applicants: ARM Limited, University of MichiganInventors: Krisztian Flautner, David Blaauw, Trevor Mudge, Nam Kim, Steven Martin
-
Publication number: 20060200699Abstract: 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: ApplicationFiled: December 13, 2005Publication date: September 7, 2006Applicants: ARM Limited, The Regents of the University of MichiganInventors: Krisztian Flautner, David Bull, Todd Austin, David Blaauw, Trevor Mudge
-
Publication number: 20060018171Abstract: 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: ApplicationFiled: June 13, 2005Publication date: January 26, 2006Applicant: ARM LimitedInventors: Todd Austin, David Blaauw, Trevor Mudge, Dennis Sylvester, Krisztian Flautner
-
Publication number: 20050097228Abstract: 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: ApplicationFiled: October 20, 2003Publication date: May 5, 2005Applicants: ARM LIMITED, University of MichiganInventors: Krisztian Flautner, Trevor Mudge, David Flynn
-
Systematic and random error detection and recovery within processing stages of an integrated circuit
Publication number: 20050022094Abstract: 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: ApplicationFiled: July 23, 2004Publication date: January 27, 2005Inventors: Trevor Mudge, Todd Austin, David Blaauw, Krisztian Flautner -
Publication number: 20030217249Abstract: 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: ApplicationFiled: May 20, 2002Publication date: November 20, 2003Applicant: The Regents of the University of MichiganInventors: Matthew A. Postiff, Trevor Mudge, David Greene, Steven Raasch