Sign In

 ICS 233: Computer Architecture & Assembly Language

​Course Information

Class/Laboratory Schedule: 

Class/Laboratory Schedule: Three 50 minutes lectures, One 180 minutes lab per week (3-3-4)

Designation:   Required Course

Course Level:   Undergraduate


Prerequisite(s) by Topic: 

  • Fundamental programming constructs
  • Digital logic and digital systems
  • Machine level representation

Prerequisite Courses: 

Catalog Description: 

Machine organization; Assembly language: addressing, stacks, argument passing, arithmetic operations, decisions, modularization; Input/Output Operations and Interrupts; Memory Hierarchy and Cache memory; Pipeline Design Techniques; Super-scalar architecture; Parallel Architectures.


Computer Organization and Design: The Hardware / Software Interface. Third Edition. David A. Patterson and John L. Hennessy. Morgan Kaufmann, 2004.
MIPS Assembly Language Programming. Robert L. Britton. Pearson Prentice Hall, 2004. (Laboratory textbook)

Course Outcomes: 

  • Analyze, write, and test MIPS assembly language programs.
  • Describe the organization and operation of integer and floating-point arithmetic units.
  • Apply knowledge of mathematics in CPU performance and in speedup computation.
  • Design the datapath and control of a processor.
  • Use simulator tools in the analysis of assembly language programs and in CPU design.

Topics Covered: 

  • Data Representation
  • Instruction Set Architecture
  • MIPS Assembly Language Programming
  • Procedures and the Runtime Stack
  • Integer and Floating-point Arithmetic and ALU design
  • MIPS floating-point coprocessor and instructions
  • CPU Performance
  • Single-Cycle Datapath and Control Design
  • Pipelined Datapath and Control
  • Memory System Design​