Arithmetic Operation Instruction Processing Patents (Class 712/221)
  • Publication number: 20120047354
    Abstract: According to one embodiment, an information processing apparatus includes: a first verification section configured to perform true-false determination for a predetermined verification target using a verification item obtained by combining specified one of plural verification libraries respectively defining plural verification matters and an affirmative operator or a negative operator; a second verification section configured to subject, concerning the verification target, a true-false determination result of each of a plurality of the verification items verified by the first verification section to an arithmetic operation using a predetermined logical operator and obtain one arithmetic operation result; and an output section configured to output the arithmetic operation result of the second verification section.
    Type: Application
    Filed: August 17, 2011
    Publication date: February 23, 2012
    Applicant: TOSHIBA TEC KABUSHIKI KAISHA
    Inventors: Kenji Shimizu, Masanori Sambe
  • Patent number: 8117426
    Abstract: Systems and apparatuses are presented relating a programmable processor comprising an execution unit that is operable to decode and execute instructions received from an instruction path and partition data stored in registers in the register file into multiple data elements, the execution unit capable of executing group data handling operations that re-arrange data elements in different ways in response to data handling instructions, the execution unit further capable of executing a plurality of different group floating-point and group integer arithmetic operations that each arithmetically operates on the multiple data elements stored in registers in the register file to produce a catenated result that is returned to a register in the register file, wherein the catenated result comprises a plurality of individual results.
    Type: Grant
    Filed: July 27, 2007
    Date of Patent: February 14, 2012
    Assignee: Microunity Systems Engineering, Inc
    Inventors: Craig Hansen, John Moussouris, Alexia Massalin
  • Publication number: 20120030449
    Abstract: The present disclosure relates to methods and systems for data tag control for quantum dot cellular automata (QCA). An example method includes receiving data, associating a data tag with the data, communicating the data tag along a first wire-like element to a local tag decoder, reading instructions from the data tag using the local tag decoder, communicating the instructions to a processing element, communicating the data along a second wire-like element to the processing element, and processing the data with the processing element according to the instructions. A length of the first wire-like elements and a length of the second wire-like element are approximately the same such that communication of the instructions and the data to the processing element are synchronized.
    Type: Application
    Filed: July 30, 2010
    Publication date: February 2, 2012
    Inventors: Earl E. Swartzlander, JR., Inwook Kong
  • Publication number: 20120023313
    Abstract: An electronic circuit (4000) includes a bias value generator circuit (3900) operable to supply a varying bias value in a programmable range, and an instruction circuit (3625, 4010) responsive to a first instruction to program the range of said bias value generator circuit (3900) and further responsive to a second instruction having an operand to repeatedly issue said second instruction with said operand varied in an operand value range determined as a function of the varying bias value.
    Type: Application
    Filed: September 28, 2011
    Publication date: January 26, 2012
    Applicant: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Kenichi TASHIRO, Hiroyuki MIZUNO, Yuji UMEMOTO
  • Publication number: 20120017070
    Abstract: To provide a compile system, a compile method, and a compile program capable of improving the execution speed of a program. A compile system according to the present invention includes a primary arithmetic unit 030, a plurality of optimization arithmetic units 130 to n30, and a plurality of shared storage devices 132 to n32, each of the plurality of shared storage devices being able to be accessed from the primary arithmetic unit 030 and being associated with one of the plurality of optimization arithmetic units 130 to n30. The optimization arithmetic unit n30 includes optimization means n31 for generating an optimized actual instruction sequence 331 from an IR instruction sequence 330 and storing the generated optimized actual instruction sequence into a shared storage device corresponding to the optimization arithmetic unit itself.
    Type: Application
    Filed: February 9, 2010
    Publication date: January 19, 2012
    Inventor: Satoshi Hieda
  • Patent number: 8086830
    Abstract: An arithmetic processing apparatus capable of performing an arithmetic operation for generating a condition flag commonly referred to by using a condition flag generated on an arithmetic operation unit basis in as few steps as possible is provided. The arithmetic processing apparatus, which processes multiple data in parallel based on single instruction, includes: processing elements capable of performing a common arithmetic operation based on the evaluation result of the instruction stored in the instruction register; and a condition flag arithmetic operation unit capable of performing one of the logical operation and the comparison operation on the condition flag retained in each processing element, transferring the operation result to each processing element, and updating the condition flag based on the operation result.
    Type: Grant
    Filed: August 24, 2005
    Date of Patent: December 27, 2011
    Assignee: Panasonic Corporation
    Inventors: Takeshi Furuta, Hideshi Nishida, Takeshi Tanaka
  • Publication number: 20110314263
    Abstract: An arithmetic/logical instruction is executed having interlocked memory operands. when executed obtains a second operand from a location in memory, and saves a temporary copy of the second operand, the execution performs an arithmetic or logical operation based on the second operand and a third operand and stores the result in the memory location of the second operand, and subsequently stores the temporary copy in a first register.
    Type: Application
    Filed: June 22, 2010
    Publication date: December 22, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Dan F. Greiner, Marcel Mitran, Timothy J. Slegel
  • Publication number: 20110302393
    Abstract: When executing sequential processing such as a ladder logic, converting a program formed of an instruction set of another processor to a program executable by an own processor in software and then conducting processing lowers the real time property. In a control system, a storage unit stores a program for the own processor and a program for another processor. A processor reads data from the storage unit, executes processing described as a program, and gives an instruction to change over a method for acquiring data from the storage unit, to a conversion instruction unit according to data contents. A changeover unit is connected to the storage unit directly or via the conversion unit to change over the data acquiring method according to an instruction from the conversion instruction unit. The conversion unit converts data read from the storage unit to data executable by the processor, according to a conversion scheme.
    Type: Application
    Filed: June 6, 2011
    Publication date: December 8, 2011
    Inventors: Noritaka Matsumoto, Tsutomu Yamada, Akihiro Ohashi, Shin Kokura
  • Patent number: 8074058
    Abstract: The present invention provides extended precision in SIMD arithmetic operations in a processor having a register file and an accumulator. A first set of data elements and a second set of data elements are loaded into first and second vector registers, respectively. Each data element comprises N bits. Next, an arithmetic instruction is fetched from memory. The arithmetic instruction is decoded. Then, the first vector register and the second vector register are read from the register file. The present invention executes the arithmetic instruction on corresponding data elements in the first and second vector registers. The resulting element of the execution is then written into the accumulator. Then, the resulting element is transformed into an N-bit width element and written into a third register for further operation or storage in memory. The transformation of the resulting element can include, for example, rounding, clamping, and/or shifting the element.
    Type: Grant
    Filed: June 8, 2009
    Date of Patent: December 6, 2011
    Assignee: MIPS Technologies, Inc.
    Inventors: Timothy J. Van Hook, Peter Hsu, William A. Huffman, Henry P. Moreton, Earl A. Killian
  • Patent number: 8069333
    Abstract: A data processing device comprises a state manager for determining a logic number of configurational information to be used in a next state, the logic number representing information on a mutual relationship between items of configurational information included in an object code, based on a present operational state, a group of candidates for a state to transit to next, and an event signal issued from arithmetic units, a configuration number converter for outputting a real number corresponding to the logic number determined by the state manager, the configuration number converter having conversion information for converting the logic number into a real number representing a location where the corresponding configurational information is actually stored, and a configurational information storage for storing the configurational information and indicating configurational information corresponding to the real number output from the configuration number converter, to the arithmetic units and an interconnector.
    Type: Grant
    Filed: March 22, 2007
    Date of Patent: November 29, 2011
    Assignee: NEC Corporation
    Inventors: Kengo Nishino, Nobuki Kajihara, Takeshi Inuo
  • Patent number: 8065356
    Abstract: A programmable element for data processing comprises a crosspoint switch (318), a mathematical operation module (320), and a plurality of data hold modules (604,606). Each of the data hold modules (604,606) receives data from the crosspoint switch (318) and communicates the data to an input of the mathematical operation module (320) such that data arrives at the inputs of the mathematical operation module (320) substantially simultaneously. A first data hold module (604) communicates a first data valid signal to a second data hold module (606) upon receipt of first valid data, and the second data hold module communicates a second data valid signal to the first data hold module upon receipt of second valid data.
    Type: Grant
    Filed: December 20, 2006
    Date of Patent: November 22, 2011
    Assignee: L3 Communications Integrated Systems, L.P.
    Inventors: Jerry William Yancey, Yea Zong Kuo
  • Patent number: 8058896
    Abstract: A programming interface device for a programmable logic circuit comprises a series of parallel logic block chains each having first and second connection means, the first and second connection means being disposed at opposite ends of each chain. The programming interface device comprises first and second interfacing means for interfacing with the first and second connection means of each logic block chain, respectively and at least one programming circuit, each programming circuit arranged to configure a plurality of serially connected logic blocks. Finally, the programming interface comprises programmable connection means for connecting the connection means of each logic block chain to either the connection means of another logic block chain or directly to one of the at least one programming circuits, such that the parallel logic block chains can be configured in parallel, series or in any combination thereof.
    Type: Grant
    Filed: October 8, 2009
    Date of Patent: November 15, 2011
    Assignee: Panasonic Corporation
    Inventors: Simon Deeley, Anthony Stansfield
  • Publication number: 20110276790
    Abstract: Techniques are disclosed relating to a processor including instruction support for performing a Montgomery multiplication. The processor may issue, for execution, programmer-selectable instruction from a defined instruction set architecture (ISA). The processor may include an instruction execution unit configured to receive instructions including a first instance of a Montgomery-multiply instruction defined within the ISA. The Montgomery-multiply instruction is executable by the processor to operate on at least operands A, B, and N residing in respective portions of a general-purpose register file of the processor, where at least one of operands A, B, N spans at least two registers of general-purpose register file. The instruction execution unit is configured to calculate P mod N in response to receiving the first instance of the Montgomery-multiply instruction, where P is the product of at least operand A, operand B, and R??1.
    Type: Application
    Filed: May 7, 2010
    Publication date: November 10, 2011
    Inventors: Christopher H. Olson, Gregory F. Grohoski, Lawrence Spracklen, Nils Gura
  • Publication number: 20110271059
    Abstract: A hybrid computing environment in which the host computer allocates, in the shadow memory area of the host computer, a memory region for a packet to be written to the shared memory of an accelerator; writes packet data to the accelerator's shared memory in a memory region corresponding to the allocated memory region; inserts, in a next available element of the accelerator's descriptor array, a descriptor identifying the written packet data; increments the copy of the head pointer of the accelerator's descriptor array maintained on the host computer; and updates a copy of the head pointer of the accelerator's descriptor array maintained on the accelerator with the incremented copy.
    Type: Application
    Filed: April 30, 2010
    Publication date: November 3, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael E. Aho, Charles J. Archer, James E. Carey, Matthew W. Markland, Philip J. Sanders
  • Patent number: 8049760
    Abstract: The present disclosure describes implementations for processing instructions and data across multiple Arithmetic Logic Units (ALUs). In one implementation, a graphics processing apparatus comprises a plurality of ALUs configured to process independent instructions in parallel. Pre-processing logic is configured to receive instructions and associated data to be directed to one of the plurality of ALUs for processing from a register file, the pre-processing logic being configured to selectively format received instructions for delivery to a plurality of the ALUs. In addition, post-processing logic is configured to receive data output from the plurality of the ALUs and deliver the received data to the register file for write-back, the post-processing logic being configured to selectively format data output from a plurality of the ALUs for delivery to the register file as though the data had been output by a single ALU.
    Type: Grant
    Filed: December 13, 2006
    Date of Patent: November 1, 2011
    Assignee: Via Technologies, Inc.
    Inventors: Yang (Jeff) Jiao, Chien Te Ho
  • Publication number: 20110264896
    Abstract: A microprocessor receives first and second program-adjacent macroinstructions of the instruction set architecture of the microprocessor. The first macroinstruction instructs the microprocessor to move a first operand to a first architectural register from a second architectural register. The second macroinstruction instructs the microprocessor to perform an arithmetic/logic operation using the first operand in the second architectural register and a second operand in a third architectural register to generate a result and to load the result back into the first architectural register. An instruction translator simultaneously translates the first and second program-adjacent macroinstructions into a single micro-operation for execution by an execution unit.
    Type: Application
    Filed: February 25, 2011
    Publication date: October 27, 2011
    Applicant: VIA Technologies, Inc.
    Inventor: Terry Parks
  • Patent number: 8041927
    Abstract: A processor (and method) of processing multiple data by a single instruction includes first and second register sets each of which includes a plurality of registers, and an arithmetic unit to rearrange data being registered in the first and second register sets according to a relative size of an absolute value of the data between the first and second register sets so that the relative size is defined before executing an instruction considering the relative size.
    Type: Grant
    Filed: April 7, 2009
    Date of Patent: October 18, 2011
    Assignee: NEC Corporation
    Inventor: Yusuke Kobayashi
  • Publication number: 20110246789
    Abstract: An integrated circuit including a multiplication function configured to execute a multiplication operation of two binary words x and y including a plurality of basic multiplication steps of components xi of word x by components yj of word y is described. The multiplication function of the integrated circuit is configured to execute two successive multiplications by modifying, in a random or pseudo-random manner, an order in which the basic multiplication steps of components xi by components yj are executed.
    Type: Application
    Filed: March 31, 2010
    Publication date: October 6, 2011
    Applicant: INSIDE CONTACTLESS
    Inventors: Benoit FEIX, Georges GAGNEROT, Mylene ROUSSELLET, Vincent VERNEUIL
  • Publication number: 20110238957
    Abstract: According to one embodiment, a software conversion program product having a computer readable medium including programmed instructions, wherein the instructions, when executed by a computer system including a host processor and one or more accelerator processors, causes the computer system to perform: analyzing input software and obtaining a compute intensity calculated by dividing the number of arithmetic processing times in a loop by the size of data accessed in the loop and a data reference area size that is a total size of areas where data is referred to; determining a processor that executes loops on the basis of obtained values and a preliminarily prepared win-loss table in which wins and losses of execution times between the host processor and the accelerator processor are defined; and converting the input software so that the determined processor executes the loops.
    Type: Application
    Filed: September 14, 2010
    Publication date: September 29, 2011
    Applicant: KABUSHIKI KAISHA TOSHIBA
    Inventors: Yusuke SHIROTA, Osamu Torii
  • Publication number: 20110238956
    Abstract: A mechanism is provided in a collective acceleration unit for performing a collective operation to distribute or collect data among a plurality of participant nodes. The mechanism receives an input collective packet for a collective operation from a neighbor node within a collective tree. The input collective packet comprises a tree identifier and an input data field and wherein the collective tree comprises a plurality of sub trees. The mechanism maps the tree identifier to an index within the collective acceleration unit. The index identifies a portion of resources within the collective acceleration unit and is associated with a set of neighbor nodes in a given sub tree within the collective tree. For each neighbor node the collective acceleration unit stores destination information. The collective acceleration unit performs an operation on the input data field using the portion of resources to effect the collective operation.
    Type: Application
    Filed: March 29, 2010
    Publication date: September 29, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Lakshminarayana B. Arimilli, Bernard C. Drerup, Paul F. Lecocq, Hanhong Xue
  • Publication number: 20110238958
    Abstract: A data processing device has an instruction decoder, a control logic unit, and ALU. The instruction decoder decodes instruction codes of an arithmetic instruction. The control logic unit detects the effective data width of operation data to be processed according to the decode result from the instruction decoder and determines the number of cycles for the instruction execution corresponding to the effective, data width. The ALU executes the instruction with the number of cycles of the instruction execution determined by the control logic unit.
    Type: Application
    Filed: May 23, 2011
    Publication date: September 29, 2011
    Applicant: Renesas Electronics Corporation
    Inventors: Sugako OHTANI, Hiroyuki Kondo
  • Patent number: 8024678
    Abstract: An interface to a dynamically configurable arithmetic unit can include data alignment modules, where each data alignment module receives input variables being associated with one or more arithmetic expressions. The interface can include multiplexers coupled to the data alignment modules, wherein a data alignment module has outputs coupled to a first multiplexer. The first multiplexer can have a selection line and an output coupled to an input port of the dynamically configurable arithmetic unit. The interface can include a second multiplexer having input instructions and the selection line, where each instruction is associated with one of the arithmetic expressions and has an operation to be performed by the dynamically configurable arithmetic unit. The second multiplexer is configurable to provide selected ones of the input instructions to the dynamically configurable arithmetic unit through an output of the second multiplexer responsive to the selection line.
    Type: Grant
    Filed: April 1, 2009
    Date of Patent: September 20, 2011
    Assignee: Xilinx, Inc.
    Inventors: Bradley L. Taylor, Arvind Sundararajan, Shay Ping Seng, L. James Hwang
  • Patent number: 8015471
    Abstract: A hardware accelerator includes a first buffer, a second buffer, address generator(s), a translation read-only memory (ROM), a cyclic redundancy check (CRC) generator, a convolutional encoder and a controller. The first and second buffers store information bits. The address generator(s) generate(s) an address for accessing the first buffer, the second buffer and a shared memory architecture (SMA). The translation ROM is used in generating a translated address for accessing the first buffer and the second buffer. The controller sets parameters for the CRC generator, the convolutional encoder and the address generator, and performs a predefined sequence of control commands for channel processing, such as reordering, block coding, parity tailing, puncturing, convolutional encoding, and interleaving, on the information bits by manipulating the information bits while moving the information bits among the first buffer, the second buffer, the SMA, the CRC generator, and the convolutional encoder.
    Type: Grant
    Filed: July 12, 2007
    Date of Patent: September 6, 2011
    Assignee: InterDigital Technology Corporation
    Inventor: Edward L. Hepler
  • Publication number: 20110208952
    Abstract: A programmable controller which executes a plurality of independent sequence programs in parallel is provided with an ASIC, including a plurality of arithmetic-logic units and a plurality of arbitration circuits, and MPUs as many as the arbitration circuits. The entire execution time of the programmable controller is shortened by changing combinations (groups of arithmetic-logic units) of the MPUs (and the arbitration circuits as many as the MPUs) and the arithmetic-logic units, based on the ratios of MPU execution instructions and ASIC execution instructions included in those instructions which constitute the programs to be executed in parallel.
    Type: Application
    Filed: February 18, 2011
    Publication date: August 25, 2011
    Applicant: FANUC CORPORATION
    Inventors: Masuo KOKURA, Yasushi Nomoto, Motoyoshi Miyachi
  • Publication number: 20110208951
    Abstract: A method of executing a program instruction is disclosed. An instruction operand stored at a register of a register file is accessed by an execution unit using multiple access requests. A first portion of the execution unit provides a first access request to a first access port of the register file to access a first portion of the instruction operand. A second portion of the execution unit provides a second access request to a second access port of the register file to access a second portion of the instruction operand. The register file can be configured into physically separate portions.
    Type: Application
    Filed: February 22, 2010
    Publication date: August 25, 2011
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventor: Scott A. Hilker
  • Patent number: 8001360
    Abstract: A system and software for improving the performance of processors by incorporating an execution unit operable to decode and execute single instructions specifying a data selection operand and a first and a second register providing a plurality of data elements, the data selection operand comprising a plurality of fields each selecting one of the plurality of data elements, the execution unit operable to provide the data element selected by each field of the data selection operand to a predetermined position in a catenated result.
    Type: Grant
    Filed: January 16, 2004
    Date of Patent: August 16, 2011
    Assignee: Microunity Systems Engineering, Inc.
    Inventors: Craig Hansen, John Moussouris
  • Patent number: 7996654
    Abstract: The present invention provides system and method for a group priority issue schema for a cascaded pipeline. The system includes a cascaded delayed execution pipeline unit having a plurality of execution pipelines that execute instructions in a common issue group in a delayed manner relative to each other. The system further includes circuitry configured to: (1) receive an issue group of instructions, (2) determine the dependency chain depth of all the instructions in the issue group, (3) schedule the instructions in an order of the longest dependency chain depth to shortest dependency chain depth, and (4) execute the issue group of instructions in the cascaded delayed execution pipeline unit.
    Type: Grant
    Filed: February 19, 2008
    Date of Patent: August 9, 2011
    Assignee: International Business Machines Corporation
    Inventor: David A. Luick
  • Patent number: 7996657
    Abstract: A reconfigurable computing circuit for reducing the amount of dummy data to be stored in data registers, which is required when the wiring is shared by the configuration information bus and scan chain. When data is to be stored in data registers and configuration registers constituting the scan chain in reconfig computing block 2010, reg setting data selecting unit 3400 selects either a value stored in reg setting data storage unit 3000 or an initial value output from data reg data generating unit 4000, based on the information stored in reg type managing unit 1100 that indicates the types of registers and the connection order of the registers in the scan chain, and outputs the selected value in sequence to the scan chain under control of scan/reconfig control unit 1000. Each register in the scan chain then shifts data stored therein to the next register in the scan chain in sequence.
    Type: Grant
    Filed: April 18, 2008
    Date of Patent: August 9, 2011
    Assignee: Panasonic Corporation
    Inventors: Masaki Maeda, Takahiro Ichinomiya
  • Publication number: 20110191638
    Abstract: A parallel computer system includes a first, a second, and a third apparatuses. The first apparatus includes a first arithmetic processing unit that stores first information regarding execution of a first program stored in a first area of a first storage device in a second area of the first storage device, outputs the first information, and sends a first notification of output of the first information. The second apparatus includes a second arithmetic processing unit that stores second information regarding execution of a second program stored in a third area of a second storage device in a fourth area of the second storage device, receives the first notification from the first apparatus, and outputs the second information. The third apparatus includes a third arithmetic processing unit that stores the first information and the second information in a third storage device.
    Type: Application
    Filed: January 18, 2011
    Publication date: August 4, 2011
    Applicant: Fujitsu Limited
    Inventors: Jun Moroo, Masahiko Yamada
  • Patent number: 7987344
    Abstract: A programmable processor and method for improving the performance of processors by incorporating an execution unit configurable to execute a plurality of instruction streams from the plurality of threads, wherein each instruction stream includes a group instruction that operates on a plurality of data elements in partitioned fields of at least one of the registers to produce a catenated result.
    Type: Grant
    Filed: January 16, 2004
    Date of Patent: July 26, 2011
    Assignee: Microunity Systems Engineering, Inc.
    Inventors: Craig Hansen, John Moussouris
  • Patent number: 7984270
    Abstract: The present invention provides a system and method for prioritizing arithmetic instructions in a cascaded pipeline. The system includes a cascaded delayed execution pipeline unit having a plurality of execution pipelines that execute instructions in a common issue group in a delayed manner relative to each other. The system further includes circuitry configured to: (1) receive an issue group of instructions; (2) determine if at least one arithmetic instruction is in the issue group, if so scheduling the least one arithmetic instruction in a one of the plurality of execution pipelines based upon a first prioritization scheme; (3) determine if there is an issue conflict for one of the plurality of execution pipelines and resolving the issue conflict by scheduling the at least one arithmetic instruction in a different execution pipeline; (4) schedule execution of the issue group of instructions in the cascaded delayed execution pipeline unit.
    Type: Grant
    Filed: February 19, 2008
    Date of Patent: July 19, 2011
    Assignee: International Business Machines Corporation
    Inventor: David A. Luick
  • Publication number: 20110161638
    Abstract: Disclosed herein are efficient geometries for dynamical topology changing (DTC), together with protocols to incorporate DTC into quantum computation. Given an Ising system, twisted depletion to implement a logical gate T, anyonic state teleportation into and out of the topology altering structure, and certain geometries of the (1,?2)-bands, a classical computer can be enabled to implement a quantum algorithm.
    Type: Application
    Filed: December 28, 2010
    Publication date: June 30, 2011
    Applicant: Microsoft Corporation
    Inventors: Michael Freedman, Parsa Bonderson, Chetan Nayak, Sankar Das Sarma
  • Patent number: 7971037
    Abstract: A data processing device has an instruction decoder (1), a control logic unit (3), and ALU (4). The instruction decoder (1) decodes instruction codes of an arithmetic instruction. The control logic unit (3) detects the effective data width of operation data to be processed according to the decode result from the instruction decoder (1) and determines the number of cycles for the instruction execution corresponding to the effective data width. The ALU (4) executes the instruction with the number of cycles of the instruction execution determined by the control logic unit (3).
    Type: Grant
    Filed: May 26, 2009
    Date of Patent: June 28, 2011
    Assignee: Renesas Electronics Corporation
    Inventors: Sugako Ohtani, Hiroyuki Kondo
  • Publication number: 20110153995
    Abstract: Disclosed are an arithmetic apparatus including MAC calculation, and a DSP structure and a filtering method using the same. The arithmetic apparatus includes: first and second registers storing one or more pieces of n-bit data (n is a natural number); a third register storing one or more pieces of 2n bit data; a multiplier having a first input terminal connected to the first register, a second input terminal connected to the second and third registers, and multiplying an input value of the first input terminal and that of the second input terminal; and an arithmetic-logic unit (ALU) having a first input terminal connected to an output terminal of the multiplier and a second input terminal feedback-connected to an output terminal, adding an input value of the first terminal and that of the second terminal, and having the output terminal connected to the third register.
    Type: Application
    Filed: December 16, 2010
    Publication date: June 23, 2011
    Applicant: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
    Inventors: Kyung Jin BYUN, Seong Mo Park, Nak Woong Eum
  • Publication number: 20110153994
    Abstract: A method in one aspect may include receiving a multiply instruction. The multiply instruction may indicate a first source operand and a second source operand. A product of the first and second source operands may be stored in one or more destination operands indicated by the multiply instruction. Execution of the multiply instruction may complete without writing a carry flag. Other methods are also disclosed, as are apparatus, systems, and instructions on machine-readable medium.
    Type: Application
    Filed: December 22, 2009
    Publication date: June 23, 2011
    Inventors: Vinodh Gopal, James D. Guilford, Wajdi K. Feghali, Erdinc Ozturk, Gilbert M. Wolrich, Martin G. Dixon, Mark C. Davis, Sean P. Mirkes, Alexandre Farcy, Bret L. Toll, Maxim Loktyukhin
  • Publication number: 20110153993
    Abstract: A method in one aspect may include receiving an add instruction. The add instruction may indicate a first source operand, a second source operand, and a third source operand. A sum of the first, second, and third source operands may be stored as a result of the add instruction. The sum may be stored partly in a destination operand indicated by the add instruction and partly a plurality of flags. Other methods are also disclosed, as are apparatus, systems, and instructions on machine-readable medium.
    Type: Application
    Filed: December 22, 2009
    Publication date: June 23, 2011
    Inventors: Vinodh Gopal, James D. Guilford, Gilbert M. Wolrich, Wajdi K. Feghali, Erdinc Ozturk, Martin G. Dixon, Sean P. Mirkes, Bret L. Toll, Maxim Loktyukhin, Mark C. Davis, Alexandre J. Farcy
  • Patent number: 7962729
    Abstract: Software defects (e.g., array access out of bounds, stack overflow, infinite loops, and data corruption) occur due to integer values falling outside their expected range. Because programming languages do not include range-checking instructions as part of their language, to detect software defects and ensure that the code runs smoothly, programmers generally use 1) runtime assertions and/or 2) sub-range data types. However, these techniques cause additional conditional branches, incur additional overhead, and decrease processor performance. Processors comprising a range checking hardware feature supported by machine instructions for runtime integer range checking can eliminate the conditional branches generated during runtime integer range checks. Programming language extensions for the range checking hardware can allow dynamic range bounds to be defined during runtime without decreasing the processor's performance. This can allow for easier programming and code that is easier to maintain.
    Type: Grant
    Filed: January 5, 2009
    Date of Patent: June 14, 2011
    Assignee: International Business Machines Corporation
    Inventor: Jose G. Rivera
  • Patent number: 7962719
    Abstract: Efficient computation of complex multiplication results and very efficient fast Fourier transforms (FFTs) are provided. A parallel array VLIW digital signal processor is employed along with specialized complex multiplication instructions and communication operations between the processing elements which are overlapped with computation to provide very high performance operation. Successive iterations of a loop of tightly packed VLIWs are used allowing the complex multiplication pipeline hardware to be efficiently used. In addition, efficient techniques for supporting combined multiply accumulate operations are described.
    Type: Grant
    Filed: August 7, 2008
    Date of Patent: June 14, 2011
    Inventors: Nikos P. Pitsianis, Gerald George Pechanek, Ricardo Rodriguez
  • Publication number: 20110131395
    Abstract: The method for implementing a characteristic-2-multiplication of at least two input bit strings each having a number N of bits by means of a processor unit suitable for carrying out an integer multiplication, having the following steps: a) generating at least one sequence of a number K of zero bits, using K?{l, . . . , N}, by means of a first transformation of the respective input bit string to at least one predetermined position in the respective input bit string for generating at least one first intermediate bit string; b) linking the at least two first intermediate bit strings by means of the integer multiplication of the processor unit for generating at least one second intermediate bit string; and c) transforming the at least one second intermediate bit string by means of a second transformation for generating a result bit string.
    Type: Application
    Filed: May 22, 2009
    Publication date: June 2, 2011
    Inventors: Jean Georgiades, Bernd Meyer
  • Publication number: 20110125988
    Abstract: In an arithmetic processing unit adopting register windows, a configuration is made such that the reading process of a register file is controlled by two stages of a current window selection and a register selection, and the register selected at a plurality of reading ports of the register is set to each port in advance such that it will be out-of-order executable. Accordingly, the process of reading the data into an arithmetic section is possible without having a temporary memory, and an instruction subsequent to a window switching instruction is also out-of-order executable.
    Type: Application
    Filed: January 31, 2011
    Publication date: May 26, 2011
    Applicant: FUJITSU LIMITED
    Inventor: Yoshiteru OHNUKI
  • Publication number: 20110125987
    Abstract: A dedicated arithmetic decoding instruction is disclosed. In a particular embodiment, an apparatus includes a memory and a processor coupled to the memory. The processor is configured to execute general purpose instructions and to execute a dedicated arithmetic decoding instruction retrieved from the memory.
    Type: Application
    Filed: November 20, 2009
    Publication date: May 26, 2011
    Applicant: QUALCOMM INCORPORATED
    Inventors: Erich James Plondke, Lucian Codrescu, Ajay Anant Ingle, Mao Zeng, Christopher Edward Koob, Charles Joseph Tabony
  • Patent number: 7940277
    Abstract: A programmable processor and method for improving the performance of processors by expanding at least two source operands, or a source and a result operand, to a width greater than the width of either the general purpose register or the data path width. The present invention provides operands which are substantially larger than the data path width of the processor by using the contents of a general purpose register to specify a memory address at which a plurality of data path widths of data can be read or written, as well as the size and shape of the operand. In addition, several instructions and apparatus for implementing these instructions are described which obtain performance advantages if the operands are not limited to the width and accessible number of general purpose registers.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: May 10, 2011
    Assignee: MicroUnity Systems Engineering, Inc.
    Inventors: Craig Hansen, John Moussouris, Alexia Massalin
  • Patent number: 7941649
    Abstract: A SIMD processor responds to a single min/max instruction to find the minimum or maximum valued data unit in an array of data units. The determined minimum/maximum value and an associated index value thereto may be output. Alternatively, the value of a data unit in another array may be output at a corresponding location. A further single instruction executable by the SIMD processor, may be applied to results obtained using such a single min/max instruction, to allow such instructions to operate on two dimensional arrays.
    Type: Grant
    Filed: September 5, 2008
    Date of Patent: May 10, 2011
    Assignee: Broadcom Corporation
    Inventors: Richard J. Selvaggi, Larry A. Pearlstein
  • Patent number: 7941650
    Abstract: Provided are a microprocessor based on event-processing instruction set and an event-processing method using the same. The microprocessor includes an event register controlling an event according to an event-processing instruction set provided in an instruction set architecture (ISA) and an event controller transmitting externally generated events into the microprocessor. Therefore, the microprocessor may be useful to reduce its unnecessary power consumption by suspending the execution of its program when an instruction decoded to execute the program is an event-processing instruction, and also to cut off its unnecessary power consumption that is caused for an interrupt delay period since the program of the microprocessor may be executed again by immediately re-running the microprocessor with the operation of the event register and the event controller when external events are generated.
    Type: Grant
    Filed: June 10, 2008
    Date of Patent: May 10, 2011
    Assignee: Electronics and Telecommunications Research Institute
    Inventors: Young Woo Kim, Myeong Hoon Oh, Chi Hoon Shin, Sung Nam Kim, Seong Woon Kim, Myung Joon Kim
  • Publication number: 20110107063
    Abstract: There is provided a vector processing apparatus and method allowing for the parallel processing of a plurality of different instructions while maintaining vector processing architecture. The vector processing apparatus includes an instruction memory storing a multiple instruction group including one or more instructions; an instruction fetch unit reading the multiple instruction group from the instruction memory; and a plurality of instruction processing units each receiving the multiple instruction group through the instruction fetch unit, selecting a single instruction from the multiple instruction group according to a previous arithmetic result, and performing a arithmetic operation.
    Type: Application
    Filed: August 2, 2010
    Publication date: May 5, 2011
    Applicant: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
    Inventors: Moo Kyoung Chung, Young Su Kwon, Kyung Su Kim
  • Patent number: 7937568
    Abstract: A method, system and processor for increasing the instruction throughput in a processor executing longer latency instructions within the instruction pipeline. Logic associated with specific stages of the execution pipeline, responsible for executing the particular type of instructions, determines when at least a threshold number of the particular-type instructions is scheduled to be executed. The logic then automatically changes an execution cycle frequency of the specific pipeline stages from a first cycle frequency to a second, pre-established higher cycle frequency, which enables more efficient execution and higher execution throughput of the particular-type instructions. The cycle frequency of only the one or more functional stages are switched to the higher cycle frequency independent of the cycle frequency of the other functional stages in the processor pipeline.
    Type: Grant
    Filed: July 11, 2007
    Date of Patent: May 3, 2011
    Assignee: International Business Machines Corporation
    Inventors: Anthony Correale, Jr., Kenichi Tsuchiya
  • Publication number: 20110099356
    Abstract: A device for real-time correction of set-point signals intended to receive at the input set-point signals and to deliver at its output set-point signals that are modified to compensate for defects, negative effects or the like subsequently encountered during the processing and/or the application of the set-point signals. This device (1) includes at least one circuit (1?) that is based on a microprogrammed structure and composed of several subassemblies (3, 4, 5, 6, 6?) that work with digital components essentially including a micro-sequencer (3) forming a counter, a memory (4) for storing micro-instructions, and a processing unit (5) combined with at least one working memory (6, 6?) and integrating arithmetic calculation modules (7, 7?), whereby the processing unit (5) modifies the data of set-point signals in accordance with the micro-instructions that are addressed by the micro-sequencer (3) and by taking into account the correction coefficients that are provided.
    Type: Application
    Filed: October 26, 2010
    Publication date: April 28, 2011
    Applicant: BRUKER BIOSPIN
    Inventor: Ernest SCHAEFER
  • Publication number: 20110099352
    Abstract: There is provided a method of performing single instruction multiple data (SIMD) operations. The method comprises storing a plurality of arrays in memory for performing SIMD operations thereon; determining a total number of SIMD operations to be performed on the plurality of arrays; loading a counter with the total number of SIMD operations to be performed on the plurality of arrays; enabling a plurality of arithmetic logic units (ALUs) to perform a first number of operations on first elements of the plurality of arrays; performing the first number of operations on first elements of the plurality of arrays using the plurality of ALUs; decrementing the counter by the first number of operations to provide a remaining number of operations; and enabling a number of the plurality of ALUs to perform the remaining number of operations on second elements of the plurality of arrays.
    Type: Application
    Filed: November 23, 2009
    Publication date: April 28, 2011
    Applicant: Mindspeed Technologies, Inc.
    Inventor: Patrick D. Ryan
  • Patent number: 7930521
    Abstract: Methods and apparatus are provided for reducing the amount of resources allocated for handling multiplexing in a processor. Characteristics associated with processing blocks are analyzed. Operand restrictions and register groups can be configured to allow the use of more resource efficient multiplexing circuitry in a processor.
    Type: Grant
    Filed: June 11, 2008
    Date of Patent: April 19, 2011
    Assignee: Altera Corporation
    Inventor: Paul Metzgen
  • Patent number: RE43145
    Abstract: A processor which executes positive conversion processing, which converts coded data into uncoded data, and saturation calculation processing, which rounds a value to an appropriate number of bits, at high speed. When a positive conversion saturation calculation instruction “MCSST D1” is decoded, the sum-product result register 6 outputs its held value to the path P1. The comparator 22 compares the magnitude of the held value of the sum-product result register 6 with the coded 32-bit integer “0x0000_00FF”. The polarity judging unit 23 judges whether the eighth bit of the value held by the sum-product result register 6 is “ON”. The multiplexer 24 outputs one of the maximum value “0x0000_00FF” generated by the constant generator 21, the zero value “0x0000_0000” generated by the zero generator 25, and the held value of the sum-product result register 6 to the data bus 18.
    Type: Grant
    Filed: December 21, 2004
    Date of Patent: January 24, 2012
    Assignee: Panasonic Corporation
    Inventors: Toru Morikawa, Nobuo Higaki, Akira Miyoshi, Keizo Sumida