University of Illinois at Urbana-Champaign
Department of Electrical and Computer Engineering

ECE 412, Fall 2003
Matthew Frank, Instructor

Course Overview

Instructor:
Matthew Frank
257 CSL, phone: 244-5929, email: mif@uiuc.edu
Office hours: Wed 3:30-4:30, or drop in if the door's open.

Objectives of the course:

This course is NOT an introduction to computer architecture. Starting from basic notions of computer organization, applications programming, and VLSI design, we will examine the current state of computer architecture and its future trends. Computer architecture is about designing computing systems that best address the needs of an application space given the capabilities and constraints of the underlying implementation technologies. In order to understand the motivations behind architectural techniques, one must understand how applications behave and what the implementation technologies are capable of delivering. In this course, we will examine computing systems that exploit parallelism at various levels, from the fine-grain or instruction level (e.g., microprocessors) to coarser parallelism such as task-level (e.g., multiprocessors). This course will involve a substantial project.

Prerequisites:

Students are expected to have a solid background in computer organization. It will often be assumed that students have working knowledge of logic design, pipelined processor design, memory hierarchies (including caches), virtual memory, and floating point representations.

Students who have had a background in programming and VLSI or architectural level design will have a more thorough appreciation of the subject matter than novice students.

Textbook/Reference Material/Readings:

I hope to cover most of the material one should expect in a graduate level architecture course, but I expect to not read to you from any textbook. You should consider the class discussions and the corresponding treatments in various textbooks as different approaches to learning the same material. A highly regarded, and widely used, textbook in computer architecture is:

John Hennessy and David Patterson, Computer Architecture: A Quantitative Approach, 3rd Edition, Morgan Kaufmann, 2003.

There is a short, select list of research papers that accompany the lectures. Electronic copies of these papers will be available from the ECE 412 website.

Since this course straddles the boundary between existing computer designs and experimental architecture, I encourage students to read further into the literature on any particular topic that interests them. The proceedings from the major IEEE and ACM conferences on computer architecture can be found in the Grainger Library, most notable of which are the International Symposium on Computer Architecture (ISCA), International Symposium on Microarchitecture (Micro), Architectural Support for Programming Languages and Operating Systems (ASPLOS), High Performance Computer Architecture (HPCA), Parallel Architectures and Compilation Techniques (PACT). Also, IEEE Computer Magazine is a good resource.

In 1998, the computer architecture community assembled a collection of the most important papers in the first 25 years of the International Symposium on Computer Architecture. This is a worthwhile book to get for your future reference.

Sohi (Ed), 25 Years of the International Symposia on Computer Architecture, Selected Papers, ACM Press, ISBN 1-58113-058-9, ACM Order number 415985

Design Problems:

I believe that the experience is the only way to gain knowledge. During the first half of the semester I will assign an extensive design problem each week that will help motivate and explore the concepts that we are covering that week. These design problems will constitute the largest portion of your grade in ECE 412. It is important that you do them all, and do them on time.

Projects:

The course project is a significant component of ECE 412. The projects are open-ended, and can involve groups of two or three students (individual projects need to be approved first). A typical project will involve some original research, possibly an extension of an existing paper, an investigation of a new technique or idea, or re-validation of results in an existing paper by creating your own experimental setup. I will provide more information on the course projects, including suggestions of possibly topics, over the next few weeks.

Quizzes:

There will be two quizzes in the course. The first quiz is scheduled for October 15th. The second quiz is scheduled for December 10th.

Website and newsgroup:

The website will contain important announcements, lecture notes, handouts, and other material helpful for succeeding in this course. The website can be found at http://courses.engr.illinois.edu/ece412/.

Grading mechanics:

Design Problems:45%
Quiz 1:10%
Quiz 2:10%
Project:25%
Participation:10%

Final thoughts:

You are encouraged to study in groups, and to come to my office in groups. Studying in groups usually will result in all of you understanding the material better. You, working with other members of your study group, can often unravel concepts to the benefit of all members of the group much better than one can person can, working alone.

You are encouraged to challenge assumptions. Computer Science and Engineering deals with "nature" that is man-made and so we may have made it wrong. Innovation, in my opinion, only comes when somebody challenges the current, dominant way of doing things.


mif@uiuc.edu
Last modified: 2003-Aug-26 16:30:55 CDT