Professional Documents
Culture Documents
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]
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]