You are on page 1of 3

13CSCI10I - Computer Architecture Assignment #2 Total Marks: 20% Due Date: 05.12.

2013

Note: For all assembly language questions, implement the required programs within minimum number of instructions using minimum number of registers.
Q1- Describe all possible steps involved in the process of an instruction execution (i.e. Fetch, indirect, interrupt and execute cycle). You should explain the meaning of the grouping of microoperations involved in each cycle. [15 Marks]

Q2- What are the different types of addressing modes? Give an example of each with explanation. [10 Marks]

Q3a. If the 1998 version of a computer executes a program in 200 s and the version of the computer made in the year 2000 execute the same program in 150 s, what is the speedup that the manufacture has achieved over the two-year period? [2.5 Marks] b. To achieve a speedup of 4 on a program that originally took 80 s to execute, what must be the execution time of the program be reduced to? [2.5 Marks] c. A computer architect is designing the memory system for the next version of a processor. If the current version of the processor spends 40 percent of its time processing memory references, by how much must the architect speed up the new memory system to achieve an overall speedup of 1.2? A speedup of 1.6? [5 Marks]

Q4- Multiplication operation can be expressed as the sum of the results of multiplying the value by different powers of 2. Consider the following example: a 12 a (8 4) (a 8) (a 4) a 12 (a 23 ) (a 22 ) Using the illustrated property above, write the required ARM Assembly Language instructions that will multiply the value in R1 by each of the following: a) 10 c) 15 Hint: Do not used MUL instruction b) 17 d) 100 [10 Marks]

13CSCI10I - Computer Architecture Assignment #2 Total Marks: 20% Due Date: 05.12.2013 Q5a) What are the functions of computer (processor) registers? And how they are made? And what are the different categories of registers? [3 Marks] What is an instruction cycle (fetch-execute cycle) on a computer? b) Draw the flowchart that
illustrates the fetch-execution cycle. What are the circuits (registers) used in the CPU during the instruction cycle? Draw the data flow diagram for each possible cycle. Write down the sequence of events (sequence of microinstruction) in each cycle in terms of register transfer notation and explain in details the effect of each microinstruction. Remark: Your answer should NOT be the same as in Q1 (No repeating!). [5 Marks] c) What is a system bus in computer? [3 Marks] d) How to measure the speed or performance of a computer? [3 Marks]

Q6- Write an assembly program to:


Set R0 = 1024, R1 = 512, R2 = 2. Calculate the result of R0 + R1 and store it in R3. Calculate the result of R0 R1 and store it in R4. Calculate the result of R0 XOR R1 and store it in R5. Calculate the result of R0 OR (1s compliment of R1) and store it in R6. Calculate the result of R0 AND R1 and store it in R7. Logical shift right the value of R0 by 2 and store the result in R8. Logical shift left the value of R1 by 2 and store the result in R9. Logical shift right the value of R0 by the magnitude of R2 and store the result in R10. Logical shift left the value of R1 by the magnitude of R2 and store the result in R11.

Convert the results of each of the registers (R3 to R11) to binary, and show the steps you performed to do the conversion.

[6 Marks]

Q7- Write an ARM7 Assembly code that reverses a string stored in the memory. You should define the input string using DC directive with label input. The result should be stored in the same memory location. Write your solution steps in a pseudo-code form. Test your program for input string Assembly. [20 Marks]

Q8- Write an ARM7 Assembly program that converts the characters in a stored string in the memory into lower case letters. You should define the input string using DC directive with label input. The input string may contain spaces, upper-case or lower case letters. The result should be stored in the same memory location. Write your solution steps in a pseudo-code form Test your program for input string We LIKE Assembly [15 Marks]

You might also like