CPSC 418: Information


Go to CpSc 418 home page

Contents:
[ Course Outline | CpSc 418 & 538A | Course Reading List | Instructor | Lectures | Marking | Newsgroup | T.A. | Text Book ]


Instructor

T.A.

Lectures

Text Book

Marking

Homework15%
Papers15%
Synopses10%
Midterm (October 22)25%
Final35%

Papers

A goal of this course is to teach how to read papers about computer architecture. In addition to the readings for the course, there will be two assignments of the form ``find a paper about computer architecture, read it, and write a 2-5 page summary.'' Here are some suggestions of where to find papers. These summaries will be graded for both content and clarity.

As scientists and engineers, you must be able to communicate effectively. Marks will be taken off for poor writing style and grammatical errors that impede understanding. Spell check everything that you type!

First paper due: October 17, 2002
Second paper due: November 29, 2002

Synopses

To get the most out of this course, it is essential that you read the papers before class. Lectures will explore, expand upon, and critique the content of the papers. The ability to read is a pre-requisite for this course; I won't spend lecture time reading the papers to you.

I realize that some of you prefer a tangible incentive for preparing for class. In past years, I've had some pop-quizzes. This year, I'm going to try something different. For each paper starting from September 10, I will have four questions:

Your answers should be short. Typically two or three sentences. I reserve the right to take of points for answers longer than fifty words.

Course Outline

This course will build upon the material of CpSc 318 to examine current issues in computer architecture. Traditionally, architecture courses cover topics in the order of instruction sets, memory, and I/O. This means that instruction sets get too much attention and I/O gets neglected. As a remedy, I teach this course in the opposite order.

The first half of the semester will focus on I/O and memory. The survey of I/O emphasis will be on disks and disk arrays. We will also examine networks. The study of caching techniques will begin with a review of caching mechanics, and will focus on caching for large data sets and for shared-memory multiprocessors. These are currently issues for server machines and are likely to become increasingly important for desktop workstations and personal computers in the next few years.

The second half of the semester will focus on architectural support for parallelism. We will first examine super-scalar processors where the processor hardware finds implicit parallelism by analysing the instruction dependencies of the executing program. Super-scalars are the dominant architecture today. We will then compare the super-scalar approach wiht other approaches such as the explicit parallelism of Intel's IA-64 architecture. Following this introduction to instruction level parallelism, we will look at thread level parallelism. For this approach, applications are written as a collection of concurrently executing threads. Executing these threads in parallel can lead to greater performance. I've left the last two lectures open for topics of interest. These include quantum computing, bio-computing, nano-technology, embedded processors, high-speed circuits for pipelines and interconnect, architecture for low power, etc. I will welcome suggestions from the class of topics you would like to see covered.

Information Sources

Feedback

I strongly encourage you to give me feedback on what you like and don't like about the course, what you find easy or difficult, what homework problems you learned from and which ones you found non-helpful. I also encourage feedback on the papers that I've assigned -- are they too easy, too difficulty, overlap too much with material from CpSc 318, etc.

Cheating

Unattributed use of material from somebody else is plagiarism and constitutes academic misconduct. If in the course of doing your homework or writing a paper of a synopsis, you get material from the web, a book, a research paper, a friend, etc., you must include a citation. Otherwise, your are plagiarizing. In general, good clear citations will improve your score.

For homework, it's ok if you discuss the problems with other students in the class. However, each student must do their solution individually. If you discuss the homework with other members of the class and it is likely that you will work out solutions with similar approaches as a result. State who you worked with in your solution. Be specific -- name the people that you discussed the problem with and the aspects of the solution that you figured out together. As I stated above, I encourage discussions about the concepts. Proper academic conduct requires that you give credit when you receive an idea from someone else.

I basically trust you all not to cheat, and I expect cheating not to be a problem. However, suspected cheating cases will be referred promptly to the University for appropriate disciplinary action.

Acknowledgement

I've adopted much of the material for these pages from Alan Hu's pages from the Spring 1999 instance of this course.


Copyright 2002 Mark R. Greenstreet
mrg@cs.ubc.ca
Last Modified: 1 September 2002