Recovery, E.g., Branch Miss-prediction, Exception Handling (epo) Patents (Class 712/E9.06)
E Subclasses
-
Patent number: 12223327Abstract: Techniques related to executing a plurality of instructions by a processor comprising a method for executing a plurality of instructions by a processor. The method comprises detecting a pipeline hazard based on one or more instructions provided for execution by an instruction execution pipeline, beginning execution of an instruction, of the one or more instructions on the instruction execution pipeline, stalling a portion of the instruction execution pipeline based on the detected pipeline hazard, storing a register state associated with the execution of the instruction based on the stalling, determining that the pipeline hazard has been resolved, and restoring the register state to the instruction execution pipeline based on the determination.Type: GrantFiled: October 16, 2023Date of Patent: February 11, 2025Assignee: Texas Instruments IncorporatedInventors: Timothy D. Anderson, Duc Bui, Joseph Zbiciak, Reid E. Tatge
-
Patent number: 12200039Abstract: An application of a cloud-based controller forwards a message to a message broker of the cloud-based controller. The message is then transmitted to a network device of a wireless communications network over a persistent hypertext transfer protocol (“HTTP”) connection. Thereafter, an acknowledgment is received in response to transmitting the message at a gRPC proxy for the message broker.Type: GrantFiled: August 2, 2023Date of Patent: January 14, 2025Assignee: Ruckus IP Holdings LLCInventors: Cheng-Ming Chien, Wei-Sheng Hsu, I-Cheng Liang
-
Patent number: 12169718Abstract: An apparatus comprises decoder circuitry to decode an instruction that includes an opcode to indicate a protected load operation, a source field for source memory address information, and a destination field to identify a destination register. The apparatus also comprises memory to store an allocate load-protect (LP) data structure with an entry for the identified destination register. The entry comprises an IP field and a status field. The apparatus also comprises load elision circuitry to (a) use the allocate LP data structure to determine whether the identified destination register has active status for the IP; (b) in response to determining that the identified destination register has active status for the IP, cause the instruction to be elided; and (c) in response to determining that the identified destination register does not have active status for the IP, cause the instruction to be executed. Other embodiments are described and claimed.Type: GrantFiled: June 25, 2021Date of Patent: December 17, 2024Assignee: Intel CorporationInventors: Vineeth Thamarassery Mekkat, Sebastian Christoph Albert Winkel, Rangeen Basu Roy Chowdhury
-
Patent number: 12118362Abstract: An example method of exception handling in a computer system is described. The computer system includes a physical central processing unit (PCPU) and a system memory, the system memory storing a first stack, a second stack, and a double fault stack associated with the PCPU. The method includes: storing, by an exception handler executing in the computer system, an exception frame on the double fault stack in response to a stack overflow condition of the first stack; switching, by the exception handler, a first stack pointer of the PCPU from pointing to the first stack to pointing to the double fault stack; setting a current stack pointer of the PCPU to the first stack pointer; and executing software on the PCPU with the current stack pointer pointing to the double fault stack.Type: GrantFiled: December 22, 2021Date of Patent: October 15, 2024Assignee: VMware LLCInventors: Cyprien Laplace, Sunil Kumar Kotian, Andrei Warkentin, Regis Duchesne, Alexander Fainkichen, Shruthi Muralidhara Hiriyuru, Ye Li
-
Patent number: 11960730Abstract: Systems and methods described herein synchronize events between various components of storage device during the processing of an exception (i.e., an internal error). The storage device can have a plurality of processors which may each coordinate operations on various domains of storage device processing tasks. An exception occurring in one domain may require input and coordination from other domains within the storage device. Each exception may have a list of predetermined steps needed for completion which are coordinated via a series of sync points placed between exception action clusters which perform a series of specific operations until data or processing from another domain is needed to continue processing. The sync points can be utilized to halt processing in one domain until the other domains are in sync and complete one or more exception action operations. In this way, a streamlined and predictable synchronization between domains may occur during an exception.Type: GrantFiled: June 28, 2021Date of Patent: April 16, 2024Assignee: Western Digital Technologies, Inc.Inventors: Rishi Mukhopadhyay, Shiva K
-
Patent number: 11860795Abstract: Device, system, and method of determining memory requirements and tracking memory usage. A method includes: dynamically modifying, in an iterative process including two or more iterations, a maximum size of Random Access Memory (RAM) that a Memory Protection Unit (MPU) authorizes an executable program code to access. In each iteration, the method includes running that executable program code while the MPU enforces a different maximum size of RAM, and monitoring whether the executable program code attempted to access a RAM memory address that is beyond that maximum size of RAM in that iteration. Based on such iterations, the method determines a minimum size of RAM that is required for that executable program code to run without causing a memory access fault.Type: GrantFiled: February 18, 2020Date of Patent: January 2, 2024Assignee: ARM LIMITEDInventors: Itay Zacay, Adi Kachal, Roee Friedman, Dvir Shalom Marcovici, Uri Eliyahu
-
Patent number: 11847458Abstract: Methods and systems for determining a priority of a threads is described. A processor can execute branch instructions of the thread. The processor can predict branch instruction outcomes of the branch instructions of the thread. The processor can increment a misprediction count of the thread in response to an actual execution of a branch instruction of the thread being different from a corresponding branch instruction prediction outcome of the thread. The processor can determine the priority of the thread based on the misprediction count of the thread.Type: GrantFiled: July 2, 2021Date of Patent: December 19, 2023Assignee: International Business Machines CorporationInventors: Richard J. Eickemeyer, Ehsan Fatehi, John B. Griswell, Jr., Naga P. Gorti
-
Patent number: 11822923Abstract: A load/store unit includes a first queue including a first entry for a store operation and a second queue including a second entry for a load operation that includes a return instruction that redirects a program flow to a location indicated by the return instruction. The load/store unit also includes a processor to determine that the store operation matches the load operation and selectively perform store-to-load forwarding (STLF) of a return address for the return instruction from the first entry to the second entry based on whether the store operation is associated with a call instruction. The load/store unit forwards the return address to the second entry in response to the store operation being associated with the call instruction. The load/store unit blocks forwarding until the store operation retires in response to the store operation not being associated with the call instruction.Type: GrantFiled: June 25, 2019Date of Patent: November 21, 2023Assignee: Advanced Micro Devices, Inc.Inventor: David Kaplan
-
Patent number: 11573847Abstract: This invention is a streaming engine employed in a digital signal processor. A fixed data stream sequence is specified by a control register. The streaming engine fetches stream data ahead of use by a central processing unit and stores it in a stream buffer. Upon occurrence of a fault reading data from memory, the streaming engine identifies the data element triggering the fault preferably storing this address in a fault address register. The streaming engine defers signaling the fault to the central processing unit until this data element is used as an operand. If the data element is never used by the central processing unit, the streaming engine never signals the fault. The streaming engine preferably stores data identifying the fault in a fault source register. The fault address register and the fault source register are preferably extended control registers accessible only via a debugger.Type: GrantFiled: August 7, 2020Date of Patent: February 7, 2023Assignee: Texas Instruments IncorporatedInventors: Joseph Zbiciak, Timothy D. Anderson, Duc Bui, Kai Chirca
-
Patent number: 11537487Abstract: In an information processing apparatus, a control unit receives operation instructions. Each time receiving an operation instruction, the control unit detects the number of operating circuits that are to operate in accordance with the received operation instruction, in a circuit group of circuits that operate in synchronization with a clock signal. In addition, each time receiving an operation instruction, the control unit determines whether power supply noise that is likely to cause a timing error in the circuit group will occur, on the basis of a result of comparing an increase in the number of operating circuits per prescribed time period with a threshold, and lowers the frequency of the clock signal when determining that the power supply noise will occur.Type: GrantFiled: November 22, 2019Date of Patent: December 27, 2022Assignee: FUJITSU LIMITEDInventor: Ryuichi Nishiyama
-
Patent number: 10445498Abstract: Described systems and methods enable enforcing application control remotely and automatically, on a relatively large number of client systems (e.g., a corporate network, a virtual desktop infrastructure system, etc.). An application control engine executes outside a virtual machine exposed on a client system, the application control engine configured to enforce application control within the virtual machine according to a set of control policies. When a policy indicates that a specific process is not allowable on the respective client system, the app control engine may prevent execution of the respective process. To assist in data gathering and/or other activities associated with application control, some embodiments temporarily drop a control agent into the controlled virtual machine.Type: GrantFiled: July 25, 2018Date of Patent: October 15, 2019Assignee: Bitdefender IPR Management Ltd.Inventors: Sandor Lukacs, Andrei V. Lutas
-
Patent number: 10353766Abstract: A computer-implemented method comprises identifying a computer task; determining a hardware exception source associated with the computer task; determining an exception unit associated with the hardware exception source; determining a parallelization factor associated with the hardware exception source; and determining a parallel execution scenario associated with the computer task based on the exception unit and the parallelization factor. A corresponding computer program product and computer system are also disclosed.Type: GrantFiled: September 9, 2016Date of Patent: July 16, 2019Assignee: International Business Machines CorporationInventors: Zhaohui Ding, Kai Huang, Jun Hua Jiang, Da Xu, Bo Zhu
-
Patent number: 10209935Abstract: A facility for managing a document conversion environment is described. In various embodiments, the facility includes a native application associated with a native document type and an isolation service. The isolation service determines whether a native application associated with the native document type has started and when it has not started, starts the native application and causes the started native application to load and convert a native document to a common document format, wherein the isolation service starts a single instance of the native application and monitors the single instance of the native application so that it complies with specified a parameter, condition, or setting of operation.Type: GrantFiled: May 27, 2016Date of Patent: February 19, 2019Assignee: Open Text SA ULCInventors: William R. Harman, Jonathan Isabelle, Michael Riedel
-
Patent number: 8898442Abstract: Methods and systems for scenario-based process modeling are described. In one example embodiment, a system for scenario-based process modeling can include a scenario module, a deviations module, a parallel tasks module, and a workflow generation engine. The scenario module is to receive a series of tasks to define a standard process flow. The deviations module is to receive a deviation from the standard process flow. The parallel tasks module is to enable identification of one or more parallel tasks. The workflow generation engine is to generate a workflow model based on the standard process flow, deviation, and one or more parallel tasks.Type: GrantFiled: September 29, 2009Date of Patent: November 25, 2014Assignee: SAP SEInventor: Todor Stoitsev
-
Patent number: 8886920Abstract: A processor configured to facilitate transfer and storage of predicted targets for control transfer instructions (CTIs). In certain embodiments, the processor may be multithreaded and support storage of predicted targets for multiple threads. In some embodiments, a CTI branch target may be stored by one element of a processor and a tag may indicate the location of the stored target. The tag may be associated with the CTI rather than associating the complete target address with the CTI. When the CTI reaches an execution stage of the processor, the tag may be used to retrieve the predicted target address. In some embodiments using a tag to retrieve a predicted target, CTI instructions from different processor threads may be interleaved without affecting retrieval of predicted targets.Type: GrantFiled: September 8, 2011Date of Patent: November 11, 2014Assignee: Oracle International CorporationInventors: Christopher H. Olson, Manish K. Shah
-
Patent number: 8862861Abstract: Techniques are disclosed relating to a processor that is configured to execute control transfer instructions (CTIs). In some embodiments, the processor includes a mechanism that suppresses results of mispredicted younger CTIs on a speculative execution path. This mechanism permits the branch predictor to maintain its fidelity, and eliminates spurious flushes of the pipeline. In one embodiment, a misprediction bit is be used to indicate that a misprediction has occurred, and younger CTIs than the CTI that was mispredicted are suppressed. In some embodiments, the processor may be configured to execute instruction streams from multiple threads. Each thread may include a misprediction indication. CTIs in each thread may execute in program order with respect to other CTIs of the thread, while instructions other than CTIs may execute out of program order.Type: GrantFiled: September 8, 2011Date of Patent: October 14, 2014Assignee: Oracle International CorporationInventors: Christopher H. Olson, Manish K. Shah
-
Patent number: 8850167Abstract: Provided is a processor including an instruction issue unit that issues a vector load instruction read from a main memory based on branch target prediction of a branch target in a branch instruction, a data acquisition unit that starts issue of a plurality of acquisition requests for acquiring a plurality of vector data based on the issued vector load instruction from the main memory, a determination unit that determines a success or a failure of the branch target prediction after the branch target is determined, and a vector load management unit that, when the branch target prediction is determined to be a success, acquires all vector data based on the plurality of acquisition requests and then transfers all the vector data to a vector register, and, when the branch target prediction is determined to be a failure, discards the vector data acquired by the issued acquisition requests.Type: GrantFiled: September 22, 2011Date of Patent: September 30, 2014Assignee: NEC CorporationInventor: Masao Fukagawa