Patents
Literature
Patsnap Eureka AI that helps you search prior art, draft patents, and assess FTO risks, powered by patent and scientific literature data.

1351results about "Instruction analysis" patented technology

Processing system of single-precision configurable matrix operation unit based on RISC-V instruction expansion

ActiveCN119536808AAcceleration and efficiencyImprove accelerationInstruction analysisProgram code adaptionComputer architectureCoprocessor
The invention relates to the technical field of integrated circuits, in particular to a processing system of a single-precision configurable matrix operation unit based on RISC-V instruction expansion, which comprises an RISC-V processor used for executing a software program and identifying a user-defined expansion instruction, and the RISC-V processor is connected with the single-precision configurable matrix operation unit through a user-defined coprocessor interface; the single-precision configurable matrix operation unit comprises an instruction response and decoding module and an instruction retirement and write-back module, and the instruction response and decoding module is used for receiving an instruction function code, source operation data and a destination register number and decoding the instruction function code; after decoding is completed, different execution units are selected according to a decoding result to send corresponding control signals; and after the execution unit completes the corresponding task, the instruction retirement and write-back module returns an execution result and a completion signal to the RISC-V processor, so that execution of a self-defined extension instruction is completed. According to the system, the matrix operation speed can be accelerated through bottom hardware under limited hardware resource consumption.
Owner:FUDAN UNIVERSITY

Instruction processing method and device, storage medium and electronic device

The embodiment of the invention provides an instruction processing method and device, a storage medium and an electronic device.The method comprises the steps that a first type of to-be-processed instructions are determined from multiple to-be-processed instructions according to preset instruction codes, and a first vector parameter is updated into a second vector parameter in an updating mode corresponding to the first type of to-be-processed instructions; and splitting a long vector instruction in other to-be-processed instructions into a plurality of micro-operations based on the second vector parameter, and renaming the other to-be-processed instructions according to the plurality of micro-operations, the other to-be-processed instructions being instructions except the first type of to-be-processed instructions in the plurality of to-be-processed instructions. According to the method and the device, the problem that an execution part circuit in a processor is too complex and too large in area and power consumption due to the appearance of a long vector in a vector instruction in the related technology is solved, and the effects of reducing the design complexity of the execution part circuit and realizing better processing frequency in a limited area are achieved.
Owner:SANECHIPS TECH CO LTD

Cache-line retention hint information for conditional write instruction

In response to instruction decoding circuitry decoding a conditional write instruction, processing circuitry determines whether a predetermined condition is satisfied for a target cache line corresponding to a target address specified by the conditional write instruction. If the predetermined condition is satisfied for the target cache line, a write request is issued to update the target cache line. If the predetermined condition is not satisfied for the target cache line, a failure indication is returned. The processing circuitry selects, depending on whether the sequence of instructions specifies cache-line-retention hint information applicable to the conditional write instruction, whether to prevent a unique coherency state of the target cache line being relinquished by a local cache associated with the processing circuitry for a retention period following processing of the conditional write instruction. The unique coherency state comprises a coherency state in which the processing circuitry has exclusive right to update the target cache line.
Owner:ARM LTD

Processor core, instruction processing method, electronic device and storage medium

The embodiment of the invention relates to a processor core comprising a front end, an instruction processing method, equipment and a medium. The processor core front end comprises N fetch decoding assembly lines, at least one instruction cache and at least one microinstruction cache, wherein N is an integer greater than or equal to 2. Each fetch decoding pipeline comprises fetch selection logic, an instruction cache port, a microinstruction cache port, a decoder and a first microinstruction queue. And the prediction information is processed by the instruction decoding assembly line or the micro instruction assembly line in the N instruction fetching decoding assembly lines to enter the first micro instruction queue for distribution. The processor core has a larger average front-end bandwidth and has improved processing performance.
Owner:HYGON INFORMATION TECH CO LTD

Apparatus and method to prevent single- and zero-stepping of trusted execution environments

In one embodiment, an apparatus comprises a cache to store a plurality of instructions and data associated with a trusted execution environment; instruction processing circuitry to execute the plurality of instructions and process the data, the plurality of instructions including one or more instructions with memory operands, wherein responsive to an interrupt or an exception, the instruction processing circuitry is to pause processing the plurality of instructions and execute a handler; and decode circuitry to partially decode a next instruction of the plurality of instructions to be processed following execution of the handler to determine if the next instruction indicates a memory access and, if so, to calculate at least one corresponding memory address, wherein the partial decode is performed in accordance with one or more constant time programming restrictions.
Owner:INTEL CORP

