Under the von Neumann architecture, a program and its data are both stored in memory…. 1 answer below »

(a) Under the von Neumann architecture, a program and its data are both stored in memory. It is, therefore, possible for a program, thinking a memory location holds a piece of data when it contains a program instruction, to accidentally (or on purpose) modify itself. What implications does this present to you as a programmer? [4 marks]

(b) Reflecting on the technical implications of Moore’s Law, discuss the following two cases: [6 marks]

(i) After successfully completing your IT Fundamentals class, you have a brilliant idea for a new chip design that would make a processor six times faster than the fastest ones on the market today. Unfortunately, it will take you four and a half years to save the money, create the prototype, and build a finished product. If Moore’s Law holds, should you spend your money developing and producing your chip or invest in some other venture?

(ii) Suppose we have a problem that currently takes 100,000 hours of computer time using current technology to solve. Which of the following would give us the solution first: (1) Replace the algorithm used in the current solution by one that runs twice as fast and run it on the current technology, or (2) Wait 3 years, assuming Moore’s law doubles the performance of a computer every 18 months, and find the solution using the current algorithm with the new technology?

Question 2 – Data Representation in Computers [20 marks]

(a) You have stumbled on an unknown civilization while sailing around the world. The people, who call themselves Zebronians, do math using 40 separate characters (probably because there are 40 stripes on a zebra). They would very much like to use computers but would need a computer to do Zebronian math, which would mean a computer that could represent all 40 characters. You are a computer designer and decide to help them. You decide the best thing is to use BCZ, Binary Coded Zebronian (which is like BCD except it codes Zebronian, not Decimal). How many bits will you need to represent each character if you want to use the minimum number of bits? [5 marks]

(b) If the floating-point number representation on a certain system has a sign bit, a 3-bit exponent and a 4-bit significand:

(i) What is the largest positive and the smallest positive number that can be stored on this system if the storage is normalized? (Assume no bits are implied, there is no bias, exponents use two’s complement notation, and exponents of all zeros and all ones are allowed.) [5 marks]

(ii) What bias should be used in the exponent if we prefer all exponents to be non-negative? [2 marks]

(c) Hex value 0xC29C3480 represents an IEEE-754 single-precision (32 bit) floating-point number. Work out the equivalent decimal number. Show all workings (e.g. converting exponent and mantissa). [8 marks]