ELEC 5200-001/6200-001 Computer Architecture and Design
Spring 2010, 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.

Last Class Day: May 4, 2010, B306, 11AM.

EXAM SCHEDULE:
Test 1, Monday, 3/8/10, 11:00-11:50AM, Broun 306, use of books, notes, etc., permitted, problems, solution, statistic.
Test 2, Wednesday, 3/31/10, 11:00-11:50AM, Broun 306, use of books, notes, etc., permitted, problems, solution, statistic.
Final Exam, Thursday, May 6, 2010, 12:00-2:30PM, Broun 306, use of books, notes, etc., permitted, problems, solution, statistic

PROJECT:
Spring 2010 Project Assignment, Monday, 2/8/10
Part 1 ISA, report due Friday, 2/19/10
Part 2 Datapath, report due Friday, 3/5/10
Part 3 Datapath Verification, report due Friday, 3/26/10
Part 4 Control Unit, report due Friday, 4/9/10
Part 5 FPGA Implementation, demo and report completed Monday, 4/26/10
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.
Project feedback from Spring 2010 students: 1 2 3 4 5 6 7 8 9 10 11
Project feedback from Fall 2009 students: 1 2 3 4 5 6 7
Project feedback from Spring 2009 students: 1 2 3 4 5 6 7 8
Project feedback from Fall 2008 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
VHDL references and relevant files for Project and Homework 1:
VHDL Review (Lecture from Fall 2009)
Modeling for Synthesis (Lecture from Fall 2009)
Overview of VHDL by Prof. Stroud
References on VHDL by Prof. Stroud
Lectures from Prof. Nelson's CAD course
Altera Quartus II and DE2 Manual (updated 4/24/10)
Leonardo Spectrum for Altera HDL Synthesis Manual
Altera MegaWizard Plug-In Manager Manual
Run time content editable memory tutorial
VHDL Files: hexto7seg.vhd, regfile.vhd (updated 3/24/10)

CLASS PRESENTATIONS (Attendance is a must for satisfactory grade):
3/29/10 Parallelism via Multithreaded and Multicore CPUs, by Bradley Dutton (speaker), O. Obayagbonna (scribe):
"Parallelism via Multithreaded and Multicore CPUs," A. C. Soden et al., Computer, vol 43, no. 3, pp. 24-32, March 2010.

4/2/10 Architectures for Extreme-Scale Computing, by Aaron Biddings (speaker), Lincoln Anderson (scribe):
"Architectures for Extreme-Scale Computing," J. Torrellas, Computer, vol. 42, no. 11, pp. 28-35, Nov 2009.

4/2/10 Parallel Programming with Transactional Memory, by Pratibha Kona (speaker), Anil Ust (scribe):
"Parallel Programming with Transactional Memory," U. Drepper, Comm. ACM, vol. 52, no. 2, pp. 38-43, February 2009.

4/30/10 Programming Multiprocessors with Explicitly Managed Memory Hierarchies, by Xin Jin (speaker), Alexander Pfeiffenberger (scribe):
"Programming Multiprocessors with Explicitly Managed Memory Hierarchies," S. Schneider, et al., Computer, vol. 42, no. 12, pp. 28-34, Dec 2009.

4/30/10 Triple-Parity RAID and Beyond, by Hai Lu (speaker), Nicholas Waters (scribe):
"Triple-Parity RAID and Beyond," A. Leventhal, Comm. ACM, vol. 53, no. 1, pp. 58-63, January 2010.

4/30/10 Recent Progress in Quantum Algorithms, by Min Zhang (speaker), Navit Yahdav (scribe):
"Recent Progress in Quantum Algorithms," D. Bacon and W. van Dam, Comm. ACM, vol. 53, no. 2, pp. 84-93, February 2010.

HOMEWORKS:
Homework 1: Design of multiplexers, register and ALU, assigned 1/15/10, due 1/29/10, Modelsim Tutorial (Spring 2010)
Homework 2, assigned 2/10/10, due 2/17/10, solution
Homework 3, assigned 2/17/10, due 2/24/10, solution
Homework 4, assigned 3/1/10, due 3/8/10, solution
Homework 5, assigned 3/10/10, due 3/22/10, solution
Homework 6 (updated), assigned 3/22/10, due 4/12/10, solution
Homework 7, assigned 4/12/10, due 4/19/10, solution
Homework 8, assigned 4/26/10, due 5/3/10, solution

