Patents by Inventor Muhammad Ahmed
Muhammad Ahmed 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: 9053232Abstract: A field programmable gate array (FPGA) includes a soft processor and a soft processor debug unit implemented by programmable logic on the FPGA. The FPGA includes a system on a chip (SOC) that includes a hard processor and a hard processor debug unit. The FPGA includes a bus bridge, coupled to an input output (IO) of the FPGA, operable to transmit data between the IO and the soft processor debug unit and the hard processor debug unit.Type: GrantFiled: December 14, 2012Date of Patent: June 9, 2015Assignee: Altera CorporationInventors: Muhammad Ahmed, Manoj Reghunath
-
Patent number: 8858330Abstract: A video game maps each of a plurality of outputs to inputs associated with a video game controller. In some embodiments, the plurality of outputs represent the various potential outputs of a drum set. Combinations of video game controller inputs are used to generate the outputs. Video game controller inputs include traditional input devices such as button inputs, as well as input signals generated from positioning and movement of the video game controllers. In some embodiments, a video game console provides a video representation of the outputs generated by input combinations received from the video game controllers.Type: GrantFiled: July 14, 2008Date of Patent: October 14, 2014Assignee: Activision Publishing, Inc.Inventors: Jesse B. Raymond, Muhammad A. Ahmed
-
REGISTER FILES FOR A DIGITAL SIGNAL PROCESSOR OPERATING IN AN INTERLEAVED MULTI-THREADED ENVIRONMENT
Publication number: 20140181468Abstract: A processor device is disclosed and includes a memory and a sequencer that is responsive to the memory. The sequencer supports very long instruction word (VLIW) type instructions and at least one VLIW instruction packet uses a number of operands during execution. The processor device further includes a plurality of instruction execution units responsive to the sequencer and a plurality of register files. Each of the plurality of register files includes a plurality of registers and the plurality of register files are coupled to the plurality of instruction execution units. Further, each of the plurality of register files includes a number of data read ports and the number of data read ports of each of the plurality of register files is less than the number of operands used by the at least one VLIW instruction packet.Type: ApplicationFiled: February 25, 2014Publication date: June 26, 2014Applicant: QUALCOMM IncorporatedInventors: Muhammad Ahmed, Erich James Plondke, Lucian Codrescu, William C. Anderson -
Publication number: 20140173343Abstract: A field programmable gate array (FPGA) includes a soft processor and a soft processor debug unit implemented by programmable logic on the FPGA. The FPGA includes a system on a chip (SOC) that includes a hard processor and a hard processor debug unit. The FPGA includes a bus bridge, coupled to an input output (IO) of the FPGA, operable to transmit data between the IO and the soft processor debug unit and the hard processor debug unit.Type: ApplicationFiled: December 14, 2012Publication date: June 19, 2014Inventors: Muhammad Ahmed, Manoj Reghunath
-
Register files for a digital signal processor operating in an interleaved multi-threaded environment
Patent number: 8713286Abstract: A processor device is disclosed and includes a memory and a sequencer that is responsive to the memory. The sequencer supports very long instruction word (VLIW) type instructions and at least one VLIW instruction packet uses a number of operands during execution. The processor device further includes a plurality of instruction execution units responsive to the sequencer and a plurality of register files. Each of the plurality of register files includes a plurality of registers and the plurality of register files are coupled to the plurality of instruction execution units. Further, each of the plurality of register files includes a number of data read ports and the number of data read ports of each of the plurality of register files is less than the number of operands used by the at least one VLIW instruction packet.Type: GrantFiled: April 26, 2005Date of Patent: April 29, 2014Assignee: QUALCOMM IncorporatedInventors: Muhammad Ahmed, Erich Plondke, Lucian Codrescu, William C. Anderson -
Patent number: 8688761Abstract: An arithmetic logic and shifting device is disclosed and includes an arithmetic logic unit that has a first input to receive a first operand from a first register port, a second input to receive a second operand from a second register port, and an output to selectively provide a memory address to a memory unit in a first mode of operation and to selectively provide an arithmetic output in a second mode of operation. Further, the arithmetic logic and shifting device includes a programmable shifter device that has a first input to receive data from the memory unit, a second input to receive the arithmetic output, a third input to receive an operation code of a computer execution instruction, and a shifted output to provide shifted data.Type: GrantFiled: December 8, 2011Date of Patent: April 1, 2014Assignee: QUALCOMM IncorporatedInventors: Muhammad Ahmed, Ajay Anant Ingle, Sujat Jamil
-
Patent number: 8589573Abstract: A novel technique is provided for preventing routing loops by disseminating Border Gateway Protocol (BGP) attribute information in an Open Shortest Path First (OSPF) configured network. Specifically, a new OSPF sub-type-length-value (TLV) is introduced for transporting a conventional BGP autonomous system (AS) path attribute through the OSPF-configured network. Like the BGP AS-path attribute, the new OSPF AS-path sub-TLV is configured to store a set of AS numbers corresponding to the AS path of one or more advertised routes. Thus, when a network device receives an OSPF link-state advertisement (LSA) containing the novel AS-path sub-TLV, the network device determines whether it resides in an autonomous system whose AS number is stored in the sub-TLV. If so, the network device does not install the LSA's advertised routes in its link-state database since the routes, if installed, could result in routing loops.Type: GrantFiled: March 8, 2006Date of Patent: November 19, 2013Assignee: Cisco Technology, Inc.Inventors: Sina Mirtorabi, Mukhtiar Shaikh, Peter Psenak, Muhammad Ahmed Moizuddin
-
Patent number: 8195916Abstract: An apparatus and method to translate virtual addresses to physical addresses in a base plus offset addressing mode are disclosed. In an embodiment, a method includes performing a first translation lookaside buffer (TLB) lookup based on a base address value to retrieve a speculative physical address. While performing the TLB lookup based on the base address value, the base address value is added to an offset value to generate an effective address value. The method also includes performing a comparison of the base address value and the effective address value based on a variable page size to determine whether the speculative physical address corresponds to the effective address.Type: GrantFiled: March 4, 2009Date of Patent: June 5, 2012Assignee: QUALCOMM IncorporatedInventors: Paul Douglas Bassett, Ajay Anant Ingle, Sujat Jamil, Lucian Codrescu, Muhammad Ahmed
-
Publication number: 20120083912Abstract: An arithmetic logic and shifting device is disclosed and includes an arithmetic logic unit that has a first input to receive a first operand from a first register port, a second input to receive a second operand from a second register port, and an output to selectively provide a memory address to a memory unit in a first mode of operation and to selectively provide an arithmetic output in a second mode of operation. Further, the arithmetic logic and shifting device includes a programmable shifter device that has a first input to receive data from the memory unit, a second input to receive the arithmetic output, a third input to receive an operation code of a computer execution instruction, and a shifted output to provide shifted data.Type: ApplicationFiled: December 8, 2011Publication date: April 5, 2012Applicant: QUALCOMM INCORPORATEDInventors: Muhammad Ahmed, Ajay Anant Ingle, Sujat Jamil
-
Patent number: 8099448Abstract: An arithmetic logic and shifting device is disclosed and includes an arithmetic logic unit that has a first input to receive a first operand from a first register port, a second input to receive a second operand from a second register port, and an output to selectively provide a memory address to a memory unit in a first mode of operation and to selectively provide an arithmetic output in a second mode of operation. Further, the arithmetic logic and shifting device includes a programmable shifter device that has a first input to receive data from the memory unit, a second input to receive the arithmetic output, a third input to receive an operation code of a computer execution instruction, and a shifted output to provide shifted data.Type: GrantFiled: November 2, 2005Date of Patent: January 17, 2012Assignee: QUALCOMM IncorporatedInventors: Muhammad Ahmed, Ajay Anant Ingle, Sujat Jamil
-
Patent number: 7984281Abstract: A multi-threaded processor is disclosed that includes a sequencer adapted to provide instructions associated with one or more threads of a multi-threaded processor. The sequencer includes an interrupt controller adapted to receive one or more interrupts and to selectively allow a first thread of the one or more threads to service at least one interrupt. The interrupt controller includes logic to preclude a second thread of the one or more threads from responding to the at least one interrupt.Type: GrantFiled: December 12, 2007Date of Patent: July 19, 2011Assignee: QUALCOMM IncorporatedInventors: Erich James Plondke, Lucian Codrescu, Muhammad Ahmed, William Anderson, Suresh K. Venkumahanti
-
Patent number: 7917907Abstract: Techniques for processing transmissions in a communications (e.g., CDMA) system. An aspect of the disclosed subject matter includes a method for processing instructions on a multithreaded processor. The multithreaded processor processes a plurality of threads via a plurality of processor pipelines. The method includes the step determining the operating frequency, F, at which the multithreaded processor operates. Then, the method determines a variable thread switch timeout state for triggering the switching of the processing among the plurality of active threads. The variable thread switch timeout state varies so that each of the plurality of active threads operates at a frequency of an allocated portion of the frequency, F. The allocated portion at which the active threads operate is determined at least in part in order to optimize the operation of the multithreaded processor.Type: GrantFiled: March 23, 2005Date of Patent: March 29, 2011Assignee: QUALCOMM IncorporatedInventors: Muhammad Ahmed, Sujat Jamil, Erich Plondke, Lucian Codrescu, William C. Anderson
-
Patent number: 7849466Abstract: A multithreaded processor device is disclosed and includes a processor that is configured to execute a plurality of executable program threads and a mode control register. The mode control register includes a first data field to control a first execution mode of a first of the plurality of executable program threads and a second data field to control a second execution mode of a second of the plurality of executable program threads. In a particular embodiment, the first execution mode is a run mode and the second execution mode is a low power mode.Type: GrantFiled: July 12, 2005Date of Patent: December 7, 2010Assignee: QUALCOMM IncorporatedInventors: Lucian Codrescu, Donald Robert Padgett, Erich Plondke, Taylor Simpson, Muhammad Ahmed, William C. Anderson, Sujat Jamil
-
Publication number: 20100281236Abstract: An apparatus for processing data may include an array of processing elements (such as an n×m or n×n array of processing elements) configured to simultaneously perform operations on a plurality of data elements using a single instruction. Each processing element in the array may be configured to transfer data directly to at least one neighboring processing element within the array. In selected embodiments, the apparatus may include exchange registers to temporarily store data transferred between neighboring processing elements.Type: ApplicationFiled: April 30, 2009Publication date: November 4, 2010Applicant: Novafora, Inc.Inventors: Shlomo Selim Rakib, Muhammad Ahmed, Marc Schaub
-
Publication number: 20100281234Abstract: A method includes providing a processor configured to execute instructions. The method may further include providing a first set of registers in the processor to store first data and first instructions associated with a first thread, and providing a second set of registers in the processor to store second data and second instructions associated with a second thread. The method may further include transmitting the first data and first instructions associated with the first thread to the first set of registers, and executing the first instructions in order to process the first data. The method may further include transmitting the second data and second instructions to the second set of registers while executing the first instructions and processing the first data. A corresponding apparatus is also disclosed and claimed herein.Type: ApplicationFiled: April 30, 2009Publication date: November 4, 2010Applicant: Novafora, Inc.Inventors: MUHAMMAD AHMED, Marc Schaub, Shlomo Selim Rakib
-
Publication number: 20100281483Abstract: A scheduling co-processor for scheduling the execution of threads on a processor is disclosed. In certain embodiments, the scheduling co-processor includes one or more engines (such as lookup tables) that are programmable with a Petri-net representation of a thread scheduling algorithm. The scheduling co-processor may further include a token list to store tokens associated with the Petri-net; an enabled-thread list to indicate which threads are enabled for execution in response to particular tokens being present in the token list; and a ready-thread list to indicate which threads from the enabled-thread list are ready for execution when data and/or space availability conditions associated with the threads are satisfied.Type: ApplicationFiled: April 30, 2009Publication date: November 4, 2010Applicant: Novafora, Inc.Inventors: Shlomo Selim Rakib, Alexander Hubris, Muhammad Ahmed
-
Patent number: 7814487Abstract: A multithreaded processor device is disclosed and includes a first program thread and second program thread. The second program thread is execution linked to the first program thread in a lock step manner. As such, when the first program thread experiences a stall event, the second program thread is instructed to perform a no operation instruction in order to keep the second program thread execution linked to the first program thread. Also, the second program thread performs a no operation instruction during each clock cycle that the first program thread is stalled due to the stall event. When the first program thread performs a first successful operation after the stall event, the second program thread restarts normal execution.Type: GrantFiled: April 26, 2005Date of Patent: October 12, 2010Assignee: QUALCOMM IncorporatedInventors: Lucian Codrescu, Erich Plondke, Muhammad Ahmed, William C. Anderson
-
Publication number: 20100228944Abstract: An apparatus and method to translate virtual addresses to physical addresses in a base plus offset addressing mode are disclosed. In an embodiment, a method includes performing a first translation lookaside buffer (TLB) lookup based on a base address value to retrieve a speculative physical address. While performing the TLB lookup based on the base address value, the base address value is added to an offset value to generate an effective address value. The method also includes performing a comparison of the base address value and the effective address value based on a variable page size to determine whether the speculative physical address corresponds to the effective address.Type: ApplicationFiled: March 4, 2009Publication date: September 9, 2010Applicant: QUALCOMM IncorporatedInventors: Paul Douglas Bassett, Ajay Anant Ingle, Sujat Jamil, Lucian Codrescu, Muhammad Ahmed
-
Patent number: 7689806Abstract: A method and system to indicate which page within a software-managed page table triggers an exception within a microprocessor, such as, for example, a digital signal processor, wherein a software-managed translation lookaside buffer (TLB) module receives a virtual address produced by an instruction within a Very Long Instruction Word (VLIW) packet, such as, for example, a fetch instruction, and further compares the virtual address to each stored TLB entry. If a match exists, then the TLB module outputs a corresponding mapped physical address for the instruction. Otherwise, if the VLIW packet spans two pages, where a first page is present as a TLB entry within the TLB module and the second page is missing from the stored TLB entries, an indication bit within a data field of a control register is set to identify the TLB miss exception to a software management unit.Type: GrantFiled: July 14, 2006Date of Patent: March 30, 2010Assignee: QInventors: Lucian Codrescu, Erich Plondke, Muhammad Ahmed, Vijaya Kumar Janjanam
-
Patent number: 7685411Abstract: An instruction memory unit comprises a first memory structure operable to store program instructions, and a second memory structure operable to store program instructions fetched from the first memory structure, and to issue stored program instructions for execution. The second memory structure is operable to identify a repeated issuance of a forward program redirect construct, and issue a next program instruction already stored in the second memory structure if a resolution of the forward branching instruction is identical to a last resolution of the same. The second memory structure is further operable to issue a backward program redirect construct, determine whether a target instruction is stored in the second memory structure, issue the target instruction if the target instruction is stored in the second memory structure, and fetch the target instruction from the first memory structure if the target instruction is not stored in the second memory structure.Type: GrantFiled: April 11, 2005Date of Patent: March 23, 2010Assignee: QUALCOMM IncorporatedInventors: Muhammad Ahmed, Lucian Codrescu, Erich Plondke, William C. Anderson, Robert Allan Lester, Phillip M. Jones