ELEC 5200-001/6200-001 Computer Architecture and Design
Fall 2008, MWF 11AM, Broun 306

Course Syllabus Grades Statistics
Instructor: Vishwani D. Agrawal, James J. Danaher Professor of ECE
Teaching Assistant: Manish Kulkarni, 334-332-0556, B359, consulting hours: MWF 10:00-11:00AM.

EXAM SCHEDULE:
Test 1, Friday, 9/19/08, 11:00-11:50AM, Broun 306, use of books, notes, etc., permitted; problems, solution, statistic.
Test 2, Monday, 11/17/08, 11:00-11:50AM, Broun 306, use of books, notes, etc., permitted; problems, solution
Final Exam, Tuesday, 12/16/08, 12:00-2:30PM, Broun 306, use of books, notes, etc., permitted - to prepare, review material on performance and cache, problems, solution

PROJECT:
Project feedback from Fall 2008 (this semester) students: 1 2 3 4 5 6 7 8 9 10 11 12 13
Project feedback from Spring 2008 students: 1 2 3 4 5 6 7 8 9
Project feedback from Fall 2007 students: 1 2 3 4 5 6 7 8 9 10 11 12
Fall 2008 Assignment:
Part 1 ISA, assigned 10/20/08, report due 11/3/08
Part 2 Datapath, assigned 11/03/08, report due 11/10/08
Part 3 - Datapath Verification, assigned 11/10/08, report due 11/19/08
Part 4 - Control Unit, assigned 11/10/08, report due 12/1/08
Part 5 - FPGA Implementation, demo and report, completed 12/5/08
INSTRUCTIONS FOR DEMO:
1. Briefly describe what is implemented, what program you will run and what result is expected.
2. Run the program pointing to the functions of the buttons you press. Let the viewer examine the result.
3. Offer to make a change to some parameter to a viewer selected value and rerun the demo.
4. Total duration of demo: FIVE MINUTES.
VHDL References:
Slides from Prof. Nelson's site: Synthesis with VHDL and Leonardo
Lectures from Prof. Nelson's CAD course
Altera Quartus II and DE2 Manual
Leonardo Spectrum for Altera HDL Synthesis Manual
Altera MegaWizard Plug-In Manager Manual
RAM_init.mif, Memory initialization file

CLASS PRESENTATIONS (Attendance is a must for satisfactory grade):
10/10/08 Hung Nguyen: Multiprocessors slides
10/10/08 Muralidharan Venkatasubramanian: Razor: A Low-Power Processor Design slides
10/10/08 Colin Stevens: Instruction Level Parallelism slides
10/29/08 Ramesh Bokka: CISC - Complex Instruction Set Computers slides
10/29/08 Pradeep Dandamudi: Single-Chip Multi-Processors (CMP) slides
10/29/08 Ahmed Faraz: Superscalar Architecture slides
10/31/08 Balapradeep Gadamsetti: Intel's Low-Power (High-k Dielectric) Technology slides
10/31/08 Chao Han: PowerPC slides
10/31/08 Joel Hewlett: IBM360 and Tomasulo's Algorithm slides
11/03/08 Prardiva Mangilipally: ARM Processor Cores slides
11/03/08 Kautilya Mishra: Virtual Memory slides
11/03/08 Priyadarshini Shanmugasundaram: Supercomputers slides
11/05/08 Rakshith Venkatesh: RAID-Redundant Arrays of Inexpensive Arrays slides
11/05/08 Chandra Shekar Yerrabothu: Input and Output of a Processor slides
11/05/08 Yu Zhang: Performance and Power Benchmarks slides

HOMEWORKS:
Homework 1, assigned 8/25/08, due 9/3/08, solution
Homework 2, assigned 9/5/08, due 9/12/08, solution
Homeworks 3 and 4: FPGA Exercise, assigned 9/15/08, due 9/29/08
Following files will be used (also see VHDL and Altera documents under PROJECT):
SRAM tutorial
Writing to SRAM
DE2 pin assignments
DE2 User Manual
sramtest.vhd
hexto7seg1.vhd
hexto7seg2.vhd
hexto7seg3.vhd
hexto7seg4.vhd
Homework 5, assigned 9/29/08, due 10/6/08
Homework 6, assigned 10/6/08, due 10/13/08, solution
Homework 7, assigned 11/21/08, due 12/1/08, solution
Homework 8, assigned 11/21/08, due 12/1/08, solution
Homework 9, assigned 12/1/08, due 12/8/08, solution

LECTURES:
Lecture 1: Introduction, 8/18/08
Lecture 2: History of Computers (Chapter 1), 8/20/08 . . .
. . . Read what futurists say about computers in "The Singularity Report," IEEE Spectrum, vol. 45, no. 6, pp. 32-82, June 2008.
Lecture 3: Instruction Set Architecture (Chapter 2), 8/29/08 . . .
Lecture 4: Compiling and Executing Programs (Chapter 2), 9/12/08 . . .
Lecture 5: Datapath and Control (Chapter 5), 9/22/08 . . .
Lecture 6: Control Unit: Hardwired and Microcoded (Chapter 5), 10/8/08 . . .
Lecture 7: Pipelining (Chapter 6), 10/15/08 . . .
Lecture 8: Pipeline Control and Performance (Chapter 6), 10/27/08 . . .
Lecture 9: Performance of a Computer (Chapter 4), 11/12/08 . . .
. . . Read about recent views on performance: S. M. Pieper, J. M. Paul and M. J. Schulte, "A New Era of Performance Evaluation," Computer, vol. 40, no. 9, pp. 23-30, September 2007; . . . and the most recent, S. Gal-On and M. Levy, "Measuring Multicore Performance," Computer, vol. 41, no. 10, pp. 99-102, October 2008
Lecture 10: Computer Arithmetic (Chapter 3), 11/21/08
. . . Also see Chapter 2 in D. E. Knuth, The Art of Computer Programming: Seminumerical Algorithms, Volume II, Second Edition, Addison-Wesley, 1981
Lecture 11: Symbol Representation and Floating Point Numbers (Chapters 2 and 3), 11/21/08
. . . Read: "IEEE 754: An Interview with William Kahan," Computer, March 1998, pp. 114-115.
Lecture 12: Memory Organization (Chapters 7), 11/21/08 . . .
. . . Read: P. J. Denning, "The Locality Principle," Comm. ACM, vol. 48, no. 7, pp. 19-24, July 2005.
Lecture 13: Conclusion, 12/8/08

PREVIOUS OFFERINGS BY PROF. V. AGRAWAL:
Spring 2008
Fall 2007
Spring 2007
Fall 2006
Fall 2005
Fall 2004