Patents by Inventor Gerald D. Zuraski, Jr.
Gerald D. Zuraski, 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: 8181005Abstract: A system and method for branch prediction in a microprocessor. A hybrid device stores branch prediction information in a sparse cache for no more than a common smaller number of branches within each entry of the instruction cache. For the less common case wherein an i-cache line comprises additional branches, the device stores the corresponding branch prediction information in a dense cache. Each entry of the sparse cache stores a bit vector indicating whether or not a corresponding instruction cache line includes additional branch instructions. This indication may also be used to select an entry in the dense cache for storage. A second sparse cache stores entire evicted entries from the first sparse cache.Type: GrantFiled: September 5, 2008Date of Patent: May 15, 2012Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., James D. Dundas, Anthony X. Jarvis
-
Publication number: 20110093658Abstract: A system and method for branch prediction in a microprocessor. A branch prediction unit stores an indication of a location of a branch target instruction relative to its corresponding branch instruction. For example, a target instruction may be located within a first region of memory as a branch instruction. Alternatively, the target instruction may be located outside the first region, but within a larger second region. The prediction unit comprises a branch target array corresponding to each region. Each array stores a bit range of a branch target address, wherein the stored bit range is based upon the location of the target instruction relative to the branch instruction. The prediction unit constructs a predicted branch target address by concatenating a bits stored in the branch target arrays.Type: ApplicationFiled: October 19, 2009Publication date: April 21, 2011Inventors: Gerald D. Zuraski, JR., James D. Dundas, Anthony X. Jarvis
-
Publication number: 20100064123Abstract: A system and method for branch prediction in a microprocessor. A hybrid device stores branch prediction information in a sparse cache for no more than a common smaller number of branches within each entry of the instruction cache. For the less common case wherein an i-cache line comprises additional branches, the device stores the corresponding branch prediction information in a dense cache. Each entry of the sparse cache stores a bit vector indicating whether or not a corresponding instruction cache line includes additional branch instructions. This indication may also be used to select an entry in the dense cache for storage. A second sparse cache stores entire evicted entries from the first sparse cache.Type: ApplicationFiled: September 5, 2008Publication date: March 11, 2010Inventors: Gerald D. Zuraski, JR., James D. Dundas, Anthony X. Jarvis
-
Publication number: 20090177866Abstract: A method of operating a computer system. A first processor sends a first unit of binary information to an input/output (I/O) unit. The I/O unit then conveys the first unit of binary information to a functional unit in the computer system. A system response from the functional unit is then received by the I/O unit, which forwards the system response to the first processor. The system response is also stored in a first buffer. After a predetermined delay time has elapsed, the system response is then forwarded to the second processor.Type: ApplicationFiled: January 8, 2008Publication date: July 9, 2009Inventors: Michael L. Choate, Mark D. Nicol, Michael T. Clark, Scott A. White, Gregory A. Lewis, Todd Foster, Gerald D. Zuraski, JR.
-
Patent number: 7389402Abstract: A translation lookaside buffer may include control functionality coupled to a first storage and a second storage. The first storage includes a first plurality of entries for storing address translations corresponding to a plurality of page sizes. The second storage includes a second plurality of entries for storing address translations corresponding to the plurality of page sizes. In response to receiving a first address translation associated with a first page size, the control functionality may allocate the first plurality of entries to store address translations corresponding to the first page size. In addition, in response to receiving a request including an address that matches an address translation stored within the first storage, the control functionality may copy a matching address translation from the first storage to the second storage.Type: GrantFiled: June 7, 2005Date of Patent: June 17, 2008Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., Swamy Punyamurtula
-
Patent number: 7350119Abstract: A hierarchical encoding format for coding repairs to devices within a computing system. A device, such as a cache memory, is logically partitioned into a plurality of sub-portions. Various portions of the sub-portions are identifiable as different levels of hierarchy of the device. A first sub-portion may corresponds to a particular cache, a second sub-portion may correspond to a particular way of the cache, and so on. The encoding format comprises a series of bits with a first portion corresponding to a first level of the hierarchy, and a second portion of the bits corresponds to a second level of the hierarchy. Each of the first and second portions of bits are preceded by a different valued bit which serves to identify the hierarchy to which the following bits correspond. A sequence of repairs are encoded as string of bits. The bit which follows a complete repair encoding indicates whether a repair to the currently identified cache is indicated or whether a new cache is targeted by the following repair.Type: GrantFiled: June 2, 2004Date of Patent: March 25, 2008Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., Scott A. White
-
Patent number: 7213126Abstract: A processor includes a trace cache memory coupled to a trace generator. The trace generator may be configured to generate a plurality of traces each including one or more operations that may be decoded from one or more instructions. Each of the operations may be associated with a respective address. The trace cache memory is coupled to the trace generator and includes a plurality of entries each configured to store one of the traces. The trace generator may be further configured to restrict each of the traces to include only operations having respective addresses that fall within one or more predetermined ranges of contiguous addresses.Type: GrantFiled: January 12, 2004Date of Patent: May 1, 2007Assignee: Advanced Micro Devices, Inc.Inventors: Gregory William Smaus, Raghuram S. Tupuri, Gerald D. Zuraski, Jr.
-
Patent number: 7080170Abstract: An apparatus comprises a buffer comprising a plurality of entries, a plurality of age vectors, and a control circuit coupled to the buffer. Each of the age vectors corresponds to one or more of the entries. Responsive to data being provided to the buffer to be written to at least a first entry, the control circuit is configured to generate a first age vector. The first age vector corresponds to the first entry, and is indicative of which of the plurality of entries contain data that is older than the data being written to the first entry. The control circuit is configured to select an entry for reading responsive to the plurality of age vectors. The selected entry has an attribute used to select the selected entry, and other entries indicated as storing older data in the age vector corresponding to the selected entry do not have the attribute.Type: GrantFiled: September 3, 2003Date of Patent: July 18, 2006Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., Brian D. McMinn, Michael K. Ciraula
-
Patent number: 7024545Abstract: A processor is configured with a first level branch prediction cache configured to store branch prediction information corresponding to a group of instructions. In addition, a second level branch prediction cache is utilized to store branch prediction information which is evicted from the first level cache. The second level branch prediction cache is configured to store only a subset of the information which is evicted from the first level cache. Branch prediction information which is evicted from the first level cache and not stored in the second level cache is discarded. Upon a miss in the first level cache, a determination is made as to whether the second level cache contains branch prediction information corresponding to the miss. If corresponding branch prediction information is detected in the second level cache, the detected branch prediction information is used to rebuild complete branch prediction information.Type: GrantFiled: July 24, 2001Date of Patent: April 4, 2006Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., James S. Roberts
-
Patent number: 6873184Abstract: An apparatus comprises a buffer comprising a plurality of entries, an insert pointer, a delete pointer, a plurality of first control circuits coupled to the buffer, and a second control circuit coupled to the buffer. The entries are logically divided into a plurality of groups. Each of the first control circuits corresponds to a respective group and selects an entry from the respective group for potential reading from the buffer. Furthermore, each of the first control circuits, in the event that the delete pointer indicates a first entry in the respective group and the insert pointer wraps around the buffer and indicates a second entry in the respective group, selects the first entry if the first entry is eligible for selection. The second control circuit selects a first group, and the entry selected from the first group by the first control circuits is the entry read from the buffer.Type: GrantFiled: September 3, 2003Date of Patent: March 29, 2005Assignee: Advanced Micro Devices, Inc.Inventors: Brian D. McMinn, Michael K. Ciraula, Gerald D. Zuraski, Jr.
-
Patent number: 6854050Abstract: A method and mechanism for performing branch prediction. A processor is configured with a branch prediction cache which is configured to store branch prediction information corresponding to a group of instructions. Branch marker bits are stored, each of which correspond to a different byte range of a group of instruction bytes. Each branch marker bit provides an indication as to whether or not a predicted branch instruction ends within the corresponding byte range. In response to receiving a fetch address, a corresponding branch marker bit is selected. A determination is made as to whether the selected bit indicates the presence of a predicted branch instruction. A plurality of branch prediction information entries are also maintained. If the selected branch marker bit indicates a predicted branch, the position of the selected branch marker bit relative to other branch marker bits may be used to select a corresponding entry from the branch prediction information entries.Type: GrantFiled: February 28, 2002Date of Patent: February 8, 2005Assignee: Advanced Micro Devices, Inc.Inventor: Gerald D. Zuraski, Jr.
-
Patent number: 6804799Abstract: A microprocessor configured to store victimized instruction and data bytes is disclosed. In one embodiment, the microprocessor includes a predecode unit, and instruction cache, a data cache, and a level two cache. The predecode unit receives instruction bytes and generates corresponding predecode information that is stored in the instruction cache with the instruction bytes. The data cache receives and stores data bytes. The level two cache is configured to receive and store victimized instruction bytes from the instruction cache along with parity information and predecode information, and victimized data bytes from the data cache along with error correction code bits. Indicator bits may be stored on a cache line basis to indicate the type of data is stored therein.Type: GrantFiled: June 26, 2001Date of Patent: October 12, 2004Assignee: Advanced Micro Devices, Inc.Inventor: Gerald D. Zuraski, Jr.
-
Patent number: 6560740Abstract: An apparatus and method are presented for programmable built-in self-test (BIST) and built-in self-repair (BISR) of an embedded memory (i.e., a memory formed with random logic upon a semiconductor substrate). A semiconductor device may include a memory unit, a BIST logic unit coupled to the memory unit, and a master test unit coupled to the BIST logic unit and the memory unit. The memory unit stores data input signals in response to a first set of address and control signals, and provides the stored data input signals as data output signals in response to a second set of address and control signals. The master test unit provides the memory test pattern to the BIST logic unit and generates the first and second sets of address and control signals.Type: GrantFiled: August 3, 1999Date of Patent: May 6, 2003Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., Timothy J. Wood, Raghuram S. Tupuri
-
Patent number: 6510508Abstract: A translation lookaside buffer (TLB) flush filter. In one embodiment, a central processing unit includes a TLB for storing recent address translations. A TLB flush filter monitors blocks of memory from which address translations have been loaded and cached in the TLB. The TLB flush filter is configured to detect if any of the underlying address translations in memory have changed. If no changes have occurred, the TLB flush filter may then prevent a flush of the TLB following the next context switch. If changes have occurred to the underlying address translations, the TLB flush filter may then allow a flush of the TLB following a context switch.Type: GrantFiled: June 15, 2000Date of Patent: January 21, 2003Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., Michael T. Clark
-
Patent number: 6502188Abstract: A branch prediction unit includes a local branch prediction and a global branch prediction. A global branch prediction utilizes a global history shift register to record the behavior of conditional branches. In some cases, a conditional branch may behave in a static manner, either always being taken or not taken, while resident in an instruction cache. Such static behaving conditional branches do not need a global history for prediction and contend with other conditional branches for global branch history training. By utilizing a dynamic branch classification scheme, branches requiring global history prediction can be identified and static behaving conditional branches may be prevented from polluting the global history. All conditional branches are initially classified as local and do not participate in global history training. Only after two mispredictions are branches recognized as exhibiting dynamic behavior and classified as global.Type: GrantFiled: November 16, 1999Date of Patent: December 31, 2002Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., James S. Roberts, Raghuram S. Tupuri
-
Patent number: 6446189Abstract: A processor is presented including a cache unit coupled to a bus interface unit (BIU). Address signal selection and masking functions are performed by circuitry within the BIU rather than within the cache unit, and physical addresses produced by the BIU are stored within the TLB. As a result, address signal selection and masking circuitry (e.g., a multiplexer and gating logic) are eliminated from a critical speed path within the cache unit, allowing the operational speed of the cache unit to be increased. The cache unit stores data items, and produces a data item corresponding to a received linear address. A translation lookaside buffer (TLB) within the cache unit stores multiple linear addresses and corresponding physical addresses. When a physical address corresponding to the received linear address is not found within the TLB, the cache unit passes the linear address to the BIU.Type: GrantFiled: June 1, 1999Date of Patent: September 3, 2002Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., Frederick D. Weber, William A. Hughes, William K. Lewchuk, Scott A. White, Michael T. Clark
-
Patent number: 6415360Abstract: A processor employs an SMC check apparatus. The SMC check apparatus may minimize the number of explicit SMC checks performed for non-cacheable stores. Cacheable stores may be handled using any suitable mechanism. For non-cacheable stores, the processor tracks whether or not the in-flight instructions are cached. Upon encountering a non-cacheable store, the processor inhibits an SMC check if the in-flight instructions are cached. Since, for performance reasons, the code stream is often cached, non-cacheable stores may frequently be able to skip an explicit, complex, and time consuming SMC check. Performance of non-cacheable stores (and memory throughput overall) may be increased. The handling of non-cacheable stores as described herein may be particularly beneficial to video data manipulations, which may frequently be of a non-cacheable memory type and which may be important to the overall performance of a computer system.Type: GrantFiled: May 18, 1999Date of Patent: July 2, 2002Assignee: Advanced Micro Devices, Inc.Inventors: William Alexander Hughes, William Kurt Lewchuk, Gerald D. Zuraski, Jr.
-
Patent number: 6405303Abstract: A microprocessor configured to decode a plurality of instruction bytes in parallel is disclosed. The microprocessor may comprise a plurality of single-byte decoder/execution units that are configured to receive instruction bytes and cross-talk to determine instruction boundaries and instruction field boundaries. Once and instruction has been identified, a determination is made as to whether or not the instruction is a simple instruction. Simple instructions are executed within the decoder/execution units, while complex instructions are forwarded to full-fledged functional units. A computer system and method for predecoding instructions are also disclosed.Type: GrantFiled: August 31, 1999Date of Patent: June 11, 2002Assignee: Advanced Micro Devices, Inc.Inventors: Paul K. Miller, Gerald D. Zuraski, Jr.
-
Patent number: 6389512Abstract: A core snoop buffer apparatus is provide which stores addresses of pages from which instructions have been fetched but not yet retired (i.e. the instructions are outstanding within the instruction processing pipeline). Addresses corresponding to memory locations being modified are compared to the addresses stored in the core snoop buffer on a page basis. If a match is detected, then instructions are flushed from the instruction processing pipeline and refetched. In this manner, the instructions executed to the point of modifying registers or memory are correct in self-modifying code or multiprocessor environments. Instructions may be speculatively fetched and executed while retaining coherency with respect to changes to memory. The number of pages from which instructions are concurrently outstanding within the microprocessor are typically small compared to the number of cache lines outstanding or the number of instructions outstanding.Type: GrantFiled: December 29, 1999Date of Patent: May 14, 2002Assignee: Advanced Micro Devices, Inc.Inventors: Rupaka Mahalingaiah, Gerald D. Zuraski, Jr.
-
Patent number: 6260134Abstract: A predecode unit is configured to predecode a fixed number of instruction bytes of variable length instructions per clock cycle. The predecode unit outputs predecode bits which identify the start byte of an instruction. An instruction alignment unit uses the start bits to dispatch the instructions to a plurality of decode units that form fixed issue positions. In one embodiment, the predecode unit identifies a plurality of length vectors. Each length vector is associated with one of the instruction bytes predecoded in a clock cycle and identifies the length of an instruction if an instruction starts at the instruction byte corresponding to the length vector. A tree circuit determines in which instruction bytes instructions start.Type: GrantFiled: November 2, 1998Date of Patent: July 10, 2001Assignee: Advanced Micro Devices, Inc.Inventors: Gerald D. Zuraski, Jr., Syed F. Ahmed, Paul K. Miller