CSc 4210/6210 Computer Architecture
Tentative Syllabus

Fall 2024
CRN 14188/14189
Classroom: Classroom South (CLSO) room 103. Time: MW 10:00 a.m. - 11:45 a.m.

Instructor: Dr. Michael Weeks
Computer Science Department
Office: 25 Park Place, room 754
Office Hours: by appointment,
and you can normally talk to me after class.
Also, I'm in the office 12:30 to 1:30 on Mondays and Wednesdays.
web-page: http://hallertau.cs.gsu.edu/~mweeks

I cannot answer every e-mail that I receive.
CS Dept phone (404) 413-5700

Teaching Assistant: Sevki Kulkuloglu
Office hours: 12:30-2:30 Mondays and Wednesdays on Webex

TA's e-mail address: skulkuloglu1 [at] student [dot] gsu [dot] edu

FINAL EXAM
The Final Exam will be given in the above classroom on Wednesday April 24th, 2024 from 08:00 to 10:30

TEXTS
M. Morris Mano. Computer System Architecture. 3rd Ed. Prentice Hall 1993. (Required.)

Hennessy and Patterson, Computer Architecture: A Quantitative Approach. 3rd Edition. Morgan Kaufmann 2002. (You do not need to purchase this, but it is a good reference).

We will discuss transistors and logic devices in the first few classes. The first chapter of this book should be helpful, if you want more information: Neil H. E. Weste and David Harris, CMOS VLSI Design: A Circuits and Systems Perspective, third edition, Addison Wesley, 2005.

PREREQUISITES
CSc 3210 Computer Organization and Programming (assembly language) with grade of C or higher. Minimum institutional GPA of 2.3 required. In addition, students are expected to know discrete structures applicable to computer science, number bases, logic, sets, Boolean algebra, graph theory.

CONTENT
Logic design, combinatorial and sequential circuits, micro-operations, computer organization and design, programming a basic computer, controllers and micro-programmed control, central processing unit, bit slicing, input-output devices, memory. Additionally, as time permits, pipelining, reduced instruction sets (RISC), and VLIW (Very Long Instruction Word).

Parts:

  1. Introduction (chapter 1) - Transistors*, logic gates, Boolean algebra, specifying an arbitrary function, how to draw a logic diagram*, simplification (Karnaugh maps), don't care conditions, combinational circuits (multiple inputs and outputs, like half adders and full adders), flip-flops, flip-flop design*, state diagrams, and sequential circuits (with flip-flops).
  2. Preliminary / background (chapters 2 to 4). You may have had this already in other classes, but need it for later material. Building up to chapter 5.
  3. Chapter 5 - design of a CPU
  4. Chapter 6 - assembly language. You've already had a class in assembly, so we will cover how it applies to the CPU from chapter 5.
  5. Chapter 7 - design with micro-coding
  6. Advanced concepts (time permitting) including cache
* indicates that it includes material outside of the textbook

My assumptions :
  You are here to learn computer architecture as best you can
  You will give your best effort
  You will read the book
  You will come to class on time and stay to the end
  You will pay attention and communicate
  You will use class time for class-related activities only

Instruction, Research, and Service are the three main components of a university.
  How will you serve this class?

GRADING

The nature of the course is that complex questions often have simple, elegant answers. However, a simple answer with no detail is of little value, especially if it is incorrect. Therefore, every answer that you give for this class, including homeworks, quizzes, and tests, should include an explanation on how you arrived at your answer, assumptions that you made, any other considerations, and how you know that your answer is correct. Expect to lose points if the explanation is insufficient. Expect to lose points if you do not staple your work when it exceeds a page. Also, we will consider things including presentation, neatness, legibility, and professionalism when grading your work. Your work may lose points if it is found lacking.