Patents by Inventor H. Bruce Butts, Jr.

H. Bruce Butts, Jr. 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: 5630097
    Abstract: A computer system executing virtual memory management and having a cache is operated in a manner to reduce cache misses by remapping pages of physical memory from which cache misses are detected. The method includes detecting cache misses, as by observing cache fill operations on the system bus, and then remapping the pages in the main memory which contain the addresses of the most frequent cache misses, so that memory references causing thrashing can then coexist in different pages of the cache. For a CPU executing a virtual memory operating system, a page of data or instructions can be moved to a different physical page frame but remain at the same virtual address, by simply updating the page-mapping tables to reflect the new physical location of the page, and copying the data from the old page frame to the new one.
    Type: Grant
    Filed: January 7, 1994
    Date of Patent: May 13, 1997
    Assignee: Digital Equipment Corporation
    Inventors: David A. Orbits, Kenneth D. Abramson, H. Bruce Butts, Jr.
  • Patent number: 5506987
    Abstract: A method of scheduling processes on a symmetric multiprocessing system that maintains process-to-CPU affinity without introducing excessive idle time is disclosed. When a new process is assigned, the process is identified as young and small, given a migtick value and assigned to a specific CPU. If the priority of a process placed on a run queue is above a threshold, the high priority count of the assigned CPU is incremented. At predetermined clock intervals, an interrupt occurs that causes the migtick value of running processes to be decremented. Then each CPU is tested to determine if its high priority count is greater than zero. CPUs having high priority counts greater than zero are tested to determine if any processes having a priority greater than the priority of the running process are assigned. If higher priority processes are assigned to a CPU having assigned processes lying above the threshold, a context switch takes place that results in the higher priority process being run.
    Type: Grant
    Filed: March 24, 1994
    Date of Patent: April 9, 1996
    Assignee: Digital Equipment Corporation
    Inventors: Kenneth D. Abramson, H. Bruce Butts, Jr., David A. Orbits
  • Patent number: 5426741
    Abstract: A monitor for monitoring the occurrence of events on the bus (15) of a multiprocessor computer system. The bus event monitor (BEM) includes a dedicated BEM processor (23) and an event counter subsystem (25). During each bus cycle, the BEM (21) captures and interprets the packet of data being transmitted on the bus (15). If the packet represents an event designated by the user to be of interest, a counter associated with the type of packet that was captured and interpreted is incremented by one. More specifically, a field programmable gate array (FPGA), configured by the user, defines the type of events to be counted. When an event to be accounted occurs, the FPGA (33) produces a counter address that is based on the nature of the event, and causes an enable pulse to be generated. The address is applied to the active one of two event counter banks (39a, 39b) via an input crossbar switch (37a). The enable pulse enables the addressed event counter to be incremented by one.
    Type: Grant
    Filed: January 14, 1994
    Date of Patent: June 20, 1995
    Assignee: Digital Equipment Corporation
    Inventors: H. Bruce Butts, Jr., James N. Leahy, Richard B. Gillett, Jr.
  • Patent number: 5303362
    Abstract: A coherent coupled memory multiprocessor computer system that includes a plurality of processor modules (11a, 11b . . . ), a global interconnect (13), an optional global memory (15) and an input/output subsystem (17,19) is disclosed. Each processor module (11a, 11b . . . ) includes: a processor (21); cache memory (23); cache memory controller logic (22); coupled memory (25); coupled memory control logic (24); and a global interconnect interface (27). Coupled memory (25) associated with a specific processor (21), like global memory (15), is available to other processors (21). Coherency between data stored in coupled (or global) memory and similar data replicated in cache memory is maintained by either a write-through or a write-back cache coherency management protocol. The selected protocol is implemented in hardware, i.e., logic, form, preferably incorporated in the coupled memory control logic (24) and in the cache memory controller logic (22).
    Type: Grant
    Filed: March 20, 1991
    Date of Patent: April 12, 1994
    Assignee: Digital Equipment Corporation
    Inventors: H. Bruce Butts, Jr., David A. Orbits, Kenneth D. Abramson
  • Patent number: 5269013
    Abstract: An adaptive memory management method for coupled memory multiprocessor computer systems is disclosed. In a coupled memory multiprocessor system all the data and stack pages of processes assigned to individual multiprocessors are, preferably, located in a memory region coupled to the assigned processor. When this becomes impossible, some data and stack pages are assigned to global memory or memory regions coupled to other processors. The present invention is a method of making certain that the most referenced data and stack pages are located in the coupled memory of the processor to which a specific process is assigned and lesser referenced pages are located in global memory or the coupled memory region of other processors. This result is accomplished by sampling the memory references made by the processors of the computer system and causing the most recently referenced pages in each coupled memory region to be maintained at the head of an active page list.
    Type: Grant
    Filed: March 20, 1991
    Date of Patent: December 7, 1993
    Assignee: Digital Equipment Corporation
    Inventors: Kenneth D. Abramson, David A. Orbits, H. Bruce Butts, Jr.
  • Patent number: 5237673
    Abstract: A method of managing the memory of a CM multiprocessor computer system is disclosed. A CM multiprocessor computer system includes: a plurality of CPU modules 11a . . . 11n to which processes are assigned; one or more optional global memories 13a . . . 13n; a storage medium 15a, 15b . . . 15n; and a global interconnect 12. Each of the CPU modules 11a . . . 11n includes a processor 21 and a coupled memory 23 accessible by the local processor without using the global interconnect 12. Processors have access to remote coupled memory regions via the global interconnect 12. Memory is managed by transferring, from said storage medium, the data and stack pages of a process to be run to the coupled memory region of the CPU module to which the process is assigned, when the pages are called for by the process. Other pages are transferred to global memory, if available. At prescribed intervals, the free memory of each coupled memory region and global memory is evaluated to determine if it is below a threshold.
    Type: Grant
    Filed: March 20, 1991
    Date of Patent: August 17, 1993
    Assignee: Digital Equipment Corporation
    Inventors: David A. Orbits, Kenneth D. Abramson, H. Bruce Butts, Jr.
  • Patent number: 4893235
    Abstract: A central processing unit for a digital computer. In one embodiment, the central processing unit comprises a plurality of pointer registers that may be used during instruction execution to directly address other registers. In a second embodiment, the central processing unit comprises a size register that is loaded during the decode of an operation code with a size code indicating the data path width for that operation code. During instruction execution, the size code may be used at various times to determine data path width.
    Type: Grant
    Filed: June 16, 1988
    Date of Patent: January 9, 1990
    Assignee: Digital Equipment Corporation
    Inventors: H. Bruce Butts, Jr., David N. Cutler, Peter C. Schnorr, Robert T. Short
  • Patent number: 4812971
    Abstract: A central processing unit for a digital computer. In one embodiment, the central processing unit comprises a plurality of pointer registers that may be used during instruction execution to directly address other registers. In a second embodiment, the central processing unit comprises a size register that is loaded during the decode of an operation code with a size code indicating the data path width for that operation code. During instruction execution, the size code may be used at various times to determine data path width.
    Type: Grant
    Filed: June 16, 1988
    Date of Patent: March 14, 1989
    Assignee: Digital Equipment Corporation
    Inventors: H. Bruce Butts, Jr., David N. Cutler, Peter C. Schnorr, Robert T. Short
  • Patent number: 4586130
    Abstract: A central processing unit for a digital computer has a central memory unit connected to a system bus. A data path unit decodes variable length microinstructions that are stored in the central memory unit and that include an operation code and one or more operand specifiers, issuing a microaddress of one of a set of microinstructions stored in a control store. The microinstructions have a data path control field, a condition/size field and a next address control field. A microinstruction logic control is responsive to the microinstructions, and a memory control unit that includes a data cache memory array operates asynchronously with respect to the data path unit, translating virtual memory addresses to access data from the data cache memory array or from the central memory unit.
    Type: Grant
    Filed: October 3, 1983
    Date of Patent: April 29, 1986
    Assignee: Digital Equipment Corporation
    Inventors: H. Bruce Butts, Jr., David N. Cutler, Peter C. Schnorr, Robert T. Short