Instruction Prefetch, E.g., Instruction Buffer (epo) Patents (Class 712/E9.055)
  • Patent number: 12260220
    Abstract: Accelerating fetch target queue (FTQ) processing is disclosed herein. In some aspects, a processor comprises an FTQ and an FTQ acceleration cache (FAC), and is configured to generate a FAC entry corresponding to an FTQ entry of a plurality of FTQ entries of the FTQ, wherein the FTQ entry comprises a fetch address bundle comprising a plurality of sequential virtual addresses (VAs), and the FAC entry comprises metadata for the FTQ entry. The processor is further configured to receive, using the FTQ, a request to access the FTQ entry. The processor is also configured to, responsive to receiving the request to access the FTQ entry, locate, using the FAC, the FAC entry corresponding to the FTQ entry among a plurality of FAC entries of the FAC. The processor is additionally configured to perform accelerated processing of the request to access the FTQ entry using the metadata of the FAC entry.
    Type: Grant
    Filed: December 16, 2022
    Date of Patent: March 25, 2025
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Saransh Jain, Rami Mohammad Al Sheikh, Daren Eugene Streett, Michael Scott McIlvaine, Somasundaram Arunachalam
  • Patent number: 12248700
    Abstract: A storage system includes a host and a storage device. The host includes a host processor and a host memory buffer, wherein the host processor includes a CPU core controlling operation of the host and a cache dedicated for use by the CPU core. The host memory buffer includes a submission queue and a completion queue. The storage device is connected to the host through a link and communicates with the host using a transaction layer packet (TLP). The storage device includes a nonvolatile memory device (NVM) and a storage controller, wherein the host writes a nonvolatile memory express (NVMe) command indicating a destination to the submission queue, and the storage controller reads data from the NVM, directly accesses the cache in response to destination information associated with the destination, and stores the read data in the cache.
    Type: Grant
    Filed: June 28, 2022
    Date of Patent: March 11, 2025
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Hyeokjun Choe, Jeongho Lee, Younggeon Yoo, Wonseb Jeong
  • Patent number: 12248399
    Abstract: Techniques are disclosed relating to multi-block fetches for cache misses. In some embodiments, cache tag circuitry maintains a tag value that is shared by multiple cache blocks. In response to a miss, the cache may initiate a fetch request to a next level cache or memory. Aggregation circuitry may aggregate multiple fetch requests for cache blocks that share the tag value and fetch circuitry may initiate a single multi-block fetch operation to the next level cache or memory that returns cache blocks for the aggregated multiple fetch requests. In various embodiments, disclosed techniques may improve performance (e.g., by reducing fetch bus transactions), reduce power consumption, or both, relative to traditional techniques.
    Type: Grant
    Filed: May 19, 2021
    Date of Patent: March 11, 2025
    Assignee: Apple Inc.
    Inventors: Winnie W. Yeung, Cheng Li
  • Patent number: 12235765
    Abstract: Various embodiments include techniques for storing data in a repurposed cache memory in a computing system. The disclosed techniques include a system level cache controller that processes a memory operation for a processing unit. The controller and the processing unit communicate over a network-on-chip. To process the memory operation, the controller selects a repurposed cache memory from a pool of active cache memories associated with processing units that are inoperable and/or are in a low-power state. To select the repurposed cache memory, the controller generates a candidate vector that identifies the position of the requesting processing unit relative to the controller. The candidate vector enables the controller in selecting a repurposed cache memory that is, for example, on the shortest path between the processing unit and the controller. These techniques result in a lower latency, and improved memory performance, relative to prior conventional techniques.
    Type: Grant
    Filed: May 23, 2023
    Date of Patent: February 25, 2025
    Assignee: NVIDIA CORPORATION
    Inventors: Ariel Szapiro, Anurag Chaudhary, Mark Rosenbluth, Mayank Baunthiyal
  • Patent number: 12223100
    Abstract: A real time, on-the-fly data encryption system is operable to encrypt and decrypt data flow between a secure processor and an unsecure external memory system. Multiple memory segments are supported, each with its own separate encryption capability, or no encryption at all. Data integrity is ensured by hardware protection from code attempting to access data across memory segment boundaries. Protection is also provided against dictionary attacks by monitoring multiple access attempts to the same memory location.
    Type: Grant
    Filed: October 4, 2023
    Date of Patent: February 11, 2025
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Amritpal S. Mundra, William C. Wallace
  • Patent number: 12217060
    Abstract: 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.
    Type: Grant
    Filed: February 28, 2023
    Date of Patent: February 4, 2025
    Assignee: Apple Inc.
    Inventors: Francesco Spadini, Skanda K. Srinivasa, Reena Panda, Brian T. Mokrzycki, Haoyan Jia, Zhaoxiang Jin
  • Patent number: 12204898
    Abstract: A processor of an aspect includes a decode unit to decode a matrix multiplication instruction. The matrix multiplication instruction is to indicate a first memory location of a first source matrix, is to indicate a second memory location of a second source matrix, and is to indicate a third memory location where a result matrix is to be stored. The processor also includes an execution unit coupled with the decode unit. The execution unit, in response to the matrix multiplication instruction, is to multiply a portion of the first and second source matrices prior to an interruption, and store a completion progress indicator in response to the interruption. The completion progress indicator to indicate an amount of progress in multiplying the first and second source matrices, and storing corresponding result data to the third memory location, that is to have been completed prior to the interruption.
    Type: Grant
    Filed: August 30, 2023
    Date of Patent: January 21, 2025
    Assignee: Intel Corporation
    Inventors: Edward T. Grochowski, Asit K. Mishra, Robert Valentine, Mark J. Charney, Simon C. Steely, Jr.
  • Patent number: 12206878
    Abstract: A system on a chip may include a codec module configured to receive an image including a plurality of first pixel data and output a plurality of second pixel data through a system bus. The codec module comprises at least one (M+N) bit logic circuit including M bit logic and N bit logic. The codec module is configured to operate in a first mode where the (M+N) bit logic circuit performs a dithering operation on the first pixel data of (M+N) bits and generates the second pixel data including at least M bits. The codec module is configured to operate in a second mode where the M-bit logic selectively operates and outputs the second pixel data of M bits.
    Type: Grant
    Filed: August 29, 2022
    Date of Patent: January 21, 2025
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Kyung-ah Jeong, Sun-young Shin, Jin-hong Oh
  • Patent number: 12204430
    Abstract: Embodiments are disclosed for monitoring processor performance, including cost of events. In an embodiment, a processor includes a first counter, a second counter, a handler circuit, and an enable circuit. The first counter is to count occurrences of an event in the processor and to overflow upon the count of occurrences reaching a specified value. The second counter to measure a performance cost of the event. The handler circuit to generate and an event sampling record. The record is to include at least one value reflecting the performance cost. The enable circuit is to enable the handler circuit to generate the record.
    Type: Grant
    Filed: September 26, 2020
    Date of Patent: January 21, 2025
    Assignee: Intel Corporation
    Inventor: Ahmad Yasin
  • Patent number: 12182003
    Abstract: An apparatus includes a processor circuit that includes a memory circuit, one or more processor cores, and a debug circuit. The debug circuit may be configured, in response to activation of a trace mode to record information indicative of instructions executing on the one or more processor cores, to write a trace data stream to the memory circuit that includes trace data collected on the instructions executing on the one or more processor cores. In response to a particular instruction within one of the processor cores specifying a write of a data value to an architecturally visible trace register, the debug circuit may be further configured to output the data value to the trace data stream as part of executing the particular instruction.
    Type: Grant
    Filed: January 10, 2022
    Date of Patent: December 31, 2024
    Assignee: Apple Inc.
    Inventors: Jaidev P. Patwardhan, Matthias Knoth, Shekhar S. Srikantaiah, Prakhar Malhotra, Matthew C. Widmann, Dmitriy B. Solomonov, Constantin Pistol
  • Patent number: 12182016
    Abstract: A memory circuit may include both an array circuit and multiple register circuits, where the power to retrieve data from one of the register circuits may be less than the power to retrieve data from the array circuit. The array circuit may store multiple data words, and the multiple register circuits may be configured to store a subset of the multiple data words. During a first cycle, a read command and an address may be received. In response to a determination that the address corresponds to a given data word included in the subset of the multiple data words, the array circuit may be de-activated in a second cycle subsequent to the first cycle and an output signal may be generated by selecting data retrieved from a particular register circuit of the multiple register circuits in which the given data word may be stored.
    Type: Grant
    Filed: November 7, 2022
    Date of Patent: December 31, 2024
    Assignee: Cadence Design Systems, Inc.
    Inventors: Robert Golla, Matthew Smittle
  • Patent number: 12175116
    Abstract: In one implementation a vector processor gather/scatter apparatus comprises a plurality of vector ports, and a random access memory, where the plurality of vector ports are in communication with the random access memory, and where one or more of the plurality of vector ports uses one or more of an address register and one or more of a stride register in communication with the random access memory to allow the gather/scatter of random access memory contents.
    Type: Grant
    Filed: February 11, 2022
    Date of Patent: December 24, 2024
    Assignee: Microchip Technology Inc.
    Inventor: Christopher I. W. Norrie
  • Patent number: 12164407
    Abstract: A system is configured to track and store system and event data for various computing devices. The system is configured to associate the various computing devices with profiles based at least in part on characteristics of the computing devices. The system is further configured to compare performance data and/or performance metrics for particular computing devices having a particular profile against all other devices that share the particular profile. The system then displays this comparison to a user of the particular computing device, substantially automatically diagnoses an issue with the particular computing device based on the performance and system event data, and/or enables the user to diagnose the problem based on the performance and system event data.
    Type: Grant
    Filed: June 1, 2023
    Date of Patent: December 10, 2024
    Assignee: ASSURANT, INC.
    Inventors: Dustin Brewer, Stuart Saunders, Cameron Hurst
  • Patent number: 12141010
    Abstract: An information processing apparatus according to an embodiment of the present disclosure includes: a processor including a first data processor that is configured to perform a piece of first data processing on the basis of a piece of first data to thereby generate a piece of second data; a selector that selects one piece of data from among a plurality of pieces of data including the piece of first data and the piece of second data; an arithmetic processor that is configured to selectively perform one of a plurality of pieces of arithmetic processing, and performs a piece of arithmetic processing selected from among the plurality of pieces of arithmetic processing on the basis of the piece of data selected by the selector; and a supply section that controls supply of electric power to the first data processor in accordance with the piece of data selected by the selector from among the plurality of pieces of data.
    Type: Grant
    Filed: July 19, 2021
    Date of Patent: November 12, 2024
    Assignee: SONY SEMICONDUCTOR SOLUTIONS CORPORATION
    Inventor: Goshi Watanabe
  • Patent number: 12135680
    Abstract: A processor comprising a control unit and a plurality of processing units interacting according to an operating architecture imposed dynamically by the control unit from among at least two of the following architectures: a single instruction multiple data (SIMD) stream architecture, a multiple instruction single data (MISD) stream architecture, and a multiple instruction multiple data (MIMD) stream architecture. The operating architecture is imposed dynamically by the control unit according to: configuration functions included in a machine code, and/or data to be processed and current processing instructions received as input of the processor.
    Type: Grant
    Filed: November 27, 2018
    Date of Patent: November 5, 2024
    Assignee: VSORA
    Inventors: Khaled Maalej, Trung Dung Nguyen, Julien Schmitt, Pierre-Emmanuel Bernard
  • Patent number: 12136029
    Abstract: An integrated circuit chip apparatus and a processing method performed by an integrated circuit chip apparatus are disclosed. The disclosed integrated circuit chip apparatus and processing method are used for executing a multiplication operation, a convolution operation, or a training operation of a neural network. The present technical solution has the advantages of a reduced computational cost and low power consumption.
    Type: Grant
    Filed: December 20, 2022
    Date of Patent: November 5, 2024
    Assignee: Cambricon Technologies Corporation Limited
    Inventors: Shaoli Liu, Xinkai Song, Bingrui Wang, Yao Zhang, Shuai Hu
  • Patent number: 12079634
    Abstract: A technique for processing qubits in a quantum computing device is provided. The technique includes determining that, in a first cycle, a first quantum processing region is to perform a first quantum operation that does not use a qubit that is stored in the first quantum processing region, identifying a second quantum processing region that is to perform a second quantum operation at a second cycle that is later than the first cycle, wherein the second quantum operation uses the qubit, determining that between the first cycle and the second cycle, no quantum operations are performed in the second quantum processing region, and moving the qubit from the first quantum processing region to the second quantum processing region.
    Type: Grant
    Filed: February 18, 2020
    Date of Patent: September 3, 2024
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Onur Kayiran, Jieming Yin, Yasuko Eckert
  • Patent number: 12067284
    Abstract: A system and related method, including storage circuitry and a control circuitry, which while executing a storage device driver, is to receive at least one instruction of a stream of instructions for the storage device. The control circuitry determines that a hardware buffer of the storage device is storing less than two instructions. In response to the determination that the hardware buffer of the storage device is storing less than two instructions, the control circuitry accesses data associated with an address of the memory of the storage device, wherein the address is predicted based on analysis of the stream of instructions and causes to be stored the data in a buffer of a plurality of buffers. The control circuitry executes an instruction of the stream of instructions using at least the data stored in the buffer.
    Type: Grant
    Filed: December 29, 2022
    Date of Patent: August 20, 2024
    Assignee: SK Hynix NAND Product Solutions Corp.
    Inventors: Arun Athreya, Mariusz Dolny, Bartosz Kot, Michal Mamczyński, Shivashekar Muralishankar, Shankar Natarajan, Yihua Zhang
  • Patent number: 12050915
    Abstract: In an embodiment, a processor includes a fetch circuit to fetch instructions, the instructions including a code prefetch instruction; a decode circuit to decode the code prefetch instruction and provide the decoded code prefetch instruction to a memory circuit, the memory circuit to execute the decoded code prefetch instruction to prefetch a first set of code blocks into a first cache and to prefetch a second set of code blocks into a second cache. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 22, 2020
    Date of Patent: July 30, 2024
    Assignee: Intel Corporation
    Inventors: Wim Heirman, Stijn Eyerman, Ibrahim Hur
  • Patent number: 12050914
    Abstract: A stream of data is accessed from a memory system using a stream of addresses generated in a first mode of operating a streaming engine in response to executing a first stream instruction. A block cache management operation is performed on a cache in the memory using a block of addresses generated in a second mode of operating the streaming engine in response to executing a second stream instruction.
    Type: Grant
    Filed: September 13, 2021
    Date of Patent: July 30, 2024
    Assignee: Texas Instruments Incorporated
    Inventors: Joseph Raymond Michael Zbiciak, Timothy David Anderson, Jonathan (Son) Hung Tran, Kai Chirca, Daniel Wu, Abhijeet Ashok Chachad, David M. Thompson
  • Patent number: 12045194
    Abstract: A processor comprising a control unit and a plurality of processing units interacting according to an operating architecture imposed dynamically by the control unit from among at least two of the following architectures: a single instruction multiple data (SIMD) stream architecture, a multiple instruction single data (MISD) stream architecture, and a multiple instruction multiple data (MIMD) stream architecture. The operating architecture is imposed dynamically by the control unit according to: configuration functions included in a machine code, and/or data to be processed and current processing instructions received as input of the processor.
    Type: Grant
    Filed: November 27, 2018
    Date of Patent: July 23, 2024
    Assignee: VSORA
    Inventors: Khaled Maalej, Trung Dung Nguyen, Julien Schmitt, Pierre-Emmanuel Bernard
  • Patent number: 12008371
    Abstract: Systems, apparatuses, and methods for implementing as part of a processor pipeline a reprogrammable execution unit capable of executing specialized instructions are disclosed. A processor includes one or more reprogrammable execution units which can be programmed to execute different types of customized instructions. When the processor loads a program for execution, the processor loads a bitfile associated with the program. The processor programs a reprogrammable execution unit with the bitfile so that the reprogrammable execution unit is capable of executing specialized instructions associated with the program. During execution, a dispatch unit dispatches the specialized instructions to the reprogrammable execution unit for execution.
    Type: Grant
    Filed: August 12, 2022
    Date of Patent: June 11, 2024
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Andrew G. Kegel
  • Patent number: 11921643
    Abstract: A processor is provided that includes a first multiplication unit in a first data path of the processor, the first multiplication unit configured to perform single issue multiply instructions, and a second multiplication unit in the first data path, the second multiplication unit configured to perform single issue multiply instructions, wherein the first multiplication unit and the second multiplication unit are configured to execute respective single issue multiply instructions in parallel.
    Type: Grant
    Filed: March 9, 2022
    Date of Patent: March 5, 2024
    Assignee: Texas Instruments Incorporated
    Inventors: Mujibur Rahman, Timothy David Anderson, Soujanya Narnur
  • Patent number: 11900120
    Abstract: Systems and methods of selecting a collection of compatible issue-ready instructions for parallel execution by functional units in a superscalar processor in a single clock cycle. All possible instructions (opcodes) to be executed by the functional units are pre-arranged into several scenarios based on potential resource conflicts among the instructions. Each scenario includes multiple groups of predefined instructions. During operation, concurrently for all the groups, an issue-ready instruction is identified with reference to each group based on group-specific selection policies. Further, based on the identified instructions, predefined policies are applied to select one or more scenarios and select among the picks of the selected scenarios. As a result, the output instructions of the selected scenarios are issued for parallel execution by the functional units.
    Type: Grant
    Filed: March 24, 2022
    Date of Patent: February 13, 2024
    Assignee: Marvell Asia Pte, Ltd.
    Inventor: David Carlson
  • Patent number: 11868469
    Abstract: A microprocessor that mitigates side channel attacks includes a front end that processes instructions in program order and a back end that performs speculative execution of instructions out of program order in a superscalar fashion. Producing execution units produce architectural register results during execution of instructions. Consuming execution units consume the produced architectural register results during execution of instructions. The producing and consuming execution units may be the same or different execution units. Control logic detects that, during execution by a producing execution unit, an architectural register result producing instruction causes a need for an architectural exception and consequent flush of all instructions younger in program order than the producing instruction and prevents all instructions within the back end that are dependent upon the producing instruction from consuming the architectural register result produced by the producing instruction.
    Type: Grant
    Filed: March 17, 2021
    Date of Patent: January 9, 2024
    Assignee: Ventana Micro Systems Inc.
    Inventors: John G. Favor, Srivatsan Srinivasan
  • Patent number: 11861190
    Abstract: Memory blocks are allocated for a microcontroller having one memory subsystem storing instruction information, and a separate memory subsystem storing data information. At design time, an address map is created implementing configurations of different ways of allocating instruction information and data information between memory blocks. At runtime, a configuration signal is received, and a particular memory block configuration for storing instruction information and data information is determined. An incoming instruction signal received from a dedicated microcontroller port, is communicated according to the configuration signal and the address map to a connection point (e.g., pin, fuse, register). Via that connection point, the instruction signal is routed to a memory block designated exclusively for instructions.
    Type: Grant
    Filed: April 8, 2021
    Date of Patent: January 2, 2024
    Assignee: Marvell Asia Pte, Ltd.
    Inventors: Arash Farhoodfar, Whay Lee
  • Patent number: 11847457
    Abstract: A master processor is configured to execute a first thread and a second thread designated to run a program in sequence. A slave processor is configured to execute a third thread to run the program in sequence. An instruction fetch compare engine is provided. The first thread initiates a first thread instruction fetch for the program and stored in an instruction fetch storage. Retrieved data associated with the fetched first thread instruction is stored in a retrieved data storage. The second thread initiates a second thread instruction fetch for the program. The instruction fetch compare logic compares the second thread instruction fetch for the program with the first thread instruction fetch stored in the instruction fetch storage for a match. When there is a match, the retrieved data associated with the fetched first thread instruction is presented from the retrieved data storage, in response to the second thread instruction fetch.
    Type: Grant
    Filed: May 31, 2022
    Date of Patent: December 19, 2023
    Assignee: Ceremorphic, Inc.
    Inventors: Heonchul Park, Sri Hari Nemani, Patel Urvishkumar Jayrambhai, Dhruv Maheshkumar Patel
  • Patent number: 11809558
    Abstract: A method of packet attribute confirmation includes receiving, at a command processor of a parallel processor, a command packet including a received packet attribute, such as a packet size, of the command packet. The command processor compares the received packet attribute of the command packet relative to an expected packet attribute of the command packet. The command processor passes one or more commands to a prefetch parser such that a summed total size of the one or more commands is equal to the received packet size of the command packet. The command processor passes, based at least on determining a match between the received packet size and the expected packet size, the received command packet to the prefetch parser. Otherwise, the command processor passes, based at least on determining a mismatch between the received packet size and the expected packet size, one or more no-operation instructions to the prefetch parser.
    Type: Grant
    Filed: September 25, 2020
    Date of Patent: November 7, 2023
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Harry J. Wise, Alexander Fuad Ashkar, Manu Rastogi
  • Patent number: 11789733
    Abstract: An instruction processing apparatus is disclosed. The instruction processing apparatus includes: a selector is configured to parse out a command type and a buffer identifier from a command, provide received data and the buffer identifier to a parser if the command type is configuration, and provide the received data and the buffer identifier to an operation circuit if the command type is execution; the parser is configured to parse out an instruction sequence from the data, store the instruction sequence into an instruction buffer corresponding to the buffer identifier, and store an operand of each instruction into a register file; and the operation circuit is configured to drive the instruction buffer to execute each instruction and generate a control signal, and trigger a plurality of execution units to perform operations based on received control signals and operands. The apparatus may be dedicated to processing various neural network applications.
    Type: Grant
    Filed: April 10, 2022
    Date of Patent: October 17, 2023
    Assignee: Alibaba (China) Co., Ltd.
    Inventors: Yijin Guan, Fei Sun, Ling Liang
  • Patent number: 11762776
    Abstract: The present application discloses a cache access method and an associated graph neural network system. The graph neural network processor is used for performing computation upon a graph neural network. The graph neural network is stored in the memory in compressed sparse row format. The method includes: receiving an address corresponding to a node of the graph neural network and a type of the address; in response to the type is one of a first type or a second type, performing lookup by comparing the address with a tag field of a degree lookup table to at least obtain a degree of the node; determining whether the degree is greater than a predetermined value to obtain a determination result; and determining whether to perform lookup on a region of the cache corresponding to the type according to the determination result.
    Type: Grant
    Filed: January 25, 2022
    Date of Patent: September 19, 2023
    Assignee: T-HEAD (SHANGHAI) SEMICONDUCTOR CO., LTD.
    Inventors: Zhe Zhang, Shuangchen Li, Hongzhong Zheng
  • Patent number: 11755333
    Abstract: A prefetcher for a coprocessor is disclosed. An apparatus includes a processor and a coprocessor that are configured to execute processor and coprocessor instructions, respectively. The processor and coprocessor instructions appear together in code sequences fetched by the processor, with the coprocessor instructions being provided to the coprocessor by the processor. The apparatus further includes a coprocessor prefetcher configured to monitor a code sequence fetched by the processor and, in response to identifying a presence of coprocessor instructions in the code sequence, capture the memory addresses, generated by the processor, of operand data for coprocessor instructions. The coprocessor is further configured to issue, for a cache memory accessible to the coprocessor, prefetches for data associated with the memory addresses prior to execution of the coprocessor instructions by the coprocessor.
    Type: Grant
    Filed: December 10, 2021
    Date of Patent: September 12, 2023
    Assignee: Apple Inc.
    Inventors: Brandon H. Dwiel, Andrew J. Beaumont-Smith, Eric J. Furbish, John D. Pape, Stephen G. Meier, Tyler J. Huberty
  • Patent number: 11748105
    Abstract: Aspects of the present disclosure relate an apparatus comprising fetch circuitry and instruction storage circuitry. The fetch circuitry is to fetch instructions for execution by execution circuitry. The instruction storage circuitry is to store temporary copies of fetched instructions. The fetch circuitry is configured to preferentially fetch instructions from the instruction storage circuitry. The instruction storage circuitry is configured to, responsive to a storage condition being met, begin storing copies of consecutive fetched instructions, the storage condition indicating a utility of a current fetched instruction; and to, responsive to determining that a number of said stored consecutive instructions has reached a storage threshold, cease storing copies of subsequent fetched instructions.
    Type: Grant
    Filed: April 27, 2021
    Date of Patent: September 5, 2023
    Assignee: Arm Limited
    Inventors: Michael Brian Schinzler, Muhammad Umar Farooq, Yasuo Ishii
  • Patent number: 11704221
    Abstract: A system is configured to track and store system and event data for various computing devices. The system is configured to associate the various computing devices with profiles based at least in part on characteristics of the computing devices. The system is further configured to compare performance data and/or performance metrics for particular computing devices having a particular profile against all other devices that share the particular profile. The system then displays this comparison to a user of the particular computing device, substantially automatically diagnoses an issue with the particular computing device based on the performance and system event data, and/or enables the user to diagnose the problem based on the performance and system event data.
    Type: Grant
    Filed: July 27, 2022
    Date of Patent: July 18, 2023
    Assignee: Assurant, Inc.
    Inventors: Dustin Brewer, Stuart Saunders, Cameron Hurst
  • Patent number: 11645053
    Abstract: Implementing an application within an integrated circuit (IC) having a data processing engine (DPE) array coupled to a Network-on-Chip (NoC) can include determining, using computer hardware, data transfer requirements for a software portion of the application intended to execute on the DPE array by simulating data traffic to the NoC as generated by the software portion, generating, using the computer hardware, a NoC routing solution for data paths of the application implemented by the NoC based, at least in part, on the data transfer requirements for the software portion. The software portion can be compiled for execution by different ones of a plurality of DPEs of the DPE array based, at least in part, on the NoC routing solution. Configuration data can be generated using the computer hardware. The configuration data, when loaded into the IC, configures the NoC to implement the NoC routing solution.
    Type: Grant
    Filed: October 13, 2021
    Date of Patent: May 9, 2023
    Assignee: Xilinx, Inc.
    Inventors: Akella Sastry, Vinod K. Kathail, L. James Hwang, Shail Aditya Gupta, Vidhumouli Hunsigida, Siddharth Rele
  • Patent number: 11605408
    Abstract: A memory device includes a command interface configured to receive a command from a host device via multiple command address bits. The memory device also includes a merged command decoder configured to receive the command and to determine whether the command matches a bit pattern corresponding to multiple command types. The merged command decoder is also configured to, in response to the command matching the bit pattern, asserting a latch signal. The memory device also includes a latch configured to capture the multiple command address bits based at least in part on assertion of the latch signal.
    Type: Grant
    Filed: November 3, 2021
    Date of Patent: March 14, 2023
    Assignee: Micron Technology, Inc.
    Inventors: Navya Sri Sreeram, Kallol Mazumder
  • Patent number: 11586440
    Abstract: A computer-implemented method of performing a link stack based prefetch augmentation using a sequential prefetching includes observing a call instruction in a program being executed, and pushing a return address onto a link stack for processing the next instruction. A stream of instructions is prefetched starting from a cached line address of the next instruction and is stored in an instruction cache.
    Type: Grant
    Filed: June 1, 2021
    Date of Patent: February 21, 2023
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Naga P. Gorti, Mohit Karve
  • Patent number: 11586944
    Abstract: An apparatus comprises: a prediction storage structure comprising a plurality of prediction state entries representing instances of predicted instruction behaviour; prediction training circuitry to perform a training operation to train the prediction state entries based on actual instruction behaviour; prediction circuitry to output at least one control signal for triggering a speculative operation based on the predicted instruction behaviour represented by a prediction state entry for which the training operation has provided sufficient confidence in the predicted instruction behaviour; an allocation filter comprising at least one allocation filter entry representing a failed predicted instruction behaviour for which the training operation failed to provide said sufficient confidence; and prediction allocation circuitry to prevent allocation of a new entry in the prediction storage structure for a failed predicted instruction behaviour represented by an allocation filter entry of the allocation filter.
    Type: Grant
    Filed: August 15, 2019
    Date of Patent: February 21, 2023
    Assignee: Arm Limited
    Inventors: Luc Orion, Houdhaifa Bouzguarrou, Guillaume Bolbenes, Eddy Lapeyre
  • Patent number: 11561796
    Abstract: A computer-implemented method to prefetch non-sequential instruction addresses (I/A) includes, determining, by a prefetch system, a first access attempt of a first I/A in a cache is a first miss, wherein the first I/A is included in a string of I/A's. The method further includes storing the first I/A in a linked miss-to-miss (LMTM) table. The method also includes determining a second access attempt of a second I/A in the cache is a second miss, wherein the second I/A is included in the string of I/A's. The method includes linking, in the LMTM table, the second miss to the first miss. The method also includes prefetching, in response to a third access attempt of the first I/A, the second I/A in the cache.
    Type: Grant
    Filed: July 15, 2020
    Date of Patent: January 24, 2023
    Assignee: International Business Machines Corporation
    Inventors: Naga P. Gorti, Mohit Karve
  • Patent number: 11537517
    Abstract: A memory device comprises: a page buffer including a first and second latch, a control circuit configured to perform reading data of a word line and storing the data in the first latch, perform discharging the word line, perform moving the data of the first latch to the second latch, and perform outputting the data of the second latch to an exterior, and a control logic configured to control the control circuit such that an execution section of the discharge and moving for a first word line at least partially overlap each other when a second or third cache read command is inputted in a section in which the storage or discharge for the first word line is performed in response to a first cache read command for the first word line.
    Type: Grant
    Filed: October 4, 2021
    Date of Patent: December 27, 2022
    Assignee: SK hynix Inc.
    Inventors: Gwan Park, Jeong Gil Choi
  • Patent number: 11520497
    Abstract: A variety of applications can include a memory device having a memory die designed to control a power budget for a cache and a memory array of the memory die. A first flag received from a data path identifies a start of a cache operation on the data and a second flag from the data path identifies an end of the cache operation. A controller for peak power management can be implemented to control the power budget based on determination of usage of current associated with the cache from the first and second flags. In various embodiments, the controller can be operable to feedback a signal to a memory controller external to the memory die to adjust an operating speed of an interface from the memory controller to the memory die. Additional devices, systems, and methods are discussed.
    Type: Grant
    Filed: December 2, 2020
    Date of Patent: December 6, 2022
    Assignee: Micron Technology, Inc.
    Inventors: Liang Yu, Jonathan Scott Parry, Luigi Pilolli
  • Patent number: 11461098
    Abstract: Systems, methods, and apparatuses relating to an instruction for operating system transparent instruction state management of new instructions for application threads are described. In one embodiment, a hardware processor includes a decoder to decode a single instruction into a decoded single instruction, and an execution circuit to execute the decoded single instruction to cause a context switch from a current state to a state comprising additional state data that is not supported by an execution environment of an operating system that executes on the hardware processor.
    Type: Grant
    Filed: June 27, 2020
    Date of Patent: October 4, 2022
    Assignee: Intel Corporation
    Inventors: Toby Opferman, Prashant Sethi, Abhimanyu K. Varde, Barry E. Huntley, Michael W. Chynoweth, Jason W. Brandt
  • Patent number: 11435484
    Abstract: A global navigation satellite system (GNSS) receiver is disclosed. In embodiments, the GNSS receiver includes a tracking engine running on a primary controller, the tracking engine configured to receive a plurality of signals from a plurality of satellites. The GNSS receiver further includes a space-time adaptive correlator (STAC) engine running on an application-specific controller. In embodiments, the STAC engine is configured to: receive initial position data and an initial receiver clock estimate from the tracking engine; construct a spatial hypercube based on the received initial position data; receive the plurality of signals from the tracking engine; interpolate signal strengths of the plurality of signals to generate a plurality of signal intensity curves; integrate the plurality of signal intensity curves within the spatial hypercube for the initial receiver clock estimate to generate a signal intensity hypercube plot; and determine a receiver position based on the signal intensity hypercube plot.
    Type: Grant
    Filed: June 7, 2019
    Date of Patent: September 6, 2022
    Assignee: Rockwell Collins, Inc.
    Inventor: John E. Acheson
  • Patent number: 10372112
    Abstract: A method includes translating at least one application source code file associated with a legacy controller in a distributed control system to instructions executable by a controller simulation computing device, wherein the legacy controller is associated with a legacy operating system and the controller simulation computing device is associated with a second operating system different from the legacy operating system. The method also includes simulating operation of the legacy controller using the instructions and an emulation of the legacy operating system in the controller simulation computing device. The method further includes determining configuration data for the legacy controller during the simulated operation of the legacy controller. In addition, the method includes saving the configuration data to a configuration data file.
    Type: Grant
    Filed: June 14, 2016
    Date of Patent: August 6, 2019
    Assignee: Honeywell International Inc.
    Inventors: Ananthapadmanabha Krishnamurthy, Shylaja Munihanumaiah, Elliott Rachlin, Paul F. McLaughlin
  • Patent number: 9043579
    Abstract: A prefetch optimizer tool for an information handling system (IHS) may improve effective memory access time by controlling both hardware prefetch operations and software prefetch operations. The prefetch optimizer tool selectively disables prefetch instructions in an instruction sequence of interest within an application. The tool measures execution times of the instruction sequence of interest when different prefetch instructions are disabled. The tool may hold hardware prefetch depth constant while cycling through disabling different prefetch instructions and taking corresponding execution time measurements. Alternatively, for each disabled prefetch instruction in the instruction sequence of interest, the tool may cycle through different hardware prefetch depths and take corresponding execution time measurements at each hardware prefetch depth.
    Type: Grant
    Filed: January 10, 2012
    Date of Patent: May 26, 2015
    Assignee: International Business Machines Corporation
    Inventor: Randall Ray Heisch
  • Patent number: 8954714
    Abstract: An apparatus includes a processor. The processor includes two memories. The first memory stores one set of instructions. The second memory stores another set of instructions that are longer than the set of instructions in the first memory. An instruction in the set of instructions in the first memory is used as a pointer to a corresponding instruction in the set of instructions in the second memory.
    Type: Grant
    Filed: February 1, 2010
    Date of Patent: February 10, 2015
    Assignee: Altera Corporation
    Inventor: Steven Perry
  • Patent number: 8683138
    Abstract: A prefetch data machine instruction having an M field performs a function on a cache line of data specifying an address of an operand. The operation comprises either prefetching a cache line of data from memory to a cache or reducing the access ownership of store and fetch or fetch only of the cache line in the cache or a combination thereof. The address of the operand is either based on a register value or the program counter value pointing to the prefetch data machine instruction.
    Type: Grant
    Filed: January 6, 2012
    Date of Patent: March 25, 2014
    Assignee: International Business Machines Corporation
    Inventors: Dan F Greiner, Timothy J Slegel
  • Patent number: 8484421
    Abstract: Embodiments of the present disclosure provide a system on a chip (SOC) comprising a processing core, and a cache including a cache instruction port, a cache data port, and a port utilization circuitry configured to selectively fetch instructions through the cache instruction port and selectively pre-fetch instructions through the cache data port. Other embodiments are also described and claimed.
    Type: Grant
    Filed: November 23, 2009
    Date of Patent: July 9, 2013
    Assignee: Marvell Israel (M.I.S.L) Ltd.
    Inventors: Tarek Rohana, Adi Habusha, Gil Stoler
  • Patent number: 8250307
    Abstract: According to a method of data processing, a memory controller receives a prefetch load request from a processor core of a data processing system. The prefetch load request specifies a requested line of data. In response to receipt of the prefetch load request, the memory controller determines by reference to a stream of demand requests how much data is to be supplied to the processor core in response to the prefetch load request. In response to the memory controller determining to provide less than all of the requested line of data, the memory controller provides less than all of the requested line of data to the processor core.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: August 21, 2012
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Gheorghe C. Cascaval, Balaram Sinharoy, William E. Speight, Lixin Zhang
  • Patent number: 8032713
    Abstract: A design structure embodied in a machine readable storage medium for designing, manufacturing, and/or testing a design is provided. The design structure generally includes a computer system that includes a CPU, a storage device, circuitry for providing a speculative access threshold corresponding to a selected percentage of the total number of accesses to the storage device that can be speculatively issued, and circuitry for intermixing demand accesses and speculative accesses in accordance with the speculative access threshold.
    Type: Grant
    Filed: May 5, 2008
    Date of Patent: October 4, 2011
    Assignee: International Business Machines Corporation
    Inventors: James J. Allen, Jr., Steven K. Jenkins, James A. Mossman, Michael R. Trombley
  • Patent number: 7949830
    Abstract: A system and method for handling speculative read requests for a memory controller in a computer system are provided. In one example, a method includes the steps of providing a speculative read threshold corresponding to a selected percentage of the total number of reads that can be speculatively issued, and intermixing demand reads and speculative reads in accordance with the speculative read threshold. In another example, a computer system includes a CPU, a memory controller, memory, a bus connecting the CPU, memory controller and memory, circuitry for providing a speculative read threshold corresponding to a selected percentage of the total number of reads that can be speculatively issued, and circuitry for intermixing demand reads and speculative reads in accordance with the speculative read threshold.
    Type: Grant
    Filed: December 10, 2007
    Date of Patent: May 24, 2011
    Assignee: International Business Machines Corporation
    Inventors: James Johnson Allen, Jr., Steven Kenneth Jenkins, James A. Mossman, Michael Raymond Trombley