Overview
ABSTRACT
This article describes the main features of “out-of-order superscalar processors" which implement a restricted form of data-flow execution. To make the best use of the parallelism between the instructions of a sequential code, these processors fetch and decode the instructions in-order, execute them according to the data flow rules, and terminate them in-order to allow exceptions to be treated strictly as for a sequential execution. To the features of "in-order" superscalars are added new features to allow the "data flow" execution and the in-order termination. These processors are now the cores of most multi-core processors.
Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.
Read the articleAUTHORS
-
François ANCEAU: Engineer INPG Grenoble, - Retired CNAM Professor, Researcher at LIP6, UPMC
-
Daniel ETIEMBLE: Engineer INSA Lyon - Professor Emeritus, Université Paris Sud
INTRODUCTION
This article examines the main features of data-flow superscalar processors, often referred to as out-of-order superscalars. Like all superscalars, these processors use the instruction parallelism existing in a sequential program to execute instructions that can be executed simultaneously in parallel, under hardware control. Whereas in-order superscalars can only start executing a small number of instructions (2 to 4) in the pipelines of the various operators, data-flow superscalars consider a much larger number of instructions to make the most of the data flow between instructions. Instructions are read and decoded in sequence, executed in data flow, and terminated in sequence to allow exceptions to be handled as in the case of strictly sequential execution.
This article presents the mechanisms and structures that enable both "data flow" and orderly termination. The reorder buffer (ROB) receives decoded instructions and guarantees orderly termination. Data dependency management is handled by register renaming, which can be partial (via ROB entries) or total (via physical registers and a mapping between these physical registers and architectural registers). Reservation stations" feed the operators, enabling operator results to be fed back as soon as possible into the inputs of stations awaiting these results. The problems of recovery from speculative erroneous execution, interrupts, multithreaded execution and memory buffers are also presented.
After a brief history, the concepts introduced are illustrated using examples of Intel processors, from the Pentium Pro to Core multi-cores, some of which use partial renaming and others total renaming. The example of IBM's Power 4, which provides the "data flow" part with groups of instructions and terminates instructions by group, is also detailed.
The limits of instruction parallelism in sequential code, the wall of heat and little performance gain resulting from a significant increase in hardware complexity have made superscalar "dataflow" processors the last high-end monoprocessors. But they are now the core of most multicore processors.
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
The Ultimate Scientific and Technical Reference
KEYWORDS
register renaming | superscalar | instruction level parallelism | data flow | reservation station | reorder buffer
This article is included in
Software technologies and System architectures
This offer includes:
Knowledge Base
Updated and enriched with articles validated by our scientific committees
Services
A set of exclusive tools to complement the resources
Practical Path
Operational and didactic, to guarantee the acquisition of transversal skills
Doc & Quiz
Interactive articles with quizzes, for constructive reading
Superscalar data stream processors
Bibliography
Exclusive to subscribers. 97% yet to be discovered!
You do not have access to this resource.
Click here to request your free trial access!
Already subscribed? Log in!
The Ultimate Scientific and Technical Reference