Patents by Inventor Mauricio Breternitz, Jr.

Mauricio Breternitz, Jr. 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: 8099587
    Abstract: An arrangement is provided for compressing microcode ROM (“uROM”) in a processor and for efficiently accessing a compressed “uROM”. A clustering-based approach may be used to effectively compress a uROM. The approach groups similar columns of microcode into different clusters and identifies unique patterns within each cluster. Only unique patterns identified in each cluster are stored in a pattern storage. Indices, which help map an address of a microcode word (“uOP”) to be fetched from a uROM to unique patterns required for the uOP, may be stored in an index storage. Typically it takes a longer time to fetch a uOP from a compressed uROM than from an uncompressed uROM. The compressed uROM may be so designed that the process of fetching a uOP (or uOPs) from a compressed uROM may be fully-pipelined to reduce the access latency.
    Type: Grant
    Filed: July 20, 2005
    Date of Patent: January 17, 2012
    Assignee: Intel Corporation
    Inventors: Youfeng Wu, Sangwook Kim, Mauricio Breternitz, Jr., Herbert Hum
  • Publication number: 20110320766
    Abstract: An apparatus and method is described herein for coupling a processor core of a first type with a co-designed core of a second type. Execution of program code on the first core is monitored and hot sections of the program code are identified. Those hot sections are optimize for execution on the co-designed core, such that upon subsequently encountering those hot sections, the optimized hot sections are executed on the co-designed core. When the co-designed core is executing optimized hot code, the first processor core may be in a low-power state to save power or executing other code in parallel. Furthermore, multiple threads of cold code may be pipelined on the first core, while multiple threads of hot code are pipeline on the co-designed core to achieve maximum performance.
    Type: Application
    Filed: June 29, 2010
    Publication date: December 29, 2011
    Inventors: Youfeng Wu, Shiliang Hu, Edson Borin, Cheng C. Wang, Mauricio Breternitz, JR., Wei Liu
  • Publication number: 20110320775
    Abstract: Methods and apparatus relating to accelerating execution of compressed code are described. In one embodiment, a two-level embedded code decompression scheme is utilized which eliminates bubbles, which may increase speed and/or reduce power consumption. Other embodiments are also described and claimed.
    Type: Application
    Filed: June 27, 2010
    Publication date: December 29, 2011
    Inventors: Edson Borin, Mauricio Breternitz, JR., Nir Bone, Shlomo Avni
  • Patent number: 7840953
    Abstract: In a method for reducing code size a replaceable subset of instructions at a first location within a set of instructions and a matching target subset of instructions at a second location within the set of instructions are identified. A base offset and a relative offset are determined. The base offset and the relative offset indicate an absolute offset from the first location to the second location. An instruction to cause a base offset storage element to be loaded with the base offset is inserted prior to the first location. The replaceable subset of instructions is replaced with a second instruction to cause a program counter to be modified based on the relative offset and a value in the base offset register so that the modified program counter indicates the second location.
    Type: Grant
    Filed: December 22, 2004
    Date of Patent: November 23, 2010
    Assignee: Intel Corporation
    Inventors: Youfeng Wu, Mauricio Breternitz, Jr.
  • Patent number: 7757221
    Abstract: A method and apparatus for dynamic binary translator to support precise exceptions with minimal optimization constraints. In one embodiment, the method includes the translation of a source binary application generated for a source instruction set architecture (ISA) into a sequential, intermediate representation (IR) of the source binary application. In one embodiment, the sequential IR is modified to incorporate exception recovery information for each of the exception instructions identified from the source binary application to enable a dynamic binary translator (DBT) to represent exception recovery values as regular values used by IR instructions. In one embodiment, the sequential IR may be optimized with a constraint on movement of an exception instruction downward past an irreversible instruction to form a non-sequential IR. In one embodiment, the non-sequential IR is optimized to form a translated binary application for a target ISA. Other embodiments are described and claimed.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: July 13, 2010
    Assignee: Intel Corporation
    Inventors: Bixia Zheng, Cheng C. Wang, Ho-seop Kim, Mauricio Breternitz, Jr., Youfeng Wu
  • Patent number: 7725887
    Abstract: In a method for reducing code size, replaceable subsets of instructions at first locations in areas of infrequently executed instructions in a set of instructions and target subsets of instructions at second locations in the set of instructions are identified, wherein each replaceable subset matches at least one target subset. If multiple target subsets of instructions match one replaceable subset of instructions, one of the multiple matching target subsets is chosen as the matching target subset for the one replaceable subset based on whether the multiple target subsets are located in regions of frequently executed code. For each of at least some of the replaceable subsets of instructions, the replaceable subset of instructions is replaced with an instruction to cause the matching target subset of instructions at the second location to be executed.
    Type: Grant
    Filed: December 22, 2004
    Date of Patent: May 25, 2010
    Assignee: Intel Corporation
    Inventors: Youfeng Wu, Mauricio Breternitz, Jr.
  • Patent number: 7694281
    Abstract: A first potential hot trace of a program is determined. A second potential hot trace of the program is determined. A common path from the first potential hot trace and the second potential hot trace is selected as the selected hot trace of the program.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: April 6, 2010
    Assignee: Intel Corporation
    Inventors: Cheng Wang, Bixia Zheng, Ho-seop Kim, Mauricio Breternitz, Jr., Youfeng Wu
  • Patent number: 7620781
    Abstract: Implementation of a Bloom filter using multiple single-ported memory slices. A control value is combined with a hashed address value such that the resultant address value has the property that one, and only one, of the k memories or slices is selected for a given input value, a, for each bank. Collisions are thereby avoided and the multiple hash accesses for a given input value, a, may be performed concurrently. Other embodiments are also described and claimed.
    Type: Grant
    Filed: December 19, 2006
    Date of Patent: November 17, 2009
    Assignee: Intel Corporation
    Inventors: Mauricio Breternitz, Jr., Youfeng Wu, Peter G. Sassone, Jeffrey P. Rupley, II, Wesley Attrot, Bryan Black
  • Publication number: 20090172713
    Abstract: Methods and apparatuses enable on-demand instruction emulation via user-level exception handling. A non-supported instruction triggers an exception during runtime of a program. In response to the exception, a user-level or application-level exception handler is launched, instead of a kernel-level handler. Then the exception handler can execute at the application layer instead of the kernel level. The handler identifies the instruction and emulates the instruction, where emulation of the instruction is supported by the handler. Emulating the instructions enables the program to continue execution. Repeated instruction emulation is amortized via dynamic binary translation of hot code.
    Type: Application
    Filed: December 31, 2007
    Publication date: July 2, 2009
    Inventors: Ho-Seop Kim, Mauricio Breternitz, JR., Youfeng Wu
  • Patent number: 7451121
    Abstract: A method to compress microcode utilizing a genetic algorithm includes generating a population of chromosomes, each chromosome including one or more elements that indicate a cluster to which a portion of microcode memory belongs. The method further includes determining a fitness value of each chromosome and modifying the population of chromosomes based on the fitness values of the chromosomes to generate a new population of chromosomes. In addition, the method includes compressing the microcode memory using a cluster-based compression technique, wherein clusters are selected according to a chromosome from the new population with the best fitness value. Other embodiments are also disclosed.
    Type: Grant
    Filed: September 27, 2005
    Date of Patent: November 11, 2008
    Assignee: Intel Corporation
    Inventors: Youfeng Wu, Mauricio Breternitz, Jr.
  • Patent number: 7430574
    Abstract: Methods are disclosed to implement bit scan operations using properties of two's complement arithmetic and compute zero index instructions. A data value may be provided and the most-significant or least-significant bit may be determined using the methods set forth herein.
    Type: Grant
    Filed: June 24, 2004
    Date of Patent: September 30, 2008
    Assignee: Intel Corporation
    Inventors: Mauricio Breternitz, Jr., Youfeng Wu, Tal Abir
  • Patent number: 7428731
    Abstract: A method, machine readable medium, and system are disclosed. In one embodiment the method comprises collecting a loop trip count continuously during runtime of a region of code being executed that contains a loop, categorizing the trip count to identify one or more code modification techniques applicable to the loop, and dynamically applying the one or more applicable code modification techniques to alter the code that relates to the loop.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: September 23, 2008
    Assignee: Intel Corporation
    Inventors: Youfeng Wu, Mauricio Breternitz, Jr.
  • Patent number: 7095342
    Abstract: In one embodiment, the present invention includes a method to compress data stored in a memory to reduce size and power consumption. The method includes segmenting each word of a code portion into multiple fields, forming tables having unique entries for each of the fields, and assigning a pointer to each of the unique entries in each of the tables. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 31, 2005
    Date of Patent: August 22, 2006
    Assignee: Intel Corporation
    Inventors: Herbert Hum, Mauricio Breternitz, Jr., Youfeng Wu, Sangwook Kim
  • Patent number: 6823070
    Abstract: Method of monitoring a secure encrypted communication, where the encryption key(s) is recovered by an escrow center having a master and multiple agents and the master receives the key encrypted using a mask scheme. Independent random masks are generated, which are then used to create dependent masks for each agent. The agents receive the mask information but no key information. The agents decide whether to allow the interception of an encrypted message. In response to the agents' decisions, the master is either enabled to recover the key or prevented from recovering the key. Encrypted key information is only available to the master. Multiple combinations of agents will provide sufficient information to the master to recover the key, avoiding the hold-out problems of the prior art. In one embodiment, multiple masters provide back-up protection when a master is unavailable.
    Type: Grant
    Filed: March 28, 2000
    Date of Patent: November 23, 2004
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Roger A. Smith, Mauricio Breternitz, Jr.
  • Patent number: 6523095
    Abstract: A cache line of a cache (230) contains a modifiable instruction. The modifiable instruction is decoded by a central processor unit (210) (CPU) which performs the function associated with the modifiable instruction. After the modifiable instruction has been executed, the CPU (210) sets an instruction modified bit associated with the cache (200) based on the execution results of the modifiable instruction. During a subsequent process of the modifiable instruction location, the CPU Decode Unit (212) substitutes a modified instruction for the modifiable instruction based on the instruction modify indicator.
    Type: Grant
    Filed: July 22, 1996
    Date of Patent: February 18, 2003
    Assignee: Motorola, Inc.
    Inventor: Mauricio Breternitz, Jr.
  • Patent number: 6484228
    Abstract: During a compressing portion, memory (20) is divided into cache line blocks (500). Each cache line block is compressed and modified by replacing address destinations of address indirection instructions with compressed address destinations. Each cache line block is modified to have a flow indirection instruction as the last instruction in each cache line. The compressed cache line blocks (500) are stored in a memory (858). During a decompression portion, a cache line (500) is accessed based on an instruction pointer (902) value. The cache line is decompressed and stored in cache. The cache tag is determined based on the instruction pointer (902) value.
    Type: Grant
    Filed: November 5, 2001
    Date of Patent: November 19, 2002
    Assignee: Motorola, Inc.
    Inventors: Mauricio Breternitz, Jr., Roger A. Smith
  • Patent number: 6381739
    Abstract: A compiler (142) constructs (FIGS. 14-32) a Reduced Flowgraph (RFG) from computer source code (144). The RFG is used to instrument (FIG. 36) code (142). An object module is created (146) and executed (148). Resulting path frequency counts are written to a counts file (154). A compiler (158) uses the source code (144) and the generated counts to identify runtime correlations between successive path edges and Superedges. An object module (159) is generated containing reordered (156) code generated to optimize performance based on the runtime correlations. If cloning is enabled (152), high frequency path edges are cloned (154) or duplicated to minimize cross edge branching.
    Type: Grant
    Filed: May 15, 1996
    Date of Patent: April 30, 2002
    Assignee: Motorola Inc.
    Inventors: Mauricio Breternitz, Jr., Roger A. Smith
  • Patent number: 6343354
    Abstract: During a compressing portion, memory (20) is divided into cache line blocks (500). Each cache line block is compressed and modified by replacing address destinations of address indirection instructions with compressed address destinations. Each cache line block is modified to have a flow indirection instruction as the last instruction in each cache line. The compressed cache line blocks (500) are stored in a memory (858). During a decompression portion, a cache line (500) is accessed based on an instruction pointer (902) value. The cache line is decompressed and stored in cache. The cache tag is determined based on the instruction pointer (902) value.
    Type: Grant
    Filed: April 19, 2000
    Date of Patent: January 29, 2002
    Assignee: Motorola Inc.
    Inventors: Mauricio Breternitz, Jr., Roger A. Smith
  • Patent number: 6216213
    Abstract: During a compressing portion, memory (20) is divided into cache line blocks (500). Each cache line block is compressed and modified by replacing address destinations of address indirection instructions with compressed address destinations. Each cache line block is modified to have a flow indirection instruction as the last instruction in each cache line. The compressed cache line blocks (500) are stored in a memory (858). During a decompression portion, a cache line (500) is accessed based on an instruction pointer (902) value. The cache line is decompressed and stored in cache. The cache tag is determined based on the instruction pointer (902) value.
    Type: Grant
    Filed: June 7, 1996
    Date of Patent: April 10, 2001
    Assignee: Motorola, Inc.
    Inventors: Mauricio Breternitz, Jr., Roger A. Smith
  • Patent number: 6044220
    Abstract: An instruction set interpreter and translator provides dynamic idiom recognition by use of a programmable hash table. Idioms are sequences of consecutive instructions that occur frequently during execution. Interpretive execution of such idioms is optimized to attain high performance. Idioms are recognized dynamically during interpretive execution. A programmable hash table is extended with entries corresponding to newly recognized idioms as their frequency of occurrence exceeds a threshold.
    Type: Grant
    Filed: February 25, 1997
    Date of Patent: March 28, 2000
    Assignee: Motorola, Inc.
    Inventor: Mauricio Breternitz, Jr.