Im Folgenden soll ein Speicherzugriff auf der Maschine M1 nun 10 ns benötigen, auf System M2 nur 7 ns. Die Maschine M1 werde mit einem Takt von 2 GHz betrieben. Wie hoch muss die Taktfrequenz der Maschine M2 sein, damit beide Systeme gleich schnell laufen?
Gegeben sind 2 Programme P1 und P2 in Maschinensprache. P1 ist auf einer Maschine M1 lauffähig und P2 auf Maschine M2. P1 und P2 enthalten Befehle, die sich bezüglich ihrer Ausführungszeit in vier verschiedene Klassen einteilen lassen (siehe nachfolgende Tabelle). Außerdem führt P1 500 Zugriffe auf den Hauptspeicher aus, P2 aber 800.
Anzahl P1 | Anzahl P2 | |
Befehle mit CPI=2 | 20000 | 10000 |
Befehle mit CPI=4 | 5000 | 2000 |
Befehle mit CPI=10 | 2000 | 5000 |
Befehle mit CPI=50 | 30 | 300 |
Speicherzugriffe | 500 | 800 |
**M2 wird mit einem Takt von 1GHz betrieben.
20000 x 2 + 5000 x 4 + 2000 x 10 + 30 x 50 = 81500
81500 / 10 x 2 x 109 = 0,000004075
10000 x 2 + 2000 x 4 + 5000 x 10 + 300 x 50 + = 93000
93000 / 7 x 109 = 0,000013285
0,000013285 / 0,000004075 = 3.26
Antwort M2 muss mit einer Taktfrequenz von 3,26 GHz betrieben werden damit M1 und M2 gleich schnell sind!
Ich bin mir da jetzt recht unsicher inwiefern die Speicherzugriffe wichtig sind? Muss ich die vllt doch mal der Speicherzugriffszeit nehmen also bei der M1 10 x 500 und bei der M2 7 x 800 und die dann zu P1 und P2 dazurechnen also 81500 + 10 x 500 und 93000 + 7 x 800 und die dann durch die jeweiligen GHz teilen ? Würde mich über drüber freuen wenn man mir das erklären könnte.