RIT Computer Engineering


Saturday, 18-Nov-2017 08:41:44 EST

2304 Visitors Since 9-Sep-2003

Exam & Presentations

   Exam Review   Tuesday November 4  (4:00pm, in class)

   Exam:   Thursday November 6   (4:00pm, in class)
           (3-4 students starting at 3:00 come to my office).

   Presentations 1:  + Course Evaluation:
           Tuesday November 11   (4:00pm, in class)

   Presentations 2:
           Thursday November 13   (4:00pm, in class)

   Presentations 3:
           Friday November 14   (2:00-5:00pm, in 9/2139)

   Presentations 4:
           Monday November 17   (2:00-5:00pm, in 9/2580, Xerox Auditorium )

For the following lecture notes you can download or view a lecture as an Acrobat PDF file, or as a Microsoft Powerpoint97 file:

9-9-2K3 Basics of Computer Design. Performance Measures. Instruction Set Architecture (ISA) Characteristics and Classifications. CISC vs. RISC, The MIPS64 ISA. (Chapters 1,2)
9-11-2K3 Pipelining Review: Definitions, Performance, Classic 5-stage Integer Pipeline, Pipeline Hazard Classification, Data Forwarding. Compiler Pipeline Scheduling. Static Branch Prediction, Branch Delay Slot. MIPS R4000. Instruction Pipelining and Exception Handling. Floating Point/Multicycle Pipelining (Appendix A)
9-16-2K3 Exploiting Instruction-Level Parallelism (ILP): Basic Instruction Block, Loop Unrolling, Further Classification of Instruction Dependencies.
(Chapter 3.1,  Chapter 4.1)
9-23-2K3 Dynamic Hardware-Based Instruction Pipeline Scheduling: The Scoreboard, The Tomasulo Approach.
(Appendix A.8,  Ch 3.2,  3.3)
9-30-2K3 Dynamic Hardware-Based Branch Prediction Techniques: Branch-Target Buffer (BTB), Single-level, Correlating Two-Level, Gshare, and Hybrid Dynamic Branch Predictors. Comparison of Branch Prediction Implementations.
(Ch 3.4, 3.5)
10-9-2K3 Multiple Instruction Issue, CPI <1 Approaches: Superscalar, VLIW. Speculation: Software, Hardware. Speculative Tomasulo Algorithm.
(Ch 3.6, 3.7, 4.3, 4.5)
10-14-2K3 Loop-Level Parallelism (LLP) Analysis. GCD Test. Software Pipelining.
(Ch 4.4)
10-16-2K3 Review of Cache Basics (from 550). Cache Write Strategies & Performance. Multi-Level Cache.
(Ch 5.1-5.3)
10-21-2K3 3Cs of Cache, Cache Performance Optimization Techniques; Reduction of: Miss Rate, Miss Penalty and Hit Time.
(Ch 5.4-5.7)
10-28-2K3 The Memory Hierarchy: Main & Virtual Memory.
(Ch 5.8-5.10)
10-30-2K3 Input/Output & System Performance Issues.
(Ch. 7.1-7.3, 7.7, 7.8)
11-4-2K3 Exam Review


4:00-5:50 PM Tuesday, Thursday in room 9/2139


Dr. Muhammad Shaaban
e-mail: meseec@rit.edu
Office: 17-2507 X52373

Office Hours:
My Fall 2003 schedule


Quizzes: 25%
Exam: 45%
Special Topic paper and presentation: 30%

Quizzes are announced one class in advance, and are given only during first twenty minutes of the specified class. Quizzes are closed references (e.g. no books, notes, handouts, etc...). Calculators will be helpful. There are no makeup quizzes and your lowest quiz grade is automatically excluded from the average calculation.

2-hour Exam:
A single all-inclusive 2-hour examination is given in week 9/10. Books, notes, quizzes and handouts are allowed in the exam. A calculator will be very helpful.

Special Topic paper and presentation:
Students will select one partner from the class to research a significant topic in the field of Computer Architecture, write a report, and give a presentation. Each groupís topic must be presented and approved by Dr. Shaaban. Duplicate topics are not permitted and proposals are accepted on a first come first serve basis.

The Paper: Each group will write a joint report (20-50 page) on their research using the IEEE journal format/guidelines/template. DO NOT CHANGE THE TEMPLATE! Take great care in following the guidelines, especially properly citing illustrations, graphs and quoting from their respective sources. The paper is due (hardcopy and electronic) at the beginning of the last day of the presentations. Late submissions will be significantly penalized. Plagiarism will result in a Zero ( see page 19 of the KGCOE 2003-2004 Student Handbook).

The Presentation: Each group will give a 20-minute PowerPoint presentation of their research to the entire class. This is a joint presentation and the group must be thoroughly prepared to answer questions. A signup sheet for a time slot will be available towards the end of the quarter. Attendance is mandatory for all three of the presentation sessions (each one being ~3 hrs long). Missing your presentation slot and/or electronic submission time will result in a zero. You must submit your Microsoft Power Point presentation electronically to Dr. Shaaban 24 hrs prior to your presentation time slot. Samples of prior presentations are available on the course website.


