University of Information Technology

Computer Organization

Course Description

Computer organization from the viewpoint of software, including: the memory hierarchy, instruction set architectures, memory addressing, input-output, error detecting and correcting technique and RISC machine. The relationship of higher-level programming languages to the operating system and to instruction set architecture is explored.

The objectives of this course make the students

  • Introduce the components of a computer system
  • Explain different types of computer system architectures, organization, performance metrics and conversions of representations and encodings
  • Practice low-level (assembly) programming
  • Illustrate the parallel computer architectures

Intended Learning Outcomes (ILO)

Upon the successful completion of this course, students should be able to:

  • Develop an understanding of the key components of modern computer architectures.
  • Determine an understanding of how a computer function
  • Understand the concepts of error detecting and correcting codes
  • Recognize the value of multilevel cache memory in computer architectures
  • Identify the top-level architectures and unique attributes of the x86, x64, and instruction sets
  • Summarize the key characteristics of RISC machines.
  • Classify the parallel computer architectures.
  • Implement assembly language programs to solve problems.

Text and References Books

Textbooks

  1. Structured Computer Organization by Andrew S. Tanenbaum and Todd Austin, Sixth Edition, Pearson, 2012

References

  1. Essentials of Computer Organization and Architecture by Linda Null, 5th Edition, Jones & Bartlett Learning, 2018
  2. Modern Computer Architecture and Organization by Jim Ledin, 1st Edition, Packt Publishing, 2020
  3. Assembly Language For x86 Processors, Kip R. Irvine, 7th Edition, Pearson, 2014
  4. Guide to Assembly Language: A Concise Introduction by James T. Streib, 2nd Edition, Springer, 2020

Assessment System

Evaluation Marks Percentage
Class Participation 10 Marks 10%
Tutorial 10 Marks 10%
Assignments/Presentation 20 Marks 20%
Final Examination 60 Marks 60%