Patents Represented by Attorney Andrew S. Viger
  • Patent number: 5838897
    Abstract: A processor for outputting processor state information during idle bus cycles to facilitate the diagnosing and debugging of a processor. The processor includes a plurality of external pins for communicating data from the processor; a visibility register for selecting one of a plurality of modes which identifies processor state information to output onto the plurality of external pins; and a bus interface unit for communicating data to the external pins of the processor and for detecting an idle bus cycle. The bus interface unit outputs processor state information according to the identified mode onto the plurality of external pins in response to detecting an idle bus cycle.
    Type: Grant
    Filed: February 27, 1996
    Date of Patent: November 17, 1998
    Assignee: Cyrix Corporation
    Inventors: Mark W. Bluhm, Mark W. Hervin
  • Patent number: 5835951
    Abstract: An up/dn read prioritization protocol is used to select between multiple hits in a set associative cache. Each set has associated with it an up/dn priority bit that controls read prioritization for multiple hits in the set--the up/dn bit designates either (i) up prioritization in which the up direction is used to select the entry with the lowest way number, or (ii) dn prioritization in which the down direction is used to select the entry with the highest way number. For each new entry allocated into the cache, the state of the up/dn priority bit is updated such that, for the next cache access resulting in multiple hits, the read prioritization protocol selects the new entry for output by the cache.
    Type: Grant
    Filed: February 27, 1996
    Date of Patent: November 10, 1998
    Assignee: National Semiconductor
    Inventor: Steven C. McMahan
  • Patent number: 5835967
    Abstract: A prefetch unit is used, in an exemplary embodiment, in a superscalar, superpipelined microprocessor compatible with the x86 instruction set architecture. Normally, the prefetch unit performs split prefetching by generating low and high prefetch addresses in a single clock, with the high prefetch address being generated from the low prefetch address by incrementation. In cases where the low prefetch address is supplied to the prefetch unit too late in a clock period to generate the high prefetch address, such as where a branch instruction is not detected by a branch processing unit so that the target instruction address (i.e., the low prefetch address) is supplied by an address calculation stage, the prefetch unit generates a prefetch request consisting of only the low prefetch address.
    Type: Grant
    Filed: February 27, 1996
    Date of Patent: November 10, 1998
    Assignee: Cyrix Corporation
    Inventor: Steven C. McMahan
  • Patent number: 5835082
    Abstract: A data compression apparatus and method of displaying graphics in a computer system employs a full frame buffer and compressed frame buffer wherein pixel data is sent to a display device and concurrently compressed and captured in parallel so that subsequent unchanged frames are regenerated directly from the compressed frame buffer.
    Type: Grant
    Filed: May 27, 1997
    Date of Patent: November 10, 1998
    Assignee: National Semiconductor
    Inventor: Richard E. Perego
  • Patent number: 5805879
    Abstract: In a pipelined processor having at least one execution pipeline for executing instructions, the execution pipeline including ID (decode), AC (address calculation), and EX (execution) processing stages, the processor capable of addressing segments of system memory coupled thereto, a circuit for, and method of, setting a segment access indicator associated with a segment of the system memory being accessed by the processor. The circuit includes: (a) exception generating circuitry to generate an exception when the segment access indicator requires setting and (b) exception handling circuitry, invoked by the processor in response to generation of the exception, to flush the execution pipeline of instructions following a segment load instruction, set the segment access indicator and load an address pointer of the processor with an address corresponding to a specified location within the segment.
    Type: Grant
    Filed: February 23, 1996
    Date of Patent: September 8, 1998
    Assignee: Cyrix Corporation
    Inventors: Mark W. Hervin, Raul A. Garibay, Jr.
  • Patent number: 5801720
    Abstract: A processing system includes a graphics subsystem that directly renders raster data to system memory and moves bitmaps between locations within system memory with the graphics subsystem providing the data and a processor providing the virtual-to-physical addresses with privilege and protection check mechanisms.
    Type: Grant
    Filed: February 20, 1996
    Date of Patent: September 1, 1998
    Assignee: National Semiconductor Corporation
    Inventors: Forrest E. Norrod, Willard S. Briggs, Christopher G. Wilcox, Brian D. Falardeau, Sameer Y. Nanavati
  • Patent number: 5794026
    Abstract: A processor architecture and methodology for executing a condition dependent instruction over a plurality of execution stages in a microprocessor. The microprocessor includes a memory for storing microinstructions. The method involves various steps. In one step, an instruction is received. In another step, a first microinstruction is issued from the memory. This first microinstruction comprises a control and a base address. In yet another step, a secondary address is determined, external from the memory, by evaluating a plurality of predetermined data. In a still another step, the base address and the secondary address are combined to form a destination address in response to the control signal, wherein the destination address identifies a second microinstruction in the memory to execute a successive stage for the received instruction.
    Type: Grant
    Filed: October 18, 1993
    Date of Patent: August 11, 1998
    Assignee: National Semiconductor
    Inventors: Mark W. Hervin, Ronald S. McMahon
  • Patent number: 5786825
    Abstract: A processing system removes the burden of maintaining legacy hardware by employing a system management mode mechanism to provide an environment for virtualizing preexisting memory and I/O space instructions into operations for high resolution raster graphics circuitry, thus maintaining functionality and backwards compatibility with preexisting software.
    Type: Grant
    Filed: December 13, 1995
    Date of Patent: July 28, 1998
    Assignee: National Semiconductor
    Inventors: Bradley W. Cain, Frederick S. Dunlap, Joseph F. Baldwin
  • Patent number: 5784589
    Abstract: In a pipelined processor having at least one execution pipeline for executing instructions, the execution pipeline including ID (decode), AC (address calculation), and EX (execution) processing stages to process instructions for the processor, the processor including a register translation system that controls a renaming of physical registers of the processor to logical registers thereof, a tracking circuit that tracks availability of the physical registers for the renaming, method of operation thereof and processor containing the same.
    Type: Grant
    Filed: February 27, 1996
    Date of Patent: July 21, 1998
    Assignee: Cyrix Corporation
    Inventor: Mark W. Bluhm
  • Patent number: 5777500
    Abstract: Independent functional units are clocked by a clock source generator having at least two adjustable delay lines for independently adjusting the duty cycles of at least two clocks so that speed path margins are individually optimized for each functional unit.
    Type: Grant
    Filed: January 16, 1996
    Date of Patent: July 7, 1998
    Assignee: Cyrix Corporation
    Inventor: John K. Eitrheim
  • Patent number: 5771365
    Abstract: A microarchitecture in a complex instruction computer system is disclosed employing a sparse microROM array and concatenation address circuitry for forming microaddress entry points, avoiding the need for a programmable logic array to translate instruction opcodes and avoiding duplicative entry points, thus minimizing the microROM array size.
    Type: Grant
    Filed: March 1, 1995
    Date of Patent: June 23, 1998
    Assignee: Cyrix Corporation
    Inventors: Steven C. McMahan, Mark W. Bluhm
  • Patent number: 5764999
    Abstract: An enhanced system management mode (SMM) includes nesting of SMI (system management interrupt) routines for handling SMI events. Enhanced SMM is implemented in an computer system to support a Virtual System Architecture (VSA) in which peripheral hardware, such as for graphics and/or audio functions, is virtualized (simulated by SMI routines). Reentrant VSA/SMM software (handler) includes VSA/SMI routines invoked either by (a) SMI interrupts, such as from non-virtualized peripheral hardware such as audio FIFO buffers, or (b) SMI traps, such as from accesses to memory mapped or I/O space allocated to a virtualized peripheral function. SMI nesting permits a currently active VSA/SMI routine to be preempted by another (higher priority) SMI event. The SMM memory region includes an SMI header segment and a VSA/SMM software segment--the SMI header segment is organized as a quasi-stack into which nested SMI headers are saved.
    Type: Grant
    Filed: October 10, 1995
    Date of Patent: June 9, 1998
    Assignee: Cyrix Corporation
    Inventors: Christopher G. Wilcox, Joseph F. Baldwin, Xiaoli Y. Mendyke
  • Patent number: 5752274
    Abstract: An address translation unit is disclosed employing a direct-mapped translation lookaside buffer and a relatively small, associative victim translation lookaside buffer for translating linear addresses to physical addresses expediently and avoiding thrashing, without requiring large amounts of hardware and space.
    Type: Grant
    Filed: November 8, 1994
    Date of Patent: May 12, 1998
    Assignee: Cyrix Corporation
    Inventors: Raul A. Garibay, Jr., Marc A. Quattromani, Douglas Beard
  • Patent number: 5742755
    Abstract: In an .chi.86-compatible processor capable of operating in a protected mode of operation in which privilege levels are assigned to tasks executing therein, an application task being assigned a lowest privilege level and executable in the processor to cause the processor to calculate addresses corresponding to specific locations in a computer memory associated with the processor, the addresses to be in alignment with respect to the computer memory prior to the processor issuing the addresses, a circuit for, and method of, handling sequential alignment faults and a computer system embodying the same.
    Type: Grant
    Filed: February 20, 1996
    Date of Patent: April 21, 1998
    Assignee: Cyrix Corporation
    Inventor: Mark W. Hervin
  • Patent number: 5742184
    Abstract: An input buffer circuit provides programmable resistors for inputs to a microprocessor and compensates for switching voltage timing differences caused when a selected programmable resistor is utilized for a selected input. In a preferred embodiment, an input buffer circuit has a weak transistor coupled between the input and an operating voltage source or ground, and a compensation circuit including two transistors in series between the operating voltage source or ground, and an output. When the weak transistor is on, thereby raising or lowering the input signal, one of the transistors is also on and the other transistor couples the output to the operating voltage source or ground.
    Type: Grant
    Filed: February 16, 1996
    Date of Patent: April 21, 1998
    Assignee: Cyrix Corporation
    Inventor: Marvin W. Martinez, Jr.
  • Patent number: 5740398
    Abstract: A superscalar superpipelined microprocessor having a write buffer located between the core and cache is disclosed. The write buffer is controlled to store the results of write operations to memory until such time as the cache becomes available, such as when no high-priority reads are to be performed. The write buffer includes multiple entries that are split into two circular buffer sections for facilitating the interaction with the two pipelines of the core; cross-dependency tables are provided for each write buffer entry to ensure that the data is written from the write buffer to memory in program order, considering the possibility of prior data present in the opposite section. Non-cacheable reads from memory are also ordered in program order with the writing of data from the write buffer. Features for handling speculative execution, detecting and handling data dependencies and exceptions, and performing special write functions (misaligned writes and gathered writes) are also disclosed.
    Type: Grant
    Filed: October 18, 1993
    Date of Patent: April 14, 1998
    Assignee: Cyrix Corporation
    Inventors: Marc A. Quattromani, Nital Patwa
  • Patent number: 5740416
    Abstract: A branch processing unit (BPU) is used, in an exemplary embodiment, in a superscalar, superpipelined microprocessor compatible with the x86 instruction set architecture. In one embodiment, the BPU includes a target cache and a separate far target cache--the far target cache stores limits and mode bits for far targets stored in the target cache. For each far COF entry in the target cache, an FTC index field stores an index pointing to the corresponding entry in the far target cache. For far COFs that hit in the target cache, the target cache outputs corresponding far target addressing information and the associated FTC index to indirectly access the far target cache to obtain the associated segment limit information.
    Type: Grant
    Filed: February 26, 1996
    Date of Patent: April 14, 1998
    Assignee: Cyrix Corporation
    Inventor: Steven C. McMahan
  • Patent number: 5740410
    Abstract: A processing system includes clock circuitry that statically multiplies/divides a stimulus signal which can then be removed while a resultant product clock is still generated, A cascaded--dual tap delay line is employed having a single phase inversion which is looped back and logically ORed with the first edge of the stimulus signal to induce oscillation. A multiplier/divisor control signal adjusts the "N" times multiplication by disabling the loop after the desired number of pulses is achieved within the period of the stimulus signal. 1/M multiplication is achieved by disabling the loop from oscillating for M stimulus clocks. Multiple frequencies can be dynamically realized on-the-fly without resynchronization by combining delayed clock pulses with a multiplexer.
    Type: Grant
    Filed: December 15, 1995
    Date of Patent: April 14, 1998
    Assignee: Cyrix Corporation
    Inventor: Mark W. McDermott
  • Patent number: 5734844
    Abstract: Bidirectional handshake protocol circuitry is provided for asserting and deasserting a signal across a single line between a first device and a second device. Only the first device is permitted to assert the signal on the single line; and only the second device is permitted to deassert the signal on the single line. The protocol is particularly useful between a chipset and a CPU where the chipset asserts a System Management Interrupt (SMI) and the CPU deasserts the interrupt to signal to the chipset that the service routine is complete. After assertion (or deassertion), there is an overlap or hand-off period whereby the single line is driven in the same direction by both devices. After a predetermined number of clock cycles, the device which asserted or deasserted the signal is tristated to await deassertion or assertion, respectively.
    Type: Grant
    Filed: February 16, 1996
    Date of Patent: March 31, 1998
    Assignee: Cyrix Corporation
    Inventors: Claude Moughanni, Mark W. McDermott
  • Patent number: 5734881
    Abstract: A pipelined x86 processor includes a prefetch unit (prefetch buffer) and a branch unit that cooperate to detect when the target of a branch (designated a short branch) is already in the prefetch buffer, thereby avoiding issuing a prefetch request to retrieve the target. The branch unit includes a branch target cache (BTC) in which each entry stores, in addition to target address information for prefetching a prefetch block of instruction bytes containing a target instruction, a prefetch block location field--when this field is valid, it provides the location of the target instruction for a short branch within a prefetch block that is already in the prefetch buffer. In response to a branch that hits in the BTC, if the associated prefetch block location field is valid, the prefetch unit is able to begin transferring instruction bytes for the target instruction without issuing a prefetch request for the prefetch block containing the target instruction.
    Type: Grant
    Filed: December 15, 1995
    Date of Patent: March 31, 1998
    Assignee: Cyrix Corporation
    Inventors: Christopher E. White, Antone L. Fourcroy, Mark W. McDermott