Lecture 2: From Ops to Instructions (ISA)
Background Material
Reading
Topics
- Assembly language - IA32 (Chapter 3 of Bryant and O'Hallaron)
- Compiling code to produce assembly
- Viewing object code (objdump and dgb)
- Registers and address modes
- Data movement and arithmetic instructions
- Control structures
- Procudures, call stack and calling convention
- Analysis of Assembly code
Tasks
- Produce and examine the assembly code for
loop.c.
- Determine the number of instructions executed in
loop.c.
as a function of the array size n.
- Time and count instructions for loop.c
(optimized and unoptimized) using PAPI
- Determine the number of cycles (and instructions) per iteration
for loop.c (optimized and unoptimized) - do a least squares fit to
the data produced by PAPI using different values of n.
Lecture Notes
Resources
Assignments
- In class tasks (not to be handed in)
Created: Oct. 27, 2006 by
jjohnson AT cs DOT drexel DOT edu