Mode Switch Or Change Patents (Class 712/229)
  • Patent number: 9588770
    Abstract: Reconfiguring a register file using a rename table having a plurality of fields that indicate fracture information about a source register of an instruction for instructions which have narrow to wide dependencies.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 7, 2017
    Assignee: Samsung Electronics Co., LTD.
    Inventors: Bradley Gene Burgess, Ashraf Ahmed, Ravi Iyengar
  • Patent number: 9588863
    Abstract: One aspect is a method that includes analyzing, by a processor of an analysis system, an instruction set architecture of a targeted complex-instruction set computer (CISC) processor to generate an instruction set profile for each CISC architectural instruction variant of the instruction set architecture. A combination of instruction sequences for the targeted CISC processor is determined from the instruction set profile that corresponds to a desired stressmark type. The desired stressmark type defines a metric representative of functionality of interest of the targeted CISC processor. Performance of the targeted CISC processor is monitored with respect to the desired stressmark type while executing each of the instruction sequences. One of the instruction sequences is identified as most closely aligning with the desired stressmark type based on performance results of execution of the instruction sequences with respect to the desired stressmark type.
    Type: Grant
    Filed: October 21, 2014
    Date of Patent: March 7, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ramon Bertran, Pradip Bose, Alper Buyuktosunoglu, Timothy J. Slegel
  • Patent number: 9541992
    Abstract: A method of performing a dynamic voltage and frequency scaling operation comprises controlling a clock management unit (CMU) to predict an operating state of a central processing unit (CPU) and to provide operating frequency information to a power management integrated circuit (PMIC) based on the predicted operating state of the CPU, the operating frequency information indicating a change of an operating frequency of an application processor, and controlling the PMIC to change an operating voltage of the application processor based on the operating frequency information provided from the clock management unit.
    Type: Grant
    Filed: September 10, 2013
    Date of Patent: January 10, 2017
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jae-Gon Lee, Taek-Kyun Shin, Sang-Jung Jeon, Jin-Sub Choi
  • Patent number: 9477469
    Abstract: Branch prediction is suppressed for specific branch instructions executing in a transaction of a transactional memory (TM) environment, when the specific branch instruction was previously executed in the transaction, in one embodiment the specific branch instruction is suppressed after a predetermined number of executions of the specific instruction in a transaction.
    Type: Grant
    Filed: June 2, 2014
    Date of Patent: October 25, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael K Gschwind, Valentina Salapura, Chung-Lung Shum
  • Patent number: 9460281
    Abstract: A method to secure a non-native application. The non-native application is processed to obtain an application stub to be triggered within a virtual machine. The processing of the non-native application also provide a native code function upon which the application stub depends. The non-native function is part of a trusted module that extends security services from the trusted module to the virtual machine. The trusted module is a native code application that creates a trusted zone as a root of trustiness extending to the virtual machine by an execution-enabling mechanism between the application tab and the non-native function.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: October 4, 2016
    Assignee: Irdeto B.V.
    Inventors: Garney David Adams, Yuan Xiang Gu, Jack Jiequn Rong
  • Patent number: 9378021
    Abstract: A processor includes a cache, a prefetcher module to select information according to a prefetcher algorithm, and a prefetcher algorithm selection module. The prefetcher algorithm selection module includes logic to select a candidate prefetcher algorithm determine and store memory addresses of predicted memory accesses of the candidate prefetcher algorithm when performed by the prefetcher module, determine cache lines accessed during memory operations, and evaluate whether the determined cache lines match the stored memory addresses. The prefetcher algorithm selection module further includes logic to adjust an accuracy ratio of the candidate prefetcher algorithm, compare the accuracy ratio with a threshold accuracy ratio, and determine whether to apply the first candidate prefetcher algorithm to the prefetcher module.
    Type: Grant
    Filed: February 14, 2014
    Date of Patent: June 28, 2016
    Assignee: Intel Corporation
    Inventors: Zeshan A. Chishti, Christopher B. Wilkerson, Seth Pugsley, Peng-Fei Chuang, Robert L. Scott, Aamer Jaleel, Shih-Lien L. Lu, Kingsum Chow
  • Patent number: 9378002
    Abstract: An apparatus for providing memory footprint reduction for classes of an application programming interface includes a comparing element and a set selection element. The comparing element may be configured to receive a reference class file and one or more modified class files for each of a plurality of classes and to compare a size of each of the one or more modified class files and the reference class file. The set selection element may be in communication with the comparing element. The set selection element may be configured to select one of the one or more modified class files or the reference class file based at least in part on the size of each of the one or more modified class files and the reference class file as a selected file for each corresponding one of the classes and to form a class set comprising the selected file for each corresponding one of the classes.
    Type: Grant
    Filed: December 22, 2006
    Date of Patent: June 28, 2016
    Assignee: Core Wireless Licensing S.a.r.l.
    Inventor: Juha Uola
  • Patent number: 9372773
    Abstract: A processor, a method and a computer-readable medium for recording branch addresses are provided. The processor comprises hardware registers and first and second circuitry. The first circuitry is configured to store a first address associated with a branch instruction in the hardware registers. The first circuitry is further configured to store a second address that indicates where the processor execution is redirected to as a result of the branch instruction in the hardware registers. The second circuitry is configured to, in response to a second instruction, retrieve a value of at least one of the registers. The second instruction can be a user-level instruction.
    Type: Grant
    Filed: June 12, 2013
    Date of Patent: June 21, 2016
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Joseph Lee Greathouse, Anton Chernoff
  • Patent number: 9367455
    Abstract: The described embodiments include a core that uses predictions for store-to-load forwarding. In the described embodiments, the core comprises a load-store unit, a store buffer, and a prediction mechanism. During operation, the prediction mechanism generates a prediction that a load will be satisfied using data forwarded from the store buffer because the load loads data from a memory location in a stack. Based on the prediction, the load-store unit first sends a request for the data to the store buffer in an attempt to satisfy the load using data forwarded from the store buffer. If data is returned from the store buffer, the load is satisfied using the data. However, if the attempt to satisfy the load using data forwarded from the store buffer is unsuccessful, the load-store unit then separately sends a request for the data to a cache to satisfy the load.
    Type: Grant
    Filed: September 5, 2013
    Date of Patent: June 14, 2016
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Yasuko Eckert, Lena E. Olson, Srilatha Manne, James M. O'Connor
  • Patent number: 9367325
    Abstract: A method is described that includes deciding to migrate a thread from a first processing core to a second processing core. The method also includes automatically in hardware migrating first context of the thread of the first processing core whose register definition is also found on the second processing core to the second processing core. The method also includes automatically in hardware migrating second context of the thread of the first processing core whose register definition is not found on the second processing core to a first storage location external to the second processing core. The message also includes automatically in hardware migrating third context of the thread from a second storage location external to the second processing core to register definition found on the second processing core but not found on the first processing core.
    Type: Grant
    Filed: June 29, 2013
    Date of Patent: June 14, 2016
    Assignee: Intel Corporation
    Inventors: Bret Toll, Jason W. Brandt, John Holm
  • Patent number: 9311641
    Abstract: The present disclosure involves a system that includes a computer memory storage component configured to store computer programming instructions and a computer processor component operatively coupled to the computer memory storage component. The computer processor component is configured to run a secure operating system and a non-secure operating system in parallel. The secure and non-secure operating systems are isolated from each other. The computer processor component is configured to execute code to perform the following operations: receiving an authentication request from an application that is run by the non-secure operating system, wherein the authentication request contains credentials of the application; communicating with a secure applet that is run by the secure operating system, and wherein the communicating includes transferring the credentials of the application to the secure applet; and authenticating and vetting the application based on the credentials of the application.
    Type: Grant
    Filed: December 2, 2014
    Date of Patent: April 12, 2016
    Assignee: PayPal, Inc.
    Inventors: Sebastien Ludovic Jean Taveau, Hadi Nahari
  • Patent number: 9213585
    Abstract: A method and apparatus are described for performing sprinting in a processor. An analyzer in the processor may monitor thermal capacity remaining in the processor while not sprinting. When the remaining thermal capacity is sufficient to support sprinting, the analyzer may perform sprinting of a new workload when a benefit derived by sprinting the new workload exceeds a threshold and does not cause the remaining thermal capacity in the processor to be exhausted. The analyzer may perform sprinting of the new workload in accordance with sprinting parameters determined for the new workload. The analyzer may continue to monitor the remaining thermal capacity while not sprinting when the benefit derived by sprinting the new workload does not exceed the threshold.
    Type: Grant
    Filed: June 24, 2013
    Date of Patent: December 15, 2015
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Manish Arora, Nuwan Jayasena, Michael Schulte
  • Patent number: 9135010
    Abstract: Systems and methods are disclosed for processing data. In accordance with one implementation, a processor may include an arithmetic logic unit (ALU). The processor may also include pipeline circuitry to, in a non-error correction code (ECC) operating mode, execute a sequence of single-cycle instructions in the ALU in a first execution stage, and in an ECC operating mode, execute the same sequence of single-cycle instructions in the ALU in a second execution stage instead of the first execution stage. Further, the processor may include mode control signaling to configure the pipeline circuitry between the non-ECC and ECC operating modes.
    Type: Grant
    Filed: January 25, 2013
    Date of Patent: September 15, 2015
    Assignee: Rambus Inc.
    Inventors: William C. Moyer, Jeffrey W. Scott
  • Patent number: 9052916
    Abstract: Embodiments include methods, apparatus, and systems using a system read only memory (ROM) with an embedded disk image. One method of software execution includes embedding a disk image in a system read only memory (ROM) of a computer system; exporting the disk image through a universal serial bus (USB) interface after an operating system (OS) of the computer system loads; and executing software in the disk image in the computer system.
    Type: Grant
    Filed: September 21, 2006
    Date of Patent: June 9, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Darren Cepulis
  • Patent number: 9047068
    Abstract: Management information for managing thermal conditions within an information handling system is retrieved from a storage device drive information area by request to a logical block address associated with the management information. The controller of the storage device maps the logical block address to the drive information area to respond to the request to the logical block address with the management information. For example, storage device temperature information measured with a temperature sensor of the storage device and stored to a log page or diagnostics page of the storage device maps from the drive information area to the logical block address so that a controller of the storage device responds with the log page or diagnostics page when a request is made to the logical block address.
    Type: Grant
    Filed: October 31, 2011
    Date of Patent: June 2, 2015
    Assignee: Dell Products L.P.
    Inventor: David M. Pereira
  • Patent number: 9043585
    Abstract: In an example embodiment, there is described herein an apparatus comprising an interface for communicating with a plurality of digital signal processors and logic operable to send and receive data via the interface. The logic is configured to determine a first set of digital signal processors to be maintained in a ready state, a second set of digital signal processors to be maintained in a first energy saving state, and a third set of digital signal processors to be maintained in a second energy saving state.
    Type: Grant
    Filed: March 31, 2010
    Date of Patent: May 26, 2015
    Assignee: CISCO TECHNOLOGY, INC.
    Inventors: Ming Chen, Prasad Miriyala, Ramakrishnan Kunnath, Jing Li
  • Patent number: 9032191
    Abstract: A hypervisor and one or more guest operating systems resident in a data processing system and hosted by the hypervisor are configured to selectively enable or disable branch prediction logic through separate hypervisor-mode and guest-mode instructions. By doing so, different branch prediction strategies may be employed for different operating systems and user applications hosted thereby to provide finer grained optimization of the branch prediction logic for different operating scenarios.
    Type: Grant
    Filed: January 23, 2012
    Date of Patent: May 12, 2015
    Assignee: International Business Machines Corporation
    Inventors: Adam J. Muff, Paul E. Schardt, Robert A. Shearer, Matthew R. Tubbs
  • Publication number: 20150127928
    Abstract: A processor is described herein that is configured to switch between a first instruction issue mode of the processor and a second instruction issue mode of the processor based at least in part on a characteristic associated with a plurality of instructions. The first instruction issue mode and the second instruction issue mode are associated with different energy consumption characteristics. Also, the first instruction issue mode may be an out-of-order instruction issue mode and the second instruction issue mode may be an in-order instruction issue mode.
    Type: Application
    Filed: November 7, 2013
    Publication date: May 7, 2015
    Applicant: Microsoft Corporation
    Inventors: Douglas C. Burger, Aaron L. Smith
  • Publication number: 20150121048
    Abstract: A processor core includes a front end, and first and second back ends, the front end including a fetch engine configured to retrieve the sequence of data processing instructions for both the first back end and the second back end from a memory, and the first and second back ends are each configured to execute the sequence of program instructions. The core operates in a first mode in which the first back end is active and receives the sequence of data processing instructions from the fetch engine and the second back end is inactive, and a second mode in which the first back end is inactive and the second back end is active and receives the sequence of data processing instructions from the fetch engine, where the cycles-per-instruction rate is lower and energy consumption is higher for the first mode than the second mode.
    Type: Application
    Filed: November 29, 2013
    Publication date: April 30, 2015
    Applicant: THE REGENTS OF THE UNIVERSITY OF MICHIGAN
    Inventors: Andrew LUKEFAHR, Reetuparna DAS, Shruti PADMANABHA, Scott MAHLKE
  • Patent number: 9021126
    Abstract: A data processing apparatus includes multiple processing means that are connected in a ring shape via corresponding communication means respectively. Each communication means includes a reception means for receiving data from a previous communication means, and a transmission means for transmitting data to a next communication means. Connection information is assigned to each of the reception means and the transmission means. The communication means, when receiving a packet that has same connection information as one assigned to its reception means, causes the corresponding processing means to perform data processing on the packet, sets the connection information assigned to its transmission means to the packet, and transmits the packet to the next communication means, and when receiving a packet that has connection information that is not same as one assigned to its reception means, transmits the packet to the next communication means without changing the connection information of the packet.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: April 28, 2015
    Assignee: Canon Kabushiki Kaisha
    Inventor: Hisashi Ishikawa
  • Patent number: 9021239
    Abstract: The disclosure relates to the implementation of multi-tasking on a digital signal processor. Blocking functions are arranged such that they do not make use of a processor's hardware stack. Respective function calls are replaced with a piece of inline assembly code, which instead performs a branch to the correct routine for carrying out said function. If a blocking condition of the blocking function is encountered, a task switch can be done to resume another task. Whilst the hardware stack is not used when a task switch might have to occur, mixed-up contents of the hardware stack among function calls performed by different tasks are avoided.
    Type: Grant
    Filed: April 7, 2006
    Date of Patent: April 28, 2015
    Assignee: NXP, B.V.
    Inventor: Tomas Henriksson
  • Patent number: 9015450
    Abstract: Embodiments of a processor architecture efficiently implement shadow registers in hardware. A register system in a processor includes a set of physical data registers coupled to register renaming logic. The register renaming logic stores data in and retrieves data from the set of physical registers when the processor is in a first processor state. The register renaming logic identifies ones of the set of physical registers that have a first operational state as a first group of registers and identifies the remaining ones of the set of physical registers as a second group of registers in response to an indication that the processor is to enter a second processor state from the first processor state. The register renaming logic stores data in and retrieves data from the second group of registers but not the first group of registers when the processor is in the second processor state.
    Type: Grant
    Filed: January 20, 2010
    Date of Patent: April 21, 2015
    Assignee: STMicroelectronics (Beijing) R&D Co. Ltd.
    Inventors: Hong-Xia Sun, Peng Fei Zhu, Yong Qiang Wu
  • Publication number: 20150106601
    Abstract: The present invention provides a mobile device adopting multicore processors in which each of multiple applications are automatically configured in corresponding processing modes stored in an established table. When one of the application is operated, looking up the table to select the corresponding processing mode. The mobile device automatically switches to the corresponding processing mode. Since the cores in the processor are allocated according to demands, the speed of processing and the power consumption get balanced.
    Type: Application
    Filed: August 15, 2013
    Publication date: April 16, 2015
    Inventor: Dawei Ye
  • Patent number: 8984264
    Abstract: The described embodiments provide a system for executing instructions in a processor. In the described embodiments, upon detecting a return of input data for a deferred instruction while executing instructions in an execute-ahead mode, the processor determines whether a replay bit is set in a corresponding entry for the returned input data in a miss buffer. If the replay bit is set, the processor transitions to a deferred-execution mode to execute deferred instructions. Otherwise, the processor continues to execute instructions in the execute-ahead mode.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: March 17, 2015
    Assignee: Oracle America, Inc.
    Inventors: Martin R. Karlsson, Sherman H. Yip, Shailender Chaudhry
  • Patent number: 8977835
    Abstract: Techniques for reducing issue-to-issue latency by reversing processing order in half-pumped single instruction multiple data (SIMD) execution units are described. In one embodiment a processor functional unit is provided comprising a frontend unit, and execution core unit, a backend unit, an execution order control signal unit, a first interconnect coupled between and output and an input of the execution core unit and a second interconnect coupled between an output of the backend unit and an input of the frontend unit. In operation, the execution order control signal unit generates a forwarding order control signal based on the parity of an applied clock signal on reception of a first vector instruction. This control signal is in turn used to selectively forward first and second portions of an execution result of the first vector instruction via the interconnects for use in the execution of a dependent second vector instruction.
    Type: Grant
    Filed: November 14, 2013
    Date of Patent: March 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Maarten J. Boersma, Markus Kaltenbach, Christophe J. Layer, Jens Leenstra, Silvia M. Mueller
  • Patent number: 8966223
    Abstract: A configurable execution unit comprises operators capable of being dynamically configured by an instruction at the level of processing multi-bit operand values. The unit comprises one or more dynamically configurable operator modules, each module being connectable to receive input operands indicated in an instruction, and a programmable lookup table connectable to receive dynamic configuration information determined from an opcode portion of the instruction and capable of generating operator configuration settings defining an aspect of the function or behavior of a configurable operator module, responsive to said dynamic configuration information in the instruction.
    Type: Grant
    Filed: May 5, 2005
    Date of Patent: February 24, 2015
    Assignee: Icera, Inc.
    Inventor: Simon Knowles
  • Patent number: 8966232
    Abstract: In some embodiments, a data processing system includes a processing unit, a first load/store unit LSU and a second LSU configured to operate independently of the first LSU in single and multi-thread modes. A first store buffer is coupled to the first and second LSUs, and a second store buffer is coupled to the first and second LSUs. The first store buffer is used to execute a first thread in multi-thread mode. The second store buffer is used to execute a second thread in multi-thread mode. The first and second store buffers are used when executing a single thread in single thread mode.
    Type: Grant
    Filed: February 10, 2012
    Date of Patent: February 24, 2015
    Assignee: Freescale Semiconductor, Inc.
    Inventor: Thang M. Tran
  • Patent number: 8959318
    Abstract: A data processing system 2 supporting multiple modes of operation is provided with illegal change detecting circuitry 22 which detects attempts by program instructions to perform an illegal change of mode, such as a change to a higher level of privilege in response to execution of a mode changing program instruction or an exception return instruction. If such a change is detected, then an illegal change bit CPSR.IL is set. An instruction decoder 12 is responsive to the illegal change bit having a set value to treat subsequent program instructions as undefined instructions. These undefined instructions may then trigger an undefined instruction exception or other type of response.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: February 17, 2015
    Assignee: ARM Limited
    Inventor: Richard Roy Grisenthwaite
  • Patent number: 8959339
    Abstract: A system comprising a processor adapted to activate multiple security levels for the system and a monitoring device coupled to the processor and employing security rules pertaining to the multiple security levels. The monitoring device restricts usage of the system if the processor activates the security levels in a sequence contrary to the security rules.
    Type: Grant
    Filed: January 30, 2006
    Date of Patent: February 17, 2015
    Assignee: Texas Instruments Incorporated
    Inventor: Gregory R. Conti
  • Patent number: 8959371
    Abstract: A technique for performing power management for configurable processor resources of a processor determining whether to increase, decrease, or maintain resource units for each of the configurable processor resources based on utilization of each of the configurable processor resources. A total weighted power number for the processor is substantially maintained while resource units for each of the configurable processor resources whose utilization is above a first level is increased and resource units for each of the configurable processor resources whose utilization is below a second level is decreased. The total weighted power number corresponds to a sum of weighted power numbers for the configurable processor resources.
    Type: Grant
    Filed: July 17, 2012
    Date of Patent: February 17, 2015
    Assignee: Freescale Semiconductor, Inc.
    Inventor: Thang M. Tran
  • Patent number: 8949575
    Abstract: Techniques for reducing issue-to-issue latency by reversing processing order in half-pumped single instruction multiple data (SIMD) execution units are described. In one embodiment a processor functional unit is provided comprising a frontend unit, and execution core unit, a backend unit, an execution order control signal unit, a first interconnect coupled between and output and an input of the execution core unit and a second interconnect coupled between an output of the backend unit and an input of the frontend unit. In operation, the execution order control signal unit generates a forwarding order control signal based on the parity of an applied clock signal on reception of a first vector instruction. This control signal is in turn used to selectively forward first and second portions of an execution result of the first vector instruction via the interconnects for use in the execution of a dependent second vector instruction.
    Type: Grant
    Filed: December 14, 2011
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Maarten J. Boersma, Markus Kaltenbach, Christophe J. Layer, Jens Leenstra, Silvia M. Mueller
  • Patent number: 8938608
    Abstract: A method for allowing portions of programs to be executed on a System z Integrated Information Processor (zIIP). A service call is inserted at the beginning of the zIIP eligible code to enable enclave Service Request Block (SRB)-mode execution on the zIIP processor. An additional service call is inserted at the end of the zIIP eligible code to disable the enclave SRB-mode execution. A module in the operating system, referred to herein as the “zIIP shifter module,” is configured to detect these service calls thereby implementing and terminating the SRB-mode execution so that the zIIP processor executes the zIIP eligible code for the appropriate duration of time. In this manner, only a portion of the programs that contain eligible zIIP executable code is executed on the zIIP processor without requiring the programs to be entirely restructured thereby reducing development cost and improving software development productivity.
    Type: Grant
    Filed: March 1, 2012
    Date of Patent: January 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Wayne E. Driscoll, Paul E. Kenney, Ben P. Marino, Hong Zhou
  • Publication number: 20150019847
    Abstract: A central processing unit (CPU) having an interrupt unit for interrupting execution of instructions, a plurality context defining register sets, wherein each set of registers having the same number of CPU registers, a switching unit for coupling a selected register set within the CPU, wherein the switching unit switches to a predetermined register set of the plurality of context defining register sets upon occurrence of an exception, and a control register configured to control selection of a register set of the plurality of context defining register initiated by an instruction and further operable to indicate a currently used context.
    Type: Application
    Filed: March 7, 2014
    Publication date: January 15, 2015
    Inventors: Michael I. Catherwood, Bryan Kris, David Mickey, Joseph Kanellopoulos
  • Patent number: 8935516
    Abstract: A system and computer program product for allowing portions of programs to be executed on a System z Integrated Information Processor (zIIP). A service call is inserted at the beginning of the zIIP eligible code to enable enclave Service Request Block (SRB)-mode execution on the zIIP processor. An additional service call is inserted at the end of the zIIP eligible code to disable the enclave SRB-mode execution. A module in the operating system, referred to herein as the “zIIP shifter module,” is configured to detect these service calls thereby implementing and terminating the SRB-mode execution so that the zIIP processor executes the zIIP eligible code for the appropriate duration of time. In this manner, only a portion of the programs that contain eligible zIIP executable code is executed on the zIIP processor without requiring the programs to be entirely restructured thereby reducing development cost and improving software development productivity.
    Type: Grant
    Filed: July 29, 2011
    Date of Patent: January 13, 2015
    Assignee: International Business Machines Corporation
    Inventors: Wayne E. Driscoll, Paul E. Kenney, Ben P. Marino, Hong Zhou
  • Patent number: 8935515
    Abstract: A processor that can execute instructions in either scalar mode or vector mode. In scalar mode, instructions are executed once per fetch. In vector mode, instructions are executed multiple times per fetch. In vector mode, the processor recognizes scalar variables and vector variables. Scalar variables may be assigned a fixed memory location. Vector variables use different physical locations at different iterations of the same instruction. The processor includes circuitry to automatically index addresses of vector variables for each iteration of the same instruction. This circuitry partitions a register into a vector region and a scalar region. Accesses to the vector region are automatically indexed based on the number of iterations of the instruction that have been performed.
    Type: Grant
    Filed: August 20, 2009
    Date of Patent: January 13, 2015
    Assignee: STMicroelectronics, Inc.
    Inventors: Osvaldo M. Colavin, Davide Rizzo, Vineet Soni, William L. Schubert, Jr.
  • Publication number: 20150006866
    Abstract: Instructions grouped into instruction groups are optimized across group boundaries. Instruction sequences spanning multiple groups are optimized by retaining information relating to an instruction at the end of one instruction group to be co-optimized with an instruction at the beginning of a subsequent instruction group. This retained information is then used in optimization of one or more instructions of the subsequent group. Optimization may be performed across n group boundaries, where n is equal to two or greater. Additionally, optimization of instructions within a group may be performed, in addition to the optimizations across group boundaries.
    Type: Application
    Filed: June 28, 2013
    Publication date: January 1, 2015
    Inventor: Michael K. Gschwind
  • Publication number: 20150006867
    Abstract: Instructions grouped into instruction groups are optimized across group boundaries. Instruction sequences spanning multiple groups are optimized by retaining information relating to an instruction at the end of one instruction group to be co-optimized with an instruction at the beginning of a subsequent instruction group. This retained information is then used in optimization of one or more instructions of the subsequent group. Optimization may be performed across n group boundaries, where n is equal to two or greater. Additionally, optimization of instructions within a group may be performed, in addition to the optimizations across group boundaries.
    Type: Application
    Filed: December 20, 2013
    Publication date: January 1, 2015
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Michael K. Gschwind
  • Publication number: 20150006865
    Abstract: A processor of an aspect includes a set of registers capable of storing packed data. An execution unit is coupled with the set of registers. The execution unit is to access the set of registers in at least two different ways in response to instructions. The at least two different ways include a first way in which the set of registers are to represent a plurality of N-bit registers. The at least two different ways also include a second way in which the set of registers are to represent a single register of at least 2N-bits. In one aspect, the at least 2N-bits is to be at least 256-bits.
    Type: Application
    Filed: June 28, 2013
    Publication date: January 1, 2015
    Inventors: Bret L. TOLL, Ronak SINGHAL, Buford M. GUY, Mishali NAIK
  • Publication number: 20150006852
    Abstract: Instructions are grouped into instruction groups based on optimizations that may be performed. An instruction is obtained, and a determination is made as to whether the instruction is to be included in a current instruction group or another instruction group. This determination is made based on whether the instruction is a candidate for optimization, such as decode time instruction optimization. If it is determined that the instruction is to be included in another group, then the other group is formed to include the instruction.
    Type: Application
    Filed: June 28, 2013
    Publication date: January 1, 2015
    Inventor: Michael K. Gschwind
  • Patent number: 8922568
    Abstract: An apparatus for processing data 2 is provided including processing circuitry 24 controlled by an instruction decoder 20 in response to a stream of program instructions. There is also provided dedicated function hardware 12 configured to receive output data from the processing circuitry and to perform a dedicated processing operation. The instruction decoder 20 is responsive to an end instruction 54 and a software processing flag (blend_shade_enabled) to control the processing circuitry to end a current software routine, to generate output data and in dependence upon the software processing flag either trigger processing of the output data by the dedicated function hardware or trigger the processing circuitry to perform a further software routine upon the output data to generate software generated result data instead of hardware generated result data as generated by the dedicated hardware circuitry.
    Type: Grant
    Filed: June 9, 2011
    Date of Patent: December 30, 2014
    Assignee: ARM Limited
    Inventors: Simon Jones, Andreas Engh-Halstvedt, Aske Simon Christensen
  • Patent number: 8924690
    Abstract: A method and apparatus for heterogeneous chip multiprocessors (CMP) via resource restriction. In one embodiment, the method includes the accessing of a resource utilization register to identify a resource utilization policy. Once accessed, a processor controller ensures that the processor core utilizes a shared resource in a manner specified by the resource utilization policy. In one embodiment, each processor core within a CMP includes an instruction issue throttle resource utilization register, an instruction fetch throttle resource utilization register and other like ways of restricting its utilization of shared resources within a minimum and maximum utilization level. In one embodiment, resource restriction provides a flexible manner for allocating current and power resources to processor cores of a CMP that can be controlled by hardware or software. Other embodiments are described and claimed.
    Type: Grant
    Filed: May 29, 2012
    Date of Patent: December 30, 2014
    Assignee: Intel Corporation
    Inventors: Tryggve Fossum, George Chrysos, Todd A. Dutton
  • Patent number: 8924696
    Abstract: An image processing device includes an operating unit and a plurality of control units each configured to control the operating unit in order to execute a function on image data. The plurality of control units include at least a first control unit and a second control unit. When a first mode is selected, the control units control the operating unit to execute the function in cooperation with each other. When a second mode is selected, at least the second control unit controls the operating unit to execute the function without cooperating with the first control unit.
    Type: Grant
    Filed: June 2, 2010
    Date of Patent: December 30, 2014
    Assignee: Brother Kogyo Kabushiki Kaisha
    Inventor: Nobuhiko Suzuki
  • Patent number: 8918623
    Abstract: There are provided methods and computer program products for implementing instruction set architectures with non-contiguous register file specifiers. A method for processing instruction code includes processing an instruction of an instruction set using a non-contiguous register specifier of a non-contiguous register specification. The instruction includes the non-contiguous register specifier.
    Type: Grant
    Filed: March 21, 2012
    Date of Patent: December 23, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Robert K. Montoye, Brett Olsson, John-David Wellman
  • Publication number: 20140317388
    Abstract: An apparatus and method for supporting a multi-mode. The apparatus for supporting a multi-mode may include an instruction distributor configured to select, according to a current execution mode, at least one instruction from among a plurality of received instructions that each include an operand and an opcode, and transfer the opcode included in each of at least one selected instruction to the plurality of functional units; an operand switch controller configured to generate, based on the operand included in each of the selected at least one instruction, switch configuration information for routing in order to execute the selected at least one instruction; and an operand switch configured to route, based on the switch configuration information, a functional unit output or a register file output to either a functional unit input or a register file input.
    Type: Application
    Filed: April 22, 2014
    Publication date: October 23, 2014
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Moo-Kyoung CHUNG, Soo-Jung RYU, Yeon-Gon CHO
  • Publication number: 20140317389
    Abstract: A multi-core processing system that uses computational sprinting to generate high levels of computational output for short periods of time at power consumption levels that are not sustainable over longer periods of time due to thermal and/or other constraints. This is done using a number of processing cores that, when operated simultaneously, utilize available thermal capacity within the system to consume power and produce heat that is in excess of a thermal design power (TDP) of the system, but is tolerable because of the short period of operation. The system and/or method described herein may include thermal capacitors in the form of phase change materials (PCMs), may implement normal, sprint and/or cooling modes of operation, and may employ parallel sprinting, frequency sprinting, sprint pacing and/or sprint-and-rest techniques, to cite several possibilities.
    Type: Application
    Filed: November 16, 2012
    Publication date: October 23, 2014
    Applicant: The Trustees Of The University Of Pennsylvania
    Inventors: Thomas F. Wenisch, Kevin Pipe, Marios Papaefthymiou, Milo M.K. Martin, Arun Raghavan
  • Patent number: 8868888
    Abstract: A device is disclosed that includes an instruction execution pipeline having multiple stages for executing an instruction. The device also includes a control logic circuit coupled to the instruction execution pipeline. The control logic circuit is adapted to skip at least one stage of the instruction execution pipeline during execution of the instruction. The control logic circuit is also adapted to execute at least one non-skipped stage during execution of the decoded instruction.
    Type: Grant
    Filed: September 6, 2007
    Date of Patent: October 21, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Ajay Anant Ingle, Lucian Codrescu, Suresh K. Venkumahanti
  • Patent number: 8868889
    Abstract: Described embodiments provide a packet classifier for a network processor that generates tasks corresponding to each received packet. The packet classifier includes a scheduler to generate threads of contexts corresponding to tasks received by the packet classifier from a plurality of processing modules of the network processor. A multi-thread instruction engine processes instructions corresponding to threads received from the scheduler. The multi-thread instruction engine executes instructions by fetching an instruction of the thread from an instruction memory of the packet classifier and determining whether a breakpoint mode of the network processor is enabled. If the breakpoint mode is enabled, and breakpoint indicator of the fetched instruction is set, the packet classifier enters a breakpoint mode. Otherwise, if the breakpoint indicator of the fetched instruction is not set, the multi-thread instruction engine executes the fetched instruction.
    Type: Grant
    Filed: December 22, 2010
    Date of Patent: October 21, 2014
    Assignee: LSI Corporation
    Inventors: Deepak Mital, Te Khac Ma, Narender Vangati, William Burroughs
  • Patent number: 8850169
    Abstract: A system, apparatus and method for multithread handling on a multithread processing device are described herein. Embodiments of the present invention provide a multithread processing device for multithread handling including a plurality of registers operatively coupled to an instruction dispatch block, including thread-control registers for selectively disabling threads. In various embodiments, the multithread processing device may include a thread-operation register for selectively providing a lock to a first thread to prevent a second thread from disabling the first thread while the first thread has the lock. In still further embodiments, the multithread processing device may be configured to atomically disable and release a lock held by a thread. Other embodiments may be described and claimed.
    Type: Grant
    Filed: July 1, 2013
    Date of Patent: September 30, 2014
    Assignee: Marvell International Ltd.
    Inventors: Jack Kang, Hsi-Cheng Chu, Yu-Chi Chuang
  • Patent number: 8850170
    Abstract: An apparatus and method for dynamically determining the execution mode of a reconfigurable array are provided. Performance information of a loop may be obtained before and/or during the execution of the loop. The performance information may be used to determine whether to operate the apparatus in a very long instruction word (VLIW) mode or in a coarse grained array (CGA) mode.
    Type: Grant
    Filed: August 25, 2011
    Date of Patent: September 30, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Bernhard Egger, Dong-Hoon Yoo, Tai-Song Jin, Won-Sub Kim, Min-Wook Ahn, Jin-Seok Lee, Hee-Jin Ahn
  • Patent number: RE45458
    Abstract: An apparatus and method for performing a shuffle operation on packed data using computer-implemented steps is described. In one embodiment, a first packed data operand having at least two data elements is accessed. A second packed data operand having at least two data elements is accessed. One of the data elements in the first packed data operand is shuffled into a lower destination field of a destination register, and one of the data elements in the second packed data operand is shuffled into an upper destination field of the destination register.
    Type: Grant
    Filed: March 21, 2002
    Date of Patent: April 7, 2015
    Assignee: Intel Corporation
    Inventors: Patrice Roussel, Srinivas Chennupaty, Micheal D. Cranford, Mohammed A. Abdallah, James Coke, Katherine Kong