Project 1: Research Project
CS 641
Assignment, Dr. Lawlor
For the first project, I'd like you to:
- Pick a topic related to CPU design.
- Research
the topic in the book, in the library, and on the net. Write up a
short topic paper, due February 24th, where you state what you want to
talk about, give a brief outline of your talk, and give at least five
useful references (websites, books, etc) on your topic.
- Present your results in class on March 3rd. You'll be giving fairly short
25-minutes-plus-questions talks.
- You don't have to prepare powerpoint slides, but you MUST study
hard, think beforehand about what you'll say, and have several
interesting graphs/pictures/examples/demos.
Possible Topics (Choose one!)
- Hardware pipelining:
- Latency vs throughput
- Pipeline stages used by modern CPUs
- Operand forwarding
- Branch prediction, in theory or as implemented on modern CPUs.
- Data dependencies, the big limit on all parallel execution of serial code:
- Superscalar execution:
- Functional units
- Speculation
- Hazard detection
- Cache design, cache hit rates, cache replacement algorithms, etc.
- Semiconductor fabrication technology: copper interconnects, deep-UV photolithography, or the recent 45nm process shrink (and upcoming 32nm and 22nm).
- Alternate programming models: Field-programmable gate arrays (FPGA), general-purpose Graphical Processing Units (GPGPU), etc.
- Alternate physical computers: relay computers, DNA computers, etc.
- Or, pick your own topic! As long as it's architecture-related, it's good!