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: 20240133033Abstract: 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: ApplicationFiled: January 3, 2024Publication date: April 25, 2024Inventors: 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: 7266811Abstract: 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: GrantFiled: September 5, 2001Date of Patent: September 4, 2007Assignee: Conexant Systems, Inc.Inventors: Moataz Mohamed, Keith Bindloss, Wade Guthrie
-
Patent number: 7127588Abstract: 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: GrantFiled: December 5, 2000Date of Patent: October 24, 2006Assignee: Mindspeed Technologies, Inc.Inventors: Moataz A. Mohamed, John R. Spence
-
Patent number: 7100022Abstract: 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: GrantFiled: February 28, 2002Date of Patent: August 29, 2006Assignee: Mindspeed Technologies, Inc.Inventors: Moataz Mohamed, John Spence, Kevin R. Bowles, Chien-Wei Li
-
Patent number: 6820194Abstract: 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: GrantFiled: April 10, 2001Date of Patent: November 16, 2004Assignee: Mindspeed Technologies, Inc.Inventors: Sameer I. Bidichandani, Moataz A. Mohamed
-
Patent number: 6684320Abstract: 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: GrantFiled: February 28, 2002Date of Patent: January 27, 2004Assignee: Mindspeed Technologies, Inc.Inventors: Moataz A Mohamed, Chien-Wei Li, John R. Spence
-
Patent number: 6684319Abstract: 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: GrantFiled: June 30, 2000Date of Patent: January 27, 2004Assignee: Conexant Systems, Inc.Inventors: Moataz A. Mohamed, Keith M. Bindloss
-
Publication number: 20030046669Abstract: 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: ApplicationFiled: September 5, 2001Publication date: March 6, 2003Inventors: Moataz Mohamed, Keith Bindloss, Wade Guthrie
-
Patent number: 6415376Abstract: 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: GrantFiled: June 16, 2000Date of Patent: July 2, 2002Assignee: Conexant Sytems, Inc.Inventors: Moataz A Mohamed, Chien-Wei Li, John R. Spence
-
Publication number: 20020069345Abstract: 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: ApplicationFiled: December 5, 2000Publication date: June 6, 2002Applicant: Conexant Systems, Inc.Inventors: Moataz A. Mohamed, John R. Spence
-
Patent number: 6366998Abstract: 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: GrantFiled: October 14, 1998Date of Patent: April 2, 2002Assignee: Conexant Systems, Inc.Inventor: Moataz A. Mohamed
-
Patent number: 6301653Abstract: 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: GrantFiled: October 14, 1998Date of Patent: October 9, 2001Assignee: Conexant Systems, Inc.Inventors: Moataz A. Mohamed, John R. Spence, Kenneth W. Malich
-
Patent number: 6230180Abstract: 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: GrantFiled: October 14, 1998Date of Patent: May 8, 2001Assignee: Conexant Systems, Inc.Inventor: Moataz A. Mohamed
-
Patent number: 6061711Abstract: 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: GrantFiled: August 19, 1996Date of Patent: May 9, 2000Assignee: 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: 6003129Abstract: 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: GrantFiled: August 19, 1996Date of Patent: December 14, 1999Assignee: Samsung Electronics Company, Ltd.Inventors: Seungyeon Peter Song, Moataz A. Mohamed, Heon-Chul Park, Le Nguyen
-
Patent number: 5996058Abstract: 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: GrantFiled: August 19, 1996Date of Patent: November 30, 1999Assignee: Samsung Electronics Company, Ltd.Inventors: Seungyeon Peter Song, Moataz A. Mohamed, Heon-Chul Park, Le Nguyen
-
Patent number: 5978838Abstract: 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: GrantFiled: August 26, 1996Date of Patent: November 2, 1999Assignee: Samsung Electronics Co., Ltd.Inventors: Moataz A. Mohamed, Heonchul Park, Le Trong Nguyen
-
Patent number: 5966734Abstract: 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: GrantFiled: October 18, 1996Date of Patent: October 12, 1999Assignee: Samsung Electronics Co., Ltd.Inventors: Moataz A. Mohamed, Heonchul Park
-
Patent number: 5838984Abstract: 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: GrantFiled: August 19, 1996Date of Patent: November 17, 1998Assignee: Samsung Electronics Co., Ltd.Inventors: Le Trong Nguyen, Seungyoon Peter Song, Moataz A. Mohamed, Heonchul Park, Roney Sau Don Wong