CIS103

Machine Architecture

Course ID
CIS103
Level
Diploma

Course Description

This course provides an introduction to the fundamental principles of computer architecture, focusing on how hardware and software interact to perform computations. The course covers topics such as data representation, assembly language, instruction sets, memory hierarchy, CPU organization, input/output systems, and the basics of digital logic. Students will learn how computers process instructions at the machine level and how different architectural components, such as processors, memory, and buses, work together to execute programs.

Learning Outcomes

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

  • Understanding Computer Architecture Fundamentals: Students will gain a comprehensive understanding of the basic components of computer architecture, including the central processing unit (CPU), memory systems, input/output devices, and how they interact to perform operations.
  • Exploring Data Representation and Instruction Sets: Learn about data representation in computers, including binary, hexadecimal, and ASCII, and understand how instruction sets are used to carry out machine-level operations.
  • Analyzing CPU Organization and Memory Hierarchy: Gain insights into the internal organization of the CPU, including control units, registers, and arithmetic logic units (ALUs), and explore the memory hierarchy, focusing on cache memory, RAM, and storage systems.
  • Programming with Assembly Language: Develop basic skills in writing and understanding assembly language programs, learning how low-level programming directly interacts with the machine’s hardware to execute tasks.

These outcomes aim to provide students with foundational knowledge in computer architecture and machine-level programming, preparing them for more advanced courses in computer science, systems programming, and hardware design. The course equips students with the skills needed to understand how computers work at a fundamental level, enabling them to optimize software performance and troubleshoot hardware issues.