Patents by Inventor Lucian Codrescu

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

  • Patent number: 8533530
    Abstract: Techniques for the design and use of a digital signal processor, including (but not limited to) for processing transmissions in a communications (e.g., CDMA) system. Trusted and untrusted debugging operational control occurs in operating a core processor associated with the digital signal processor. A debugging process within a debugging mechanism associates with the core processor. The core processor process determines the origin of debugging control as trusted debugging control or untrusted debugging control. In the event of trusted debugging control, the core processor process provides to the trusted debugging control a first set of features and privileges. Alternatively, in the event that debugging control is untrusted debugging control, the core processor process provides the untrusted debugging control a second restricted set of features and privileges, all for maintaining security and proper operation of the core processor process.
    Type: Grant
    Filed: November 15, 2006
    Date of Patent: September 10, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Lucian Codrescu, William C. Anderson, Suresh Venkumahanti, Louis Achille Giannini, Manojkumar Pyla, Xufeng Chen
  • Publication number: 20130212357
    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: Application
    Filed: February 9, 2012
    Publication date: August 15, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Erich James Plondke, Lucian Codrescu, Charles Joseph Tabony, Swaminathan Balasubramanian
  • Publication number: 20130185515
    Abstract: Systems and methods for populating a cache using a hardware prefetcher are disclosed. A method for prefetching cache entries includes determining an initial stride value based on at least a first and second demand miss address in the cache, verifying the initial stride value based on a third demand miss address in the cache, prefetching a predetermined number of cache entries based on the verified initial stride value, determining an expected next miss address in the cache based on the verified initial stride value and addresses of the prefetched cache entries; and confirming the verified initial stride value based on comparing the expected next miss address to a next demand miss address in the cache. If the verified initial stride value is confirmed, additional cache entries are prefetched. If the verified initial stride value is not confirmed, further prefetching is stalled and an alternate stride value is determined.
    Type: Application
    Filed: January 16, 2012
    Publication date: July 18, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Peter G. Sassone, Suman Mamidi, Elizabeth Abraham, Suresh K. Venkumahanti, Lucian Codrescu
  • Publication number: 20130185511
    Abstract: Embodiments disclosed in the detailed description include hybrid write-through/write-back cache policy managers, and related systems and methods. A cache write policy manager is configured to determine whether at least two caches among a plurality of parallel caches are active. If all of one or more other caches are not active, the cache write policy manager is configured to instruct an active cache among the parallel caches to apply a write-hack cache policy. In this manner, the cache write policy manager may conserve power and/or increase performance of a singly active processor core. If any of the one or more other caches are active, the cache write policy manager is configured to instruct an active cache among the parallel caches to apply a write-through cache policy. In this manner, the cache write policy manager facilitates data coherency among the parallel caches when multiple processor cores are active.
    Type: Application
    Filed: May 14, 2012
    Publication date: July 18, 2013
    Applicant: QUALCOMM Incorporated
    Inventors: Peter G. Sassone, Christopher Edward Koob, Dana M. Vantrease, Suresh K. Venkumahanti, Lucian Codrescu
  • Publication number: 20130185516
    Abstract: Systems and methods for prefetching cache lines into a cache coupled to a processor. A hardware prefetcher is configured to recognize a memory access instruction as an auto-increment-address (AIA) memory access instruction, infer a stride value from an increment field of the AIA instruction, and prefetch lines into the cache based on the stride value. Additionally or alternatively, the hardware prefetcher is configured to recognize that prefetched cache lines are part of a hardware loop, determine a maximum loop count of the hardware loop, and a remaining loop count as a difference between the maximum loop count and a number of loop iterations that have been completed, select a number of cache lines to prefetch, and truncate an actual number of cache lines to prefetch to be less than or equal to the remaining loop count, when the remaining loop count is less than the selected number of cache lines.
    Type: Application
    Filed: January 16, 2012
    Publication date: July 18, 2013
    Applicant: QUALCOMM Incorporated
    Inventors: Peter G. Sassone, Suman Mamidi, Elizabeth Abraham, Suresh K. Venkumahanti, Lucian Codrescu
  • Publication number: 20130179642
    Abstract: Systems and methods for performing non-allocating memory access instructions with physical address. A system includes a processor, one or more levels of caches, a memory, a translation look-aside buffer (TLB), and a memory access instruction specifying a memory access by the processor and an associated physical address. Execution logic is configured to bypass the TLB for the memory access instruction and perform the memory access with the physical address, while avoiding allocation of one or more intermediate levels of caches where a miss may be encountered.
    Type: Application
    Filed: February 17, 2012
    Publication date: July 11, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Erich James Plondke, Ajay Anant Ingle, Lucian Codrescu
  • Patent number: 8464000
    Abstract: A system for determining a cache line to replace is described. In one embodiment, the system includes a cache comprising a plurality of cache lines. The system further includes an identifier configured to identify a cache line for replacement. The system also includes a control logic configured to determine a value of the identifier selected from an incrementer, a cache maintenance instruction, or remains the same.
    Type: Grant
    Filed: February 29, 2008
    Date of Patent: June 11, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Ajay Anant Ingle, Erich James Plondke, Lucian Codrescu
  • Publication number: 20130145097
    Abstract: An apparatus includes a cache memory that includes a state array configured to store state information. The state information includes a state that indicates updated corresponding to a particular address of the cache memory is not stored in the cache memory but is available from at least one of multiple sources external to the cache memory, where at least one of the multiple sources is a store buffer.
    Type: Application
    Filed: December 5, 2011
    Publication date: June 6, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Ajay Anant Ingle, Lucian Codrescu
  • Publication number: 20130117535
    Abstract: A method includes executing a branch instruction and determining if a branch is taken. The method further includes evaluating a number of instructions associated with the branch instruction. Upon determining that the branch is taken, the method includes selectively writing an entry into a branch target buffer that corresponds to the taken branch responsive to determining that the number of instructions is less than a threshold.
    Type: Application
    Filed: November 4, 2011
    Publication date: May 9, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Suresh K. Venkumahanti, Lucian Codrescu, Suman Mamidi
  • Patent number: 8417922
    Abstract: A method and system to combine multiple register units within a microprocessor, such as, for example, a digital signal processor, are described. A first register unit and a second register unit are retrieved from a register file structure within a processing unit, the first register unit and the second register unit being non-adjacently located within the register file structure. The first register unit and the second register unit are further combined during execution of a single instruction to form a resulting register unit. Finally, the resulting register unit is stored within the register file structure for further processing. Alternatively, a first half word unit from the first register unit and a second half word unit from the second register unit are retrieved. The first half word unit and the second half word unit are further input into corresponding high and low portions of a resulting register unit to form the resulting register unit during execution of a single instruction.
    Type: Grant
    Filed: August 2, 2006
    Date of Patent: April 9, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Lucian Codrescu, Erich Plondke, Mao Zeng
  • Publication number: 20130086290
    Abstract: Systems and method for reducing interrupt latency time in a multi-threaded processor. A first interrupt controller is coupled to the multi-threaded processor. A second interrupt controller is configured to communicate a first interrupt and a first vector identifier to the first interrupt controller, wherein the first interrupt controller is configured to process the first interrupt and the first vector identifier and send the processed interrupt to a thread in the multi-threaded processor. Logic is configured to determine when the multi-threaded processor is ready to receive a second interrupt. A dedicated line is used to communicate an indication to the second interrupt controller that the multi-threaded processor is ready to receive the second interrupt.
    Type: Application
    Filed: October 4, 2011
    Publication date: April 4, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Suresh K. Venkumahanti, Lucian Codrescu, Erich James Plondke, Xufeng Chen, Peixin Zhong
  • Publication number: 20130086360
    Abstract: An instruction identifies a register and a memory location. Upon execution of the instruction by a processor, an item is loaded from the memory location and a shift and insert operation is performed to shift data in the register and to insert the item into the register.
    Type: Application
    Filed: September 30, 2011
    Publication date: April 4, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Mao Zeng, Lucian Codrescu, Erich James Plondke, Ajay Anant Ingle
  • Publication number: 20130081013
    Abstract: A system and method for memory coherency acceleration via virtual machine migration comprises a plurality of processors. A first processor of the plurality of processors is configured to implement at least one virtual machine. A monitor is configured to monitor a number of memory requests between the first processor and at least a second processor of the plurality of processors. A virtual machine manager is configured to migrate at least a portion of the virtual machine from the first processor to the second processor based on the number of memory requests exceeding a threshold.
    Type: Application
    Filed: September 23, 2011
    Publication date: March 28, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Erich J. Plondke, Lucian Codrescu
  • Publication number: 20130080490
    Abstract: An apparatus, system and method of determining an extremum are disclosed. A reference location identifier and a reference extremum are coupled. An input extremum of an input data set is determined and a corresponding location identifier of the input extremum is also determined. The input extremum is compared with the reference extremum to determine an output extremum and output location identifier, based on the comparison.
    Type: Application
    Filed: September 23, 2011
    Publication date: March 28, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Erich J. Plondke, Lucian Codrescu, Mao Zeng, Swaminathan Balasubramanian, David J. Hoyle
  • Publication number: 20130080738
    Abstract: In a particular embodiment, a very long instruction word (VLIW) processor is operable to execute VLIW instructions. At least one of the VLIW instructions includes a first load or store instruction and a second load or store instruction. The first instruction and the second instruction are executed as a single atomic unit. At least one of the first and second instructions is a store-conditional instruction.
    Type: Application
    Filed: September 23, 2011
    Publication date: March 28, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Erich J. Plondke, Ajay A. Ingle, Lucian Codrescu
  • Publication number: 20130067205
    Abstract: An apparatus includes a processor and a memory coupled to the processor. The memory stores an instruction packet (e.g., a VLIW instruction packet) including a first predicate independent instruction and a second predicate independent instruction. Each of the predicate independent instructions has the same destination.
    Type: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: QUALCOMM Incorporated
    Inventors: Erich J. Plondke, Lucian Codrescu, Mao Zeng, Charles J. Tabony, Suresh K. Venkumahanti
  • Patent number: 8397238
    Abstract: Methods, apparatuses, and computer-readable storage media are disclosed for reducing power by reducing hardware-thread toggling in a multi-threaded processor. In a particular embodiment, a method allocates software threads to hardware threads. A number of software threads to be allocated is identified. It is determined when the number of software threads is less than a number of hardware threads. When the number of software threads is less than the number of hardware threads, at least two of the software threads are allocated to non-sequential hardware threads. A clock signal to be applied to the hardware threads is adjusted responsive to the non-sequential hardware threads allocated.
    Type: Grant
    Filed: December 8, 2009
    Date of Patent: March 12, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Suresh K. Venkumahanti, Martin Saint-Laurent, Lucian Codrescu, Baker S. Mohammad
  • Publication number: 20130061020
    Abstract: A method includes selectively routing a physical address to an originating device instead of to a shared memory at controller that manages conversion of device virtual addresses to physical addresses. The physical address corresponds to a data access from a virtual device. The method may provide local coherency at a computing system that implements virtualized input/output.
    Type: Application
    Filed: September 1, 2011
    Publication date: March 7, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Christopher Edward Koob, Lucian Codrescu, Erich James Plondke, Bryan C. Bayerdorffer
  • Patent number: 8380966
    Abstract: Techniques for the design and use of a digital signal processor, including (but not limited to) for processing transmissions in a communications (e.g., CDMA) system. Stuffing instructions in a processing pipeline of a multi-threaded digital signal processor provides for operating a core processor process and a debugging process within a debugging mechanism. Writing a stuff instruction into a debugging process registry and a stuff command in a debugging process command register provides for identifying a predetermined thread of the multi-threaded digital signal processor in which to execute the stuff instruction. The instruction stuffing process issues a debugging process control resume command during a predetermined stage of executing on the predetermined thread and directs the core processor to perform the stuff instruction during the debugging process. The core processor may then execute the stuffed instruction in association with the core processor process and the debugging process.
    Type: Grant
    Filed: November 15, 2006
    Date of Patent: February 19, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Lucian Codrescu, William C. Anderson, Suresh Venkumahanti, Louis Achille Giannini, Manojkumar Pyla, Xufeng Chen
  • Publication number: 20130042091
    Abstract: An instruction specifies a source value and an offset value. Upon execution of the instruction, a first result of the instruction and a second result of the instruction are generated. The first result is a first portion of the source value and the second result is a second portion of the source value.
    Type: Application
    Filed: August 12, 2011
    Publication date: February 14, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Mao Zeng, Lucian Codrescu, Erich James Plondke