ECE 6713/4714, CS 6113/4113 Computer Architecture Home page, Robert Reese



Lectures

Contact Information, Class Policy

My office is Simrall 335. Office hours for Spring 2001 are Tuesday, Thurs, Friday 2-4 (other hours by appointment). My office phone is 325-3154, email is reese@ece.msstate.edu.

The textbook (non-optional, I will refer to it a lot) for this course is Computer Organization & Design , by Patterson & Hennessy.

Grade determination:

I will assign voluntary external assignments whose purpose is to prepare you for the exams. Occassionally, I may designate an external assignment as being worth extra points that can be added to an exam grade. Graduate students will be assigned an non-optional project that will be worth 10% of their grade.

Grade assignment is based on a 10-point scale. External assignments are due at the beginning of the class period that it is due. NO LATE ASSIGNMENTS are accepted.

Academic Dishonesty

In the past I have had problems with Academic Dishonesty . Academic Dishonesty is when you present some other person's work as your own. The following is my definition of academic dishonesty:

The are NO external assignments in this class that are group projects. You must do all external assignments via your own effort. You may DISCUSS external assignments with other students, and verbally answer questions from other students. You may not show your work to another student, or provide and 'old copy' as an example. If I find a student guilty of academic dishonesty, expect a F in the course and an academic dishonesty claim to go into your permanent academic record.

Email List

The class EMAIL list will be the one provided by Information Technology Services (ITS). The email list is ece4713-01.spring2001@courses.msstate.edu. All students, including those registered under course numbers ece6713/cs4113/cs6113, will be on this list. See the Class EMAIL Faq for further information about how to be added to the list.

WARNING!!! It is your responsibility to make sure that you are on this email list. I will send many homework/test/lecture announcements to this list -- you are responsible for reading the emails sent to this list.

External Assignments

Most homework assignments are only provided as practice for the tests. They will not be picked up -- solutions will be provided for self-assessment purposes.

  1. MIPS Programming Assignment, solution will be provided on Monday, Jan 29th , SOLUTION
  2. Cache Simulator Project , ZIP archive with sample files . Worth a maximum of 50 extra points on any test (can't go over 100). Graduate students must implement the victim buffer that is mentioned. Due April 24th (4:00 PM).
      Submission Instructions (must be submitted from a Unix machine)
    1. Save this script ( submit_arch_sim1.perl ) to your local directory
    2. Make a directory called 'sim1' and copy your cache executable plus source code (DO NOT copy any trace test cases).
    3. Create a README file that tells me how to compile your code (I must be able to compile your code). I am assuming that the command line options are what was specified in the project.
    4. To submit your code, do "perl submit_arch_sim1.perl" from the directory in which 'sim1' appears as a subdirectory.
    5. An UUencoded compressed tar archive of the 'sim1' directory will be emailed to reese@erc.msstate.edu and also to your email address on the UNIX machine you are submitting from.

Syllabus (Spring '01)

  1. Jan 8: Intro to Computer Organization ( Chapter 1); Performance Metrics, Measuring Performance
  2. Jan 15: Instruction Set Formats, MIPS Addressing Modes
  3. Jan 22: MIPS Programming Examples, Other ISAs (Power PC, X86, Sparc).
  4. Jan 29: Test #1, Review of Number Systems, Fast Adders
  5. Feb 5: Multiplication, Floating Point formats
  6. Feb 12: MIPS Single Cycle, Multiple Cycle Implementation
  7. Feb 19: Test #2, Pipelining introduction
  8. Feb 26: MIPS Pipelined implementation
  9. Mar 5: Cache Design
  10. Mar 12: Spring Break (Topics: Sand, Waves, Sun).
  11. Mar 19: Virtual Memory
  12. Mar 26: Cache Simulation, Test #3
  13. Apr 2: Disk IO, Bus Systems
  14. Apr 9: Multi-CPU cache Consistency
  15. Apr 16: Intro to VLIW, Superscalar architectures
  16. Apr 23: Test #4, Intro to MultCPU architectures
  17. Apr 30: Review for Final Exams

Class Notes

Professor Dan Linder who has taught this class for the last 3 years has created a substantial set of online notes. CLICK HERE to access these notes. I will do the majority of day-to-day lecturing from these notes.

Additional Notes

Test Solutions

MISC Links

SPIM (MIPs simulator)

SPIM is a simulator for the MIPS processor (see Appendix A of your textbook for documentation). There is both a Unix and a PC version available. SPIM was written by and is maintained by James R. Larus, University of Wisconsin.

SPIM for the PC (Windows)

A PC installation executeable file for PCSpim is called pcspim.exe . Grab this file, and execute it under windows -- it will install PCSpim and you will be ready to go.

SPIM for UNIX, (ECE machines)

I have installed Unix Spim on the ECE machines. To place it on your path, do the following steps.

  1. If you don't already have a '.swsetup' directory in your home directory, create one via:
      % cd ~
      % mkdir .swsetup
    
  2. Copy '/home/reese/.swsetup/spim.rc' to your .swsetup directory via:
      % cp /home/reese/.swsetup/spim.rc  ~/.swsetup
     

After this, to put SPIM on your path, just do 'swsetup spim'. You can insert this in your '.cshrc' file, or execute it anytime you want to use spim. The command line version of spim is called spim , the X-windows verison is called xspim.

SPIM for other UNIX machines

If you use some other UNIX machines or favor LINUX, here is the Unix source distribution file spim6.3.tar.gz . The README that comes with it has self-explantory installation directions.