Patents by Inventor Michael G. Perkins
Michael G. Perkins 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: 10241793Abstract: In one particular example, this disclosure provides an efficient mechanism to determine the degree of parallelization possible for a loop in the presence of possible memory aliases that cannot be resolved at compile-time. Hardware instructions are provided that test memory addresses at run-time and set a mode or register that enables a single instance of a loop to run the maximum number of SIMD (Single Instruction, Multiple Data) lanes to run in parallel that obey the semantics of the original scalar loop. Other hardware features that extend applicability or performance of such instructions are enumerated.Type: GrantFiled: March 7, 2014Date of Patent: March 26, 2019Assignee: ANALOG DEVICES GLOBALInventors: Michael G. Perkins, John L. Redford, Kaushal Sanghai
-
Patent number: 9557993Abstract: The present disclosure provides a processor, and associated method, for performing parallel processing within a register. An exemplary processor may include a processing element having a compute unit and a register file. The register file includes a register that is divisible into lanes for parallel processing. The processor may further include a mask register and a predicate register. The mask register and the predicate register respective include a number of mask bits and predicate bits equal to a maximum number of divisible lanes of the register. A state of the mask bits and predicate bits is set to respectively achieve enabling/disabling of the lanes from executing an instruction and conditional performance of an operation defined by the instruction. Further, the processor is operable to perform a reduction operation across the lanes of the processing element and/or generate an address for each of the lanes of the processing element.Type: GrantFiled: January 10, 2013Date of Patent: January 31, 2017Assignee: Analog Devices GlobalInventors: Kaushal Sanghai, Michael G. Perkins, Andrew J. Higham
-
Patent number: 9460016Abstract: In an example, a system and method are provided for predicting in which way a requested memory address is most likely to be held in a multi-way cache, based on the last way accessed by the specified address register if available. If not available, then the system may determine that no best prediction is available. In that case, each way is read, and the superfluous values are disregarded, or a cache fill is performed as necessary. In certain embodiments, only a portion of the least significant bits of an add operation are used for way prediction in base-plus-offset addressing modes. This enables the decision to be made before the full-width add is complete, so that the clock cycle length is not unnecessarily lengthened by the prediction operation.Type: GrantFiled: June 16, 2014Date of Patent: October 4, 2016Assignee: ANALOG DEVICES GLOBAL HAMILTONInventors: John L. Redford, Michael G. Perkins
-
Patent number: 9342306Abstract: According to an example embodiment, a processor such as a digital signal processor (DSP), is provided with a register acting as a predicate counter. The predicate counter may include more than two useful values, and in addition to acting as a condition for executing an instruction, may also keep track of nesting levels within a loop or conditional branch. In some cases, the predicate counter may be configured to operate in single-instruction, multiple data (SIMD) mode, or SIMD-within-a-register (SWAR) mode.Type: GrantFiled: August 9, 2013Date of Patent: May 17, 2016Assignee: ANALOG DEVICES GLOBALInventors: Andrew J. Higham, Boris Lerner, Kaushal Sanghai, Michael G. Perkins, John L. Redford, Michael S. Allen
-
Publication number: 20150363318Abstract: In an example, a system and method are provided for predicting in which way a requested memory address is most likely to be held in a multi-way cache, based on the last way accessed by the specified address register if available. If not available, then the system may determine that no best prediction is available. In that case, each way is read, and the superfluous values are disregarded, or a cache fill is performed as necessary. In certain embodiments, only a portion of the least significant bits of an add operation are used for way prediction in base-plus-offset addressing modes. This enables the decision to be made before the full-width add is complete, so that the clock cycle length is not unnecessarily lengthened by the prediction operation.Type: ApplicationFiled: June 16, 2014Publication date: December 17, 2015Applicant: ANALOG DEVICES TECHNOLOGYInventors: JOHN L. REDFORD, MICHAEL G. PERKINS
-
Patent number: 9201828Abstract: The present disclosure provides a memory interconnection architecture for a processor, such as a vector processor, that performs parallel operations. An example processor may include a compute array that includes processing elements; a memory that includes memory banks; and a memory interconnect network architecture that interconnects the compute array to the memory. In an example, the memory interconnect network architecture includes a switch-based interconnect network and a non-switch based interconnect network. The processor is configured to synchronously load a first data operand to each of the processing elements via the switch-based interconnect network and a second data operand to each of the processing elements via the non-switch-based interconnect network.Type: GrantFiled: December 19, 2012Date of Patent: December 1, 2015Assignee: Analog Devices, Inc.Inventors: Kaushal Sanghai, Boris Lerner, Michael G. Perkins, John L. Redford
-
Patent number: 9038042Abstract: Loop instructions are analyzed and assigned stage numbers based on dependencies between them and machine resources available. The loop instructions are selectively executed based on their stage numbers, thereby eliminating the need for explicit loop set-up and tear-down instructions. On a Single Instruction, Multiple Data machine, the final instance of each instruction may be executed on a subset of the processing elements or vector elements, dependent on the number of iterations of the original loop.Type: GrantFiled: June 29, 2012Date of Patent: May 19, 2015Assignee: ANALOG DEVICES, INC.Inventors: Michael G. Perkins, Andrew J. Higham
-
Publication number: 20140281435Abstract: In one particular example, this disclosure provides an efficient mechanism to determine the degree of parallelization possible for a loop in the presence of possible memory aliases that cannot be resolved at compile-time. Hardware instructions are provided that test memory addresses at run-time and set a mode or register that enables a single instance of a loop to run the maximum number of SIMD (Single Instruction, Multiple Data) lanes to run in parallel that obey the semantics of the original scalar loop. Other hardware features that extend applicability or performance of such instructions are enumerated.Type: ApplicationFiled: March 7, 2014Publication date: September 18, 2014Applicant: ANALOG DEVICES TECHNOLOGYInventors: Michael G. Perkins, John L. Redford, Kaushal Sanghai
-
Publication number: 20140115224Abstract: The present disclosure provides a memory interconnection architecture for a processor, such as a vector processor, that performs parallel operations. An example processor may include a compute array that includes processing elements; a memory that includes memory banks; and a memory interconnect network architecture that interconnects the compute array to the memory. In an example, the memory interconnect network architecture includes a switch-based interconnect network and a non-switch based interconnect network. The processor is configured to synchronously load a first data operand to each of the processing elements via the switch-based interconnect network and a second data operand to each of the processing elements via the non-switch-based interconnect network.Type: ApplicationFiled: December 19, 2012Publication date: April 24, 2014Applicant: Analog Devices, Inc.Inventors: Kaushal Sanghai, Boris Lerner, Michael G. Perkins, John L. Redford
-
Publication number: 20140115302Abstract: According to an example embodiment, a processor such as a digital signal processor (DSP), is provided with a register acting as a predicate counter. The predicate counter may include more than two useful values, and in addition to acting as a condition for executing an instruction, may also keep track of nesting levels within a loop or conditional branch. In some cases, the predicate counter may be configured to operate in single-instruction, multiple data (SIMD) mode, or SIMD-within-a-register (SWAR) mode.Type: ApplicationFiled: August 9, 2013Publication date: April 24, 2014Applicant: ANALOG DEVICES TECHNOLOGYInventors: Andrew J. Higham, Boris Lemer, Kaushal Sanghai, Michael G. Perkins, John L. Redford, Michael S. Allen
-
Publication number: 20140115301Abstract: The present disclosure provides a processor, and associated method, for performing parallel processing within a register. An exemplary processor may include a processing element having a compute unit and a register file. The register file includes a register that is divisible into lanes for parallel processing. The processor may further include a mask register and a predicate register. The mask register and the predicate register respective include a number of mask bits and predicate bits equal to a maximum number of divisible lanes of the register. A state of the mask bits and predicate bits is set to respectively achieve enabling/disabling of the lanes from executing an instruction and conditional performance of an operation defined by the instruction. Further, the processor is operable to perform a reduction operation across the lanes of the processing element and/or generate an address for each of the lanes of the processing element.Type: ApplicationFiled: January 10, 2013Publication date: April 24, 2014Applicant: Analog Devices TechnologyInventors: Kaushal Sanghai, Michael G. Perkins, Andrew J. Higham
-
Publication number: 20140007061Abstract: Loop instructions are analyzed and assigned stage numbers based on dependencies between them and machine resources available. The loop instructions are selectively executed based on their stage numbers, thereby eliminating the need for explicit loop set-up and tear-down instructions. On a Single Instruction, Multiple Data machine, the final instance of each instruction may be executed on a subset of the processing elements or vector elements, dependent on the number of iterations of the original loop.Type: ApplicationFiled: June 29, 2012Publication date: January 2, 2014Applicant: Analog Devices, Inc.Inventors: Michael G. Perkins, Andrew J. Higham
-
Patent number: 6188729Abstract: A video compression system comprises a control computer 52; a plurality of encoders 54, 56, 58; a plurality of encoder buffers 60, 62, 64; a multiplexor 66; a data channel 70; a demultiplexor 80; a decoder buffer 82; a decoder 84; and display 86. The control computer controls the encoders and the multiplexor 66 to avoid overflows and underflows of data provided to the decoder buffer 82.Type: GrantFiled: April 1, 1993Date of Patent: February 13, 2001Assignee: Scientific-Atlanta, Inc.Inventor: Michael G. Perkins
-
Patent number: 5859660Abstract: A method and apparatus for non-seamless splicing of audio-video transport streams configured in accordance with MPEG-2 or other suitable techniques. A first transport stream is to be spliced with a second transport stream at a splice point. The first stream is configured such that the final first stream frame to be displayed will be a black frame or will have another suitable characteristic. Null packets are then delivered in place of the first stream transport packets for a predetermined period of time after the splice point. The predetermined time is generally greater than the sum of the splice decoding delay associated with the splice point and the maximum frame duration in the first stream. The transport packets of the second stream are then delivered. Null packets may be again delivered for a period of time sufficient to allow the final frame of the second stream to be displayed.Type: GrantFiled: February 29, 1996Date of Patent: January 12, 1999Inventors: Michael G. Perkins, William L. Helms
-
Patent number: 5828414Abstract: A method and apparatus for reducing program clock reference (PCR) jitter in transport packets of a transport stream compliant with MPEG-2 or another suitable audio-video encoding standard. The PCRs from a given single program transport stream (SPTS) of a multi-program transport stream are processed in a phase-locked loop (PLL) to generate dejittered PCRs for that SPTS. The PLL for a given SPTS receives as inputs the PCRs from that SPTS and a cycle count for each PCR indicative of the number of asynchronous clock cycles counted since the previous PCR. The PLL generates a given dejittered PCR as a function of the previous dejittered PCR, the cycle count for the given PCR, and a clock frequency mismatch estimate for the given program clock. The clock frequency mismatch estimate is generated by filtering a sequence of jitter estimates, each corresponding to the difference between a previous PCR and its corresponding dejittered PCR.Type: GrantFiled: February 23, 1996Date of Patent: October 27, 1998Assignee: Divicom, Inc.Inventors: Michael G. Perkins, Thomas Lookabaugh
-
Patent number: 5420639Abstract: Methods for compressing data in a system employing vector quantization (VQ) and Huffman coding comprise: First, quantizing an input vector by representing the input vector with a VQ codevector selected from a VQ codebook partitioned into subsets, wherein each subset comprises codevectors and each codevector is stored at a corresponding address in the VQ codebook. Next, generating a rate dependent Huffman codeword for the selected codevector, wherein the rate dependent Huffman codeword identifies the subset of the VQ codebook in which the selected codevector is stored. And finally, generating a substantially rate independent Huffman codeword for the selected codevector, wherein the substantially rate independent Huffman codeword identifies a particular VQ codevector within the subset identified by the rate dependent Huffman codeword.Type: GrantFiled: April 1, 1993Date of Patent: May 30, 1995Assignee: Scientific-Atlanta, Inc.Inventor: Michael G. Perkins