Problem 1: Given a RAID 3 (bit-interleaved parity) with k disks, how well will large block transfers work? How well will it handle a high I/O request rate? Compare the performance to a single disk. Give the formula in terms of k. If the read performance is dierent from prepare then provide separate formulas. What is its capacity (compared to a single disk)?
Problem 2: Given a RAID 5 (block-level distributed parity) with k disks, how well will large block transfers work? How well will it handle a high I/O request rate? Compare the performance to a single disk. Give the formula in terms of k. If the read performance is dierent from prepare, then provide separate formulas. What is its capacity (compared to a single disk)?
Problem 3: Consider a processor with a 4-stage pipeline. Every time a conditional branch is encountered, the pipeline must be ushed (3 partially completed instructions are lost). find out the number of instructions that can be completed in 1,000 cycles (assuming each stage takes one cycle) for the following scenarios:
- average number of instructions between branches is 10;
- average number of instructions between branches is 20;
- average number of instructions between branches is 50.
Show the general formula when the average number of instructions between branches is m.
Problem 4: Why is the assumption (in the previous problem) of one cycle per pipeline stage unrealistic?
Problem 5: The following branch prediction algorithms are suggested:
- Predict that the branch will be taken if the last one was taken; predict not taken otherwise.
- Predict that the branch will be taken if the previous two branches where taken; predict not taken otherwise.
(a) Draw a branch prediction state diagram for each (as shown in class.)
(b) Show a sequence of instruction where the rst method is better.
(c) Show a sequence of instruction where the second method is better.