Forum: Mikrocontroller und Digitale Elektronik Weniger Frequenz weniger cycle vs. mehr Frequenz mehr cycles


von poiu (Gast)


Lesenswert?

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?

von J. K. (rooot)


Lesenswert?


von .... (Gast)


Lesenswert?

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?

von Max D. (max_d)


Lesenswert?

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...

von poiu (Gast)


Lesenswert?

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...

von Alexander F. (alexf91)


Lesenswert?

Um welchen µC handelt es sich denn konkret?

von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

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

von Axel S. (a-za-z0-9)


Lesenswert?

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

von .... (Gast)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.