Course Information |
Assignments |
Exercises |
Lectures |
Administration
SCHEDULE OF LECTURES
Here is a tentative list of lectures and the slides used in class.
Students are fully responsible for all material presented in lectures,
even if some of it does not appear in these slides.
These slides are intended for the lecture presentations; for reference, see
the corresponding chapters in
The C Programming Language, (K&R) or in Computer Organization and Design, (P&H),
and the online handouts.
An effective strategy is to look over the indicated chapter before the
lecture, then read it in detail soon afterwards.
Lectures
- Course Overview
- Data representation
- C Programming
- C Pointers and arrays
- C Strings and malloc
- C Data Structures
- Linked Lists
- Memory Management
- MIPS Introduction
- MIPS data transfer and memory addressing
- MIPS branching
- MIPS branching 2
- MIPS procedures
Floating Point I
Floating Point II
MIPS Instruction Format III
Compilation, Assembly, Linking
Compilation, Assembly, Linking II
Introduction to Synchronous Digital Systems
State Elements
Spring Break
Combinational Logic
Combinational Logic II
Combinational Logic Blocks
Combinational Logic Blocks II
CPU Design: Single-cycle I
CPU Design: Control
CPU Design: Pipelining I
Caches I
Caches II
Virtual Memory
I/O Basics (Polling & Interrupts)
I/O Networks
I/O Disks
CPU Performance
Distributed Computing
Course Review