Skip to content

Hanocybous/computer-architecture-ii-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Branch Prediction Simulator using Intel PIN

Language Platform Course

πŸ“Œ Overview

This repository contains a Branch Prediction Simulator developed as part of the Computer Architecture II (MYE-005) course. The tool utilizes Intel PIN, a dynamic binary instrumentation framework, to simulate and analyze the performance of various branch prediction algorithms on the PARSEC benchmark suite.

The simulator intercepts control-flow instructions at runtime and evaluates the accuracy (MPKI - Misses Per Kilo-Instruction) of different static and dynamic prediction strategies.

πŸš€ Implemented Predictors

The following predictors are implemented in branch_predictor.h:

Static Predictors

Predictor Description
Static Not Taken Always predicts that the branch will not be taken.
Static BTFNT Backward Taken, Forward Not Taken heuristic based on target address.

Dynamic Predictors

Predictor Configuration Details
N-bit Predictor 1-bit / 16K Entries Uses a table of 1-bit saturating counters (Last Outcome).
N-bit Predictor 2-bit / 8K Entries Uses a table of 2-bit saturating counters.
Gshare 13-bit History / 8K Entries Uses global history XORed with PC to index 2-bit counters.

Target Predictors

Predictor Configuration Details
BTB + RAS Direct Mapped 512 entries + 16-entry Return Address Stack (RAS).
BTB + RAS 8-way Associative 64 sets (512 total entries) + 16-entry RAS.

About

Branch Prediction Simulator developed as part of the Computer Architecture II (MYE-005) course.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages