Computers, data and programming

Assessment item 3 – Assignment 1: Computers, data and programming

back to top

Value: 15%

Due Date: 26-Apr-2020

Return Date: 19-May-2020

Length:

Submission method options: Alternative submission method

TASK

back to top

Overview

This assessment consists of three questions. The first one looks into the overview of Computer Systems. The second one looks into how computers represent data and how we can interconvert these representations. The last question will give you experience with writing MARIE programs. The lecturer may ask you to explain the answers of Q3 in the classroom.

Question 1 Historical Overview of Computer Systems [10 marks]

(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 Moores 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 Moores 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 Moores 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]

Question 3 MARIE Assembly [20 marks]

(a) Consider the following MARIE Code:

100 If, Load X /Load the first value

101 Subt Y /Subtract the value of Y, store result in AC

102 Skipcond 400 /If AC=0 (X=Y), skip the next instruction

103 Jump Else /Jump to Else part if AC is not equal to 0

104 Then, Load X /Reload X so it can be doubled

105 Add X /Double X

106 Store X /Store the new value

107 Jump Endif /Skip over the false, or else, part to the end of if

108 Else, Load Y /Start the else part by loading Y

109 Subt X /Subtract X from Y

10A Store Y /Store Y-X in Y

10B Endif, Halt /Terminate program (it doesn’t do much!)

10C X, Dec 12 /Assume these values for X and Y

10D Y, Dec 20

Find the values stored in the following registers after the execution of “Skipcond 400” instruction: [5 marks]

(i) PC

(ii) IR

(iii) MAR

(iv) MBR

(v) AC

(b) Suppose we add the following instruction to MARIEs ISA:

JumpIOffset X

This instruction will jump to the address calculated by going to address X, then adding the value found there to the value in the AC. Show how this instruction would be executed using RTN. [5 marks]

(c) Write a MARIE program to allow the user to input 8 integers (positive, negative, or zero) and then find the smallest and the largest and print each of these out.

As an example, if the user enters the following decimal numbers as input (one after the other)

23, -6, 78, 0, 36, 3, -250, 5

the program would output the following values as the maximum and minimum, respectively:

78 -250

Assume that the user will always provide valid numbers as input; that is, do not worry about dealing with invalid input data.

Write comments within your program so that a reader can understand it easily. [10 marks]

RATIONALE

back to top

SUBJECT LEARNING OUTCOMES

This assessment task will assess the following learning outcome/s:

· be able to investigate and describe the essential elements of a computer and their functionalities.

· be able to apply an understanding of data representations and calculations to practical situations.

· be able to develop an elementary computer program.

GRADUATE LEARNING OUTCOMES

This task also contributes to the assessment of the following CSU Graduate Learning Outcome/s :

· Academic Literacy and Numeracy (Knowledge) – Charles Sturt Graduates understand the use and structure of appropriate language in written, oral, visual, mathematical, and multi-modal communication.

· Academic Literacy and Numeracy (Skill) – Charles Sturt Graduates demonstrate the literacy and numeracy skills necessary to understand and interpret information and communicate effectively according to the context.

· Information and Research Literacies (Knowledge) – Charles Sturt Graduates demonstrate that disciplinary knowledge is developed through research and evidence.