Patents by Inventor Donald B. Alpert

Donald B. Alpert 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: 7389403
    Abstract: An Adaptive Computing Ensemble (ACE) includes a plurality of flexible computation units as well as an execution controller to allocate the units to Computing Ensembles (CEs) and to assign threads to the CEs. The units may be any combination of ACE-enabled units, including instruction fetch and decode units, integer execution and pipeline control units, floating-point execution units, segmentation units, special-purpose units, reconfigurable units, and memory units. Some of the units may be replicated, e.g. there may be a plurality of integer execution and pipeline control units. Some of the units may be present in a plurality of implementations, varying by performance, power usage, or both. The execution controller dynamically alters the allocation of units to threads in response to changing performance and power consumption observed behaviors and requirements.
    Type: Grant
    Filed: March 29, 2006
    Date of Patent: June 17, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Donald B. Alpert, John Gregory Favor, Peter N. Glaskowsky, Seungyoon Peter Song
  • Patent number: 5958037
    Abstract: A multi-level identification apparatus and method for providing at least two types of identification information, including a first type for identifying the origin of a microprocessor and the number of levels of identification information available, and a second type for identifying a family, a model, a stepping ID, and features of a microprocessor. The apparatus includes a first memory element for storing an indicia string that identifies the origin of the microprocessor. The apparatus also includes a second memory element for storing other microprocessor ID data including data fields for specifically identifying the microprocessor. The apparatus includes control logic for executing an ID instruction that reads the indicia string or the microprocessor ID data, dependent upon a preselected type. Whichever identification information is read, it is stored in one or more general purpose registers for selective reading by a programmer. The method is available at any time while the microprocessor is operating.
    Type: Grant
    Filed: February 26, 1993
    Date of Patent: September 28, 1999
    Assignee: Intel Corporation
    Inventors: Robert S. Dreyer, William M. Corwin, Donald B. Alpert, Tsu-Hua Wang, Daniel G. Lau, Frederick J. Pollack
  • Patent number: 5790834
    Abstract: An identification apparatus and method for identifying the microprocessor, including a read-only memory for storing microprocessor ID data having data fields for identifying the microprocessor, and control logic for executing an ID instruction that reads the microprocessor ID data from the read-only memory and stores it in a register that can be selectively read by a programmer. The identification apparatus and method also include an ID flag indicative of implementation of the ID instruction in the microprocessor, and a test flag program for testing the ID flag to determine whether or not to execute the ID instruction. The method is available at any time while the microprocessor is operating, for example during initialization of the system software, installation of a program, or while a program is running. Once a microprocessor has been identified, features appropriate to the specific microprocessor can be enabled, and work-around programs can be installed.
    Type: Grant
    Filed: August 31, 1992
    Date of Patent: August 4, 1998
    Assignee: Intel Corporation
    Inventors: Robert S. Dreyer, Donald B. Alpert
  • Patent number: 5692167
    Abstract: An apparatus and method for improving the performance of pipelined computer processors which have segment bits for specifying the operand size, the address size for memory reference, and the stack size, and which can run self-modifying code. The processor predicts segment bits based on previously used segment bits. Actual segment bits are later determined during execution of an instruction. The predicted segment bits are compared with the actual segment bits, and the pipeline is flushed if they do not match. Also, an instruction verification method is provided to determine if self-modifying code has modified instructions already in the pipeline. Upon execution of a write instruction, each instruction address in the pipeline is compared with the write address. If a match is found, the pipeline is flushed.
    Type: Grant
    Filed: August 19, 1996
    Date of Patent: November 25, 1997
    Assignee: Intel Corporation
    Inventors: Edward T. Grochowski, Donald B. Alpert
  • Patent number: 5675825
    Abstract: An identification apparatus and method for identifying the microprocessor, including a read-only memory for storing microprocessor ID data having data fields for identifying the microprocessor, and control logic for executing an ID instruction that reads the microprocessor ID data from the read-only memory and stores it in a register that can be selectively read by a programmer. The identification apparatus and method also include an ID flag indicative of implementation of the ID instruction in the microprocessor, and a test flag program for testing the ID flag to determine whether or not to execute the ID instruction. The method is available at any time while the microprocessor is operating, for example during initialization of the system software, installation of a program, or while a program is running. Once a microprocessor has been identified, features appropriate to the specific microprocessor can be enabled, and work-around programs can be installed.
    Type: Grant
    Filed: December 19, 1995
    Date of Patent: October 7, 1997
    Assignee: Intel Corporation
    Inventors: Robert S. Dreyer, Donald B. Alpert
  • Patent number: 5669011
    Abstract: A microprocessor partially decodes instructions retrieved from main memory before placing them into the microprocessor's integrated instruction cache. Each storage location in the instruction cache includes two slots for decoded instructions. One slot controls one of the microprocessor's integer pipelines and a port to the microprocessor's data cache. A second slot controls the second integer pipeline or one of the microprocessor's floating point units. The instructions retrieved from main memory are decoded by a loader unit which decodes the instructions from the compact form as stored in main memory and places them into the two slots of the instruction cache entry according to their functions. In addition, auxiliary information is placed in the cache entry along with the instruction to control parallel execution as well as emulation of complex instructions.
    Type: Grant
    Filed: June 18, 1996
    Date of Patent: September 16, 1997
    Assignee: National Semiconductor Corporation
    Inventors: Donald B. Alpert, Dror Avnon, Amos Ben-Meir, Ran Talmudi
  • Patent number: 5657253
    Abstract: An apparatus for measuring and monitoring various parameters that contribute to the performance of a processor includes a pair of programmable event counters for counting any two independent events selected from a predetermined list of processor events. A specialized register controls the operation of the event counters and also selects the events to be counted. The contents of the event counters can be accessed either by a supervisor mode program which reads an instruction or through a special access port.
    Type: Grant
    Filed: May 15, 1992
    Date of Patent: August 12, 1997
    Assignee: Intel Corporation
    Inventors: Robert S. Dreyer, Donald B. Alpert
  • Patent number: 5638525
    Abstract: A data processor is described. The data processor is capable of decoding and executing the first instruction of a first instruction set and the second instruction of a second instruction set wherein the first instruction and the second instruction originate from a single computer program. Alternatively, the data processor can also execute a first instruction of a first instruction set in a first instruction set mode, receive a first interruption indication in the first instruction set mode, service the first interruption indication in a second instruction set mode, return to the first instruction set mode, receive a second interruption indication in the first instruction set mode, and service the second interruption indication in the first instruction set mode.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: June 10, 1997
    Assignee: Intel Corporation
    Inventors: Gary N. Hammond, Kevin C. Kahn, Donald B. Alpert
  • Patent number: 5617554
    Abstract: An address translator and a method for translating a linear address into a physical address for memory management in a computer is described herein. Different memory sizes, and different page sizes can be selected. The address translator can translate from a standard 32-bit linear address for compatibility with previous 32-bit architectures, and can also translate to a physical memory size with a larger physical address than linear address; i.e., greater than 32 bits (e.g. 36 bits and up), with no increase in access time. The address translator translates a linear address that includes an offset and a plurality of fields used to select entries in a plurality of tables. The format of the linear address into fields is dependent upon the selected memory size and the selected page size.
    Type: Grant
    Filed: December 23, 1994
    Date of Patent: April 1, 1997
    Assignee: Intel Corporation
    Inventors: Donald B. Alpert, Kenneth D. Shoemaker, Kevin C. Kahn, Konrad K. Lai
  • Patent number: 5606676
    Abstract: An apparatus and method for improving the performance of superscalar pipelined computers using branch prediction and verification that the predicted branch is correct. A predicted branch may be resolved in one of two distinct pipeline stages, and a method is provided for handling branches that are resolved in either of the pipeline stages. A branch verification method is provided that verifies that the architecturally correct instructions are in the decode and execution stages. Furthermore, two sets of prefetch buffers are provided to allow branch prediction when multiple clock decoding is required by a multi-clock instruction.
    Type: Grant
    Filed: February 9, 1995
    Date of Patent: February 25, 1997
    Assignee: Intel Corporation
    Inventors: Edward T. Grochowski, Donald B. Alpert, Jack D. Mills, Uri C. Weiser
  • Patent number: 5559986
    Abstract: An interleaved cache is used for multiple data accesses per clock in a microprocessor. The cache includes a storage array having multiple banks of single-ported memory cells for storing data, a bank selector for selecting banks in the storage array simultaneously according to the multiple data accesses, and a datapath for transfering data between execution units in the microprocessor and the storage array. The cache of the present invention also includes contention logic for prioritizing the multiple data accesses when multiple data accesses are to be same bank.
    Type: Grant
    Filed: February 2, 1994
    Date of Patent: September 24, 1996
    Assignee: Intel Corporation
    Inventors: Donald B. Alpert, Mustafiz R. Choudhury, Jack D. Mills
  • Patent number: 5481751
    Abstract: A microprocessor partially decodes instructions retrieved from main memory before placing them into the microprocessor's integrated instruction cache. Each storage location in the instruction cache includes two slots for decoded instructions. One slot controls one of the microprocessor's integer pipelines and a port to the microprocessor's data cache. A second slot controls the second integer pipeline or one of the microprocessor's floating point units. The instructions retrieved from main memory are decoded by a loader unit which decodes the instructions from the compact form as stored in main memory and places them into the two slots of the instruction cache entry according to their functions. In addition, auxiliary information is placed in the cache entry along with the instruction to control parallel execution as well as emulation of complex instructions.
    Type: Grant
    Filed: October 17, 1994
    Date of Patent: January 2, 1996
    Assignee: National Semiconductor Corporation
    Inventors: Donald B. Alpert, Dror Avnon, Amos Ben-Meir, Ran Talmudi
  • Patent number: 5479652
    Abstract: A microprocessor is disclosed herein having an external command mode for directly accessing the execution unit, responsive to externally generated commands and instructions. An external instruction path is provided, as well as a conventional processor-driven instruction path. A multiplexer is provided that selects which of the instruction paths is actually supplied to the execution unit. Using the external command mode, the user can examine and modify registers, memory, and I/O space without otherwise affecting their contents. Any instruction executable by the execution unit is executable in the external command mode. Because direct access is provided into the execution unit, there is no implicit updating that would otherwise affect the state of the processor and require saving to an alternate memory. The present invention is implemented with a conventional test access port designed in accordance with the IEEE 1149.
    Type: Grant
    Filed: October 21, 1994
    Date of Patent: December 26, 1995
    Assignee: Intel Corporation
    Inventors: Robert S. Dreyer, Donald B. Alpert, Nimish H. Modi, Mike J. Tripp
  • Patent number: 5475824
    Abstract: A computer system includes a dual instruction decoder which issues two instructions in parallel within a single clock cycle if their are no register dependencies between the instructions, and instructions fall within a predetermined subset of the complete instruction set. The system includes first and second instruction pipelines. The first pipeline executes any instruction issued from the full instruction set, while the second pipeline only executes a predetermined subset of instructions selected based on principles of locality. A register dependency checker determines whether the destination register of a first instruction is used during the execution of a second instruction in an instruction sequence. When both instructions are within the subset and there are no dependencies, the first and second instructions can be issued in parallel in the first and second pipelines.
    Type: Grant
    Filed: February 10, 1995
    Date of Patent: December 12, 1995
    Assignee: Intel Corporation
    Inventors: Edward T. Grochowski, Kenneth D. Shoemaker, Ahmad Zaidi, Donald B. Alpert
  • Patent number: 5442756
    Abstract: An apparatus and method for improving the performance of superscalar pipelined computers using branch prediction and verification that the predicted branch is correct. A predicted branch may be resolved in one of two distinct pipeline stages, and a method is provided for handling branches that are resolved in either of the pipeline stages. A branch verification method is provided that verifies that the architecturally correct instructions are in the decode and execution stages. Furthermore, two sets of prefetch buffers are provided to allow branch prediction when multiple clock decoding is required by a multi-clock instruction.
    Type: Grant
    Filed: July 31, 1992
    Date of Patent: August 15, 1995
    Assignee: Intel Corporation
    Inventors: Edward T. Grochowski, Donald B. Alpert, Jack D. Mills, Uri C. Weiser
  • Patent number: 5416913
    Abstract: In a superscalar processor capable of executing two integer instructions in parallel, an array of comparators is provided to check for all combinations of register dependency between a pair of sequential program instructions. Additional logic is provided to validate the register fields of the instructions. If no impermissible dependencies are detected and all register fields are valid, the instructions are issued and executed in parallel. Otherwise, the instructions are executed sequentially.
    Type: Grant
    Filed: October 3, 1994
    Date of Patent: May 16, 1995
    Assignee: Intel Corporation
    Inventors: Edward T. Grochowski, Donald B. Alpert, Ahmad Zaidi
  • Patent number: 5263153
    Abstract: A method for monitoring the sequence of instructions executed by a central processing unit. When a branch instruction is executed, the central processing unit generates a representative interface signal. When a jump instruction is executed or an exception occurs, the central processing unit displays representative information on the external memory interface.
    Type: Grant
    Filed: August 24, 1990
    Date of Patent: November 16, 1993
    Assignee: National Semiconductor Corporation
    Inventors: Amos Intrater, Donald B. Alpert
  • Patent number: 5249286
    Abstract: A microprocessor architecture that includes capabilities for locking individual entries into its integrated instruction cache and data cache while leaving the remainder of the cache unlocked and available for use in capturing the microprocessor's dynamic locality of reference. The microprocessor also includes the capability for locking instruction cache entries without requiring that the instructions be executed during the locking process.
    Type: Grant
    Filed: November 24, 1992
    Date of Patent: September 28, 1993
    Assignee: National Semiconductor Corporation
    Inventors: Donald B. Alpert, Oved Oz, Gideon Intrater, Reuven Marko, Alon Shacham
  • Patent number: 4802085
    Abstract: A method for detecting and handling memory-mapped I/O in a pipelined data processing system is provided. The method uses two signals on the system interface: when the system generates a read bus cycle, it activates an output signal if certain I/O requirements are not satisfied; an input signal is activated when the reference is to a peripheral device that exhibits certain characteristics; when the system detects that both the input signal and the output signal are active, it discards the data read during the bus cycle, serializes instruction execution and regenerates the read bus cycle, this time satisfying the requirements for I/O such that the output signal is driven inactive.
    Type: Grant
    Filed: January 22, 1987
    Date of Patent: January 31, 1989
    Assignee: National Semiconductor Corporation
    Inventors: Simon J. Levy, Donald B. Alpert