San Jose State University Greensheet

Fall 2005

CS147 (Section 5): Introduction to Computer Architecture

CS 147 Section 5 (Course Number 48702) Tue/Thu 10:30-11:45 Location: MH 223

Instructor: Soon Tee Teoh

Office Hours:

Mon/Tue/Wed/Thu 9:00-10:15

I am also available by appointment.

Office: McQuarrie Hall 211 (phone: 408-924-7227).

E-mail: teoh@cs.sjsu.edu

Course Website:

http://www.cs.sjsu.edu/~teoh/teaching/cs147/

Prerequisites:

The prerequisite for this class is CS 140. Students should also already know Java programming.

Adding and Dropping Classes:

The student is responsible for understanding the policies, procedures, and deadlines for adding and dropping classes, and for academic renewal, withdrawal.

Course Description:

This course covers introduction to Computer Architecture and a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. We also study the interrelationship and interaction of various parts of computer systems, digital logic, instruction sets, processing and control units, hardwired and micro-programmed control units, buses, input-output, arithmetic and logic processing, memory system hierarchies, and virtual memory.

Course material is organized into the following units:

  • Digital logic
  • Conventional Von Neumann architecture
  • Internal representation of information
  • Instruction formats and addressing, instruction sets
  • Machine and assembly language programming
  • The fetch/execute model of computation
  • RISC/CISC, pipelining
  • Memory architecture and algorithms: cache, virtual memory, paging, segmentation
  • Overview of distributed systems, multiprocessors, networks, parallel systems

 

Text: M. Morris Mano and Charles R. Kime, “Logic and Computer Design Fundamentals”, Third Edition, ISBN 0-13-140539-X, Prentice-Hall, 2004.

Schedule:

The following is the tentative course schedule for the class.

 

Week

Date

Topic

Reading

Assignment Due

0

8/25/05

Introduction & Overview

1.1

 

1

8/30/05

Binary Logic

2.1-2.3

 

9/1/05

Karnaugh Maps

2.4-2.5

 

2

9/6/05

Gates, PLD

2.6-2.8, 3.6

 

9/8/05

Combinational Functions

4.1-4.5

 

3

9/13/05

Sequential Logic I

6.1-6.3

HW 1

9/15/05

Sequential Logic II

6.4-6.6

 

4

9/20/05

Review

 

 

9/22/05

Midterm 1

 

 

5

9/27/05

Arithmetic

5.1-5.4

 

9/29/05

Registers

7.1-7.6

 

6

10/4/05

Computer Design Basics I

10.1-10.3

 

10/6//05

Computer Design Basics II

10.4-10.6

 

7

10/11/05

Computer Design Basics III

10.7-10.10

HW 2

10/13/05

Instruction Set Architecture I

11.1-11.3

 

8

10/18/05

Instruction Set Architecture II

11.4-11.6

 

10/20/05

Instruction Set Architecture III

11.7-11.10

 

9

10/25/05

Review

 

 

10/27/05

Midterm 2

 

 

10

11/1/05

Single Cycle Control, Datapath

 

 

11/3/05

Pipelined Datapath

12.1-12.2

 

11

11/8/05

RISC Architecture

12.3

HW 3

11/10/05

CISC Architecture

12.4-12.6

 

12

11/15/05

Memory

14.1

 

11/17/05

Cache

14.2-14.3

 

13

11/22/05

Virtual Memory

14.4

 

11/24/05

None (Thanksgiving)

 

 

14

11/29/05

I/O and Communication

13.1-13.9

HW 4

12/1/05

VHDL, Parallel Architectures

 

 

15

12/6/05

Additional Topics

 

 

12/8/05

Review

 

 

 

Teaching Methodology: The course is given through two lecture periods each week. Lectures, reading assignments, and written and programming homework assignments are used to disseminate the course material. Students will be expected to read the text, and be prepared to discuss the readings and the assignments in class. Homework assignments will generally take the form of written problems or programming projects. Students in the course are expected to complete: assigned readings, assignments, and projects.

Attendance Policy: Lectures: Students should attend all lectures, not only because they are responsible for material discussed in the lectures, but also because active participation is essential to insure maximum benefit for all members of the class. Attendance will not be used as a criterion for grading. The student is responsible for knowing all announcements made by the instructor during lectures.

Course Requirements:

The course is composed of three components: lectures, homework assignments and exams. The homework assignments are based on lecture material and textbook readings. Examinations will be based on lectures, readings and homework assignments.

Examinations: All examinations will be announced at least one week in advance and will cover material discussed in class and the text book. Test material will be drawn from the text book, lecture, assignments and any supplementary material provided by the instructor. Note that asking the student to use the material presented to think beyond what has been laid out, to apply their knowledge, is really what education is all about. Exact details about examinations in this course will be determined by the instructor. Typically there will be two in-class examinations during the semester and a two-hour final examination. Specific details will be made available before the exams are offered

Grading: Your grade will depend on: exams (based mostly on class lectures) and homework (based on class lectures). Each student will accumulate points for all assigned homework and exams. Keep your homework and tests at least until you receive your grade.

(1) Homework Assignments (4 @ 5%) 20%

There are 4 homework assignments planned.

Collaboration on homework is allowed. This means that you may discuss approaches to solving a problem with anyone in the class. Work together as much as you like except when specifically prohibited, as on most exams. However, each student must turn in his/her own work. Homework assignments can include both written problems and programming assignments.

The method of submission of homework will be given on the homework itself. Students are assumed to have prior ability to program in Java. Programming assignments will involve Java programming. The instructor is not responsible for answering any student’s questions about Java. The instructor is only responsible for answering questions on the material taught in class. The programming assignments are intended to reinforce class material. Homework assignments are due at the beginning of lecture on the assigned due date.

The programming assignment is graded on the correctness of the program and the adherence to the requirements given in the assignment. A submission that does not follow the instructions cannot be evaluated and therefore will receive no credit. If the program code is written clearly, some partial credit may possibly be given for partial correctness of the program code.

Late Turn-In Policy: Homework assignments are due at the beginning of the class period on the due date. Late homework may be turned in at the beginning of the next lecture, for a 20% reduction. Such items turned in late will be graded using the same criteria as for those turned in on time, and then 20% will be taken off the grade.

(2) 2 Midterm Examinations (2 @ 20%) 40%

An unexcused absence from an examination will result in a grade of zero for that examination. The only valid excuses for missing an examination are prior written approval from the instructor or a documented medical emergency.

(3) Final Examination 40%

The final exam will assume familiarity with material in the text, covered in lecture, and/or used in homework problems. The final exam will be held on:

            Wednesday, Dec 14, 9:45am – 12:00pm

Grading Scale (in points):

100-96 A+ 
95.99-92 A 
91.99-88 A-
87.99-85 B+ 
84.99-80 B 
79.99-77 B-
76.99-74 C+ 
73.99-72 C 
71.99-70 C-
69.99-65 D+ 
64.99-62 D 
61.99-60 D- 
Below 60 F

Disability Policy:

“If you need course adaptations or accommodations because of a disability, or if you need special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours. Presidential Directive 97-03 requires that students with disabilities register with DRC to establish a record of their disability.” See http://www2.sjsu.edu/senate/s97-10.htm .

Academic Dishonesty Statement (from Office of Judicial Affairs):

“Your own commitment to learning, as evidenced by your enrollment at San Jose State University, and the University’s Academic Integrity Policy requires you to be honest in all your academic course work. Faculty are required to report all infractions to the Office of Judicial Affairs. The policy on academic integrity can be found at http://www2.sjsu.edu/senate/S04-12.pdf .”