Feasibility of Vector Instruction-Set Semantics Using Abstract Monads
Name
debelen-reinerdb-meng-eecs-2024-thesis.pdf
Description
Thesis PDF
Size
386.91 KB
Format
Adobe PDF
Checksum (MD5)
27ffc8f43a02d54a3c7fd5c9a2c336d5
Author(s)
De Belen, Arthur Reiner
Advisor(s)
Chlipala, Adam
Date Issued
September 2024
Publisher
Massachusetts Institute of Technology
Abstract
Formalizations of instruction-set semantics help establish formal proofs of correctness of both hardware designed to implement these instruction sets and the software implemented against this specification. One such prior work1 formalizes a specification of a subset of the RISC-V instruction-set architecture using a general-purpose language, Haskell, using its monad and typeclass support to abstract over effects. Another member of the same family is the RISC-V V extension, which specifies instructions for operating on multiple data elements in a single instruction, which is useful for domains with high levels of data parallelism, such as graphics rendering and machine learning. In this work I examine the question of whether the same prior work can be extended to formalize the semantics of the vector extension. I answer this question with a tentative “yes”, backed by a partial specification in Haskell of a small but nontrivial subset of this vector extension, a translation of the same specification into Coq using hs-to-coq², and work towards demonstrating the utility of this specification.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
Copyright retained by author(s)
Persistent DSpace Link