Oct 23, 2026  
2026-2027 Academic Catalog 
    
2026-2027 Academic Catalog
Add to Portfolio (opens a new window)

CSCI 2021 - Machine Architecture and Organization


Credits: 4

Catalog Description
This course is an introduction to hardware/software components of a computer system. Topics covered will include data representation, computer arithmetic, basic logic design, machine-level programs, instruction set architectures, processor and memory organization, storage hierarchy, optimization techniques, and future trends. Students will write programs in a low-level language such as assembly language.

Prerequisite(s) (must have a grade of C or better): CSCI 1106  
Additional fee to student: No

Learner Outcomes
  1. Represent numeric and text data in current standard formats and convert between numeric formats.
  2. Describe instruction execution cycle and how the processor and memory work.
  3. Describe machine instruction formats and discuss features and differences of instruction set formats and architectures.
  4. Write assembly language programs that incorporate standard programming structures, subroutines, I/O, and macros.
  5. Describe the memory hierarchy, including different levels and optimization strategies, such as cache and virtual memory.
  6. Discuss different I/O and storage devices and mechanisms including bus protocols, interrupts, and interfaces.
  7. Discuss concurrency techniques to bypass performance bottleneck including pipelining, superscalar, multi-core, and multi-threading.

Major Areas of Course Content
  1. Evolution of computer architecture and influence on development of systems; future trends
  2. Boolean algebra and simplification, simple combinational and sequential logic design, and implementation
  3. Binary representation of different types of data; numeric data representation including signed and unsigned integers and floating point formats
  4. Basic operation and organization of the Von Neumann machine including cpu, memory, buses, and fetch/execute cycle; Von Neumann bottleneck; memory types and organization; interleaving
  5. Machine language concepts and characteristics including instruction formats, addressing modes, RISC versus CISC, and relationship to logic circuits
  6. Assembly language programs including standard programming structures, subroutines, I/O and macros; conversion process from higher-level language to assembly language to machine language
  7. Storage system concepts, types and operations; characteristics of media formats and tradeoffs; access time, throughput, bandwidth
  8. Storage hierarchy pyramid and operation; principle of locality
  9. Memory cache concepts and operations; different types of cache including direct, associative and set associative; write policies and cache coherency in SMP systems
  10. Virtual memory techniques and concepts including segmentation and paging
  11. I/O: fundamental concepts including handshaking, buffering, programmed I/O, and interrupts
  12. Buses: bus protocols, arbitration, and direct-memory access (DMA)
  13. Improving performance through superscalar, pipelining, multi-threading, vector processors, GPUs and other concurrent techniques
  14. Pipelining operation and hazards; optimization techniques such as branch prediction and speculative and out-of-order execution
  15. Flynn’s revised taxonomy including SISD, SIMD, MISD, and MIMD; categorize current systems in this taxonomy
  16. Quantum computing, neural networks, DNA data storage, and other emerging technologies

Credit for Prior Learning Options
No credit for prior learning option is available for this course.



Add to Portfolio (opens a new window)