Instruction encoding to implement increased register capacity per thread

Described herein is a graphics processor comprising first circuitry configured to execute a decoded instruction and second circuitry configured to second circuitry configured to decode an instruction into the decoded instruction. The second circuitry is configured to determine a number of registers within a register file that are available to a thread of the processing resource and decode the instruction based on that number of registers.
Owner:INTEL CORP

Instruction fusion

Techniques are disclosed that relate to executing pairs of instructions. A processor may include fusion detector circuitry configured to detect a pair of fetched instructions and fuse the pair of fetched instructions into a fused instruction operation, and execution circuitry coupled to the fusion detector circuitry and configured to execute the fused instruction operation. In some embodiments the pair of instructions is executable to generate a remainder of a division operation. In some embodiments the pair of instructions is executable to compare two operands and perform a write operation based on the comparison. In some embodiments the pair of instructions is executable to perform an operation and apply a mask bit sequence to the result. The fusion detector circuitry may also be configured to obtain first and second portions of a constant value from first and second instructions and store the first and second portions in a destination register.
Owner:APPLE INC

Technique for performing memory access operations

An apparatus is described having processing circuitry to perform vector processing operations, a set of vector registers, and an instruction decoder to decode vector instructions to control the processing circuitry to perform the required operations. The instruction decoder is responsive to a given vector memory access instruction specifying a plurality of memory access operations, where each memory access operation is to be performed to access an associated data element, to determine, from a data vector indication field of the given vector memory access instruction, at least one vector register in the set of vector registers associated with a plurality of data elements, and to determine, from at least one capability vector indication field of the given vector memory access instruction, a plurality of vector registers in the set of vector registers containing a plurality of capabilities. Each capability is associated with one of the data elements in the plurality of data elements and provides an address indication and constraining information constraining use of that address indication when accessing memory. The number of vector registers determined from the at least one capability vector indication field is greater than the number of vector registers determined from the data vector indication field. The instruction decoder controls the processing circuitry: to determine, for each given data element in the plurality of data elements, a memory address based on the address indication provided by the associated capability, and to determine whether the memory access operation to be used to access the given data element is allowed in respect of that determined memory address having regard to the constraining information of the associated capability; and to enable performance of the memory access operation for each data element for which the memory access operation is allowed.
Owner:ARM LTD

Staint analysis method and device, computer equipment and storage medium

The embodiment of the invention discloses a taint analysis method and device, computer equipment and a storage medium, and belongs to the technical field of information security. In the application, the coprocessor of the computer equipment comprises a plurality of registers, and the plurality of registers not only can be used for storing stain information corresponding to a plurality of general registers in a main processor of the computer equipment, but also can be used for storing stain information corresponding to a program memory space of a target program currently executed by the main processor. Therefore, when the coprocessor performs taint propagation on the first instruction, the taint information of the operand of the first instruction can be accessed by accessing the plurality of registers, and compared with the mode of accessing the taint information by accessing a memory, the operation is simpler, the speed is faster, and the performance overhead is smaller.
Owner:HUAWEI TECH CO LTD +1

Matrix multiplication and accumulation operation unit and operation method, hardware accelerator and electronic equipment

The embodiment of the invention provides a matrix multiplication and accumulation operation unit and method, a hardware accelerator and electronic equipment, and the matrix multiplication and accumulation operation unit comprises a data loading storage engine, a tensor register file and a matrix multiplication engine. The data loading and storage engine is used for loading data of a plurality of matrixes to be subjected to matrix multiplication and accumulation calculation; the tensor register file is used for storing data of a plurality of matrixes acquired from the data loading storage engine; the tensor register file comprises at least three tensor register groups, each tensor register group comprises a plurality of tensor registers, and different tensor register groups are used for storing data of different matrixes in the plurality of matrixes; and the matrix multiplication engine is used for carrying out matrix multiplication accumulation calculation based on the data of the plurality of matrixes stored in the tensor register file. According to the embodiment of the invention, more efficient MMA calculation is realized under the conditions of low cost, low power consumption and less occupied space.
Owner:ALIBABA (CHINA) CO LTD

Systems, circuits, methods, and articles of manufacturer for dram-based digital bit-serial vector computing architecture

