Patents by Inventor Alejandro Rico Carro

Alejandro Rico Carro has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20200162549
    Abstract: Briefly, example methods, apparatuses, and/or articles of manufacture are disclosed that may be implemented, in whole or in part, using one or more mobile communication devices and/or processing devices to facilitate and/or support one or more operations and/or techniques for executing distributed memory operations. In particular, some embodiments are directed to techniques for the traversal of vertices of a data structure maintained in a distributed memory system.
    Type: Application
    Filed: November 16, 2018
    Publication date: May 21, 2020
    Inventors: Pavel Shamis, Alejandro Rico Carro
  • Publication number: 20200142826
    Abstract: Aspects of the present disclosure relate to an apparatus comprising a requester master processing device having an associated private cache storage to store data for access by the requester master processing device. The requester master processing device is arranged to issue a request to modify data that is associated with a given memory address and stored in a private cache storage associated with a recipient master processing device. The private cache storage associated with the recipient master processing device is arranged to store data for access by the recipient master processing device. The apparatus further comprises the recipient master processing device having its private cache storage. One of the recipient master processing device and its associated private cache storage is arranged to perform the requested modification of the data while the data is stored in the cache storage associated with the recipient master processing device.
    Type: Application
    Filed: November 7, 2018
    Publication date: May 7, 2020
    Inventors: Joshua RANDALL, Alejandro Rico CARRO, Jose Alberto JOAO, Richard William EARNSHAW, Alasdair GRANT
  • Patent number: 10628157
    Abstract: A processing pipeline has at least one front end stage for issuing micro-operations for execution in response to program instructions, and an execute stage for performing data processing in response to the micro-operations. At least one predicate register stores at least one predicate value. In response to a predicated vector instruction for triggering execution of two or more lanes of processing, the at least one front end stage issues at least one micro-operation to control the execute stage to mask an effect of a lane of processing indicated as disabled by a target predicate value. One of the front end stages may perform an early predicate lookup of the target predicate value to vary in dependence on the early predicate lookup, which micro-operations are issued to the execute store for a predicated vector instruction.
    Type: Grant
    Filed: April 21, 2017
    Date of Patent: April 21, 2020
    Assignee: ARM Limited
    Inventors: Alejandro Rico Carro, Lee Evan Eisen
  • Patent number: 10620954
    Abstract: A method and apparatus are provided for dynamically determining when an operation, specified by one or more instructions in a data processing system, is suitable for accelerated execution. Data indicators are maintained, for data registers of the system, that indicate when data-flow from a register derives from a restricted source. In addition, instruction predicates are provided for instructions to indicate which instructions are capable of accelerated execution. From the data indicators and the instruction predicates, the microarchitecture of the data processing system determines, dynamically, when the operation is a thread-restricted function and suitable for accelerated execution in a hardware accelerator. The thread-restricted function may be executed on a hardware processor, such as a vector, neuromorphic or other processor.
    Type: Grant
    Filed: March 29, 2018
    Date of Patent: April 14, 2020
    Assignee: Arm Limited
    Inventors: Jonathan Curtis Beard, Curtis Glenn Dunham, Alejandro Rico Carro
  • Patent number: 10572259
    Abstract: An apparatus and method of operating a data processing apparatus are provided. The data processing circuitry is responsive to a hint instruction to then assert at least one performance modifying control signal, when subsequently generating control signals for other data processing instructions. This causes the data processing functional hardware which performs the data processing operations defined by the data processing instructions to operate in a modified manner, although the data processing results produced do not change in dependence on whether the at least one performance modifying control signal is asserted.
    Type: Grant
    Filed: January 22, 2018
    Date of Patent: February 25, 2020
    Assignee: ARM LIMITED
    Inventors: Jesse Garrett Beu, Alejandro Rico Carro, Lee Evan Eisen, Michael Filippo
  • Publication number: 20190303143
    Abstract: A method and apparatus are provided for dynamically determining when an operation, specified by one or more instructions in a data processing system, is suitable for accelerated execution. Data indicators are maintained, for data registers of the system, that indicate when data-flow from a register derives from a restricted source. In addition, instruction predicates are provided for instructions to indicate which instructions are capable of accelerated execution. From the data indicators and the instruction predicates, the microarchitecture of the data processing system determines, dynamically, when the operation is a thread-restricted function and suitable for accelerated execution in a hardware accelerator. The thread-restricted function may be executed on a hardware processor, such as a vector, neuromorphic or other processor.
    Type: Application
    Filed: March 29, 2018
    Publication date: October 3, 2019
    Applicant: Arm Limited
    Inventors: Jonathan Curtis Beard, Curtis Glenn Dunham, Alejandro Rico Carro
  • Publication number: 20190227796
    Abstract: An apparatus and method of operating a data processing apparatus are provided. The data processing circuitry is responsive to a hint instruction to then assert at least one performance modifying control signal, when subsequently generating control signals for other data processing instructions. This causes the data processing functional hardware which performs the data processing operations defined by the data processing instructions to operate in a modified manner, although the data processing results produced do not change in dependence on whether the at least one performance modifying control signal is asserted.
    Type: Application
    Filed: January 22, 2018
    Publication date: July 25, 2019
    Inventors: Jesse Garrett Beu, Alejandro Rico Carro, Lee Evan Eisen, Michael Filippo
  • Publication number: 20190129871
    Abstract: A method and apparatus are provided for assigning transport priorities to messages in a data processing system. An incoming message at an input/output (I/O) interface of the data processing system includes a message identifier and payload data. Match information, including an indicator or whether the message identifier of the incoming message matches an identifier of a request in a receive queue (RQ), is used to assign a transport priority value to the incoming message. The incoming message is transported to the destination node through an interconnect structure dependent upon the assigned transport priority value.
    Type: Application
    Filed: January 29, 2018
    Publication date: May 2, 2019
    Applicant: Arm Limited
    Inventors: Alejandro Rico Carro, Pavel Shamis, Stephan Diestelhorst
  • Publication number: 20190129857
    Abstract: A method and apparatus are provided for automatic routing of messages in a data processing system. An incoming message at an input/output (I/O) interface of the data processing system includes a message identifier and payload data. Match information, including an indicator or whether the message identifier of the incoming message matches an identifier of a request in a receive queue (RQ), is used to determine a destination for the incoming message. The incoming message is forwarded to the determined destination. Information, such as payload size and RQ position, may be used to determine allocation of the payload within a cache or cache hierarchy.
    Type: Application
    Filed: November 2, 2017
    Publication date: May 2, 2019
    Applicant: ARM LTD
    Inventors: Pavel Shamis, Alejandro Rico Carro
  • Patent number: 10275250
    Abstract: An apparatus comprises processing circuitry for executing instructions of two or more threads of processing, hardware registers to store context data for the two or more threads concurrently, and commit circuitry to commit results of executed instructions of the threads, where for each thread the commit circuitry commits the instructions of that thread in program order. At least one defer buffer is provided to buffer at least one blocked instruction for which execution by the processing circuitry is complete but execution of an earlier instruction of the same thread in the program order is incomplete. This can help to resolve inter-thread blocking and hence improve performance.
    Type: Grant
    Filed: March 6, 2017
    Date of Patent: April 30, 2019
    Assignee: ARM Limited
    Inventors: Jose Alberto Joao, Ziqiang Huang, Alejandro Rico Carro
  • Patent number: 10261835
    Abstract: An apparatus has processing circuitry to execute instructions from multiple threads and hardware registers to store context data for the multiple threads concurrently. At a given time a certain number of software-scheduled threads may be scheduled for execution by software executed by the processing circuitry. Hardware thread scheduling circuitry is provided to select one or more active threads to be executed from among the software-scheduled threads. The hardware thread scheduling circuitry adjusts the number of active threads in dependence on at least one performance metric indicating performance of the threads.
    Type: Grant
    Filed: March 21, 2017
    Date of Patent: April 16, 2019
    Assignee: ARM Limited
    Inventors: Jose Alberto Joao, Alejandro Rico Carro, Ziqiang Huang
  • Publication number: 20180307491
    Abstract: A processing pipeline has at least one front end stage for issuing micro-operations for execution in response to program instructions, and an execute stage for performing data processing in response to the micro-operations. At least one predicate register stores at least one predicate value. In response to a predicated vector instruction for triggering execution of two or more lanes of processing, the at least one front end stage issues at least one micro-operation to control the execute stage to mask an effect of a lane of processing indicated as disabled by a target predicate value. One of the front end stages may perform an early predicate lookup of the target predicate value to vary in dependence on the early predicate lookup, which micro-operations are issued to the execute store for a predicated vector instruction.
    Type: Application
    Filed: April 21, 2017
    Publication date: October 25, 2018
    Inventors: Alejandro Rico CARRO, Lee Evan EISEN
  • Publication number: 20180276046
    Abstract: An apparatus has processing circuitry to execute instructions from multiple threads and hardware registers to store context data for the multiple threads concurrently. At a given time a certain number of software-scheduled threads may be scheduled for execution by software executed by the processing circuitry. Hardware thread scheduling circuitry is provided to select one or more active threads to be executed from among the software-scheduled threads. The hardware thread scheduling circuitry adjusts the number of active threads in dependence on at least one performance metric indicating performance of the threads.
    Type: Application
    Filed: March 21, 2017
    Publication date: September 27, 2018
    Inventors: Jose Alberto JOAO, Alejandro Rico CARRO, Ziqiang HUANG
  • Publication number: 20180253299
    Abstract: An apparatus comprises processing circuitry for executing instructions of two or more threads of processing, hardware registers to store context data for the two or more threads concurrently, and commit circuitry to commit results of executed instructions of the threads, where for each thread the commit circuitry commits the instructions of that thread in program order. At least one defer buffer is provided to buffer at least one blocked instruction for which execution by the processing circuitry is complete but execution of an earlier instruction of the same thread in the program order is incomplete. This can help to resolve inter-thread blocking and hence improve performance.
    Type: Application
    Filed: March 6, 2017
    Publication date: September 6, 2018
    Inventors: Jose Alberto JOAO, Ziqiang HUANG, Alejandro Rico CARRO
  • Publication number: 20130151818
    Abstract: A method and system for improving performance and latency of instruction execution within an execution pipeline in a processor. The method includes finding, while decoding an instruction, a pointer register used by the instruction; reading the pointer register; validating a pointer register entry; reading, if the pointer register entry is valid, a register file entry; validating a register file entry; validating, if the register file entry is invalid, a valid register file entry wherein the valid register file entry is in the register file's future file; bypassing, if the valid register file entry is valid, a valid register file value from the register file's future file to the execution pipeline wherein the valid register file value is in the valid register file entry; and executing the instruction using the valid register file value; wherein at least one of the steps is carried out using a computer device.
    Type: Application
    Filed: December 13, 2011
    Publication date: June 13, 2013
    Applicant: International Business Machines Corporation
    Inventors: Erez Barak, Alejandro Rico Carro, Jeffrey H. Derby, Amit Golander, Omer Heymann, Nadav Levison, Sagi Manole, Robert K. Montoye