Skip Navigation

Syllabus - CSCI 311 - System Architecture

Basic Information

Instructor Information

Dr. Mike Murphy

Please see the About Me page for contact information, and check my Schedule for office hours information.

Catalog Description

Introduction to the high-level architecture of computer systems and the hardware-software interface. Major design features of hardware components are discussed. Topics include instruction set architectures, processor designs, memory components, power, storage devices, device drivers, kernels, bootloaders, firmware, and partition tables.

Course Objectives and Tentative List of Major Topics

  1. Describe the components of a CPU, including the Control Unit, Arithmetic and Logic Unit, registers, and caches.
  2. Discuss Instruction Set Architectures, including the difference between RISC and CISC systems.
  3. Introduce and compare commercially available ISAs including x86, x86_64, ARM Cortex, AArch64, POWER, and RISC-V.
  4. Define microarchitectures, and compare recent generations of AMD, Intel, and ARM processors.
  5. Discuss speculative execution and the Spectre and Meltdown vulnerabilities.
  6. Explain the operation of Random Access Memory, including dynamic RAM and its properties (Row and Column Address Strobes, refreshes, and CAS latency).
  7. Describe the operation of rotational, solid-state, and tape storage devices, including device partitioning.
  8. Discuss Thermal Design Power, and explain how to size power supplies based on total system TDP.
  9. Explore the hardware-software interface, including firmware, bootloaders, kernels, and device drivers.
  10. Introduce data center architectures, including the components found in a typical data center.
  11. Describe data center power distribution, redundancy, and management.
  12. Explain calculations for data center cooling requirements.
  13. Discuss data center fire suppression.
  14. Introduce high-level architectural descriptions using the ISO/IEC/IEEE 42010 standard.

Course Student Learning Outcomes

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

  1. Explain the basic operation of a Central Processing Unit.
  2. Distinguish between different Instruction Set Architectures and identify benefits and weaknesses of various commercially available CPUs.
  3. Describe the operation of memory and storage devices, including addressing and partitioning schemes.
  4. Describe the hardware-software interface of a computer system, including the bootloader, kernel, firmware, and device drivers.
  5. Calculate power and cooling requirements for equipment given thermal design power specifications.
  6. Explain how multiple systems can be hosted within a data center in a safe and efficient manner.

ABET Assessment

This course measures the following Performance Indicators:

Texts and Materials

Grade Categories

Grades will be broken into different categories and weighted as follows:

CategoryWeight
Assignments30%
Learning Quizzes30%
Assessment Quizzes40%

Additional Policies and Information

The following policies and documents are incorporated into this syllabus by reference:

Disclaimer

Portions of this course may deal with issues related to cost analysis, laws, and ethics. The instructor of this course is not a lawyer, accountant, or financial advisor, and no portion of this class constitutes legal or financial advice. This syllabus and schedule are tentative and subject to change with notice to the student during the semester. If a portion of this syllabus is found to be non-compliant with University policies or applicable laws, the remainder of this syllabus will remain effective.