Question: 1A) 8086 CPI and execution time Using the timing data for this processor, compute the CPI for this code. You will need to use the

 1A) 8086 CPI and execution time Using the timing data for 1A) 8086 CPI and execution time

Using the timing data for this processor, compute the CPI for this code. You will need to use the "Effective Address (EA)" timing table as well as the individual instruction tables. In this and later questions, if the instruction gives a range of timings, your answer should also be a range. Given a 10 MHz clock speed and 100 iterations, what is the expected execution time of this code?

1B) 286 Processor

What are the CPI and expected execution time for the 286 processor running at the same clock speed. What is the speedup for this code of the 286 as compared to the 8086?

1C) Amdahl

What percentage of the total execution time is spent in the IMUL instruction? If you could make this instruction 3x faster, how much faster would that make the whole loop? Answer for both the 8086 and 286, using Amdahl's Law to solve it in both cases.

1D) Evaluating Changes

For each processor, what speedup in the IMUL instruction would be worth reducing the clock speed from 10 MHz to 5 MHz for this code.

Consider this code performing a dot product between two 16-bit integer vectors dot } while (-c '= 0); That can be translated into this code for the Intel 8086 (yes the one from 1991), assuming r is in the BX register, c is in the CX register, i is in the SI register, and the result is generated in AX loop : AX, a[S1] AX=a[S1] MOV IMUL b[SI] ADD BX, AX ADD SI, 2 DEC CX JNZ Loop ;assume this is followed by a register/register ALU instruction ; ; SI SI + 2 (for 2-byte data): this is the ++i ; CX = - 1: this is the --c ; this is the while test Consider this code performing a dot product between two 16-bit integer vectors dot } while (-c '= 0); That can be translated into this code for the Intel 8086 (yes the one from 1991), assuming r is in the BX register, c is in the CX register, i is in the SI register, and the result is generated in AX loop : AX, a[S1] AX=a[S1] MOV IMUL b[SI] ADD BX, AX ADD SI, 2 DEC CX JNZ Loop ;assume this is followed by a register/register ALU instruction ; ; SI SI + 2 (for 2-byte data): this is the ++i ; CX = - 1: this is the --c ; this is the while test

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!