MSc EXAMINATION
Department of Computer Science and Information Systems
Computer Systems (COIY060H7)
CREDIT VALUE: 15 credits
Date of examination: 24 April, 2023
Duration of paper: 10:00—12:00
Question 1 (6 marks)
List 6 important registers in a generic CPU and briefly explain their functions.
Marking scheme: 1 mark for each important register you correctly define. Any named CPU registers discussed in lectures will be accepted.
Question 2 (6 marks)
Briefly explain the differences between RISC and CISC instruction set architectures.
Marking scheme: 3 marks for correctly defining RISC, 3 marks for correctly defining CISC. 1 mark will be deducted for each minor error.
Question 3 (8 marks)
Explain what register windows are and how they are used to improve performance in RISC machines.
Marking scheme: 8 marks for correct definition. If partially correct -2 mark deducted for each minor error. Total of 0 marks if any major errors.
Question 4 (14 marks)
This question is about deadlock. A system has four processes p1 , p2 , p3 , p4 and four types of dedicated resources R1 , R2 , R3 , R4 . The existence vector is E = (5, 5, 5, 5).
• Process p1 holds one unit of R1 , one unit of R4 , and requests two units of R1 and three units of R4 ;
• Process p2 holds one unit of R1 , one unit of R2 , two units of R3 , and requests two units of R1 , three units of R2 , three units of R3 , and two units of R4 ;
• Process p3 holds one unit of R3 , one unit of R4 , and requests four units of R1 , two units of R2 , two units of R3 and two units of R4 ;
• Process p4 holds one unit of R1 , two units of R2 , one unit of R4 , and requests two units of R2 and two units of R4 .
Answer the following:
(a) Compute the availability vector.
(b) Find a sequence of execution leading to successful completion of all processes. Explain your answer.
(c) What about other sequences of execution? Will they lead to the deadlock? Explain your answer.
Marking scheme: The marking of the subquestions is as follows:
(a) 4 marks. Full marks for the correct result. If the computation reflects a correct understanding of the process but contains minor arithmetic errors, at most 2 marks are given.
(b) 6 marks. Full marks for correctly identifying a successful sequence of execution. 1 mark will be deducted for each minor error in your computation/explanation.
(c) 4 marks. Full marks for correctly identifying if deadlock can occur. 1 mark will be deducted for each minor error in your computation/explanation.
Question 5 (6 marks)
Explain the meaning of race condition, critical section and mutual exclusion.
Marking scheme: 2 marks for each correct definition
Question 6 (8 marks)
Identify the various addressing modes in the assembly code below and explain, with the use of a mathematical formula, what the program computes.
I1: LOAD r2, M1
I2: DIV r1, r2
I3: LOAD r2, M2
I4: LOAD r3, [r3]
I5: MUL r2, r3
I6: ADD r1, r2
I7: LOAD r2, M3
I8: LOAD r3, M4
I9: ADD r2, r3
I10: MUL r1, r2
Marking scheme: +1 mark for each correct identification of addressing modes and -1 mark for each incorrect identification, and +5 marks for the mathematical formula, with the adjustment that the overall mark is at least 0.
Find appropriate words/expressions to replace the numbers [n] from the list so that the text below describes what happens during the indirect cycle. For instance, the first re- placement should be [1]=MAR. Note that different numbers may correspond to the same word/expression.
• MBR
• CPU
• MBR • MM
• address
• control
• data
The following text describes the indirect cycle: When indirect (memory) ad- dressing is used in an instruction, the memory reference is put into the MAR so that it can be sent to the [1] via the [2] lines of the bus. At the same time the [3] sends a read signal to the [4] via the [5] lines of the bus. Then the [6] sends the effective [7] to the [8] of the [9] via the [10] lines of the bus. If the effective [11] is in the [12], then another cycle is needed to load the operand.
Marking scheme: +1 mark for each correct replacement and -1 mark for each incorrect replacement (0 mark for no replacement), with the adjustment that the overall mark is at least 0.
Question 8 (20 marks)
Consider the following scenario. There are five processes A, B, C, D and E with the following arrival times (in seconds), priorities (the higher the priority, the sooner the process is scheduled) and run times (in seconds).
arrival time
|
0
|
1
|
3
|
4
|
10
|
priority
|
1
|
0
|
1
|
1
|
0
|
run time
|
4
|
2
|
3
|
2
|
2
|
Answer the following questions:
(a) Draw the process scheduling chart for those five processes A to E when using the first-come-first-served short-term scheduling algorithms.
(b) Compute the average turnaround time for those five processes A to E using the first-come-first-served short-term scheduling algorithms.
(c) Draw the process scheduling chart for those five processes A to E when using multiple queues (priority queueing) with round-robin on each priority level with quantum being equal to 1 (i.e. q=1).
(d) Compute the average turnaround time for those five processes A to E when using mul- tiple queues (priority queueing) with round-robin on each priority level with quantum being equal to 1 (i.e. q=1).
Marking scheme: The subquestions are marked as follows:
(a) 5 marks in total. Full marks for correctly drawing the chart. 1 mark will be deducted for each minor error.
(b) 2 marks in total. Full marks for correctly computing the turnaround time. 1 mark will be deducted for each minor error.
(c) 10 marks in total. Full marks for correctly drawing the chart. 1 mark will be deducted for each minor error.
(d) 3 marks in total. Full marks for correctly computing the turnaround time. 1 mark will be deducted for each minor error.
Question 9 (14 marks)
For the following sequence of page references 6, 14, 12, 1, 5, 15, 5, 2, 11, 13, 7, 8, 1, complete a table showing the frame allocation assuming 4 page frames and calculate the hit rate for the following scheduling algorithms:
(a) Optimal
(b) Least Recently Used
(c) FIFO
Marking scheme: The subquestions are marked as follows:
(a) 5 marks in total
(b) 5 marks in total
(c) 4 marks in total
Full marks for the correct result with the correct computation. If the computation reflects a correct understanding of the process but contains minor arithmetic errors, at most 3 marks are given for each computation.
Explain what fixed allocation and variable allocation are with respect to the resident set size of a paging system.
Marking scheme: 3 marks for correctly defining fixed allocation, 3 marks for correctly defining variable allocation. 1 mark will be deducted for each minor error.