Lectures
|
Introduction
Sep 20
|
- Topics
- Course Objectives
- Five great realities of computer systems
- Course organization
|
|
A Tour of Computer Systems
Sep 25, 27

|
- Topics
- Compilation and execution of hello.c
- Typical organization of a computer system
- Data representation
- Little and big endian representations
|
|
Representing
and Manipulating Information
Oct 2

|
- Topics
- Representation of integers
- int (two's complement)
- unsigned
- number ranges
- overflows
- implicit and explicit casting surprises
- Representation of real numbers
- float and double
- IEEE format
- representable number ranges
- overflows
- surprises
|
|
Quizz - 1
Oct 9

|
|
|
Machine-level Representation of
Programs - 1
Oct 16
 |
- Topics
- Evolution of processors
- Assembly programmer's view of the computer
- C->Assembly->Object code->Executable
- IA32 processor
- IA32 instructions
- Operand types
- Addressing modes
|
- Slides
- ceng331-2005-w05.pdf
- ceng331-2005-w05.ppt
|
Machine-level Representation of
Programs - 2
Oct 23

|
- Topics
- Condition codes
- jump instructions
- implementing conditionals in assembly
- if-then-else
- do-while
- while
- for(;;)
- procedures
- stack discipline
- call, return, leave
- stack frame
- argument passing
- register saving
|
- Announcements
- Slides
- ceng331-2005-w05.pdf
- ceng331-2005-w05.ppt
|
Machine-level
Representation of Programs - 3
Oct 30

|
- Topics
- Arrays
- Pointers
- Optimizing loops for arrays
- nested arrays
- fixed and dynamically allocated arrays
- structures
- unions
- alignment
|
- Announcements
- Slides
- ceng331-2005-w06.pdf
- ceng331-2005-w06.ppt
|
Processor Architecture
ISAs and Y86
Nov 6

|
- Topics
- Linux/IA32 memory layout
- Buffer overflow
- Instruction Set Architecture
- Y86 architecture and instruction set
|
- Announcements:
- Slides
- ceng331-2005-w08.pdf
- ceng331-2005-w08.ppt
|
Processor Architecture - 2
Nov 13

|
- Topics
- Hardware Control Language
- SEQ: Sequential implementation of Y86 ISA
- Introduction to pipelining
|
- Announcements:
- Slides
- ceng331-2005-w09.pdf
- ceng331-2005-w09.ppt
|
No Class
Nov 15
|
|
|
Processor
Architecture - 3
Nov 22

|
- Topics
- SEQ+
- Basic
concepts of pipelining
- PIPE-
- Data Hazard
- Control
Hazards
- PIPE
- Stalling,
bubbles
- Data
forwarding
- Branch
prediction
- Handling
conditional jumps, ret
- Pipelined
architecture performance
|
- Announcements:
- Slides
- ceng331-2005-w10.pdf
- ceng331-2005-w10.ppt
|
The Memory Hierarchy
Dec 6

|
- Topics
- Modern CPU Design
- RAM
- Memory elemets in computer organization
- Memory Hierarchy
- Locality principle
- Cache memories
- fundamental concepts of caching
- Direct-mapped caches
- Set-associative caches
- Multi-level caches
- Cache performance
|
- Announcements:
- Slides
- ceng331-2005-w12.pdf
- ceng331-2005-w12.ppt
|
Virtual Memory
Dec 13

|
- Topics
- Reasons for using virtual memory
- caching of disk
- access controls
- uniform memory layout
- Page tables
- Virtual address-> Physical address mapping
- TLB [translation lookaside buffer]
- Multi-level page tables
- Overall picture
|
- Announcements:
- Slides
- ceng331-2005-w13.pdf
- ceng331-2005-w13.ppt
|
Overview
Dec 20

|
- Topics
- Overview of
Virtual memory
- Overview of
Caching
- Overview of
other topics
- Yippee!!
|
|