1
Index
zxq5 edited this page 2025-06-16 16:01:19 +01:00

Custom ISA Reference

GitHub Repository

ISA Reference

The DSA (Damn Simple Architecture) A programming and microarchitecture guide

Name Email
Jacob Hinchliffe jjh413@student.bham.ac.uk
Harry Irving hxi486@student.bham.ac.uk
Tom Lee txl440@student.bham.ac.uk
Ali Awan aha480@student.bham.ac.uk

Preface

Inspired by the PATP[1] and Patterson's descriptions of MIPS[2], as well as some of the MIPS instruction set~[3], we are looking to create a small and simple ISA and a microprocessor to implement this, as well as a toolchain to compile/assemble programs for our ISA. This is not intended to be a full-fledged ISA, but rather a simple one that we can use to learn about the design of ISAs and microprocessors, as well as the design of compilers, toolchains, and emulators.

The ISA is designed to be simple and easy to understand, with a small number of instructions and a simple addressing mode. When writing Verilog, we will aim for instructions to execute in a single clock cycle.

This is a work in progress. Below is a list of things we want to do.

  • Write an assembler
  • Write a disassembler
  • Write an emulator (Harry wants this to be architecturally agnostic)

Table of Contents

Appendix

References

  • [1] "PATP" 2024
  • [2] Patterson, "Computer Architecture: A Quantitative Approach," 2009
  • [3] MIPS Technologies Inc., "MIPS32 Architecture For Programmers Volume II," 2008