Architectures and Code Generation

Literature (partly online) and Suggested topics and papers for the presentations
Last updated 1998

See also recent conferences like:

IEEE MICRO (mainly on ILP architectures and Code generation)
APLOS (Architecture support for programming languages and operating systems)
ISCA (International symposium on computer architecture)
ICS (International conference on supercomputing)

1.  Branch Prediction

2. VLIW Architectures

3. Superscalar Architectures

4. Inter Basic Block Scheduling

5. Software Pipelining

6. Register Allocation

7. Speculative Execution

8. Caches and Prefetching

9. Multithreaded Architectures

10. Java Processors and JIT Scheduling

11. Predication and If-Conversion

12. Register file design

13. Compatability

14. IRAM

15. Recent architectures and implementations, eg:

16. Code compression

Code compression is extremely important for embedded systems (which have to be very cheap).
See for an extensive literature list.

17. Cache Coherency and Memory Consistency

In Multiprocessor systems it is important to keep caches coherent with memory and eachother. Furthermore, different memory consistency models may relax the constraints on the execution order of memory operations.