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
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)
- 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.
- 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