Department of 
Computer Science

Search our Site

Line

ON THIS PAGE:

Course Objectives

Prerequisites

Approach

Typical Text

Course Outline

  COMP 740 [206]: Computer Architecture and Implementation
(3 hours)

Syllabus approved April 1989; renamed 206 in Spring 1994;
syllabus revised April 1996

Course Objectives
Develop an understanding of the architecture and implementation of von Neumann computer systems. Understand the interdependence of architectural and implementation decisions through the detailed examination of one simple, complete computer.

Prerequisites
COMP 411 and digital logic (PHYS 352)

Approach
Study architecture by topics, using relevant portions of various real computers to illustrate each topic. Study implementation chiefly through the detailed examination of one simple, complete computer. Supplement the textbook with selected readings from the literature. Do not emphasize programming or hardware laboratory.

Typical Text
Hennessy and Patterson, Computer Architecture: A Quantitative Approach (2nd edition), Chapters 1-6.

Course Outline
Numbers in parentheses indicate approximate number of weeks

    • Basics of machine organization (review) (0.5)
      • CPU
      • Control Unit: hardwired and microprogrammed
      • Memory
      • I/O: CPU-controlled and autonomous

    • Principles of instruction set design (1.5)
      • Instruction formats
      • Memory addressing
      • Types of instruction operators (including synchronization primitives, and their implementations on pipelined Load / Store machines)
      • Sizes of operands
      • How programs (and machines) behave--dynamic frequencies

    • Computer arithmetic (1)
      • Fast add, multiply and divide units
      • Floating point arithmetic and the IEEE Floating Point Standard

    • Pipelining (instruction level parallelism) (4)
      • Basics: notations, speedup, classification of pipelines
      • Instruction pipelining
        • Hazards: structural, data and control hazards
        • Hardware solutions: interlocks, forwarding, renaming, branch prediction
        • Software solutions: pipeline scheduling, loop unrolling, software pipelining
      • Out of order execution, speculative execution and precise interrupts
      • Multiple issue (superscalar and VLIW) processors
      • Vector processors

    • Memory hierarchy (3.5)
      • Cache memory
        • Addressing methods
        • Fetch, write and replacement policies
        • Split and unified caches
        • Multilevel caches
        • Physical and virtual caches
      • Main memory
        • DRAM technology
        • Increasing bandwidth: interleaving, DRAM-specific techniques
      • Virtual memory
        • Methods of address translation
        • Translation Lookaside Buffers

    • Autonomous I/O (1)
      • I/O and cache: cache coherence, bus-based or snoopy coherence protocols
      • I/O and virtual memory

    • Quantitative characterizations of CPU, memory and I/O performance (1.5)
      • Quantitative principles of computer design
      • Measuring and reporting performance

Horizontal Line
Department of Computer Science
Campus Box 3175, Sitterson Hall
College of Arts & Sciences
The University of North Carolina at Chapel Hill
Chapel Hill, NC 27599-3175 USA
Phone: (919) 962-1700
Fax: (919) 962-1799

Content Manager: Associate Chairman for Academic Affairs
Server Manager: webmaster@cs.unc.edu
Last Content Review: April 1996