Machine Organization and Assembly Language programming
Tentative outline (subject to change) -- Spring 2005
- Introduction to architecture and organization (Chapter 1)
- Signed and unsigned numbers (Chapter 3. Sections 3.1 to 3.3). Review
done in sections.
- Instruction set and assembly language (Chapter 2 Sections 2.1 through 2.9,
2.16
and Appendix A Sections A.1, A.2, A.6, and A.10)
)
- General computer structure
- Overview of MIPS: registers, data types, addressing. Introduction to SPIM
- Arithmetic-logic,load-store, branch instructions
- Instruction encoding; addressing revisited
- Procedures and stacks
- RISC vs. CISC
- Performance metrics (Chapter 4)
- CPU execution time. CPI
- Benchmarks
- Processor implementation. Single cycle implementation (Chapter 5 Sections
5.1 through 5.4)
- Processor implementation. Multiple cycle implementation. (Chapter 5 Sectio
ns 5.5 and 5.6)
- Data path
- Control unit
- Exceptions
- Processor implementation. Pipelining (Chapter 6 Sections 6.1 through 6.6 a
nd 6.8)
- Data path
- Data hazards. Forwarding
- Control hazards and exceptions.
- Memory Hierarchy. Caches (Chapter 7 Sections 7.1 through 7.3)
- Cache organization.
- Cache parameters for performance
- Write policies
- Memory Hierarchy. Virtual Memory (Chapter 7 Sections 7.4 and 7.5)
- Input-Output (Chapter 8 Sections 8.1, 8.2, 8.4 and 8.5)
- One or more of the following topics
- EPIC (or VLIW) ISA -- Itanium.
- Networks
- Floating-point. Arithmetic and functional units
- Parallel computers