# ITC544 Computer Organization And Architecture - Assesment item 3 - Computers, data and programming

## ITC544 Computer Organization And Architecture - Assesment item 3 - Computers, data and programming

**Task**

**Total marks: 30**

Answer the following Questions

**Question 1. **

a) Determine the value of base *b* if (152)*b* = 0x6A. Please show all steps. [3 marks]

b) Convert the followings: (Please show all steps; no marks will be awarded if no steps are shown) [1.5x4 = 6 marks]

i) 0xBAD into 3-base representation

ii) 3217 into 2-base (binary) representation

iii) 1235 into octal representation

iv) 21.218 into decimal representation

c) Given a (very) tiny computer that has a word size of 3 bits, what are the lowest value (negative number) and the highest value (positive number) that this computer can represent in each of the following representations? [3 marks]

i) One's complement

ii) Two's complement

iii) Signed Magnitude

**Question 2. **

a) The Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and are characterised by the fact that every number after the first two is the sum of the two preceding ones: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 114, … etc.

By definition, the first two numbers in the Fibonacci sequence are 0 and 1, and each subsequent number is the sum of the previous two. We define Fib(0)=0, Fib(1)=1, Fib(2)=1, Fib(3)=2, Fib(4)=3, etc. The first 22 Fibonacci numbers given below:

Fib(0) |
Fib(1) |
Fib(2) |
Fib(3) |
Fib(4) |
Fib(5) |
Fib(6) |
Fib(7) |
Fib(8) |
Fib(9) |
Fib(10) |

0 |
1 |
1 |
2 |
3 |
5 |
8 |
13 |
21 |
34 |
55 |

Fib(11) |
Fib(12) |
Fib(13) |
Fib(14) |
Fib(15) |
Fib(16) |
Fib(17) |
Fib(18) |
Fib(19) |
Fib(20) |
Fib(21) |

89 |
144 |
233 |
377 |
610 |
987 |
1597 |
2584 |
4181 |
6765 |
10946 |

Write a MARIE program to calculate Fib(n), where the user inputs n. For example, if the user inputs 7, the program outputs the value 13; if the user inputs 15, the program outputs the value 610; if the user inputs 20, the program outputs the value 6765 and so on. You need to write and run the program using MARIE simulator. Please include appropriate comments to make your code readable.[8 marks]

** **

b) For some values of n, your program will not produce correct results. You can check this by gradually increasing the values of n and checking for the correct outputs. What is the maximum value of n for which your program produces a correct result? Why? Please comment on this [3 marks].

**Question 3.**

a) What are the 'interrupts' in a computer system? Describe the approaches to deal with multiple interrupts in a system. [4 marks]

b) Analyse the benefits of using a multiple-bus architecture compared to a single-bus architecture for a computer system. [3 marks]

**Rationale**

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.