CSE243
Introduction to Computer Organization
Spring 2002

Assignment 1

Assignment date: Thursday January 31, 2002
Due date: Thursday February 7,2002

Objectives:
At the end of this assignment, you should be able to:

1: Describe the essential differences between a RISC and a CISC architecture (in simple terms; this is expanded upon later in this course).
2: Identify the essential characteristics of a variety of modern (micro)processors from a variety of vendors.
3: Describe the basics of processor benchmarking.
4: Describe the essential differences between a purely sequential architecture, and both SMP and distributed architectures (in simple terms; this is expanded upon in CSE228).

Rationale:
(Why you are doing this).

1: The rate of change in computing is unprecedented in a science/engineering discipline. It is imperative that you school yourself to keeping up with changes both from industry and from academia. To this effect, you should start reading
    -- material from reliable, informative on-line sources
    -- published material, from reliable trade journals
    -- published material, from academic journals (this will come later)

2: You should become familiar with the broad characteristics of modern processors. Evidently, a full appreciation of their architecture is only meaningful at the end of a course like this, so you should not immediately be overly concerned if certain terms do not make much sense. However, it helps as you progress through the course to be able to return to the technical specifications of modern processors as we uncover architectural concepts throughout the course. Thus, at this juncture, it helps to form a link in your mind between certain architectures and certain keywords so that you can refer back to the processor descriptions as the course progresses.

3: You should identify who the ``major players'' are in the industry, and what the state-of-the-art is as expressed by those players. This should become a life-long activity.

4: Certain technical terms crop up with regularity in describing processors, even when superficial aspects of processor architecture are being described (e.g., to average consumers). You should start the process of becoming absolutely familiar with these terms.

5: The classical, sequential (single-processor) architecture is not the only architectural solution available today. Multiprocessor architectures have a terminological basis of their own. While we will not study anything other than superficial aspects of parallel and/or distributed architectures in CSE241/243, nonetheless you should still demonstrate a minimum competence in understanding multiprocessor architectural differences. As before, some of this material may not immediately be clear.  Nevertheless, you should become familiar with the terminology.

Submission Requirements:
(What material you should submit and how it should be submitted).

You will be writing a report for this assignment. Ideally, this report will form the first part of a notebook you constantly update (either on-line, or in more traditional form) for yourself as you progress through your final years at UConn (and on into the future).

The report will be submitted to me in class.  Length is less important than quality.

Resources

A sampling of some on-line resources is available at

    http://www.engr.uconn.edu/~ian/CSE241HTML/ancillary.html

Be careful with on-line resources. Material from trusted on-line sources is likely to be accurate. However, many on-line resources are either obviously personal statements with no science to back them up, or appear to have science behind them when they in fact don't. You should strive to use resources which meet one or more of the  following criteria:

    a) the resource is associated with an established vendor/company (IBM, Intel, Apple, Motorola etc.)
    b) the resource is associated with an established magazine or technical journal (Byte, PC World etc.)
    c) the resource is associated with a professional society (ACM, IEEE, BCS etc.); these tend to be the most reputable
    d) the resource is associated with an institution of higher education AND (where it refers to non-academic material) has proper citations
    e) the resource is associated with an accepted standards group (e.g., the SPEC benchmarks)

Obviously, there are also PRINT resources. Print resources (technical/academic journals) have the benefit that they are refereed.

References (citations)

Not only are you not permitted to quote material verbatim (giving the impression that it is your work), you must also learn to cite material appropriately. Please obey the following rules regarding citations:-

    1: All source material must be fully cited, and should be cited in place where it occurs. Refer to cited material by increasing numbers enclosed in brackets, as [1], [2], [3,4,5] etc. in-line in the material you are writing.
    For example,
        "StorrsSuperfast Processors Inc. claim that their new 256-bit 12GHZ processor can compute 100 floating-point divisions per second[2]".

    2: All citations must appear at the end of the report in a separate section called "References", as:-

    References:
[1]: Hamacher, C., Vranesic, H. and H. Zaky, "Computer Organization",
    McGraw-Hill, New York, 1996
