FREESS: An Educational Simulator of a RISC-V-Inspired Superscalar Processor Based on Tomasulo's Algorithm

Abstract

FREESS is a new free, interactive educational simulator designed to teach instruction-level parallelism in advanced computer architecture courses. It models a RISC-V-inspired superscalar processor utilizing an extended Tomasulo's algorithm for dynamic, out-of-order instruction execution. The tool allows dynamic configuration of microarchitectural parameters and includes visual, step-by-step examples covering all key pipeline stages, making complex concepts accessible.

Report

Key Highlights

  • Educational Focus: FREESS is explicitly designed as a hands-on tool for Advanced Computer Architecture courses.
  • Core Algorithm: Based on an extended version of Tomasulo's algorithm to illustrate dynamic, out-of-order execution.
  • Architecture Inspiration: Models a superscalar processor inspired by the RISC-V Instruction Set Architecture (ISA).
  • Accessibility: The simulator is free, interactive, open source, and includes three illustrated step-by-step examples.
  • Configurability: Allows users to dynamically adjust critical runtime parameters, such as issue width, functional unit latencies, and buffer sizes.

Technical Details

  • Execution Paradigm: Demonstrates instruction-level parallelism and out-of-order dispatch, emphasizing issuing instructions as soon as operands are available.
  • Modeled Microarchitectural Components: The simulator includes detailed models of the Instruction Window (IW), Reorder Buffer (ROB), Register Map (RM), Free Pool (FP), and Load/Store Queues.
  • Pipeline Stages Covered: The simulation visually tracks and demonstrates key pipeline stages: fetch, register renaming, out-of-order dispatch, execution, completion, commit, speculative branching, and memory access.
  • Instruction Set: Utilizes a minimal, RISC-V-inspired instruction set sufficient for demonstration: ADD, ADDI, BEQ, BNE, LW (Load Word), MUL, and SW (Store Word).
  • Dynamic Configuration: Users can customize settings such as the superscalar issue width, specific functional unit types and their latencies, and the capacity of architectural buffers and queues.

Implications

  • Improved Computer Architecture Pedagogy: FREESS addresses a common difficulty in computer science education by providing a tangible, visual, and interactive model for highly complex, dynamic concepts like Tomasulo's algorithm and pipeline hazards, which are difficult to grasp purely theoretically.
  • Support for RISC-V Education: By using a RISC-V-inspired ISA, the simulator helps bridge the gap between theoretical architecture concepts and modern, relevant processor design, aiding in the training of future engineers familiar with the growing RISC-V ecosystem.
  • Open Source Contribution: The open-source nature of FREESS encourages broader experimentation, adaptation, and contribution from educators and students globally, fostering a collaborative learning environment for advanced topics.
lock-1

Technical Deep Dive Available

This public summary covers the essentials. The Full Report contains exclusive architectural diagrams, performance audits, and deep-dive technical analysis reserved for our members.

Read Full Report →