Patents Assigned to Tensilica, Inc.
  • Publication number: 20140189304
    Abstract: This document discusses, among other things, systems and methods to receive an instruction to selectively update a value of one or more selected bits of a first register, to receive the one or more selected bits of the first register to be updated and one or more selected bits of the first register to remain unchanged, and to selectively update the value of the one or more selected bits of the first register using a first write port without receiving the value of the one or more selected bits of the first register. In an example, the value of the one or more selected bits of the first register can be updated without receiving the value of the first register, in certain applications, reducing the number of read ports required to update the value of the first register.
    Type: Application
    Filed: December 31, 2012
    Publication date: July 3, 2014
    Applicant: Tensilica Inc.
    Inventor: Fei Sun
  • Publication number: 20140189318
    Abstract: This document discusses, among other things, systems and methods to access n consecutive entries of a register file in a single operation using a register file entry index consisting of B bits, wherein B is less than the binary logarithm of a depth of the register file, which corresponds to the number of entries in the register file, and to automatically select, for a set of register arguments for the n consecutive entries, between a register port for each argument requiring a register port or one or more shared register ports for the set of register arguments according to description of an instruction set architecture associated with the register file.
    Type: Application
    Filed: December 31, 2012
    Publication date: July 3, 2014
    Applicant: Tensilica Inc.
    Inventor: Fei Sun
  • Publication number: 20140189231
    Abstract: A microprocessor includes a memory interface to obtain data envelopes of a first length, and control logic to implement an instruction to load an initial data envelope of a stream of data values into a buffer, each data value having a second length shorter than the first length, the stream of data values being disposed across successive data envelopes at the memory interface. Another instruction merges current contents of the buffer and the memory interface such that each invocation loads one of the data values into a first register, and moves at least a remainder of the current contents of the memory interface into the buffer for use in a successive invocation. Another instruction loads a reversed representation of a set of data values obtained via the memory interface into a second register. Another instruction implements an FIR computation including a SIMD operation involving multiple data values of the stream and the reversed representation.
    Type: Application
    Filed: December 31, 2012
    Publication date: July 3, 2014
    Applicant: TENSILICA, INC.
    Inventors: Dror E. Maydan, William A. Huffman, Sachin Ghanekar, Fei Sun
  • Publication number: 20120185808
    Abstract: Systems and method for automatically generating a set of shared processor datapaths from the description of the behavior of one or more ISA operations is presented. The operations may include, for example, the standard operations of a processor necessary to support an application language such as C or C++ on the ISA. Such operations, for example, may represent a configurable processor ISA. The operations may also include one or more extension operations defined by one or more designers. Thus, a description of the behaviors of the various standard and/or extension operations that compose the ISA of an instance of a standard or configurable processor is used to automatically generate a set of shared processor datapaths that implement the behavior of those operations.
    Type: Application
    Filed: March 26, 2012
    Publication date: July 19, 2012
    Applicant: Tensilica, Inc.
    Inventors: Darin Stamenov Petkov, David William Goodwin, Dror Eliezer Maydan
  • Patent number: 8161432
    Abstract: A system for generating processor hardware supports a language for significant extensions to the processor instruction set, where the designer specifies only the semantics of the new instructions and the system generates other logic. The extension language provides for the addition of processor state, including register files, and instructions that operate on that state. The language also provides for new data types to be added to the compiler to represent the state added. It allows separate specification of reference semantics and instruction implementation, and uses this to automate design verification. In addition, the system generates formatted instruction set documentation from the language specification.
    Type: Grant
    Filed: October 9, 2008
    Date of Patent: April 17, 2012
    Assignee: Tensilica, Inc.
    Inventors: Albert Ren-Rui Wang, Richard Ruddell, David William Goodwin, Earl A. Killian, Nupur Bhattacharyya, Marines Puig Medina, Walter David Lichtenstein, Pavlos Konas, Rangarajan Srinivasan, Christopher Mark Songer, Akilesh Parameswar, Dror E. Maydan, Ricardo E. Gonzalez
  • Patent number: 8156464
    Abstract: Systems and method for automatically generating a set of shared processor datapaths from the description of the behavior of one or more ISA operations is presented. The operations may include, for example, the standard operations of a processor necessary to support an application language such as C or C++ on the ISA. Such operations, for example, may represent a configurable processor ISA. The operations may also include one or more extension operations defined by one or more designers. Thus, a description of the behaviors of the various standard and/or extension operations that compose the ISA of an instance of a standard or configurable processor is used to automatically generate a set of shared processor datapaths that implement the behavior of those operations.
    Type: Grant
    Filed: April 28, 2008
    Date of Patent: April 10, 2012
    Assignee: Tensilica, Inc.
    Inventors: Darin Stamenov Petkov, David William Goodwin, Dror Eliezer Maydan
  • Patent number: 8006204
    Abstract: An automated processor design tool uses a description of customized processor instruction set extensions in a standardized language to develop a configurable definition of a target instruction set, a Hardware Description Language description of circuitry necessary to implement the instruction set, and development tools such as a compiler, assembler, debugger and simulator which can be used to develop applications for the processor and to verify it. Implementation of the processor circuitry can be optimized for various criteria such as area, power consumption, speed and the like. Once a processor configuration is developed, it can be tested and inputs to the system modified to iteratively optimize the processor implementation. By providing a constrained domain of extensions and optimizations, the process can be automated to a high degree, thereby facilitating fast and reliable development.
    Type: Grant
    Filed: March 27, 2006
    Date of Patent: August 23, 2011
    Assignee: Tensilica, Inc.
    Inventors: Earl A. Killian, Ricardo E. Gonzalez, Ashish B. Dixit, Monica Lam, Walter D. Lichtenstein, Christopher Rowen, John C. Ruttenberg, Robert P. Wilson, Albert Ren-Rui Wang, Dror Eliezer Maydan
  • 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
  • Patent number: 7937559
    Abstract: A processor generation system includes the ability to describe processors with three instruction sizes. In one example implementation, instructions can be 16-, 24- and 64-bits. This enables a new range of architectures that can exploit parallelism in architectures. In particular, this enables the generation of VLIW architectures. According to another aspect, the processor generator allows a designer to add a configurable number of load/store units to the processor. In order to accommodate multiple load/store units, local memories connected to the processor can have multiple read and write ports (one for each load/store unit). This further allows the local memories to be connected in any arbitrary connection topology. Connection box hardware is automatically generated that provides an interface between the load/store units and the local memories based on the configuration.
    Type: Grant
    Filed: June 11, 2007
    Date of Patent: May 3, 2011
    Assignee: Tensilica, Inc.
    Inventors: Akilesh Parameswar, James Alexander Stuart Fiske, Ricardo E. Gonzalez
  • Patent number: 7774748
    Abstract: The present invention is directed to a system and method for adding programmer visible features to a microprocessor by using partially-explicit ISA constructs. The system includes a language for expressing the partially-explicit ISA constructs that describe VLIW instruction formats, slots, and operations. These partially-explicit instruction set constructs are used in conjunction with prior art instruction set constructs to describe a complete instruction set. The system also includes a method for converting a partially-explicit instruction set to an explicit instruction set, which can then be used as described in prior art processor generation systems to generate fully-pipelined micro-architectural implementations in the form of synthesizable HDL, and to generate software components for extending software development tools for the microprocessor.
    Type: Grant
    Filed: August 3, 2004
    Date of Patent: August 10, 2010
    Assignee: Tensilica, Inc.
    Inventor: David William Goodwin
  • Patent number: 7664928
    Abstract: A technique that improves both processor performance and associated data bandwidth through user-defined interfaces that can be added to a configurable and extensible microprocessor core. These interfaces can be used to communicate status or control information and to achieve synchronization between the processor and any external device including other processors. These interfaces can also be used to achieve data transfer at the rate of one data element per interface in every clock cycle. This technique makes it possible to design multiprocessor SOC systems with high-speed data transfer between processors without using the memory subsystem. Such a system and design methodology offers a complete shift from the standard bus-based architecture and allows designers to treat processors more like true computational units, so that designers can more effectively utilize programmable solutions rather than design dedicated hardware.
    Type: Grant
    Filed: January 19, 2005
    Date of Patent: February 16, 2010
    Assignee: Tensilica, Inc.
    Inventors: Nupur B. Andrews, James Kim, Himanshu A. Sanghavi, William A. Huffman, Eileen Margaret Peters Long
  • Patent number: 7590964
    Abstract: Systems and method for automatically generating a set of shared processor datapaths from the description of the behavior of one or more ISA operations is presented. The operations may include, for example, the standard operations of a processor necessary to support an application language such as C or C++ on the ISA. Such operations, for example, may represent a configurable processor ISA. The operations may also include one or more extension operations defined by one or more designers. Thus, a description of the behaviors of the various standard and/or extension operations that compose the ISA of an instance of a standard or configurable processor is used to automatically generate a set of shared processor datapaths that implement the behavior of those operations.
    Type: Grant
    Filed: December 19, 2005
    Date of Patent: September 15, 2009
    Assignee: Tensilica, Inc.
    Inventors: Darin Stemenov Petkov, David William Goodwin, Dror Eliezer Maydan
  • Patent number: 7437700
    Abstract: A system for generating processor hardware supports a language for significant extensions to the processor instruction set, where the designer specifies only the semantics of the new instructions and the system generates other logic. The extension language provides for the addition of processor state, including register files, and instructions that operate on that state. The language also provides for new data types to be added to the compiler to represent the state added. It allows separate specification of reference semantics and instruction implementation, and uses this to automate design verification. In addition, the system generates formatted instruction set documentation from the language specification.
    Type: Grant
    Filed: November 16, 2005
    Date of Patent: October 14, 2008
    Assignee: Tensilica, Inc.
    Inventors: Albert Ren-Rui Wang, Richard Ruddell, David William Goodwin, Earl A. Killian, Nupur Bhattacharyya, Marines Puig Medina, Walter David Lichtenstein, Pavlos Konas, Rangarajan Srinivasan, Christopher Mark Songer, Akilesh Parameswar, Dror E. Maydan, Ricardo E. Gonzalez
  • Patent number: 7376812
    Abstract: A processor can achieve high code density while allowing higher performance than existing architectures, particularly for Digital Signal Processing (DSP) applications. In accordance with one aspect, the processor supports three possible instruction sizes while maintaining the simplicity of programming and allowing efficient physical implementation. Most of the application code can be encoded using two sets of narrow size instructions to achieve high code density. Adding a third (and larger, i.e. VLIW) instruction size allows the architecture to encode multiple operations per instruction for the performance critical section of the code. Further, each operation of the VLIW format instruction can optionally be a SIMD operation that operates upon vector data. A scheme for the optimal utilization (highest achievable performance for the given amount of hardware) of multiply-accumulate (MAC) hardware is also provided.
    Type: Grant
    Filed: May 13, 2002
    Date of Patent: May 20, 2008
    Assignee: Tensilica, Inc.
    Inventors: Himanshu A. Sanghavi, Earl A. Killian, James Robert Kennedy, Darin S. Petkov, Peng Tu, William A. Huffman
  • Patent number: 7346881
    Abstract: A system for adding advanced instructions to a microprocessor includes a language for formally capturing the new instructions and a method for generating hardware implementations and software tools for the extended processors. The extension language provides for additions of VLIW instructions, complex load/store instructions, more powerful description styles using functions, more powerful register operands, and a new set of built-in modules. The method is capable of generating fully-pipelined micro-architectural implementations for the new instructions in the form of synthesizable HDL descriptions which can be processed by standard CAD tools. The method is also capable of generating software components for extending software development tools for the microprocessor with new instructions.
    Type: Grant
    Filed: May 13, 2002
    Date of Patent: March 18, 2008
    Assignee: Tensilica, Inc.
    Inventors: Albert R. Wang, Earl A. Killian, Ricardo E. Gonzalez, Robert P. Wilson
  • Patent number: 7334201
    Abstract: An apparatus, method, and computer-readable media that provide fast and accurate prediction of the hardware cost of logic to extend a processor. Aspects of the invention enable designers to explore instruction set alternatives at the architectural level without completing a lengthy implementation flow. Embodiments may use existing standard cell libraries and EDA tools to obtain the cost of parameterized building blocks, to build components of a microprocessor such as instruction decoder, register files, and data path execution units. The cost of an application specific microprocessor is derived from the cost of each of its structural components.
    Type: Grant
    Filed: July 2, 2004
    Date of Patent: February 19, 2008
    Assignee: Tensilica, Inc.
    Inventors: Jagesh Sanghavi, Eliot Gerstner
  • Patent number: 7274697
    Abstract: An advanced data structure allows lookup based upon the most significant 16 bits and the following variable number of K bits of the IP destination address. This 16/K scheme requires less than 2 MB memory to store the whole routing tables of present day backbone routers. A 16/Kc version utilizes bitmaps to compress the table to less than 0.5 MB. For the 16/K data structure each route lookup requires at most 2 memory accesses while the 16/Kc requires at most 3 memory accesses. By configuring the processor properly and developing a few customized instructions to accelerate route lookup, one can achieve 85 million lookups per second (MLPS) in the typical case with the processor running at 200 MHz. Further, the lookup method can be implemented using pipelining techniques to perform three lookups for three incoming packets simultaneously. Using such techniques, 100 MLPS performance can be achieved.
    Type: Grant
    Filed: December 21, 2001
    Date of Patent: September 25, 2007
    Assignee: Tensilica, Inc.
    Inventors: Hongbin Ji, Michael Carchia
  • Patent number: 7227842
    Abstract: A novel solution for fast packet classification includes a novel data structure to store classifier rules which enables fast packet classification, which structure employs bitmaps for each field of the incoming packet for which classification is desired. A fast packet classification algorithm using the novel data structure allows the matching rule with the highest priority to be quickly obtained. A novel rule update algorithm allows new classifier rules to be added into the data structure incrementally. In one practical implementation of a classification engine employing the structures and algorithms of the present invention, a configurable processor with customized instructions is used to accelerate packet classification.
    Type: Grant
    Filed: April 23, 2002
    Date of Patent: June 5, 2007
    Assignee: Tensilica, Inc.
    Inventors: Hongbin Ji, Michael Carchia
  • Patent number: 7219212
    Abstract: A processor can achieve high code density while allowing higher performance than existing architectures, particularly for Digital Signal Processing (DSP) applications. In accordance with one aspect, the processor supports three possible instruction sizes while maintaining the simplicity of programming and allowing efficient physical implementation. Most of the application code can be encoded using two sets of narrow size instructions to achieve high code density. Adding a third (and larger, i.e. VLIW) instruction size allows the architecture to encode multiple operations per instruction for the performance critical section of the code. Further, each operation of the VLIW format instruction can optionally be a SIMD operation that operates upon vector data. A scheme for the optimal utilization (highest achievable performance for the given amount of hardware) of multiply-accumulate (MAC) hardware is also provided.
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: May 15, 2007
    Assignee: Tensilica, Inc.
    Inventors: Himanshu A. Sanghavi, Earl A. Killian, James Robert Kennedy, Darin S. Petkov, Peng Tu, William A. Huffman
  • Patent number: 7200735
    Abstract: A new general method for building hybrid processors achieves higher performance in applications by allowing more powerful, tightly-coupled instruction set extensions to be implemented in reconfigurable logic. New instructions set configurations can be discovered and designed by automatic and semi-automatic methods. Improved reconfigurable execution units support deep pipelining, addition of additional registers and register files, compound instructions with many source and destination registers and wide data paths. New interface methods allow lower latency, higher bandwidth connections between hybrid processors and other logic.
    Type: Grant
    Filed: April 10, 2002
    Date of Patent: April 3, 2007
    Assignee: Tensilica, Inc.
    Inventors: Albert Wang, Christopher Rowen, Bernard Rosenthal