Determining Instruction Cycle Length and Interrupt Acknowledgement Delay

Microprocessor Instruction Cycle and Interrupt Handling

A microprocessor provides an instruction capable of moving a string of bytes from one area of memory to another. The fetching and initial decoding of the instruction takes 10 clock cycles. Thereafter, it takes 15 clock cycles to transfer each byte. The microprocessor is clocked at a rate of 15 GHz.

Questions:

a. Determine the length of the instruction cycle for the case of a string of 64 bytes. b. What is the worst-case delay for acknowledging an interrupt if the instruction is non-interruptible? c. Repeat part (b) assuming the instruction can be interrupted at the beginning of each byte transfer.

Answers:

a. The length of the instruction cycle for a string of 64 bytes is 970 clock cycles. b. The worst-case delay for acknowledging an interrupt is 0.06467 microseconds if the instruction is non-interruptible. c. If the instruction can be interrupted at the beginning of each byte transfer, the worst-case delay for acknowledging an interrupt is 970 clock cycles. Explanation:

a. The length of the instruction cycle can be calculated by adding the clock cycles for fetching and initial decoding, and the clock cycles for transferring each byte. For a string of 64 bytes, the instruction cycle would be 10 + (64 * 15) = 970 clock cycles.
b. The worst-case delay for acknowledging an interrupt if the instruction is non-interruptible would be the length of the instruction cycle divided by the clock rate. In this case, it would be 970 / 15 GHz = 0.06467 microseconds.
c. If the instruction can be interrupted at the beginning of each byte transfer, the worst-case delay for acknowledging an interrupt would be the same as part (a), which is 970 clock cycles, since the interrupt can occur after each byte transfer begins.

← Calculating budgets with software Which of the following is most likely the first step in a structured troubleshooting methodology →