Skip to main content
NC State Home

CSC 456 – Computer Architecture and Multiprocessors

Catalog Description:

Major components of digital computers and the organization of these components into systems. Begins with single processor systems and extends to parallel systems for multiprocessing. Topics include computer organization, instruction set design, cache memory, pipelined processors, and multiprocessors. Recent developments in PC and desktop architectures are also studied.

Contact Hours:

  • Lecture: 3 hours

Prerequisites: CSC236 and CSC316
Co-requisites: None
Restrictions: None
Coordinator:
Textbook: None

Course Outcomes:

Upon successful completion of this course, a student will be able to…

  1. Obtain a complete overview of interactions among different components in computer systems
  2. Identify the performance issue of computer systems
  3. Optimize the performance of applications
  4. Create high-performance code that can utilize heterogeneous computing resources, including GPUs and FPGAs
  5. Create hardware accelerators

Topics:

  • ISA
  • Performance
  • Performance bottlenecks
  • Basic processor design
  • Pipelined processor
  • DE1 SoC
  • Pipeline hazards
  • Memory Hierarchy
  • Optimizing memory-intensive applications
  • SuperScaler and dynamic instruction handling
  • Multithreaded architecture
  • Optimizing multithreaded programs
  • GPUs and heterogeneous computing
  • OpenCL programming model
  • CUDA programming model
  • Branch prediction
  • Storage and I/O
  • Project presentations