mikrocontroller.net

Forum: PC Hard- und Software Wie führe ich einen Geschwindigkeitsvergleich durch?


Autor: Hannes15 (Gast)
Datum:
Angehängte Dateien:
  • preview image for 1.jpg
    1.jpg
    90,9 KB, 332 Downloads

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend, ich habe de folgende Aufgabe und komme damit einfach nicht 
weiter.

Meine Idee wäre es die Leistung beider Implementierungen zu bestimmen 
(siehe unter dem Bild) und diese dann miteinander zu vergleichen.
Also C2/C1 = 6/5, damit hätte ich den Wert wie viel schneller C2 als C1 
ist.
Nun würde ich den gesuchten Takt (x) bestimmen indem ich folgende 
Gleichung aufstelle:
xGHZ/2.4 = 2 <=> x = 4,8 GHZ.

Könnte dies so passen?

Autor: Gustav (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Die Dimension stimmt nicht! Versuch es erneut, dass ist Schwachsinn

Autor: Rechendienst, Nachtschicht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich komme zum selben Ergebnis.

Ein durchschnittlicher C1 Befehl braucht 2,4 Takte.
(1*0,3+2*0,2+3*0,1+4*0,2+3*0,2)
Ein durchschnittlicher C2 Befehl braucht 3 Takte.
(3*0,3+2*0,2+3*0,1+3*0,2+4*0,2)

Damit C1 die selbe Anzahl an Befehlen abarbeitet braucht er:
6 Ghz * 2,4 / 3 = 4,8 Ghz

Autor: Rolf M. (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gustav schrieb:
> Die Dimension stimmt nicht!

Wo? Taktzyklen/Sekunde durch Taktzyklen/Instruktion ergibt 
Instruktionen/Sekunde. Sieht für mich passend aus.

Autor: Marten Morten (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Rolf M. schrieb:
> Gustav schrieb:
>> Die Dimension stimmt nicht!
>
> Wo? Taktzyklen/Sekunde durch Taktzyklen/Instruktion ergibt
> Instruktionen/Sekunde. Sieht für mich passend aus.

Das passt. Allerdings, wenn es sich um eine akademische Aufgabe handelt, 
kann man bemängeln das alles etwas schlampig ist. AnzahlderBefehle 
stimmt nicht, da gehört eine Summe aus den entsprechend gewichteten 
Anzahlen hin, so wie es eine Zeile später gerechnet wurde.
Also mehr in der Art:
Sieht direkt viel bedeutender aus ;)

Autor: Nopel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marten Morten schrieb:
> AnzahlderBefehle
> stimmt nicht, da gehört eine Summe aus den entsprechend gewichteten
> Anzahlen hin, so wie es eine Zeile später gerechnet wurde.
> Also mehr in der Art:LCν=fclk∑Eμ=ARμCνμ
> L_{C_\nu} = \frac{f_{clk} } {\sum_{\mu = \mathrm{A}}^{\mathrm{E}} {
> R_{\mu} C_{\nu_\mu} }}
> Sieht direkt viel bedeutender aus ;)

Gibt es so eine Art Formelsammlung davon?
Sitze gerade an ähnlichen Problemen und weiß nie was zum Schluss für 
Einheiten rauskommen sollen. Wir haben es auch mit der Anzahl der 
Befehle gelernt, nur was hat den dann die Leistung für eine Einheit?

Autor: Rechendienst, Nachtschicht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Formelsammlung?

Die Caches und Pipelines der modernen Prozessoren sind so komplex 
geworden - da kann man eh nichts mehr berechnen. Und die Geschwindigkeit 
eines 8Bit Mikrocontroller interessiert nur mehr in der Demoscene.

Ist halt eine akademische Übungsaufgabe. Kommt darauf an, dass du deinen 
Lösungsweg sauber begründest. So übersichtlich formulierst, dass die 
Einheiten nicht durcheinander kommen.

Autor: Nopel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rechendienst, Nachtschicht schrieb:
> Formelsammlung?
>
> Die Caches und Pipelines der modernen Prozessoren sind so komplex
> geworden - da kann man eh nichts mehr berechnen. Und die Geschwindigkeit
> eines 8Bit Mikrocontroller interessiert nur mehr in der Demoscene.
>
> Ist halt eine akademische Übungsaufgabe. Kommt darauf an, dass du deinen
> Lösungsweg sauber begründest. So übersichtlich formulierst, dass die
> Einheiten nicht durcheinander kommen.

Naja es geht hier ja nicht um Quantencomputer:) Sondern um Steinalte 
Hartware.
Ich weiß  ja, dass die meisten hier nicht mhr in der Uni und erst recht 
nicht im ersten Semester sind, aber man ernt hier nun mal die Grundlagen 
und dazu gehört anscheinend die Rechenleistung. Wir haben im Tutorium 
Formeln bekommen, und berechnen es wie der TE dort open. Leider bietet 
das KIT hier diesmal keine gute Veranstaltung, denn die Formeln scheinen 
ja falsch zu sein.

