G06F9/30174

Unified register file for supporting speculative architectural states
11467839 · 2022-10-11 · ·

A method for supporting architecture speculation in an out of order processor is disclosed. The method comprises fetching two threads into the processor, wherein a first thread executes in a speculative state and a second thread executes in a non-speculative state. The method also comprises enabling a speculative scope for an execution of the first thread and a non-speculative scope for an execution of the second thread in an architecture of the processor, wherein the speculative scope and the non-speculative scope can both be fetched into the architecture and be present concurrently.

System for executing new instructions and method for executing new instructions

A method for executing new instructions includes the following steps. An instruction is received. A determination is made as to whether the received instruction is a new instruction. When the received instruction is the new instruction, a emulation flag is generated. The emulation flag is a first value. A system management interrupt is generated according to the emulation flag. In response to the system management interrupt, entering the system management mode and simulating the execution of the received instruction in the system management mode to generate a simulation execution result. The simulation execution result is stored in a system management memory.

Computational storage with pre-programmed slots using dedicated processor core
11687338 · 2023-06-27 · ·

The technology disclosed herein provides a method including determining one or more dedicated computations storage programs (CSPs) used in a target market for a computational storage device, storing the dedicated CSPs in one or more pre-programmed computing instruction set (CIS) slots in the computational storage device, translating one or more instructions of the dedicated CSPs for processing using a native processor, loading one or more instructions of programmable CSPs to a CSP processor implemented within an application specific integrated circuit (ASIC) of the computational storage device, and processing the one or more instructions of the programmable CSPs using the CSP processor.

COMMUNICATING BETWEEN BROWSERS AND NATIVE APPLICATIONS
20230195463 · 2023-06-22 ·

In one example of the present disclosure, a method for establishing communication between a browser and a native application is disclosed. The method may be initiated by executing a browser extension associated with the browser. The method may execute a native host to initiate startup of the native application. The native host may interface with the native application to establish bidirectional communication between the native host and the native application. The native host may also interface with the browser extension to establish bidirectional communication between the native host and the browser extension to connect the browser and the native application.

Method and apparatus for execution mode selection

An apparatus and method for performing high performance instruction emulation. One embodiment of the invention includes a processor to process an instruction set including high-power and standard instructions comprising: an analysis module to determine whether a number of high-power instructions within a specified window are above or below a specified threshold; an execution mode selection module to select a native execution of the high-power instructions if the number of high-power instructions are above the specified threshold or to select an emulated execution of the high-power instructions if the number of high-power instructions are below the specified threshold.

MICROPROCESSOR WITH SUPPLEMENTARY COMMANDS FOR BINARY SEARCH AND ASSOCIATED SEARCH METHOD
20170315808 · 2017-11-02 ·

A microprocessor for a vehicle control device includes: an instruction set; a register section with a status register, a first flag being provided in the status register for storing a logical result of a comparison operation; and an arithmetic logical unit. The status register comprises a second flag for storing the logical result of a second comparison operation. The instruction set comprises a first additional instruction, which performs a comparison among two handed-over operands, a result of the comparison being stored in the second flag. The instruction set comprises a second additional instruction, which selects and performs one of at least three pre-defined operations on a basis of a logic connection of values in the first flag and the second flag, for updating an upper boundary and/or a lower boundary of a search field in a binary search for a next iteration.

PROCESSOR WITH MEMORY CONTROLLER INCLUDING DYNAMICALLY PROGRAMMABLE FUNCTIONAL UNIT

A processor including a memory controller for interfacing an external memory and a programmable functional unit (PFU). The PFU is programmed by a PFU program to modify operation of the memory controller, in which the PFU includes programmable logic elements and programmable interconnectors. For example, the PFU is programmed by the PFU program to add a function or otherwise to modify an existing function of the memory controller enhance its functionality during operation of the processor. In this manner, the functionality and/or operation of the memory controller is not fixed once the processor is manufactured, but instead the memory controller may be modified after manufacture to improve efficiency and/or enhance performance of the processor, such as when executing a corresponding process.

Microprocessor that fuses if-then instructions
09792121 · 2017-10-17 · ·

A microprocessor includes an instruction translation unit that extracts condition information from the IT instruction and fuses the IT instruction with the first IT block instruction. For each instruction of the IT block, the instruction translation unit: determines a respective condition for the IT block instruction using the condition information extracted from the IT instruction and translates the IT block instruction into a microinstruction. The microinstruction includes the respective condition. Execution units conditionally execute the microinstruction based on the respective condition. For each IT block instruction, the instruction translation unit determines a respective state value using the extracted condition information. The state value comprises the lower eight bits of the IT instruction having the lower five bits left-shifted by N-1 bits, where N indicates a position of the IT block instruction in the IT block.

Architecture of crossbar of inference engine

A programmable hardware system for machine learning (ML) includes a core and an inference engine. The core receives commands from a host. The commands are in a first instruction set architecture (ISA) format. The core divides the commands into a first set for performance-critical operations, in the first ISA format, and a second set of performance non-critical operations, in the first ISA format. The core executes the second set to perform the performance non-critical operations of the ML operations and streams the first set to inference engine. The inference engine generates a stream of the first set of commands in a second ISA format based on the first set of commands in the first ISA format. The first set of commands in the second ISA format programs components within the inference engine to execute the ML operations to infer data.

Floating point instruction with selectable comparison attributes

An instruction to perform a comparison of a first value and a second value is executed. Based on a control of the instruction, a compare function to be performed is determined. The compare function is one of a plurality of compare functions configured for the instruction, and the compare function has a plurality of options for comparison. A compare option based on the first value and the second value is selected from the plurality of options defined for the compare function, and used to compare the first value and the second value. A result of the comparison is then placed in a select location, the result to be used in processing within a computing environment.