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: 10430190Abstract: 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: GrantFiled: March 15, 2013Date of Patent: October 1, 2019Assignee: Micron Technology, Inc.Inventors: John D. Leidel, Kevin R. Wadleigh, Joe Bolding, Tony Brewer, Dean E. Walker
-
Publication number: 20130332711Abstract: 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: ApplicationFiled: March 15, 2013Publication date: December 12, 2013Applicant: Convey ComputerInventors: John D. Leidel, Kevin R. Wadleigh, Joe Bolding, Tony Brewer, Dean E. Walker
-
Patent number: 7451073Abstract: 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: GrantFiled: June 25, 2002Date of Patent: November 11, 2008Assignee: Hewlett-Packard Development Company, L.P.Inventors: Daniel Tormey, Joe Bolding
-
Patent number: 7343590Abstract: 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: GrantFiled: June 25, 2002Date of Patent: March 11, 2008Assignee: Hewlett-Packard Development Company, L.P.Inventors: Daniel Tormey, Joe Bolding, Matt Jacunski
-
Publication number: 20070113195Abstract: 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: ApplicationFiled: November 17, 2005Publication date: May 17, 2007Inventors: Daniel Tormey, Joe Bolding, Ronald Gilbert
-
Patent number: 7162743Abstract: 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: GrantFiled: October 4, 2001Date of Patent: January 9, 2007Assignee: Hewlett-Packard Development Company, L.P.Inventors: Joe Bolding, Dan Tormey
-
Publication number: 20060218535Abstract: 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: ApplicationFiled: March 24, 2005Publication date: September 28, 2006Inventors: Janis Delmonte, Joe Bolding, Daniel Tormey
-
Patent number: 6904513Abstract: 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: GrantFiled: July 2, 2004Date of Patent: June 7, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Dan Tormey, Joe Bolding, Gerald Everett
-
Patent number: 6862694Abstract: 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: GrantFiled: October 5, 2001Date of Patent: March 1, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Dan Tormey, Joe Bolding, Bjorn Helgaas
-
Patent number: 6859892Abstract: 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: GrantFiled: April 25, 2001Date of Patent: February 22, 2005Assignee: Hewlett-Packard Development Company, L.P.Inventors: Joe Bolding, Dan Tormey, Gerald Everett
-
Patent number: 6826675Abstract: 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: GrantFiled: October 9, 2001Date of Patent: November 30, 2004Assignee: Hewlett-Packard Development Company, L.P.Inventors: Dan Tormey, Joe Bolding, Gerald Everett
-
Patent number: 6795910Abstract: 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: GrantFiled: October 9, 2001Date of Patent: September 21, 2004Assignee: Hewlett-Packard Development Company, L.P.Inventors: Dan Tormey, Joe Bolding, Gerald Everett
-
Publication number: 20030237075Abstract: 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: ApplicationFiled: June 25, 2002Publication date: December 25, 2003Inventors: Daniel Tormey, Joe Bolding, Matt Jacunski
-
Publication number: 20030237076Abstract: 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: ApplicationFiled: June 25, 2002Publication date: December 25, 2003Inventors: Daniel Tormey, Joe Bolding
-
Publication number: 20020162051Abstract: 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: ApplicationFiled: April 25, 2001Publication date: October 31, 2002Inventors: Joe Bolding, Dan Tormey, Gerald Everett