Introduction to Computer Organization
Summer, 2008

CDA 3101
Topics

 

The following is a rough outline of the subjects we will cover during the semester:

Chapter 1: computer technologies
  • abstract computer systems
  • motherboards and peripherals
  • integrated circuits
Number systems [presentation interleaved with chapters 2 & 3]
  • unsigned, variable width: binary, octal, decimal, hexadecimal
  • base conversions
  • signed, fixed width: sign-magnitude, 1's complement, 2's complement
  • binary arithmetic
  • IEEE 754 floating point representation and arithmetic
Chapters 2-3: MIPS assembly language
  • MIPS assembly programming
  • translating C to MIPS assembly code
  • supporting function calls with stackframes
  • hand execution
  • instruction encoding
  • pseudo instruction -> native instruction(s)
  • two-pass hand assembly
Chapter 4: performance
  • performance measurement: Time_exec = CPI * IC * Time_cycle
  • benchmarking: types and theory
  • Amdahl's law
Chapters 3, 5, and Appendix B: building blocks
  • logic gates
  • multiplexors, encoders, decoders, adders, d flip-flop
  • sequential and combinational logic circuits
  • inner working of the ALU
  • inner workings of the register file
Chapter 5: single & multicycle datapaths
  • functional units
  • how instructions propagate through the datapath
  • control lines and the MC control state machine
  • adding support for new instructions
Chapter 6: pipelined datapath
  • the theory of pipelining
  • building a pipelined datapath
  • understanding the pipeline registers fields: which instructions use what fields.
  • how a single instruction propagates through the datapath
  • identifying dependencies and hazards in a sequence of instructions
  • mitigating the impact of dependencies: forwarding and hazards detection
  • adding support for new instructions
Chapter 7: memory hierarchy
  • caches and why they are used
  • types of caches: associativity
  • cache size/topology v. performance
  • the common framework for memory hierarchies: the 4 questions
  • virtual memory
This website is an original work, Copyright © 2008 by Dave Small. All rights reserved.