2.9 Paper
On this page:
2.9.1 Depth
2.9.2 Breadth

2.9 Paper

Consult the paper policy for details of the turn-in and preparation process.
Choose one of the following two options.

2.9.1 Depth

Choose one facet of computer architecture design such as parallelism, SIMD, memory architecture, pipelining, instruction encoding, cache, branch prediction, very-long-instruction-word, power savings, addressing, virtual memory, etc. Introduce and define the facet (at least one page). Discuss its development in the field of computer architecture by punctuating the history with particular examples of innovations and deployments. (Each such section should probably be at least a page, maybe more.) End with a brief summarization (roughly a page) of open issues and ideas that you have for developing it (this last part is the only place where your opinion can enter in.)

2.9.2 Breadth

Choose one computer architecture. Briefly introduce it and the historical circumstances of its development (less than a page.) Select a number of unique or interesting aspects of it (such as those listed above as "depth" topics) and discuss how it approaches them. The most important part of discussing the approach is walking through the consequences of the design in the lives of programmers and their software. (Each one should be at least a page and perhaps more.) End with a brief personal perpsective on what you think its influence has been or should be on the world of architecture (roughly a page.)

(There is nothing wrong with choosing a hugely popular one like x86 or ARM, but if you want to look for more options Wikipedia is a great place to start. One thing though, if you choose a hugely popular one then there will be a ridiculously huge amount of information available, so you’ll have to control your scope.)