Homework 1
CS 345
Computer Organization
10 points (2 points per problem)
Due Wednesday, Jan. 21, 2015 at the beginning of class

1. Research the following historical figures, and note at least two major accomplishments each has contributed to the field of computer organization.
    a) Alan Turing
    b) Seymour Cray
    c) Grace Hopper
    d) John von Neumann
    e) Douglas Englebart
    f) Charles Babbage

2. Assume you have two computers C1 and C2 for which you wish to compare performance for two programs P1 and P2.  P1 runs in 11 seconds on C1 and P2 runs in 12 seconds on C1.  P1 runs in 1.2 seconds on C2 and P2 runs in 33 seconds on C2.  Determine which computer is faster for each program.  Show all work.

3. Assume you are given the following Java method prototype: int wordCount(char [] cArray).  This method should determine the number of words in an array of characters.  Note that the parameter to the method is a character array and not a string.  You may not use any string methods within the body of the wordCount method.  You may assume that the words within the character array are delimited only by spaces.

4. Using a website such as Newegg.com or Amazon.com, compute the cost per GB of desktop DDR4 RAM for memory sizes of 4GB, 8GB, 16GB, and 32GB. Hint: look at server memory.   Additionally, compute the cost per GB of solid state drives of sizes 128GB, 256GB, 512GB, and 1TB.  Don't worry about memory speeds, disk speeds, cache, etc.  Just use the lowest cost product for your computations.  After you've computed the values for main memory and solid state drives, create two graphs.  On the first, plot capacity vs. price for both main memory and hard drives.  On the second, plot price per GB versus capacity for both main memory and hard drives.  List your sources. Note that you may need to change the scales of the graphs to be logarithmic.

5.  Given a program that makes use of 350,000 instructions half of which are ADD and the other half are JUMP, compute the user run time of the program on a 2.0 GHz machine.  Assume that ADD instructions cost 5 cycles and JUMP instructions cost 1 cycle.