Weniger Frequenz weniger cycle vs. mehr Frequenz mehr cycles

Gast #2746783
Hi Leute!

Ich hab hier Vorlesungsunterlagen zu µ-Controller. Ich hab hier nun eine 
alte Version eines Controllers und eine neue Version des Controllers.

alte Version:
max. Taktfrequenz: 40MHz mit 2 cycles pro Instruktion
Beispiel einer Division: benötigt 10 cycles


neue Version:
max. Taktfrequenz 100 MHz mit 1 cycle pro Instruktion
Beispiel einer Division: benötigt 21 cycles



Ich verstehe die Logik dahinter nicht so ganz. Warum macht man die 
Taktfrequenz mehr als das doppelte größer um dann bei einer Division 
ebenfalls die cycles um mehr als das doppelte zu erhöhen? Dann is das 
doch ein Nullsummenspiel, oder?

Könnt ihr mir helfen das zu verstehen?
Gast
poiu schrieb:
> Ich verstehe die Logik dahinter nicht so ganz. Warum macht man die
> Taktfrequenz mehr als das doppelte größer um dann bei einer Division
> ebenfalls die cycles um mehr als das doppelte zu erhöhen? Dann is das
> doch ein Nullsummenspiel, oder?

Worum geht es in der Aufgabe? Hat der Prozessor eine Pipeline?
Also:
1. Andere Aktionen (zb. schieben) gehen dann schneller
2. Braucht vlt. weniger Platz auf dem Chip
3. evtl. weniger Stromverbrauch
4. Am Ende doch schneller (40MHz/2cycles = 20MHz / 10cyc/div -> 2 
Meg-Div./Sek; 100MHz/1cycle = 100MHz / 21 cyc/div -> ~4,8 Meg-Div./Sek)
usw...
Gast
Nein, das ist keine Aufgabe, sondern eine gegenüberstellung der alten 
zur neuen Prozessorarchitektur und dabei ist mir eben das aufgefallen, 
dass das irgendwie nicht so viel Sinn macht. Pipelining beherrschen auch 
beide...
Persönliche Seite
poiu schrieb:
> Pipelining beherrschen auch beide...

Dann kann die neue Version mit höherem Takt ihre Recheneinheiten besser 
auslasten als die alte, und wird dadurch schneller. Bei 21 kleineren 
Schritten kann man parallel mehr Schritte anderer Befehle ausführen 
(weil die Schritte weniger Recheneinheiten beanspruchen), als bei 10 
größeren Schritten.

http://de.wikipedia.org/wiki/Pipelining


Gruß
Jonathan
poiu schrieb:

> Ich hab hier Vorlesungsunterlagen zu µ-Controller. Ich hab hier nun eine
> alte Version eines Controllers und eine neue Version des Controllers.
>
> alte Version:
> max. Taktfrequenz: 40MHz mit 2 cycles pro Instruktion
> Beispiel einer Division: benötigt 10 cycles
>
> neue Version:
> max. Taktfrequenz 100 MHz mit 1 cycle pro Instruktion
> Beispiel einer Division: benötigt 21 cycles

Das ist doch schon gleich inkonsistent. Wenn die Division 10 bzw. 21 
Takte braucht, dann stimmt "1/2 cycles pro Instruktion" nicht.

> Ich verstehe die Logik dahinter nicht so ganz. Warum macht man die
> Taktfrequenz mehr als das doppelte größer um dann bei einer Division
> ebenfalls die cycles um mehr als das doppelte zu erhöhen?
> Dann is das doch ein Nullsummenspiel, oder?

Warum machst du die Leistungsfähigkeit eines µC an der 
Ausführungsgeschwindigkeit einer Division fest? Und ist die Division 
überhaupt vergleichbar (Wortbreite, signedness etc)?

Wenn verschiedene Instruktionen unterschiedliche Ausführungszeit 
brauchen, dann kann man nicht mehr einfach nur die Takfrequenzen 
vergleichen (ich dachte, das hätte sich seit dem Intel/AMD Wettrüsten 
rumgesprochen). Statt dessen muß man ein spezifisches Programm oder 
hilfsweise einen "typischen" Mix von Instruktionen betrachten. Ich 
erwarte nicht, die Division da auf einem prominenten Platz zu sehen.


XL
Gast
poiu schrieb:
> Nein, das ist keine Aufgabe, sondern eine gegenüberstellung der alten
> zur neuen Prozessorarchitektur und dabei ist mir eben das aufgefallen,
> dass das irgendwie nicht so viel Sinn macht. Pipelining beherrschen auch
> beide...

Dann können wir hier nicht mehr tun, als Kaffeesatz lesen. Es kann 
tausend Gründe haben, warum die Division einmal 10 und einmal 21 Takte 
benötigt. Man kann nur raten. Wenn du dir Informationen über die 
gemeinten Prozessoren besorgst, so wird es besser.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.