Architecture Based Instruction Processing Patents (Class 712/200)
-
Patent number: 9471318Abstract: Techniques for managing a plurality of threads on a multi-threading processing core. Embodiments provide an instruction count threshold condition that determines how many countable instructions of a thread the multi-threading processing core will execute before context switching to another one of the plurality of threads. A first plurality of instructions for a first one of the plurality of threads is processed on the multi-threading processing core. Embodiments determine, for each of the first plurality of instructions, whether the instruction is a countable instruction, wherein at least one of the first plurality of instructions is not a countable instruction. A count of the countable instructions is maintained. Upon determining that the instruction count threshold condition is satisfied, based on the maintained count, embodiments context switch the multi-threading processing core to process a second plurality of instructions for a second one of the plurality of threads.Type: GrantFiled: March 15, 2013Date of Patent: October 18, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Patrick J. O'Sullivan, John J. Thomas, Barry E. Willner
-
Patent number: 9471319Abstract: Techniques for managing a plurality of threads on a multi-threading processing core. Embodiments provide an instruction count threshold condition that determines how many countable instructions of a thread the multi-threading processing core will execute before context switching to another one of the plurality of threads. A first plurality of instructions for a first one of the plurality of threads is processed on the multi-threading processing core. Embodiments determine, for each of the first plurality of instructions, whether the instruction is a countable instruction, wherein at least one of the first plurality of instructions is not a countable instruction. A count of the countable instructions is maintained. Upon determining that the instruction count threshold condition is satisfied, based on the maintained count, embodiments context switch the multi-threading processing core to process a second plurality of instructions for a second one of the plurality of threads.Type: GrantFiled: March 25, 2014Date of Patent: October 18, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Patrick J. O'Sullivan, John J. Thomas, Barry E. Willner
-
Patent number: 9465770Abstract: A server and/or a client stores a metadata hash map that includes one or more entries associated with keys for data records stored in a cache on a server, wherein the data records comprise a directed acyclic graph (DAG), and the directed acyclic graph is comprised of a collection of one or more nodes connected by one or more edges, each of the nodes representing one or more tasks ordered into a sequence, and each of the edges representing one or more constraints on the nodes connected by the edges. Each of the entries stores metadata for a corresponding data record, wherein the metadata comprises a server-side remote pointer that references the corresponding data record stored in the cache.Type: GrantFiled: March 25, 2016Date of Patent: October 11, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Xavier Rene Guerin, Yinglong Xia
-
Patent number: 9451042Abstract: A server and/or a client stores a metadata hash map that includes one or more entries associated with keys for data records stored in a cache on a server, wherein the data records comprise a directed acyclic graph (DAG), and the directed acyclic graph is comprised of a collection of one or more nodes connected by one or more edges, each of the nodes representing one or more tasks ordered into a sequence, and each of the edges representing one or more constraints on the nodes connected by the edges. Each of the entries stores metadata for a corresponding data record, wherein the metadata comprises a server-side remote pointer that references the corresponding data record stored in the cache.Type: GrantFiled: December 15, 2015Date of Patent: September 20, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Xavier Rene Guerin, Yinglong Xia
-
Patent number: 9424044Abstract: A method, system, and computer program product of utilizing branch prediction logic in a system that processes instructions that include a branch are described. The method includes identifying the branch as conventionally predictable or not conventionally predictable, and based on the branch being identified as not conventionally predictable according to the identifying, either foregoing branch prediction and reallocating, using a processor, the branch prediction logic to another thread of the instructions or performing, using the processor, the branch prediction and speculative execution of one or more of the instructions following the branch to obtain prediction information. Based on the performing the branch prediction and the speculative execution, the method also includes verifying a match between a branch end according to the instructions and a branch end according to the branch prediction prior to providing the prediction information to a second processor processing the instructions.Type: GrantFiled: March 4, 2016Date of Patent: August 23, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: James J. Bonanno, Adam B. Collura, Daniel Lipetz, Brian R. Prasky, Anthony Saporito
-
Patent number: 9411404Abstract: An apparatus is disclosed for managing operational modes of a processor. The apparatus may include the processor which may include a coprocessor, an instruction queue, and a monitoring circuit for detecting instructions for the coprocessor in the instruction queue. The monitoring circuit may detect when the instruction queue holds no instructions for the coprocessor. If the instruction queue holds no instructions for the coprocessor, the coprocessor may be placed into a mode in which the coprocessor consumes less power. The monitoring circuit may detect an instruction for the coprocessor in the instruction queue. In response to the instruction for the coprocessor, the coprocessor may be placed into a mode in which the coprocessor may execute the instruction.Type: GrantFiled: January 16, 2014Date of Patent: August 9, 2016Assignee: APPLE INC.Inventors: Rohit Kumar, Suresh Periyacheri
-
Patent number: 9405542Abstract: A processor including architectural registers used to execute instructions and a renaming module to rename the architectural registers to physical registers in response to receiving instructions. A first table stores pointers to the physical registers storing data generated in response to the processor completing execution of instructions. A second table stores pointers to the physical registers storing data to be generated by instructions received but not executed by the processor and used by instructions to be received by the processor. An execution module executes instructions and discards one or more instructions received but not executed by the processor in response to an event. An updating module updates pointers in the second table in response to the event. The updated pointers are generated based on pointers stored in the first table at a time of occurrence of the event and instructions not discarded by the execution module.Type: GrantFiled: March 22, 2013Date of Patent: August 2, 2016Assignee: Marvell International LTD.Inventors: Kim Schuttenberg, Sridharan Balasubramanian
-
Patent number: 9385717Abstract: Systems and methods are described for a contention-free single-wire latch controller that includes first and second bidirectional signal pins (e.g., the L and R pins in the FIGS), a latch enable output pin (or signal), E, and a decision element (such as a NAND or a NOR gate). A first driving transistor may be coupled between the first bidirectional signal pin and a power rail. A second driving transistor may be coupled between the second bidirectional signal pin and the power rail. A first half-latch may be coupled to the first bidirectional signal pin. A second half-latch may be coupled to the second bidirectional signal pin.Type: GrantFiled: May 30, 2014Date of Patent: July 5, 2016Assignee: Altera CorporationInventor: Dana How
-
Patent number: 9354886Abstract: A processor and method for maintaining the integrity of an execution return address stack (RAS). The execution RAS is maintained in an accurate state by storing information regarding branch instructions in a branch information table. The first time a branch instruction is executed, an entry is allocated and populated in the table. If the branch instruction is re-executed, a pointer address is retrieved from the corresponding table entry and the execution RAS pointer is repositioned to the retrieved pointer address. The execution RAS can also be used to restore a speculative RAS due to a mis-speculation.Type: GrantFiled: November 28, 2011Date of Patent: May 31, 2016Assignee: Apple Inc.Inventors: Ramesh B. Gunna, Peter J. Bannon, Andrew J. Beaumont-Smith
-
Patent number: 9335999Abstract: The present invention provides a method and apparatus for allocating store queue entries to store instructions for early store-to-load forwarding. Some embodiments of the method include allocating an entry in a store queue to a store instruction in response to the store instruction being dispatched and prior to receiving a translation of a virtual address to a physical address associated with the store instruction. The entry includes storage for data to be written to the physical address by the store instruction.Type: GrantFiled: April 11, 2013Date of Patent: May 10, 2016Assignee: Advanced Micro Devices, Inc.Inventors: David A Kaplan, Daniel Hopper, Tarun Nakra
-
Patent number: 9317348Abstract: An integrated-circuit radio communication device (1) comprises a processor (7), memory (13), and radio communication logic (17). The memory (13) has a firmware module (23) stored at a firmware memory address, the firmware module (23) comprising instructions for controlling the radio communication logic (17) according to a predetermined radio protocol. The processor (7) is configured to receive supervisor call instructions, each having an associated supervisor call number, and to respond to a supervisor call instruction by (i) invoking a supervisor call handler in the firmware module (23), and (ii) making the supervisor call number available to the call handler. A software application (27) is loaded into the memory (13) of the device (1), and stored at a predetermined application memory address.Type: GrantFiled: June 21, 2013Date of Patent: April 19, 2016Assignee: NORDIC SEMICONDUCTOR ASAInventor: Joel David Stapleton
-
Patent number: 9300749Abstract: A server and/or a client stores a metadata hash map that includes one or more entries associated with keys for data records stored in a cache on a server, wherein the data records comprise a directed acyclic graph (DAG), and the directed acyclic graph is comprised of a collection of one or more nodes connected by one or more edges, each of the nodes representing one or more tasks ordered into a sequence, and each of the edges representing one or more constraints on the nodes connected by the edges. Each of the entries stores metadata for a corresponding data record, wherein the metadata comprises a server-side remote pointer that references the corresponding data record stored in the cache.Type: GrantFiled: August 30, 2013Date of Patent: March 29, 2016Assignee: International Business Machines CorporationInventors: Xavier Rene Guerin, Yinglong Xia
-
Patent number: 9292296Abstract: Processing instruction grouping information is provided that includes: reading addresses of machine instructions grouped by a processor at runtime from a buffer to form an address file; analyzing the address file to obtain grouping information of the machine instructions; converting the machine instructions in the address file into readable instructions; and obtaining grouping information of the readable instructions based on the grouping information of the machine instructions and the readable instructions resulted from conversion. Status of grouping and processing performed on instructions by a processor at runtime can be acquired dynamically, such that processing capability of the processor can be better utilized.Type: GrantFiled: April 26, 2012Date of Patent: March 22, 2016Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Qin Yue Chen, Qi Liang, Hong Chang Lin, Feng Liu
-
Patent number: 9262161Abstract: An operate-and-insert instruction of a program, when executed performs an operation based on one or more operands, results of an instruction specified test of the operation performed are stored in an instruction specified location of an instruction specified general register. The instruction specified general register is therefore able to hold results of many operate-and-insert instructions. The program can then use non-branch type instructions to evaluate conditions saved in the register, thus avoiding the performance penalty of branch instructions.Type: GrantFiled: December 11, 2013Date of Patent: February 16, 2016Assignee: International Business Machines CorporationInventors: Dan F. Greiner, Michael K. Gschwind
-
Patent number: 9256427Abstract: An operate-and-insert instruction of a program, when executed performs an operation based on one or more operands, results of an instruction specified test of the operation performed are stored in an instruction specified location of an instruction specified general register. The instruction specified general register is therefore able to hold results of many operate-and-insert instructions. The program can then use non-branch type instructions to evaluate conditions saved in the register, thus avoiding the performance penalty of branch instructions.Type: GrantFiled: December 11, 2012Date of Patent: February 9, 2016Assignee: International Business Machines CorporationInventors: Dan F Greiner, Michael K Gschwind
-
Patent number: 9239735Abstract: A statically scheduled processor compiler schedules a speculative load in the program before the data is needed. The compiler inserts a conditional instruction confirming or disaffirming the speculative load before the program behavior changes due to the speculative load. The condition is not based solely upon whether the speculative load address is correct but preferably includes dependence according to the original source code. The compiler may statically schedule two or more branches in parallel with orthogonal conditions.Type: GrantFiled: July 17, 2014Date of Patent: January 19, 2016Assignee: TEXAS INSTRUMENTS INCORPORATEDInventors: Timothy D. Anderson, Joseph Zbiciak, Duc Q. Bui, Mel A. Phipps, Todd T. Hahn
-
Patent number: 9223577Abstract: Various techniques for processing instructions that specify multiple destinations. A first portion of a processor pipeline is configured to split a multi-destination instruction into a plurality of single-destination operations. A second portion of the pipeline is configured to process the plurality of single-destination operations. A third portion of the pipeline is configured to merge the plurality of single-destination operations into one or more multi-destination operations. The one or more multi-destination operations may be performed. The first portion of the pipeline may include a decode unit. The second portion of the pipeline may include a map unit, which may in turn include circuitry configured to maintain a list of free architectural registers and a mapping table that maps physical registers to architectural registers. The third portion of the pipeline may comprise a dispatch unit. In some embodiments, this may provide certain advantages such as reduced area and/or power consumption.Type: GrantFiled: September 26, 2012Date of Patent: December 29, 2015Assignee: Apple Inc.Inventors: John H. Mylius, Gerard R. Williams, III, James B. Keller, Fang Liu, Shyam Sundar
-
Patent number: 9201791Abstract: Systems and methods for maintaining an order of transactions in the coherence point. The coherence point stores attributes associated with received transactions in an input request queue (IRQ). When a new transaction is received with a device ordered attribute, the IRQ is searched for other entries with the same flow ID as the new transaction. If one or more matches are found, the new transaction entry points to the entry for the most recently received transaction with the same flow ID. The new transaction is prevented from exiting the coherence point until the transaction it points to has been sent to its destination.Type: GrantFiled: January 8, 2013Date of Patent: December 1, 2015Assignee: Apple Inc.Inventors: Gurjeet S. Saund, Harshavardhan Kaushikkar
-
Patent number: 9158566Abstract: Dynamic creation of a spatially aware emulation environment comprising Host cells of Host pages corresponding to Guest cells of Guest pages of Guest instructions. Each Host cell comprises a semantic routine for emulating a corresponding Guest instruction located at the corresponding Guest cell of the guest page.Type: GrantFiled: November 13, 2012Date of Patent: October 13, 2015Assignee: International Business Machines CorporationInventors: Theodore J Bohizic, Reid T Copeland, Marcel Mitran, Ali I Sheikh
-
Patent number: 9158691Abstract: Systems and methods for maintaining an order of transactions in the coherence point. The coherence point stores attributes associated with received transactions in an input request queue (IRQ). When a new transaction is received by the coherence point, the IRQ is searched for other entries with the same request address or the same victim address as the new transaction. If one or more matches are found, the new transaction entry points to the entry storing the most recently received transaction with the same address. The new transaction is stalled until the transaction it points to has been completed in the coherence point.Type: GrantFiled: December 14, 2012Date of Patent: October 13, 2015Assignee: Apple Inc.Inventors: Gurjeet S. Saund, Harshavardhan Kaushikkar
-
Patent number: 9146745Abstract: Methods and apparatus for partitioning a microprocessor pipeline to support pipelined branch prediction and instruction fetching of multiple execution threads. A thread selection stage selects a thread from a plurality of execution threads. In one embodiment, storage in a branch prediction output queue is pre-allocated to a portion of the thread in one branch prediction stage in order to prevent stalling of subsequent stages in the branch prediction pipeline. In another embodiment, an instruction fetch stage fetches instructions at a fetch address corresponding to a portion of the selected thread. Another instruction fetch stage stores the instruction data in an instruction fetch output queue if enough storage is available. Otherwise, instruction fetch stages corresponding to the selected thread are invalidated and refetched to avoid stalling preceding stages in the instruction fetch pipeline, which may be fetching instructions of another thread.Type: GrantFiled: June 29, 2006Date of Patent: September 29, 2015Assignee: Intel CorporationInventors: Stephan Jourdan, Robert Hinton
-
Patent number: 9135741Abstract: Systems and methods are disclosed that share coprocessor resources between two or more applications in a computing cluster using a job selector to receive jobs from a job queue; a node selector coupled to the job selector; an off line profiler with an interference prediction model; a coprocessor dynamic interference detection module; and a coprocessor interference response module.Type: GrantFiled: October 6, 2012Date of Patent: September 15, 2015Assignee: NEC Laboratories America, Inc.Inventors: Cheng-Hong Li, Srihari Cadambi, Srimat T Chakradhar, Rajat Phull
-
Patent number: 9135014Abstract: A data processing system comprises a processor unit that includes an instruction decode/issue unit including a re-order buffer having entries that include an execution queue tag that indicates an execution queue location of an instruction to which a re-order buffer entry is assigned, a result valid indicator to indicate that a corresponding instruction has executed with a status bit valid result, and a forward indicator to indicate that the status bit can be forwarded to an execution queue of an instruction pointed to that is waiting to receive the status bit.Type: GrantFiled: February 15, 2012Date of Patent: September 15, 2015Assignee: FREESCALE SEMICONDUCTOR, INCInventors: Thang M. Tran, Trinh Huy Nguyen
-
Patent number: 9116742Abstract: Systems, methods, and other embodiments associated with reducing interrupt latency are described. According to one embodiment, an apparatus includes a buffer storing instructions awaiting execution by an execution device. The apparatus also includes an interrupt logic that, in response to receiving an interrupt, classifies instructions as either safe or unsafe. An unsafe instruction will cause the instructions to execute in a manner inconsistent with an instruction set architecture. The interrupt logic also establishes an interrupt boundary between safe and unsafe instructions, and causes the interrupt to be processed at the interrupt boundary such that the interrupt is processed before processing of the unsafe instructions.Type: GrantFiled: July 17, 2012Date of Patent: August 25, 2015Assignee: MARVELL INTERNATIONAL LTD.Inventors: Kim Schuttenberg, Sujat Jamil, R. Frank O'Bleness
-
Patent number: 9063760Abstract: Processing within an emulated computing environment is facilitated. Code used to implement system-provided (e.g., standard or frequently used) routines referenced in an application being emulated is native code available for the computing environment, rather than emulated code. Responsive to encountering a reference to a system-provided routine in the application being emulated, the processor is directed to native code, rather than emulated code, even though the application is being emulated.Type: GrantFiled: October 13, 2011Date of Patent: June 23, 2015Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Christopher Cook, Anthony C. Sumrall, Thomas A. Thackrey
-
Patent number: 9049153Abstract: Some embodiments provide a method of processing a packet through a logical switching element implemented by several managed switching elements. The method receives a packet for processing through a processing pipeline of the logical switching element. The method processes the packet through the processing pipeline. The method stores state information in the packet for indicating that the packet has been processed through the processing pipeline in order to prevent other managed switching elements from processing the packet through the processing pipeline. The method forwards the processed packet to a managed switching element of the several managed switching elements.Type: GrantFiled: August 26, 2011Date of Patent: June 2, 2015Assignee: NICIRA, INC.Inventors: Martin Casado, Teemu Koponen, Pankaj Thakkar
-
Patent number: 9026768Abstract: A computing machine is disclosed having a memory system for storing a collection of execution nodes, a head for reading a sequence of symbols in the execution nodes in the memory system, and writing a sequence of symbols in the memory system. The machine is configured to execute a computation with a collection of pairs of execution nodes. Each pair of execution nodes represents a machine instruction. One execution node in the pair represents input of the machine instruction represented by the execution nodes. Another execution node in the pair represents output of the machine instruction represented by the execution nodes. Each execution node has a state of the machine, a sequence of symbols and a number.Type: GrantFiled: September 14, 2009Date of Patent: May 5, 2015Assignee: Aemea Inc.Inventor: Michael Stephen Fiske
-
Patent number: 9015622Abstract: Some embodiments of a system and a method to tune a computing system based on a profile have been presented. A profile as used herein broadly refers to a file containing various parameters of a computing system, such as kernel parameters (e.g., buffer size, network setup, etc.), usable to configure the computing system. For instance, a set of profiles are stored in a computer-readable storage device in a computing system, such as a server, a personal computer, a laptop computer, etc. A processing device miming on the computing system may receive a user selection of one of the set of profiles. In response to the user selection, the processing device may load the selected profile onto the computing system in order to tune the computing system according to the selected profile.Type: GrantFiled: January 20, 2010Date of Patent: April 21, 2015Assignee: Red Hat, Inc.Inventors: Thomas K. Wörner, Christopher Haughey Snook
-
Patent number: 9003168Abstract: A processing system is provided for processing signals in a processor system including first and second conjoined-cores, and sharing a single floating point unit or a single memory interconnection network port by the first and second conjoined-cores.Type: GrantFiled: February 17, 2005Date of Patent: April 7, 2015Assignee: Hewlett-Packard Development Company, L. P.Inventors: Norman Paul Jouppi, Parthasarathy Ranganathan
-
Patent number: 8972769Abstract: A data processing apparatus includes: a plurality of processing units adapted to process data according to input operation clocks; and a control unit adapted to measure response times of the plurality of processing units when the operation clocks of a common frequency are supplied to the plurality of processing units, and to control a frequency of the operation clocks to be supplied to at least one of the plurality of processing units so that a plurality of measured response times become closer to each other.Type: GrantFiled: January 21, 2011Date of Patent: March 3, 2015Assignee: Canon Kabushiki KaishaInventors: Akio Nakagawa, Hisashi Ishikawa
-
Patent number: 8966227Abstract: The present invention is to provide a semiconductor device that can correctly switch endians on the outside even if the endian of a parallel interface is not recognized on the outside. The semiconductor device includes a switching circuit and a first register. The switching circuit switches between whether a parallel interface with the outside is to be used as a big endian or a little endian. A first register holds control data of the switching circuit. The switching circuit regards the parallel interface as the little endian when first predetermined control information, that is unchanged in the values of specific bit positions even if its high-order and low-order bit positions are transposed, is supplied to the first register, and regards the parallel interface as the big endian when second predetermined control information, that is unchanged in the values of specific bit positions even if its high-order and low-order bit positions are transposed, is supplied to the first register.Type: GrantFiled: March 5, 2014Date of Patent: February 24, 2015Assignee: Renesas Electronics CorporationInventors: Goro Sakamaki, Yuri Azuma
-
Patent number: 8954497Abstract: Provided is a parallel distributed processing method executed by a computer system comprising a parallel-distributed-processing control server, a plurality of extraction processing servers and a plurality of aggregation processing servers. The managed data includes at least a first and a second data items, the plurality of data items each including a value. The method includes a step of extracting data from one of the plurality of chunks according to a value in the second data item, to thereby group the data, a step of merging groups having the same value in the second data item based on an order of a value in the first data item of data contained in a group among groups, and a step of processing data in a group obtained through the merging by focusing on the order of the value in the first data item.Type: GrantFiled: March 18, 2013Date of Patent: February 10, 2015Assignee: Hitachi, Ltd.Inventor: Ryo Kawai
-
Patent number: 8924898Abstract: An automated processor design tool uses a description of customized processor instruction set extensions in a standardized language to develop a configurable definition of a target instruction set, a Hardware Description Language description of circuitry necessary to implement the instruction set, and development tools such as a compiler, assembler, debugger and simulator which can be used to develop applications for the processor and to verify it. Implementation of the processor circuitry can be optimized for various criteria such as area, power consumption, speed and the like. Once a processor configuration is developed, it can be tested and inputs to the system modified to iteratively optimize the processor implementation. By providing a constrained domain of extensions and optimizations, the process can be automated to a high degree, thereby facilitating fast and reliable development.Type: GrantFiled: June 9, 2008Date of Patent: December 30, 2014Assignee: Cadence Design Systems, Inc.Inventors: Earl A. Killian, Ricardo E. Gonzalez, Ashish B. Dixit, Monica Lam, Walter D. Lichtenstein, Christopher Rowen, John C. Ruttenberg, Robert P. Wilson, Albert Ren-Rui Wang, Dror Eliezer Maydan
-
Patent number: 8880851Abstract: A microprocessor includes a hardware instruction translator that translates x86 ISA and ARM ISA machine language program instructions into microinstructions, which are encoded in a distinct manner from the x86 and ARM instructions. An execution pipeline executes the microinstructions to generate x86/ARM-defined results. The microinstructions are distinct from the results generated by the execution of the microinstructions by the execution pipeline. The translator directly provides the microinstructions to the execution pipeline for execution. Each time the microprocessor performs one of the x86 ISA and ARM ISA instructions, the translator translates it into the microinstructions. An indicator indicates either x86 or ARM as a boot ISA. After reset, the microprocessor initializes its architectural state, fetches its first instructions from a reset address, and translates them all as defined by the boot ISA. An instruction cache caches the x86 and ARM instructions and provides them to the translator.Type: GrantFiled: September 1, 2011Date of Patent: November 4, 2014Assignee: VIA Technologies, Inc.Inventors: G. Glenn Henry, Terry Parks, Rodney E. Hooker
-
Patent number: 8881153Abstract: In an embodiment, if a self thread has more than one conflict, a transaction of the self thread is aborted and restarted. If the self thread has only one conflict and an enemy thread of the self thread has more than one conflict, the transaction of the self thread is committed. If the self thread only conflicts with the enemy thread and the enemy thread only conflicts with the self thread and the self thread has a key that has a higher priority than a key of the enemy thread, the transaction of the self thread is committed. If the self thread only conflicts with the enemy thread, the enemy thread only conflicts with the self thread, and the self thread has a key that has a lower priority than the key of the enemy thread, the transaction of the self thread is aborted.Type: GrantFiled: March 13, 2013Date of Patent: November 4, 2014Assignee: International Business Machines CorporationInventors: Mark E. Giampapa, Thomas M. Gooding, Raul E. Silvera, Kai-Ting Amy Wang, Peng Wu, Xiaotong Zhuang
-
Publication number: 20140317381Abstract: Disclosed is a method of operating an immediate value in an extendable instruction set computer (EISC) processor, comprising: checking whether or not an unsigned immediate value is used to generate an extension register (ER) value for operating an immediate value; and generating the ER value by performing zero extension for the unsigned immediate value using an unsigned load extension register with immediate (ULERI) instruction if the unsigned immediate value is used. It is possible to improve operational efficiency by preventing an LERI instruction from being unnecessarily executed when an immediate value is operated using a 16-bit instruction in the EISC processor.Type: ApplicationFiled: April 30, 2013Publication date: October 23, 2014Applicants: Foundation for Research & Business, Seoul National University Of Science & Technology, Korea University Research and Business Foundation, Advanced Digital Chips Inc.Inventors: Seung Eun Lee, Yeong Seob Jeong, Sang Don Kim, Taeweon Suh, Han Yee Kim, Young Ho Cha, Kwan Young Kim
-
Publication number: 20140281386Abstract: Embodiments include a method for chaining data in an exposed-pipeline processing element. The method includes separating a multiple instruction word into a first sub-instruction and a second sub-instruction, receiving the first sub-instruction and the second sub-instruction in the exposed-pipeline processing element. The method also includes issuing the first sub-instruction at a first time, issuing the second sub-instruction at a second time different than the first time, the second time being offset to account for a dependency of the second sub-instruction on a first result from the first sub-instruction, the first pipeline performing the first sub-instruction at a first clock cycle and communicating the first result from performing the first sub-instruction to a chaining bus coupled to the first pipeline and a second pipeline, the communicating at a second clock cycle subsequent to the first clock cycle that corresponds to a total number of latch pipeline stages in the first pipeline.Type: ApplicationFiled: March 12, 2013Publication date: September 18, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: INTERNATIONAL BUSINESS MACHINES CORPORATION
-
Patent number: 8812821Abstract: 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: GrantFiled: August 13, 2012Date of Patent: August 19, 2014Assignee: MicroUnity Systems Engineering, Inc.Inventors: Craig Hansen, John Moussouris, Alexia Massalin
-
Patent number: 8803891Abstract: Embodiments described herein provide a method of arbitrating a processing resource. The method includes receiving a command to preempt a task and preventing additional wavefronts associated with the task from being processed. The method also includes evicting currently executing wavefronts associated with the task from being processed based upon predetermined criteria.Type: GrantFiled: November 30, 2011Date of Patent: August 12, 2014Assignee: Advanced Micro Devices, Inc.Inventors: Robert Scott Hartog, Ralph Clay Taylor, Michael Mantor, Sebastien Nussbaum, Rex McCrary, Mark Leather, Philip J. Rogers, Thomas R. Woller
-
Patent number: 8775531Abstract: Completion processing of data communications instructions in a distributed computing environment with computers coupled for data communications through communications adapters and an active messaging interface (‘AMI’), injecting for data communications instructions into slots in an injection FIFO buffer a transfer descriptor, at least some of the instructions specifying callback functions; injecting a completion descriptor for each instruction that specifies a callback function into an injection FIFO buffer slot having a corresponding slot in a pending callback list; listing in the pending callback list callback functions specified by data communications instructions; processing each descriptor in the injection FIFO buffer, setting a bit in a completion bit mask corresponding to the slot in the FIFO where the completion descriptor was injected; and calling by the AMI any callback functions in the pending callback list as indicated by set bits in the completion bit mask.Type: GrantFiled: January 6, 2011Date of Patent: July 8, 2014Assignee: International Business Machines CorporationInventors: Michael A. Blocksome, Sameer Kumar, Jeffrey J. Parker
-
Patent number: 8773673Abstract: An image forming apparatus includes a print engine that forms an image on an image formation material, and an image data generating unit that generates bitmap image data of the image. The image data generating unit includes plural reconfigurable processing circuits that are capable of performing any of first image processing and second image processing, and a controller that controls the plural reconfigurable processing circuits. The controller changes a reconfigurable processing circuit among the plural reconfigurable processing circuits from a reconfigurable processing circuit that performs the first image processing to a reconfigurable processing circuit that performs the second image processing, or changes the reconfigurable processing circuit from a reconfigurable processing circuit that performs the second image processing to a reconfigurable processing circuit that performs the first image processing, in accordance with an amount of the first image processing.Type: GrantFiled: September 30, 2010Date of Patent: July 8, 2014Assignee: Fuji Xerox Co., Ltd.Inventors: Yuki Hara, Yozo Yamaguchi
-
Patent number: 8768682Abstract: Methods, apparatuses and storage medium associated with ISA bridging with support for virtual functions, are disclosed. In embodiments, at least one computer-readable storage medium may include instructions configured to enable a target device with a target ISA, in response to execution, to provide an ISA bridging layer to the target device to facilitate a library service of a library of the target device to call a virtual function of the library, while servicing an application operating on the target device, where the application has an overriding implementation. The ISA bridging layer may include a loader configured to load the application for execution, and as part of loading the application, detect the virtual function and modify a virtual function table of the application to enable the call. Other embodiments may be disclosed or claimed.Type: GrantFiled: January 18, 2013Date of Patent: July 1, 2014Assignee: Intel CorporationInventors: Yong Wu, Jianhui Li, Xiaodong Lin
-
Patent number: 8762687Abstract: An apparatus providing for a secure execution environment is presented. The apparatus includes a microprocessor and a secure non-volatile memory. The a microprocessor is configured to execute non-secure application programs and a secure application program, where the non-secure application programs are accessed from a system memory via a system bus. The microprocessor has a plurality of timers which are visible and accessible only by the secure application program when executing in a secure execution mode. The secure non-volatile memory is coupled to the microprocessor via a private bus and is configured to store the secure application program in encrypted form. Transactions over the private bus between the microprocessor and the secure non-volatile memory are isolated from the system bus, the system memory, and corresponding system bus resources within the microprocessor.Type: GrantFiled: October 31, 2008Date of Patent: June 24, 2014Assignee: Via Technologies, Inc.Inventors: G. Glenn Henry, Terry Parks
-
Patent number: 8762688Abstract: A multithreaded processor comprises a plurality of hardware thread units, an instruction decoder coupled to the thread units for decoding instructions received therefrom, and a plurality of execution units for executing the decoded instructions. The multithreaded processor is configured for controlling an instruction issuance sequence for threads associated with respective ones of the hardware thread units. On a given processor clock cycle, only a designated one of the threads is permitted to issue one or more instructions, but the designated thread that is permitted to issue instructions varies over a plurality of clock cycles in accordance with the instruction issuance sequence. The instructions are pipelined in a manner which permits at least a given one of the threads to support multiple concurrent instruction pipelines.Type: GrantFiled: October 27, 2011Date of Patent: June 24, 2014Assignee: QUALCOMM IncorporatedInventors: Erdem Hokenek, Mayan Moudgill, Michael J. Schulte, C. John Glossner
-
Patent number: 8745123Abstract: Completion processing of data communications instructions in a distributed computing environment, including receiving, in an active messaging interface (‘AMI’) data communications instructions, at least one instruction specifying a callback function; injecting into an injection FIFO buffer of a data communication adapter, an injection descriptor, each slot in the injection FIFO buffer having a corresponding slot in a pending callback list; listing in the pending callback list any callback function specified by an instruction, incrementing a pending callback counter for each listed callback function; transferring payload data as per each injection descriptor, incrementing a transfer counter upon completion of each transfer; determining from counter values whether the pending callback list presently includes callback functions whose data transfers have been completed; calling by the AMI any such callback functions from the pending callback list, decrementing the pending callback counter for each callback functiType: GrantFiled: November 30, 2012Date of Patent: June 3, 2014Assignee: International Business Machines CorporationInventors: Michael A. Blocksome, Sameer Kumar, Jeffrey J. Parker
-
Patent number: 8732229Abstract: Completion processing of data communications instructions in a distributed computing environment, including receiving, in an active messaging interface (‘AMI’) data communications instructions, at least one instruction specifying a callback function; injecting into an injection FIFO buffer of a data communication adapter, an injection descriptor, each slot in the injection FIFO buffer having a corresponding slot in a pending callback list; listing in the pending callback list any callback function specified by an instruction, incrementing a pending callback counter for each listed callback function; transferring payload data as per each injection descriptor, incrementing a transfer counter upon completion of each transfer; determining from counter values whether the pending callback list presently includes callback functions whose data transfers have been completed; calling by the AMI any such callback functions from the pending callback list, decrementing the pending callback counter for each callback functiType: GrantFiled: January 6, 2011Date of Patent: May 20, 2014Assignee: International Business Machines CorporationInventors: Michael A. Blocksome, Sameer Kumar, Jeffrey J. Parker
-
Patent number: 8725991Abstract: The present disclosure includes a multi-threaded processor that includes a first register file associated with a first thread and a second register file associated with a second thread. At least one hardware resource is shared by the first and second register files. In addition, the first thread may have a pipeline access position that is non-sequential to the second thread. A method of accessing a plurality of register files is also disclosed. The method includes reading data from a first register file while concurrently reading data from a second register file. The first register file is associated with a first instruction stream and the second register file is associated with a second instruction stream. The first instruction stream is sequential to the second instruction stream in an execution pipeline of a processor, and the first register file is in a non-adjacent location with respect to the second register file.Type: GrantFiled: September 12, 2007Date of Patent: May 13, 2014Assignee: QUALCOMM IncorporatedInventors: Lin Wang, Masud Kamal, Paul Bassett, Suresh Venkumahanti, Jian Shen
-
Publication number: 20140108768Abstract: An instruction set architecture (ISA) includes instructions for selectively indicating last-use architected operands having values that will not be accessed again, wherein architected operands are made active or inactive after an instruction specified last-use by an instruction, wherein the architected operands are made active by performing a write operation to an inactive operand, wherein the activation/deactivation may be performed by the instruction having the last-use of the operand or another (prefix) instruction.Type: ApplicationFiled: December 16, 2013Publication date: April 17, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael K. Gschwind, Valentina Salapura
-
Patent number: 8700885Abstract: A semiconductor device correctly switches endian modes regardless of the current endian mode of an interface. The semiconductor device includes a switching circuit and a first register. The switching circuit switches an interface to be used in big endian or little endian mode. The first register holds control data of the switching circuit. The switching circuit sets the interface in little endian mode when first predetermined control information is supplied to the first register, and sets the interface in big endian mode when second predetermined control information is supplied to the first register. The control information can be correctly inputted without being influenced by the endian setting status.Type: GrantFiled: June 19, 2013Date of Patent: April 15, 2014Assignee: Renesas Electronics CorporationInventors: Goro Sakamaki, Yuri Azuma
-
Patent number: 8688898Abstract: According to one embodiment, a memory device includes a memory, a memory interface, a command generator, an access command returning module and a command progress manager. The memory interface accesses the memory in parallel in accordance with access commands. The command generator speculatively issues access commands to the memory interface. The access command returning module returns access commands already issued to the memory interface and unexecuted at a time of occurrence of an error, through corresponding purge responses. The command progress manager updates command progress management information such that the command progress management information indicates the oldest one of the unexecuted access commands. The command generator reissues the returned unexecuted access commands to the memory interface based on the updated command progress management information.Type: GrantFiled: September 6, 2011Date of Patent: April 1, 2014Assignee: Kabushiki Kaisha ToshibaInventors: Yoko Masuo, Taichiro Yamanaka, Hironobu Miyamoto