Final Report
NC State - Fall ‘25 - CSC 236
Table of Contents
Due date
This report is due on Tuesday, December 2nd, 2025, 11:45pm ET.
You have a 15-minute buffer for any technical issues. No submissions past this buffer will be accepted. Project late days cannot be used for this report.
Overview
The goal of this project is to have you explore how different chips are built and how different architectures can result in different features.
This project can be completed individually or as a group of 2 students.
Each group will study one combination of x86 chip, arm64 chip, and C-code.
The x86 chip options are:
- Intel Core i3
- Intel Celeron
- Intel Xeon
- AMD Epyc 7001 series
- AMD Ryzen Threadripper 1000 series
- AMD Ryzen 6000 series
The arm64 chip options are:
- ARM Cortex-R82
- ARM Cortex-A710
- ARM Cortex-X2
- Ampere Altra
The C-code options are:
In our Moodle page, you can make your selection with the “Choose Final Report Combo” assignment at the very bottom. If you’re working as a team, only one team member has to make this selection.
Note that for the chip options, each might be a family of chips. If that’s the case, you should find relevant references for one specific version that you will use in the report. For example, there are many versions of Intel Core i3 chips; for the report, you might choose to talk about the Core i3-14100.
Report Instructions
Your report should follow the 2-column IEEE template and be between 4 and 6 pages long. You can find Word and LaTeX versions of the template at the end of this page.
It should contain the sections specified below:
1. Chip specs
You should create one table that details the specification of both chips. You should include:
- number of cores and threads
- clock frequency
- physical size
- power
- max memory
- cache size
- price
2. Advanced features
Here you should discuss three advanced features each CPU has, e.g., SIMD, Hyper-Threading.
If information is available for the two features we talked about in class, you should discuss them:
- big.LITTLE usage – different companies might call this different names!
- number of pipeline stages
If you cannot find information for these two, please say that and discuss other features in their place.
Keep in mind that we want 3 advanced features, so for each chip you’d talk about, e.g., big.LITTLE, pipeline, and one extra feature.
3. Benchmark comparisons
Next, you should compare how the two chips perform on a CPU benchmark. You can use cpubenchmark or a different one, but make sure you report which one you’re using.
You should include (i) single-thread and multi-thread performance for each chip and (ii) discuss how the chips compare to each other in these aspects.
4. Assembly comparison
In this section, you will compare the same piece of C-code for both architectures. You will use Godbolt to compile your chosen code for each architecture.
In Godbolt, you will use x86-64 gcc 15.2 as the compiler for x86-64 and ARM64 gcc 15.2.0 as the compiler for arm64.
For each architecture, report the number of assembly instructions generated with varying optimization levels.
You can control the optimization level by using -O0, -O1, or -O2 in the compiler options.
For each architecture, with the most optimized option (-O2), find one assembly instruction we haven’t covered in class and describe what it does.
5. References
Finally, you should include links to where you found the specs/features/assembly instructions you described in previous sections. Make sure you have trustworthy references. For example, official manufacturer pages and official datasheets would be great references, Wikipedia would not.
Submission
Your submission should be a .pdf file to Gradescope;
the submission link is available in our Moodle page.
Grading Rubric
Your submission will be graded as follows:
1. Formatting (15 pts)
| Grading Item | major errors / missing | minor errors | good |
|---|---|---|---|
| double column format | 0 | 1 | 2 |
| number of pages (4-6 pages with references) | 0 | 1 | 2 |
| report title | 0 | 1 | 2 |
| author list with email | 0 | 1 | 2 |
| captions on all tables and figures | 0 | 1 | 2 |
| references | 0 | 2 | 5 |
2. CPU Information (55 pts)
| Grading Item | major errors / missing | minor errors | good |
|---|---|---|---|
| all 7 required specs for both chips (+2 for each, +1 for having all) |
0 | - | 15 |
| discusses 3 advanced features (+3 for each, +1 for having three) |
0 | - | 10 |
| report single-thread benchmark results | 0 | 5 | 10 |
| report multi-thread benchmark results | 0 | 5 | 10 |
| discusses benchmark results | 0 | 5 | 10 |
3. Assembly Information (30 pts)
| Grading Item | major errors / missing | minor errors | good |
|---|---|---|---|
| correctly reports counts for -O0, -O1, -O2 for both architectures | 0 | 5 | 10 |
| finds one new x86-64 instruction and describes it | 0 | 5 | 10 |
| finds one new arm64 instruction and describes it | 0 | 5 | 10 |