CMPE 202 - Computer Architecture

 Main | Reading List | Schedule | Class Work

Homeworks (individually)

Homeworks should given before class of the assigned day. Submit the ecommons version electronically if requested.

Paper Review (individually)

Submit with ecommons like the homeworks. If you choose a paper not in the list, submit the paper PDF too.

Choose two papers from paper list (processor papers are not valid for review). You can choose another paper as long as it has been published on MICRO conference (not magazine), ISCA, or ASPLOS conferences. The review must include the following sections: (1 pages total with 10pt size, additional pages will be ignored)

  • Paper title and your name
  • Provide a short summary of the paper (1 paragraph)
  • What is the strength? A simple bullet list (this is the most important part of the review)
  • What is the weakness? A simple bullet list (This is important, but the papers are good, so not so weak)
  • Provide comments in ways that the paper can be improved
  • Talk about related work published more recently (1-2 paragraphs only)
  • If you choose another paper that it is not in the list, add a printed version of the paper.
You can see two good sample reviews from review1 and review2. Since I provided a sample review for you, these two papers are NOT allowed to be reviewed.

SESC Setup (individually)

This document explains the esesc setup instruction. New setup to be available soon.

Available Projects

This quarter, there are 3 possible project categories. All of them done individually.
  • Create a branch predictor with a 1024Kbits storage and unlimited storage limit that competes using the branch prediction championship instructions cbp 2016. The provide a link to the source code and traces.
    The results are against a IMLI predictor.
    If anyone achieves results to beat IMLI by over 5% using the competition rules (64KBytes category), I will likely provide funding for presenting the results in Korea this summer.
    Available at cbp_cmpe202.tar.gz

    The older CBP from 2014 is available too:
    cbp14_cmpe202.tar.gz

  • Create a new data prefetch algorithm using the data prefetch championship dpc 2015. The storage limit is 8KBytes and 64KBytes.
  • Propose to implement some ISCA/MICRO/HPCA paper on ESESC. This requires pre-approval to check that the projects is reasonable.

Projects Results

In all the cases, the projects have four major parts:
  • Project Description: A one page document explaining the main objective of the paper. It should included a clear roadmap. The roadmap includes tasks and who does them.
  • Project Presentation: a short under 20 slides presentation (PDF slides) where the key idea and results of the project are presented. This is the documentation for the project submission. The best projects in each category will present their results (extra 5% credit).
  • Project Source: Handle a tar with all the code modifications. The source tree must be consistent with the latest mainline version. Otherwise, the project will not be accepted. Remember to read docs/README.codingStyle.
  • Project Form must be filled by each student, and returned before the project due.
Project submission instructions:
# This is a sample for ESESC, but the same diff and idea should be applied for any project
# (The pyrope projects could just commit the code)

# Cleanup your working directory (esesc-modified is your current esesc working directory)
cd esesc-modified
make clean
# remove the build directory if inside ESESC
# do not keep binaries or simulation results in the source directory

# Get a clean esesc to compare against
cd ../
mkdir tmp
cd tmp
GET THE LATEST ESESC VERSION HERE. Called esesc-original

# Generate a diff
diff -bBdNrw -U5  --exclude=*.o --exclude=*.a --exclude=qemu --exclude=build esesc-original ../esesc-modified >esesc_patch

# Check that the esesc_patch is not huge (under 100KBytes for sure, because you could not type so much)
# If the file is huge, make sure that you have a clean working directory

# Create a readme on how to run your simulations

# Creaate a tar file with the readme and the esesc_patch
tar czvf cmpe202_YOURNAME.tar.gz esesc_patch readme

# submit through ecommons