Simulator for branch prediction techniques

Branch prediction in pipeline processor MIPS is one of the solutions to branch hazards which is used to foresee the branch that will be taken in the program. With good branch prediction techniques, it can greatly improve the performance of the program. However, branch prediction can be hard to under...

Full description

Saved in:
Bibliographic Details
Main Author: Leong, Xinni
Other Authors: Smitha Kavallur Pisharath Gopi
Format: Final Year Project
Language:English
Published: 2018
Subjects:
Online Access:http://hdl.handle.net/10356/74001
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:Branch prediction in pipeline processor MIPS is one of the solutions to branch hazards which is used to foresee the branch that will be taken in the program. With good branch prediction techniques, it can greatly improve the performance of the program. However, branch prediction can be hard to understand as there are many branch prediction techniques available and each branch prediction technique works differently. There are educational programs in the market that allow the user to understand about MIPS. Nonetheless, there are limited programs that have branch prediction techniques functions to allow the user to understand how each branch prediction works. This project aims to educate users about how different branch prediction works by creating a web simulator on branch prediction techniques. This simulator allows users to choose among various branch prediction techniques and display the information of the branch in the table. Branch information includes new prediction, previous prediction, actual branch outcome, and accuracy. This simulator also provides other features like pipeline processor, visual aids, and detecting of hazards. This report provides a detailed documentation of the development of the web simulator which includes various aspects, issues faced and the implementation of the web simulator.