Patents by Inventor Tryggve Fossum

Tryggve Fossum 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: 5349651
    Abstract: In the field of high speed computers it is common for a central processing unit to reference memory locations via a virtual addressing scheme, rather than by the actual physical memory addresses. In a multi-tasking environment, this virtual addressing scheme reduces the possibility of different programs accessing the same physical memory location. Thus, to maintain computer processing speed, a high speed translation buffer cache is employed to perform the necessary virtual-to-physical conversions for memory reference instructions. The translation buffer cache stores a number of previously translated virtual addresses and their corresponding physical addresses. A memory management processor is employed to update the translation buffer cache with the most recently accessed physical memory locations. The memory management processor consists of a state machine controlling hardware specifically designed for the purpose of updating the translation buffer cache.
    Type: Grant
    Filed: August 9, 1991
    Date of Patent: September 20, 1994
    Assignee: Digital Equipment Corporation
    Inventors: Ricky C. Hetherington, David A. Webb, Jr., David B. Fite, John E. Murray, Tryggve Fossum, Dwight P. Manley
  • Patent number: 5285323
    Abstract: A hierarchical cache memory includes a high-speed primary cache memory and a lower speed secondary cache memory of greater storage capacity than the primary cache memory. To manage a huge number of data lines interconnecting the primary and secondary cache memories, the hierarchical cache memory is integrated on a plurality of integrated circuits which include all of the interconnecting data lines. Each integrated circuit includes a primary memory and a secondary memory for storing and retrieving data transferred over a first data input line and a first data output line that link the primary memory to a central processing unit. At any given time, a multi-bit word is addressed in the secondary memory, and a corresponding multi-bit word is addressed in the primary memory.
    Type: Grant
    Filed: May 13, 1993
    Date of Patent: February 8, 1994
    Assignee: Digital Equipment Corporation
    Inventors: Ricky C. Hetherington, Francis X. McKeen, Joseph D. Marci, Tryggve Fossum, Joel S. Emer
  • Patent number: 5222224
    Abstract: A method for insuring data consistency between a plurality of individual processor cache memories and the main memory in a multi-processor computer system is provided which is capable of (1) detecting when one of a set of predefined data inconsistency states occurs as a data transaction request is being processed, and (2) correcting the data inconsistency states so that the operation may be executed in a correct and consistent manner.
    Type: Grant
    Filed: July 9, 1991
    Date of Patent: June 22, 1993
    Assignee: Digital Equipment Corporation
    Inventors: Michael E. Flynn, Scott Arnold, Stephen J. DeLaHunt, Tryggve Fossum, Ricky C. Hetherington, David J. Webb
  • Patent number: 5222223
    Abstract: In a pipelined computer system 10, memory access functions (requests) are simultaneously generated from a plurality of different locations. These multiple requests are passed through a multiplexer 50 according to a prioritization scheme based upon the operational proximity of the request to the instruction currently being executed. In this manner, the complex task of converting virtual-to-physical addresses is accomplished for all memory access requests by a single translation buffer 30. The physical address output from the translation buffer 30 are passed to a cache 28 through a second multiplexer 40 according to a second prioritization scheme based upon the operational proximity of the request to the instruction currently being executed. The first and second prioritization schemes differ, in that the memory is capable of handling other requests while a higher priority "miss" is pending.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: June 22, 1993
    Assignee: Digital Equipment Corporation
    Inventors: David A. Webb, Jr., Ricky C. Hetherington, John E. Murray, Tryggve Fossum, Dwight P. Manley
  • Patent number: 5175837
    Abstract: All monitoring and control of locked memory access requests in a multiprocessing computer system is handled by a system control unit (SCU) which controls the parallel operation of a plurality of central processing units (CPUs) and I/O units relative to a common main memory. Locking granularity is defined at the level of individual cache blocks for the CPUs, and the cache blocks also represent the unit of memory allocation in the computer system. The SCU is provided with a lock directory defined by a plurality of lock bits so that addresses in the same block of memory are mapped to the same location in the lock directory. Incoming lock requests for a given memory location are processed by interrogating the corresponding lock bit in the lock directory in the SCU by using the associated memory address as an index into the directory. If the lock bit is not set, the lock request is granted.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: December 29, 1992
    Assignee: Digital Equipment Corporation
    Inventors: Scott Arnold, James Kann, Stephen J. DeLaHunt, Tryggve Fossum
  • Patent number: 5168573
    Abstract: A vector register provides the capability for simultaneously writing through at least two write ports and simultaneous reading from at least two read ports. In addition, a barber pole technique for storing words from logical vector registers into banks is provided to minimize conflicts.
    Type: Grant
    Filed: March 24, 1989
    Date of Patent: December 1, 1992
    Assignee: Digital Equipment Corporation
    Inventors: Tryggve Fossum, Dwight P. Manley, Francis X. McKeen, Michael M. Tahranian
  • Patent number: 5155854
    Abstract: A system control unit (SCU), adapted to operating a plurality of central processor units (CPUs) in a parallel fashion in combination with at least one input/output (I/O) unit and for allowing the CPUs and I/O units to controllably access address segments of a system memory, arbitrates communication requests received at the SCU ports from the CPUs and I/O units in such a manner that available system resources are optimally used, while at the same time guaranteeing that all requests are granted within a reasonable period of time. Incoming communication requests are stored, and from there these incoming communication requests are selected, on the basis of a pre-defined prioritizing scheme, commands corresponding to requests that are to be arbitrated. For the command corresponding to each request selected for being arbitrated, there is generated a first vector defining all system resources that are required for executing the command.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: October 13, 1992
    Assignee: Digital Equipment Corporation
    Inventors: Michael E. Flynn, Tryggve Fossum
  • Patent number: 5148528
    Abstract: An instruction decoder for a pipelined data processing unit simultaneously decodes two source specifiers and one destination specifier. All three of the specifiers can be register specifiers in which the specified operand is the content of a specified register. Any one of the specifiers can be a complex specifier designating an index register, a base register, and a displacement. Any one of the source specifiers can specify short literal data. Data for locating the two source operands and the destination operand are transmitted over parallel buses to an execution unit, so that most instructions are executed at a rate of one instruction per clock cycle. The complex specifier can have a variable length determined by its data type as well as its addressing mode. In particular, the complex specifier may specify a long length of extended immediate data that is received through the instruction buffer over a number of clock cycles.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: September 15, 1992
    Assignee: Digital Equipment Corporation
    Inventors: David B. Fite, John E. Murray, Tryggve Fossum
  • Patent number: 5142634
    Abstract: A branch prediction is made by searching a cache memory for branch history information associated with a branch instruction. If associated information is not found in the cache, then the branch is predicted based on a predetermined branch bias for the branch instruction's opcode; otherwise, the branch is predicted based upon the associated information from the cache. The associated information in the cache preferably includes a length, displacement, and target address in addition to a prediction bit. If the cache includes associated information predicting that the branch will be taken, the target address from cache is used so long as the associated length and displacement match and the length and displacement for the branch instruction; otherwise, the target address must be computed.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: August 25, 1992
    Assignee: Digital Equipment Corporation
    Inventors: David B. Fite, John E. Murray, Dwight P. Manley, Michael M. McKeon, Elaine H. Fite, Ronald M. Salett, Tryggve Fossum
  • Patent number: 5142631
    Abstract: A method is provided for preprocessing multiple instructions prior to execution of such instructions in a digital computer having an instruction decoder, an instruction execution unit, and multiple general purpose registers which are read to produce memory addresses during the preprocessing.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: August 25, 1992
    Assignee: Digital Equipment Corporation
    Inventors: John E. Murray, Mark A. Firstenberg, David B. Fite, Michael M. McKeon, Wiliam R. Grundmann, David A. Webb, Jr., Ronald M. Salett, Tryggve Fossum, Dwight P. Manley, Ricky C. Hetherington
  • Patent number: 5125083
    Abstract: An operand processing unit delivers a specified address and at least one read/write signal in response to an instruction being a source of destination operand, and delivers the source operand to an execution unit in response to completion of the preprocessing. The execution unit receives the source operand, executes it and delivers the resultant data to memory. A "write queue" receives the write addresses of the destination operands from the operand processing unit, stores the write addresses, and delivers the stored preselected addresses to memory in response to receiving the resultant data corresponding to the preselected address. The addresses of the source operand is compared to the write addresses stored in the write queue, and the operand processing unit is stalled whenever at least one of the write addresses in the write queue is equivalent to the read address. Therefore, fetching of the operand is delayed until the corresponding resultant data has been delivered by the execution unit.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: June 23, 1992
    Assignee: Digital Equipment Corporation
    Inventors: David B. Fite, Tryggve Fossum, Ricky C. Hetherington, John E. Murray, Jr. David A. Webb
  • Patent number: 5113521
    Abstract: A data processing system handles memory management exceptions caused by a faulting vector instruction in a vector processor by halting the execution of the faulting vector instruction being executed when the exception occurred and by setting the state information for the vector processor to acknowledge the presence of the exception and to include information about the suboperation of the vector instruction being executed when the exception occurred. The scalar processor is not interrupted at this time, however. Any other vector instructions executing simutaneously with the faulting vector instruction are allowed to continue so long as those instructions do not require data from the faulting instruction. The faulting partially completed vector instruction resumes execution after the operating system has processed the memory management exception.
    Type: Grant
    Filed: January 9, 1991
    Date of Patent: May 12, 1992
    Assignee: Digital Equipment Corporation
    Inventors: Francis X. McKeen, Tryggve Fossum, Dileep P. Bhandarkar, Cheryl A. Wiecek
  • Patent number: 5109495
    Abstract: To execute variable-length instructions independently of instruction preprocessing, a central processing unit is provided with a set of queues in the data and control paths between an instruction unit and an execution unit. The queues include a "fork" queue, a source queue, a destination queue, and a program counter queue. The fork queue contains an entry of control information for each instruction processed by the instruction unit. This control information corresponds to the opcode for the instruction, and preferably it is a microcode "fork" address at which a microcode execution unit begins execution to execute the instruction. The source queue specifies the source operands for the instruction. Preferably the source queue stores source pointers and the operands themselves are included in a separate "source list" in the case of operands fetched from memory or immediate data from the instruction stream, or are the contents of a set of general purpose registers in the execution unit.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: April 28, 1992
    Assignee: Digital Equipment Corp.
    Inventors: David B. Fite, Tryggve Fossum, William R. Grundmann, Dwight P. Manely, Francis X. McKeen, John E. Murray, Ronald M. Salett, Eileen Samberg, Daniel P. Stirling
  • Patent number: 5093775
    Abstract: A microcode control system for a digital data processor. The processor sequentially processes data in response to a microinstruction in a data processing path including a plurality of successive processing stages. A control path parallels the data processing path and includes a plurality of stage which transfer the microinstruction in synchronism with the transfer of data through the data processing path. At each stage in the control path, the microinstruction is decoded to determine the operation to be performed in response thereto on the data by the stage in the data processing path, and control signals are generated to control the processing by the stage in the data processing path.
    Type: Grant
    Filed: November 7, 1983
    Date of Patent: March 3, 1992
    Assignee: Digital Equipment Corporation
    Inventors: William R. Grundmann, Raymond F. Boucher, Tryggve Fossum
  • Patent number: 5067069
    Abstract: To increase the performance of a pipelined processor executing various classes of instructions, the classes of instructions are executed by respective functional units which are independently controlled and operated in parallel. The classes of instructions include integer instructions, floating point instructions, multiply instructions, and divide instructions. The integer unit, which also performs shift operations, is controlled by the microcode execution unit to handle the wide variety of integer and shift operations included in a complex, variable-length instruction set. The other functional units need only accept a control command to initiate the operation to be performed by the functional unit. The retiring of the results of the instructions need not be controlled by the microcode execution unit, but instead is delegated to a separate retire unit that services a result queue. When the microcode execution unit determines that a new operation is required, an entry is inserted into the result queue.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: November 19, 1991
    Assignee: Digital Equipment Corporation
    Inventors: Elaine H. Fite, Tryggve Fossum, William R. Grundmann, Francis X. McKeen, Ronald M. Salett
  • Patent number: 4994996
    Abstract: A system for subtracting two floating-point binary numbers in a pipelined floating-point adder/subtractor by aligning the two fractions for sustraction; arbitrarily designating the fraction of one of the two floating-point numbers as the subtrahend, and producing the complement of that designated fraction; adding that complement to the other fraction, normalizing the result; determining whether the result is negative and, if it is, producing the complement of the normalized result; and selecting the larger of the exponents of the two floating-point numbers, and adjusting the value of the selected exponent in accordance with the normalization of the result.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: February 19, 1991
    Assignee: Digital Equipment Corporation
    Inventors: Tryggve Fossum, William R. Grundmann, Muhammad S. Hag
  • Patent number: 4995041
    Abstract: In the operation of high-speed computers, it is frequently advantageous to employ a high speed cache memory within each CPU of a multiple CPU computer system. A standard, slower memory configuration remains in use for the large, common main memory, but those portions of main memory which are expected to be used heavily are copied into the cache memory. Thus, on many memory references, the faster cache memory is exploited, while only infrequent references to the slower main memory are necessary. This configuration generally speeds the overall operation of the computer system; however, memory integrity problems arise by maintaining two separate copies of selected portions of main memory. Accordingly, the memory access unit of the CPU uses error correction code (ECC) hardware to ensure the integrity of the data delivered between the cache and main memory. The prevent the ECC hardware from slowing the overall operation of the CPU, the error correction is performed underneath a write back operation.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: February 19, 1991
    Assignee: Digital Equipment Corporation
    Inventors: Ricky C. Hetherington, Tryggve Fossum, Maurice B. Steinman, David A. Webb, Jr.
  • Patent number: 4985825
    Abstract: A technique for processing memory access exceptions along with pre-fetched instructions in a pipelined instruction processing computer system is based upon the concept of pipelining exception information along with other parts of the instruction being executed. In response to the detection of access exceptions at a pipeline stage, corresponding fault information is generated and transferred along the pipeline. The fault information is acted upon only when the instruction reaches the execution stage of the pipeline. Each stage of the instruction pipeline is ported into the front end of a memory unit adapted to perform the virtual-to-physical address translation; each port being provided with storage for virtual addresses accompanying an instruction as well as storage for corresponding fault information.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: January 15, 1991
    Assignee: Digital Equipment Corporation
    Inventors: David A. Webb, Jr., David B. Fite, Ricky C. Hetherington, Francis X. McKeen, Mark A. Firstenberg, John E. Murray, Dwight P. Manley, Ronald M. Salett, Tryggve Fossum
  • Patent number: 4982402
    Abstract: In a multiprocessor system, an error occurring in any one of the CPUs may have an impact upon the operation of the remaining CPUs, and therefore these errors must be handled quickly. The errors are grouped into two categories: synchronous errors (those that must be corrected immediately to allow continued processing of the current instruction); and asynchronous errors (those errors that do not affect execution of the current instruction and may be handled upon completing execution of the current instruction). Since synchronous errors prevent continued execution of the current instruction, it is preferable that the last stable state conditions of the faulting CPU be restored and the faulting instruction reexecuted. These stable state conditions advantageously occur between the execution of each instruction. However, in a pipelined computer system, it is difficult to identify the beginning and ending of a selected instruction since multiple instructions are in process at the same time.
    Type: Grant
    Filed: February 3, 1989
    Date of Patent: January 1, 1991
    Assignee: Digital Equipment Corporation
    Inventors: Richard C. Beaven, Michael B. Evans, Tryggve Fossum, Ricky C. Hetherington, William R. Grundmann, John E. Murray, Ronald M. Salett
  • Patent number: 4980817
    Abstract: A vector register provides the capability for simultaneously writing through at least two write ports and simultaneously reading from at least two read ports. In addition, a barber pole technique for storing words from logical vector registers into banks is provided to minimize conflicts.
    Type: Grant
    Filed: August 31, 1987
    Date of Patent: December 25, 1990
    Assignee: Digital Equipment
    Inventors: Tryggve Fossum, Dwight P. Manley, Francis X. McKeen, Michael M. Tehranian