May 01, 2024  
2022-2023 Catalog 
    
2022-2023 Catalog [ARCHIVED CATALOG]

CSCI 205 - Computer Organization and Architecture


PREREQUISITES: CSCI 101 - Computer Science I  or (SDEV 140  and CSCI 179 )
PROGRAM: Computer Science
CREDIT HOURS MIN: 3
LECTURE HOURS MIN: 3
DATE OF LAST REVISION: Fall, 2020

This course introduces the concepts related to the organization and architecture of digital computers. The course begins with a discussion of data representations (fixed, floating point numbers, ASCII, Unicode, etc.), as well as arithmetic operations. The course discusses the architecture of instruction sets using both machine and assembly language. The importance of data path, timing, and control are presented. The processes of program compilation, assembly, linking and loading are covered. Considerable time is devoted to hardware-related topics such as memory, buses, peripherals, and networking. The course concludes with a presentation of advanced architectural concepts such as parallel and superscalar machines.

MAJOR COURSE LEARNING OBJECTIVES: Upon successful completion of this course the student will be expected to:

  1. Describe the top-level architecture of a computer.
  2. Describe the different methods for characterizing data such as ASCII, and Unicode.
  3. Perform binary arithmetic operations using two’s complement representation.
  4. Access memory locations and input/output (I/O) devices using various addressing modes.
  5. Write code at the micro-architecture (CPU) level to implement the “fetch-execute” cycle using traps, interrupts, and other event-driven methods.
  6. Understand improvements to the traditional “fetch-execute” cycle using modern processing techniques.
  7. Discuss the differences and advantages between various microprocessor architectures.
  8. Discuss memory technology and the principles of memory access.
  9. Evaluate memory management schemes such as virtualization, caching, translation, buffering, and mapping.
  10. Explain the differences and relative advantages of serial and parallel bus architectures.
  11. Calculate the read/write times for a variety of storage and I/O devices.
  12. Describe common data integrity including detection and correction techniques.
  13. Apply the Flynn Taxonomy to characterize computer architectures.


COURSE CONTENT: Topical areas of study include -  

  • Computer architecture
  • Data types
  • Arithmetic Operations
  • Addressing arithmetic modes
  • Memory technology
  • Access times and throughput
  • Data integrity
  • Bus architectures
  • Memory management
  • Flynn Taxonomy
  • RISC, CISC, EPIC, Multi-core, Mixed-core, and embedded systems
  • Pipelining, super pipelining, out-of-order execution, and VLIW
  • Mirroring, RAID, parity, hamming codes, vertical and cyclical redundancy checks

 
Course Addendum - Syllabus (Click to expand)