As stated in the project assignment, you are encouraged to come up with your own topic.
The text and the papers we've
read point to many papers. See also Proceedings of
the International Symposium on Computer Architecture, Proceedings of the
High-Performance Computer Architecture, Proceedings of the conference on
Architectural Support for Programming Languages and Operating Systems,
Microprocessor Report, IEEE Transactions on Computers, ACM Transactions on
Computer Systems, IEEE Computer, IEEE Transactions on Parallel and Distributed
Systems, etc. You can find many of these references online.
For more sources, click Text & References in the menu on the far left.
UW CS has a subscription to the ACM archives. Just go to their website from any
cs.wisc.edu domain and you should be able to access the web archives. The
Wendt Library
Electronic Journal page also has links for electronic subscriptions to many
journals, including those in the ACM Digital Library and IEEE Xplore. You can
access these from anywhere on campus, or even off campus with your student ID.
This is makes doing research much easier. From the Electronic Journal List, I
find it easiest to browse by collection (i.e. IEEE Xplore), since that way you
don't have to guess how the library may have abbreviated or reordered the title
of the journal you are trying to find.
Also look for ideas from recent conferences, e.g., ISCA, Micro, ASPLOS, and HPCA. Use Google (or another search engine) with keywords "ASPLOS 2005", go to the conference home page, select the advanced/final program, select a paper, search for the home page of a co-author, and usually find the paper in their publications list.
To help you with topics, a list of example projects follows.
As memory latencies increase relative to processor speeds, more instructions are needed to hide cache misses (i.e., extract greater memory level parallelism). Explore alternative techniques to get more instructions in flight.
Is memory-level parallelism all that matters? [Chou, ISCA 04]
Evaluate runahead processors [Patt, HPCA 03] or continual flow pipelines [Rajwar ASPLOS 04]
Evaluate schemes for removing dependent chains of stalled instructions from the window [Lebeck, ISCA 03].
Checkpoint register images and recover to them, rather than track all instructions [Akkary, Micro 03].
Transient faults are expected to be increasingly frequent as feature sizes decrease, forcing designers to more conservative.
Evaluate schemes that optimize for the common case, while checking for the worst case. See Razor [Micro 03].
Evaluate schemes that duplicate computation in time or space Diva, Slipstream processors, AR-SMT, etc
Many microarchitectural innovations have been evaluated by simulating only user-mode execution of individual SPEC benchmarks. Yet many performance-critical systems run commercial workloads, which typically consist of multiple processes, have much larger code sizes, and spend significant fractions of time in the operating system kernel. Study whether the performance improvements claimed for these innovations hold for commercial workloads.
Are larger or different branch predictors needed due to the larger code footprint of commercial workloads.
Do trace caches work still work?
Do these workloads have detectable phases (ala Sherwood and Calder [ASPLOS 02, ISCA03] and Dhodapkar and Smith [ISCA 02]).
Wire delay is an increasingly critical factor in processor and memory system design. Evaluate alternative wire-centric designs.
Evaluate non-uniform cache architectures and their alternatives (NUCA [ASPLOS 02], TLC [MICRO 03], NuRapid [MICRO 03]).
Explore and evaluate issues in multisequencer designs (Trips [ISCA03], Multiscalar [ISCA 96]).
Power and energy dissipation are increasingly first-order factors that limit performance.
Evaluate alternerative clock and power gating schemes
Can microthreads help improve performance? Using speculative precomputation? Prefetching? Lightweight non-speculative thread partitioning?
See SSMT [ISCA '99] and Minitheads [HPCA 03].
The following is a sampling of projects done in previous offerings of this course. Though titles alone convey little meaningful information, this should give you an idea of what you might want to pursue.