Risc Patents (Class 712/41)
  • Patent number: 11494192
    Abstract: A processing element is implemented in a stage of a pipeline and configured to execute an instruction. A first array of multiplexers is to provide information associated with the instruction to the processing element in response to the instruction being in a first set of instructions. A second array of multiplexers is to provide information associated with the instruction to the first processing element in response to the instruction being in a second set of instructions. A control unit is to gate at least one of power or a clock signal provided to the first array of multiplexers in response to the instruction being in the second set.
    Type: Grant
    Filed: April 28, 2020
    Date of Patent: November 8, 2022
    Assignees: Advanced Micro Devices, Inc., ADVANCED MICRO DEVICES (SHANGHAI) CO., LTD.
    Inventors: Jiasheng Chen, YunXiao Zou, Bin He, Angel E. Socarras, QingCheng Wang, Wei Yuan, Michael Mantor
  • Patent number: 11099848
    Abstract: An apparatus comprises: processing circuitry, an instruction decoder, and registers. In response to an overlapped-immediate/register-field-specifying (OIRFS) instruction comprising an opcode field specifying an OIRFS-indicating opcode value, and an overlapped immediate/register field specifying an immediate value and a register specifier, the instruction decoder controls the processing circuitry to use a selected register of the plurality of registers corresponding to the register specifier as a source register or destination register when performing a processing operation depending on the immediate value. The overlapped immediate/register field includes at least one shared bit decoded as part of the immediate value for at least one encoding of the OIRFS instruction and decoded as part of the register specifier for at least one encoding of the OIRFS instruction.
    Type: Grant
    Filed: January 30, 2020
    Date of Patent: August 24, 2021
    Assignee: Arm Limited
    Inventor: Neil Burgess
  • Patent number: 10935949
    Abstract: A controller system includes a controller, and a plurality of input/output control devices connected in series with the controller so as to allow communication therebetween. Each of the plurality of input/output control devices is configured to be connected with a sensor device. Each of the plurality of input/output control devices calculates a one-shot timer activation counter based on a total number of the sensor devices being objects to activate a one-shot timer out of the sensor devices that are connected with another input/output control device between a subject input/output control device and the controller.
    Type: Grant
    Filed: January 26, 2017
    Date of Patent: March 2, 2021
    Assignee: MITSUBISHI ELECTRIC CORPORATION
    Inventors: Kenta Fujimoto, Shigeki Nankaku
  • Patent number: 10839877
    Abstract: A protection module for an electronic circuit prevents unintended write operations by a master module to functional registers of a protected module. The protection module includes soft lock bits (SLBs) that indicate whether corresponding functional registers are locked and control logic that supports (i) a page select (PS) control parameter that indicates whether access by the master module is to the functional registers or the SLBs and (ii) a mode select (MS) control parameter that indicates whether access by the master module to the functional registers is in a normal access mode, in which each written-to functional register is left unlocked, or an auto-lock access mode, in which each just-written-to functional register is automatically locked by setting the corresponding SLB. The functional registers and the SLBs share addresses that can fit within a single address space that includes the control parameters.
    Type: Grant
    Filed: April 23, 2019
    Date of Patent: November 17, 2020
    Assignee: NXP USA, INC.
    Inventors: Arun Kumar Barman, Parul Bansal, Jhalak Gupta
  • Patent number: 10649786
    Abstract: Embodiments are generally directed to a multithreaded processor for executing a plurality of threads, as well as an associated method and system. The multithreaded processor comprises a first control register configured to store a stack limit value, and instruction decode logic configured to, upon receiving a procedure entry instruction for a stack associated with a first thread, determine whether to throw a stack limit exception based on the stack limit value and a first predefined stack region size associated with the stack.
    Type: Grant
    Filed: December 1, 2016
    Date of Patent: May 12, 2020
    Assignee: Cisco Technology, Inc.
    Inventor: Donald E. Steiss
  • Patent number: 10318294
    Abstract: Operation of a multi-slice processor that includes a plurality of execution slices. Operation of such a multi-slice processor includes: receiving a first instruction indicating a first target register; receiving a second instruction indicating the first target register as a source operand; responsive to the second instruction indicating the first target register as a source operand, updating a dependent count corresponding to the first instruction; and issuing, in dependence upon the dependent count for the first instruction being greater than a dependent count for another instruction, the first instruction to an execution slice of the plurality of execution slices.
    Type: Grant
    Filed: June 20, 2016
    Date of Patent: June 11, 2019
    Assignee: International Business Machines Corporation
    Inventors: Khandker N. Adeeb, Joshua W. Bowman, Jeffrey C. Brownscheidle, Brandon R. Goddard, Dung Q. Nguyen, Tu-An T. Nguyen, Brian D. Victor, Brendan M. Wong
  • Patent number: 10289412
    Abstract: Systems and methods for generating a floating point constant value from an instruction are disclosed. A first field of the instruction is decoded as a sign bit of the floating point constant value. A second field of the instruction is decoded to correspond to an exponent value of the floating point constant value. A third field of the instruction is decoded to correspond to the significand of the floating point constant value. The first field, the second field, and the third field are combined to form the floating point constant value. The exponent value may include a bias, and a bias constant may be added to the exponent value to compensate for the bias. The third field may comprise the most significant bits of the significand. Optionally, the second field and the third field may be shifted by first and second shift values respectively before they are combined to form the floating point constant value.
    Type: Grant
    Filed: February 9, 2012
    Date of Patent: May 14, 2019
    Assignee: QUALCOMM Incorporated
    Inventors: Erich James Plondke, Lucian Codrescu, Charles Joseph Tabony, Swaminathan Balasubramanian
  • Patent number: 10162952
    Abstract: Systems and methods for providing information security in a network environment are disclosed. The method includes initiating processing, invoked by a user, of at least one of a plurality of objects in a processing unit of a hardware layer, wherein the plurality of objects is hosted for a tenant. The method further includes determining that the processing of the at least one of the plurality of objects by the processing unit is authorized by the tenant based on a security map provided by the tenant and accessible by the processing unit within the hardware layer. The method further includes allowing the processing of the object based on a result of the determining.
    Type: Grant
    Filed: December 19, 2017
    Date of Patent: December 25, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bhushan P. Jain, Sandeep R. Patil, Sri Ramanathan, Gandhi Sivakumar, Matthew B. Trevathan, Wijayaratnam Wijayakumaran
  • Patent number: 10013391
    Abstract: An integrated circuit includes a plurality of processor core. Processing instructions in the integrated circuit includes: managing a plurality of sets of processor cores, each set including one or more processor cores assigned to a function associated with executing instructions; and reconfiguring the number of processor cores assigned to at least one of the sets during execution based on characteristics associated with executing the instructions.
    Type: Grant
    Filed: August 19, 2013
    Date of Patent: July 3, 2018
    Assignee: Massachusetts Institute of Technology
    Inventors: Anant Agarwal, David M. Wentzlaff
  • Patent number: 9928064
    Abstract: Execution of a set of instructions within a transaction is prevented. A processor identifies a first set of instructions in an instruction stream of a transaction. The first set of instructions incurs a first memory access that is not visible to the transaction and will cause the transaction to abort. The processor generates a second set of instructions that incurs a second memory access that is visible to the transaction. The second set of instructions is generated based on the first memory access and first set of instructions. The processor executes, within the transaction, the second set of instructions instead of the first set of instructions.
    Type: Grant
    Filed: November 10, 2015
    Date of Patent: March 27, 2018
    Assignee: International Business Machines Corporation
    Inventors: Fadi Y. Busaba, Michael Karl Gschwind, Maged M. Michael, Chung-Lung K. Shum, Valentina Salapura, Timothy J. Slegel
  • Patent number: 9875103
    Abstract: A method for use by a host microprocessor which translates sequences of instructions from a target instruction set for a target processor to sequences of instructions for the host microprocessor including the steps of beginning execution of a speculative sequence of target instructions by committing state of the target processor and storing memory stores previously generated by execution at a point in the execution of instructions at which state of the target processor is known, executing the speculative sequence of host instructions until another point in the execution of target instructions at which state of the target processor is known, rolling back to last committed state of the target processor and discarding the memory stores generated by the speculative sequence of host instructions if execution fails, and beginning execution of a next sequence of target instructions if execution succeeds.
    Type: Grant
    Filed: March 9, 2010
    Date of Patent: January 23, 2018
    Assignee: Intellectual Ventures Holding 81 LLC
    Inventors: Linus Torvalds, Robert Bedichek, Stephen Johnson
  • Patent number: 9710626
    Abstract: Systems and methods for providing information security in a network environment are disclosed. The method includes initiating processing, invoked by a user, of at least one of a plurality of objects in a processing unit of a hardware layer, wherein the plurality of objects is hosted for a tenant. The method further includes determining that the processing of the at least one of the plurality of objects by the processing unit is authorized by the tenant based on a security map provided by the tenant and accessible by the processing unit within the hardware layer. The method further includes allowing the processing of the object based on a result of the determining.
    Type: Grant
    Filed: July 6, 2012
    Date of Patent: July 18, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bhushan P. Jain, Sandeep R. Patil, Sri Ramanathan, Gandhi Sivakumar, Matthew B. Trevathan, Wijayaratnam Wijayakumaran
  • Patent number: 9606802
    Abstract: A processor system is adapted to carry out a predicate swap instruction of an instruction set to swap, via a data pathway, predicate data in a first predicate data location of a predicate register with data in a corresponding additional predicate data location of a first additional predicate data container and to swap, via a data pathway, predicate data in a second predicate storage location of the predicate register with data in a corresponding additional predicate data location in a second additional predicate data container.
    Type: Grant
    Filed: March 25, 2011
    Date of Patent: March 28, 2017
    Assignee: NXP USA, INC.
    Inventors: Yuval Peled, Itzhak Barak, Uri Dayan, Amir Kleen, Idan Rozenberg
  • Patent number: 9582650
    Abstract: A method, for use in a processor context, wherein instructions in a program executable are encoded with plural instruction set encodings. A method wherein a control instruction encoded with an instruction set encoding contains information about decoding of an instruction that is encoded with another instruction set encoding scheme. A method wherein instruction set encodings are randomly generated at compile time. A processor framework wherein an instruction is decoded during execution with the help of information provided by a previously decoded control instruction.
    Type: Grant
    Filed: November 21, 2012
    Date of Patent: February 28, 2017
    Assignee: BlueRisc, Inc.
    Inventors: Saurabh Chheda, Kristopher Carver, Raksit Ashok
  • Patent number: 9411920
    Abstract: System and method for specifying and implementing relative hardware clocking in a high level programming language. User input specifying a program may be received. The program is specified for deployment to a programmable hardware element (PHE), and includes first and second code portions configured to communicate with each other during execution. The user input may further specify a rational ratio of respective execution rates for the first and second code portions. A hardware configuration program (HCP) implementing the specified program is automatically generated, including automatically determining a respective clock rate for at least one of the first and second code portions based on the rational ratio. The HCP may be deployable to the PHE, including implementing first and second clocks for controlling execution of the first and second code portions in accordance with the rational ratio and the automatically determined respective clock rate for the at least one code portion.
    Type: Grant
    Filed: December 16, 2013
    Date of Patent: August 9, 2016
    Assignee: National Instruments Corporation
    Inventors: Dustyn K. Blasig, Newton G. Petersen, Matthew E. Novacek, Julian G. Valdez
  • Patent number: 9384794
    Abstract: A semiconductor device includes a pipeline latch unit including a plurality of write pipelines, and suitable for latching data, and a control unit suitable for controlling at least one write pipeline of the write pipelines based on an idle signal.
    Type: Grant
    Filed: December 13, 2013
    Date of Patent: July 5, 2016
    Assignee: SK Hynix Inc.
    Inventor: Sung-Hwa Ok
  • Patent number: 9329869
    Abstract: A prefix instruction is executed and passes operands to a net instruction without storing the operands in an architected resource such that the execution of the next instruction uses the operands provided by the prefix instruction to perform an operation, the operands may be prefix instruction immediate field or a target register of the prefix instruction execution.
    Type: Grant
    Filed: October 3, 2011
    Date of Patent: May 3, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael K Gschwind, Valentina Salapura
  • Patent number: 9311095
    Abstract: Two computer machine instructions are fetched for execution, but replaced by a single optimized instruction to be executed, wherein a temporary register used by the two instructions is identified as a last-use register, where a last-use register has a value that is not to be accessed by later instructions, whereby the two computer machine instructions are replaced by a single optimized internal instruction for execution, the single optimized instruction not including the last-use register.
    Type: Grant
    Filed: December 6, 2013
    Date of Patent: April 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael K Gschwind, Valentina Salapura
  • Patent number: 9311093
    Abstract: A prefix instruction is executed and passes operands to a next instruction without storing the operands in an architected resource such that the execution of the next instruction uses the operands provided by the prefix instruction to perform an operation, the operands may be prefix instruction immediate field or a target register of the prefix instruction execution.
    Type: Grant
    Filed: December 9, 2013
    Date of Patent: April 12, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael K Gschwind, Valentina Salapura
  • Patent number: 9304767
    Abstract: Systems and methods for providing single cycle movement of data between a floating-point register file (FRF) and a general purpose or integer register file (IRF) of a microprocessor system are provided. The system may include an integer execution unit operative to execute instructions with single cycle latency, a floating-point execution unit, a working register file (WRF), an FRF, and an IRF. To achieve the single cycle movement functionality, the integer execution unit may physically own the WRF, IRF, and FRF, and may monitor and control any dependencies between them. Thus, since the integer execution unit has direct read access to both the IRF and the FRF, data may be moved between the two register files using the single cycle operation of the integer execution unit, without the need to store and load the data from memory.
    Type: Grant
    Filed: June 2, 2009
    Date of Patent: April 5, 2016
    Assignee: Oracle America, Inc.
    Inventors: Christopher Olson, Robert T. Golla, Jeffrey S. Brooks
  • Patent number: 9304872
    Abstract: In one embodiment, a method is provided for data processing in order to provide a value for determining whether an error has occurred in the execution of a program. The method may include: determining a numerical value on the basis of a plurality of reference numbers determined by a checking circuit outside the program; determining a signature of at least one instruction of the program by means of an arithmetic code; updating a cumulative value on the basis of the numerical value and the signature; and transferring the updated cumulative value to the checking circuit in order to determine whether an error has occurred in the execution of the program, on the basis of the plurality of reference numbers and the cumulative value.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: April 5, 2016
    Inventors: Andre Schmitt, Ute Schiffel, Christof Fetzer, Martin Suesskraut
  • Patent number: 9274796
    Abstract: A method and apparatus provide means for compressing instruction code size. An Instruction Set Architecture (ISA) encodes instructions compact, usual or extended bit lengths. Commonly used instructions are encoded having both compact and usual bit lengths, with compact or usual bit length instructions chosen based on power, performance or code size requirements. Instructions of the ISA can be used in both privileged and non-privileged operating modes of a microprocessor. The instruction encodings can be used interchangeably in software applications. Instructions from the ISA may be executed on any programmable device enabled for the ISA, including a single instruction set architecture processor or a multi-instruction set architecture processor.
    Type: Grant
    Filed: May 11, 2009
    Date of Patent: March 1, 2016
    Assignee: ARM FINANCE OVERSEAS LIMITED
    Inventor: Erik K. Norden
  • Patent number: 9135015
    Abstract: A method includes, in a processor that executes instructions of program code, monitoring the instructions in a segment of a repetitive sequence of the instructions so as to construct a specification of register access by the monitored instructions. In response to detecting a branch mis-prediction in the monitored instructions, the specification is corrected so as to compensate for the branch mis-prediction. Execution of the repetitive sequence is parallelized based on the corrected specification.
    Type: Grant
    Filed: December 25, 2014
    Date of Patent: September 15, 2015
    Assignee: CENTIPEDE SEMI LTD.
    Inventors: Noam Mizrahi, Alberto Mandler, Shay Koren, Jonathan Friedmann
  • Patent number: 9081930
    Abstract: Improving throughput during high level synthesis includes determining a data dependency for a flow control construct of a high level programming language description and translating the high level programming language description into a circuit design specifying circuitry for implementation within an integrated circuit. The circuitry is pipelined. As part of the circuit design and using a processor, a stall detection circuit is generated. The stall detection circuit is coupled to selectively initiate a stall of a stalling portion of the circuitry according to the data dependency.
    Type: Grant
    Filed: August 4, 2014
    Date of Patent: July 14, 2015
    Assignee: XILINX, INC.
    Inventors: Stephen A. Neuendorffer, Kecheng Hao, Guoling Han
  • Publication number: 20150091923
    Abstract: A method for processing data comprising activating a reduced instruction set processor. Activating a basic input output system of the reduced instruction set processor. Activating a multiple boot loader of the reduced instruction set processor after the basic input output system has been activated. Activating a hardware abstraction layer of the reduced instruction set processor after the multiple boot loader has been activated. Activating a plurality of processors coupled to the reduced instruction set processor. Activating a common language infrastructure of the reduced instruction set processor. Synchronizing a dynamic link library of each of the plurality of processors with a common language infrastructure of the reduced instruction set processor.
    Type: Application
    Filed: November 19, 2014
    Publication date: April 2, 2015
    Inventors: James Albert Luckett, JR., Chad Michael Rowlee, Shengli Fu
  • Publication number: 20150067300
    Abstract: An overhead reduction system creates a plurality of candidates of constants to be stored in one or more constant registers based on constants used in the program code of the current compilation scope, estimates, for each of the candidates of constants, an effect of overhead reduction by generation of the constant used in the program code by using the candidate of constant, determines a base constant to be loaded on the constant registers based on the estimation result, loads the base constant on the constant registers at an entry point of the program code, and generates a code for generating the constants used in the program code by using values of the constant registers.
    Type: Application
    Filed: July 30, 2014
    Publication date: March 5, 2015
    Inventor: Hiroshi Inoue
  • Patent number: 8656376
    Abstract: A method for providing intrinsic supports for a VLIW DSP processor with distributed register files comprises the steps of: generating a program representation with cluster information on instructions of the DSP processor, wherein the cluster information is provided by a program with cluster intrinsic coding; identifying data stream operations indicating parallel instruction sequences applied on different data sets in the program representation; identifying data sharing relations indicating data shared by the data stream operations in the program representation; identifying data aggregation relations indicating results aggregated from the data stream operations in the program representation; and performing register allocation for the DSP processor according to the identified data stream operations, the data sharing relations and the data aggregation relations.
    Type: Grant
    Filed: September 1, 2011
    Date of Patent: February 18, 2014
    Assignee: National Tsing Hua University
    Inventors: Jenq Kuen Lee, Chi Bang Kuan
  • Patent number: 8589634
    Abstract: Enhancements to hardware architectures (e.g., a RISC processor or a DSP processor) to accelerate spectral band replication (SBR) processing are described. In some embodiments, instruction extensions configure a reconfigurable processor to accelerate SBR and other audio processing. In addition to the instruction extensions, execution units (e.g., multiplication and accumulation units (MACs)) may operate in parallel to reduce the number of audio processing cycles. Performance may be further enhanced through the use of source and destination units which are configured to work with the execution units and quickly fetch and store source and destination operands.
    Type: Grant
    Filed: May 25, 2012
    Date of Patent: November 19, 2013
    Assignee: SiPort, Inc.
    Inventors: Sridhar G. Sharma, Binuraj Ravindran, Jeffrey V. Hill
  • Patent number: 8543795
    Abstract: The present invention concerns a new category of integrated circuitry and a new methodology for adaptive or reconfigurable computing. The preferred IC embodiment includes a plurality of heterogeneous computational elements coupled to an interconnection network. The plurality of heterogeneous computational elements include corresponding computational elements having fixed and differing architectures, such as fixed architectures for different functions such as memory, addition, multiplication, complex multiplication, subtraction, configuration, reconfiguration, control, input, output, and field programmability. In response to configuration information, the interconnection network is operative in real-time to configure and reconfigure the plurality of heterogeneous computational elements for a plurality of different functional modes, including linear algorithmic operations, non-linear algorithmic operations, finite state machine operations, memory operations, and bit-level manipulations.
    Type: Grant
    Filed: January 19, 2012
    Date of Patent: September 24, 2013
    Assignee: Altera Corporation
    Inventors: Paul L. Master, Eugene Hogenauer, Walter J. Scheuermann
  • Patent number: 8543794
    Abstract: The present invention concerns a new category of integrated circuitry and a new methodology for adaptive or reconfigurable computing. The preferred IC embodiment includes a plurality of heterogeneous computational elements coupled to an interconnection network. The plurality of heterogeneous computational elements include corresponding computational elements having fixed and differing architectures, such as fixed architectures for different functions such as memory, addition, multiplication, complex multiplication, subtraction, configuration, reconfiguration, control, input, output, and field programmability. In response to configuration information, the interconnection network is operative in real-time to configure and reconfigure the plurality of heterogeneous computational elements for a plurality of different functional modes, including linear algorithmic operations, non-linear algorithmic operations, finite state machine operations, memory operations, and bit-level manipulations.
    Type: Grant
    Filed: January 19, 2012
    Date of Patent: September 24, 2013
    Assignee: Altera Corporation
    Inventors: Paul L. Master, Eugene Hogenauer, Walter James Scheuermann
  • Patent number: 8533431
    Abstract: The present invention concerns a new category of integrated circuitry and a new methodology for adaptive or reconfigurable computing. The preferred IC embodiment includes a plurality of heterogeneous computational elements coupled to an interconnection network. The plurality of heterogeneous computational elements include corresponding computational elements having fixed and differing architectures, such as fixed architectures for different functions such as memory, addition, multiplication, complex multiplication, subtraction, configuration, reconfiguration, control, input, output, and field programmability. In response to configuration information, the interconnection network is operative in real-time to configure and reconfigure the plurality of heterogeneous computational elements for a plurality of different functional modes, including linear algorithmic operations, non-linear algorithmic operations, finite state machine operations, memory operations, and bit-level manipulations.
    Type: Grant
    Filed: October 15, 2008
    Date of Patent: September 10, 2013
    Assignee: Altera Corporation
    Inventors: Paul L. Master, Eugene Hogenauer, Walter James Scheuermann
  • Publication number: 20120260042
    Abstract: A microprocessor supports an instruction set architecture that specifies: processor modes, architectural registers associated with each mode, and a load multiple instruction that instructs the microprocessor to load data from memory into specified ones of the registers. Direct storage holds data associated with a first portion of the registers and is coupled to an execution unit to provide the data thereto. Indirect storage holds data associated with a second portion of the registers and cannot directly provide the data to the execution unit. Which architectural registers are in the first and second portions varies dynamically based upon the current processor mode. If a specified register is currently in the first portion, the microprocessor loads data from memory into the direct storage, whereas if in the second portion, the microprocessor loads data from memory into the direct storage and then stores the data from the direct storage to the indirect storage.
    Type: Application
    Filed: March 6, 2012
    Publication date: October 11, 2012
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: G. Glenn Henry, Terry Parks, Rodney E. Hooker
  • Publication number: 20120260064
    Abstract: A microprocessor capable of running both x86 instruction set architecture (ISA) machine language programs and Advanced RISC Machines (ARM) ISA machine language programs includes a mode indicator that indicates whether the microprocessor is currently fetching instructions of an x86 ISA or ARM ISA machine language program and a plurality of hardware registers. When the mode indicator indicates the microprocessor is currently fetching x86 ISA machine language program instructions, the plurality of hardware registers store x86 ISA architectural state; when the mode indicator indicates the microprocessor is currently fetching ARM ISA machine language program instructions, the plurality of hardware registers store ARM ISA architectural state.
    Type: Application
    Filed: March 6, 2012
    Publication date: October 11, 2012
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: G. Glenn Henry, Terry Parks, Rodney E. Hooker
  • Publication number: 20120260065
    Abstract: A microprocessor includes a plurality of processing cores each including a hardware instruction translator that translates instructions of x86 instruction set architecture (ISA) machine language programs and Advanced RISC Machines (ARM) ISA machine language programs into microinstructions defined by a microinstruction set of the microprocessor. The microinstructions are encoded in a distinct manner from the manner in which the instructions of the x86 and ARM instruction sets are defined. Each core includes an execution pipeline that executes the microinstructions to generate results defined by the x86 ISA and ARM ISA instructions. Each core uses and associated indicator to determine whether it will boot as an x86 ISA core or an ARM ISA core when reset. The indicators are configurable to indicate that at least one of the cores will boot as an x86 ISA core and at least one other of the cores will boot as an ARM ISA core.
    Type: Application
    Filed: March 6, 2012
    Publication date: October 11, 2012
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: G. Glenn Henry, Terry Parks, Rodney E. Hooker
  • Publication number: 20120260066
    Abstract: A microprocessor capable of operating as both an x86 ISA and an ARM ISA microprocessor includes first, second, and third storage that stores x86 ISA-specific, ARM ISA-specific, and non-ISA-specific state, respectively. When reset, the microprocessor initializes the first storage to default values specified by the x86 ISA, initializes the second storage to default values specified by the ARM ISA, initializes the third storage to predetermined values, and begins fetching instructions of a first ISA. The first ISA is the x86 ISA or the ARM ISA and a second ISA is the other ISA. The microprocessor updates the third storage in response to the first ISA instructions. In response to a subsequent one of the first ISA instructions that instructs the microprocessor to reset to the second ISA, the microprocessor refrains from modifying the non-ISA-specific state stored in the third storage and begins fetching instructions of the second ISA.
    Type: Application
    Filed: March 6, 2012
    Publication date: October 11, 2012
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: G. Glenn Henry, Terry Parks, Rodney E. Hooker
  • Patent number: 8255703
    Abstract: A method for performing a hash operation, including providing an atomic hash instruction that directs a microprocessor to perform a the hash operation and to indicate whether the hash operation has been interrupted by an interrupting event; translating the atomic hash instruction into first and second micro instructions; via a hash unit, first executing the first micro instructions to accomplish the hash operation according to the hash mode; and via an integer unit, second executing the second micro instructions in parallel with the first executing to test a bit in a flags register, to update text pointer registers, and to process interrupts during execution of the hash operation. The atomic hash instruction has an opcode field, configured to prescribe the hash operation, and a hash mode field, configured to prescribe that the microprocessor accomplish the hash operation according to a one of a plurality of hash modes.
    Type: Grant
    Filed: January 20, 2011
    Date of Patent: August 28, 2012
    Assignee: VIA Technologies, Inc.
    Inventors: Thomas A. Crispin, G. Glenn Henry, Terry Parks
  • Publication number: 20120131309
    Abstract: Traditionally, providing parallel processing within a multi-core system has been very difficult. Here, however, a system in provided where serial source code is automatically converted into parallel source code, and a processing cluster is reconfigured “on the fly” to accommodate the parallelized code based on an allocation of memory and compute resources. Thus, the processing cluster and its corresponding system programming tool provide a system that can perform parallel processing from a serial program that is transparent to a user.
    Type: Application
    Filed: September 14, 2011
    Publication date: May 24, 2012
    Applicant: Texas Instruments Incorporated
    Inventors: William M. Johnson, Murali S. Chinnakonda, Jeffrey L. Nye, Toshio Nagata, John W. Glotzbach, Hamid R. Sheikh, Ajay Jayaraj, Stephen Busch, Shalini Gupta, Robert J.P. Nychka, David H. Bartley, Ganesh Sundararajan
  • Publication number: 20120084532
    Abstract: A microcontroller using an optimized buffer replacement strategy comprises a memory configured to store instructions, a processor configured to execute said program instructions, and a memory accelerator operatively coupled between the processor and the memory. The memory accelerator is configured to receive an information request and overwrite the buffer from which the prefetch was initiated with the requested information when the request is fulfilled by a previously initiated prefetch operation.
    Type: Application
    Filed: September 30, 2010
    Publication date: April 5, 2012
    Applicant: NXP B.V.
    Inventors: Craig MaCkenna, Richard N. Varney, Gregory K. Goodhue
  • Patent number: 8132022
    Abstract: A method for performing hash operations including: receiving a hash instruction that is part of an application program, where the hash instruction prescribes one of the hash operations and one of a plurality of hash algorithms; translating the hash instruction into a first plurality of micro instructions and a second plurality of micro instructions; and via a hash unit disposed within execution logic, executing the one of the hash operations. The executing includes first executing the first plurality of micro instructions within the hash unit to produce output data; second executing the second plurality of micro instructions within an x86 integer unit in parallel with the first executing to test a bit in a flags register, to update text pointer registers, and to process interrupts during execution of the hash operation; and storing a corresponding intermediate hash value to memory prior to allowing a pending interrupt to proceed.
    Type: Grant
    Filed: December 23, 2010
    Date of Patent: March 6, 2012
    Assignee: VIA Technologies, Inc.
    Inventors: Thomas A. Crispin, G. Glenn Henry, Terry Parks
  • Patent number: 8132023
    Abstract: A method for performing hash operations including: receiving a hash instruction that prescribes one of the hash operations and one of a plurality of hash algorithms; translating the hash instruction into a first plurality of micro instructions and a second plurality of micro instructions; and via a hash unit, executing the one of the hash operations. The executing includes indicating whether the one of the hash operations has been interrupted by an interrupting event; first executing the first plurality of micro instructions within the hash unit to produce output data; second executing the second plurality of micro instructions within an x86 integer unit in parallel with the first executing to test a bit in a flags register, to update text pointer registers, and to process interrupts during execution of the hash operation; and storing a corresponding intermediate hash value to memory prior to allowing a pending interrupt to proceed.
    Type: Grant
    Filed: December 23, 2010
    Date of Patent: March 6, 2012
    Assignee: VIA Technologies, Inc.
    Inventors: Thomas A. Crispin, G. Glenn Henry, Terry Parks
  • Patent number: 8117424
    Abstract: Certain exemplary embodiments can provide a programmable logic controller, which can comprise a Reduced Instruction Set Computer (RISC) processor. The RISC processor can be adapted to, responsive to a received request to process a Boolean operation, execute a single processor data access instruction addressed to a region of a memory-mapped register corresponding to the Boolean operation.
    Type: Grant
    Filed: September 12, 2008
    Date of Patent: February 14, 2012
    Assignee: Siemens Industry, Inc.
    Inventors: Mark Steven Boggs, Alan D. McNutt
  • Patent number: 8112615
    Abstract: A single cycle RISC CPU. The single cycle RISC CPU includes an instruction decoder configured to perform an instruction fetch and an instruction decode. An arithmetic logic unit is coupled to the instruction decoder. The arithmetic logic unit is configured to perform an instruction execute and produce a resulting data output. A register file is coupled to the arithmetic logic unit. The register file includes a register input and a register output. The register file is configured to provide data for the instruction fetch via the register output and accept the resulting data output via the register input such that the instruction fetch, the instruction decode, and the instruction execute are performed in a single clock cycle.
    Type: Grant
    Filed: September 27, 2002
    Date of Patent: February 7, 2012
    Assignee: Cypress Semiconductor Corporation
    Inventor: Paul Beard
  • Publication number: 20110296141
    Abstract: A processor, integrated with re-configurable logic and memory elements, is disclosed which is to be used as part of a shared memory, multiprocessor computer system. The invention utilizes the re-configurable elements to construct persistent finite state machines based on information decoded by the invention from sequences of CISC or RISC type processor machine instructions residing in memory. The invention implements the same algorithm represented by the sequence of encoded instructions, but executes the algorithm consuming significantly fewer clock cycles than would be consumed by the processor originally targeted to execute the sequence of encoded instructions.
    Type: Application
    Filed: August 8, 2011
    Publication date: December 1, 2011
    Inventor: Christopher J. Daffron
  • Publication number: 20110296140
    Abstract: A RISC processor register expansion method is disclosed to include the steps of: a) designing an instruction format having multiple register fields to have the total bits consumed by the register fields to be designed into two bits combinations respectively corresponding to two register banks, wherein the first bits combination has 8 bits of which the value of the 1st˜7th bits is adapted to designate the location (0-127) of the first register field in one of the two register banks and the value of the 8th bit is adapted to designate which one of the two register banks the first register field is to be allocated, and the second bits combination has at least 2 bits; b) defining an operation instruction without exchangeability to be an inverse operation instruction; and c) designing a register allocation algorithm to pick up one respective operand variable from each of the two register banks and to join the two operand variables into a node and using the relationship between nodes to run computation and to deter
    Type: Application
    Filed: May 25, 2010
    Publication date: December 1, 2011
    Applicant: NATIONAL CHUNG CHENG UNIVERSITY
    Inventors: Rong-Guey Chang, Yuan-Shin Hwang, Hong-Sheng Lin
  • Patent number: 8060755
    Abstract: An apparatus and method for performing cryptographic operations within microprocessor. The apparatus includes an instruction register having a cryptographic instruction disposed therein, a keygen unit, and an execution unit. The cryptographic instruction is received by a microprocessor as part of an instruction flow executing on the microprocessor. The cryptographic instruction prescribes one of the cryptographic operations, and also prescribes that a user-generated key schedule be employed when executing the one of the cryptographic operations. The keygen unit is operatively coupled to the instruction register. The keygen unit directs the microprocessor to load the user-generated key schedule. The execution unit is operatively coupled to the keygen unit. The execution unit employs the user-generated key schedule to execute the one of the cryptographic operations. The execution unit includes a cryptography unit.
    Type: Grant
    Filed: March 15, 2004
    Date of Patent: November 15, 2011
    Assignee: VIA Technologies, Inc
    Inventors: G. Glenn Henry, Thomas A. Crispin, Terry Parks
  • Patent number: 7971197
    Abstract: A digital computer system automatically creates an Instruction Set Architecture (ISA) that potentially exploits VLIW instructions, vector operations, fused operations, and specialized operations with the goal of increasing the performance of a set of applications while keeping hardware cost below a designer specified limit, or with the goal of minimizing hardware cost given a required level of performance.
    Type: Grant
    Filed: August 18, 2005
    Date of Patent: June 28, 2011
    Assignee: Tensilica, Inc.
    Inventors: David William Goodwin, Dror Maydan, Ding-Kai Chen, Darin Stamenov Petkov, Steven Weng-Kiang Tjiang, Peng Tu, Christopher Rowen
  • Publication number: 20110145548
    Abstract: A microprocessor architecture for executing byte compiled Java programs directly in hardware. The microprocessor targets the lower end of the embedded systems domain and features two orthogonal programming models, a Java model and a RISC model. The entities share a common data path and operate independently, although not in parallel. The microprocessor includes a combined register file in which the Java module sees the elements in the register file as a circular operand stack and the RISC module sees the elements as a conventional register file. The integrated microprocessor architecture facilitates access to hardware-near instructions and provides powerful interrupt and instruction trapping capabilities.
    Type: Application
    Filed: February 18, 2011
    Publication date: June 16, 2011
    Applicant: Atmel Corporation
    Inventor: Oyvind Strom
  • Publication number: 20110099353
    Abstract: Systems and methods that allow for extracting a field from data stored in a pair of registers using two instructions. A first instruction extracts any part of the field from a first register designated as a first source register, and executes a second instruction extracting any part of the field from a second general register designated as a second source register. The second instruction inserts any extracted field parts in a result register.
    Type: Application
    Filed: January 6, 2011
    Publication date: April 28, 2011
    Applicant: MIPS Technologies, Inc.
    Inventors: Sol Katzman, Robert Gelinas, W. Patrick Hays
  • Publication number: 20110087859
    Abstract: The present invention provides efficient transfer of misaligned vector elements between a vector register file and data memory in a single clock cycle. One vector register of N elements can be loaded from memory with any memory element address alignment during a single clock cycle of the processor. Also, a partial segment of vector register elements can be loaded into a vector register in a single clock cycle with any element alignment from data memory. The present invention comprises properly partitioned multiple multi-port data memory modules in conjunction with a crossbar and address generation circuit. A preferred embodiment of the present invention uses a dual-issue processor containing both a RISC-type scalar processor and a vector/SIMD processor, whereby one scalar and one SIMD instruction are executed every clock cycle, and the RISC processor handles program flow control and also loading and storing of vector registers.
    Type: Application
    Filed: February 3, 2003
    Publication date: April 14, 2011
    Inventor: Tibet Mimar
  • Patent number: 7921300
    Abstract: An x86-compatible microprocessor that executes an application program fetched from memory, including a single, atomic hash instruction directing the x86-compatible microprocessor to perform the hash operation. The single, atomic hash instruction has an opcode field and a repeat prefix field. The opcode field prescribes that the x86-compatible microprocessor accomplish the hash operation. The repeat prefix field is coupled to the opcode field and indicates that the hash operation prescribed by the single, atomic hash instruction is to be accomplished on one or more message blocks. The x86-compatible microprocessor has a hash unit that is configured to execute a plurality of hash computations on each of the one or more message blocks to generate a corresponding intermediate hash value, where a last intermediate hash value that is computed for a last message block after processing all previous message blocks includes a message digest corresponding to the one or more message blocks.
    Type: Grant
    Filed: October 12, 2004
    Date of Patent: April 5, 2011
    Assignee: Via Technologies, Inc.
    Inventors: Thomas A. Crispin, G. Glenn Henry, Terry Parks