Introduction

This is a two-part assignment. The first part is required, and the second part is optional. If you complete the second part, it will count 10% of your course grade, replacing part of the course grade would be derived from the three exams. That is, all other assignments as a group will count 10%, the optional part of this assignment will count 10%, and the three exams as a group will count 80%.

Unlike other assignments for this course, you must do your own work for these assignments. You are encouraged to discuss the assignments with other people, but you must produce the actual deliverables for this assignment by yourself.

The penalty for failing to follow this policy is automatic failure of the entire course.

The Assignment

  1. Required: Prepare an annotated bibliography on a current topic in computer architecture.

    An annotated bibliography is a list of documents (books or book chapters, news, journal, or web articles, Wikipedia entries, company literature, etc.), along with a 1-2 sentence summary for each document that tells what information the document provides.

    This assignment requires three steps: (1) pick a topic from the list below, (2) find the documents, and (3) prepare the bibliography.

    Here is a list of topics to choose from, along with some questions that documents on this topic might address. If you have a different topic you would like to use, let me know by April 20. But if you pick one of the topics from this list, you do not have to contact me ahead of time.

    • Multicore Computing. What is driving the shift from ever-faster uniprocessors to multicore processors? What is the current state of the art? What are the predictions for how rapidly the number of cores will increase? What are the implications for software development?
    • Power Consumption. How much electrical power does Google use? How does power consumption affect the design of various computing devices? What techniques are used by mobile processors, such as the Atom processor, to manage power consumption?
    • The iPad. Is it a good thing? Is it a bad thing? Separate question: do you want one? What are the design constraints from a computer architecture point of view? What information is available about the processor, the software, the battery, and the peripherals?
    • Graphics Processing. What are graphics processors and how are they programmed? How are graphics processors and gaming related? What makes graphics processors interesting for non-graphics computing? What changes are taking place in graphics processors? What is the future of NVIDIA? What is Larrabee? What is CUDA?
    • Mobile Architectures. What processors are used in mobile devices? What are the constraints mobile devices place on these processors, and vice-versa? Why is the Intel Archecture so notably absent from mobile devices? Or is it? What is the multitasking issue?
    • Bus Structures. Busses connect the CPU to the peripheral devices. What are the busses currently in use? How to they vary in bandwidth? What new busses are under development? What are “chipsets?” What changes are taking place in chipset design, and what factors are driving these changes?

    Once you select your topic, look for documents related to the topic. Several of these topics are introduced in the textbook for the course, so that is a good place to start. Wikipedia is an obvious place to start looking too, and the Ars Technica web site is another good resource. Manufacturers such as Intel, NVIDIA, and Arm all provide useful documents about their products. As you look at documents, write down two critical pieces of information about each of them:

    1. How to find the information again.

      For online resources, this is the URL, the title of the article, and the author (or company name if there is no author given). For printed media, record the title, author, publisher, year of publication, and the page numbers or chapter number if the item is a book or journal article.

    2. Notes on the content.

      You do not need to read the documents carefully. Just look them over to see if they are interesting and whether they contain information that might be useful if you were to actually write a paper on your topic.

      Write notes for each document to remind yourself what’s in it and why it looked interesting. Or a note telling why it doesn’t look interesting.

    You might find as you look at documents that you want to change topics, or follow a subtopic in more detail. It is perfectly all right to do so.

    When you have 5-10 documents that you think are good, prepare your bibliography: a list of documents and a sentence or two telling what each one is about. The only differences between the bibliography and your notes are: (1) the bibliography is to be structured as a numbered list, with each list item starting with the name/title of the document and information telling readers how to locate it; (2) you need to turn your notes on what’s in each document into gramatically-correct English prose, 1-3 sentences for each item.

    Prepare your bibiliography using a word processor, and submit it to me as an email attachment by midnight of the due date.

  2. Optional: Write a 3-5 page paper on your topic.

    The paper is to be written in three stages; you cannot receive credit for later stages if you have not completed the earlier stages on time.

    1. Due April 29:

      Prepare an outline of your paper. The outline consists of headings, subheadings, sub-subheadings, etc., but no sentences. The basic structure of the paper will consist of a title and author and sections for the introduction, body, and conclusions. Your outline should start with this structure, and list the order of subtopics and sub-subtopics that will appear within the body of the paper.

      To prepare the outline, you need to have read the documents in your bibliography, thought about what they say, and to have decided what you want to say about them.

      Most word processors will make it easy for you to use different styles for the headings, subheadings, etc. Use them.

      I will make comments on the outline, and you should revise your outline based on my comments and/or ideas you have as you work on the paper in more depth.

    2. Due May 6:

      Prepare a first draft of your paper. Expand your (revised) outline into a series of paragraphs. Just take the headings, subheadings, and sub-subheadings, and put 1-3 paragraphs after each one!

      The paragraphs you write must be in your own words. For this paper, there must be no direct quotes or even any simple paraphrases taken from any other documents. Rather, you are to summarize what you learned from the documents you read. But tell where each idea came from, either by using an item number from your bibliography or by making it clear that you are expressing your own thought on the topic. Here is an example: Intel [3] wants us to believe that multicore processors are the cat’s pajamas, but they are wrong because cats don’t have pajamas. Hopefully, you can do better than that.

      Again, I will make comments on the draft. I will not correct punctuation, spelling, or grammar mistakes, but I will note problems that I see. Be sure to use—and pay attention to—your word processor’s spell checker and grammar checker. I will also comment on the clarity and cogency of your writing.

      It’s all right to add items to your bibliography at this point if you want to. But it is not necessary.

    3. Due May 13:

      Polish your paper, and hand it in.