A downloadable game

Download NowName your own price

CompArchVR

Ever looked at a processor datapath diagram and thought, okay, I know what all these boxes are... but what is actually happening?

That is pretty much why CompArchVR exists.

It is a VR learning experience built around selected single-cycle MIPS datapath concepts, turning instruction execution from something you stare at on a diagram into something you can actually move through and interact with.

The experience is a bit like being the electric signal travelling through the datapath, moving from one stage to the next as the instruction is fetched, decoded, executed, and carried through to its final effect.

Instead of standing outside the processor and trying to follow a maze of lines, you travel through the execution process yourself. You carry instructions, work with registers and values, make the relevant decisions, and follow what happens from the beginning of an instruction all the way to its final architectural effect.

So, what do you actually do?

The experience breaks instruction execution into six learner-facing phases:

  • Fetch
  • Decode
  • Execute
  • Memory
  • Write-Back
  • Program Counter Update

You physically move through these areas in order, with each part of the environment representing a different part of the instruction's journey.

Depending on the instruction, you might be:

  • carrying an instruction into the next part of the datapath
  • decoding its fields
  • finding and interacting with registers
  • moving represented values between stages
  • selecting operands or control-related choices
  • working through an ALU operation
  • accessing data memory
  • writing a result back to a register
  • determining what happens to the Program Counter

Rather than recreating the processor literally in 3D, the prototype takes the kind of reasoning normally done while tracing a datapath on paper and spreads it across a physical route that you work through yourself.

Three ways to go through it

There are three modes, with the training wheels gradually coming off as you get more familiar with the lesson.

Learning

This is the guided version, with explanations, instructions, hints, and local reference material available as you work through an instruction.

Practice

Practice gives you less help and expects you to reconstruct more of the process yourself, while still keeping enough support around to help when needed.

Test

Test is the strictest version, with most lesson support removed so that you are expected to work through the instruction with minimal assistance.

The overall idea is to move from "show me what is happening" toward "I can work out what happens next."

Supported instructions

The prototype supports a selection of arithmetic, immediate, memory, branch, and control-flow instructions.

Learning mode

  • add
  • addi
  • lw
  • sw
  • sub
  • and
  • or
  • slt
  • beq
  • bne
  • j

Practice and Test modes

  • add
  • addi
  • lw
  • sw
  • sub
  • and
  • or
  • slt
  • beq
  • bne

What is this project?

CompArchVR was developed as part of my MSc dissertation at Trinity College Dublin, titled:

Creating Novel Virtual Reality Interfaces for Teaching Computer Architecture

It is an educational research prototype rather than a full MIPS simulator or a complete computer architecture course, with the focus kept deliberately narrow around making selected parts of single-cycle instruction execution easier to see, follow, and reason about.

It is intended to sit alongside lectures, diagrams, worked examples, and simulators rather than replace them.

Download and installation

This itch.io page hosts the final standalone Meta Quest build of CompArchVR.

The download is provided as an APK and can be sideloaded onto a Quest headset using a tool such as SideQuest.

Platform

  • Meta Quest 3
  • Built in Unity
  • Uses Meta Quest controllers
  • Standalone VR build

Source code and project stuff

If you want to look under the hood, the full Unity project, documented source code, dissertation, project journal, analysis material, and other supporting files are available on GitHub.

GitHub: https://github.com/Norged-Out/CompArchVR

Download

Download NowName your own price

Click download now to get access to the following files:

CompArchVR.apk 162 MB

Leave a comment

Log in with itch.io to leave a comment.