Skip to content Skip to navigation

COMPUTER SYSTEM - CS 3443 Syllabus

Instructor:

Course Objective and Description:

This course will focus on fundamental principles of computer organization & architecture, and functional and register level description of computer systems and structures. It will cover instruction set, addressing techniques, linkage, assembly language, computer arithmetic, datapath and control, pipelining, memory hierarchy, and input/output operations.

Prerequisite:

  • Computer Science I and some basic C/Unix knowledge.

Required Textbook:

Computer-System

Computer Organization & Design, the Hardware/Software Interface, 4th Edition, Patterson and Hennessy, Morgan Kaufman, 2008.

Other References:

  • A Verilog HDL Primer, Third Edition (Hardcover), by J. Bhasker, Wiley-IEEE
  • Embedded System Design: A Unified Hardware/Software Introduction, Frank Vahid and Tony Givargis, Wiley, 2002.
  • Designing Embedded Hardware, John Catsoulis, O'Reilly, 2nd Edition, 2005.

 

 

Course Outline (tentative):

  1. Introduction
  2. Basic computer hardware
  3. Data Representation
  • Binary numbers
  • Conversion to/from binary, octal, hexadecimal
  • Floating point representation
  • Basics of Logic Design
    • Boolean functions
    • Logic gates
    • Multiplexers
    • Adder
    • Arithmetic logic unit (ALU)
  • ISA
    • Assembler
    • Pseudo instructions
    • System calls
    • Procedure calls
    • SPIM, other ISAs

    6. MIPS

    1. Performance Evaluation
    2. Designing a Processor: datapath
    • Single cycle datapath
  • Control
    • Single cycle control
    • Multicycle datapath implementation
  • Memory Hierarchy
  • Grading Policies:

    Class contribution bonus: 5%

    Quizz and homework assignments: 15%

    Programming assignments: 20%

    Midterm Exams: Midterm (20%)

    Final Exam: 40%

    Note : Late homework will not be accepted. Late program penalty is 10% per day, according to the timestamp of your online submission. Only when verifiable extenuating circumstances can be demonstrated will make-up exams or extended assignment due dates be considered. Verifiable extenuating circumstances must be reasons beyond control of the students, such as illness or accidental injury. Poor performance in class is not an extenuating circumstance. Advise your instructor of the verifiable extenuating circumstances in advance or as soon as possible. In such situations, the date and nature of the make-up exams and the extended due dates for the assignments will be decided by the instructor.

    Attendance Policy:

    Attendance is strongly encouraged, but not required or monitored (except for the first two classes). Students are responsible for any material covered in class. Some of the materials covered in class will not be in the textbook. Announcements about homework, projects, programming assignments, etc. will be made in class.

    Collaboration Policy:

    Discussion of techniques and ideas covered in class is encouraged. However, every line of on all assignments must be your own. A statement required by the university: "Care must be taken that exam answers are not seen by others, that term papers or projects are not plagiarized by others or otherwise misused by others, etc. Even passive cooperation in a dishonest enterprise is unacceptable." In programming assignments, discussion of techniques in a natural language (such as English) is allowed, but a discussion in a computer or algorithmic language is not allowed. (Computer language discussions and questions are to be limited to the language and should not concern the assignment.) Stealing, giving or receiving any code, drawings, diagrams, texts or designs is not allowed. In examinations, no discussion of any kind (except with the instructor) is allowed. No access to any type of written material is allowed. Students who do not comply with the above described collaboration policy will receive a grade of F in the course. Furthermore, the case will be reported to the University Officials.