Course Number & Title

CSU380 Computer Organization (4 SH)

Course Description

Introduces the basic design of computing systems: CPU, memory, input and output. Provides a complete introduction to assembly language: the basics of an instruction set plus experience in assembly language programming using a RISC architecture. Uses system calls and interrupt-driven programming to show the interaction with the operating system. Covers machine representation of integers, characters, and floating point numbers. Describes caches and virtual memory.

Prerequisites:

CSU213

Textbooks:

David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann, San Mateo, 1998. Second edition. Brian Kernighan and Dennis Ritchie. The C Programming Language: Second Edition. Prentice Hall, 1988.

Topics Covered

Number representations decimal, hexadecimal, binary twos complement C-Language (basics + pointers) syntax declaration of main() pointers, arguments, arrays, strings, structures Storage management static, stack, heap memory allocation garbage collection Assembly Programming arithmetic, data transfer decisions procedures logical operations bytes Instruction representation Floating Point representation in computers decimal <-> float conversion MIPS registers, instructions rounding Running a Program compiler, assembler, linker, loader Performance I/O and Interrupts memory-mapped I/O SPIM simulation cost of polling interrupt handlers Disks Caches blocks direct mapped, associative Virtual Memory princile of locality, memory hierarchy page table TLB

Course Outcomes

Upon completion of this course, a student should know: what operations a CPU can perform what data structure represents each of those operations how the hardware decodes each operation, and carries it out all operations are carried out by doing boolean algebra on single bits how all this affects performance how to write small programs in assembly language pointers and dereferencing in C

Measurement of Course Outcomes

The course outcomes will be measured and verified by: weekly labs occasional small quizzes four to six programming assignments one (or two) midterms final exam

Relation to Integrated Learning Models (ILM)

Relation to Curriculum 2001 (Optional Section)