University of Puget Sound - Fall 2009
CSci281 Assembly Language and Computer Architecture

Class Periods and Exam Schedule

Class Periods and Exam Schedule
Section Class times Mid-term exam Final exam
CSCI281A
Assembly Language / Computer Architecture
_MT_TF_ 1400-1450 TH399
Oct 15 14:00 Dec 16 16:00 - 18:00

Catalog description

Introduction to machine organization, machine structure, data representation, digital logic and assembly language programming on a RISC based architecture.

What we're really going to study:

"Computer architecture" is commonly seen as the aspects of a computer design visible to the assembly language programmer. At the minimum this includes reference to instructions, registers, memory organization, and peripheral access, but may also cover internal buses, common peripherals, etc. That's why "assembly language programming" appears in the description. All the rest helps us understand what's going on inside the machine.

In broad terms, this class will look at where we are, how we got here, and where we may go with respect to computer architectures. The evolution of the electronic computer has been driven by demands for more speed and smaller size. (It's fortunate that smaller size generally supports greater speed, but other, more subtle, tricks are used as well. These tricks often affect how we program the computer.) This evolution has had many side tracks and a few retreats, the study of which can illuminate a possible underlying grand scheme.

We will examine several architectures this term.

Textbook

Computer Systems Design and Architecture, 2nd Edition, Vincent P. Heuring and Harry F. Jordan, Prentice Hall, 2005. ISBN 0-13-048440-7

The authors have provided some on-line materials students can reference including lecture notes and machine simulators. I've recreated the SRC Instruction Set shown in the textbook's back flyleaf and enumerated the list of opcodes. WARNING, you should make corrections to your textbook as noted in the published errata for the book.

Other worthwhile reading:

Other Resources

Lecture Schedule and Notes

Assignments

Assignments and grades are recorded at moodle. Just login using your network/email password, then select this course.

Grading

Programming is not just about writing syntatically correct programs which compute the correct results. It is also about writing commentary and other documentation which will help others understand what you're doing. (This matches one of the University goals which emphasizes "the ability to communicate clearly and effectively".) Therefore you will also be expected to write clearly. Spelling, grammar, and style count.

Final grades will be based on the following components:

Mid-term exam10%
Final exam15%
Minor programming assignments (many, brief)20%
Major programming assignments (fewer, but longer)15%
Exercises (non-programming)20%
Presentations (based on your research and/or experiments)15%
Attendence&participation5%

CSci281/index.html was last edited by Randolph Bentson, on 2009/10/12T15:55:46-07:00
This course syllabus is a work in progress, so be sure to visit again in the near future.

Valid HTML 4.01 Strict Valid CSS!