Patents by Inventor Conrado Blasco
Conrado Blasco 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: 20140195789Abstract: A circuit for implementing a branch target buffer. The branch target buffer may include a memory that stores a plurality of entries. Each entry may include a tag value, a target value, and a prediction accuracy value. A received index value corresponding to an indirect branch instruction may be used to select one of entries of the plurality of entries, and a received tag value may then be compared to the tag value of the selected entries in the memory. An entry in the memory may be selected in response to a determination that the received tag does not match the tag value of compared entries. The selected entry may be allocated to the indirect instruction branch dependent upon the prediction accuracy values of the plurality of entries.Type: ApplicationFiled: January 7, 2013Publication date: July 10, 2014Applicant: Apple Inc.Inventors: Sandeep Gupta, Shyam Sundar, Wei-Han Lien, Gerard R. Williams, III, Conrado Blasco-Allue
-
Publication number: 20140075156Abstract: Various techniques for predicting instruction fetch widths. In one embodiment, a fetch prediction unit in a processor is configured to generate a fetch width that specifies a number of bits to be retrieved in a subsequent fetch from an instruction cache. The fetch prediction unit may also generate a fetch prediction that includes the fetch width in response to a current fetch request. A number of bits corresponding to the fetch width may be fetched from the instruction cache. The fetch width may correspond to a location of a predicted-taken control transfer instruction. This fetch width prediction may lead to power savings in instruction cache accesses.Type: ApplicationFiled: September 10, 2012Publication date: March 13, 2014Inventors: Conrado Blasco-Allue, Ramesh B. Gunna
-
Publication number: 20130339700Abstract: Methods, apparatuses, and processors for tracking loop candidates in an instruction stream. A load buffer control unit detects a backwards taken branch and starts tracking the loop candidate. The control unit tracks taken branches of the loop candidate, and keeps track of the distance to each taken branch from the start of the loop. If the distance to each taken branch stays the same over multiple iterations of the loop, then the loop is stored in a loop buffer. The loop is then dispatched from the loop buffer, and the front-end of the processor is powered down until the loop terminates.Type: ApplicationFiled: June 15, 2012Publication date: December 19, 2013Inventors: Conrado Blasco-Allue, Ian D. Kountanis
-
Publication number: 20130339699Abstract: Methods, apparatuses, and processors for packing multiple iterations of a loop in a loop buffer. A loop candidate that meets the criteria for buffering is detected in the instruction stream being executed by a processor. When the loop is being written to the loop buffer and the end of the loop is detected, another iteration of the loop is written to the loop buffer if the loop buffer is not yet halfway full. In this way, short loops are written to the loop buffer multiple times to maximize the instruction operations per cycle throughput out of the loop buffer when the processor is in loop buffer mode.Type: ApplicationFiled: June 15, 2012Publication date: December 19, 2013Inventors: Conrado Blasco-Allue, Ian D. Kountanis
-
Publication number: 20130290680Abstract: A system and method for efficiently reducing the latency of initializing registers. A register rename unit within a processor determines whether prior to an execution pipeline stage it is known a decoded given instruction writes a particular numerical value in a destination operand. An example is a move immediate instruction that writes a value of 0 in its destination operand. Other examples may also qualify. If the determination is made, a given physical register identifier is assigned to the destination operand, wherein the given physical register identifier is associated with the particular numerical value, but it is not associated with an actual physical register in a physical register file. The given instruction is marked to prevent it from proceeding to an execution pipeline stage. When the given physical register identifier is used to read the physical register file, no actual physical register is accessed.Type: ApplicationFiled: April 30, 2012Publication date: October 31, 2013Inventors: James B. Keller, John H. Mylius, Conrado Blasco-Allue, Gerard R. Williams, III
-
Publication number: 20130290681Abstract: A system and method for efficiently reducing the power consumption of register file accesses. A processor is operable to execute instructions with two or more data types, each with an associated size and alignment. Data operands for a first data type use operand sizes equal to an entire width of a physical register within a physical register file. Data operands for a second data type use operand sizes less than an entire width of a physical register. Accesses of the physical register file for operands associated with a non-full-width data type do not access a full width of the physical registers. A given numerical value may be bypassed for the portion of the physical register that is not accessed.Type: ApplicationFiled: April 30, 2012Publication date: October 31, 2013Inventors: James B. Keller, John H. Mylius, Conrado Blasco-Allue, Gerard R. Williams, III, Sandeep Gupta
-
Publication number: 20130275720Abstract: A system and method for reducing the latency of data move operations. A register rename unit within a processor determines whether a decoded move instruction is eligible for a zero cycle move operation. If so, control logic assigns a physical register identifier associated with a source operand of the move instruction to the destination operand of the move instruction. Additionally, the register rename unit marks the given move instruction to prevent it from proceeding in the processor pipeline. Further maintenance of the particular physical register identifier may be done by the register rename unit during commit of the given move instruction.Type: ApplicationFiled: April 16, 2012Publication date: October 17, 2013Inventors: James B. Keller, John H. Mylius, Conrado Blasco-Allue, Gerard R. Williams, III, Suparn Vats
-
Patent number: 8386754Abstract: An out-of-order renaming processor is provided with a register file within which aliasing between registers of different sizes may occur. In this way a program instruction having a source register of a double precision size may alias with two single precision registers being used as destinations of one or more preceding program instructions. In order to track this data dependency the double precision register may be remapped into a micro-operation specifying two single precision registers as its source register. In this way, scheduling circuitry may use its existing hazard detection and management mechanisms to handle potential data hazards and dependencies. Not all program instructions having such data hazards between registers of different sizes are handled by this source register remapping. For these other program instructions a slower mechanism for dealing with the data dependency hazard is provided.Type: GrantFiled: June 24, 2009Date of Patent: February 26, 2013Assignee: ARM LimitedInventors: Conrado Blasco Allue, David James Williamson, James Nolan Hardage, Glen Andrew Harris, Robert Gregory McDonald
-
Publication number: 20120124337Abstract: An out-of-order processor 4 groups program instructions together to control their commitment to complete processing. If an instruction within a group has a source operand dependent upon a plurality of destination operands of other instructions then this is identified as a size mismatch hazard. When the program instruction having the size mismatch hazard reaches a commit point within the processor, then it is flushed together with any speculatively executed succeeding program instructions. Furthermore, the group of program instructions containing the program instruction containing the program instruction having the size mismatch is divided into a plurality of groups of program instructions each containing a single program instruction which are then replayed through the processing mechanisms.Type: ApplicationFiled: November 16, 2010Publication date: May 17, 2012Applicant: ARM LIMITEDInventors: James Nolan Hardage, Conrado Blasco Allue, Glen Andrew Harris
-
Publication number: 20120124346Abstract: A processor 2 includes instruction decoding circuitry 8 and processing circuitry 16, 18, 20, 22, 24. The instruction decoding circuitry decodes at least one conditional program instruction in accordance with a conditional prediction as one of, in accordance with the condition prediction being a condition pass, one or more micro-operation instructions that control the processing circuitry to perform the processing action together with a condition resolution micro-operation instruction, or in accordance with the condition prediction being a condition fail, at least a condition resolution micro-operation instruction. Condition resolution circuitry 24 responds to the condition resolution micro-operation instruction to determine if the condition prediction is incorrect.Type: ApplicationFiled: November 15, 2010Publication date: May 17, 2012Applicant: ARM LIMITEDInventors: James Nolan Hardage, Conrado Blasco Allue, Glen Andrew Harris, David James Williamson
-
Patent number: 8051275Abstract: A processor 2 includes an execution cluster 10 having multiple execution units 14, 16, 18, 20. The execution units 14, 16, 18, 20 share result buses 22, 24. Issue circuitry 12 within the execution cluster 10 determines future availability of a result bus 22, 24 for an instruction to be issued (or recently issued) using a known cycle count for that instruction. The availability is tracked for each result bus using a mask register 32 storing a mask value within which each bit position indicates the availability or non-availability of that result bus at a particular processing cycle in the future. The mask value is left shifted each processing cycle.Type: GrantFiled: June 1, 2009Date of Patent: November 1, 2011Assignee: ARM LimitedInventors: David James Williamson, Conrado Blasco Allué
-
Patent number: 7958335Abstract: A method and a data processing apparatus operable to process instructions from a plurality of instruction sets, the plurality of instruction sets each sharing a sub-set of common instructions and each having a remaining set of instructions is disclosed. The data processing apparatus comprises: a plurality of decode units, each decode unit being operable to only decode the remaining set of instructions from a corresponding one of the plurality of instruction sets; and a common decode unit operable to decode a number of the sub-set of common instructions from each of the plurality of instruction sets. This enables the common instructions from each instruction set to be decoded by the common decode unit. Hence, the logic which would otherwise be duplicated in each of the individual decode units for each instruction set can be removed from those decode units and provided just once in the common decode unit.Type: GrantFiled: August 5, 2005Date of Patent: June 7, 2011Assignee: ARM LimitedInventors: Conrado Blasco Allue, Glen Andrew Harris, Stephen John Hill
-
Publication number: 20100332805Abstract: An out-of-order renaming processor is provided with a register file within which aliasing between registers of different sizes may occur. In this way a program instruction having a source register of a double precision size may alias with two single precision registers being used as destinations of one or more preceding program instructions. In order to track this data dependency the double precision register may be remapped into a micro-operation specifying two single precision registers as its source register. In this way, scheduling circuitry may use its existing hazard detection and management mechanisms to handle potential data hazards and dependencies. Not all program instructions having such data hazards between registers of different sizes are handled by this source register remapping. For these other program instructions a slower mechanism for dealing with the data dependency hazard is provided.Type: ApplicationFiled: June 24, 2009Publication date: December 30, 2010Applicant: ARM LimitedInventors: Conrado Blasco Allue, David James Williamson, James Nolan Hardage, Glen Andrew Harris, Robert Gregory McDonald
-
Publication number: 20100306505Abstract: A processor 2 includes an execution cluster 10 having multiple execution units 14, 16, 18, 20. The execution units 14, 16, 18, 20 share result buses 22, 24. Issue circuitry 12 within the execution cluster 10 determines future availability of a result bus 22, 24 for an instruction to be issued (or recently issued) using a known cycle count for that instruction. The availability is tracked for each result bus using a mask register 32 storing a mask value within which each bit position indicates the availability or non-availability of that result bus at a particular processing cycle in the future. The mask value is left shifted each processing cycle.Type: ApplicationFiled: June 1, 2009Publication date: December 2, 2010Inventors: David James Williamson, Conrado Blasco Allue
-
Patent number: 7426659Abstract: A data processing system 2 is described having a central processing unit 4 and a diagnostic mechanism 10. The central processing unit 4 is switchable into a power-down mode from which it may resume into a normal operation mode. When the central processing unit 4 resumes into the normal operation mode, execution of program instructions is inhibited by the diagnostic mechanism 10 to allow the diagnostic mechanism to be appropriately programmed such that the immediate power-up code and operations can be properly diagnosed. The requirement to prevent program instruction execution on power-up is programmed by writing to a latch 16 within the diagnostic mechanism 10 prior to the power-down. The prevention of program execution may be achieved, for example, by generation of a halt request or by extending the time period for which the central processing unit 4 is held in reset following power-up.Type: GrantFiled: March 22, 2005Date of Patent: September 16, 2008Assignee: ARM LimitedInventors: Conrado Blasco Allue, Paul Kimelman, Andrew Brookfield Swaine, Richard Roy Grisenthwaite
-
Patent number: 7389459Abstract: A data processing apparatus is provided having a plurality of functional units. At least one of the functional units is operable to perform data processing operations and at least a subset of the plurality of functional units have at least one of a respective co-processor register for storing configuration data and a respective debug register for storing debug data. A debug controller outputs debug data and co-ordinates debug operations. A configuration ring-bus provides a ring path for communication of configuration instructions between a first ring sequence of the plurality of functional units and a debug ring-bus provides a ring path for communication of the debug data between a second ring sequence of the plurality of functional units. Separate provision of the debug ring-bus and the configuration ring-bus provides independent access to the co-processor register and to the debug register.Type: GrantFiled: March 22, 2005Date of Patent: June 17, 2008Assignee: ARM LimitedInventors: Conrado Blasco Allue, Stephen John Hill, David James Williamson
-
Patent number: 7293212Abstract: A data processing apparatus is operable in a either a self-test mode or an operational mode. The apparatus comprises a plurality of functional units, at least one of the functional units being operable to perform data processing operations and at least a subset of the plurality of functional units having at least one of a respective co-processor register for storing configuration data, a respective debug register for storing debug data and a respective functional unit memory. A memory self-test controller operable in the self-test mode to output self-test data for performing access operations to confirm correct operation of the functional unit memory. A debug controller outputs debug data and co-ordinates debug operations, the debug controller being one of the plurality of functional units.Type: GrantFiled: March 22, 2005Date of Patent: November 6, 2007Assignee: ARM LimtedInventors: Conrado Blasco Allue, Stephen John Hill, Richard Slobodnik
-
Patent number: 7251751Abstract: Within a system-on-chip device 2 having multiple processing circuits 4, 6, 8, one processing circuit 4 may serve to perform diagnostic operations upon another processing circuit 8 by accessing diagnostic data relating to that other circuit. Thus, one processor may, for example, control and perform halting mode type diagnostic or code profiling upon another.Type: GrantFiled: March 16, 2004Date of Patent: July 31, 2007Assignee: Arm LimitedInventors: Conrado Blasco Allue, Paul Kimelman, Andrew Brookfield Swaine, Michael John Williams
-
Patent number: 7234043Abstract: Within a multiple instruction pipeline data processing system which supports predication instructions, program instructions are initially decoded upon the assumption that they are predicated. A predication signal is generated within the instruction decoder stages when a predication instruction is detected. The presence or absence of this predication signal can then be used to correct any decoding which has been performed upon the basis of an assumption that the program instructions are predicated. The predication instruction can predicate a variable number of following instructions. The predication instruction can issue in parallel with an instruction which it predicates and yet the proper identification of the predication instruction need not be confirmed until at least some decoding has been performed upon the other program instruction.Type: GrantFiled: March 7, 2005Date of Patent: June 19, 2007Assignee: ARM LimitedInventors: Conrado Blasco Allue, Glen Andrew Harris, Stephen John Hill
-
Patent number: 7228457Abstract: A system-on-chip integrated circuit 2 is provided with multiple data processing circuits 4, 6, 8 each with an associated diagnostic interface circuit 16, 18, 20 connected via a diagnostic transaction bus 14 to a diagnostic transaction master circuit 12. The diagnostic master transaction circuit 12 issues diagnostic transaction requests to the diagnostic interface circuits 16, 18, 20. If the associated data processing circuits 4, 6, 8 are powered-down, or otherwise non responsive, then the diagnostic interface circuit 16, 18, 20 returns a diagnostic bus transaction error signal to the diagnostic transaction master circuit 12. A sticky-bit latch 30 within each diagnostic interface circuit 16, 18, 20 serves to record a power-down event and force generation of the diagnostic bus transaction error signal until that sticky bit is cleared by the diagnostic mechanisms.Type: GrantFiled: March 16, 2004Date of Patent: June 5, 2007Assignee: ARM LimitedInventors: Conrado Blasco Allue, Paul Kimelman, Andrew Brookfield Swaine, Richard Roy Grisenthwaite