Current: http://www.rit.edu/~meseec/eecc551-fall2003/
Winter 2002: http://www.rit.edu/~meseec/eecc551-winter2002/
Fall 2002: http://www.rit.edu/~meseec/eecc551-fall2002/
Winter 2001: http://www.rit.edu/~meseec/eecc551-winter2001/
Fall 2001: http://www.rit.edu/~meseec/eecc551-fall2001/
Winter 2000: http://www.rit.edu/~meseec/eecc551-winter2000/
Fall 2000: http://www.rit.edu/~meseec/eecc551-fall2000/
Winter 99: http://www.rit.edu/~meseec/eecc551-winter99/
Fall 99: http://www.rit.edu/~meseec/eecc551-fall99/


The course covers various aspects of advanced uniprocessor computer architecture design. Instruction set architecture design alternatives are discussed. Techniques to enhance performance such as pipelined execution optimizations, branch-handling, exploiting instruction-level parallelism, multiple-instruction issue and dynamic scheduling are studied. Cache, and memory hierarchy design and performance issues are also presented. Finally, the design of efficient and reliable input/output systems are covered.


Computer Organization EECC550(0306-550).


Computer Architecture: A Quantitative Approach, Third Edition, John Hennessy, and David Patterson, Morgan Kaufmann Publishers, May 2002.

Reference Papers:

  • Virtual Memory:

    1. Virtual memory: Issues of implementation, PDF,
      B. Jacob, and T. Mudge,
      Computer, vol. 31, no. 6, pp. 33-43. June 1998.

    2. Virtual memory in contemporary microprocessors, PDF,
      B. Jacob, and T. Mudge,
      Micro, vol. 18, no. 4, pp. 60-75. July/Aug. 1998.

  • I/O Performance, RAID, Unix I/O Performance:

    1. Maximizing Performance in a Striped Disk Array, PDF,
      P. Chen and D.A. Patterson,
      Proc. 17th Annual IEEE Symposium on Computer Architecture, 1990, pp. 322-331.

    2. Storage Performance--Metrics and Benchmarks, PDF,
      P. Chen and D. Patterson,
      Proceedings of the IEEE 81(8):1151-1165, Aug., 1993.

    3. RAID: HighPerformance, Reliable Secondary Storage, PDF,
      P. M. Chen, E. K. Lee, G. A. Gibson, R. H. Katz and D. A. Patterson,
      ACM Computing Surveys, Vol.26, No.2, June 1994, pp.145-185.

    4. Unix I O Performance in Workstations and Mainframes, PDF,
      Peter M. Chen, David A. Patterson,
      Dept. of Electrical Engr. and Computer Science, University of Michigan, Technical Report, CSE-TR-200-94, 1994.

    5. Striping in a RAID Level 5 Disk Array, PDF,
      P. Chen, P.M., AND E. Lee,
      Proc. 1995 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pp.136---145, May 1995.

  • Vector Processing, Vector IRAM:

    1. Vector Processors, PDF, Appendix G, Computer Architecture: A Quantitative Approach, Third Edition.

    2. Scalable Processors in the Billion Transistor Era: IRAM, PDF,
      Christoforos E. Kozyrakis et al.
      IEEE Computer Special Issue: Future Microprocessors - How to use a Billion Transistors, September 1997.


Attending all lecture sessions is expected.


Week1: Fundamentals of Computer Architecture Design, Performance Measures Review. Instruction Set Principles Review and Examples. CISC vs. RISC. A Typical RISC Example: The MIPS64 Architecture.
Week2: CPU Pipelining Concepts Review, Pipeline Hazards. Branch Handling: Static branch prediction Static Compiler pipeline scheduling. Pipelining and Exception Handling.
Week3: Advanced Pipelining, Exploiting Instruction-Level Parallelism (ILP). Pipeline Scheduling, Loop Unrolling. Instruction Dependencies Analysis.
Week4: Dynamic Instruction Scheduling: The Scoreboard Approach, The Tomasulo Approach.
Week5: Dynamic Hardware-based Branch Prediction.
Week6: Exploiting ILP Further: Multiple-Instruction Issue Approaches: Superscalar, VLIW. Software and hardware Speculation. Compiler ILP support.
Week7: Cache Design Issues, Memory-Hierarchy Design. Advanced Techniques to Improve Cache Performance.
Week8: Storage Systems, Bus Design, I/O Performance Measures and Benchmarks Reliable Storage: Redundant Array of Inexpensive Disks (RAID). I/O System Design Issues.
Week9: Project Presentations.

  This page is 26Kbytes long and was last modified on:   Monday, 25-Feb-2008 17:14:20 EST.

Made with at least 30% post-consumer recycled bits