CS 3432 Computer Architecture I

Quick links: Wiki, TA , Important dates, reference, Topic Sequence , Email blaster, Course description, Course organization, grading, outcomes, Text, lab manual, notes, reference, ADA,

Major topics covered in the course:

  1. Introduction to basic machine organization (includes historical overview), stored program concept, program counter, fetch/decode execute process, machine state, RAM, ROM, EPROM, registers, machine code, assembly code.
  2. Functions of assembler, linker, and loader, the assembly process, symbol table, and assembler directives, relocatable code, instruction set architecture, instruction formats, addressing modes, effective address calculation, overflow and underflow.
  3. Data manipulation, data movement, control-flow, condition-code register, translation of high-level programming language constructs to assembly language constructs, representation of numeric and non-numeric data.
  4. Data/text/stack segments, subroutine linkage, calculation of execution time and how it is linked to cycles per instruction
  5. Input/output including memory-mapped & DMA I/O, interrupt and exception handling (and how related to operating systems). Operational & security issues in serial & parallel interfaces, persistent storage (magnetic & optical disk, flash).
  6. Program design, implementation (modularization), testing, debugging, documentation, introduction to basic concepts of software engineering.

Course Organization

Programs, Homework, and Laboratory Assignments

You can anticipate approximately one and In addition, there will be a final project for which approximately six weeks will be given. Some homework and lab assignments will cover material not yet covered in class; other homework and lab assignments will cover material already covered in class. Some notes:
Grading

Grades are determined largely from lab and exam grades. There will also be frequent in-class quizzes, which can increase grades by a small amount.

Since grades are difficult to measure precisely, I will not pretend that they are. Instead, as appropriate, the quality of student work will be assessed on a scale of [0..4] roughly corresponding to conventional grade scale

Lab & exam grades have a large influence on final grade (typically 40% lab, 60% exams, where the exam component is max(final, 0.6*final + 0.4*midterm)).

Grading-related policies

Individual vs. Cooperative Work

You are encouraged to participate in class and to have open discussions with classmates about the topics covered in the course. However, this does not imply in any way that your programs should represent cooperative efforts. With respect to programming assignments, you are encouraged to discuss with others the related concepts that will help you design and implement programs, but the programs that you submit must be your own code, written and documented by you, and therefore, understood by you. In contrast, labs and the final projects represent cooperative efforts, i.e., the work of you and another student who is assigned to work with you. Note that even a cooperative effort must be fully understood by you!

Course outcomes

The official course outcomes are available online. A tentative update is also being prepared.

Students with Disabilities

I will attempt to accommodate students with disabilities; however, I make these accommodations in accordance with University policy. If you feel you may have a disability that requires accommodation, contact the Disabled Student Services Office at 747-5148, go to Room 106E Union, or e-mail dss@utep.edu.