Design and implementation of a RISC-V extension for accelerating functional programming workloads

In this Master's Thesis a novel custom instructions for accelerating Haskell programs has been discovered, studied and implemented as an extension of the RISC-V Instruction Set Architecture (ISA) in the Rocket core by using a completely open source stack for program compilation as well as FPGA...

Full description

Bibliographic Details
Author: Trujillo Viedma, Daniel
Format: master thesis
Publication Date:2025
Country:España
Institution:Universitat Politècnica de Catalunya (UPC)
Repository:UPCommons. Portal del coneixement obert de la UPC
Language:English
OAI Identifier:oai:upcommons.upc.edu:2117/445112
Online Access:https://hdl.handle.net/2117/445112
Access Level:Open access
Keyword:Computer architecture
Programming languages (Electronic computers)
Computació d'altes prestacions
RISC-V
instruccions personalitzades
Haskell
Rocket Chip
High-performance computing
Arquitectura d'ordinadors
Llenguatges de programació
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors
Description
Summary:In this Master's Thesis a novel custom instructions for accelerating Haskell programs has been discovered, studied and implemented as an extension of the RISC-V Instruction Set Architecture (ISA) in the Rocket core by using a completely open source stack for program compilation as well as FPGA bitstream synthesis and engineering support tools (editors, virtualization, etc.). This Thesis is part of a research topic on high-performance computing that leverages custom, specialized functional units to accelerate computation- intensive workloads. RISC-V is a royalty-free, extensible and actively developed ISA based on the principles of the Reduced Instruction Set Computers (RISC) by which performance is enabled by simple, easy to decode and process instructions. Rocket is an open source design of a microprocessor logic developed by the University of California, Berkeley. It consist both of a computation core design and a System-on-Chip (SoC) generator to produce Linux-capable, synthesizable system designs. Haskell is a pure, lazy and functional programming language with a strong, static typing discipline. It is an appropriate platform for cutting-edge programming languages research and very high-level, which often makes performance unpredictable.