



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Exam questions for the computer architecture module of the bachelor of science (honours) in software development & computer networking degree at cork institute of technology. The exam covers various topics such as memory management, stack operations, interrupt handling, and addressing modes. Students are required to answer questions related to these topics by providing explanations and code examples.
Typology: Exams
1 / 5
This page cannot be seen from the preview
Don't miss anything!




Answer any four questions. Examiner: Mr. S. Lankford Dr. J. Buckley Dr. A. Kinsella
Q1 (a) Using a memory map, illustrate and explain what happens to the stack and the Program Counter when the following code executes:
PROGRAM EQU $ ORG PROGRAM MOVE #4,DO BSR ABC …… …… ABC MULU DO,DO ASL.L #1,D RTS (6 marks)
(b) Briefly explain what effect the following code samples have on the stack and the destination operands: i) LEA $2000,A ii) MOVE.L (A7)+,D iii) RTS (6 marks)
(c) Briefly explain the following methods of passing parameters to a subroutine. Outline the advantages and disadvantages of each method and use simple code examples where appropriate. i) Passing parameters via registers ii) Passing parameters by value iii) Passing parameters by reference (6 marks)
(d) Write a 68000 program , which evaluates the following expression: (7x^9 +5) 2x 9 In your program, initialise D0 to hold a value for x. The evaluation of x^9 should be carried out in a separate subroutine. (7 marks)
[Total: 25 marks]
Q2 (a) Briefly explain what is meant by a vectored interrupt. (3 marks)
(b) Briefly explain and illustrate how interrupt requests can be prioritised using daisy chaining (7 marks)
(c) Briefly explain the function of the 68230 PI/T in a 68000 microprocessor-based system. (3 marks)
(d) Illustrate how the 68230 is interfaced with a 68000-based system. Clearly label all pins and explain how the arrangement works. Identify the type of data transfer, and the signals used to implement data transfer, between the 68230 and the 68000. (12 marks)
[Total: 25 marks]
Q4. (a) Briefly describe the operation of the bubble sort and bucket sort algorithms using simple
diagrams and tables as appropriate. Explain how the algorithms differ. (5 marks) (b) Using a bucket sort algorithm, write a 68000 program to arrange the numbers in the array, MYNUMS, into ascending order.
The bucket sort algorithm should be implemented in a subroutine , which is invoked by the main program. (10 marks)
(c) Explain what the term “pipelining” means? In your explanation, outline the benefits and basic operation of a pipelined architecture compared with a non-pipelined architecture. (10 marks)
[Total: 25 marks]
Q5. (a) Write an 80x86 program to convert Fahrenheit temperature to Celsius using the following formula:
The program should be written as a console application, which prompts the user for the Fahrenheit input and outputs the Celsius answer to the console. (10 marks) (b) Briefly describe and illustrate the operation of the stack in the 80x86 processor, by explaining the operation of the following instruction: PUSH EBX Show the following in your illustration: (i) Contents of EBX after instruction execution (ii) Contents of the stack before and after the instruction is executed (iii) Any modifications, which take place to EIP before and after the instruction is executed Assume that the following values are stored in EBX prior to the instruction executing: 08 04 02 06 (6 marks)
(c) Write an 80x86 procedure, which calculates a minimum value in an array of numbers, which are inputted at the keyboard. The program should store the numbers in an array. Once calculated, the minimum value is displayed to the console window. (9 marks)
[Total: 25 marks]