CSE 410 Midterm Review Guide

Midterm: Wednesday, October 27th

Closed book, closed notes

  1. Vocabulary
  2. Chapter 1

    abstraction

    assembler

    assembly language

    binary digit or bit

    compiler

    high-level programming language

    implementation

    instruction set architecture

    memory

    Chapter 3

    address

    addressing mode

    base or displacement addressing

    callee

    caller

    conditional branch

    data transfer instruction

    executable file

    immediate addressing

    instruction format

    instruction set

    jump-and-link instruction

    linker or link editor

    load-store machine

    loader

    object program

    opcode

    PC-relative addressing

    procedure

    procedure frame

    program counter (PC)

    pseudoinstruction

    register addressing

    return address

    stack

    stack pointer

    stored-program concept

    word

    Chapter 6

    branch or control hazard

    branch prediction

    data dependencies

    data hazard

    flush (instructions)

    forwarding

    latency (pipeline)

    pipeline stall

    speculative execution

    structural hazard

    Chapter 7

    block

    cache miss

    capacity miss

    compulsory or cold start miss

    conflict or collision miss

    direct-mapped cache

    effective access time

    fully associative cache

    hit rate

    least recently used (LRU)

    memory hierarchy

    miss rate

    multilevel cache

    set-associative cache

    spatial locality

    split cache

    tag

    temporal locality

    valid bit

    write-back

    write-through

    Chapter 8

    bus

    direct memory access (DMA)

    I/O instruction

    interrupt-driven I/O

    memory-mapped I/O

    polling

    rotation time

    sector

    seek time

    track

    transfer time

  3. Homework review
  4. Look over the solution guides for any homework questions you got wrong. Some homework questions may reappear on the midterm or the final.

  5. Concepts

Chapter 3

Know the following MIPS instructions:

add, sub, lw, sw, beq, bne, slt, j, jr, jal

Array indexing and variable array indexing

Instruction encoding: R-format, I-format, and J-format

Control flow with conditional branch and unconditional jump

Procedure call: use of the stack, calling conventions, recursive procedure call

Addressing modes

Starting a program: compiling, assembling, linking, and loading

Chapter 6

Pipelining

The stages of instruction execution: Instruction fetch, instruction decode, execute, memory access, and write back

Latency, throughput, and speedup

Hazards: structural hazards, control hazards, and data hazards

Dealing with hazards: pipeline stall, data forwarding, speculative execution, out of order execution, branch prediction

Chapter 7

The memory hierarchy

Effective access time

Exploiting temporal and spatial locality

Block placement: direct mapped, set associative, fully associative

Block lookup: Indexing, searching, lookup tables

Block replacement: random, least recently used

Write policies: write-through, write-back

The three C’s: compulsory misses, capacity misses, and conflict misses

Chapter 8

The system bus

Types of I/O devices: input, output, input and output, storage

I/O partners: human, machine

Components of disks: spindle, platters, tracks, sectors, cylinders

Accessing a disk: seek time, rotation time, transfer time