CSC-249 Computer Architecture And Organization

This course is designed for Computer Science majors. Topics include: classical von Neumann machine, major functional units, primary memory, representation of numerical (integer and floating point) and nonnumerical data, CPU architecture, instruction encoding, fetch-decode-execute cycle, instructional formats, addressing modes, symbolic assembler, assembly language programming, handling of subprogram calls at assembly level, mapping between high level language patterns and assembly/machine language, interrupts and I/O operations, virtual memory management, and date access from magnetic disk.

Credits

4

Prerequisite

CSC-190

Lecture Contact Hours

4

Lab Contact Hours

0

Other Contact Hours

0

Department

  • Computer Science

Grading Scheme

  • Letter

SUNY Gen Ed Credit

  • No

Semesters Course Will Be Offered

  • Spring

Course Learning Outcomes

  1. Recall the internal organization of computers, CPU, memory unit and Input/Outputs and the relations between its main components.
  2. Analyze cost performance and design trade-offs in designing and constructing a computer processor including memory.
  3. Perform elementary quantitative performance evaluation of computer systems.
  4. Solve problems by assembly language programming.
View Course Outline

CSC 249: Computer Architecture And Organization

Department

Computer Science

Course Description

This course is designed for Computer Science majors. Topics include: classical von Neumann machine, major functional units, primary memory, representation of numerical (integer and floating point) and nonnumerical data, CPU architecture, instruction encoding, fetch-decode-execute cycle, instructional formats, addressing modes, symbolic assembler, assembly language programming, handling of subprogram calls at assembly level, mapping between high level language patterns and assembly/machine language, interrupts and I/O operations, virtual memory management, and date access from magnetic disk.

Credit Hours

4

Contact Hours

Lecture4
Lab0
Other0

Grading Scheme

Letter

Semester(s) Course Will Be Offered

Spring

Prerequisites

CSC-190

Course Learning Outcomes

  1. Recall the internal organization of computers, CPU, memory unit and Input/Outputs and the relations between its main components.
  2. Analyze cost performance and design trade-offs in designing and constructing a computer processor including memory.
  3. Perform elementary quantitative performance evaluation of computer systems.
  4. Solve problems by assembly language programming.

Topic Outline

Structured Computer Organization

  1. Languages, Levels, Virtual Machines, Contemporary Multilevel Machines, and Evolution of Multilevel Machines
    1. Classical Von Neumann Machine
      1. Milestones in Computer Architecture
    2. Processors
    3. CPU Organization
    4. Instruction Execution
    5. RISC versus CISC
    6. Design Principles for Modern Computers
    7. Instruction-Level Parallelism
    8. Processor-Level Parallelism
    9. Primary Memory
    10. Secondary Memory
    11. Input/output
  2. Gates and Boolean Algebra
    1. Gates
    2. Boolean Algebra
    3. Basic Digital Login Circuits
    4. Memory
    5. CPU Chips and Buses
    6. Example CPU Chips
    7. Example Buses
    8. Interfacing
  3. An Example Microarchitecture
    1. The Data Path
    2. Microinstructions
    3. Microinstruction Control: The Mic-
    4. An Example ISA: IJVM
    5. An Example Implementation
    6. Design of the Microarchitecture Level
    7. Improve Performance
    8. Examples of the Microarchitecture Level
    9. Comparison of the I, OMAP, and ATMEGA
  4. Overview of the ISA Level
    1. Properties of the ISA Level
    2. Memory Models
    3. Registers
    4. Instructions
    5. Overview of the Core i ISA Level
    6. Overview of the OMAP ARM ISA Level
    7. Overview of the ATmega AVR ISA Level
    8. Data Types
      1. Representation of the numerical and nonnumerical data
      2. Instruction Formats
      3. Addressing
      4. Instruction Types
      5. Flow of Control
      6. The IA- Architecture and the Itanium
  5. Virtual Memory
    1. Paging
    2. Virtual I/O Instructions
    3. Virtual Instructions for Parallel Processing
    4. Example Operating Systems
  6. Assembly Language
    1. What is an Assembly Language?
    2. Why Use Assembly Language?
    3. Format of an Assembly Language Statement
    4. Pseudo Instructions 
    5. Macros
    6. The Assembly Process
      1. Fetch-Decode-Execute Cycle
      2. Linking and Loading
    7. A Small Assembly Language Program
    8. The Processor
    9. Memory and Addressing
    10. The Instruction Set
    11. The Assembler
  7. The Tracer
    1. Writing Programs in Assembly
      1. Subprogram Calls
  8. On-Chip Parallelism
    1. Instruction-Level Parallelism 
    2. On-Chip Multithreading
    3. Single-Chip Multithreading
    4. Coprocessors
    5. Shared-Memory Multiprocessors
    6. Message-Passing Multicomputers
    7. Grid Computing