Disclosed are various approaches for bit-serial computing embedded in the DRAM subarray, leveraging the massive parallelism of DRAM row operations. The present disclosure discloses digital techniques that can outperform analog charge-sharing techniques. Digital techniques can use more area but support a wider range of computing primitives, and allow a sequence of logic operations to be performed at higher clock speeds, be-tween slower subarray row reads / writes. The present disclosure describes a range of bit-serial architectures, and evaluate raw performance as well as area and energy efficiency. Results show that the digital architecture demonstrates 20× speedup over CPU, 5× over GPU, and 1.7× over SIMDRAM, an analog architecture.
Owner:UNIV OF VIRGINIA PATENT FOUND

Die-to-die dense packaging of deterministic streaming processors

Embodiments are directed to an integrated circuit with multiple dies connected in a die-to-die (D2D) configuration. The integrated circuit can include a first die and a second die connected to the first die via a D2D interface circuit in the D2D configuration forming a D2D structure with the first die. The D2D interface can connect a first plurality of superlanes of the first die with a second plurality of superlanes of the second die for streaming data between the first die and the second die along a first direction or a second direction orthogonal to the first direction.
Owner:GROQ INC

Systems, methods, and computer-readable media for monitoring third party software runtime operations without kernel mode access

Systems, methods, and computer-readable media for telemetry intercept and analysis tools to work with programming languages that do not provide kernel access are provided. Programming languages such as Go do not provide kernel access and do not call standard library functions during operation of the application executable. A library constructor can be used to modify the application executable so that telemetry data can be obtained by an interception library even though the application executable does not call any functions in the interception library.
Owner:DEEPFACTOR INC

Method, processor and system for realizing RISC-V architecture to run X86 instruction set through hardware

The invention discloses a method, a processor and a system for realizing RISC-V architecture to run an X86 instruction set through hardware, and the method comprises the steps: judging whether there is an equivalent RISC-V standard instruction for replacing an X86 instruction, and if there is an equivalent RISC-V standard instruction, determining the X86 instruction and the equivalent RISC-V standard instruction as a first instruction and a second instruction respectively; if the X86 instruction does not exist, whether a non-equivalent RISC-V standard instruction replacing the X86 instruction exists or not is judged, if yes, whether the execution efficiency of the non-equivalent RISC-V standard instruction meets a preset requirement or not is judged, and if yes, it is determined that the X86 instruction and the non-equivalent RISC-V standard instruction are a third instruction and a fourth instruction respectively; if not, an RISC-V custom instruction replacing the X86 instruction is determined, and the X86 instruction and the RISC-V custom instruction are determined to be a fifth instruction and a sixth instruction respectively; and obtaining an instruction processing result which takes the first or third or fifth instruction as input and correspondingly takes the second or fourth or sixth instruction as output, and storing the instruction processing result in a hardware device. According to the method, the X86 instruction set can be quickly and efficiently operated by the RISC-V architecture.
Owner:SHANGHAI XINLIJI SEMICON CO LTD

Binary translation system and method applied to X86 program

The invention provides a binary translation system applied to an X86 program, which is used for translating a source program following X86 semantics into a target program following other semantics, and comprises a data acquisition module used for acquiring the source program; the disassembling module is used for dividing a source program into a plurality of basic blocks and analyzing subsequent basic blocks corresponding to each basic block; the backward data flow analysis module is used for sequentially analyzing each instruction in each basic block from back to front so as to obtain a target definition set and a target subsequent use set corresponding to each instruction in the source program; and the translation module is used for eliminating redundant instructions of high-order zero clearing or high-order retention of the general register generated in translation. According to the technical scheme, the register state of the general register corresponding to each instruction of the source program is analyzed through the backward data flow analysis module so as to eliminate redundant instructions generated in the translation process.
Owner:INST OF COMPUTING TECH CHINESE ACAD OF SCI

Technique for controlling stashing of data

An apparatus has decoder circuitry within a first processing element to decode instructions, in order to respond to a sequence of instructions by generating control signals. Processing circuitry within the first processing element is responsive to the control signals to perform operations defined by the sequence of instructions. The decoder circuitry is responsive to a stashee hint instruction in the sequence of instructions to issue control signals to cause the processing circuitry to issue a stash interest request via an interface used to couple the first processing element to interconnect circuitry. The stash interest request is arranged to provide a given memory address indication determined from the stashee hint instruction and to trigger stashing control circuitry accessible via the interconnect circuitry to cause updated data associated with the given memory address indication to be made available for stashing in an associated storage structure of the first processing element.
Owner:ARM LTD

Count to empty for microarchitectural return predictor security