[2]: StorrsSuperfast Processors Inc.,
    "http://www.superfast-processors-inc.com/StupidClaims/claim1.html"

    3: Citations must be organized consistently. The goal of a citation is twofold:-
        a) to give credit where credit is due
        b) to allow the reader to find the material you have cited

    To do this, you must adopt a citation manner which fulfills both requirements. Academic journals usually have rules which explain how citations in the journal should be made. These rules explain the format of citations, as well as the extent of citations (e.g., whether, if a paper has 26 authors, you are required to list all of the authors, or are permitted to list the first N, followed by "et al." (a Latin term --et alia, "and others").

    In your case you are required to follow the citation format for IEEE Transactions on Computers. Failure to do so will result in loss of points. You can find the citation format for IEEE Transactions on Computers by looking at the section called "Instructions for Authors", found in selected copies of the Transactions. (Which means you have to find IEEE Trans. Comp, the "Instructions for Authors", and photocopy it. While you're at it, leaf through the journals themselves...).  Simpler, but less reliable, is to find a paper published in this journal and to copy the format of the references found there.

    4: How often do I cite stuff?
    Suppose you write a paragraph which has n facts from some source. Cite the source once, at the end of the paragraph.
    Suppose you cite a source somewhere at the top of your paper, and (after other citations have intervened), you cite the same source again. Do not give the source another citation number; instead, use the previous one e.g.,
     "StorrsSuperfast Processors Inc. claim that their new 256-bit 12GHZ processor can compute 100 floating-point divisions per second[2].  At the same time, scientists at McMurdo base in the Antarctic report that the Superfast SF24000 generates enough heat to keep the base warm throughout the long winter months[3], giving rise to fears about the long-term energy use of the SF24000. StorrsSuperfast refute this claim, insisting that their cold-fusion battery pack is easily adequate enough to fuel the SF24000[2]".

Language
(Grammar and spelling).

Good grammar and good spelling form the basis for good communication. Doubtless you have experienced the misery of a textbook or technical document that is poorly written. As an engineer, part of your job will involve communicating both with your peers and with non-technical people. Please ensure that your reports are adequately checked for spelling and grammar.  The newer versions of Microsoft Word have built-in spelling and grammar checkers.

A certain leeway is given to people whose native language is not English.

A Reminder:

The temptation to cut-and-paste material from the web (and occasionally from another student) can be quite strong, especially if you are up against deadlines. However, plagiarized material guarantees you an F in this course, as well as having your name forwarded to the Department Chairman for further action.

You must learn to distill facts and express them in your own words, no matter how tedious that might be.

However, there is nothing wrong with sharing resources with classmates: industry periodicals, web addresses, or journals.

The bottom line is that you must not present material as your own that was not originally written by you.

Assignment

1: A major factor in processor performance (but not the only factor) is the basic clock rate of a processor, typically given today in MHz (or GHz). Construct a table showing the equivalent clock period (in appropriately scaled seconds e.g., microseconds, nanoseconds etc.) for the following clock rates:-

    100MHz, 250MHz, 500MHz, 1GHz, 1.5GHz, 2GHz, 2.5GHz

2: For each of the following manufacturers: Intel, AMD, Motorola, Sun, MIPS, IBM, Compaq, Zilog
    a) determine their 3 fastest processors
        (if there are not 3, list as many as you can)
    b) for each processor, list the following:
        b1) manufacturer name
        b2) processor name (and numerical designation)
        b3) maximum clock speed
        b4) word size in bits
        b5) common use of the processor (where are you likely to find it?)

3: Define the terms CISC and RISC as they apply to processors (at least few sentences per definition will suffice).  Use your textbook for this, but don't foget to cite any material you use.

4: For each of the processors you identified in (2) above, attempt to determine if they are classified as CISC or RISC architectures, and briefly explain your decision.

5: Processors cannot be ranked on clock rate alone, because a variety of other factors affect their net performance. This is particularly true when cross-comparing processors from different architectures (e.g., a Pentium with an Alpha). To circumvent these problems, organizations such as  SPEC (Standard Performance Evaluation Corporation) develop benchmarks for performance evaluation.

Explain what the SPEC CPU2000 benchmark is. Pay attention to (i.e., explain)
    --CINT2000
    --CFP2000
    --base and rate
    --benchmark code (types of problems involved in the benchmark)

Write your summary as if you were preparing a document for a non-technical reader e.g., someone in middle/upper management who has asked you to "give him/her the lowdown on how processors compare". Write at least 2 pages on this.

6: From the SPEC results, rank the top 5 systems in terms of

    --SPECINT2000 (base)
    --SPECFP2000  (base)

Determine if the INT and FP benchmarks correlate well.

7: Parallel computers are computers where more than processor is involved. Exactly how more than processor gets involved depends on the architecture of the parallel computer; for example, some parallel computers tightly couple two or more processors "into the same box", so that they share important resources (notably some or all of memory). A more loose organization of computers is often called a Distributed System (but again you should be aware of quite widely varying interpretations of this term).

One particular kind of distributed system is called a "cluster computer", which is traditionally taken to be a collection of independent workstations connected together either by a (high-speed) local-area network, or even via the commodity internet.

Supercomputers are always multiprocessor machines. If you search the WWW, you will find a list of the top 500 supercomputer sites in the world. Find the following information:-

    7.1: What is currently (beware: this can change quickly) the fastest supercomputer on the planet? (briefly describe this system)
    7.2: How many processors does it have, what kind are they, and at what clock speed do they run?
    7.3: What is the benchmarking test used to rate the system's performance?
    7.4: From the top 500 list, name the manufacturers in the top 21.
    7.5: At least one cluster appears on the top 500 list. Name one cluster computer that does appear.

--end of assignment