Instruction Modification Based On Condition Patents (Class 712/226)
  • Patent number: 11983535
    Abstract: The invention provides an artificial intelligence computing device and a related product. The artificial intelligence computing device is used for executing machine learning computation. According to the device of the invention, for the instructions in the more than two instruction sets forming the loop body, the same operation code in the operation code storage area is used for the repeated instructions, so that the storage space of the operation code is saved, the code amount of each instruction in the instruction set in the second time slice can be reduced, the instruction storage space can also be saved, and the operation efficiency is improved.
    Type: Grant
    Filed: March 20, 2020
    Date of Patent: May 14, 2024
    Assignee: CAMBRICON TECHNOLOGIES CORPORATION LIMITED
    Inventors: Nan Wang, Xiaobing Chen, Yongzhe Sun, Yongwei Zhao
  • Patent number: 11972230
    Abstract: Embodiments for a matrix transpose and multiply operation are disclosed. In an embodiment, a processor includes a decoder and execution circuitry. The decoder is to decode an instruction having a format including an opcode field to specify an opcode, a first destination operand field to specify a destination matrix location, a first source operand field to specify a first source matrix location, and a second source operand field to specify a second source matrix location. The execution circuitry is to, in response to the decoded instruction, transpose the first source matrix to generate a transposed first source matrix, perform a matrix multiplication using the transposed first source matrix and the second source matrix to generate a result, and store the result in a destination matrix location.
    Type: Grant
    Filed: June 27, 2020
    Date of Patent: April 30, 2024
    Assignee: Intel Corporation
    Inventors: Menachem Adelman, Robert Valentine, Barukh Ziv, Amit Gradstein, Simon Rubanovich, Zeev Sperber, Mark J. Charney, Christopher J. Hughes, Alexander F. Heinecke, Evangelos Georganas, Binh Pham
  • Patent number: 11948224
    Abstract: One embodiment provides an apparatus comprising a memory stack including multiple memory dies and a parallel processor including a plurality of multiprocessors. Each multiprocessor has a single instruction, multiple thread (SIMT) architecture, the parallel processor coupled to the memory stack via one or more memory interfaces. At least one multiprocessor comprises a multiply-accumulate circuit to perform multiply-accumulate operations on matrix data in a stage of a neural network implementation to produce a result matrix comprising a plurality of matrix data elements at a first precision, precision tracking logic to evaluate metrics associated with the matrix data elements and indicate if an optimization is to be performed for representing data at a second stage of the neural network implementation, and a numerical transform unit to dynamically perform a numerical transform operation on the matrix data elements based on the indication to produce transformed matrix data elements at a second precision.
    Type: Grant
    Filed: November 1, 2022
    Date of Patent: April 2, 2024
    Assignee: Intel Corporation
    Inventors: Elmoustapha Ould-Ahmed-Vall, Sara S. Baghsorkhi, Anbang Yao, Kevin Nealis, Xiaoming Chen, Altug Koker, Abhishek R. Appu, John C. Weast, Mike B. Macpherson, Dukhwan Kim, Linda L. Hurd, Ben J. Ashbaugh, Barath Lakshmanan, Liwei Ma, Joydeep Ray, Ping T. Tang, Michael S. Strickland
  • Patent number: 11934289
    Abstract: A graph-based data multi-operation system includes a data multi-operation management subsystem coupled to an application and accelerator subsystems. The data multi-operation management subsystem receives a data multi-operation graph from the application that identifies first data and defines operations for performance on the first data to transform the first data into second data. The data multi-operation management subsystem assigns each of the operations to at least one of the accelerator systems, and configures the accelerator subsystems to perform the operations in a sequence that transforms the first data into the second data, When the data multi-operation management subsystem determine a completion status for the performance of the operations by the accelerator subsystems, it transmits a completion status communication to the application that indicates the completion status of the performance of the plurality of operations by the plurality of accelerator subsystems.
    Type: Grant
    Filed: October 24, 2022
    Date of Patent: March 19, 2024
    Assignee: Dell Products L.P.
    Inventors: Gaurav Chawla, Mark Steven Sanders, William Price Dawkins, Jimmy D. Pike, Elie Jreij, Robert W. Hormuth
  • Patent number: 11915000
    Abstract: Systems, methods, and apparatuses relating to circuitry to precisely monitor memory store accesses are described.
    Type: Grant
    Filed: January 27, 2023
    Date of Patent: February 27, 2024
    Assignee: Intel Corporation
    Inventors: Ahmad Yasin, Raanan Sade, Liron Zur, Igor Yanover, Joseph Nuzman
  • Patent number: 11895191
    Abstract: A mobile Internet-of-Things (IoT) edge device, comprising a reconfigurable processor unit including a substrate; a die stack coupled to the substrate and having a field-programmable gate array (FPGA) die element and a reconfigurable die element capable of serving as storage memory or as configuration memory based on configuration information; and a processor coupled to the substrate and configured to cooperate with the die stack for processing data; and a processor-independent connectivity unit coupled to the reconfigurable processor unit and including an antenna; a radio-frequency chip (RFIC) coupled to the antenna and configured to receive incoming signals and transmit outgoing signals over the antenna; circuitry configured to translate the incoming signals to incoming data or transmit the outgoing data to outgoing signals; and a system interface configured to transmit the incoming data to the reconfigurable processor unit for processing, and configured to receive the outgoing data from the reconfigurable p
    Type: Grant
    Filed: August 9, 2022
    Date of Patent: February 6, 2024
    Assignee: Arbor Company, LLLP
    Inventors: Darrel James Guzy, Sr., Wei-Ti Liu, Darrel James Guzy, Jr.
  • Patent number: 11886879
    Abstract: Disclosed are a processor, a processor operation method and an electronic device comprising same. The disclosed processor operation method comprises the steps of: identifying an instruction for instructing the execution of a first operation and address information of an operand corresponding to the instruction; and executing the instruction on the basis of whether or not the address information of the operand satisfies a predetermined condition. In the step of executing the instruction, a second operation configured to the instruction is executed for the operand if the address information of the operand satisfies the predetermined condition, and the first operation is executed for the operand if the address information of the operand does not satisfy the predetermined condition.
    Type: Grant
    Filed: August 6, 2020
    Date of Patent: January 30, 2024
    Assignees: ICTK Holdings Co., Ltd., IUCF-HYU (Industry-University Cooperation Foundation Hanyang University)
    Inventors: Dong Kyue Kim, Piljoo Choi
  • Patent number: 11860790
    Abstract: A streaming engine employed in a digital data processor specifies a fixed read only data stream defined by plural nested loops. An address generator produces address of data elements. A steam head register stores data elements next to be supplied to functional units for use as operands. An element duplication unit optionally duplicates data element an instruction specified number of times. A vector masking unit limits data elements received from the element duplication unit to least significant bits within an instruction specified vector length. If the vector length is less than a stream head register size, the vector masking unit stores all 0's in excess lanes of the stream head register (group duplication disabled) or stores duplicate copies of the least significant bits in excess lanes of the stream head register.
    Type: Grant
    Filed: August 31, 2021
    Date of Patent: January 2, 2024
    Assignee: Texas Instruments Incorporated
    Inventor: Joseph Zbiciak
  • Patent number: 11836491
    Abstract: The present disclosure provides a data processing method and an apparatus and a related product. The products include a control module including an instruction caching unit, an instruction processing unit, and a storage queue unit. The instruction caching unit is configured to store computation instructions associated with an artificial neural network operation; the instruction processing unit is configured to parse the computation instructions to obtain a plurality of operation instructions; and the storage queue unit is configured to store an instruction queue, where the instruction queue includes a plurality of operation instructions or computation instructions to be executed in the sequence of the queue. By adopting the above-mentioned method, the present disclosure can improve the operation efficiency of related products when performing operations of a neural network model.
    Type: Grant
    Filed: April 27, 2021
    Date of Patent: December 5, 2023
    Assignee: CAMBRICON TECHNOLOGIES CORPORATION LIMITED
    Inventors: Shaoli Liu, Bingrui Wang, Jun Liang
  • Patent number: 11816488
    Abstract: There is provided methods and devices for dynamically simplifying processor instructions. A method includes receiving, at a computing device, processor instructions and determining, by the computing device, if instruction simplification is enabled for an instruction being processed. The method further includes determining, by the computing device, from an instruction simplification table if the instruction is capable of being simplified and scheduling, by the computing device, a simplified instruction based on the determination from the instruction simplification table. A device includes a processor, and a non-transient computer readable memory having stored thereon instructions which when executed by the processor configure the device to execute the methods disclosed herein.
    Type: Grant
    Filed: November 10, 2021
    Date of Patent: November 14, 2023
    Assignee: HUAWEI TECHNOLOGIES CO., LTD.
    Inventors: Henry Fangli Kao, Shehab Yomn Abdellatif Elsayed, Tomasz Sebastian Czajkowski, Reza Azimi, Ehsan Amiri
  • Patent number: 11809871
    Abstract: A method can include identifying fixed instructions of the instructions and relocatable instructions of the instructions, the fixed instructions reference another instruction of the instructions and the relocatable instructions do not reference another instruction of the instructions, altering the location of the relocatable instructions relative to one another in the memory and add respective reference instructions to the fixed instructions and relocatable instructions that cause the instructions to be executed in a same order as they would be if the location was not altered, and executing the fixed instructions and the relocatable instructions from their altered locations in the medium.
    Type: Grant
    Filed: September 17, 2018
    Date of Patent: November 7, 2023
    Assignee: Raytheon Company
    Inventor: Patrick W. Hong
  • Patent number: 11797310
    Abstract: A processor architecture arrangement for emulated shared memory (ESM) architectures is disclosed. The arrangement has a number of multi-threaded processors, each provided with an interleaved inter-thread pipeline and a plurality of functional units for carrying out arithmetic and logical operations on data. The pipeline has at least two operatively parallel pipeline branches. The first pipeline branch includes a first sub-group of the plurality of functional units, such as ALUs (arithmetic logic unit) for carrying out integer operations. The second pipeline branch includes non-overlapping subgroup of the plurality of functional units, such as FPUs (floating point unit) for carrying out floating point operations. One or more of the functional units of at least the second sub-group are located operatively in parallel with the memory access segment of the pipeline.
    Type: Grant
    Filed: October 23, 2014
    Date of Patent: October 24, 2023
    Assignee: TEKNOLOGIAN TUTKIMUSKESKUS VTT OY
    Inventor: Martti Forsell
  • Patent number: 11669314
    Abstract: This disclosure generally relates to high-level synthesis (HLS) platforms, and, more particularly, enable print functionality in high-level synthesis (HLS) platforms. The recent availability FPGA-HLS is a great success due to availability of compilers for FPGAs as opposed to hardware description languages (HDLs) that requires special skills. However, the compilers within the HLS design platform includes limited support for all the standard libraries, wherein features like print functionality is not supported. The invention discloses techniques to enable print functionality in HLS design platforms based on source-to-source transformations and stream combining scheme. In addition to enabling print functionality, the invention also discloses a formatter technique to receive-format FPGA data into human interpretable data.
    Type: Grant
    Filed: December 27, 2021
    Date of Patent: June 6, 2023
    Assignee: TATA CONSULTANCY SERVICES LIMITED
    Inventors: Nupur Sumeet, Manoj Nambiar
  • Patent number: 11669328
    Abstract: A method for converting instructions is provided. The method is used in a processor and includes: receiving an instruction, wherein the instruction is an unknown instruction; determining whether the received instruction is a new instruction; and converting the received instruction into at least one old instruction when the received instruction is a new instruction.
    Type: Grant
    Filed: September 10, 2021
    Date of Patent: June 6, 2023
    Assignee: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.
    Inventors: Weilin Wang, Mengchen Yang, Yingbing Guan
  • Patent number: 11651064
    Abstract: The disclosure includes a method of authenticating a processor that includes an arithmetic and logic unit. At least one decoded operand of at least a portion of a to-be-executed opcode is received on a first terminal of the arithmetic and logic unit. A signed instruction is received on a second terminal of the arithmetic and logic unit. The signed instruction combines a decoded instruction of the to-be-executed opcode and at least one previously-executed opcode.
    Type: Grant
    Filed: March 27, 2020
    Date of Patent: May 16, 2023
    Assignees: STMICROELECTRONICS (ROUSSET) SAS, PROTON WORLD INTERNATIONAL N.V.
    Inventors: Michael Peeters, Fabrice Marinet
  • Patent number: 11625269
    Abstract: A technique for scheduling instructions includes obtaining a set of instructions that operate on memory objects, and determining the dependencies of the memory objects. The memory objects are then sorted into a sequence of memory objects based on the dependencies of the memory objects, and the set of instructions are scheduled into a sequence of instructions according to the sequence of memory objects. Sorting memory objects allows instructions that operate on the same memory object to be kept together. This helps minimize spilling conditions because intervening instructions that do not operate on the same memory object can be avoided.
    Type: Grant
    Filed: March 31, 2021
    Date of Patent: April 11, 2023
    Assignee: Amazon Technologies, Inc.
    Inventors: Robert Geva, Taylor Goodhart, Ron Diamant, Preston Pengra Briggs
  • Patent number: 11601408
    Abstract: Systems and methods for providing data privacy in a private distributed ledger are disclosed. According to another embodiment a distributed ledger network may include a first node comprising a first node computer processor and hosting a central ledger comprising a plurality of entries for public transactions and private transactions, wherein the entries for public transactions comprise transaction payloads for the respective public transaction, and the entries for private transactions comprise a cryptographic hash digest of a transaction payload for the respective private transaction; and a plurality of second nodes each comprising a second node computer processor and hosting a public database comprising the public transactions, and a private database comprising transaction payloads for the private transactions to which the node is a party.
    Type: Grant
    Filed: August 15, 2020
    Date of Patent: March 7, 2023
    Assignee: JPMORGAN CHASE BANK, N.A.
    Inventors: David Voell, Samer Falah, Patrick Mylund Nielsen, Felix Shnir, Chetan Sarva, Gene D. Fernandez
  • Patent number: 11544064
    Abstract: A processor achieving a zero-overhead loop, includes instruction stream control circuitry and loop control circuitry. The loop control circuitry includes loop address detecting circuitry and loop end determining circuitry. By combining instructions and hardware, the loop control circuitry eliminates additional control instructions required b each loop iteration and can achieve loop acceleration with zero overhead, thereby improving the loop execution efficiency.
    Type: Grant
    Filed: April 8, 2019
    Date of Patent: January 3, 2023
    Assignee: C-SKY Microsystems Co., Ltd.
    Inventors: Tao Jiang, Yubo Guo, Manzhou Wang, Dingyan Wei
  • Patent number: 11481384
    Abstract: An apparatus is provided comprising storage elements to store data blocks, where each data block has capability metadata associated therewith identifying whether the data block specifies a capability, at least one capability type being a bounded pointer. Processing circuitry is then arranged to be responsive to a bulk capability metadata operation identifying a plurality of the storage elements, to perform an operation on the capability metadata associated with each data block stored in the plurality of storage elements. Via a single specified operation, this hence enables query and/or modification operations to be performed on multiple items of capability metadata, hence providing more efficient access to such capability metadata.
    Type: Grant
    Filed: March 29, 2017
    Date of Patent: October 25, 2022
    Assignee: Arm Limited
    Inventors: Graeme Peter Barnes, Stuart David Biles
  • Patent number: 11442763
    Abstract: A virtual machine deployment system includes a plurality of processing subsystems, and at least one multi-endpoint adapter device including a plurality of endpoint subsystems. A plurality of communication couplings couple each of the plurality of endpoint subsystems to at least one of the plurality of processing subsystems in order to provide a respective subset of available communication resources to each of the plurality of processing subsystems. A virtual machine deployment engine receives an instruction to deploy a virtual machine, and determines at least one communication resource requirement for the virtual machine. The virtual machine deployment engine then identifies a first processing subsystem that is included in the plurality of processing subsystems and that is provided a first subset of the available communication resources that satisfies the at least one communication resource requirement for the virtual machine, and deploys the virtual machine on the first processing subsystem.
    Type: Grant
    Filed: April 26, 2019
    Date of Patent: September 13, 2022
    Assignee: Dell Products L.P.
    Inventors: Shyamkumar T. Iyer, Yogesh Varma, Timothy M. Lambert, William Price Dawkins, Kurtis John Bowman
  • Patent number: 11372647
    Abstract: Described herein are systems and methods for secure multithread execution. For example, some methods include fetching an instruction of a first thread from a memory into a processor pipeline that is configured to execute instructions from two or more threads in parallel using execution units of the processor pipeline; detecting that the instruction has been designated as a sensitive instruction; responsive to detection of the sensitive instruction, disabling execution of instructions of threads other than the first thread in the processor pipeline during execution of the sensitive instruction by an execution unit of the processor pipeline; executing the sensitive instruction using an execution unit of the processor pipeline; and, responsive to completion of execution of the sensitive instruction, enabling execution of instructions of threads other than the first thread in the processor pipeline.
    Type: Grant
    Filed: October 27, 2020
    Date of Patent: June 28, 2022
    Assignee: Marvell Asia Pte, Ltd.
    Inventor: Shubhendu Sekhar Mukherjee
  • Patent number: 11310495
    Abstract: A method of filtering reconstructed video data, the method comprising: determining whether one or more conditions associated with the adjacent reconstructed video blocks are satisfied; selecting a filter based on whether the one or more conditions are satisfied; modifying sample values in the adjacent reconstructed video blocks based on the selected filter.
    Type: Grant
    Filed: August 21, 2017
    Date of Patent: April 19, 2022
    Assignees: SHARP KABUSHIKI KAISHA, FG INNOVATION COMPANY LIMITED
    Inventors: Seung-Hwan Kim, Jie Zhao, Kiran Mukesh Misra, Christopher Andrew Segall
  • Patent number: 11294680
    Abstract: A microprocessor implemented method is disclosed. The method includes mapping a plurality of instructions in a guest address space to corresponding instructions in a native address space. The method further includes, for each of one or more guest branch instructions in said native address space fetched during execution, performing the following: determining a youngest prior guest branch target stored in a guest branch target register, determining a branch target for a respective guest branch instruction by adding an offset value for said respective guest branch instruction to said youngest prior guest branch target, where said offset value is adjusted to account for a difference in address in said guest address space between an instruction at a beginning of a guest instruction block and a branch instruction in said guest instruction block. The method further includes creating an entry in said guest branch target register for said branch target.
    Type: Grant
    Filed: October 31, 2019
    Date of Patent: April 5, 2022
    Assignee: Intel Corporation
    Inventor: Mohammad A. Abdallah
  • Patent number: 11275992
    Abstract: Methods, systems, and apparatus including a special purpose hardware chip for training neural networks are described. The special-purpose hardware chip may include a scalar processor configured to control computational operation of the special-purpose hardware chip. The chip may also include a vector processor configured to have a 2-dimensional array of vector processing units which all execute the same instruction in a single instruction, multiple-data manner and communicate with each other through load and store instructions of the vector processor. The chip may additionally include a matrix multiply unit that is coupled to the vector processor configured to multiply at least one two-dimensional matrix with a second one-dimensional vector or two-dimensional matrix in order to obtain a multiplication result.
    Type: Grant
    Filed: May 17, 2018
    Date of Patent: March 15, 2022
    Assignee: Google LLC
    Inventors: Thomas Norrie, Olivier Temam, Andrew Everett Phelps, Norman Paul Jouppi
  • Patent number: 11263073
    Abstract: An apparatus has a processing pipeline (2) comprising an execute stage (30) and at least one front end stage (10), (20), (25) for controlling which micro operations are issued to the execute stage. The pipeline has an intra-core lockstep mode of operation in which the at least one front end stage (10), (20), (25) issues micro operations for controlling the execute stage (30) to perform main processing and checker processing. The checker processing comprises redundant operations corresponding to associated main operations of at least part of the main processing. Error handling circuitry (200), (210) is responsive to the detection of a mismatch between information associated with given checker and main operations to trigger a recovery operation to correct an error and continue forward progress of the main processing.
    Type: Grant
    Filed: August 30, 2018
    Date of Patent: March 1, 2022
    Assignee: Arm Limited
    Inventors: Matthias Lothar Boettcher, Mbou Eyole, Balaji Venu
  • Patent number: 11250193
    Abstract: An integrated circuit can include programmable circuitry configured to implement an overlay circuit specified by an overlay and a processor coupled to the programmable circuitry. The processor can be configured to control the programmable circuitry through execution of a framework. The framework provides high-productivity language control of implementation of the overlay in the programmable circuitry.
    Type: Grant
    Filed: November 25, 2019
    Date of Patent: February 15, 2022
    Assignee: Xilinx, Inc.
    Inventors: Patrick Lysaght, Graham F. Schelle, Parimal Patel
  • Patent number: 11250110
    Abstract: The present invention relates to a method of securing a compiled software code (SC) comprising computer code instructions organized in a plurality of basic blocks, said method generating a secure software code (SSC) and comprising the steps of: •determining (S1) by a processor a portion of the software code to be protected, •inserting (S2) by the processor in a selected basic block of the software code a first sequence of instructions which when executed at runtime: computes an integrity check value on said portion of the software code to be protected and computes an index value based on said computed integrity check value, •inserting (S3) by the processor in the selected basic block of the software code an indexed array of memory addresses in which the address, when executing the secure software code, of a following basic block to be executed after the selected basic block is indexed by said index value, •inserting (S4) by the processor at the end of the selected basic block of the software code a jump instr
    Type: Grant
    Filed: January 25, 2018
    Date of Patent: February 15, 2022
    Assignees: THALES DIS FRANCE SAS, THALES DIS CPL Deutschland GmbH
    Inventors: Eric Garreau, Sébastien Volpe, Peter Garba
  • Patent number: 11243770
    Abstract: An instruction stream includes a transactional code region. The transactional code region includes a latent modification instruction (LMI), a next sequential instruction (NSI) following the LMI, and a set of target instructions following the NSI in program order. Each target instruction has an associated function, and the LMI at least partially specifies a substitute function for the associated function. A processor executes the LMI, the NSI, and at least one of the target instructions, employing the substitute function at least partially specified by the LMI. The LMI, the NSI, and the target instructions may be executed by the processor in sequential program order or out of order.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: February 8, 2022
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Valentina Salapura, Chung-Lung K. Shum, Timothy J. Slegel
  • Patent number: 11157281
    Abstract: Prefetching data by detecting a predefined pattern of register activity of a computer processor by detecting when data, at a memory address pointed to by the sum of an offset value and the contents of a register of the processor during an instruction cycle of the processor, is loaded into the register as a result of processing an instruction, detecting the pattern by detecting when data, at a memory address pointed to by the sum of the offset value and the contents of the register during at least one subsequent instruction cycle, is loaded into the register as a result of again processing the instruction, and prefetching data, into a cache memory of the processor, from a current prefetching memory address, where data, at a memory address pointed to by the sum of the offset value and the contents of the register, is used as the current prefetching memory address.
    Type: Grant
    Filed: May 24, 2018
    Date of Patent: October 26, 2021
    Assignee: International Business Machines Corporation
    Inventors: Eyal Naor, Yossi Shapira, Yair Fried, Amir Turi
  • Patent number: 11157593
    Abstract: Aspects for vector combination in neural network are described herein. The aspects may include a direct memory access unit configured to receive aa first vector, a second vector, and a controller vector. The first vector, the second vector, and the controller vector may each include one or more elements indexed in accordance with a same one-dimensional data structure. The aspects may further include a computation module configured to select one of the one or more control values, determine that the selected control value satisfies a predetermined condition, and select one of the one or more first elements that corresponds to the selected control value in the one-dimensional data structure as an output element based on a determination that the selected control value satisfies the predetermined condition.
    Type: Grant
    Filed: October 25, 2018
    Date of Patent: October 26, 2021
    Assignee: Cambricon Technologies Corporation Limited
    Inventors: Zhen Li, Xiao Zhang, Shaoli Liu, Tianshi Chen, Yunji Chen
  • Patent number: 11100001
    Abstract: A system and method for efficient cache space utilization by a processing circuitry having a cache. The method includes determining, among a plurality of instructions executed by the processing circuitry, a cacheable block of instructions for execution by the processing circuitry, wherein the cacheable block of instructions has an input, an output, and an intermediary result confined locally to the cacheable block of instructions; generating a unified instruction based on the cacheable block of instructions, wherein the unified instruction results in the same output as the cacheable block of instructions when the same input is received; and storing the unified instruction in the cache.
    Type: Grant
    Filed: May 4, 2018
    Date of Patent: August 24, 2021
    Assignee: Sisense Ltd.
    Inventors: Ariel Yaroshevich, Jonathan Goldfeld
  • Patent number: 11042637
    Abstract: A method includes obtaining assembly code of a first software module, the assembly code comprising one or more assembly functions each comprising at least one basic block. The method also includes computing fingerprints of the basic blocks of the first software module by application of a fuzzy hash function, generating a representation of the first software module as a set of assembly functions each represented as a sequence of fingerprints of its associated basic blocks, and determining a similarity score between the first software module and at least a second software module classified as a given software module type. The similarity score is based on distances between the fingerprints of the basic blocks of the assembly functions of the first software module and corresponding fingerprints of the second software module. The method further includes determining a measure of code sharing between the first and second software modules based on the similarity score.
    Type: Grant
    Filed: February 1, 2018
    Date of Patent: June 22, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Sashka T. Davis, Kevin Bowers
  • Patent number: 10990401
    Abstract: In an embodiment, a computation engine may perform dot product computations on input vectors. The dot product operation may have a first operand and a second operand, and the dot product may be performed on a subset of the vector elements in the first operand and each of the vector elements in the second operand. The subset of vector elements may be separated in the first operand by a stride that skips one or more elements between each element to which the dot product operation is applied. More particularly, in an embodiment, the input operands of the dot product operation may be a first vector having second vectors as elements, and the stride may select a specified element of each second vector.
    Type: Grant
    Filed: April 1, 2020
    Date of Patent: April 27, 2021
    Assignee: Apple Inc.
    Inventors: Tal Uliel, Eric Bainville, Jeffry E. Gonion, Ali Sazegari
  • Patent number: 10937469
    Abstract: A memory circuit may include a plurality of electrically programmable memory cells arranged in an electrically programmable non-volatile memory cell array along a plurality of rows and a plurality of columns, a plurality of word lines, each word line coupled with a plurality of word portions of the plurality of memory cells, each word portion configured to store a data word, and at least one overlay word line coupled with a plurality of overlay portions, each overlay portion including overlay memory cells, each of the plurality of overlay portions including an overlay word. The memory circuit is configured to read, for each of the plurality of word lines, from each of the word portions simultaneously with an overlay portion of the plurality of overlay portions, with an output of the read operation being a result of a logic operation performed on the data word and the overlay word.
    Type: Grant
    Filed: October 29, 2019
    Date of Patent: March 2, 2021
    Assignee: INFINEON TECHNOLOGIES AG
    Inventors: Jan Otterstedt, Robin Boch, Gerd Dirscherl, Bernd Meyer, Christian Peters, Steffen Sonnekalb
  • Patent number: 10922131
    Abstract: The embodiments of the present disclosure provide an application function control method and a related product. The method includes: generating in response to detecting a starting instruction for a first application, a first instruction containing an application identifier of the first application; generating in response to finding out according to the first instruction that the disabled function set includes at least one first function of the first application, a second instruction containing a function identifier of the at least one first function and running according to the second instruction one or more functions, except the at least one first function, in multiple functions of the first application.
    Type: Grant
    Filed: May 10, 2018
    Date of Patent: February 16, 2021
    Assignee: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
    Inventor: Jian Bai
  • Patent number: 10908908
    Abstract: A processor is described having a functional unit of an instruction execution pipeline. The functional unit has comparison bank circuitry and adder circuitry. The comparison bank circuitry is to compare one or more elements of a first input vector against an element of a second input vector. The adder circuitry is coupled to the comparison bank circuitry to add the number of elements of the second input vector that match a value of the first input vector on an element by element basis of the first input vector.
    Type: Grant
    Filed: October 29, 2018
    Date of Patent: February 2, 2021
    Assignee: Intel Corporation
    Inventor: Shih Shigjong Kuo
  • Patent number: 10901739
    Abstract: Systems and methods for controlling machine operations are provided. A number of data entries are organized into a stack. Each data entry includes a type, a flag, a length, and a value or pointer entry. For each data entry in the stack, the type of data is determined from the type entry, the presence of an address or value is determined by the respective flag entry, and a length of the address or value is determined from the respective length entry. The data to be utilized or an address for the same at the electronic storage area is provided at the respective value or pointer entry.
    Type: Grant
    Filed: January 20, 2020
    Date of Patent: January 26, 2021
    Assignee: Rankin Labs, LLC
    Inventor: John Rankin
  • Patent number: 10839802
    Abstract: A method and data processing device for receiving, at a data processor, data that includes at least one personalized phrase. The method includes extracting a personalized phrase from received data. The method includes tracking, via an assigned phrase counter, each occurrence of the personalized phrase in the received data and subsequently received data. The method includes periodically comparing a value of the assigned phrase counter to pre-established count thresholds to determine when a count of the personalized phrase reaches at least one of the pre-established count thresholds. The method includes storing the personalized phrase to a phrase database and linking the personalized phrase to the one or more general phrases in the phrase database. The method includes selectively triggering a contextual response to the data and executing, by the data processor, the corresponding operation. The method includes outputting the contextual response to an output device.
    Type: Grant
    Filed: December 14, 2018
    Date of Patent: November 17, 2020
    Assignee: Motorola Mobility LLC
    Inventors: Zhengping Ji, Rachid Alameh
  • Patent number: 10831507
    Abstract: A reconfigurable data processor comprises a bus system, and an array of configurable units connected to the bus system, configurable units in the array including configuration data stores to store unit files comprising a plurality of sub-files of configuration data particular to the corresponding configurable units. Configurable units in the plurality of configurable units each include logic to execute a unit configuration load process, including receiving via the bus system, sub-files of a unit file particular to the configurable unit, and loading the received sub-files into the configuration store of the configurable unit. A configuration load controller connected to the bus system, including logic to execute an array configuration load process, including distributing a configuration file comprising unit files for a plurality of the configurable units in the array.
    Type: Grant
    Filed: November 21, 2018
    Date of Patent: November 10, 2020
    Assignee: SambaNova Systems, Inc.
    Inventors: Manish K. Shah, Ram Sivaramakrishnan, Mark Luttrell, David Brian Jackson, Raghu Prabhakar, Sumti Jairath, Gregory Frederick Grohoski, Pramod Nataraja
  • Patent number: 10810104
    Abstract: A debugging capability that enables the efficient debugging of code that has prefixes, referred to herein as prefixed code. To debug application code, in which the application code includes a prefixed instruction to be modified by a prefix, a trap is provided. The trap is configured to report a presence of the prefix, but to otherwise perform the trap functions absent the prefix; i.e., the prefix is otherwise ignored in the processing of the trap.
    Type: Grant
    Filed: June 20, 2019
    Date of Patent: October 20, 2020
    Assignee: International Business Machines Corporation
    Inventor: Michael K. Gschwind
  • Patent number: 10795680
    Abstract: A vector friendly instruction format and execution thereof. According to one embodiment of the invention, a processor is configured to execute an instruction set. The instruction set includes a vector friendly instruction format. The vector friendly instruction format has a plurality of fields including a base operation field, a modifier field, an augmentation operation field, and a data element width field, wherein the first instruction format supports different versions of base operations and different augmentation operations through placement of different values in the base operation field, the modifier field, the alpha field, the beta field, and the data element width field, and wherein only one of the different values may be placed in each of the base operation field, the modifier field, the alpha field, the beta field, and the data element width field on each occurrence of an instruction in the first instruction format in instruction streams.
    Type: Grant
    Filed: February 28, 2019
    Date of Patent: October 6, 2020
    Assignee: Intel Corporation
    Inventors: Robert C. Valentine, Jesus Corbal San Adrian, Roger Espasa Sans, Robert D. Cavin, Bret L. Toll, Santiago Galan Duran, Jeffrey G. Wiedemeier, Sridhar Samudrala, Milind Baburao Girkar, Edward Thomas Grochowski, Jonathan Cannon Hall, Dennis R. Bradford, Elmoustapha Ould-Ahmed-Vall, James C. Abel, Mark Charney, Seth Abraham, Suleyman Sair, Andrew Thomas Forsyth, Lisa Wu, Charles Yount
  • Patent number: 10795675
    Abstract: An apparatus 2 has instruction fusing circuitry 50 for fusing two or more instructions fetched from a data store to generate a fused instruction to be processed by processing circuitry 14. A move prefix instruction is provided which indicates to the instruction fusing circuitry 50 that the move prefix instruction can be fused with an immediately following data processing instruction without needing to compare registers specified by the move prefix instruction and the immediately following instruction. This enables the instruction fusing circuitry 50 to be implemented with reduced hardware and energy cost.
    Type: Grant
    Filed: September 14, 2016
    Date of Patent: October 6, 2020
    Assignee: ARM Limited
    Inventors: Richard Roy Grisenthwaite, Nigel John Stephens
  • Patent number: 10761849
    Abstract: A processor of an aspect includes a decode unit to decode a prior instruction that is to have at least a first context, and a subsequent instruction. The subsequent instruction is to be after the prior instruction in original program order. The decode unit is to use the first context of the prior instruction to determine a second context for the subsequent instruction. The processor also includes an execution unit coupled with the decode unit. The execution unit is to perform the subsequent instruction based at least in part on the second context. Other processors, methods, systems, and machine-readable medium are also disclosed.
    Type: Grant
    Filed: September 22, 2016
    Date of Patent: September 1, 2020
    Assignee: Intel Corporation
    Inventors: Ching-Tsun Chou, Oleg Margulis, Tyler N. Sondag
  • Patent number: 10761979
    Abstract: A processor of an aspect includes a register to store a condition code bit, and a decode unit to decode a bit check instruction. The bit check instruction is to indicate a first source operand that is to include a first bit, and is to indicate a check bit value for the first bit. The processor also includes an execution unit coupled with the decode unit. The execution unit, in response to the bit check instruction, is to compare the first bit with the check bit value, and update a condition code bit to indicate whether the first bit equals or does not equal the check bit value. Other processors, methods, systems, and instructions are disclosed.
    Type: Grant
    Filed: July 1, 2016
    Date of Patent: September 1, 2020
    Assignee: Intel Corporation
    Inventors: Hugh Wilkinson, William R. Wheeler, Debra Bernstein
  • Patent number: 10719318
    Abstract: The present application provides a method of randomly accessing a compressed structure in memory without the need for retrieving and decompressing the entire compressed structure.
    Type: Grant
    Filed: December 27, 2017
    Date of Patent: July 21, 2020
    Assignee: Movidius Limited
    Inventor: David Moloney
  • Patent number: 10705972
    Abstract: Systems, apparatuses, and methods for determining preferred memory page management policies by software are disclosed. Software executing on one or more processing units generates a memory request. Software determines the preferred page management policy for the memory request based at least in part on the data access size and data access pattern of the memory request. Software conveys an indication of a preferred page management policy to a memory controller. Then, the memory controller accesses memory for the memory request using the preferred page management policy specified by software.
    Type: Grant
    Filed: September 13, 2016
    Date of Patent: July 7, 2020
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Amin Farmahini-Farahani, Alexander D. Breslow, Nuwan S. Jayasena
  • Patent number: 10642620
    Abstract: In an embodiment, a computation engine may perform dot product computations on input vectors. The dot product operation may have a first operand and a second operand, and the dot product may be performed on a subset of the vector elements in the first operand and each of the vector elements in the second operand. The subset of vector elements may be separated in the first operand by a stride that skips one or more elements between each element to which the dot product operation is applied. More particularly, in an embodiment, the input operands of the dot product operation may be a first vector having second vectors as elements, and the stride may select a specified element of each second vector.
    Type: Grant
    Filed: April 5, 2018
    Date of Patent: May 5, 2020
    Assignee: Apple Inc.
    Inventors: Tal Uliel, Eric Bainville, Jeffry E. Gonion, Ali Sazegari
  • Patent number: 10628156
    Abstract: A Very Long Instruction Word (VLIW) digital signal processor particularly adapted for single instruction multiple data (SIMD) operation on various operand widths and data sizes. A vector compare instruction compares first and second operands and stores compare bits. A companion vector conditional instruction performs conditional operations based upon the state of a corresponding predicate data register bit. A predicate unit performs data processing operations on data in at least one predicate data register including unary operations and binary operations. The predicate unit may also transfer data between a general data register file and the predicate data register file.
    Type: Grant
    Filed: July 9, 2014
    Date of Patent: April 21, 2020
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Timothy David Anderson, Duc Quang Bui, Mujibur Rahman, Joseph Raymond Michael Zbiciak, Eric Biscondi, Peter Dent, Jelena Milanovic, Ashish Shrivastava
  • Patent number: 10628161
    Abstract: A processor comprises an execution unit and a detection unit which are functionally connected. The execution unit is configured to execute computer programs, and the detection unit is configured to detect infinite loops during the execution of a computer program in the execution unit during run-time. The computer program has a plurality of go-to instructions, and each go-to instruction is characterized by a corresponding branch address. The detection unit is configured to calculate a detection function of the branch addresses of a branch sequence, the branch sequence including a sequence of executed go-to instructions. The detection function is chosen such that an increased value of the detection function is characteristic of an infinite loop in the branch sequence in which at least one go-to instruction is repeated.
    Type: Grant
    Filed: July 28, 2017
    Date of Patent: April 21, 2020
    Assignee: TECHNISCHE UNIVERSITÄT MÜNCHEN
    Inventors: Andreas Ibing, Julian Kirsch
  • Patent number: 10579389
    Abstract: An apparatus includes a processing pipeline comprising a plurality of stages, the plurality of stages including at least one instruction fusing stage to detect whether a block of instructions to be processed comprises a fusible group of instructions, and to generate a fused instruction to be processed by a subsequent stage of the processing pipeline when said block of instructions comprises said fusible group. However, when said block of instructions comprises a partial subset of said fusible group of instructions, the instruction fusing stage is configured to delay handling of said partial subset of said fusible group of instructions until the instruction fusing stage has determined whether at least one subsequent block of instructions to be processed comprises a remaining subset of instructions of said fusible group.
    Type: Grant
    Filed: November 2, 2015
    Date of Patent: March 3, 2020
    Assignee: ARM Limited
    Inventors: Ian Michael Caulfield, Chiloda Ashan Senerath Pathirane