Go to CpSc 418 home page
Contents:
[
Course Outline |
CpSc 418 & 538A |
Course Reading List |
Instructor |
Lectures |
Marking |
Newsgroup |
T.A. |
Text Book
]
This year, I'm offering this course in two versions: CpSc 418 and CpSc 538A. CpSc 418 is the undergraduate version of the course and will follow the format that CpSc 418 has had for the past several years. CpSc 538A will be a graduate version. CpSc 418 is open to graduate student enrollment, and CpSc 538A is available to undergraduates based on the instructor's discretion based primarily on how much space is available and the student's past academic performance.
The two courses will have the same lectures. CpSc 538A will have additional readings, and an extra session each week. Some of the homework assignments may differ between the two courses to reflect the extra readings for CpSc 538A. While CpSc 418 will have a final exam, CpSc 538A will have a course project. Small groups of students in CpSc 538A will pick a current topic in computer architecture and propose a solution (I will provide some possible problems and starting points for solutions). In the project, the groups will explore the feasibility of the solution including issues of hardware feasibility, software requirements, cost, and suitability for the real market.
The remainder of this document focusses on the CpSc 418 version of the course. The CpSc 538A version may be different.
Homework | 15% |
Papers | 15% |
Quizzes | 10% |
Midterm (October 23) | 25% |
Final | 35% |
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 16, 2001 |
Second paper due: | November 29, 2001 |
The first half of the semester will focus on I/O and memory. The survery 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 approach with the explicit parallelism of Intel's new 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.
ubc.courses.cpsc.418 |
http://www.ugrad.cs.ubc.ca/~cs418/ |
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 this 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.
I've adopted much of the material for these pages from Alan Hu's pages from the Spring 1999 instance of this course.
Copyright 2001 Mark R. Greenstreet