Patents Assigned to Institute for the Development of Emerging Architecture L.L.C.
  • Patent number: 6012134
    Abstract: A computer processor with a mechanism for improved prefetching of instrucns into a local cache includes an instruction pointer multiplexer that generates one of a plurality of instruction pointers in a first pipeline stage, which is used to produce a physical address from an ITLB lookup. A comparison is performed by compare logic between the physical address (and tags) of a set in the local cache and the set associated with the selected instruction pointer. A way multiplexer selects the proper way output from either the compare logic or an instruction streaming buffer that stores instructions returned from the first cache, but not yet written into the local cache. An instruction is bypassed to the way multiplexer from the instruction streaming buffer in response to an instruction streaming buffer hit and a miss signal by the compare logic.
    Type: Grant
    Filed: April 9, 1998
    Date of Patent: January 4, 2000
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Rory McInerney, Eric Sindelar, Tse-Yu Yeh, Kalpana Ramakrishnan
  • Patent number: 6009263
    Abstract: An emulating agent and method is provided that receives numbers having si, exponents and significands of varying lengths and possibly configured in a variety of incompatible formats and to reformat the numbers into a standard uniform format for uniform arithmetic computations in processors operating with different architectures. In one embodiment, the emulating agent has a three-field superset register configured to receive the sign of a number in a first field, the exponent of a number in a second field and the significand of a number in a third field, regardless of the original format of the number, resulting in a number represented in a standard uniform format for computation. The embodiment also allows high level access to the fields to allow users to control the size of the numbers inserted into the fields.
    Type: Grant
    Filed: July 28, 1997
    Date of Patent: December 28, 1999
    Assignee: Institute For The Development Of Emerging Architectures, L.L.C.
    Inventors: Roger A. Golliver, Gautam Bhagwandas Doshi, Jerome C. Huck, Alan Hersh Karp, Sivakumar Makineni, Mike Morrison, Glen Colon-Bonet
  • Patent number: 6006325
    Abstract: A new instruction that ensures that the effects of a control register write will be observed at a well defined time is introduced. Specifically, the present invention introduces the concept of a serialization fence instruction. The serialization fence instruction ensures that after a control register in a computer has been modified, all subsequent instructions will observe the effects of the control register modification. Two different serialization fence instructions are illustrated: a data memory reference serialization fence instruction (SRLZ.d) and an instruction fetch serialization fence instruction (SRLZ.i). The data memory reference serialization fence instruction ensures that subsequent instruction executions and data memory references will observe the effects of the control register write. The instruction fetch serialization fence instruction ensures that the entire machine pipeline, starting at the initial instruction fetch stage, will observe the effects of the control register write.
    Type: Grant
    Filed: December 19, 1996
    Date of Patent: December 21, 1999
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Stephen Burger, Gary N. Hammond, William R. Bryg
  • Patent number: 5928356
    Abstract: A method and apparatus for controlling groups of registers includes a pluity of registers of the same type logically separated into a plurality of groups and a plurality of indicators corresponding to the plurality of groups of registers, each of the plurality of indicators identifying whether a corresponding group of registers has been modified by a task currently being executed by the processor. A control logic is also included, coupled to the plurality of registers, to selectively control the plurality of registers by group based at least in part on the plurality of indicators.
    Type: Grant
    Filed: October 11, 1997
    Date of Patent: July 27, 1999
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Roger A. Golliver, Jerome C. Huck, Dale C. Morris
  • Patent number: 5922065
    Abstract: A processor having a large register file utilizes a template field for ening a set of most useful instruction sequences in a long instruction word format. The instruction set of the processor includes instructions which are one of the plurality of different instruction types. The execution units of the processor are similarly categorized into different types, wherein each instruction type may be executed on one or more of the execution unit types. The instructions are grouped together into 128-bit sized and aligned containers called bundles, with each bundle includes a plurality of instruction slots and a template field that specifies the mapping of the instruction slots to the execution unit types.
    Type: Grant
    Filed: October 13, 1997
    Date of Patent: July 13, 1999
    Assignee: Institute For The Development Of Emerging Architectures, L.L.C.
    Inventors: James M. Hull, Kent Fielden, Hans Mulden, Harshvardhan Sharangpani
  • Patent number: 5915117
    Abstract: The inventive system and method allows for software control of hardware drral of exceptions in speculative operations, and comprises three components. The first component is processor stored information which reflects the code generation strategy of applications and is used by hardware and the operating system to control exception deferral. The second component is processor stored information set by the operating system to specify to hardware which type of faults should be automatically deferred. The third component is further processor stored information which indicates to the hardware to defer certain exception causing aspects of the speculative operation, while performing other non excepting aspects of the speculative operation. The stored information is set after the operating system exception handler has unsuccessfully attempted fault resolution.
    Type: Grant
    Filed: October 13, 1997
    Date of Patent: June 22, 1999
    Assignee: Institute For The Development of Emerging Architectures, L.L.C.
    Inventors: Jonathan K. Ross, Jack D. Mills, James O. Hays, Stephen G. Burger, Dale C. Morris, Carol L. Thompson, Rajiv Gupta, Stefan M. Freudenberger, Gary N. Hammond, Ralph M. Kling
  • Patent number: 5903749
    Abstract: A method and apparatus for implementing check instructions that allow for the reuse of memory conflict information if no memory conflict occurs. According to one aspect of the invention, a machine-readable medium having stored thereon data representing sequences of instructions is described. When executed by a computer system, the sequences of instructions cause the computer system to perform a series of steps. One of these steps involves preloading one of a set of registers data retrieved from a memory starting at a first address. Another of these steps involves storing memory conflict information representing the first address. This memory conflict information is later used for determining if a memory conflict has occurred. Another of these steps involves storing data at a second address in the memory. Yet another of these steps involves determining if a memory conflict has occurred between the first address and the second address using the previously stored memory conflict information.
    Type: Grant
    Filed: July 2, 1996
    Date of Patent: May 11, 1999
    Assignee: Institute for the Development of Emerging Architecture, L.L.C.
    Inventors: H. Roland Kenner, Alan Karp, William Chen
  • Patent number: 5848256
    Abstract: A scheduling unit is described for scheduling an execution order of a first instruction of a first type and a second instruction of a second type in an instruction stream where the second instruction precedes the first instruction. The scheduling unit comprises a table that records address component identifiers corresponding to the second instruction. An address comparator is coupled to the table. The address comparator compares address component identifiers that corresponds to the first instruction with address component identifiers on the table. The scheduling unit schedules the first instruction to be executed ahead of the second instruction when the address component identifiers differ from the address component identifiers on the table.
    Type: Grant
    Filed: September 30, 1996
    Date of Patent: December 8, 1998
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Josef R. Call, Michael J. Morrison
  • Patent number: 5815720
    Abstract: Dynamic translation is used to produce profile information used to optimize object code for an application. In order to produce optimized object code for the application, source code for the application is compiled to produce first object code for the application. The first object code is used in the generation of profile information about the application. This is done by dynamically translating the first object code to produce second object code. The second object code includes profiling code which, when executed, produces the profile information. The second object code is executed to produce the profile information. The source code for the application is recompiled to produce the optimized object code. The recompiling includes using the profile information in the production of the optimized object code.
    Type: Grant
    Filed: March 15, 1996
    Date of Patent: September 29, 1998
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventor: William B. Buzbee
  • Patent number: 5742804
    Abstract: A processor and method that reduces instruction fetch penalty in the execution of a program sequence of instructions comprises a branch predict instruction that is inserted into the program at a location which precedes the branch. The branch predict instruction has an opcode that specifies a branch as likely to be taken or not taken, and which also specifies a target address of the branch. A block of target instructions, starting at the target address, is prefetched into the instruction cache of the processor so that the instructions are available for execution prior to the point in the program where the branch is encountered. Also specified by the opcode is an indication of the size of the block of target instructions, and a trace vector of a path in the program sequence that leads to the target from the branch predict instruction for better utilization of limited memory bandwidth.
    Type: Grant
    Filed: July 24, 1996
    Date of Patent: April 21, 1998
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Tse-Yu Yeh, Mircea Poplingher, Kent G. Fielden, Hans Mulder, Rajiv Gupta, Dale Morris, Michael Schlansker
  • Patent number: 5664148
    Abstract: An apparatus including a cache subsystem arrangement for efficient management of input/output operations and of memory shared by processors in a multiprocessor system. The apparatus includes a central processing unit, an input/output device such as a network device or a display device for example, and the cache arrangement, which includes a coalescing buffer coupled with the data processing unit for receiving non-cacheable data from the processing unit. The non-cacheable data is combined in the coalescing buffer into non-cacheable data blocks. A system bus is coupled with the buffer and the input/output device for storing the non-cacheable data blocks to the input/output device. By combining the non-cacheable data before storage to the input/output device, the coalescing buffer provides higher performance in the multiprocessor system, since fewer bus transactions are issued for serial store operations and more stores can complete in a given amount of time than if they were issued singly on the bus.
    Type: Grant
    Filed: August 17, 1995
    Date of Patent: September 2, 1997
    Assignee: Institute for the Development of Emerging Architectures L.L.C.
    Inventors: Dean Mulla, Sorin Iacobovici
  • Patent number: 5652859
    Abstract: A method and apparatus for snooping both cache memory and associated buffer queues in a cache subsystem arrangement. Since there are usually several requests for cache data being handled at any given time under high performance operation of multiple processors, a cache arrangement includes at least one buffer queue for storing the address of the cache data line and the status of the cache data line, which facilitate keeping track of the data requests and handling them efficiently. In response to a snoop request, a snoop address is compared to the address stored in the buffer queue so as to provide a positive comparison result if the snoop address matches the address stored in the buffer queue, thereby indicating a snoop hit condition. The buffer queue of the cache arrangement further has a snoop hit bit for storing a record of the positive comparison result that indicates the snoop hit condition.
    Type: Grant
    Filed: August 17, 1995
    Date of Patent: July 29, 1997
    Assignee: Institute for the Development of Emerging Architectures, L.L.C.
    Inventors: Dean Mulla, Sorin Iacobovici