Abstract:
PROBLEM TO BE SOLVED: To provide a method and a circuit for detecting and dealing with function stop of exception condition due to use of resource. SOLUTION: The processing of instructions from multiple threads using a shared dispatch pipeline is controlled by invoking a dispatch flush operation wherein instructions of a selected thread are flushed. A detected exception condition is resolved by issuing a following instruction. Until the exception condition is resolved, resources for allowing the second thread to dispatch are not be released which can prevent dispatch of the first thread for resolving the exception condition. A flush of the first thread does not resolve the function stop rather a dispatch flush of the second thread is issued. If a second thread instruction has long latency resource requirements that prevent the first thread from dispatching to resolve the exception, a hold is issued controlling when the second thread instruction is refetched. COPYRIGHT: (C)2005,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To dispatch and issue a new instruction group as quickly as possible in an SMT (simultaneous multi-thread) system. SOLUTION: The SMT system 119 has a dynamically shared GCT (a group completion table) 301. Performance of the SMT is improved by configuring the GCT to allow the instruction group from each thread to complete simultaneously. The GCT has a read port 304, 354 for each thread corresponding to the completion table instruction/address array for simultaneous updating on completion. The forward link array also has a read port for each thread to find the next instruction group for each thread upon completion. The backward link array has a backward link write port for each thread in order to update the backward links for each thread simultaneously. The GCT has independent pointer management means 336, 334 for each thread. COPYRIGHT: (C)2005,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To automatically, dynamically and repeatedly reconfigure a processor for optimal performance based on characteristics of currently executing software. SOLUTION: A plurality of cores of the processor are dynamically combined into larger cores that run complex operations with improved efficiency. A plurality of cores of an integrated circuit are selectively combined into functional groups by high-speed communication paths between the cores of a functional group so that a first core manages secondary cores that help perform a workload. The first core takes over secondary cores to create a combination of cores that functions as a single core so that complex functions are executed on the combination of cores in fewer cycles than would be used for a single core. Complex workloads are effectively managed using simple cores to provide efficient processing with a simplified processor design. COPYRIGHT: (C)2010,JPO&INPIT
Abstract:
A method for implementing speculative clock gating of digital logic circuits in a multiple stage pipeline design includes generating, in a first pipeline stage n, a valid control signal that is input to a first register (112) in a second pipeline stage n+1, the valid control signal indicative of when an operation is qualified to be performed by the second pipeline stage n+1; and generating, in the first pipeline stage, a speculative valid control signal that is used to gate a clock signal to a plurality of additional registers (116) in the second pipeline stage, wherein the speculative valid control signal is generated using only a subset of a total number of control inputs (202) used in generating the valid control signal, and wherein the clock signal is sent directly, without gating, to the first register (112) in the second pipeline stage.
Abstract:
A shared memory multiprocessor (SMP) data processing system includes a store buffer implemented in a memory controller for temporarily storing recently accessed memory data within the data processing system. The memory controller includes control logic for maintaining coherency between the memory controller's store buffer and memory. The memory controller's store buffer is configured into one or more arrays sufficiently mapped to handle I/O and CPU bandwidth requirements. The combination of the store buffer and the control logic operates as a front end within the memory controller in that all memory requests are first processed by the control logic/store buffer combination for reducing memory latency and increasing effective memory bandwidth by eliminating certain memory read and write operations.
Abstract:
A shared memory multiprocessor (SMP) data processing system includes a store buffer implemented in a memory controller for temporarily storing recently accessed memory data within the data processing system. The memory controller includes control logic for maintaining coherency between the memory controller's store buffer and memory. The memory controller's store buffer is configured into one or more arrays sufficiently mapped to handle I/O and CPU bandwidth requirements. The combination of the store buffer and the control logic operates as a front end within the memory controller in that all memory requests are first processed by the control logic/store buffer combination for reducing memory latency and increasing effective memory bandwidth by eliminating certain memory read and write operations.