Architecture Research Project (Project 1)
CS 641, Dr. Lawlor
30% of your overall course grade comes from the three semester
projects. Project 1 will be research-oriented. Project 2
will be on SSE or GPU programming, and Project 3 on multicore or network programming.
Su Mo Tu We Th Fr Sa
16 17 18 19 20 21 22 <- first day of class
23 24 25 26 27 28 29 <- lecture notes due
Su Mo Tu We Th Fr Sa
1 2 3 4 5 <- project 1 presentations
Please have your project 1 topic (see suggestions below) picked out by class on Tuesday, January 25. You don't need to write anything up, but you should
be ready to give a useful four-sentence synopsis of the topic, so
background reading is recommended! We'll assign the time slots
for the actual presentations.
I'd like you to prepare a brief 2-3 page lecture note style writeup
in HTML, with lots of
hyperlinks. Analyze and summarize--introduce us to the material,
and tell us what's important about it. I'll post your writeup as
the lecture notes for that
day's class. The writeups are due at midnight Thursday, January 27 on Blackboard.
We'll do the presentations the first week of February. There
are ten people in
class, and 180 minutes between Tuesday and Thursday, so that's about 15 minutes per
person. You should prepare about 12 minutes of interesting,
informative content (time your test run!), which leaves 3 minutes for questions and to change
speakers. PowerPoint is NOT required, but you MUST have
a clear idea of what you will present AND some sort of
examples/illustrations/code/graphs. I'll be at a conference in the Czech Republic that week, so I'll have your presentations videotaped.
Suggested Project 1 Topics
Or choose your own topic! Topics should all be research of the form "Learn and present what people have done about X" rather than applied
work of the form "Build a new X". Because the deadlines are so
short, feel free to extend your own work on any previous class project
for this one.
- Learn about the rationale, history, and advantages/disadvantages of any current hardware topic, such as:
- Pipelining, especially the very deep piplines of the Pentium 4
- Out-of-order execution
- Register renaming
- Branch prediction, branch history, and execution speculation
- Cache prefetching and out-of-order loads and stores
- Multi-core, SMP, SMT, or SIMD parallelism (pick one!)
- Describe how the design limitations and goals of nonstandard computing platforms differ from conventional computing, such as:
- High-performance computing systems, such as Blue Gene or anything on the Top500 list.
- Consumer game consoles, such as the PlayStation 3, Xbox 360, or Wii.
- Embedded systems, such as cell phones or microwave ovens.
- Pick any hardware-related article from Ars Technica. Explain what they're talking about in detail.
- Pick a CPU architecture from sandpile.org. Compare this architecture's hardware design, in terms of achievable performance, with competing architectures.
- Describe performance counters, which are useful for understanding code performance and pipelining (see PCL)
- Describe a strange fabrication substrate or nonstandard
computing scheme, such as Biological Computing, Quantum Computing,
self-organizing polymer nanofabrication, etc.
- Describe novel data storage architectures, such as perpendicular bit recording, magnetoresistive memory, nanowire memory.
a semiconductor or PCB fabrication process in detail,
such as the problems encountered during deep-submicron
photolithography, or the interelationship between planarization and
metal layers in CMOS fabrication.
- Describe the historical evolution of some computer architecture, such as SPARC or Motorola's 68000.
- Explore the decline and fall of some popular computer architecture, such as the VAX ("All the world's a VAX!" Or, er, it was...)