A program consists of 100,000 instructions as follows:

Instruction Type Instruction Count Cycles per Instruction
Integer arithmetic 45,000 4
Data transfer 32,000 6
Floating point arithmetic 15,000 10
Control transfer 8,000 3

Determine:

a. the program execution time
b. the effective CPI for the machine
c. MIPS rate for the following processors

Respuesta :

Answer:

Execution time is 13.65ms

CPI is 5.46

MIPS is 73.3\ MIPs

Explanation:

Given:

[tex]s = 40MHz[/tex] --- processor speed [Missing from the question]

[tex]\begin{array}{ccc}{Instruction\ Type} & {Instruction\ Count} & {Cycles\ per\ Instruction} & {Integer\ Arithmetic} & {45000} & {4} \ \\ {Data\ Transfer} & {32000} & {6} & {Floating\ point\ arithmetic} & {15000} & {10} & {Control\ Transfer} &{8000} & {3} \ \end{array}[/tex]

Solving (a): The program execution time

First, we solve for (b)

Solving (b): The effective CPI

This is calculated as:

[tex]CPI = \frac{\sum IC * CI}{\sum IC}[/tex]

Where: IC = Instruction Count and CI = Cycles per Instruction

So, the equation becomes:

[tex]CPI = \frac{45000 *4 + 32000 * 6 + 15000 * 10 + 8000 * 3}{45000+32000+15000+8000}[/tex]

[tex]CPI = \frac{546000}{100000}[/tex]

[tex]CPI = 5.46[/tex]

Solving (c): MIPS

This is calculated as:

[tex]MIPS = Speed * \frac{1}{CPI} * \frac{1}{\sum IC}[/tex]

[tex]MIPS = 40 * \frac{1}{5.46} * \frac{1}{100000}[/tex]

[tex]MIPS = \frac{40 * 1 * 1}{5.46*100000}[/tex]

[tex]MIPS = \frac{40}{546000}[/tex]

[tex]MIPS = 0.00007326007[/tex]

Convert to MIPs

[tex]MIPS = 73.3\ MIPs[/tex]

Solving (a): Execution Time

This is calculated as:

[tex]Time = Instructions * CPI * \frac{1}{Speed}[/tex]

[tex]Time = 100000 * 5.46* \frac{1}{40M}[/tex]

[tex]Time = \frac{546000}{40M}[/tex]

[tex]Time = \frac{546000}{40*1000000}[/tex]

[tex]Time = \frac{546000}{40000000}[/tex]

[tex]Time = 0.01365s[/tex]

[tex]Time = 13.65ms[/tex]

Execution time is 13.65ms