12. Lab 2: Cortex DSP Benchmark#

Are you stealing those LCDs? Yeah but I'm doing it while my code compiles

12.1. Pre-Lab#

Make a 1:45 to 2:00 minute video of yourself explaining how a basic CPU works.

See teams and Gradescope for more information.

12.2. Lab#

Run the following code on an Arduino Nano 33 BLE Sense.

Then write a technical explanation explaining what is going on. Submit the report on Gradescope.

Tip

If you click on dot_prod_dsp_bench.ino in the gist above you can clone the repository or access the raw file.

Uno Comparison#

Optionally, you may discuss the differences between the Nano’s benchmarks and the same float and int benchmarks on the Arduino Uno shown in Table 12.1:

Table 12.1 Arduino Uno Dot Product Benchmark#

Datatype

Time (microseconds)

int

5,600

float

21,128

Further guidance#

  • Your report should be well-written and highly technical, but take the tone of an executive summary.

  • You can use or not use section headings to facilitate the flow, as you see fit.

  • Assume your reader is a computer engineer who is familiar with Arduino, computer architecture, and dot products but has not run this particular benchmark.

  • Your references need to be comprised of reputable sources, such as text books and ARM documentation.

  • Include quantitative analysis of the results of the code run.

  • Spend that majority of your effort explaining those results from a hardware and software standpoint.

  • Conclude with a discussion of why this matters and how it may impact edge inference deployments.

  • Do not exceed 3 pages.

  • Ensure you include a Documentation statement.

Hint

This is primarily a research lab.

The Designer’s Guide to the Cortex-M Processor, 3rd Edition, by Trevor Martin, Chapter 9: Practical DSP for Cortex-M Microcontrollers has some good info, but you will need several more resources.

Authorized resources#

  • Large Language Models (such as ChatGPT) are not authorized at all for this assignment.

  • Other students in ECE 386 are not authorized.

  • You are encouraged to work with the USAFA Writing Center to improve the quality of your writing!

  • You are welcome to get help from cadets currently taking ECE 485 (but not ECE 386).