Lab 12 - Performance Enhancement


In this lab you will implement you proposed enhancements to improve the performance of the processor we have been building. The lab will start with each person describing their proposal for the class, followed by time to begin the implementation and testing.

Step 1 - Presentation

Your goal from last week was to prepare a proposal of three distinct modifications to improve the performance of your machine. Your proposed solutions should have the following characteristics:

  • Be something you can actually implement and test for lab 12.
  • Have measurable improvement in performance. This should be calculable in terms numbers of machine cycles saved.
The sort of modifications you can consider include:
  • Modifications to the actual hardware for the machine to speed up existing instructions.
  • Modifications to the microcode to speed up existing instructions.
  • Addition of new instructions that will decrease the number of instructions (and thus cycle) needed for typical program.
The must be enough detail in the proposal to demonstrate that the idea has been thoroughly considered, and that there is enough detail to demonstrate that the idea is feasible, and within the scope of complexity to be completable within this course.

Each student will be given 2-3 minutes to make a formal presentation. Please come prepared with your presentation on a flash drive, or on the internet. The presentation will be followed by a discussion on the efficacy and reasonableness of the proposal.

Step 2 - Implementation

Your goal here is to implement at least 2 of your proposal solutions. If you have a convincing proposal that is of sufficient complexity, and with approval of the instructor, you may only have to implement one of your proposed solutions.

To Do

  1. Complete the implementation
  2. Fully document your changes with descriptions, annotated code, and pictures of your hardware. This must be clear and complete for full credit.

Step 3 - Testing

In this step you will do a careful analysis of the improvements achieved (or not) through your changes. This includes both correctness in terms of function, as well as demonstration of the speedups.

Add a cycle counter to your computer. Simply connect the clock, anded with the not of the HALT condition to a 16 bit counter. Connect to the clear to the reset button. Connect a decimal probe to the output. This will allow you to run a program, and keep track of the number of cycle used.

For hardware and microcode changes that improve existing instructions write a program that uses your instruction in a loop. Run it for several tests cases, both with the original computer (before your changes), and with your changees. In each case collect the data indicating the number of cycles used. Create a spreadsheet comparing the results, including a graph of some sort.

Write up the results. Were the results what you anticipated? Why, or why didn;t you get the results you thought you would.

Step 4 - Presentation

In the final week of Lab (Lab 13) each person will make a 5-8 minute presentation of the results of their experiment. Create slides with:

  1. A description of the changes.
  2. The actual code or pictures of the hardware changes, with explanation.
  3. A review of the results including your tables and graphs.
  4. A analysis of what worked, and what didn't
  5. What would you do if you were to improve things further.
Topic revision: r2 - 2014-11-15 - JimSkon
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback