Forum: PC Hard- und Software Frage zu Sprungvorhersagen bei modernen CPUs


von Christian (Gast)


Lesenswert?

Hallo,

mal eine spezifische Frage, kann mir jemand Links zu "Branch 
Prediction(Sprungvorhersagen) und spekulativer Befehlsausführung bei 
modernen Prosessoren" geben. Die Infos sollten möglichst aktuell und in 
deutsche Sprache verfügbar sein. Der Prof. hat den Tipp gegeben, dass 
ich bei Heise.de nachschauen sollte. Aber da finde ich gar nichts, vor 
allem aktuelleres. Eventuell kennt jemand irgendwelche ähnlich Seiten 
wie Heise.de, wo man es finden könnte.

Es sollte so ähnlich sein wie das hier: 
http://www.heise.de/ct/meldung/Hot-Chips-Effizienz-statt-Taktfrequenz-bei-AMD-1677747.html
Nur halt bisschen allgemeiner und etwas mehr Text.

PS: Ich hoffe, dass ich in den richtigen Thread gepostet habe.

Danke

: Verschoben durch User
von at nur für Fotos und Scans ver (Gast)


Lesenswert?

> kann mir jemand Links

jemand == Suchmaschine?

von (prx) A. K. (prx)


Lesenswert?

Christian schrieb:
> PS: Ich hoffe, dass ich in den richtigen Thread gepostet habe.

Der Thread mag richtig sein, aber das Forum falsch. Die im Forum 
relevanten Mikrocontroller haben nichts, was man ernsthaft als 
Sprungzielvorhersage bezeichnen könnte.

> möglichst aktuell und in deutsche Sprache

Das wird hart. Ich fürchte, dass detallierte und aktuelle Information 
dazu oberhalb von Studienarbeiten weitestgehend in Englisch verfasst 
ist.

Für Heise ist das zu speziell. Zu wenig Interessierte.

: Bearbeitet durch User
von kopfkratzer (Gast)


Lesenswert?

ROFL
Der ist gut :-P
Kannst auch gleich mal nach TLBs suchen und AssoCaching oder so :-P

von Arc N. (arc)


Lesenswert?

Christian schrieb:
> Hallo,
>
> mal eine spezifische Frage, kann mir jemand Links zu "Branch
> Prediction(Sprungvorhersagen) und spekulativer Befehlsausführung bei
> modernen Prosessoren" geben. Die Infos sollten möglichst aktuell und in
> deutsche Sprache verfügbar sein.

In deutscher Übersetzung, vereinfacht vielleicht, ja, ansonsten eher 
nicht.

Übersicht zur Programmoptimierung
http://www.agner.org/optimize/microarchitecture.pdf
Von AMD gibt es z.B. so etwas
http://support.amd.com/TechDocs/47414_15h_sw_opt_guide.pdf

Oder über Google Scholar entsprechende Paper durchforsten z.B. zur 
Sprungvorhersage
http://scholar.google.de/scholar?as_ylo=2010&q=branch+prediction&hl=de&as_sdt=0,5&as_vis=1

Oder nach Informatikvorlesungen suchen

von (prx) A. K. (prx)


Lesenswert?

kopfkratzer schrieb:
> Kannst auch gleich mal nach TLBs suchen und AssoCaching oder so :-P

Dazu müsste man erst einmal wissen, wie TLB und AssoCaching auf Deutsch 
heisst. ;-)

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Apropos Deutsch: Das klingt ja doch etwas nach Informatik oder 
Nachbarbereiche. Und da fährt man ohne Englisch ungefähr so weit wie mit 
einem Auto ohne Räder.

Wenns dann doch Englisch sein darf: Der bereits genannte Link auf Agner 
Fog ist zu empfehlen. "Brandaktuell" wird aber trotzdem schwierig, weil 
die Hersteller bei Details dazu recht wenig redselig sind.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Ach ja - nicht ganz neu und auch nicht in Deutsch, aber en detail:
http://www.agner.org/optimize/AndreasKaiserK7BranchPrediction.pdf

von Fpgakuechle K. (Gast)


Lesenswert?

Christian schrieb:
> Hallo,
>
> mal eine spezifische Frage, kann mir jemand Links zu "Branch
> Prediction(Sprungvorhersagen) und spekulativer Befehlsausführung bei
> modernen Prosessoren" geben. Die Infos sollten möglichst aktuell und in
> deutsche Sprache verfügbar sein. Der Prof. hat den Tipp gegeben, dass
> ich bei Heise.de nachschauen sollte. Aber da finde ich gar nichts, vor
> allem aktuelleres. Eventuell kennt jemand irgendwelche ähnlich Seiten
> wie Heise.de, wo man es finden könnte.
>
> Es sollte so ähnlich sein wie das hier:
> 
http://www.heise.de/ct/meldung/Hot-Chips-Effizienz-statt-Taktfrequenz-bei-AMD-1677747.html
> Nur halt bisschen allgemeiner und etwas mehr Text.
>
> PS: Ich hoffe, dass ich in den richtigen Thread gepostet habe.
>
> Danke

Also ich hab in google eingetragen:

Branch Prediction(Sprungvorhersagen) und spekulativer Befehlsausführung 
bei
modernen Prosessoren


Erster Treffer ist dieser thread, brauchbar scheint Treffer Nr. drei zu 
sein:
http://www.ra.informatik.tu-darmstadt.de/fileadmin/user_upload/Group_RA/rmp/Dynamic_Scheduling.pdf

MfG,

von (prx) A. K. (prx)


Lesenswert?


: Bearbeitet durch User
von Fpgakuechle K. (Gast)


Lesenswert?

Christian schrieb:

> Der Prof. hat den Tipp gegeben, dass
> ich bei Heise.de nachschauen sollte. Aber da finde ich gar nichts, vor
> allem aktuelleres. Eventuell kennt jemand irgendwelche ähnlich Seiten
> wie Heise.de, wo man es finden könnte.

Also, das funktioniert bei heise so:
 Du durchforstet die Artikelsuche nach Stichworten oder du schaust die 
Inhaltsverzeichnisse der einzelnen Hefte nach interessanten Artikel 
durch.
Dann gehst du in die Unibibliothek und holst die interessanten Hefte aus 
dem Regal und überfliegst die vorgewählten Artikel. Unter der Rubrik 
"Prozessorgeflüster" sollte einiges zu finden sein.

Wenn Du schon mal in der Bibliothek bist, hol dir Patterson, Hennessy 
"Rechnerorganisation und Rechnerentwurf". Die handeln Befehlspipeline 
und Probleme damit an modernen Prozessoren recht ausführlich ab.

MfG,

von Christian (Gast)


Lesenswert?

Ja. Ich bin Informatik Student. Bezüglich Englisch ist schon klar. d.h. 
nicht das ich es überhaupt nicht kann, nur halt bei solchen Sachen 
bevorzuge ich Sprachen, die ich deutlich besser verstehen kann. Aktuell 
sind das leider nur Deutsch und Russisch. An Englisch arbeite ich 
gerade.

Bei Google habe ich schon mehrmals versucht, etwas passendes zu finden. 
Aber es kommt ziemlich oft die veraltete Infos, die man eher in den 
Bücher für die Rechnerarchitektur finden könnte.

Allg. zum Thema: Die Info soll nicht auf dem Niveau von Bachelorarbeit 
sein. Es handelt es sich eher um die Prüfung im Nebenfach. Aber das 
heißt nicht, dass es auf dem untersten Niveau sein sollte. Es wird 
eigentlich nur ein Zuhörer sein und zwar der Prof selber. Aber ich 
möchte möglichst besser bei dem Fach abschneiden.

Deswegen dachte ich mir, dass ich eine Power Point Präsentation machen 
würde und Intel vs. AMD vergleiche. (Wie sie jeweils das Ganze auf ihren 
aktuellen CPUs gelöst hatten). Aber es sieht nicht danach aus, dass es 
so leicht wäre. Da es öfters nur steht, "ja wir haben einige Sachen bei 
unseren Prozessoren verbessert. Jetzt könnten sie effizienter arbeiten 
usw..." Aber wie es erreicht wurde, steht da gar nichts.

Deswegen hatte ich mich an Forum gewendet. Eventuell gibt es Leute, die 
die Seiten kennen, wo es eventuell etwas ausführlicher stehen könnte. Es 
ist nicht so, dass sie alles für mich finden sollten. Ich wollte halt 
nur paar Tipps holen, wo ich am besten suchen sollte.

Danke

von kopfkratzer (Gast)


Lesenswert?

Christian schrieb:
> Deswegen hatte ich mich an Forum gewendet. Eventuell gibt es Leute, die
> die Seiten kennen, wo es eventuell etwas ausführlicher stehen könnte. Es
> ist nicht so, dass sie alles für mich finden sollten. Ich wollte halt
> nur paar Tipps holen, wo ich am besten suchen sollte.

Wenn Du Intel mit AMD vergleichen willst, dann suche nach den aktuellen 
Cores Haswell und A10.
Da finden sich mehr als genügend Testberichte und PDFs mit 
Blockschaltbild und Erklärungen.
Das Prinzip hat sich allerdings nicht geändert ...

von Christian (Gast)


Lesenswert?

Ich will sie nur an dieser Stelle vergleichen: "Branch 
Prediction(Sprungvorhersagen) und spekulativer Befehlsausführung bei 
modernen Prosessoren"

..,dass das Prinzip sich im Großen und Ganzen nicht verändert hat, ist 
schon klar. Mich interessiert halt diese Verfeinerung bei der 
Befehlsausführung und Sprungvorhersagen, die Intel oder auch AMD gemacht 
hatten, um ihre CPUs zu verbessern.

Ich würde unter Umständen auch etwas runter gehen und z.ß. Intel (Sandy 
Bridge) mit AMD (Bulldozer) vergleichen.

PS: Unter Sandy Bridge wollte ich eigentlich nicht gehen.

von (prx) A. K. (prx)


Lesenswert?

Christian schrieb:
> PS: Unter Sandy Bridge wollte ich eigentlich nicht gehen.

Dummerweise gibts dazu m.W. keine belastbaren Details, zumindest nicht 
vom Hersteller. Coca Cola verrät ja auch nicht deren Rezept.

Ich fürchte viel genauer als hier wirds nicht:
http://www.agner.org/optimize/microarchitecture.pdf

: Bearbeitet durch User
von Christian (Gast)


Lesenswert?

Ja. Leider. Aber etwas genauer hätten sie(AMD & Intel) auch erläutern 
könnten.

von (prx) A. K. (prx)


Lesenswert?

Warum? Weils weltweit eine Handvoll Neugierige gibt? Solches Tuning ist 
Betriebsgeheimnis.

Ich hatte das vom K7 auch nicht aus AMD Dokumenten. Der MPR hatte dazu 
Unfug veröffentlicht, wo auch immer er den her hatte. Ich hatte in AMDs 
offiziellem Performance-Analyzer den in der Entwicklungsphase 
verwendeten recht geschwätzigen Simulator entdeckt, in dem Code aus 
allerlei Versuchen steckte. Das half.

Agner versucht es offenbar rein aus dem Verhalten abzuleiten. Was bei 
Prediktoren mit globalem Anteil ein ziemlich anspruchsvoller Ansatz ist. 
Erst recht, wenn der, wie heute häufig, hybrid arbeitet. Deshalb sind 
frühe CPUs dort deutlich detaillierter aufgeführt als späte. Das Zeug 
ist mittlerweile zu komplex dazu.

Manchmal geben auch Patente konkrete Information. Allerdings ist es da 
nicht leicht, die Spreu vom Weizen zu trennen. Manche enthalten recht 
konkretes Material, andere irgendwelche eingestampften Ideen. In manchen 
älteren AMD Patenten findet sich ein in epischer Breite beschriebener 
Core, der genau zwischen K5 und K7 liegt und nie realisiert wurde.

: Bearbeitet durch User
von Christian (Gast)


Lesenswert?

Ok. Dann muss ich mir was einfallen lassen. Eventuell allgemeineren 
Sachen aus den älteren Architekturen nehmen (sozusagen als 
Grundbaustein)und dann einfach prozentual erwähnen wie es bei neuen CPUs 
verbessert wurde. Solche Informationen sollten eigentlich auffindbar 
sein. Das wäre wahrscheinlich die beste Lösung für meine Präsentation.

Danke an alle

von Andreas U. (Gast)


Lesenswert?

A. K. schrieb:
> Die im Forum
> relevanten Mikrocontroller haben nichts, was man ernsthaft als
> Sprungzielvorhersage bezeichnen könnte.
Noch haben sie das nicht, aber wenn man den Aussagen einiger 
Protagonisten auf der Messe trauen darf, kommen in Kürze kleine 
Monsterrechner mit ungeahnter Performance. Nun glaube ich zwar nicht an 
den Weihnachtsmann, aber andererseits kriege ich jedes Jahr im Dezember 
tolle Geschenke. Warten wir also auf den Quantensprung bei den MC.

von Amateur (Gast)


Lesenswert?

>Ja. Leider. Aber etwas genauer hätten sie(AMD & Intel) auch erläutern
>könnten.

Da steckt, in der tatsächlichen Umsetzung, wohl sehr viel Knowhow, und 
geht Dich (die Konkurrenz) nichts an, drin.

Ist ja auch logisch, wenn man sich mal anschaut wo hier angesetzt wird. 
Das Füllen der prefetch-queue und damit indirekt der CPU, wird ja durch 
die Speicherbandbreite begrenzt. Die ganze Arbeit unnötig zu machen bzw. 
zu verwerfen kostet sehr viel Zeit und kann Dir einen Vorteil gegenüber 
der Konkurrenz verschaffen, selbst wenn alles andere gleich ist.

von Dipl.- G. (hipot)


Lesenswert?

Ich habe einen Blick in meine obsolete Studienbibliothek geworfen und 
ein Buch "Mikrocontroller und Mikroprozessoren" von Brinkschulte/Ungerer 
gefunden und von Märtin "Rechnerarchitekturen". Beide Werke behandeln 
die Sprungvorhersage. Die neuesten Mikroprozessoren werden aber nicht 
beschrieben. Die Bücher sind von Anfang 2000. :-(

Bist Du sicher, daß Du hier nicht nach einer Art Betriebsgeheimnis der 
Hersteller fragst? :-P

: Bearbeitet durch User
von Schlafloser (Gast)



Lesenswert?

Das einzige was wirklich helfen wird, ist einen älteren CPU mit 
Auflichtmikroskop und SEM auseinanderzunehmen und mithilfe 
Bilderkennung/Feature Detection wieder zusammenzusetzen, analog zum 
Visual6502-Simulator und dem Schaltplan von Beregnyei Balazs.

Bei den neueren (32 und 22nm) CPUs wird man wahrscheinlich selbst mit 
modernen SEMs an die Auflösungsgrenze kommen, aber bei den älteren P1-P4 
bis ca. 90nm könnte ich mir gut vorstellen, dass man die Stukturen mit 
einem gut eingestellen älteren SEM so gut erkennen kann, dass man diese 
mittels (Matlab)-Bilderkennung zu einem Schaltplan zurückverfolgen kann.

Ein weiteres Problem dürften die vielen Metall/PolySi und 
SiO2-Isolationslagen sein und die Tatsache das es tricky ist, den CPU 
planar zu den Layern schichtweise abzuschleifen/ätzen/ionenätzen. Eine 
Alternative könnte sein, den CPU gleichmässig schichtweisse mittels 
Ionenätzen/reverse sputtering abzutragen und diesen nach jeder Stufe 
einmal komplett mit dem SEM einzuscannen und die Lagen dann mit 
Bildbearbeitung zusammenzufügen.

Sicher ein aufwändiges Projekt, aber auch sehr interessant für all jene 
die sich interessieren, wie ein moderner CPU wirklich funktioniert, da 
die Si-Strukturen eines Chips Fakten und keine auf diverse Dokumente 
gestützten Spekulationen über den Aufbau eines Chips sind.

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.