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?
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...
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...
Um welchen µC handelt es sich denn konkret?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.