Skip to content

2. User guide

Alberto Rodríguez edited this page Nov 16, 2022 · 7 revisions

Installation

To install THUMDER Core go to the release tab and download the version for your operating system and architecture.

Usage

THUMDER Core has two operating modes, console and web server.

Currently the only way to use THUMDER Core is as a local command line emulator, it accepts the following sintax:

./THUMDER_Core [File] [Options]
    -h --help         Show the help message
    -S --server       Launch as a network server
    -v --version      Show version information

Once a file is passed as an argument it will check the code for errors, then it's assembled into DLX instructions and loaded into virtual memory. Once it's loaded the main menu will appear, the options in the menu are as appear:

  • F1 or any other key: Prints the menu again.
  • F5: Pressing this key will run the program until it finds a trap 0, if it's not present it won't end execution and loop around memory indefinitely.
  • F6: The simulation will run for 1 clock cycle, total cycle count and pipeline status will appear on screen.
  • F7: The F7 key is configured to run until it finds a breakpoint or ends execution.
  • R: This key is for resetting the CPU. It will reset, clock count, stats, registers and resets the PC to the beginning of the code section loaded.
  • L: Instead of resetting only de CPU you might want to reload the memory contents, labels and breakpoints.
  • F3: Hitting F3 will show you every register and its contents, general purpose and operational registers will show its value in hex, floating point registers will show its content in scientific notation. Doubles are also shown as scientific notation, but will contain more decimal values.
  • F4: First will ask for a memory address, then it will allow you to explore the contents of memory starting in that address. Each memory address is shown on a scrollable list alongside its content in hex. Use Up and Down arrows to scroll.
  • C: Similar to the previous one, but will scroll words instead of bytes, and will show the instruction loaded in that memory address.
  • F9: Will prompt you for an address to place a breakpoint.
  • F10: First shows a list of every breakpoint, it's memory address in hex and decimal, and the instruction it's there.
  • T: Settings menu, will open a sub menu with settings you can modify. WARNING editing any of these, will reset the simulation.
    • Memory size: Will prompt you for a number of bytes to make the memory of its size, Range: (1k to 64k)
    • Data Forwarding: Toggles on or off the forwarding feature.
    • fAdd units: The number of floating point add units.
    • fAddDelay: How many cycles will take each fAdd unit to do an operation.
    • fMult units: The number of floating point multiply units.
    • fMultDelay: How many cycles will take each fMult unit to do an operation.
    • fDiv units: The number of floating point division units.
    • fDivDelay: How many cycles will take each fDiv unit to do an operation.
  • S: Will print the stats gathered in execution.
  • P: Prints the current status of the execution pipeline.
  • Q: Exits the emulator.

The server implementation will come down the line.

Back to home

Clone this wiki locally