Patents by Inventor Ricky C. Hetherington
Ricky C. Hetherington 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: 5996048Abstract: A cache architecture with a first level cache and a second level cache, with the second level cache lines including an inclusion vector which indicates which portion of that line are stored in the first level cache. In addition, an instruction/data bit in the inclusion vector indicates whether a portion of that line is in the instruction cache at all. Thus, when a snoop is done to the level two cache, additional snoops to the level one cache only need to be done for those lines which are indicated as present by the inclusion vector.Type: GrantFiled: June 20, 1997Date of Patent: November 30, 1999Assignee: Sun Microsystems, Inc.Inventors: Rajasekhar Cherabuddi, Ricky C. Hetherington
-
Patent number: 5987594Abstract: A processor that executes coded instructions using an instruction scheduling unit receiving the coded instructions and issuing an instruction for execution. A replay signaling device generates a signal indicating when the instruction failed to execute properly within a predetermined time. A replay device within the instruction scheduling unit responsive to the signaling device then reissues the instruction for execution.Type: GrantFiled: June 25, 1997Date of Patent: November 16, 1999Assignee: Sun Microsystems, Inc.Inventors: Ramesh Panwar, Ricky C. Hetherington
-
Patent number: 5978864Abstract: A system and method for thermal overload detection and protection for a processor which allows the processor to run at near maximum potential for the vast majority of its execution life. This is effectuated by the provision of circuitry to detect when the processor has exceeded its thermal thresholds and which then causes the processor to automatically reduce the clock rate to a fraction of the nominal clock while execution continues. When the thermal condition has stabilized, the clock may be raised in a stepwise fashion back to the nominal clock rate. Throughout the period of cycling the clock frequency from nominal to minimum and back, the program continues to be executed. Also provided is a queue activity rise time detector and method to control the rate of acceleration of a functional unit from idle to full throttle by a localized stall mechanism at the boundary of each stage in the pipe.Type: GrantFiled: June 25, 1997Date of Patent: November 2, 1999Assignee: Sun Microsystems, Inc.Inventors: Ricky C. Hetherington, Ramesh Panwar
-
Patent number: 5948106Abstract: A system and method for thermal overload detection and protection for a processor which allows the processor to run at near maximum potential for the vast majority of its execution life. This is effectuated by the provision of circuitry to detect when the processor has exceeded its thermal thresholds and which then causes the processor to automatically reduce the clock rate to a fraction of the nominal clock while execution continues. When the thermal condition has stabilized, the clock may be raised in a stepwise fashion back to the nominal clock rate. Throughout the period of cycling the clock frequency from nominal to minimum and back, the program continues to be executed. Also provided is a queue activity rise time detector and method to control the rate of acceleration of a functional unit from idle to full throttle by a localized stall mechanism at the boundary of each stage in the pipe.Type: GrantFiled: June 25, 1997Date of Patent: September 7, 1999Assignee: Sun Microsystems, Inc.Inventors: Ricky C. Hetherington, Ramesh Panwar
-
Patent number: 5930819Abstract: A data cache unit associated with a processor, the data cache unit including a multi-ported non-blocking cache receiving a data access request from a lower level device in the processor. A memory scheduling window includes at least one row of entries, wherein each entry includes an address field holding an address of the access request. A conflict map field within at least some of the entries is coupled to a conflict checking unit. The conflict checking unit responds to the address fields by setting bits in the conflict map fields to indicate intra-row conflicts between entries. A picker coupled to the memory scheduling window responds to the conflict map fields so as to identify groups of non-conflicting entries to launch in parallel at the multi-ported non-blocking cache.Type: GrantFiled: June 25, 1997Date of Patent: July 27, 1999Assignee: Sun Microsystems, Inc.Inventors: Ricky C. Hetherington, Sharad Mehrotra, Ramesh Panwar
-
Patent number: 5909697Abstract: A non-inclusive multi-level cache memory system is optimized by removing a first cache content from a first cache, so as to provide cache space in the first cache. In response to a cache miss in the first and second caches, the removed first cache content is stored in a second cache. All cache contents that are stored in the second cache are limited to have read-only attributes so that if any copies of the cache contents in the second cache exist in the cache memory system, a processor or equivalent device must seek permission to access the location in which that copy exists, ensuring cache coherency. If the first cache content is required by a processor (e.g., when a cache hit occurs in the second cache for the first cache content), room is again made available, if required, in the first cache by selecting a second cache content from the first cache and moving it to the second cache.Type: GrantFiled: September 30, 1997Date of Patent: June 1, 1999Assignee: Sun Microsystems, Inc.Inventors: Norman M. Hayes, Ricky C. Hetherington, Belliappa M. Kuttanna, Fong Pong, Krishna M. Thatipelli
-
Patent number: 5890008Abstract: A method and apparatus for dynamically reconfiguring a processor involves placing the processor in a first configuration having a first number (m) of strands while the coded instructions comprise instructions from a number (m) threads. The instructions in each of the m threads are executed on one of the m strands using execution resources at least some of which are shared among the m strands. While the coded instructions comprise instructions from a number (n) threads, the processor is placed in a second configuration having a second number (n) of strands. The instruction are executed in each of the n strands using execution resources at least some of which are shared among the n strands.Type: GrantFiled: June 25, 1997Date of Patent: March 30, 1999Assignee: Sun Microsystems, Inc.Inventors: Ramesh Panwar, Ricky C. Hetherington
-
Patent number: 5666551Abstract: A data bus sequencer for use by nodes coupled to a system bus for associating data transactions and address transactions on the bus. A mechanism for tracking address and command transactions occurring on the bus produces, for each address and command transaction occurring on the address bus, a corresponding sequence number tag. Those sequence number tags corresponding to address and command transactions for which data transactions are to be initiated by the node are stored by the data bus sequencer. The data bus sequencer further includes circuitry for counting the number of data transactions occurring on the data bus, comparing the counted number of data transactions to the stored sequence number tags and initiating data transactions on the data bus in response to the comparison.Type: GrantFiled: January 24, 1996Date of Patent: September 9, 1997Assignee: Digital Equipment CorporationInventors: David M. Fenwick, Denis J. Foley, Stephen R. Van Doren, David W. Hartwell, Elbert Bloom, Ricky C. Hetherington
-
Patent number: 5475690Abstract: In a computer system, digital signals are transmitted from an output register, propagated along a first signaling path, and received by an input register. The signaling path including an address buffer, a cache memory, a main memory, and an interconnect network. The effects of the intrinsic delays experienced by the digital signals are measured as a delay value relative to a reference clock signal propagated through a second signaling path duplicating the delays of the first signaling path. The delay value is used to selectively delay the digital signal to maintain a fixed relationship between the transmitted and received digital signals. Delay measuring and regulation is provided by driving the reference and digital signals through comparable tapped delay lines, the output taps of a measuring delay line controlling the output taps of a delaying line. Storage latches are provide to hold the measured delay value stable between successive samples.Type: GrantFiled: November 10, 1994Date of Patent: December 12, 1995Assignee: Digital Equipment CorporationInventors: Douglas J. Burns, David M. Fenwick, Ricky C. Hetherington
-
Patent number: 5349651Abstract: 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: GrantFiled: August 9, 1991Date of Patent: September 20, 1994Assignee: Digital Equipment CorporationInventors: Ricky C. Hetherington, David A. Webb, Jr., David B. Fite, John E. Murray, Tryggve Fossum, Dwight P. Manley
-
Integrated circuit chip having primary and secondary random access memories for a hierarchical cache
Patent number: 5285323Abstract: 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: GrantFiled: May 13, 1993Date of Patent: February 8, 1994Assignee: Digital Equipment CorporationInventors: Ricky C. Hetherington, Francis X. McKeen, Joseph D. Marci, Tryggve Fossum, Joel S. Emer -
Patent number: 5222224Abstract: 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: GrantFiled: July 9, 1991Date of Patent: June 22, 1993Assignee: Digital Equipment CorporationInventors: Michael E. Flynn, Scott Arnold, Stephen J. DeLaHunt, Tryggve Fossum, Ricky C. Hetherington, David J. Webb
-
Patent number: 5222223Abstract: 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: GrantFiled: February 3, 1989Date of Patent: June 22, 1993Assignee: Digital Equipment CorporationInventors: David A. Webb, Jr., Ricky C. Hetherington, John E. Murray, Tryggve Fossum, Dwight P. Manley
-
Patent number: 5142631Abstract: 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: GrantFiled: February 3, 1989Date of Patent: August 25, 1992Assignee: Digital Equipment CorporationInventors: 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: 5125083Abstract: 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: GrantFiled: February 3, 1989Date of Patent: June 23, 1992Assignee: Digital Equipment CorporationInventors: David B. Fite, Tryggve Fossum, Ricky C. Hetherington, John E. Murray, Jr. David A. Webb
-
Patent number: 5113515Abstract: An instruction buffer of a high speed digital computer controls the flow of instruction stream to an instruction decoder. The buffer provides the decoder with nine bytes of sequential instruction stream. The instruction set used by the computer is of the variable length type, such that the decoder consumes a variable number of the instruction stream bytes, depending upon the type of instruction being decoded. As each instruction is consumed, a shifter removes the consumed bytes and repositions the remaining bytes into the lowest order positions. The byte positions left empty by the shifter are filled by instruction stream retrieved from one of a pair of prefetch buffers (IBEX, IBEX2) or from a virtual instruction cache. These prefetch buffers are arranged to hold the next two subsequent quadwords of instruction stream and provide the desired missing bytes.Type: GrantFiled: February 3, 1989Date of Patent: May 12, 1992Assignee: Digital Equipment CorporationInventors: David B. Fite, Ricky C. Hetherington, Michael M. McKeon, Dwight P. Manley, John E. Murray
-
Patent number: 5019965Abstract: In a computer system, the flow of data from the execution unit to the cache 28 is enhanced by pairing individual, sequential longword write operations into a simultaneous quadword write operation. Primary and secondary writebuffers 50, 52 sequentially receive the individual longwords during first and second clock cycles and simultaneously present the individual longwords over a quadword wide bus to the cache 28. During the first clock cycle, when the cache 28 is not performing the quadword write operation, the cache 28 is free to perform the requisite lookup routine on the address of the first longword of data to determine if the quadword of address space is available in the cache. Thus, the flow of data to the cache 28 is maximized.Type: GrantFiled: February 3, 1989Date of Patent: May 28, 1991Assignee: Digital Equipment CorporationInventors: David A. Webb, Jr., Ricky C. Hetherington, Ronald M. Salett, Trvggve Fossum, Dwight P. Manley
-
Patent number: 4995041Abstract: 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: GrantFiled: February 3, 1989Date of Patent: February 19, 1991Assignee: Digital Equipment CorporationInventors: Ricky C. Hetherington, Tryggve Fossum, Maurice B. Steinman, David A. Webb, Jr.
-
Patent number: 4985825Abstract: 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: GrantFiled: February 3, 1989Date of Patent: January 15, 1991Assignee: Digital Equipment CorporationInventors: 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: 4982402Abstract: 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: GrantFiled: February 3, 1989Date of Patent: January 1, 1991Assignee: Digital Equipment CorporationInventors: Richard C. Beaven, Michael B. Evans, Tryggve Fossum, Ricky C. Hetherington, William R. Grundmann, John E. Murray, Ronald M. Salett