Repository logo
 

Abstracting the Classic Five-Stage Pipeline


Loading...
Thumbnail Image

Type

Change log

Abstract

The classic five-stage processor pipeline has been the mainstay of introductory computer architecture courses for decades, and still forms the basis of low-to-medium performance cores produced today. While the key concepts of the pipeline can be understood independently of any specific instruction set, processor implementations rarely consider it as an abstract component in its own right. In this tutorial, we implement the pipeline as a small, standalone component that can be understood and formally verified in isolation, and that can be connected up to a separately defined instruction-set implementation to form a full processor core. To achieve this separation, we use functional programming to capture interfaces that would be awkward to express using traditional hardware description languages. These interfaces support finer-grained processor verification, and open up new opportunities for component reuse, such as the ability to connect the same instruction-set implementation and verification framework to different pipeline implementations.

Description

Keywords

Is Part Of

Publisher

Publisher DOI

Publisher URL

Rights and licensing

Except where otherwised noted, this item's license is described as Attribution 4.0 International
Sponsorship
EPSRC (EP/V000381/1)
EPSRC (via King's College London) (Project RE20359)
This work was carried out under the CAPcelerate Project (EP/V000381/1) and the Chrompartments Project (EP/X015963/1), both part of the UKRI’s Digital Security by Design (DSbD) Programme and DSbDtech initiative.