Home | Links | Contact Us | More About Intellectual Property | Bookmark
Search patents:
Home File Sharing Processor-microarchitecture-for-efficient-dynamic-scheduling-and-execution-of-chains-of-dependent-instructions

 Load and store unit for a vector processor
A load/store unit within a vector processor services memory requests to load or store vectors (...


 Smart buffer size adaptation apparatus and method
The present invention is directed toward a data communication system, comprising a frame processing ...


 Creation and use of control information associated with packetized network data by protocol drivers and device drivers
OF THE PREFERRED EMBODIMENTS As used herein, the term "software component" refers to any set of ...


 Reconfigurable computing architecture for providing pipelined data paths
The present invention is a reconfigurable data path whose functionality is controlled by a ...


 Multiple thread multiple data predictive coded parallel processing system and method
Accordingly, it is an object of the present invention to process large quantities of data with a ...


 Distributed data dependency stall mechanism
The invention resides in allowing each probe queue in a multiprocessor computer system to be ...


 Method and apparatus for arbitrating between command streams
The present invention provides a method and apparatus for arbitrating between command streams. In ...


 Computer with remote wake up and transmission of a status packet when the computer fails a self test
The failure of a component of a computer upon the awakening of the computer is brought to the ...


 Low power, high speed communications bus
The solution to the problem of data communication between a CPU and a memory where the internal ...


 Apparatus and method for handling multiple mergeable misses in a non-blocking cache
In light of the above, therefore, according to a broad aspect of the invention, disclosed herein is ...


 Processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions

Details
Inventors: Sharangpani, Harshvardhan P.; Fielden, Kent G.; Mulder, Hans J.;
Assignee: Intel Corporation (Santa Clara, CA)
Primary Examiner: Treat; William M.
Assistant Examiner:
Attorney, Agent or Firm: Blakely, Sokoloff, Taylor & Zafman

A processor microarchitecture for efficient dynamic instruction scheduling and execution. The invention includes a predetermined number of independent dispatch queues. The invention also includes a cluster of execution units coupled to each dispatch queue such that the dispatch queue and the corresponding cluster of execution units forms an independent micropipeline. Chain-building and steering logic coupled to the dispatch queues identifies a consumer instruction relying on a producer instruction for an operand, and issues the consumer instruction to the same dispatch queue as the producer instruction that it is dependent upon. The instructions are issued from the dispatch queue to the corresponding cluster of execution units. In one embodiment, the output of each execution unit in the cluster is routed to the inputs of all execution units in the cluster such that the result of executing the producer instruction is readily available as an operand for execution of the consumer instruction.

DETAILED DESCRIPTION A processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions is described.
The invention includes a predetermined number of independent dispatch queues.
The invention also includes a cluster of execution units coupled to each dispatch queue, such that a particular dispatch queue and the corresponding cluster of execution units forms an independent micropipeline.
Chain-building and steering logic coupled to the dispatch queues identifies a consumer instruction which relies on a producer instruction for operands.
The chain-building and steering logic of the invention issues the consumer instruction to the same dispatch queue as the producer instruction that it is dependent upon.
Instructions are issued from each of the dispatch queues to the corresponding cluster of execution units, such that a result of executing the producer instruction is readily available as the operand for the consumer instruction.
In this manner, several independent chains of dependent instructions are executed concurrently.
In one embodiment of the invention, the output of each execution unit in the cluster is routed to the inputs of all execution units in the cluster such that the result of executing an instruction is available to the inputs of the execution units in the cluster for use in executing a subsequent instruction.
Also, in one embodiment, a load/store dispatch queue provides for out-of-order dispatch of load instructions from the load/store dispatch queue, such that if a load or store instruction at the head of the dispatch queue cannot be dispatched, a subsequent load instruction may be dispatched.



Related patents
  Lock control for a shared main storage data processing system
The object of the present invention is to provide an improved lock control for sharing a main storage. Another object of the present invention is to provide a lock ...
  Distributed processing memory chip with embedded logic having both data memory and broadcast memory
The present invention provides computer memory chips which include internal computational logic and secondary memory that may be broadcast to in all chips simultaneously ...
  Method and apparatus for locally generating addressing information for a memory access
The present invention overcomes many of the disadvantages of the prior art by providing a system whereby a processor or the like need not provide an address to a memory ...
  System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs
Thus, a general purpose of the present invention is to provide a peripheral I/O controller supporting multiple, parallel variable bandwidth data streams over a high ...
  Interface device connected between a LAN and a printer for outputting formatted debug information about the printer to the printer
The aforementioned problems are addressed by the present invention in which formatted debug information is output by a network device to an image forming apparatus to ...
  Asynchronous transfer mode based service consolidation switch
From the foregoing, a need has arisen for a telecommunications switch that integrates a variety of services through an asynchronous transfer mode based operation. In ...
  Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system
Embodiments of the present invention provide a transaction ordering mechanism for processor-based computing systems which ensures proper ordering of transactions between ...
  Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements
A method and apparatus for providing local control of processing elements in a network of multiple context processing element are provided. According to one aspect of ...
  System and method for queuing of tasks in a multiprocessing system
OF THE INVENTION The block diagram of FIG. 1 illustrates a multi-node network 10 configured as a disk drive controller array. Nodes A and D are data storage nodes that ...
  System for flushing queued memory write request corresponding to a queued read request and all prior write requests with counter indicating requests to be flushed
The problems outlined above are in large part solved by a device and method for improving memory bus efficiency. The device includes an interface unit coupled between a ...

0.014

Archive: All patents - Links

Copyright (c)2006 Eipa-patents.org - All rights reserved