An embodiment of an integrated circuit may comprise a return stack buffer (RSB), a speculative return stack buffer (SRSB), and circuitry coupled to the RSB and the SRSB, the circuitry to track a count until the SRSB is empty at a time of a prediction by a branch prediction unit, and return an output from the branch prediction unit that corresponds to one of the RSB and the SRSB based at least in part on the count until the SRSB is empty. Other embodiments are disclosed and claimed.
Owner:INTEL CORP

Instruction speculation execution method and device of vector processor and storage medium

The invention discloses an instruction speculation execution method and device of a vector processor and a storage medium. The method comprises the following steps: in response to a vector configuration instruction identified at the front end of a vector processor pipeline, querying a vector prediction configuration table based on instruction information of the vector configuration instruction, and determining a prediction vector configuration parameter; updating a speculative vector state of a back end of the vector processor pipeline based on the predictive vector configuration parameter; performing a speculative process on a vector instruction following the vector configuration instruction based on the speculative vector state; when an actual execution result of the vector configuration instruction is obtained, determining an actual vector configuration parameter; comparing the actual vector configuration parameters with the prediction vector configuration parameters, and when the actual vector configuration parameters are consistent with the prediction vector configuration parameters, determining that speculation processing is effective and updating confidence information in the vector prediction configuration table; and if not, performing a flushing operation on the vector processor assembly line, and updating the vector prediction configuration table by using the actual vector configuration parameters. The processing efficiency of the vector processor assembly line can be improved.
Owner:SHANGHAI LINGRUI INTELLIGENT CORE COMPUTING TECHNOLOGY CO LTD

Processor macro-operation fusion

Disclosed are techniques for macro-operation fusion. In an aspect, a method for macro-operation fusion comprises detecting that a plurality of macro-operations involving a first register is a fusible set of macro-operations comprising a first macro-operation to perform an arithmetic operation using a second register and a second macro-operation to perform the arithmetic operation using an immediate value, wherein the arithmetic operation is addition or subtraction. The method also comprises decoding the fusible set to one micro-operation that performs functions of the fusible set, and executing the one micro-operation that performs the functions of the fusible set. In some aspects, the detection, decoding, and executing steps may be performed by an instruction fetch unit, a decoder unit, and an execution unit, respectively, of a processor. In some aspects, the instruction fetch unit routes the fusible set of macro-operations to the same decoder unit from a plurality of available decoder units.
Owner:AMPERE COMPUTING LLC

Using approximate membership query filters for efficient control flow integrity protection

A method includes fetching, at a program counter value, an instruction of a basic block of code; decoding the instruction; updating a checksum value with a checksum of the instruction; and determining whether a tuple of the program counter value and the checksum value is in an approximate membership query filter (AMQ-filter).
Owner:NXP BV

Matrix multiply accumulation operation unit and operation method, and hardware accelerator and electronic device

Provided in the embodiments of the present disclosure are a matrix multiply accumulation (MMA) operation unit and operation method, and a hardware accelerator and an electronic device. The MMA operation unit comprises a data load / store engine, a tensor register file and a matrix multiplication engine, wherein the data load / store engine is used for loading data of a plurality of matrixes to be subjected to MMA computation; the tensor register file is used for storing the data of the plurality of matrixes that is acquired from the data load / store engine; the tensor register file comprises at least three tensor register groups, each tensor register group comprising a plurality of tensor registers, and different tensor register groups being used for storing data of different matrixes among the plurality of matrixes; and the matrix multiplication engine is used for performing MMA computation on the basis of the data of the plurality of matrixes that is stored in the tensor register file. By means of the embodiments of the present disclosure, more efficient MMA computation is realized with low cost, low power consumption and a smaller footprint.
Owner:ALIBABA (CHINA) CO LTD

Instruction checking method and device based on semantic matching, terminal equipment and storage medium

The invention discloses an instruction checking method and device based on semantic matching, terminal equipment and a storage medium, and belongs to the technical field of instruction checking. The method comprises the steps that a current scheduling instruction and an original scheduling instruction are input into an instruction checking model, according to the method, the instruction checking model is used for respectively capturing semantic information of the current scheduling instruction and the original scheduling instruction, so that a plurality of different semantic embedding vectors are obtained, the semantic deviation degree of the current instruction and the original instruction is obtained by comparing the plurality of groups of semantic embedding vectors of the current instruction and the original instruction, and different checking prompt information is generated according to different deviation conditions; and a dispatcher is prompted to correct the instruction with semantic deviation in time. Therefore, the semantic level of the instruction can be deeply understood, the semantic difference between the instructions can be accurately recognized, the accuracy of instruction checking is improved, and the problem that the accuracy of instruction checking is low due to the fact that the semantics of the instruction cannot be deeply understood in the prior art can be solved.
Owner:POWER DISPATCHING CONTROL CENT OF GUANGDONG POWER GRID CO LTD

