CMPS 321 Computer Architecture
Course Description
Computer Science 321 - Computer Architecture
California State University, Bakersfield
V.1, 5/6/2003

Catalog Description :

This course follows the Digital Logic Design course and focuses on the design of the CPU and computer system at the architectural (or functional) level: CPU instruction sets and functional units, data types, control unit design, interrupt handling and DMA, I/O support, memory hierarchy, virtual memory, and buses and bus timing. In contrast, the Digital Logic Design course is primarily concerned with implementation: that is, the combinatorial and sequential circuits which are the building blocks of the functional units.

Prerequisite:

CMPS 223 and CMPS 320

Units:

5

Coordinator:

Marc Thomas
Goals/Objectives:
  • Understand the design tradeoffs involved in computer architecture (e.g. performance vs. flexibility).
  • Understand how poor programming can result in very inefficient use of the hardware.
  • (Laboratory) Become proficient in writing, profiling, and analyzing programs which need to make intensive use of one or more of the following architectural features: the CPU, virtual memory, and I/O devices.

Current Texts:

  • William Stallings, Computer Organization and Architecture (6th edition) , ISBN 0-13-035119-9
  • (historical) John Hayes, Computer Architecure and Organization
  • (historical) Levy and Eckhouse, Computer Programming and Architecture: the VAX-11

Topics:

  • Introduction to digital systems: What constitutes a general purpose computer; design of a minimal hardwired CPU. Historical development of computing and some case studies: the first, second, and third generations: design of a minimal microcoded CPU.
  • (AR3) Assembly level machine organization: System buses, timing, arbitration, and bus protocol; the general fetch-execute cycle with interrupts; multiple bus systems.
  • (AR4) Memory system organization & architecture: Memory design and hierachy; alignment; L1 and L2 caches; paging and virtual memory; the TLB cache; memory error detection and correction; relative access times.
  • (AR5) Interfacing, communication External storage devices: magnetic and optical. buffering of I/O, polling, interrupt-driven I/O, interrupt-driven I/O with DMA.
  • Operating system support and interface to the hardware: system calls and device drivers; multiplexing I/O.
  • (AR6) Functional organization: integer and floating-point units, CPU instruction sets and addressing modes, RISC; CISC, long instruction word RISC processors (e.g. Itanium), benchmarks,use of multiple functional units, pipelining..

ACM Sub Areas or Units Covered::

ACM Sub Areas or Units covered in this course:
(AR1) Digital logic and digital systems (covered in prerequisite CMPS 320) 0.0
(AR2) Machine level representation of data (covered in prerequisite CMPS 320) 0.0
(AR3) Assembly level machine organization X.Y
(AR4) Memory system organization and architecture X.Y
(AR5) Interfacing and communication X.Y
(AR6) Functional organization X.Y

AR: Architecture and Organization

Laboratory:

The laboratory session will parallel the lecture, illustrating the principles. We will often write programs which simulate various features of and considerations in computer architecture. I will provide a library of timing routines for profiling programs.

Oral and Written Communication:

Social and Ethical Issues:

 

Problem Analysis:

Solution Design:

Version & Date

Version 1, 5/6/2003

Comments

The first draft based on ACM curricula 2001 in the format of ABET sample course description.