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 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 testStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started