Automatic design method and device for complex special instruction of hardware, medium and product

ActiveCN119396470AInstruction analysisGenetic algorithmsData dependency graphCode snippet
The invention discloses an automatic design method and device for a complex special instruction of hardware, a medium and a product, and relates to special hardware design, special instruction design or instruction set extension. The method comprises the steps that an analysis program collects dynamic information; basic blocks in the program are converted into a data dependency graph based on the intermediate representation of the compiler, and seeds are extracted; adopting a genetic algorithm to obtain candidate items of full input and output limitation based on the seeds; scoring the candidate items by adopting a specially designed cost model to serve as a screening basis; the overlapping problem of candidate items is solved through maximum weighted independent set analysis; and fusing the sub-graphs corresponding to the special instruction, generating a special function unit, and completing the automatic design of the complex special instruction of the hardware. According to the method, the similarity between the basic blocks can be explored, and common and frequently executed code snippets are found from a program to serve as special instructions; searching can cover a target program to the maximum degree, and the program is fully accelerated.
Owner:UNIV OF SCI & TECH OF CHINA +2

Software defined super cores

Techniques for software defined super core usage are described. In some examples, a first and second processor core are to operate as a single virtual core enabled by the operating system to fetch the first set of instruction segments of the single threaded program and the second set of instruction segments of the single threaded program concurrently using flow control instructions that have been inserted into the single threaded program.
Owner:INTEL CORP

Systems, methods, and apparatuses for matrix add, subtract, and multiply

Embodiments detailed herein relate to matrix operations. In particular, support for matrix (tile) addition, subtraction, and multiplication is described. For example, circuitry to support instructions for element-by-element matrix (tile) addition, subtraction, and multiplication are detailed. In some embodiments, for matrix (tile) addition, decode circuitry is to decode an instruction having fields for an opcode, a first source matrix operand identifier, a second source matrix operand identifier, and a destination matrix operand identifier; and execution circuitry is to execute the decoded instruction to, for each data element position of the identified first source matrix operand: add a first data value at that data element position to a second data value at a corresponding data element position of the identified second source matrix operand, and store a result of the addition into a corresponding data element position of the identified destination matrix operand.
Owner:INTEL CORP

Pipelined Decoding Microarchitecture Design Method for RISC-V Vector Instructions

A pipelined decoding microarchitecture design method for RISC-V vector instructions includes the following steps: S1, extracting an instruction packet according to a PC, performing preprocessing, and writing a preprocessing result, each instruction field and preprocessed instruction information into a cache; S2, reading the cache, obtaining pre-decoding result data and recognizing each configuration instruction; S3, transmitting the pre-decoding result data to an instruction buffer, and acquiring field information, a split quantity and predicted vtype information; and splitting each instruction into multiple microoperations, and constructing a queue to store each microoperation; and S4, transmitting first, by means of the queue, each configuration instruction, performing decoding and execution, acquiring vtype information generated after execution, and when the vtype information generated after execution is identical with the predicted vtype information, controlling the number of microoperations input to multiple decoders, and transmitting a decoding result to an instruction slot.
Owner:JIANGSU HUACHUANG MICROSYSTEM CO LTD

Thread group scheduling method and device for GPU (Graphics Processing Unit), graphics processing unit and equipment

The invention discloses a thread group scheduling method and device for a GPU (Graphics Processing Unit), the GPU and equipment. The method comprises the following steps of: 1) receiving a scheduling request of a thread group; 2) task type priority scheduling; according to a thread group weight value set by a user, obtaining execution priorities of the vertex thread group and the fragment thread group in the current scheduling period; 3) instruction type priority scheduling; pre-analyzing to-be-executed instructions of the thread group, and determining a priority sequence of schedulable instruction types; and 4) priority scheduling of the thread groups: selecting the thread group with the highest priority for scheduling according to the specified task type priority and instruction type priority in combination with the thread group generation time. The invention provides a thread group three-level scheduling strategy so as to improve the instruction throughput rate and the key task response speed of the GPU under the complex load.
Owner:WUHAN LINGJIU MICROELECTRONICS CO LTD