2016-11-01 4 views
0

Ein gegebener Benchmark besteht aus 35% Lasten, 10% Speichern, 16% Verzweigungen, 27% ganzzahligen ALU Operationen, 8% FP +/-, 3% FP * und 1% FP /. Wir wollen den Benchmark als auf zwei Prozessoren laufen vergleichen. CPI von P1 = 5,05 und CPI von P2 = 3,58.MIPS CPI (Compare Enhancements)

Sie erwägen zwei mögliche Verbesserungen für den Prozessor 1. Eine Erweiterung ist eine bessere Speicherorganisation, die den durchschnittlichen CPI für FP/Anweisungen von 30 auf 2 verbessern würde. Die andere Erweiterung ist eine neue Multiply-and-Add-Anweisung das würde die Anzahl der ALU-Befehle um 20% reduzieren, während der durchschnittliche CPI von 4 für die verbleibenden ALU-Befehle beibehalten würde. Leider gibt es auf dem Prozessorchip nur Platz für eine dieser beiden Erweiterungen, daher müssen Sie die Erweiterung auswählen, die eine bessere Gesamtleistung bietet. Welchen würdest du wählen und warum?

So für diesen Teil CPI (FP /) = 5,05-0,01 (30 - 2) = 4,77

Aber ich bin nicht in der Lage, die neuen CPI für ALU zu finden.

Ist es -> CPI (ALU) = 5,05 - 0,20 (4 - 4) = 5,05? Damit liege ich wahrscheinlich falsch.

Antwort

0

Vorbehalt: Dies kann nur eine unvollständige Antwort sein, weil ich nicht sicher bin, was Sie mit "CPI" meinen. Dies könnte "Kosten pro Anweisung" sein, aber ich vermute, es könnte "Zyklen pro Anweisung" sein. Und wir benötigen möglicherweise mehr Informationen für eine vollständigere/vollständigere Antwort. Die ursprünglichen Kosten für FP/ sind 1% * 30 ->30. Die Erweiterung ist 1% * 2 ->2. So ist die Verbesserung 30 - 2 ->28

Die ursprünglich Kosten für ALU sind 27% * 4 ->108. Bei einer Reduzierung der Anzahl der ausgeführten ALU-Befehle um 20% wird dies 0.8 * 27% * 4 -> . Die Verbesserung ist 108 - 86.4 ->21.6

So [ich denke], dass Ihre grundlegende Frage beantwortet.

Und ich könnte die Verbesserung für FP wählen.


Aber ich würde vorsichtig damit sein. Und das Folgende könnte falsch sein, das Problem zu überdenken, aber ich biete es trotzdem an.

Die FP-Verbesserung beschleunigt nur die Anweisung. Aber die Anzahl der Zyklen für die FP/ ist reduziert und diese Zyklen können für andere Dinge verwendet werden.

Die ALU-Verbesserung gibt einige Zyklen frei, die für andere Dinge verwendet werden können.

In beiden Fällen wissen wir nicht, was die zusätzlichen Anweisungen sein könnten. Das heißt, wir ändern nach der vorgeschlagenen Verbesserung die Prozentsätze von allem. Wir müssen davon ausgehen, dass die neuen "Windfall" -Anweisungen den angegebenen ursprünglichen Prozentsätzen folgen werden. Aber können wir die Post-Verbesserung, angepasst Prozent

berechnen müssen wir könnten die Dinge neu zu berechnen [von Unbekannten für die Lösung] von:

505 == 35*loads + 10*stores + 16*branches + 27*ALU + 8*FPadd + 3*FPmul + 1*FPdiv 

...wenn wir wussten, die CPI für die andere Anweisungen (z. B. die CPI für eine Last, etc.). Aber das sind fehlende Informationen.