Patents by Inventor Gregory F. Grohoski

Gregory F. Grohoski 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: 7454590
    Abstract: In one embodiment, a processor comprises a plurality of processor cores and an interconnect to which the plurality of processor cores are coupled. Each of the plurality of processor cores comprises at least one translation lookaside buffer (TLB). A first processor core is configured to broadcast a demap command on the interconnect responsive to executing a demap operation. The demap command identifies one or more translations to be invalidated in the TLBs, and remaining processor cores are configured to invalidate the translations in the respective TLBs. The remaining processor cores transmit a response to the first processor core, and the first processor core is configured to delay continued processing subsequent to the demap operation until the responses are received from each of the remaining processor cores.
    Type: Grant
    Filed: September 9, 2005
    Date of Patent: November 18, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Paul J. Jordan, Manish K. Shah, Gregory F. Grohoski
  • Patent number: 7401206
    Abstract: An apparatus and method for fine-grained multithreading in a multipipelined processor core. According to one embodiment, a processor may include instruction fetch logic configured to assign a given one of a plurality of threads to a corresponding one of a plurality of thread groups, where each of the plurality of thread groups may comprise a subset of the plurality of threads, to issue a first instruction from one of the plurality of threads during one execution cycle, and to issue a second instruction from another one of the plurality of threads during a successive execution cycle. The processor may further include a plurality of execution units, each configured to execute instructions issued from a respective thread group.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: July 15, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Gregory F. Grohoski, Robert T. Golla
  • Patent number: 7392399
    Abstract: A method and system of processing a cryptographic packet includes receiving a first cryptographic packet in a host CPU. A first set of data required to execute the first cryptographic packet is identified. The first cryptographic packet and the required first set of data is transferred to a cryptographic co-processor. The first cryptographic packet is executed in the cryptographic co-processor. The host CPU is notified that the execution of the first cryptographic packet is complete. The executed first cryptographic packet is received in the host CPU.
    Type: Grant
    Filed: May 5, 2003
    Date of Patent: June 24, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory F. Grohoski, Paul J. Jordan, Michael K. Wong, Leslie D. Kohn
  • Patent number: 7383415
    Abstract: In one embodiment, a processor comprising at least one translation lookaside buffer (TLB) and a control unit coupled to the TLB. The control unit is configured to track whether or not at least one update to the TLB is pending for at least one of a plurality of strands. Each strand comprises hardware to support a different thread of a plurality of concurrently activateable threads in the processor. The strands share the TLB, and the control unit is configured to delay a demap operation issued from one of the estrands responsive to the pending update, if any.
    Type: Grant
    Filed: September 9, 2005
    Date of Patent: June 3, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Paul J. Jordan, Manish K. Shah, Gregory F. Grohoski
  • Patent number: 7370243
    Abstract: A method and mechanism for error recovery in a processor. A multithreaded processor is configured to utilize software for hardware detected machine errors. Rather than correcting and clearing the detected errors, hardware is configured to report the errors precisely. Both program-related exceptions and hardware errors are detected and, without being corrected by the hardware, flow down the pipeline to a trap unit where they are prioritized and handled via software. The processor assigns each instruction a thread ID and error information as it follows the pipeline. The trap unit records the error by using the thread ID of the instruction and the pipelined error information in order to determine which ESR receives the information and what to store in the ESR. A trap handling routine is then initiated to facilitate error recovery.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: May 6, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory F. Grohoski, Ricky C. Hetherington, Paul J. Jordan, Robert M. Maier
  • Patent number: 7353364
    Abstract: An apparatus and method for sharing a functional unit. In one embodiment, a processor may include instruction fetch logic configured to issue instructions, and a first functional unit configured to execute instructions issued from the instruction fetch logic and to execute operations issued from a second functional unit, where the operations are issued asynchronously with respect to the instructions. The second functional unit may be configured to provide one or more operands corresponding to a given operation to the first functional unit. The first functional unit may include temporary result storage configured to store a result of the given operation while the first functional unit executes a given instruction issued from the instruction fetch logic, and the first functional unit may be further configured to use the stored result as an operand of an operation issued subsequently to the given operation.
    Type: Grant
    Filed: June 30, 2004
    Date of Patent: April 1, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Jike Chong, Christopher Olson, Gregory F. Grohoski
  • Patent number: 7320063
    Abstract: A processor employing synchronization primitives for flexible scheduling of functional unit operations. In one embodiment, a processor may include a number of functional units, each configured to retrieve operations for processing from an operation storage, and where each functional unit is configured to process retrieved operations independently of each other functional unit. The processor may further include instruction fetch logic configured to issue instructions for execution by the processor, where a subset of the instructions are executable to store operations for processing by the functional units into the operation storage. The operations stored by the subset of the instructions may include synchronization operations configured to coordinate processing of other ones of the operations by the plurality of functional units. In one particular implementation of the processor, the synchronization operations may include a suspend operation and a resume operation.
    Type: Grant
    Filed: February 4, 2005
    Date of Patent: January 15, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Gregory F. Grohoski, Christopher H. Olson
  • Publication number: 20040225885
    Abstract: A method and system of processing a cryptographic packet includes receiving a first cryptographic packet in a host CPU. A first set of data required to execute the first cryptographic packet is identified. The first cryptographic packet and the required first set of data is transferred to a cryptographic co-processor. The first cryptographic packet is executed in the cryptographic co-processor. The host CPU is notified that the execution of the first cryptographic packet is complete. The executed first cryptographic packet is received in the host CPU.
    Type: Application
    Filed: May 5, 2003
    Publication date: November 11, 2004
    Applicant: Sun Microsystems, Inc
    Inventors: Gregory F. Grohoski, Paul J. Jordan, Michael K. Wong, Leslie D. Kohn
  • Patent number: 5555543
    Abstract: A computer networking system includes a cross bar switch and a protocol for operating the same. The crossbar switch typically connects a plurality of ports one to another and the protocol establishes a connection between a first desired port and a second desired port selected from the plurality of ports. Each port further connects to a compute element via a master bidirectional bus and a slave bidirectional bus. Any of the compute elements can serve as either a master or slave to any other compute element connected to the crossbar switch. A master port connects the bidirectional bus to the crossbar switch and a slave port connects the slave bidirectional bus to the crossbar switch. The master port is reserved for compute element initiated operations while the slave port is reserved for network initiated operations.
    Type: Grant
    Filed: January 3, 1995
    Date of Patent: September 10, 1996
    Assignee: International Business Machines Corporation
    Inventors: Gregory F. Grohoski, Oscar R. Mitchell, Tung M. Nguyen, Yongjae Rim
  • Patent number: 5479622
    Abstract: A data processing system including a circuit for storing a plurality of instructions in a sequence together with a circuit for fetching a plurality of instructions. A circuit is provided for dispatching a plurality of the instructions to one or more processors for execution during a single computation cycle. A control circuit is connected to the dispatching circuit to delay the dispatching of an instruction. when the instruction has an execution result that is dependent upon a previous instruction execution that will set at least one bit in a condition register. The delayed instruction is delayed until that condition register has been accordingly set.
    Type: Grant
    Filed: November 14, 1994
    Date of Patent: December 26, 1995
    Assignee: International Business Machines Corporation
    Inventors: Gregory F. Grohoski, Randall D. Groves
  • Patent number: 5247628
    Abstract: A data processing system for executing a sequence of instructions. The data processing system includes several processors each for executing instructions. Also included is a dispatching apparatus for dispatching each of the instructions to one of the processors. Control circuitry is included for directing the concurrent execution of the dispatched instructions in the processors irrespective of the location of the instructions in the sequence. The control circuitry includes the capability to receive an instruction interrupt signal. The control circuitry then determines which instruction generated the instruction interrupt. Upon this determination, the control circuitry resets the processors and the dispatching apparatus to the state that existed when the instruction that generated the instruction interrupt was earlier executed in order to re-execute the instruction that caused the interrupt signal in accordance with its location in the instruction sequence.
    Type: Grant
    Filed: January 17, 1990
    Date of Patent: September 21, 1993
    Assignee: International Business Machines Corporation
    Inventor: Gregory F. Grohoski
  • Patent number: 5127091
    Abstract: A data processing system including a circuit for storing a sequence of instructions, a circuit for determining if the instruction sequence includes a branch instruction, a circuit for storing a sequence of branch target instructions in response to the determination of the existence of a branch instruction in the stored sequence of instructions, a circuit for dispatching instructions in sequence after the branch instruction to a processor to be executed on condition that a branch is to be taken before a determination of whether said branch will be taken and simultaneously for determining if the branch is to be taken, any circuit for directing the processor to execute the instructions in sequence after the branch if the branch is not taken, or, if the branch is to be taken, for dispatching the branch target instruction sequence to the processor for execution.
    Type: Grant
    Filed: January 13, 1989
    Date of Patent: June 30, 1992
    Assignee: International Business Machines Corporation
    Inventors: Edmond J. Boufarah, Gregory F. Grohoski, Chien-Chyun Lee, Charles R. Moore
  • Patent number: 5077826
    Abstract: A reduction in the number of cycles required to obtain data from main storage when a "miss" occurs in a cache for a desired line of data but a match to another line from the same page of data in main storage as the desired line is present in the cache. In accordance with the present invention if a match to another line from the same page is present, the real address for the other line from the same page is used to fetch the desired line of data directly from the main storage without an address translation. This technique works for a virtually addressed cache whose directory contains both a virtual and a real address for every line of data stored in the cache.
    Type: Grant
    Filed: August 9, 1989
    Date of Patent: December 31, 1991
    Assignee: International Business Machines Corporation
    Inventors: Gregory F. Grohoski, John F. Kearns, Steven G. Ludwig
  • Patent number: 5075840
    Abstract: A data processing system including an instruction storage buffer for storing a sequence of instructions requiring an operation by at least two processors. The two processors are provided that execute instructions from the instruction storage buffer. An instruction dispatch circuit is provided that dispatches the instructions to the processors. At least one processor includes the capability to execute dispatched instructions before the execution of a preceding instruction in the instruction sequence by another processor. Also, at least one processor includes the capability to delay execution of an interruptable instruction until the instruction can be executed in its appropriate sequential order in the sequence. Also, upon the occurrence of the interrupt, the processors include the capability to purge the instruction storage buffer in order that the interrupt software instructions may be stored for execution.
    Type: Grant
    Filed: January 13, 1989
    Date of Patent: December 24, 1991
    Assignee: International Business Machines Corporation
    Inventors: Gregory F. Grohoski, James A. Kahle, Myhong Nguyenphu, David S. Ray
  • Patent number: 4992938
    Abstract: A floating point instruction control mechanism which processes loads and stores in parallel with arithmetic instructions. This results from register renaming, which removes output dependencies in the instruction control mechanism and allows computations aliased to the same register to proceed in parallel.
    Type: Grant
    Filed: April 23, 1990
    Date of Patent: February 12, 1991
    Assignee: International Business Machines Corporation
    Inventors: John Cocke, Gregory F. Grohoski, Vojin G. Oklobdzija