CSE 230/EEE 230
Computer Organization and Assembly Language Programming
Course Syllabus
Catalog Description
Register-level computer organization. Instruction set
architecture. Assembly language programming. Processor organization and design. Memory organization. Exception/interrupt handling.
Textbook
Computer Organization and Design, David Patterson and John Hennesey, Morgan Kaufmann Publishers, 3rd edition, 2004
Course Objectives and Outcomes
- Students should understand MIPS assembly language, and write assembly language programs for simple problems, including function calls.
- Students should understand the data representation (2's complement, single and double precision float point) inside the processor, and perform arithmetic operations on them.
- Students should understand the working of a single-cycle, multi-cycle, and
pipelined processor. Students should be able to understand and appreciate more complex architectures.
- Students should understand the importance and impact of pipelining, as a concept and as applicable to processor architecture.
- Students should understand the concept and the rationale behind the memory organization, especially caches.
- Students should understand the metrics of performance and throughput, and quantitatively compare two computers.
- Students should understand how interrupts and exceptions are handled by the processor.
Prerequisites
- CSE 120: Digital Design Fundamentals
- CSE 200: Concepts of Computer Science
Major Topics Covered in the Course and Approximate Schedule
- MIPS instruction set architecture and assembly language (3 week)
- Data representation and arithmetic (1 week)
- Performance (1 week)
- Single cycle implementation (3 weeks)
- Multi-cycle implementation (2 week)
- Pipelined implementation (2 week)
- Memory organization (1 week)
- Interrupt and Exception Handling (1 week)
Class/Laboratory Schedule
Lectures: 2 hour 30 minutes per week.
Last Updated: Aviral Shrivastava, 10/2008