CS 232

CS 232 - Computer Architecture II

Fall 2012

TitleRubricSectionCRNTypeHoursTimesDaysLocationInstructor
Computer Architecture IICS232AL135963LEC3 -    

Official Description

Second-level course in computer architecture. Machine-level programming, instruction sets, data representations; subroutines; input-output hardware and software; linking and loading; relation to high-level languages. Course Information: (Counts for advanced hours in LAS.) Prerequisite: CS 231. Class Schedule Information: Students must register for one lab and one lecture section.

Course Director

Learning Goals

students should be able to translate small (20 line) C programs that include recursion into MIPS assembly, observing calling conventions and stack management. (c) (k)
students should be able to translate short (30 line) MIPS programs to corresponding C programs including function prototypes. (c) (k)
students should be able to define and provide examples of the key implementation ideas of modern computers (abstraction, caching, hierarchy, indirection, pipelining, parallelism, speculation). (k)
students should be able to analyze performance questions to identify what phenomena and/or numerical values are required and compute a result if these are provided. (b)
students should be able to identify the hardware structures in pipelined processors and cache/memory systems and explain their role. (c)
Provided a small piece of code executing on a shared memory parallel computer, students should be able to recognize synchronization, coherence, and consistency pitfalls that could impact the execution's result or performance. (b)

Topic List

Computer Organization Assembly Language I/O and interrupts Pipelining Caching and Virtual Memory Cache-Aware Programming SIMD/Vectorization Hardware support for Parallel Programming (brief intro to coherence, consistency and atomic operations)

Required, Elective, or Selected Elective

Required

Last updated

5/23/2013