Reference no: EM131534
Computer Architecture:
1) Give the register transfer notation for a simple calculator, which supports the operations { +, -, *, /, &, |, ^, ~} on integers ranging from -65, 536 to 65, 535. Presume that the calculator is using an old version of the Intel architecture, with registers ax(ah and al), bx (bh and bl), cx (ch and cl), and dx (dh and dl). Upon using the * and / operations, which change the size of the operand the calculator stores the result's lower order bits in al (for a 16-bit result) or ax (for a 32-bit result), and the higher order bits in ah and dx respectively. For simplicity the format of operations will be the following: "mnemonic destination, source", therefore a typical operation "x <- x opcode y" would be seen as "opcode x, y". Furthermore, the following opcodes will be used:
a) How many bits do you need for the opcode?
b) How many bits do you need for the general purpose registers?
c) How many bits can the constant in the immediate/memory instructions have?
d) What is the optimum size of RAM for such calculator?
e) Describe the Instruction Register structure
f) Describe the decode stage:
g) Describe the execution stage of add, andi, mul, divi, and neg:
h) Describe the memory stage of load and store, and the write-back stage:
2) Identify and describe, in your own words, the five stages of the processor. Then use the diagram bellow to specify where each stage falls (use their abbreviations: IF, ID, EX, MEM, and WB).
Computer Metrics:
3) Consider a comparison between two computers A and B, which is faster?
4) Consider a comparison between two computers A and B, which is faster?
5) Given that you want to speed up a program which has 20% of the instructions parallelizable, give a reasonable amount of processors that the new computer should have, to obtain the best cost effective results. Hint: check how the speedup behaves for 2, 4, 8, 16, etc. processors.
6) Given that you want to speed up a program which has 80% of the instructions parallelizable, give a reasonable amount of processors that the new computer should have, to obtain the best cost effective results. Hint: check how the speedup behaves for 2, 4, 8, 16, etc. processors.