Introduces systems-level programming concepts using the C language and assembly language, and explores the correspondence of programming constructs in these languages. Topics include internal data representation, basic instructions and control structures, bitwise operations, arithmetic operations, memory management, pointers, function calls and parameter passing, linking, and loading. Included is an overview of computer architecture and organization topics, including von Neumann architecture, the memory hierarchy, and basics of pipelining.
Prerequisite
C or higher in CSE 214 or co-requisite CSE 260 and CSE major
Course Outcomes
An understanding of processor organization.
An understanding of instruction set architectures design and complex versus reduced instruction set computers.
Understanding of implementation techniques such as number representations, computer arithmetic, processor data paths, pipelining.
An ability to program in assembly language and understand the relationship to processor design.
Textbook
Harris and Harris, Digital Design and Computer Architecture, Second Edition, Morgan Kaufmann, 2013. (ISBN 978-0-12-394424-5)