CS286 / Course Home Page



CS286 Computer Organization and Architecture
Section 002 - Fall, 2017

This is the home of CS286 Introduction to Computer Organization and Architecture (section 002), Fall 2017

Instructor: Dr. Hiroshi Fujinoki
Office: EB 2034
Office Phone: 650-3727
E-mail: hfujino@siue.edu
Instructor's HP: www.siue.edu/~hfujino
Notice: When you are sending me e-mail, please specify "CS286-002" in the subject field of your e-mail.

Office Hours:


Course Prerequisite:

CS-150 (Intro. Compute II) or the instructor's permission. Please talk to the instructor if you have not taken these courses.


Required textbook:

Title: Computer Organization and Design
Edition: Fifth Edition
ISBN: 978-0-12-407726-3

Author: J. Hennessy and D. Patterson
Publisher: Morgan Kaufmann


Course Objectives:

This course is an undergraduate level computer organization and architecture. We will discuss organization of modern computer systems to understand what are major components in computer systems and how they work. The goal of this course is to acquire essential knowledge about computer hardware organization and to master analytical skills to measure or predict both component-level and system-level performance. By the end of the semester, you will be able to (1) identify major components in computer systems and (2) to describe how those components work. Fields of coverage include the following issues: various evaluation methods for computer performance, assembly language programming, processor data-path design, control unit design, memory hierarchy, virtual and cache memory design and multi-processor systems.


Course Syllabus:

Course Syllabus is available here (MS WORD version).


Course Project:

Assembly programing assignments


How to contact the instructor?

There are two ways to contact Dr. Fujinoki:

(1) Through e-mail: You can contact the instructor by e-mail. E-mail: hfujino@siue.edu
(2) Drop-by during the office hours.
(3) By appointment (please send e-mail to Dr. Fujinoki).


Past Exams

For the first midterm exams:

For the second midterm exams:
For the final exams:

Past Quizzes and solutions:


Weekly Notices:

Week 6:

(2) On 9/25, the office hour is 3:00-4:00 PM (1:30-3:00 will NOT be available).
(1) Here is the list of the possible questions for Quiz #5 (MS word format).

Week 5:

(2) On 9/19 (T), the available office hour is between 14:00-15:30 (Dr. Fujinoki will NOT be available until 14:00 due to his Program Review Committee meeting.
(1) Here is the list of the possible questions for Quiz #4 (MS word format).

Week 4:

(13) Here are the exercise questions scheduled on September 15 and 18th (MS word format).
(12) Our TA (Mike Luis) will be assisting us by testing submitted source code files for the course programming projects. For those who are making early submissions, please e-mail your files to: mluis@siue.edu
(11) Here is the PPT presentation for pipeline hazards.
(10) Here is the PPT presentation for processor manufacturing yield.
(9) Here is the PPT presentation for processor evolution.
(8) Here is the PPT presentation for the six major architecures of processor datapath.
(7) Here is the PPT presentation for the concept of "processor datapath".
(6) Here are the results of Quiz #3.
(5) Here are Quiz #3 solutions. (MS word format).
(4) Regarding Quiz #3 question list, question #3 (between #10 and #11) is also included in Quiz #3 (as we discussed in the classroom). Thanks to Justin for double-checking this with me.
(3) Quiz #3 (scheduled on Wednesday, 9/13) covers the following questions in the list: #6, #7, #8, #9, #10, #11, #12, #13, #14, #15, #16, #17, #18, #19, and #20.
(2) Here is the list of the people who attended the class on 09/08.
(1) PC-SPIM (and other required files) can be downloaded from: http://www.cs.siue.edu/~hfujino/CS286_F17_002/PCSpim/

Week 3:

(11) Here are the PPT slides for PC-SPIM assembly programming (Part 2).
(10) The following is a list of the suggested references for the third program in Project #1:

(9) Here are the exercise questions scheduled on September 8 and 11th (MS word format).
(8) Here is the list of the possible questions for Quiz #3 (MS word format).
(7) Here are Quiz #2 solutions. (MS word format).
(6) Here are the results of Quiz #2.
(5) Here is a sample asm source code file for the suggested loop structure.
(4) Here is the PPT presentation for IEEE-754 floating point standard.
(3) Here is the list of the people who attended the class on 09/01.
(2) Hint: for Question #20 in Quiz #2 list, please make sure to describe the difference regarding how the binary bit patterns are encoded to a register between li and la.
(1) Quiz #2 covers the following questions in the list:

Week 2:

(9) Here is the list of the possible questions for Quiz #2 (MS word format).
(8) Here are the description/requirements of Programming Project #1 (MS word format). - for Program 3 in this project, you can assume a user always enter the monthly payment larger than the interest amount for each month.
(7) Here are Quiz #1 solutions. (MS word format).
(6) Here are the results of Quiz #1.
(5) Here are the PPT slides for PC-SPIM assembly programming (Part 2).
(4) Here is a tutorial for PC-SPIM MIPS-R3000 emulator.
(3) Here are the PPT slides for assembly programming for MIPS-R3000 processor.
(2) The following questions (in the quiz list) will NOT be asked in Quiz #1: #7, #8, #9, #10, #13, #14, and #16.
(1) Here are the exercise questions scheduled on August 25th (MS word format).

Week 1:

(13) Here is the list of the people who attended the class on 08/25.
(12) Here are the solutions for the exercise questions August 23rd (MS word format).
(11) Here is the list of the people who attended the class on 08/23.
(10) Here are the PPT slides for the different types of number systems used in computer systems.
(9) Here is the list of the people who attended the class on 08/21.
(8) Here are the exercise questions scheduled on August 23rd (MS word format).
(7) Here is the list of the possible questions for Quiz #1 (MS word format).
(6) Disability Support Services at SIUE requested me to make this annocuncement:

(5) Here are the PPT slides that summarize what are the source code files in a high-level programming language, assembly language and binary machine codes (make sure to download MPEG file for animation - save the mpg file in the same directory you saved "Week_01.ppt").
(4) Bring your calculator to every CS286 lecture.
(3) Here are the grading policies for this course.
(2) Here is the "Quick Tour" presentation for "What is computer organization"?
(1) Welcome to CS 286 / Intro. to Computer Organization. See you in the class.

Last updated at 8:15 A.M., September 25, 2017