LECTURES:
Lecture 1: Introduction, 11/1/10
Lecture 2: History of Computers (Chapter 1), 1/13/10 . . .
. . . See: Babbage's Difference Engine in action.
. . . See: British Prime Minister Gordon Brown apologizes to Alan Turing
. . . Read: "An Interview with Maurice Wilkes," Comm. ACM, vol. 52, no. 9, pp. 39-42, Sep 2009.
Lecture 3: Instruction Set Architecture (Chapter 2), 1/22/10 . . .
. . . Read: Barbara Liskov on her 2008 Turing Award, Comm. ACM, vol. 52, no. 7, pp. 20-22, July 2009.
. . . Read: Jon Kleinberg and his 2008 ACM-Infosys Foundation Award, Comm. ACM, vol. 52, no. 7, p. 23, July 2009.
. . . Read: J. Mashey, "The Long Road to 64 Bits," Comm. ACM, vol. 52, no. 1, pp. 45-53, Jan 2009.
. . . See: Wall-climbing robots.
. . . Watch: PBS Program: Digital Nation, Feb 2, 2010.
Lecture 4: Compiling and Executing Programs (Chapter 2), 2/5/10 . . .
. . . Read: M. Hall, D. Padua and K. Pingali, "Compiler Research: The Next 50 Years," Comm. ACM, vol. 52, no. 2, pp. 60-67, Feb 2009.
Lecture 5: Datapath and Control (Chapter 4), 2/15/10 . . .
. . . Read: D. Bacon and W. van Dam, "Recent Progress in Quantum Algorithms," Comm. ACM, vol. 53, no. 2, pp. 84-93, Feb 2010.
. . . Read about an alternative design style: A. J. Martin, M. Nystrom and C. G. Wong, "Three Generations of Asynchronous Microprocessors."
Lecture 6: Pipelining (Chapter 4), 3/3/10 . . .
. . . See: Charlie Chaplin on Assembly Line in Modern Times
Guest Lecture by Alex Lusco: The Processor Simulator, 3/22/10, based on IEEE SoutheastCon 2010 Paper
Lecture 7: Pipeline Control and Performance (Chapter 4), 3/26/10 . . .
. . . Watch: Ceibal - Uruguay's One Laptop Per Child (OLPC) Program (videos are periodically updated)
Lecture 8: Memory Organization (Chapter 5), 4/9/10 . . .
. . . Read: P. J. Denning, "The Locality Principle," Comm. ACM, vol. 48, no. 7, pp. 19-24, Jul 2005.
. . . Read: K. Beyls and E. H. D'Hollander, "Refactoring for Data Locality," Computer, vol. 42, no. 2, pp. 62-71, Feb 2009.
. . . Read: G. Graffe, "The Five-Minute Rule 20 Years Later," Comm. ACM, vol. 57, no. 7, pp. 48-59, Jul 2009.
Lecture 9: Performance of a Computer (Chapter 4), 4/26/10 . . .
. . . Read: M. D. Hill and M. R. Marty, "Amdahl's Law in the Multicore Era," Computer, vol. 41, no. 7, pp. 33-38, Jul 2008.
. . . and, D. H. Woo and H.-H. S. Lee, "Extending Amdahl's Law for Energy-Efficient Computing in the Multi-Core Era," Computer, vol. 41, no. 12, pp. 24-31, Dec 2008.
. . . Read more 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, Sep 2007.
. . . and, S. Gal-On and M. Levy, "Measuring Multicore Performance," Computer, vol. 41, no. 10, pp. 99-102, Oct 2008
. . . and, S. Williams, A. Waterman and D. Patterson, "Roofline: An Insightful Visual Performance Model for Multicore Architectures," CACM, vol. 52, no. 4, pp.65-76, Apr 2009.
Lecture 10: Microcoded Control (Appendix D)
Lecture 11 Computer Arithmetic (Chapter 3)
. . . Also see Chapter 2 in D. E. Knuth, The Art of Computer Programming: Seminumerical Algorithms, Volume II, Second Edition, Addison-Wesley, 1981.
Lecture 12: Symbol Representation and Floating Point Numbers (Chapters 2 and 3)
. . . Read: "IEEE 754: An Interview with William Kahan," Computer, Mar 1998, pp. 114-115.
Lecture 13: Conclusion, 5/4/10
. . . Read: J. Torrellas, "Architectures for Extreme-Scale Computing," Computer, vol. 42, no. 11, pp. 28-35, Nov 2009.

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