
\documentstyle[class]{article}
\input{psfig}
%
\newcommand{\hzline}{\makebox[\textwidth]{\hrulefill}}
%
\def\ClassName{Computer System Organization}
\def\ClassNumber{(CS 333)}

%%\Solutions		%% optionally include solutions
			%% can also say \answerstrue
\pagestyle{classheaders}
\thispagestyle{firstclassheaders}
\begin{document}

\handedout{(8/25/95) Handout \# 1 }
%%\Assigned{x}
\date{January 15, 1993}

{\centering \Large \bf Course Information}

\begin{tabbing}
a silly amount \= and another \= \kill
Professor: \> \> Andrew Chien (2215 DCL, Ph: 333-6844) \\
		\> \> Email: {\it achien@cs.uiuc.edu} \\
		\> \> Office Hrs: after class or by appointment \\
Secretary: \> \> Marla Brownfield ({\it brownfld@cs.uiuc.edu}) \\
		\> \> Office: 2120 DCL Ph: 333-6241 \\
Teaching Assistant: \> \> Jay DeSouza ({\it jdesouza@cs.uiuc.edu}) \\
                     \> \> Office: L423 DCL (in basement) Phone: 244-5973 \\
		\> \> Office Hrs: M 2-4 at L423 DCL; WF after class. \\
\\
Lecture: \> \> WF 2-3:15pm, 124 Burrill \\
Course Lab: \> \> Sun 4 Sparcs, 1235 DCL \\
Handouts:   \> \> Available online at URL http://www-courses.cs.uiuc.edu/$\sim$cs333 \\
\> \> Or on the Sparcs in directory $\sim$cs333/ \\
Newsgroup:	\> \> uiuc.class.cs333 \\
\\
Prerequisites: \> \> CS 231, CS 232 or equivalent \\
Textbooks: \> \> {\it Computer Architecture: A Quantitative Approach}, Hennessy and Patterson, \\
		\> \>{\bf Second Edition}, 1996; and selected papers. \\
Reserved Materials / \> \> (annotations below) \\
Supplementary Reading: \> \> High Performance Computer Architecture, Stone \\
\> \> Architecture of Pipelined Computers, Kogge \\
\> \> Computation Structures, Ward \\
\> \> Computer Structures: Principles and Examples, Siewiorek \\
\> \> Computer Architecture and Parallel Processing, Hwang \\
\> \> Computer Architecture and Organization, Hayes \\
\> \> Highly-Parallel Computing, Almasi
\end{tabbing}

\noindent {\bf Purpose:}

This is an advanced course in computer architecture.  We will cover a
lot of ground rapidly.  Please don't fall behind, as you'll find it
difficult to catch up.  It is assumed that you understand the basics
of computer architecture (see prerequisites):

\begin{enumerate}\itemsep=-3pt
\item Computer Elements: logic, FSM's, memory
\item Assembly Language Programming: addressing, control transfers,
procedure linkage
\item Instruction Execution: instruction fetch, decode, operand fetch
execute, store results
\item Basic Machine Organization: datapath, control, busses and
arbitration, memory interface, interrupts
\end{enumerate}

If you feel that your background is lacking in some of these areas,
please consult an introductory architecture textbook such as {\it
Structured Computer Organization} by A. Tanenbaum.  

Our goal is to acquaint you with advanced concepts in computer
architecture.  Introductory classes showed you how a basic computer
functions.  In an advanced class our focus will be on how to make
computers more usable, and higher performance.  For example, you will
learn how advanced features such as virtual memory are supported.  In
addition, you will learn about a variety of techniques which increase
computer performance: pipelining, multiple issue, caches (memory
hierarchies), and high performance I/O.  Finally, in the later portion
of the class, we will discuss a variety of parallel computer systems
and future directions of computer organizations.

\smallskip

\noindent {\bf Required work:}

\begin{itemize}
\item {\bf Class} Students are expected to attend all lectures.

\item {\bf Homework and Machine Problems (MPs)} There will be approximately
eight assignments including three laboratory
exercises (aka machine problems or MPs.)    The written homeworks will give
students the opportunity to develop an in-depth understanding and
intuition for the material.  MPs will focus on simulations of
various features and subsystems of computers.  The labs play a critical
role in increasing your intuition and understanding.

\item {\bf Exams} There will be one midterm exam and a final exam.  The
midterm exam will cover material to date.  The
final exam will be given as scheduled by the University and will be a
three-hour comprehensive exam.

\item {\bf Projects} Students registered for 1 graduate unit of credit
will be required to do projects.

\item {\bf Regrading}  Requests for regrading will be accepted up to
two weeks after the return of graded assignments.  Such requests
must be accompanied with a written justification for why the problems
should be given higher scores.
\end{itemize}

\noindent {\bf Policies and Grading Criterion:}

\begin{itemize}
\item Homework and Lab Assignments: The course will be fast-moving so
it is important to keep up with the work.  No late work will be
accepted without prior arrangement.  We will try to return
graded homeworks and labs before exams, however it may not always be
possible.  

\item Grades: Final grades will be computed based on the following
approximate weights: Mid-term 25\%, Final 40\%, Homeworks and Labs
35\%.  For students who are required to do projects (see above), the projects
will weigh 25\%, with other weights scaled down appropriately.

\item Cheating: Unfortunately, it is necessary to mention cheating.
The course policy is described based on {\it Code on Campus Affairs and
Handbook on Policies and Regulations Applying to All Students} which
states: 

\begin{quotation}
It is the responsibility of the student to refrain from infractions of
academic integrity, from conduct that may lead to suspicion of such
infractions, and from conduct that aids others in such infractions.... 
\end{quotation}

Obvious examples of cheating include copying during exams and
submitting work that is not your own for credit.  For labs and
homeworks, it is legitimate for students to discuss {\it possible
interpretations} of the assignment, however, once solution or program
design and development has begun, {\bf all collaboration must cease}.  If
students are found to have collaborated excessively, all involved will
receive a grade of $0$ for that assignment.  The first instance of
cheating will result in a score of $0$ on the assignment or exam in
question.  A second instance will result in failure from the course.
\end{itemize}

\noindent {\bf Annotated Bibliography:}
\begin{itemize}\itemsep=0pt
\item High Performance Computer Architecture, Stone \\
Good alternative perspective for general information.

\item Architecture of Pipelined Computers, Kogge \\
Detailed study of pipelining, hazards, optimal schedules.

\item Computation Structures, Ward \\
Covers logic gates to simple computers, with an easy-to-read
pedagogical style and tricky problems.

\item Computer Structures: Principles and Examples, Siewiorek \\
A delightful collection of original papers describing groundbreaking
research in computer architecture over the past 20 years.  The
collection is somewhat dated now.

\item Computer Architecture and Parallel Processing, Hwang \\
Good encyclopedic reference describing high performance and parallel
architectures up through 1984.

\item Computer Architecture and Organization, Hayes \\
A classic introduction to computer architecture, but somewhat dated.

\item Highly-Parallel Computing, Almasi \\
An easy to read survey of issues in parallel computing.  The authors
cover the full gamut through applications, parallel languages,
compilation, and architecture.
\end{itemize}

%
\end{document}

