CSE 498a/598a: Survey of Advanced Computer Architectures


This course is an advanced course on Computer Architectures and aims to expose students to current and emerging trends in this field. Topics range from the microarchitecture of current and future processors to system-level components such as main memory and I/O. The topics covered in this course include (but are not limited to): architecture of instruction-level parallel processors (ILP), compiler optimizations, memory hierachies, I/O, programmable network processors, power-aware architectures, etc. A semester-long project will be used to complement the lectures with practical experience. Further, students will be asked to select one or more recent research papers in computer architectures and present it to the class in one of the lectures.

Instructor

Christian Poellabauer
354 Fitzpatrick Hall
phone: (574) 631-9131
email: cpoellab@cse.nd.edu
Office hours: Tuesday 3.30-4.30 and by appointment

Teaching Assistant

Srinivas Sridharan
222 Cushing Hall
email: ssridhar@cse.nd.edu
Office hours: by appointment

Lecture

Time: Tuesday & Thursday 2:00 - 3:15
Location: DeBartolo 349

Text

No text book will be used, instead a number of papers relevant to the class topics will be available on this web page or as hardcopies. Some lectures will be based on "Computer Architecture: A Quantitative Approach" by Hennessy and Patterson.

List of Topics:

  • Review of computer organization and instruction set design
  • Instruction-level parallel processors (ILP)
  • Multi-processor architectures
  • Memory hierarchies
  • I/O (busses, storage, networks, etc.)
  • Advanced topics (embedded systems, power management, etc.)
  • Projects

    Each student carries out a semester-long project (individually or in small teams depending on class size). The project will count towards 50% of the final grade (there will be no exams) and will give students the opportunity to work with real systems and participate in ongoing research efforts. Students are welcome to propose projects of their interest or projects that relate to ongoing research efforts in the department.

    Possible projects include:

  • exploiting processor features (such as performance counters on Itanium 2 processors) to monitor system-level information which is supplied to applications (Itanium 2 Reference Manual),
  • implementing application-specific networking code on programmable network processors (Intel IXP2400 boards),
  • experimenting with power management techniques (frequency scaling, sleep modes) of different system resources (CPU, network, disk, cache, etc.) on handheld devices (e.g., Compaq/HP iPAQs or Intel Sitsang evaluation boards, for more information look at a recent paper).
  • Each student (or team) meets with the instructor/TA once every 1-2 weeks (outside of class) to discuss progress, problems, etc. Each student will also prepare a one-page proposal, outlining the goals and milestones. The outcome of the project will be a research paper (should be close to being publishable), which will be presented at the end of the semester (conference-style presentation followed by a discussion).

    Prerequisites

    Resources

  • Schedule and Reading List (link deactivated)
  • Grading and other policies (link deactivated)