CS314: Computer Architecture and Design

News


Welcome to CS314! Textbook is available here now. (Sep. 15)

Assignment 1 is released! Deadline is Oct. 8, please see the details below.

Assignment 2 is released!

Assignment 3 is released!

Lab location is at: 机组实验地址:软件学院大楼5号102、104室(靠近东川路600号凯旋校门)

Introduction


The course is aimed at teaching the fundamentals of the computer organization and design. Upon completion of this course, a student should be able to explain the operation of a CPU, understand the merits of virtual memory, cache and interrupt system, and analyze the fundamentals of I/O system.

The emphasis of this course is on the basic issues of computer organization and computer design. Computer organization is concerned with the way the hardware components are connected together to form a computer system. Computer design is concerned with the development of the hardware for the computer taking into consideration of a given set of specifications. In this course, students will learn the principle and hardware implementation of computer components, and how to completely design a correct single processor computer.

Syllabus


Week Date Lecture Topic Slide Download
1 Sep.29 Chapter 1 Introduction and Performance Evaluation CIS314-chapter1-2016.pptx
2 Oct.13 Chapter 2 Instructions: language of the Computer CIS314-chapter2_1-2016.pptx
3 Oct.20 Chapter 2 Instructions: language of the Computer CIS314-chapter2_2-2016.pptx
4 Oct.27 Chapter 3 Arithmetic for computers CIS314-chapter3_1-2016.pptx
5 Nov.03 Chapter 3 Arithmetic for computers CIS314-chapter3_2-2016.pptx
6 Nov.10 Chapter 4 The processor CIS314-chapter4_A-2016.pptx
7 Nov.17 Chapter 4 The processor CIS314-chapter4_B-2016.pptx
8 Nov.24 Chapter 4 The processor CIS314-chapter4_C-2016.pptx
9 Dec.01 Chapter 4 The processor CIS314-chapter4_D-2016.pptx
10 Dec.08 Chapter 4 The processor CIS314-chapter4_E-2016.pptx
11 Dec.08 Chapter 4 The processor CIS314-chapter4_E-2016.pdf

Reference


Course Teacher

Haojin Zhu is currently an Associate Professor with Department of Computer Science and Engineering, Shanghai Jiao Tong University, China. He received his B.Sc. degree (2002) from Wuhan University (China), his M.Sc.(2005) degree from Shanghai Jiao Tong University (China), both in computer science and the Ph.D. in Electrical and Computer Engineering from the University of Waterloo (Canada), in 2009. His current research interests include wireless network security and distributed system security. He is a member of IEEE.


Course TAs

  • Huaxin Li : lihuaxin0033@163.com
  • Jie Li : 2604700255@qq.com

Course Book

  • Computer Org and Design, 4rd Ed.,Revised Printing, Patterson Hennessy, 2012

Office Time

  • Every Friday afternoon 2 pm ~ 5 pm at SEIEE building 3-509

Grade Determinates

  • Project Reports + Assignments ~20%
  • Class participation ~10%
  • Final ~70%

Assignments


Please send your first assignment in a single compressed package (.zip, .rar, etc.) to TA's email (lihuaxin0033@163.com). Please name your file as "StudentID_assignment1.zip". For example, if your student ID is 5130309000, and this is the first assignment, you should name your file "5130309000_assignment1.zip".

Assignment I

  • Chapter 1 : 1.16
  • Design a program to check if your computer is big endian or little endian. Please submit the source code and the execution results.

Submission Due: Oct. 08

Assignment II

  • Chapter 2 : 2.4, 2.14, 2.20

Submission Due: Oct. 26

Assignment III

  • Chapter 3: 3.6, 3.8, 3.11, 3.14
  • Coding Assignment
    Objective: Understanding the applications of IEEE 754 floating points in real-world machine
    Task 1: In your machine, what is the accuracy for single precision and double precision (or the number of bits required for single/double precision floating)? Please use a simple program to demonstrate it.
    Task 2: Run a program to obtain the results of “-8.0/0”and“sqrt(-4.0)”in your machine.
    Reports:
    • Submit your codes and execution results by printing your screen
    • Answer the following questions:
      1)What are the accuracy of float and double in your machine.
      2)How to represent infinite and NAN in your machine.

Submission Due: Nov. 17

Assignment IV

  • Chapter 4 : 4.10, 4.11, 4.12, 4.13, 4.16

Submission Due: Dec. 15