Autor: Nopel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal ein trauriges Beispiel:
Die Ausführungszeit setzt sich zusammen aus:
Ausführungszeit = #Befehle (Anzahl der Befehle) * CPI*t_cycle

Nun wissen wir, dass die Ausführungszeit, sowie CPI und t_cycle die 
Einheit s hat, aber s*s macht s^2 != s

Autor: Arno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hätte jetzt ohne weitere Information nur aus dem gegebenen Kontext 
geraten, dass CPI für cycles per instruction steht. Hat also keinesfalls 
die Einheit s.

Aber wenn ihr es besser wisst, woher?

MfG, Arno

Autor: Rechendienst, Nachtschicht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>aber man lernt hier nun mal die Grundlagen

>die Einheit s hat, aber s*s macht s^2 != s

Ja, die Grundlage überhaupt: Den eigenen Verstand benutzen! Nicht 
einfach irgendeine prähistorische Formelsammlung auswendig lernen. 
Stattdessen lernen, wie du selbst herausfinden kannst, ob die Formeln 
sinnvoll sind.

Autor: Helmut S. (helmuts)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CPI ist doch AnzahlZyklen/AnzahlInstruktionenjeBefehl

Da ist nirgends die Einheit s drin.
CPI hat im Prinzip gar keine Einheit, also z. B. CPI=2,5.

Autor: Lorenz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Helmut S. schrieb:
> CPI ist doch AnzahlZyklen/AnzahlInstruktionenjeBefehl
>
> Da ist nirgends die Einheit s drin.
> CPI hat im Prinzip gar keine Einheit, also z. B. CPI=2,5.

Falsch.
CPI = (SUM (Instruktion_i*Zyklus_i))/ Anzahl aller Instruktionen

Autor: Samson (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marten Morten schrieb:
> Rolf M. schrieb:
>> Gustav schrieb:
>>> Die Dimension stimmt nicht!
>>
>> Wo? Taktzyklen/Sekunde durch Taktzyklen/Instruktion ergibt
>> Instruktionen/Sekunde. Sieht für mich passend aus.
>
> Das passt. Allerdings, wenn es sich um eine akademische Aufgabe handelt,
> kann man bemängeln das alles etwas schlampig ist. AnzahlderBefehle
> stimmt nicht, da gehört eine Summe aus den entsprechend gewichteten
> Anzahlen hin, so wie es eine Zeile später gerechnet wurde.
> Also mehr in der Art:LCν=fclk∑Eμ=ARμCνμ
> L_{C_\nu} = \frac{f_{clk} } {\sum_{\mu = \mathrm{A}}^{\mathrm{E}} {
> R_{\mu} C_{\nu_\mu} }}
> Sieht direkt viel bedeutender aus ;)

Und wie lautet die Einheit?

Hz?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.