Ansicht umschalten
Avatar von
  • unbekannter Benutzer

mehr als 1000 Beiträge seit 26.09.2005

Re: Der Mann rechnet falsch

mch01 schrieb am 16. April 2008 14:02

> Joachim Durchholz schrieb am 16. April 2008 13:20
> 
> > Das eigentliche Problem ist nicht die x86-Kompatibilität, sondern das
> > abstruse Registermodell des x86: lauter Spezialregister, etliche
> > davon gibt es sogar nur einmal.
> 
> Seit dem 80386 weitgehend Vergangenheit. Also seit mehr als 20
> Jahren. Benenne EAX .. ESP in R0..R7 um und plötzlich ist der
> Befehlssatz auch optisch orthogonaler. Ach so, seit -x86 halt
> R0..R15.
> 
> ADD R1,[R0] // no problem, just looks nicer than ADD EBX,[EAX]
> 
> > Das bedeutet, dass dem Compiler die Register rasch ausgehen, und er
> > muss die Daten ins RAM verschieben.
> > Das ist höchst ineffizient, und die Compiler verbringen einen
> > Großteil ihrer Zeit damit, die Codereihenfolge umzuordnen, damit die
> > Register möglichst lange reichen, und müssen dann doch wieder ins
> > RAM.
> 
> Ist das so? Was macht dann eine Technik namens Register Renaming in
> allen x86 seit dem P6?

Die hat mit dem Druck auf die Speicherschnittstelle nichts zu tun.
Register renaming ist eigentlich nur "EAX, wie es sich fünf
Taktschritte in der Zukunft zeigen könnte, wenn der erwartete
Befehlsablauf eintritt".
D.h. es ist eine Technik für die spekulative Ausführung, ändert aber
nichts daran, dass der Registersatz überläuft.

> > Eine vernünftige Registerarchitektur hat einen Sack austauschbarer
> > Universalregister und drei oder vier Spezialregister (Statusregister,
> > Program Counter, Stack Pointer, eventuell noch einen Frame Pointer).
> > Bei amd64 haben sie ein paar zusätzliche Universalregister spendiert,
> > aber wozu noch die Spezialregister?
> 
> So der Stand der Dinge 1982 mit dem NS160312 - elegance is
> everything.

Der Erfolg einer Prozessorarchitektur hängt eben nicht nur an ihrer
technischen Qualität, sondern auch am kaufmännischen Geschick der
Chipschmiede.
Intel hat da mit IBMs Entscheidung für den 8088 einfach Dusel gehabt.
Übrigens war auch der iAPX 432 von Intel ein höchst elegantes Design.
Er hatte nur keinen TLB und ist an den Performanceproblemen (und
einigen anderen bösen Macken) eingegangen - er war seiner Zeit
einfach zu weit voraus. Seither bleibt Intel der x86-Architektur
treu, das ist nun mal die Gelddruckmaschine schlechthin und sie wären
blöd, wenn sie das aufgeben würden.

Bewerten
- +
Ansicht umschalten