Patents by Inventor Moataz A. Mohamed

Moataz A. Mohamed 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).

  • Publication number: 20240133033
    Abstract: Herein disclosed are systems and methods related to delivery systems using solid source chemical fill vessels. The delivery system can include a vapor deposition reactor, two or more fill vessels, of which one of more can be remote from the vapor deposition reactor. Each fill vessel is configured to hold solid source chemical reactant therein. An interconnect line or conduit can fluidly connect the vapor deposition reactor with one or more of the fill vessels. A line heater can heat at least a portion of the interconnect line to at least a minimum line temperature.
    Type: Application
    Filed: January 3, 2024
    Publication date: April 25, 2024
    Inventors: Jacqueline Wrench, Shuaidi Zhang, Arjav Prafulkumar Vashi, Shubham Garg, Todd Robert Dunn, Moataz Bellah Mousa, Jonathan Bakke, Ibrahim Mohamed, Paul Ma, Bo Wang, Eric Shero, Jereld Lee Winkler
  • Patent number: 7266811
    Abstract: Embodiments of systems, methods, and computer program products may facilitate translation of machine code associated with a first processor for execution on a second processor. Machine code associated with a first processor may be translated into a translated program that includes one or more translation instructions for execution on the second processor. The one or more translation instructions are used exclusively to translate machine code that is associated with a processor other than the second processor. The translated program may be stored in a storage medium where it may be executed using the second processor. Each translation instruction that involves access of the storage medium may be dispatched to one or more translation load-store units that are dedicated exclusively to processing the translation instructions.
    Type: Grant
    Filed: September 5, 2001
    Date of Patent: September 4, 2007
    Assignee: Conexant Systems, Inc.
    Inventors: Moataz Mohamed, Keith Bindloss, Wade Guthrie
  • Patent number: 7127588
    Abstract: In one exemplary embodiment, the disclosed VLIW processor comprises a number of threads where each thread includes a processing unit. For example, there can be two threads, where each of the two threads has its own processing unit. According to this exemplary embodiment, a number of VLIW packets are divided into a number of issue groups. As an example, two VLIW packets are divided into two issue groups each. The first issue group in the first VLIW packet is provided to a first thread for execution in the first thread processing unit during a first clock cycle. Concurrently, the first issue group in the second VLIW packet is provided to a second thread for execution in the second thread processing unit during the same clock cycle, i.e. during the first clock cycle. Moreover, the second issue group in the first VLIW packet is provided to the first thread for execution in the first thread processing unit during a second clock cycle.
    Type: Grant
    Filed: December 5, 2000
    Date of Patent: October 24, 2006
    Assignee: Mindspeed Technologies, Inc.
    Inventors: Moataz A. Mohamed, John R. Spence
  • Patent number: 7100022
    Abstract: In one embodiment, move buses utilized in presently known VLIW processors are eliminated and replaced with a busing scheme which results in transfer of operands from each register file bank to any data path block while also reducing the total bus width and total power consumption associated with transport of operands from register file banks to data path blocks. According to this busing scheme, the speed of VLIW processor is also improved since the need for one clock cycle to move operands from one register file bank to another is overcome. In another embodiment, a scheduling restriction is used to eliminate the need for the presently required write back buses used by various data path blocks. In yet another embodiment, a scheduling restriction is imposed which results in a reduction of the number of ports, a reduction in the width of buses, and a reduction of power consumption.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: August 29, 2006
    Assignee: Mindspeed Technologies, Inc.
    Inventors: Moataz Mohamed, John Spence, Kevin R. Bowles, Chien-Wei Li
  • Patent number: 6820194
    Abstract: In one disclosed embodiment an instruction loop having at least one instruction is identified. For example, each instruction can be a VLIW packet comprised of several individual instructions. The instructions of the instruction loop are fetched from a program memory. The instructions are then stored in a register queue. For example, the register queue can be implemented with a head pointer which is adjusted to select a register in which to write each instruction that is fetched. It is then determined whether the processor requires execution of the instruction loop, for example, by checking a program counter (PC) value corresponding to each instruction. When the processor requires execution of the instruction loop, the instructions are output from the register queue. For example, the register queue can be implemented with an access pointer which is adjusted to select a register from which to output each instruction that is required.
    Type: Grant
    Filed: April 10, 2001
    Date of Patent: November 16, 2004
    Assignee: Mindspeed Technologies, Inc.
    Inventors: Sameer I. Bidichandani, Moataz A. Mohamed
  • Patent number: 6684320
    Abstract: An apparatus and method for issue grouping of instructions in a VLIW processor is disclosed. There can be one, two, or three issue groups (but no greater than three issue groups) in each VLIW packet. In one embodiment, a template in the VLIW packet comprises two issue group end markers where each issue group end marker comprises three bits. The three bits in the first issue group end marker identifies the instruction which is the last instruction in the first issue group. Likewise, the three bits in the second issue group end marker identifies the instruction which is the last instruction in the second issue group. Any instructions in the VLIW packet falling outside the two expressly defined first and second issue groups are placed in a third issue group. As such, three issue groups can be identified by use of the two issue group end markers. In one embodiment, the template of the VLIW packet includes a chaining bit.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: January 27, 2004
    Assignee: Mindspeed Technologies, Inc.
    Inventors: Moataz A Mohamed, Chien-Wei Li, John R. Spence
  • Patent number: 6684319
    Abstract: The present invention minimizes power consumption and processing time in a very long instruction word digital signal processor by identifying certain blocks of instructions and placing them in a small, fast buffer for subsequent retrieval and execution. A decoder unit decodes a prefetch instruction flag bit that indicates when instructions are to be prefetched and placed into the buffer. The decoder unit signals a control unit, which sends the instruction code from a memory unit to the buffer and maintains an address mapping table and a program counter. The control unit also sets a select input on a multiplexer to indicate that the multiplexer is to output the prefetch instructions it receives from the buffer. The multiplexer outputs the prefetch instructions to an instruction register that sends the prefetch instructions to appropriate functional units for execution.
    Type: Grant
    Filed: June 30, 2000
    Date of Patent: January 27, 2004
    Assignee: Conexant Systems, Inc.
    Inventors: Moataz A. Mohamed, Keith M. Bindloss
  • Publication number: 20030046669
    Abstract: Embodiments of systems, methods, and computer program products may facilitate translation of machine code associated with a first processor for execution on a second processor. Machine code associated with a first processor may be translated into a translated program that includes one or more translation instructions for execution on the second processor. The one or more translation instructions are used exclusively to translate machine code that is associated with a processor other than the second processor. The translated program may be stored in a storage medium where it may be executed using the second processor. Each translation instruction that involves access of the storage medium may be dispatched to one or more translation load-store units that are dedicated exclusively to processing the translation instructions.
    Type: Application
    Filed: September 5, 2001
    Publication date: March 6, 2003
    Inventors: Moataz Mohamed, Keith Bindloss, Wade Guthrie
  • Patent number: 6415376
    Abstract: An apparatus and method for issue grouping of instructions in a VLIW processor is disclosed. There can be one, two, or three issue groups (but no greater than three issue groups) in each VLIW packet. In one embodiment, a template in the VLIW packet comprises two issue group end markers where each issue group end marker comprises three bits. The three bits in the first issue group end marker identifies the instruction which is the last instruction in the first issue group. Likewise, the three bits in the second issue group end marker identifies the instruction which is the last instruction in the second issue group. Any instructions in the VLIW packet falling outside the two expressly defined first and second issue groups are placed in a third issue group. As such, three issue groups can be identified by use of the two issue group end markers. In one embodiment, the template of the VLIW packet includes a chaining bit.
    Type: Grant
    Filed: June 16, 2000
    Date of Patent: July 2, 2002
    Assignee: Conexant Sytems, Inc.
    Inventors: Moataz A Mohamed, Chien-Wei Li, John R. Spence
  • Publication number: 20020069345
    Abstract: In one exemplary embodiment, the disclosed VLIW processor comprises a number of threads where each thread includes a processing unit. For example, there can be two threads, where each of the two threads has its own processing unit. According to this exemplary embodiment, a number of VLIW packets are divided into a number of issue groups. As an example, two VLIW packets are divided into two issue groups each. The first issue group in the first VLIW packet is provided to a first thread for execution in the first thread processing unit during a first clock cycle. Concurrently, the first issue group in the second VLIW packet is provided to a second thread for execution in the second thread processing unit during the same clock cycle, i.e. during the first clock cycle. Moreover, the second issue group in the first VLIW packet is provided to the first thread for execution in the first thread processing unit during a second clock cycle.
    Type: Application
    Filed: December 5, 2000
    Publication date: June 6, 2002
    Applicant: Conexant Systems, Inc.
    Inventors: Moataz A. Mohamed, John R. Spence
  • Patent number: 6366998
    Abstract: The present invention generally relates to a hybrid VLIW-SIMD programming model for a digital signal processor. The hybrid programming model broadcasts a packet of information to a plurality of functional units or processing elements. Each packet contains several instructions having certain characteristics, such as instruction type and instruction length, among others. The hybrid programming model includes functional units which are reconfigurable based upon the instructions with an instruction packet and the availability of the functional units. The model groups the functional units such that the operations specified in the instructions can be efficiently executed and selects which functional units should be utilized for a given operation.
    Type: Grant
    Filed: October 14, 1998
    Date of Patent: April 2, 2002
    Assignee: Conexant Systems, Inc.
    Inventor: Moataz A. Mohamed
  • Patent number: 6301653
    Abstract: The present invention provides an efficient method of forwarding and sharing information between functional units and register files in an effort to execute instructions. A digital signal processor includes a plurality of register blocks for storing data operands coupled to a plurality of data path units for executing instructions. Preferably, each register block is coupled to at least two data path units. In addition, the processor preferably has a plurality of forwarding paths which forward information from one data path unit to another. A scheduler efficiently forwards instructions to data path units based on information regarding the configuration of the processor and any restrictions which might be imposed on the scheduler.
    Type: Grant
    Filed: October 14, 1998
    Date of Patent: October 9, 2001
    Assignee: Conexant Systems, Inc.
    Inventors: Moataz A. Mohamed, John R. Spence, Kenneth W. Malich
  • Patent number: 6230180
    Abstract: The present invention generally relates to multiply-accumulate units for use in digital signal processors. Each multiply-accumulate unit includes a multiply unit which is coupled with two or more dedicated accumulators. Because of the coupling configuration, when an instruction specifies which accumulator should be used in executing an operation, the instruction need not specify which multiply unit should be utilized. A scheduler containing a digital signal processor's coupling configuration may then identify the multiply unit associated with the accumulator and may then forward the instruction to the identified multiply unit. Multiply-accumulate units can be configured to execute both scalar and vector operations. For executing vector operations, multiply units and their coupled accumulators are configured such that each may be easily grouped with other multiply units and accumulators.
    Type: Grant
    Filed: October 14, 1998
    Date of Patent: May 8, 2001
    Assignee: Conexant Systems, Inc.
    Inventor: Moataz A. Mohamed
  • Patent number: 6061711
    Abstract: In a multi-tasking computing system environment, one program is halted and context switched out so that a processor may context switch in a subsequent program for execution. Processor state information exists which reflects the state of the program being context switched out. Storage of this processor state information permits successful resumption of the context switched out program. When the context switched out program is subsequently context switched in, the stored processor information is loaded in preparation for successfully resuming the program at the point in which execution was previously halted. Although, large areas of memory can be allocated to processor state information storage, only a portion of this may need to be preserved across a context switch for successfully saving and resuming the context switched out program.
    Type: Grant
    Filed: August 19, 1996
    Date of Patent: May 9, 2000
    Assignee: Samsung Electronics, Inc.
    Inventors: Seungyoon Peter Song, Moataz A. Mohamed, Heonchul Park, Le T. Nguyen, Jerry R. Van Aken, Alessandro Forin, Andrew R. Raffman
  • Patent number: 6003129
    Abstract: A multiprocessor computer system includes a plurality of processors, called asymmetric processors, having mutually dissimilar control and data-handling characteristics. The asymmetric processors are controlled by a single operating system although the individual processors have instruction sets that are mutually independent of the other processors. The multiprocessor computer system uses a multiprocessor architectural definition of interrupt and exception handling in which a processor, called a data or vector processor, having a large machine state and a large data width detects exceptions but defers interrupt and exception handling operations to another processor, called a control processor, having a small machine state and data width. The small machine state and small data width of the control processor are well suited for executing operating system programs such as interrupt and exception handling since control programs typically involve monitoring and control of individual flags and pointers.
    Type: Grant
    Filed: August 19, 1996
    Date of Patent: December 14, 1999
    Assignee: Samsung Electronics Company, Ltd.
    Inventors: Seungyeon Peter Song, Moataz A. Mohamed, Heon-Chul Park, Le Nguyen
  • Patent number: 5996058
    Abstract: A multiprocessor architectural definition provides that a program executing on a first processor interrupts a second processor by executing a software interrupt instruction. The software interrupt instruction includes an argument field for passing information from a program requesting the software interrupt. The argument, along with the opcode, is saved in a register designated for holding the argument. The information communicated via the argument is used in one embodiment to indicate a cause of the interrupt. In an embodiment, the information communicated via the argument designates an interrupt service routine to be activated in the interrupted processor.
    Type: Grant
    Filed: August 19, 1996
    Date of Patent: November 30, 1999
    Assignee: Samsung Electronics Company, Ltd.
    Inventors: Seungyeon Peter Song, Moataz A. Mohamed, Heon-Chul Park, Le Nguyen
  • Patent number: 5978838
    Abstract: An integrated multiprocessor architecture simplifies synchronization of multiple processing units. The multiple processing units constitute a general-purpose or control processor and a vector processor which has a single-instruction-multiple-data (SIMD) architecture so that multiple parallel processing units in the vector processor all complete an instruction simultaneously and do not require software synchronization. The control control processor controls the vector processor and creates a fork in a program flow by starting the vector processor. An instruction set for the control processor includes special instructions that enable the control processor to access registers of the vector processor, start or halt execution by the vector processor, and test flags written by the vector processor to indicate completion of tasks.
    Type: Grant
    Filed: August 26, 1996
    Date of Patent: November 2, 1999
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Moataz A. Mohamed, Heonchul Park, Le Trong Nguyen
  • Patent number: 5966734
    Abstract: A cache system supports a re-sizable software-managed fast scratch pad that is implemented as a cache-slice. A processor register indicates the size and base address of the scratch pad. Instructions which facilitate use of the scratch pad include a prefetch instruction which loads multiple lines of data from external memory into the scratch pad and a writeback instruction which writes multiple lines of data from the scratch pad to external memory. The prefetch and writeback instructions are non-blocking instructions to allow instructions following in the program order to be executed while a prefetch or writeback operation is pending.
    Type: Grant
    Filed: October 18, 1996
    Date of Patent: October 12, 1999
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Moataz A. Mohamed, Heonchul Park
  • Patent number: 5838984
    Abstract: A vector processor includes two banks of vector registers where each vector register can stored multiple data elements and a control register with a field indicating a default bank. An instruction set for the vector processor includes instructions which use a register number to identify a vector registers in the default bank, uses a register number to identify a double-size vector register including a register from the first bank and a register from the second bank, and instructions which include a bank bit and a register number to access a vector register from either bank.
    Type: Grant
    Filed: August 19, 1996
    Date of Patent: November 17, 1998
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Le Trong Nguyen, Seungyoon Peter Song, Moataz A. Mohamed, Heonchul Park, Roney Sau Don Wong