Software Project Solution



[100 points]

Teams: Form groups of 2-4 each. Email Dayuan with the team name and members.


Using the ARM simulator (ARMSim), write code that computes several complex values:

sin(x), cos(x), tan(x), and ex.

of 32 bit IEEE-754 floating point numbers without using ARM multiplier. There will be extra credit for any additional functions you generate (e.g., sinh(x), cosh(x), tanh(x)). Feel free to use any code you can find as long as you reference it and make sure it’

Proposed steps:

  1. Read a single number (x) from memory (store any constants in memory)
  2. Compute sin(x) π 360
  3. Compute cos(x)
  4. Compute tan(x)
  5. Compute ex
  6. Store result (and anything else interesting) in memory
  7. Determine how may computer cycles it took.


Sunday, 3 Dec, 11.59pm: Assembly code due on Blackboard

No changes allowed after submission

Documentation due on Blackboard as PDF

Monday-Friday 4-7 Dec: 10 min demonstration, in Dayuan’s office


Source code: 30%

  • Commented!!!!

Oral presentation & demonstration: 30%

  • 10 minutes
    • Approach, Code discussion, Issues and solutions, Your Results, and Demonstration with Dayuan’s numbers

Final report: 30%

  • A Total Computer Cycles for each function.
  • Estimate CPI for each function.
  • Estimate the total processing time assuming a system clock of 32kHz, a 1MHz, and a 1 GHz for each function.
  • All implemented algorithms must be described.
  • Show sample input and output data

Peer review: 10%