www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Leistungssteigerung CPU's


Autor: chris-330 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr allgemeine Frage => sehr allgemeine Antwort
http://www.google.de/search?hl=de&q=overclocking+t...

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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: chris-330 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: avion23 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: 3355 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das einfachste ist etwas mehr ueberlegen beim Programm erstellen....

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :)

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bernd98 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Chris Auring (chris-330)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jochen Müller (taschenbuch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>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

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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