CSC320 Computer Organization
[3–0, 3 cr.]
Overview of the history of the digital computer, representation of numeric data, introduction to digital logic, logic expressions and Boolean functions, and logic functions minimization as well as processor and system performance, and Amdahl’s law. The course provides an introduction to reconfigurable logic and special-purpose processors, instruction set architecture, and microarchitecture. Processor structures, instruction sequencing, flow-of control, subroutine call and return mechanism, structure of machine-level programs, low level architectural support for high-level languages are also covered as well as memory hierarchy, latency and throughput, cache memories: operating principles, replacement policies, multilevel cache, and cache coherency. Finally, the course covers register-transfer language to describe internal operations in a computer, instruction pipelining and instruction-level parallelism (ILP), an overview of superscalar architectures, and multicore and multithreaded processors.
Co-requisites: CSC245 Objects and Data Abstraction and MTH207 Discrete Structures I