ACETry ACE ↗
← Back

CMPSC 315Computer Systems I

4 credits · Computer Science · Penn State

This is the first of a two-course sequence to learn the foundations of the underlying hardware and systems software that enable programs to run on a computing platform. This first course covers the architectural issues in the design of modern processor hardware and the operating system software to manage this hardware. On the hardware side, this course covers processor Datapath design, pipelining, instruction scheduling and out-of-order execution, and dealing with branches, interrupts and hazards. Students will also learn about the importance of supporting protection modes in hardware. On the software side, coverage will include instruction set architectures, function calls and interrupt subroutine implementations, translation of C code to assembly, loaders/linkers, address space concepts, processes, threads, context switching and CPU scheduling. At the end, students will understand how to virtualize the processor hardware amongst co-existing activities, ensuring protection and isolation during their execution.

Before you enroll

Prerequisites

You need one from each line:

Where it fits

Where it sits in degree plans

Suggested plans most often put it in Year 3 · Fall (1 program).

Required in (1)

  • Computer Science, B.S. (Engineering)
What it opens up

Courses that list CMPSC 315 as a prerequisite (1)