Mein Problem ist folgendes: Wisst ihr bezüglich Methoden zur Leistungssteigerung von Prozessoren ein paar Links? Oder hättet ihr da eventuell ein paar Links wo ich solche Methoden nachschlagen kann oder habt ihr selber Erfahrungen damit gemacht? Danke im voraus! Liebe Grüße Chris
Willst du jetzt wissen, wie du einen bestehenden (PC?) Prozessor übertaktest, oder wie du deinen selbst entwickelten Prozessor beschleunigst (Pipelining etc)? Wenn ja, ist vermutlich das FPGA-Forum der bessere Platz, ansonsten das PC-Hardware Forum?
Sehr allgemeine Frage => sehr allgemeine Antwort http://www.google.de/search?hl=de&q=overclocking+tutorial Erfahrung hab ich auch, bis jetzt hatte ich in meinem Rechner noch keine CPU auf Originaltakt laufen Oder meinst du mit Leistungssteigerung, einfach nur die Steigerung der Verlustleistung? Dann musst du einfach nur die Spannung anheben. Die Leistungsaufnahme steigt nähmlich quadratisch mit U
Was eine CPU zu leisten vermag ist vom Hersteller vorgegeben. Eine Leistungssteigerung gibt es da nicht. Man kann durch geschickte Programmierung nur versuchen so weit wie möglich ans Limit zu gehen.
ja genau, das beschleunigen von selbst entwickelten prozessoren. pipelining ist nämlich die einzige methode die mir einfällt. und da wär ich natürlich sehr dankbar, hier weitere methoden zu erfahren wie ich die dinger schneller mache
Dafür solltest du dir vielleicht die technische Informatik anhören. Spontan fallen mir die brute-force Sachen ein: - mehr kerne - höhere Taktfrequenz - mehr Cache, höherer FSB - kleinere Strukturen Faktor 10 in der Geschwindigkeit wäre drin, wenn man die ganzen alten Zöpfe abschneidet und einen schönen Befehlssatz entwickelt. Du kannst dir mal die Cell-Prozessoren anschauen, das ist vernünftig. Falls du dich ernsthaft interessierst kannst du dir einen FPGA kaufen und dann mit VHDL experimentieren. Dabei dürftest du auf ein paar Probleme stoßen.
Wenn man nicht weis wie deine CPU aussieht, kann man dazu auch nix genaues sagen. RISC, CISC, grobes Design? Wenn du nicht mit Superskalarität anfangen willst (und wenn du so fragst willst du das sicherlich nicht) bleiben halt die üblichen Sachen - Abläufe optimieren, Zwischenspeicher, mehr Register, etc. pp.
I_ H. wrote: > bleiben halt die üblichen Sachen - > [..] mehr Register, etc. pp. Machen mehr register ne CPU echt schneller? Ich seh da grad nicht deeen großen zusammenhang, außer vieleicht für hochsprachen, aber wenn einfach gilt Mehr regsiter = schneller, warum dann nicht z.B. 256 register (okay der opcode wird dadurch länger aber was solls) dafür hat man auf einfache weise ne schnelle CPU :)
Läubi Mail@laeubi.de wrote:
> Machen mehr register ne CPU echt schneller?
Integer/Adressregister: Von 8 auf 16 viel, von 16 auf 32 weniger, über
32 lohnt kaum noch. Das jedenfalls hat sich im Laufe der letzten 20
Jahre so rauskristallisiert.
Bei Fliesskommacode sieht das anders aus, stark abhängig von
Out-Of-Order / Renaming. Wenn das ganze Pipelining mangels Automatik für
den Programmierer sichtbar wird, kann man dabei mühelos auch 128
Register verbraten (z.B. IA64). CPUs mit OOO/Renaming haben dabei nur
sichtbar weniger Register, intern liegt man dann wieder ähnlich.
Moin, wenn du viele Register wirst du seltener gewzungen sein Zwischenerte in den Speicher abzulegen. Oder du kannst Funktionsparameter direkt an die Funktion übergeben ohne den Stack verwenden zu müssen. Der Nachteil ist das du bei Kontextwechseln proportional zur Anzahl der Register mehr Zeit zum Speichern bzw. Laden der Register brauchst. Gruss, Bernd
Superskalarität ist doch schlussendlich genauso wie Pipelinig in erweiterter Form eine Möglichkeit den Prozessor leistungsfähiger zu machen, oder? Mir geht es darum mich um die verschiedenen Methoden zu informieren
Ja natürlich, aber Superskalarität ist nicht mal eben implementiert. Vor allem nicht so, dass es wirklich was bringt. Frag dich mal, wieso die allermeisten (alle?) 8-Bit Mikrocontroller eben nicht superskalar sind. Trifft auf 16-Bitter genauso zu. Eine schöne Übersicht vor allem auch mit dem technischen Aufwand dahinter bekommst du, wenn du dir mal die Entwicklung vom 8086 zum 486 anguckst, und dann noch den Pentium1 und Cyrix M2 (6x86MX) - wenn dich das Thema interessiert. Die späteren x86er (außer Randerscheinungen wie IDT und Rise) codieren alle intern in RISC um. Wenn du nur wissen willst wie du aus deinem Design mehr rausholst - ohne nähere Infos kann dir hier sicher keiner was zu sagen.
>>wenn du viele Register wirst du seltener gewzungen sein Zwischenerte in >>den Speicher abzulegen. Oder du kannst Funktionsparameter direkt an die Hier muss man sehr behutsam differenzieren. Durch die o.g.Ansätze wird aber der Prozessor nicht schneller, sondern es wird nur die Möglichkeit eröffnet optimalere Software zu implementieren. Das sind ganz verschiedene Dinge. Ansätze sind ja schon genannt worden, ich füge noch hinzu: -möglichst viel Arithmetik in hardware (multiplier, divider, barrel-shifter) -optimierte Hardware zum Stackhandling, möglichst wenig Zyklen. Das ist für spätere Hochsprachen enorm wichtig. Am meisten Infos wirst Du wirklich bei dem CPLD/FGPA Leuten finden, die basteln sich nämlich die geilsten Architekturen zusammen. Jochen Müller
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.