CS 220 Course Materials, Fall 2013
CS 220 Course Materials
Fall 2013
General
Class Outlines
- Week 1:
Aug. 26: Boot.
A Tour of Computer Systems.
Aug. 28: Introduction.
Hello World program object dump.
- Week 2:
Sept. 4: The Stored Program Machine.
Sept. 6:
Binary Data, Integer Addition and
Subtraction,
Converting Decimal
to Binary,
Converting Binary
to Decimal.
- Week 3:
Sept. 9:
Binary Multiplication and Division,
mult.c,
div.c,
A Brief
Introduction to Compiling C Programs in Linux.
Sept. 13
Floating Point.
- Week 4:
Sept. 16:
The Stored Program Machine: A Closer Look.
Sept. 18:
ARM ISA and Assembly,
Graded ARM Assembly Language
Examples,
Keil uVision4
How-to.
reverseBytesLab.s.
Additional exercise, create a new uVision project, add this file to the
project, and read the comments in the code for the exercise's
assignment: upCase.s.
- Week 5:
Sept. 23: ARM Flow Control Instructions.
Sept. 25: Arm Memory Addressing and Function
Calls.
Sept. 27: ARM Programming Exercises.
- Week 6:
Sept. 30: Finish up last week's programming exercises. Work on these
new programming exercises:
selectionSort.c,
string.c.
You'll need this file for both programs: map.ini.
See Enabling Memory
Store Operations in uVision's Debugger for a demonstration of how to
use this file.
ARM Register Usage Standard.
- Week 7:
Oct. 11:
ARM Activation Frame Stack.
factRecursive.s,
factRecursive.c.
- Week 9:
Oct. 25:
quicksort.c,
quicksort.s (PDF),
quicksort.s (uVision source file).
- Week 11:
Nov. 6:
Introduction to Digital Logic.
- Week 12:
Nov. 13:
The Register-to-Register Data Path.
Extra figures for the problems.
Nov. 15:
Controlling the Flow-Through Processor.
Extra figures for the problems.
ARM Instruction Set Data Sheet.
- Week 13:
Nov. 20:
Introduction to Pipelining.
Nov. 22:
The Effect of Branches on Pipelined Performance.
Last updated May 26, 2021.
Send mail to kelliher[at]goucher.edu
Tom Kelliher