1. Course Details

  • Level: Juniors
  • Prerequisites: CPEG 210 Digital Logic Design
  • Lecture Times:  UTR 09:00 a.m. – 09:50 a.m. (Section 1), UTR 10:00 a.m. – 10:50 a.m. (Section 2)
  • Classroom: B 105 (ECL)
  • AY / Semester:  2010 – 2011 / Spring
  • Professor:  Dr. I. Damaj
  • Contact Details: idamaj@auk.edu.kw
  • Course Detailed Site:  http://lms.auk.edu.kw
  • Professor's Website: http://www.idamaj.net
  • Summary of Assessment Method:  Two tests, pop quizzes, assignments, and a final exam
  • Textbook: Computer Organization and Design: the Hardware/Software Interface, David A. Patterson and John L. Hennessy, Fourth Edition, Morgan Kaufmann Publishers, 2009.
  • Software Tools: Quartus, SPIM Simulator, Intel Development Suite
  • References: Digital Design, 4th edition, M. Mano and M. Ciletti, Pearson International Edition, 2007 Carl Hamacher, Zvonko Vranesic, and Safwat Zaky, Computer Organization, Fifth Edition, McGraw-Hill, 2002 Introduction to Parallel Processing: Algorithms and Architectures. Behrooz Parhami, Plenum 1999

2. Catalog Description

The fundamental elements of digital logic and their use in computer construction; register level description of computer execution and the functional organization of a computer; essential elements of computer architecture; major functional components of a modern computer system. Design principles associated with modern computer architectures; performance and cost considerations; architectural features influenced by such features as operating systems and window systems, high level languages, etc; floating point arithmetic, performance of computer systems, processor implementation strategies, micro-programming, pipelining, CISC and RISC, vector processors; memory hierarchy, cache, virtual memory organization for high performance machines; An brief introduction to I/O and bus subsystems. Prerequisite: CPEG 210.

3. Student Learning Outcomes

At the end of this course the students will be able to:

  • Understand the basic organization of modern computer systems
  • Analyze computer system performance
  • Understand how computer programs are organized, stored, and executed at the machine level
  • Write basic assembly language programs
  • Perform fixed- and floating-point arithmetic computations
  • Analyze an instruction-set architecture and propose a suitable datapath and control unit implementations
  • Understand how instruction pipelining enhances processor performance
  • Understand the basic organization of the memory hierarchy
  • Analyze memory performance
  • Understand the input/output mechanisms used to connect computers to their external environments
Details Topic Chapter No. Assessment
Week 1 - 3 Computer Abstractions and Technology 1
Weeks 4 - 6 Instructions: Language of the Computer 2
Weeks 7 - 8 Arithmetic for Computers 3 Test I
Weeks 9 – 11 The Processor 4
Week 12 - 13 Large and Fast: Exploiting Memory Hierarchy 5 Test II
Week 14 - 15 Storage and Other I/O Topics 6

5. Assessment of the Course

Attendance and Pop quizzes 5%
Test I 20%
Test II 20%
Assignments 15% (Using software tools and subject to individual testing)
TermPaper 10%
Final 30% (comprehensive)