BS Computer Science
Computer Architecture
Provided By
Prof Obaid Shah
What is Computer Architecture?
Computer Architecture is the foundational study of how computer systems are designed, organized, and function at a hardware level. This course bridges the gap between software and hardware, giving students a deep understanding of how instructions are executed, how memory is managed, and how processors are built for maximum efficiency.
What You Will Learn:
- Understand the fundamental components of a computer system including CPU, memory, and I/O
- Learn instruction set architectures (ISA) including RISC vs CISC
- Explore CPU design: ALU, control units, registers, and datapaths
- Study pipelining and hazard resolution techniques
- Understand memory hierarchy: cache, RAM, virtual memory
- Learn about parallel processing and multi-core architectures
- Analyze performance evaluation and optimization strategies
Who Is This Course For?
This course is designed for BS Computer Science students who want to understand how computers work at the hardware level. It is essential for anyone pursuing careers in systems programming, embedded systems, hardware design, or computer engineering.
Module 1 — Introduction to Computer Systems Overview of computer organization, Von Neumann architecture, and system components.
Module 2 — Instruction Set Architecture (ISA) RISC vs CISC, assembly language basics, instruction formats, addressing modes.
Module 3 — CPU Design & Datapath ALU design, registers, control units, single-cycle vs multi-cycle datapaths.
Module 4 — Pipelining Pipeline stages, data/control hazards, forwarding, branch prediction.
Module 5 — Memory Hierarchy Cache memory, RAM, virtual memory, TLB, page tables.
Module 6 — Input/Output Systems I/O interfaces, interrupts, DMA, bus architectures.
Module 7 — Parallel & Multi-core Architecture Flynn's taxonomy, thread-level parallelism, GPU basics.
Module 8 — Performance & Optimization Amdahl's Law, benchmarking, power vs performance trade-offs.
