Article | REF: H1011 V1

Out-of-order superscalar processors

Authors: François ANCEAU, Daniel ETIEMBLE

Publication date: January 10, 2018, Review date: August 3, 2022

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

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 article

AUTHORS

  • 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.

You do not have access to this resource.

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

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

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

Subscribe now!

Ongoing reading
Superscalar data stream processors