Patents by Inventor Charles Franklin Webb

Charles Franklin Webb 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: 6119219
    Abstract: A pipelined multiprocessor system for ESA/390 operations which executes a simple instruction set in a hardware controlled execution unit and executes a complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in the hardware controlled execution unit, comprising a plurality of CPU processors each of which is part of said multiprocessing system and capable of generating and responding to a quiesce request, and controls for system operations which allow the CPUs in the ESA/390 system to process the local buffer update portion of IPTE and SSKE operations without waiting for all other processors to reach an interruptible point, and then to continue program execution with minor temporary restrictions on operations until the IPTE or SSKE operation is globally completed. In addition, Licensed Internal Code (LIC) sequences are defined which allow these IPTE and SSKE operations to co-exist with other operations which require conventional system quiescing (i.e.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: September 12, 2000
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Dean G. Bair, Mark Steven Farrell, Barry Watson Krumm, Pak-kin Mak, Jennifer Almoradie Navarro, Timothy John Slegel
  • Patent number: 6108776
    Abstract: A millimode capable computer system provides control to millicode to allow the BHT operations to continue except when the these special situations occur that require control of instruction fetch operations must be provided and the BHT can be turned off for some sections of code execution, but not disabled for all. A single free running BHT functions for both a normal mode and a millimode for the central processor which can execute in millimode with a branch history table directing instruction fetch for which both a global BHT disable and millicode disables exist. Hit detection logic receives input from the global BHT disable, as well as from an initialized control register bit and a processor control register bit to select the correct set target information and generate a "branch history table hit detected" control signal.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: August 22, 2000
    Assignee: International Business Machines Corporation
    Inventors: Mark Anthony Check, John Stephen Liptay, Timothy John Slegel, Charles Franklin Webb, Mark Steven Farrell
  • Patent number: 6105126
    Abstract: A computer processor floating point processor six cycle pipeline system where instruction text is fetched prior to the first cycle and decoded during the first cycle for the fetched particular instruction and the base (B) and index (X) register values are read for use in address generation. RXE Instructions are of the RX-type but extended by placing the extension of the operation code beyond the first four bytes of the instruction format and to assign the operation codes in such a way that the machine may determine the exact format from the first 8 bits of the operation code alone.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: August 15, 2000
    Assignee: International Business Machines Corporation
    Inventors: Mark Anthony Check, Ronald M. Smith, Sr., John Stephen Liptay, Eric Mark Schwarz, Timothy John Slegel, Charles Franklin Webb
  • Patent number: 6105109
    Abstract: SMP computers systems can add to the first level cache a fill mode latch and achieve straightforward, high-performance loading of a writable cache code array that is part of a hierarchical cache structure.A new code array's write control elements include a control latch called "fill mode" for the BCE controls which when fill mode is active, then a disable is also active, since reads of the code array may not give accurate data when the array is not yet filled-up/fully valid. New mode follows the sequential steps which process code by:a) purge the cache array; thenb) disable the code array; thenc) turn on fill mode with a buffer control element fill mode latch; and then processd) code increments once through a range of line addresses, where the range is at least as wide as the range(s) specified in the code array's lookup mechanism.e) turn off fill mode; thenf) purge the cache array again: and theng) enable the code array (turn off the code array disable bit).h) resume normal operation to end the sequence.
    Type: Grant
    Filed: February 19, 1998
    Date of Patent: August 15, 2000
    Assignee: International Business Machines Corporation
    Inventors: Barry Watson Krumm, Charles Franklin Webb, Timothy John Slegel, Mark Steven Farrell, Yuen Hung Chan
  • Patent number: 6088791
    Abstract: A computer processor that allows the execution of the IBM ESA/390 STOSM and STNSM instructions, in an overlapped fashion, contains an apparatus that allows the STOSM and STNSM instructions to be executed without serializing the processor, or otherwise delaying subsequent instructions, after the STOSM or STNSM instruction, in most cases, thereby improving performance. It contains a mechanism that counts cycles after their execution and prohibits asynchronous interrupts during that time. The invention also contains an efficient mechanism for handling the execution of the STOSM and STNSM instructions when the processor is executing in the SIE environment.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: July 11, 2000
    Assignee: International Business Machines Corporation
    Inventors: Timothy John Slegel, Charles Franklin Webb
  • Patent number: 6088792
    Abstract: A computer processor that allows the execution of the IBM ESA/390 SPKA instruction, in an overlapped fashion, contains an apparatus that allows the SPKA instruction to be executed without serializing the processor after its execution in most cases, thereby improving performance. It contains a mechanism in the processor's cache that monitors if the Fetch Protect bit in the storage key is on, for instruction data being fetched. It also contains a mechanism to remember if an SPKA instruction has been executed recently. Based on this information, an apparatus determines if it really must serialize the processor after execution of the SPKA instruction.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: July 11, 2000
    Assignee: International Business Machines Corporation
    Inventors: Timothy John Slegel, Charles Franklin Webb
  • Patent number: 6085313
    Abstract: A computer processor system having a floating point processor for instructions which are processed in a six cycle pipeline, in which prior to the first cycle of the pipeline an instruction text is fetched, and during the first cycle for the fetched particular instruction it is decoded and the base (B) and index (X) register values are read for use in address generation. Instructions of the RX-type are extended by placing the extension of the operation code beyond the first four bytes of the instruction format and to assign the operation codes in such a way that the machine may determine from the first 8 bits of the operation code alone, the exact format of the instruction. Instructions formats include the ESA/390 instructions SS, RR; RX; S; RRE; RI: and the new RXE instructions. where instructions of the RXE format have their R.sub.1, X.sub.2, B.sub.2, and D.sub.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: July 4, 2000
    Assignee: International Business Machines Corporation
    Inventors: Mark Anthony Check, Ronald M. Smith, Sr., John Stephen Liptay, Eric Mark Schwarz, Timothy John Slegel, Charles Franklin Webb
  • Patent number: 6079013
    Abstract: A pipelined multiprocessor system for ESA/390 operations which executes a simple instruction set in a hardware controlled execution unit and executes a complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in the hardware controlled execution unit, comprising a plurality of CPU processors each of which is part of said multiprocessing system and capable of generating and responding to a quiesce request, and controls for system operations which allow the CPUs in the ESA/390 system to process the local buffer update portion of IPTE and SSKE operations without waiting for all other processors to reach an interruptible point, and then to continue program execution with minor temporary restrictions on operations until the IPTE or SSKE operation is globally completed. In addition, Licensed Internal Code (LIC) sequences are defined which allow these IPTE and SSKE operations to co-exist with other operations which require conventional system quiescing (i.e.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: June 20, 2000
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Dean G. Bair, Mark Steven Farrell, Barry Watson Krumm, Pak-kin Mak, Jennifer Almoradie Navarro, Timothy John Slegel
  • Patent number: 6067617
    Abstract: A computer system having a pipelined computer processor, which executes a relatively simple instruction set in a hardware controlled execution unit and executes a relatively complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in said hardware controlled execution unit, a millicode operating in a milli-mode state when macro-mode decoding by said processor is suspended to cause the system to subsequently use processor milli-registers and the processor's decoder decodes them and schedules them for execution upon entry into the processor milli-mode. Millicode flags allow specialized update and branch instructions and flags are either cleared or specifically set for a millicode instruction. A millicode instruction for editing functions processes one byte of an input pattern string, generates one byte of an output string, and updates various pointers and state indications to prepare for processing the next byte in a string.
    Type: Grant
    Filed: April 7, 1998
    Date of Patent: May 23, 2000
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Wen He Li
  • Patent number: 6058470
    Abstract: A computer system having a pipelined computer processor, which executes a relatively simple instruction set in a hardware controlled execution unit and executes a relatively complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in said hardware controlled execution unit, a millicode operating in a milli-mode state when macro-mode decoding by said processor is suspended to cause the system to subsequently use processor milli-registers and the processor's decoder decodes them and schedules them for execution upon entry into the processor milli-mode. Millicode flags allow specialized update and branch instructions and flags are either cleared or specifically set for a millicode instruction. A millicode instruction for editing functions processes one byte of an input pattern string, generates one byte of an output string, and updates various pointers and state indications to prepare for processing the next byte in a string.
    Type: Grant
    Filed: April 7, 1998
    Date of Patent: May 2, 2000
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Mark Steven Farrell
  • Patent number: 6055624
    Abstract: A computer system having a pipelined computer processor, which executes a relatively simple instruction set in a hardware controlled execution unit and executes a relatively complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in said hardware controlled execution unit, a millicode operating in a milli-mode state when macro-mode decoding by said processor is suspended to cause the system to subsequently use processor milli-registers and the processor's decoder decodes them and schedules them for execution upon entry into the processor milli-mode. Millicode flags allow specialized update and branch instructions and flags are either cleared or specifically set for a millicode instruction. A millicode instruction for editing functions processes one byte of an input pattern string, generates one byte of an output string, and updates various pointers and state indications to prepare for processing the next byte in a string.
    Type: Grant
    Filed: April 7, 1998
    Date of Patent: April 25, 2000
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Mark Steven Farrell, Timothy John Slegel
  • Patent number: 6055623
    Abstract: A computer system having a pipelined computer processor, which executes a relatively simple instruction set in a hardware controlled execution unit and executes a relatively complex instruction set in a milli-mode architected state with a millicode sequence of simple instructions in said hardware controlled execution unit, a millicode operating in a milli-mode state when macro-mode decoding by said processor is suspended to cause the system to subsequently use processor milli-registers and the processor's decoder decodes them and schedules them for execution upon entry into the processor milli-mode. Millicode flags allow specialized update and branch instructions and flags are either cleared or specifically set for a millicode instruction. A millicode instruction for editing functions processes one byte of an input pattern string, generates one byte of an output string, and updates various pointers and state indications to prepare for processing the next byte in a string.
    Type: Grant
    Filed: April 7, 1998
    Date of Patent: April 25, 2000
    Assignee: International Business Machine Corporation
    Inventors: Charles Franklin Webb, Judy Shan-Shan Chen Johnson
  • Patent number: 6035392
    Abstract: A computer for executing programs and having a structure for fetching instructions and/or operands along a path which may not be taken by a process being executed by a computer processor having a hierarchical memory structure with data being loaded into cache lines of a cache in the structure, and having block line fetch signal selection logic and computational logic with hedge selection logic for generating line fetch block signals for control of hedging by fetching instructions and/or operands along a path which may not be taken by a process being executed and making selected hedge fetches sensitive to whether the data is in the cache so as to gain the best performance advantage with a selected hedge fetch signal which accompanies each fetch request to the cache to identify whether a line should be loaded if it misses the cache to indicate a selected hedge fetch when this signal is ON, and rejecting a fetch request in the event the selected hedge fetch signal is turned ON if the data is not in the cache, th
    Type: Grant
    Filed: February 20, 1998
    Date of Patent: March 7, 2000
    Assignee: International Business Machines Corporation
    Inventors: John Stephen Liptay, Mark Anthony Check, Barry Watson Krumm, Jennifer Almoradie Navarro, Charles Franklin Webb
  • Patent number: 6026488
    Abstract: A computer for executing programs and having a structure for fetching instructions and/or operands along a path which may not be taken by a process being executed by a computer processor having a hierarchical memory structure with data being loaded into cache lines of a cache in the structure, and having block line fetch signal selection logic and computational logic with hedge selection logic for generating line fetch block signals for control of hedging by fetching instructions and/or operands along a path which may not be taken by a process being executed and making selected hedge fetches sensitive to whether the data is in the cache so as to gain the best performance advantage with a selected hedge fetch signal which accompanies each fetch request to the cache to identify whether a line should be loaded if it misses the cache to indicate a selected hedge fetch when this signal is ON, and rejecting a fetch request in the event the selected hedge fetch signal is turned ON if the data is not in the cache, th
    Type: Grant
    Filed: February 20, 1998
    Date of Patent: February 15, 2000
    Assignee: International Business Machines Corporation
    Inventors: John Stephen Liptay, Mark Anthony Check, Barry Watson Krumm, Jennifer Almoradie Navarro, Charles Franklin Webb
  • Patent number: 5819078
    Abstract: A millicode instruction loads a millicode address extension register with extended address bits, and an operand access control register that signals when a logical address is to be extended by the extra bits, and when it should be treated as only a 31 bit address.
    Type: Grant
    Filed: June 10, 1997
    Date of Patent: October 6, 1998
    Assignee: International Business Machines Corporation
    Inventors: Mark Steven Farrell, Barry Watson Krumm, Jennifer Serena Almoradie Navarro, Charles Franklin Webb
  • Patent number: 5802359
    Abstract: A milli-mode system has a processor state unit (R-unit) with register space into which those system operating registers and control latches, which make up the processor architected state, are mapped. This processor state unit, which includes a processor state register array and associated controls, receives all state updates from the processor as data and register addresses.
    Type: Grant
    Filed: July 14, 1997
    Date of Patent: September 1, 1998
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Mark Steven Farrell
  • Patent number: 5790844
    Abstract: A special inillicode instruction "Load With Access Test" explicitly detects access exceptions for storage operands while retaining control in the current millicode routine to insure exceptions are handled correctly and with the right priority. The millicode Load With Access Test instruction operates similarly to the ESA/390 Load instruction except that access exception code is set, interrupts are blocked and the serialization is forced to purge the instruction pipeline and reset the pipeline control without redirection of the instruction stream.
    Type: Grant
    Filed: March 31, 1997
    Date of Patent: August 4, 1998
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Mark Steven Farrell, Mark Anthony Check, John Stephen Liptay
  • Patent number: 5754810
    Abstract: A millicode method for packing the hexadecimal digits from a plurality of bytes in each of two millicode registers (R1,R1) into one of the two millicode registers extracts the rightmost hexadecimal digit from each of a plurality of bytes stored in millicode register R1 and the rightmost hexadecimal digit from each of a plurality of bytes stored in millicode register R2 and stores hexadecimal digits from said extracting step in millicode register R1 with each hexadecimal digit extracted from a byte in register R1 and from a byte in register R2 stored in millicode register R1 in register R1 positions occupied by said plurality of bytes stored in register R1 prior to said extraction step.
    Type: Grant
    Filed: March 12, 1996
    Date of Patent: May 19, 1998
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Mark Steven Farrell, Charles Lewis Cross, Nishit Hemantkumar Gokli, Wen He Li
  • Patent number: 5748951
    Abstract: A special Program Status Word (PSW) millicode routine, tests the validity of the PSW with three simple millicode instructions. Testing for access exceptions is executed by a special millicode instruction "Load With Access Test", which explicitly detects access exceptions for storage operands while retaining control in the current millicode routine. A Translate and Test (TRT) routine uses a table of 256 bytes to translate a string of bytes. Each string is used as an index into the table, and the selected table byte is fetched. For Translate and Test, the selected bytes are tested, and the first non-zero table byte selected is returned to the program in a general register along with the address of the string byte which selected it; translate and test also sets the condition code, and does not update storage.
    Type: Grant
    Filed: March 31, 1997
    Date of Patent: May 5, 1998
    Assignee: International Business Machines Corporation
    Inventors: Charles Franklin Webb, Mark Steven Farrell, Mark Anthony Check, John Stephen Liptay
  • Patent number: 5713035
    Abstract: In a milli-mode processor, bits (0-6) of an access list entry token (ALET) in the program access register must be zeros in order for access register translation to be successful. When the ALET is being copied from a program access register to a millicode access register, bits 0-3 of ALET, written into the millicode access register, are set to the access register number of the program access register from which the data is being read. This establishes the affinity between the program access register number and any logical fetches which might be attempted by millicode.
    Type: Grant
    Filed: March 31, 1995
    Date of Patent: January 27, 1998
    Assignee: International Business Machines Corporation
    Inventors: Mark Steven Farrell, Barry Watson Krumm, John Stephen Liptay, Charles Franklin Webb, Steven QiHong Ying