Instruction Modification Based On Condition Patents (Class 712/226)
  • Patent number: 7954093
    Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.
    Type: Grant
    Filed: September 14, 2007
    Date of Patent: May 31, 2011
    Assignee: International Business Machines Corporation
    Inventor: Mike Stephen Fulton
  • Publication number: 20110125986
    Abstract: A method of reducing inter-task latency for software comprising a sequence of instructions including a synchronous remote procedure call to be executed on a multiprocessor system comprising a calling processor and at least one remote engine. The method comprises the steps of: inputting the software; inputting a runtime resource description describing a runtime environment of the multiprocessor system; identifying the synchronous remote procedure call in the sequence of instructions; replacing the synchronous remote procedure call in the sequence of instructions with an initiation instruction and a wait instruction to generate a substitute sequence of instructions; reordering the substitute sequence of instructions with reference to the runtime resource description and the dependencies to generate a reordered sequence of instructions; and outputting the reordered sequence of instructions.
    Type: Application
    Filed: November 25, 2009
    Publication date: May 26, 2011
    Applicant: ARM Limited
    Inventor: Alastair David Reid
  • Publication number: 20110107070
    Abstract: An information processing device comprises a memory carrying a program, and a processor capable of executing the program. The program instructs the processor to determine whether a selected identifier is contained in a set of identifiers, and, if the processor has determined that the identifier is contained in the set of identifiers, to execute a patch instruction identified by the identifier, and, if the processor has determined that the identifier is not contained in the set of identifiers, to execute an original instruction identified by the identifier. The memory may comprise a read-only memory (ROM) and a random access memory (RAM), the ROM carrying the original instruction and the RAM carrying the patch instruction and the set of identifiers. A method of executing a program on an information processing device and a method of modifying a program on an information processing device are also disclosed.
    Type: Application
    Filed: June 23, 2008
    Publication date: May 5, 2011
    Inventors: Grig Barbulescu, Nicusor Penisoara
  • Patent number: 7937565
    Abstract: The method and system for data speculation of multicore systems are disclosed. In one embodiment, a method includes dynamically determining whether a current speculative load instruction and an associated store instruction have same memory addresses in an application thread in compiled code running on a main core using a dynamic helper thread running on a idle core substantially before encountering the current speculative load instruction. The instruction sequence associated with the current speculative load instruction is then edited by the dynamic helper thread based on the outcome of the determination so that the current speculative load instruction becomes a non-speculative load instruction.
    Type: Grant
    Filed: February 21, 2008
    Date of Patent: May 3, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Sandya Srivilliputtur Mannarswamy, Hariharan Sandanagobalane
  • Patent number: 7934075
    Abstract: A computer array (10) has a plurality of computers (12). The computers (12) communicate with each other asynchronously and operate in a generally asynchronous manner internally. When one computer (12) attempts to communicate with another it goes to sleep until the other computer (12) is ready to complete the transaction, thereby saving power and reducing heat production. The instructions executed by the computers (12) can include a micro-loop (100) which is capable of performing a series of operations repeatedly. In one application, the sleeping computer (12) is awakened by an input such that it commences an action that would otherwise required an interrupt of an otherwise active computer. For example, one computer (12f) can be used to monitor an input/output port of the computer array (10).
    Type: Grant
    Filed: May 26, 2006
    Date of Patent: April 26, 2011
    Assignee: VNS Portfolio LLC
    Inventors: Charles H. Moore, Jeffrey Arthur Fox, John W. Rible
  • Patent number: 7925804
    Abstract: A FIFO device includes: a FIFO buffer that holds a transfer request transferred from a bus and including a write address, a data size, and write data, and outputs the transfer request to a bus; and a transfer request generation unit that receives, from the bus, a first transfer request and a second transfer request subsequent to the first transfer request, to determine whether the second transfer request can be combined with the first transfer request based on a write address and a data size of the first transfer request and a write address and a data size of the second transfer request, and when determining that the transfer requests can be combined together, holds a combined transfer request obtained by combining the first transfer request and the second transfer request together, to store the combined transfer request in the FIFO buffer.
    Type: Grant
    Filed: June 5, 2009
    Date of Patent: April 12, 2011
    Assignee: Renesas Electronics Corporation
    Inventor: Masatoshi Nara
  • Patent number: 7921278
    Abstract: An “early exit” of an iterative refinement algorithm is implemented by effectively disabling read after write dependency stalls of newer instructions, as well as disabling the register write enable of these instructions, for the remainder of the algorithm, in addition to disabling the register write enable of these instructions. By doing so, the latency of the algorithm is reduced and the performance is increased without the complexity and potential poor performance of compare and branch instructions that might otherwise be required.
    Type: Grant
    Filed: March 10, 2008
    Date of Patent: April 5, 2011
    Assignee: International Business Machines Corporation
    Inventors: Adam James Muff, Matthew Ray Tubbs
  • Publication number: 20110078610
    Abstract: An information processing system includes: a division instruction receiving unit that receives a first instruction which instructs division processing to an object; a division processing execution unit that executes the division processing to the object according to the first instruction to generate a plurality of objects; a memory that stores state information of the object and the plurality of objects; a restoration instruction receiving unit that receives designation of at least one of the plurality of objects and a second instruction which instructs restoration processing of the object; and a restoration processing execution unit that executes the restoration processing of the object on the basis of the state information, according to the second instruction.
    Type: Application
    Filed: November 29, 2010
    Publication date: March 31, 2011
    Applicant: FUJI XEROX CO., LTD.
    Inventor: KIYOSHI TASHIRO
  • Patent number: 7913066
    Abstract: A programmable “early exit” of an iterative refinement algorithm is implemented by effectively disabling read after write dependency stalls of newer instructions, as well as disabling the register write enable of these instructions, for the remainder of the algorithm, in addition to disabling the register write enable of these instructions. In addition, programmable logic is provided to enable a custom early exit condition to be specified for the iterative refinement algorithm so that the underlying hardware can be configured for optimal execution of particular iterative refinement algorithms. By doing so, the latency of the algorithm is reduced and the performance is increased without the complexity and potential poor performance of compare and branch instructions that might otherwise be required.
    Type: Grant
    Filed: March 10, 2008
    Date of Patent: March 22, 2011
    Assignee: International Business Machines Corporation
    Inventors: Adam James Muff, Matthew Ray Tubbs
  • Publication number: 20110066829
    Abstract: An approach to region selection which extends beyond traces and selects super-regions. A super-region (SR) contains arbitrary control flow, such as interprocedural nested loops, that provides a larger scope for transformation (e.g. optimization) than traces. Hardware samples are used to identify SRs that contain the hot code of a client process without requiring any static program information.
    Type: Application
    Filed: September 14, 2009
    Publication date: March 17, 2011
    Inventors: Steven T. Tye, Michael Bedy, Richard L. Ford, Alex Shye
  • Patent number: 7904891
    Abstract: In one embodiment, after translating a plurality of target instructions from a target memory location into a plurality of host instructions, a write operation to a target memory portion which includes said target memory location is detected. In response to the detecting, a copy of the target instructions is stored in a host memory. In response to an attempt to execute the host instructions, the copy is compared with a plurality of current target instructions presently stored in the target memory location. Further, in response to a mismatch based on the comparison, the host instructions are disabled.
    Type: Grant
    Filed: July 22, 2008
    Date of Patent: March 8, 2011
    Inventors: John Banning, H. Peter Anvin, Robert Bedichek, Guillermo J. Rozas, Andrew Shaw, Linus Torvalds, Jason Wilson
  • Publication number: 20110055527
    Abstract: A method and system are described for generating reference tables in object code which specify the addresses of branches, routines called, and data references used by routines in the code. In a suitably equipped processing system, the reference tables can be passed to a memory management processor which can open the appropriate memory pages to expedite the retrieval of data referenced in the execution pipeline. The disclosed method and system create such reference tables at the beginning of each routine so that the table can be passed to the memory management processor in a suitably equipped processor. Resulting object code also allows processors lacking a suitable memory management processor to skip the reference table, preserving upward compatibility.
    Type: Application
    Filed: November 8, 2010
    Publication date: March 3, 2011
    Inventor: Dean A. Klein
  • Publication number: 20110047362
    Abstract: Mechanisms are provided for controlling version pressure on a speculative versioning cache. Raw version pressure data is collected based on one or more threads accessing cache lines of the speculative versioning cache. One or more statistical measures of version pressure are generated based on the collected raw version pressure data. A determination is made as to whether one or more modifications to an operation of a data processing system are to be performed based on the one or more statistical measures of version pressure, the one or more modifications affecting version pressure exerted on the speculative versioning cache. An operation of the data processing system is modified based on the one or more determined modifications, in response to a determination that one or more modifications to the operation of the data processing system are to be performed, to affect the version pressure exerted on the speculative versioning cache.
    Type: Application
    Filed: August 19, 2009
    Publication date: February 24, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Alexandre E. Eichenberger, Alan Gara, Kathryn M. O'Brien, Martin Ohmacht, Xiaotong Zhuang
  • Patent number: 7895375
    Abstract: A Direct Memory Access (DMA) controller issues a read request to read data stored in a cache memory and sends a cache controller the read request via a bridge chip. When a response time monitored by a response time monitor exceeds a predetermined time, a status information notification unit obtains a measured value of a throughput from a throughput measuring unit and sends the cache controller a notification of both delay in the response time and the status information of a bus. A suppression instruction counting unit counts the number of suppression instructions, issued from the cache controller, to suppress a read request and sends a suppression control unit a notification of the number of suppression instructions. Then, the suppression control unit indicates a waiting time corresponding to the number of suppression instructions to the DMA controller to perform control to suppress issuance of a read request.
    Type: Grant
    Filed: November 13, 2007
    Date of Patent: February 22, 2011
    Assignee: Fujitsu Limited
    Inventors: Nina Tsukamoto, Sadayuki Ohyama
  • Patent number: 7895420
    Abstract: A method for reducing operations in a processing environment is provided that includes generating one or more binary representations, one or more of the binary representations being included in one or more linear equations that include one or more operations. The method also includes converting one or more of the linear equations to one or more polynomials and then performing kernel extraction and optimization on one or more of the polynomials. One or more common subexpressions associated with the polynomials are identified in order to reduce one or more of the operations.
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: February 22, 2011
    Assignee: Fujitsu Limited
    Inventors: Farzan Fallah, Anup Hosangadi, Ryan C. Kastner
  • Patent number: 7886133
    Abstract: An apparatus comprises an instruction execution control unit which fetches an instruction executed according to a microinstruction, the instruction is classified into a plurality of types, from a memory, wherein the types include a first type indicative of generating a condition code and a second type indicative of not generating the condition code, the condition code corresponds to a result of execution of the instruction, and a condition code generation unit which generates the condition code of the instruction corresponding to the first type on condition that the instruction corresponding to the second type is executed next to the instruction corresponding to the first type.
    Type: Grant
    Filed: August 3, 2007
    Date of Patent: February 8, 2011
    Assignee: NEC Corporation
    Inventor: Fuyuki Watanabe
  • Patent number: 7882336
    Abstract: Instruction execution is facilitated by employing a buffer to handle instructions having special circumstances. When such an instruction is to be executed, a pointer of the instruction is directed to the buffer. The instruction is executed from the buffer and then the pointer is recovered to point to a location other than the buffer.
    Type: Grant
    Filed: February 1, 2007
    Date of Patent: February 1, 2011
    Assignee: International Business Machines Corporation
    Inventors: Theodore J. Bohizic, Mark H. Decker, Viktor S. Gyuris
  • Patent number: 7877582
    Abstract: A single register file may be addressed using both scalar and SIMD instructions. That is, subsets of registers within a multi-addressable register file according to the illustrative embodiments, are addressable with different instruction forms, e.g., scalar instructions, SIMD instructions, etc., while the entire set of registers may be addressed with yet another form of instructions, referred to herein as Vector-Scalar Extension (VSX) instructions. The operation set that may be performed on the entire set of registers using the VSX instruction form is substantially similar to that of the operation sets of the subsets of registers. Such an arrangement allows legacy instructions to access subsets of registers within the multi-addressable register file while new instructions, i.e. the VSX instructions, may access the entire range of registers within the multi-addressable register file.
    Type: Grant
    Filed: January 31, 2008
    Date of Patent: January 25, 2011
    Assignee: International Business Machines Corporation
    Inventors: Michael K. Gschwind, Brett Olsson
  • Publication number: 20100332759
    Abstract: A program is obfuscated by reordering its instructions. Original instruction addresses are mapped to target addresses. A cache efficient obfuscated program is realized by restricting target addresses of a sequence of instructions to a limited set of the disjoint ranges (33a-d) of target addresses, which are at lease half filled with instructions. Mapped address steps (34) are provided between the target addresses to which successive ones of the original instruction addresses are mapped. The address steps (34) include first address steps within at least a first one of the mutually disjoint ranges (33a-d). Between said first address steps, second address steps within at least a second one of the mutually disjoint ranges (33a-d). Thus, a deviation from successive addresses for logically successive instructions is realized.
    Type: Application
    Filed: February 9, 2009
    Publication date: December 30, 2010
    Applicant: NXP B.V.
    Inventor: Marc Vauclair
  • Patent number: 7849295
    Abstract: A data processing apparatus includes an operation processing unit and a data feature determining circuit. The operation processing unit is configured to sequentially perform preset operation processing on operation data in units of sub blocks to output an operation resultant data. Each of the operation data is divided into blocks, each of which comprises the sub blocks. The data feature determining circuit is configured to control the operation processing unit in units of blocks based on feature data respectively added to the blocks to indicate features of the blocks.
    Type: Grant
    Filed: June 15, 2007
    Date of Patent: December 7, 2010
    Assignee: NEC Electronics Corporation
    Inventor: Hideki Sugimoto
  • Publication number: 20100306476
    Abstract: Instruction fetch unit (IFU) verification is improved by dynamically monitoring the current state of the IFU model and detecting any predetermined states of interest. The instruction address sequence is automatically modified to force a selected address to be fetched next by the IFU model. The instruction address sequence may be modified by inserting one or more new instruction addresses, or by jumping to a non-sequential address in the instruction address sequence. In exemplary implementations, the selected address is a corresponding address for an existing instruction already loaded in the IFU cache, or differs only in a specific field from such an address. The instruction address control is preferably accomplished without violating any rules of the processor architecture by sending a flush signal to the IFU model and overwriting an address register corresponding to a next address to be fetched.
    Type: Application
    Filed: June 2, 2009
    Publication date: December 2, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Akash V. Giri, Darin M. Greene, Alan G. Singletary
  • Patent number: 7844803
    Abstract: A data processing device has a configurable functional unit for executing an instruction according to a configurable function. The configurable functional unit has a plurality of independent configurable logic blocks for performing programmable logic operations to implement the configurable function. Configurable connection circuits are provided between the configurable logic blocks and both the inputs and the outputs of the configurable functional unit. This allows an optimalization of the distribution of logic functions over the configurable logic blocks.
    Type: Grant
    Filed: December 17, 2001
    Date of Patent: November 30, 2010
    Assignee: Koninklijke Philips Electronics N.V.
    Inventors: Bernardo De Oliveira Kastrup Pereira, Jan Hoogerbrugge
  • Patent number: 7844962
    Abstract: A code patching device is provided for use with a processor having a read-only memory which stores instruction code and a further memory for storing patch code. A plurality of patch address registers each store an address, in the read-only memory, at which a patch is to be performed. A comparator compares the address of the read-only memory that is being accessed by the processor with the addresses stored in the registers. A control unit selects between code from the read-only memory or patch code from the further memory depending on the comparison. The code patching device can replace, on-the-fly, erroneous lines of code from the read-only memory by corrected ones. During an initialization process the patch code is loaded into the further memory and the registers are loaded with the addresses which require patching.
    Type: Grant
    Filed: November 4, 2005
    Date of Patent: November 30, 2010
    Assignee: STMicroelectronics Belgium NV
    Inventors: Rudolph Alexandre, Vincent Charlier, Tiana Rahaga, Yves Vandersmissen
  • Publication number: 20100299504
    Abstract: A microprocessor includes an architectural register and a non-architectural register, each having a plurality of condition code flags. A first instruction of the microarchitectural instruction set of the microprocessor instructs the microprocessor to update the plurality of condition code flags based on a result of the first instruction. The first instruction includes a field for indicating whether to update the plurality of condition code flags of the architectural or non-architectural register. A second instruction of the microarchitectural instruction set instructs the microprocessor to conditionally perform an operation based on one of the plurality of condition code flags. The second instruction includes a field for indicating whether to use the one of the plurality of condition code flags of the architectural or non-architectural register to determine whether to perform the operation.
    Type: Application
    Filed: May 20, 2009
    Publication date: November 25, 2010
    Applicant: VIA TECHNOLOGIES, INC.
    Inventors: G. Glenn Henry, Terry Parks, Gerard M. Col
  • Publication number: 20100299505
    Abstract: An instruction fusion calculation device of the present invention includes an instruction fusion detection circuit, an instruction fusion circuit, and a calculator. The instruction fusion detection circuit determines whether or not a fusion of a preceding instruction and a subsequent instruction that have a flow dependence relationship between them can be made. The instruction fusion circuit fuses the preceding instruction and the subsequent instruction to which it is determined by the instruction fusion detection circuit that the instructions can be fused into one instruction. The calculator executes the fused instruction into which the instructions are fused by the instruction fusion circuit to output the calculation result and outputs at least one of the calculation results obtained by executing the preceding instruction and the subsequent instruction as an intermediate result.
    Type: Application
    Filed: May 18, 2010
    Publication date: November 25, 2010
    Inventor: TAKAHIKO UESUGI
  • Patent number: 7840784
    Abstract: A processor may execute a test and skip instruction that includes or otherwise specifies at least two operands that are used in a comparison operation. Based on the results of the comparison, the instruction that follows the test and skip instruction is “skipped.” The test and skip instruction may specify that the operands used in the comparison include (1) the contents of two registers, (2) the contents of one register and the contents of a memory location, or (3) the contents of one register and a stack value. In the second mode (an operand being from memory), a register is specified in the test and skip instruction that contains a value from which a pointer may be calculated. The calculated pointer preferably points to the memory location. If a stack value is used in the execution of the test and skip instruction, the instruction may include a reference to a register that points to the top of the stack.
    Type: Grant
    Filed: July 31, 2003
    Date of Patent: November 23, 2010
    Assignee: Texas Instruments Incorporated
    Inventors: Gerard Chauvel, Serge Lasserre, Dominique D'Inverno
  • Patent number: 7840789
    Abstract: Bit reductions in program instructions are achieved by determining the set of bit patterns in bit locations of the instructions. If only a subset of bit patterns is present in the instructions, they may be represented by an index value having a smaller number of bits. The index value may be substituted into the instruction and later used in decoding by referencing a corresponding bit pattern in a lookup table. The bit-reduction in the instruction makes way for supplemental data bits which may then be embedded.
    Type: Grant
    Filed: June 2, 2006
    Date of Patent: November 23, 2010
    Assignee: University of Maryland
    Inventors: Min Wu, Ashwin Swaminathan, Yinian Mao
  • Patent number: 7836282
    Abstract: The illustrative embodiments described herein provide a computer implemented method, apparatus, and computer program product for increasing a number of instructions per clock cycle associated with a processor. The illustrative embodiments fold a plurality of non-sequential instructions within the set of sequential order instructions to form a folded instruction. The folded instruction is executed to form an executed instruction. The executed instruction is placed in a reorder buffer. The instructions within the reorder buffer are written to a register based on the sequential order of execution within the set of sequential order instructions.
    Type: Grant
    Filed: December 20, 2007
    Date of Patent: November 16, 2010
    Assignee: International Business Machines Corporation
    Inventors: Oliver Keren Ban, Neo Hock Keng, Wo Heem Tan
  • Patent number: 7831813
    Abstract: In one embodiment, a processor comprises a programmable map and a circuit. The programmable map is configured to store data that identifies at least one instruction for which an architectural modification of an instruction set architecture implemented by the processor has been defined, wherein the processor does not implement the modification. The circuitry is configured to detect the instruction or its memory operands and cause a transition to Known Good Code (KGC), wherein the KGC is protected from unauthorized modification and is provided from an authenticated entity. The KGC comprises code that, when executed, emulates the modification. In another embodiment, an integrated circuit comprises at least one processor core; at least one other circuit; and a KGC source configured to supply KGC to the processor core for execution. The KGC comprises interface code for the other circuit whereby an application executing on the processor core interfaces to the other circuit through the KGC.
    Type: Grant
    Filed: December 17, 2007
    Date of Patent: November 9, 2010
    Assignee: GLOBALFOUNDRIES Inc.
    Inventors: Garth D. Hillman, Geoffrey Strongin, Andrew R. Rawson, Gary H. Simpson, Ralf Findeisen
  • Publication number: 20100281239
    Abstract: A system and method for efficient reliable execution on a simultaneous multithreading machine. A processor is placed in a reliable execution mode (REM) to detect possible errors during execution of a mission critical software application. Only two threads may be configured to operate in this mode. Floating-point store and integer-transfer unary instructions may be converted to new binary instructions. Each new instruction has two source operands, each one corresponding to a different thread is specified by a same logical register number as a single source operand of the original unary instruction. All other instructions are replicated, wherein the original instruction and its twin are assigned to different threads. Simultaneous multi-threaded (SMT) floating-point logic may only be able to provide lockstep execution when it communicates using the new instruction with instantiated integer independent clusters.
    Type: Application
    Filed: April 29, 2009
    Publication date: November 4, 2010
    Inventors: Ranganathan Sudhakar, Nhon T. Quach
  • Publication number: 20100268922
    Abstract: A processor, integrated with re-configurable logic and memory elements, is disclosed which is to be used as part of a shared memory, multiprocessor computer system. The invention utilizes the re-configurable elements to construct persistent finite state machines based on information decoded by the invention from sequences of CISC or RISC type processor machine instructions residing in memory. The invention implements the same algorithm represented by the sequence of encoded instructions, but executes the algorithm consuming significantly fewer clock cycles than would be consumed by the processor originally targeted to execute the sequence of encoded instructions.
    Type: Application
    Filed: February 18, 2003
    Publication date: October 21, 2010
    Inventor: Christopher Joseph Daffron
  • Patent number: 7818550
    Abstract: One embodiment of a processor includes a fetch stage, decoder stage, execution stage and completion stage. The execution stage includes a primary execution stage for handling low latency instructions and a secondary execution stage for handling higher latency instructions. A detector determines if an instruction is a high latency instruction or a low latency instruction. If the detector also finds that a particular low latency instruction is dependent on, and destructive of, a corresponding high latency instruction, then the secondary execution stage dynamically fuses the execution of the low latency instruction together with the execution of the high latency instruction. Otherwise, the primary execution stage handles the execution of the low latency instruction.
    Type: Grant
    Filed: July 23, 2007
    Date of Patent: October 19, 2010
    Assignee: International Business Machines Corporation
    Inventor: Michael Thomas Vaden
  • Patent number: 7797516
    Abstract: A set of low-cost microcontroller extensions facilitates Digital Signal Processing (DSP) applications by incorporating a Multiply-Accumulate (MAC) unit in a Central Processing Unit (CPU) of the microcontroller which is responsive to the extensions.
    Type: Grant
    Filed: March 16, 2007
    Date of Patent: September 14, 2010
    Assignee: ATMEL Corporation
    Inventors: Benjamin Francis Froemming, Emil Lambrache
  • Patent number: 7797517
    Abstract: Reference architecture instructions are translated into target architecture operations. Sequences of operations, in a predicted execution order in some embodiments, form traces. In some embodiments, a trace is based on a plurality of basic blocks. In some embodiments, a trace is committed or aborted as a single entity. Sequences of operations are optimized by fusing collections of operations; fused operations specify a same observable function as respective collections, but advantageously enable more efficient processing. In some embodiments, a collection comprises multiple register operations. Fusing a register operation with a branch operation in a trace forms a fused reg-op/branch operation. In some embodiments, branch instructions translate into assert operations. Fusing an assert operation with another operation forms a fused assert operation. In some embodiments, fused operations only set architectural state, such as high-order portions of registers, that is subsequently read before being written.
    Type: Grant
    Filed: November 17, 2006
    Date of Patent: September 14, 2010
    Assignee: Oracle America, Inc.
    Inventor: John Gregory Favor
  • Publication number: 20100205413
    Abstract: A method of responding to an attempt to write a memory address including a target instruction which has been translated to a host instruction for execution by a host processor including the steps of marking a memory address including a target instruction which has been translated to a host instruction, detecting a memory address which has been marked when an attempt is made to write to the memory address, and responding to the detection of a memory address which has been marked by protecting a target instruction at the memory address until it has been assured that translations associated with the memory address will not be utilized before being updated.
    Type: Application
    Filed: April 16, 2010
    Publication date: August 12, 2010
    Inventors: Edmund J. Kelly, Robert F. Cmelik, Malcolm J. Wing
  • Publication number: 20100191940
    Abstract: A hardware thread is selectively forced to single step the execution of software instructions from a work packet granule. A “single step” packet is associated with a work packet granule. The work packet granule, with the associated “single step” packet, is dispatched as an appended work packet granule to a preselected hardware thread in a processor core, which, in one embodiment, is located at a node in a Network On a Chip (NOC). The work packet granule then executes in a single step mode until completion.
    Type: Application
    Filed: January 23, 2009
    Publication date: July 29, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Eric O. Mejdrich, Paul E. Schardt, Robert A. Shearer, Matthew R. Tubbs
  • Publication number: 20100180105
    Abstract: The present disclosure includes methods, devices, modules, and systems for modifying commands. One device embodiment includes a memory controller including a channel, wherein the channel includes a command queue configured to hold commands, and circuitry configured to modify at least a number of commands in the queue and execute the modified commands.
    Type: Application
    Filed: January 9, 2009
    Publication date: July 15, 2010
    Applicant: Micron Technology, Inc.
    Inventor: Mehdi Asnaashari
  • Patent number: 7756505
    Abstract: To realize a software radio processing with a reduced circuit area by hardware and software which can process transmission and reception, or synchronization and demodulation in time division. There are provided a circuit DRC that can dynamically change a configuration with a structure that can change the configuration at a high speed, a general processor, and an interface for connection with an external device such as an AD converter or a DA converter. Software radio is realized by using a software radio chip that conducts plural different processing such as transmission and reception, or synchronization and demodulation in time division. The different processing during the radio signal processing can be conducted in time division. As a result, the software radio can be realized with a circuit of a reduced area in a software radio system that allocates regions of an FPGA to the respective processing.
    Type: Grant
    Filed: October 3, 2005
    Date of Patent: July 13, 2010
    Assignee: Hitachi, Ltd.
    Inventors: Hiroshi Tanaka, Takanobu Tsunoda, Tetsuroo Honmura, Manabu Kawabe, Masashi Takada
  • Patent number: 7757069
    Abstract: A reconfigurable processor including a plurality of reconfigurable execution units, a memory, an instruction queue, a configuration selection unit, and a configuration loader. The memory stores a plurality of steering vector processing hardware configurations for configuring the reconfigurable execution units. The instruction queue stores a plurality of instructions to be executed by at least one of the reconfigurable execution units. The configuration selection unit analyzes the instructions stored in the instruction queue and chooses one of the steering vector processing hardware configurations. The configuration loader determines whether one of the reconfigurable slots is available and reconfigures at least one of the reconfigurable slots with at least a part of the chosen steering vector processing hardware configuration responsive to at least one of the reconfigurable slots being available.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: July 13, 2010
    Assignee: The Board of Regents of the University of Oklahoma
    Inventors: Brian F. Veale, John K. Antonio, Monte P. Tull
  • Publication number: 20100174888
    Abstract: A memory system includes a storage device storing a plurality of instructions and a central processing unit processing an instruction fetched from the storage device, wherein the central processing unit detects a change in the instruction fetched from the storage device while processing the instruction.
    Type: Application
    Filed: December 7, 2009
    Publication date: July 8, 2010
    Inventors: Jimyung Na, Gijin Kang, Jung-Hyun Kim
  • Patent number: 7752350
    Abstract: A system and method for an efficient implementation of a software-managed cache is presented. When an application thread executes on a simple processor, the application thread uses a conditional data select instruction for eliminating a conditional branch instruction when accessing a software-managed cache. An application thread issues a conditional data select instruction (DMA transfer) after a cache directory lookup, wherein the size of the requested data is dependent upon the outcome of the cache directory lookup. When the cache directory lookup results in a cache hit, the application thread requests a transfer of zero bits of data, which results in a DMA controller (DMAC) performing a no-op instruction. When the cache directory lookup results in a cache miss, the application thread requests a data block transfer the size of a corresponding cache line.
    Type: Grant
    Filed: February 23, 2007
    Date of Patent: July 6, 2010
    Assignee: International Business Machines Corporation
    Inventors: Daniel Alan Brokenshire, Michael Norman Day, Barry L Minor, Mark Richard Nutter
  • Publication number: 20100169620
    Abstract: There is provided a signal processing device which is capable of suppressing the influence of a digital data process on an analog signal process without completely stopping a digital data processing circuit. A signal processing device includes an analog signal processing circuit, a digital data processing circuit, a determination section configured to determine an influence of the digital data processing circuit on the analog signal processing circuit, and a control section configured to stop a partial circuit of the digital data processing circuit or lower processing capability thereof in response to a determination result of the determination section.
    Type: Application
    Filed: December 22, 2009
    Publication date: July 1, 2010
    Applicant: Sony Corporation
    Inventor: Yosihiro Minami
  • Patent number: 7743236
    Abstract: The present invention provides a reconfigurable processing apparatus enabling clusters to utilize a shared functional unit by using data and a validity signal received from the clusters by way of a network therebetween. In the reconfigurable processing apparatus comprising one or more clusters which are reconfigured based on configuration information, the shared functional unit accepts an input data and an input valid signal from the clusters, the input valid signal starts up the shared functional unit so as to operate the input data received with the input valid signal and output, to the cluster, an output data as the operation result and an output valid signal for notifying of the cluster as an output destination of the aforementioned output data.
    Type: Grant
    Filed: October 6, 2005
    Date of Patent: June 22, 2010
    Assignee: Fujitsu Limited
    Inventors: Miyoshi Saito, Hisanori Fujisawa
  • Publication number: 20100153700
    Abstract: A processor having multiple cores coordinates functions performed on the cores to automatically, dynamically and repeatedly reconfigure the cores for optimal performance based on characteristics of currently executing software. A core running a thread detects a multi-core characteristic of the thread and assigns one or more other cores to the thread to dynamically combine the cores into what functionally amounts to a common core for more efficient execution of the thread.
    Type: Application
    Filed: December 16, 2008
    Publication date: June 17, 2010
    Inventors: Louis B. Capps, JR., Michael J. Shapiro, Robert H. Bell, JR., Thomas E. Cook, William E. Burky
  • Publication number: 20100146247
    Abstract: A computer-implemented method and apparatus for managing an out of order dispatched instruction queue in a microprocessor. In one embodiment, the method and apparatus include assigning a group identification number and a target identification number to an instruction in an instruction stream. The group identification number and the target identification number are labeled after a pre-decoding stage inside an instruction fetcher unit. The group identification number and the target identification number are pre-decoded. The instruction is sent to an instruction queue. The instruction is re-ordered in the instruction stream after executing the instruction utilizing information from the pre-decoding of the group identification number and the target identification number.
    Type: Application
    Filed: December 9, 2008
    Publication date: June 10, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Oliver Keren Ban, Xiangang Cheng, Liang Huang Lee, Katherine June Pearsall
  • Patent number: 7735031
    Abstract: A system that includes a controller for enabling an enumeration operation. The enumeration operation is performed by a controller (110) and logic elements (120) in a system, such that each logic element in the system assigns itself a unique identifier. Each logic element can then be controlled by another source or have a means to communicate with other logic elements in the system. The unique identifier enables greater system flexibility, thereby reducing cost and improving efficiency.
    Type: Grant
    Filed: August 20, 2007
    Date of Patent: June 8, 2010
    Assignee: International Business Machines Corporation
    Inventors: Valerie Hornbeck Chickanosky, Kevin William Gorman, Emory D. Keller, Michael Richard Ouellette
  • Publication number: 20100138703
    Abstract: Monitoring asynchronous transactions in a computing environment is disclosed. A first unique identifier is determined when a first method executes. The identifier is associated with an asynchronous transaction. A second unique identifier is determined when a second method executes. If it is determined that the first unique identifier and the second unique identifier match, then is it determined that the asynchronous transaction started with the first method and completed with the second method. In one embodiment, code that identifies a routine that has instructions for determining the first unique identifier at runtime is added to the first method, and code that identifies a routine that has instructions for determining the second unique identifier at runtime is added to the second method.
    Type: Application
    Filed: December 2, 2008
    Publication date: June 3, 2010
    Inventors: Jyoti Kumar Bansal, Kartik Shankaranarayanan, Aditya Pandit, Haroon Rashid Ahmed, Stuart Todd Rader
  • Publication number: 20100138638
    Abstract: A method and system of instruction modification. A first machine language instruction, which may comprise a plurality of discrete instructions, is fetched. Responsive to a trigger pattern in the first machine language instruction, a segment of the first machine language instruction is modified. Information can be substituted into the segment based on specifics outlined in the trigger pattern. Alternatively, information can be combined with the segment via logical and/or arithmetic operations. Modification of the segment produces a second machine language instruction that is executed by units of the processor. In one embodiment, information may be taken from a queue and used to replace data from the segment. How information is taken from the queue and how the information so taken is used to replace fields of the segment are defined by the trigger pattern.
    Type: Application
    Filed: February 2, 2010
    Publication date: June 3, 2010
    Inventors: John Banning, Eric Hao, Brett Coon
  • Patent number: 7725621
    Abstract: A semiconductor device and data transfer method capable of efficient DMA transfer processing. The device comprises: a sector buffer which temporarily stores data during transfer, the buffer having an I/O port used for DMA transfer with a system bus and having an I/O port used for data transfer with the I/O controller; a switching section which switches whether to connect between the system bus and the I/O controller, or to connect between the sector buffer and the I/O controller or the system bus; and a sector buffer controller which separately starts data transfer through the I/O ports and which, when detecting completion of the data transfer of a transfer unit between the sector buffer and the I/O controller, transmits to the switching section a control signal for cutting off data transfer between the sector buffer and the I/O controller and for connecting the system bus and the I/O controller.
    Type: Grant
    Filed: February 16, 2007
    Date of Patent: May 25, 2010
    Assignee: Fujitsu Microelectronics Limited
    Inventor: Kohei Mutaguchi
  • Patent number: 7725691
    Abstract: Accelerating processing of a non-sequential instruction stream on a processor with multiple compute units by broadcasting to a plurality of compute units a generic instruction stream derived from a sequence of instructions; the generic instruction stream including an index section and a compute section; applying the index section to localized data stored in each compute unit to select one of a plurality of stored local parameter sets; and applying in each compute unit the selected set of parameters to the local data according to the compute section to produce each compute unit's localized solution to the generic instruction.
    Type: Grant
    Filed: January 28, 2005
    Date of Patent: May 25, 2010
    Assignee: Analog Devices, Inc.
    Inventors: Yosef Stein, Joshua Kablotsky