Patents by Inventor Joe Bolding

Joe Bolding 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: 10430190
    Abstract: Systems and methods which provide a modular processor framework and instruction set architecture designed to efficiently execute applications whose memory access patterns are irregular or non-unit stride are disclosed. A hybrid multithreading framework (HMTF) of embodiments provides a framework for constructing tightly coupled, chip-multithreading (CMT) processors that contain specific features well-suited to hiding latency to main memory and executing highly concurrent applications. The HMTF of embodiments includes an instruction set designed specifically to exploit the high degree of parallelism and concurrency control mechanisms present in the HMTF hardware modules. The instruction format implemented by a HMTF of embodiments is designed to give the architecture, the runtime libraries, and/or the application ultimate control over how and when concurrency between thread cache units is initiated.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: October 1, 2019
    Assignee: Micron Technology, Inc.
    Inventors: John D. Leidel, Kevin R. Wadleigh, Joe Bolding, Tony Brewer, Dean E. Walker
  • Publication number: 20130332711
    Abstract: Systems and methods which provide a modular processor framework and instruction set architecture designed to efficiently execute applications whose memory access patterns are irregular or non-unit stride as disclosed. A hybrid multithreading framework (HMTF) of embodiments provides a framework for constructing tightly coupled, chip-multithreading (CMT) processors that contain specific features well-suited to hiding latency to main memory and executing highly concurrent applications. The HMTF of embodiments includes an instruction set designed specifically to exploit the high degree of parallelism and concurrency control mechanisms present in the HMTF hardware modules. The instruction format implemented by a HMTF of embodiments is designed to give the architecture, the runtime libraries, and/or the application ultimate control over how and when concurrency between thread cache units is initiated.
    Type: Application
    Filed: March 15, 2013
    Publication date: December 12, 2013
    Applicant: Convey Computer
    Inventors: John D. Leidel, Kevin R. Wadleigh, Joe Bolding, Tony Brewer, Dean E. Walker
  • Patent number: 7451073
    Abstract: A system and method for increasing performance in a simulator environment operable to simulate a multiprocessor platform with program code running thereon. A set of processors are initialized upon instantiating the simulator environment on a host machine for executing the program code instructions. Code execution on a simulated processor is suspended by executing a simulator API routine which is called when the program code is to enter an idle state. The host resources that would otherwise have been spent on the processor running the idle loops are therefore conserved for use by the remaining processors.
    Type: Grant
    Filed: June 25, 2002
    Date of Patent: November 11, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Daniel Tormey, Joe Bolding
  • Patent number: 7343590
    Abstract: A system and method for increasing Operating System (OS) idle loop performance in a simulator environment. Upon encountering an OS idle loop condition on a processor, OS program flow is skipped ahead by an amount of time, thereby conserving the host machine's resources that would otherwise have been spent in supporting the OS idle loop execution. If another processor initiates an inter-processor message directed to a processor whose OS program flow has been skipped forward, that processor is capable of skipping backward in time, if necessary, to service the inter-processor message.
    Type: Grant
    Filed: June 25, 2002
    Date of Patent: March 11, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Daniel Tormey, Joe Bolding, Matt Jacunski
  • Publication number: 20070113195
    Abstract: System and method for controlling presentation of windows on a computer display are described. In one embodiment, the system comprises a text file associated with an application, the text file comprising at least one data string, wherein each data string is associated with a window and comprises window configuration information for the window with which it is associated; and window configuration software for accessing the text file responsive to opening of the application, for obtaining from the text file window configuration information for a window, and for causing the window to be presented on the display in accordance with the window configuration information.
    Type: Application
    Filed: November 17, 2005
    Publication date: May 17, 2007
    Inventors: Daniel Tormey, Joe Bolding, Ronald Gilbert
  • Patent number: 7162743
    Abstract: A system and method for protecting a defined range of hardware addresses or a defined set of processor instructions from being accessed or executed by unauthorized software modules. Abstraction layer code is given a range of software addresses that are permitted to access the protected addresses or execute the instructions. Authorized accesses must utilize service routines provided by the abstraction layer code. When an attempted access to a protected hardware address is detected, it is determined whether the access is from the abstraction layer code. If so, the access is permitted. If not, the access is prohibited, and an error message is generated. A basic set of authorized processor instructions and an extended set of processor instructions may be defined for a reference platform. Execution of processor instructions in the extended set is limited to authorized abstraction layers. Otherwise, the attempted execution is prohibited, and an error message is generated.
    Type: Grant
    Filed: October 4, 2001
    Date of Patent: January 9, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Joe Bolding, Dan Tormey
  • Publication number: 20060218535
    Abstract: In one embodiment, a method for evaluating code usage includes monitoring instructions executed by a processor, counting instances of execution of each instruction, correlating the executed instructions with source code instructions, and providing an indication of source code usage to a user.
    Type: Application
    Filed: March 24, 2005
    Publication date: September 28, 2006
    Inventors: Janis Delmonte, Joe Bolding, Daniel Tormey
  • Patent number: 6904513
    Abstract: A system and method for managing utilization in a stack. A stack base and a stack pointer are initialized for the stack. Upon fetching a program instruction to be executed in a computing environment, a determination is made if the program instruction involves accessing a location within a valid stack range that is defined by a high water mark operable to identify the stack pointer's farthest location from the stack base. The farthest location is indicative of how far the stack has grown at any time during the program's execution. A warning may be provided upon determining that the location to be accessed is not within the valid stack range.
    Type: Grant
    Filed: July 2, 2004
    Date of Patent: June 7, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dan Tormey, Joe Bolding, Gerald Everett
  • Patent number: 6862694
    Abstract: A system and method for setting and executing breakpoints utilized for debugging program code. A user interface (UI) stores breakpoint addresses in a breakpoint table within a central processing unit (CPU). Multiple breakpoint addresses may be stored in the table as a range of addresses in a single entry. A flag indicates whether each stored address or address range is a physical or virtual address. When executing the program code on the CPU, an instruction core requests from an instruction cache, an instruction associated with a particular address. The cache first determines from the breakpoint table within the CPU whether there is a breakpoint associated with the particular address. If so, the cache returns control to the UI. Otherwise, the cache goes out to a coherency controller to fetch the instruction from memory.
    Type: Grant
    Filed: October 5, 2001
    Date of Patent: March 1, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dan Tormey, Joe Bolding, Bjorn Helgaas
  • Patent number: 6859892
    Abstract: A system and method for synchronizing processors simulated in an architectural simulator for a multiprocessor environment. A synchronous breakpoint is set at a predetermined address location and a code portion targeted for execution on the target multiprocessor environment is launched on the simulator from a fixed location. Upon automatically stepping through a list of processors initialized in the simulator until each of the processors reaches the synchronous breakpoint, run control is returned to the user only after all processors have achieved a synchronous state. Debug operations may ensue thereafter by utilizing a debugger integrated with the architectural simulator.
    Type: Grant
    Filed: April 25, 2001
    Date of Patent: February 22, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Joe Bolding, Dan Tormey, Gerald Everett
  • Patent number: 6826675
    Abstract: A system and method for managing utilization in a unidirectional stack. An application programming interface (API) is provided for facilitating user interaction with a stack management system associated with a computing environment such as an architectural simulator. The unidirectional stack is initialized via the API with respect to a fixed stack marker boundary, a stack base and a stack pointer. A high water mark is maintained for tracking the stack pointer's farthest location from the stack base during the execution of a program. When a program instruction is operable to access a stack location, one or more validity rules are applied to determine if the access operation is permissible. Where the program instruction is operable to modify the stack pointer, another set of validity rules are applied to determine if the stack pointer operation is permissible. User warning and optional return of program control are available when an invalid access operation or stack pointer operation is attempted.
    Type: Grant
    Filed: October 9, 2001
    Date of Patent: November 30, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dan Tormey, Joe Bolding, Gerald Everett
  • Patent number: 6795910
    Abstract: A system and method for managing stack utilization in a two-stack arrangement wherein the stacks are operable to grow towards each other. An application programming interface (API) is provided for facilitating user interaction with a stack management system associated with a computing environment such as an architectural simulator. Each of two stacks is initialized via the API with a stack base, a growth direction indicator and a stack pointer. High water marks are maintained for tracking each stack pointer's farthest location from the respective stack base during the execution of a program. When a program instruction is operable to access a location in either of the stacks, one or more validity rules are applied to determine if the access operation is permissible. Where the program instruction is operable to modify either of the stack pointers, another set of validity rules are applied to determine if the stack pointer operation is permissible.
    Type: Grant
    Filed: October 9, 2001
    Date of Patent: September 21, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dan Tormey, Joe Bolding, Gerald Everett
  • Publication number: 20030237075
    Abstract: A system and method for increasing Operating System (OS) idle loop performance in a simulator environment. Upon encountering an OS idle loop condition on a processor, OS program flow is skipped ahead by an amount of time, thereby conserving the host machine's resources that would otherwise have been spent in supporting the OS idle loop execution. If another processor initiates an inter-processor message directed to a processor whose OS program flow has been skipped forward, that processor is capable of skipping backward in time, if necessary, to service the inter-processor message.
    Type: Application
    Filed: June 25, 2002
    Publication date: December 25, 2003
    Inventors: Daniel Tormey, Joe Bolding, Matt Jacunski
  • Publication number: 20030237076
    Abstract: A system and method for increasing performance in a simulator environment operable to simulate a multiprocessor platform with program code running thereon. A set of processors are initialized upon instantiating the simulator environment on a host machine for executing the program code instructions. Code execution on a simulated processor is suspended by executing a simulator API routine which is called when the program code is to enter an idle state. The host resources that would otherwise have been spent on the processor running the idle loops are therefore conserved for use by the remaining processors.
    Type: Application
    Filed: June 25, 2002
    Publication date: December 25, 2003
    Inventors: Daniel Tormey, Joe Bolding
  • Publication number: 20020162051
    Abstract: A system and method for synchronizing processors simulated in an architectural simulator for a multiprocessor environment. A synchronous breakpoint is set at a predetermined address location and a code portion targeted for execution on the target multiprocessor environment is launched on the simulator from a fixed location. Upon automatically stepping through a list of processors initialized in the simulator until each of the processors reaches the synchronous breakpoint, run control is returned to the user only after all processors have achieved a synchronous state. Debug operations may ensue thereafter by utilizing a debugger integrated with the architectural simulator.
    Type: Application
    Filed: April 25, 2001
    Publication date: October 31, 2002
    Inventors: Joe Bolding, Dan Tormey, Gerald Everett