ARCHIV 1999-2006

ARCHIV :: # 3771

intel, immer nur intel

Na und, man wird doch noch nachdenken dürfen, oder?

Autor: thyl - Datum: 21.06.2005

Nach allem, was ich in den letzten Tagen so zusammengetragen habe an Infos und Meinungen, wird der Umstieg auf intel ziemlich simpel aussehen, und nicht so ambitioniert wie vielfach gedacht oder gehofft. Und so sieht's für mich derzeit aus: -Der Umstieg wird zunächst auf 32 Bit erfolgen (IA32, wie in der Anleitung für Universal Binaries gesagt). Ein Rückschritt gegenüber den ersten erfolgten 64 Bit Anpassungen in Tiger.
-Daraus kann man folgern, dass die ersten umgestellten Geräte nicht die PowerMacs sein werden, sondern die 32-Bitter, die es Bitter (!) nötig haben werden.
-Es werden intel-Chipsätze verwendet. Oder glaubt hier jemand allen Ernstes, Apple könnte mal eben so etwas zustande bringen, was schneller ist als was intel, mit langer Erfahrung bei Chipsätzen für die eigenen Prozessoren, kann?
-Es werden intel-Chipsätze verwendet. Denn eine Entscheidung für die Konkurrenz wie Via, UMC etc. klang nicht im mindesten durch. Und außerdem ist Jobs ein alter Freund von Andy Grove (oder wer war das bei intel?), wie man seit NeXT-Zeiten weiß.
-Es wird ein normales BIOS verwendet, oder max. EFI. Eigenentwicklungen wären teurer, sind wegen der DRM in intel CPUs nicht nötig und würden auch Aussagen von Schiller bezüglich "Wir hindern niemanden daran, Windows laufen zu lassen" widersprechen.
-Es wird ein Pentium M werden. Nur dieser zeigt das von Steve Jobs auf der Keynote gezeigte Leistungs/Leistungsverhältnis.
-Es gibt keine speziell für Apple gebaute CPU-Version. Da müsste Apple schon etwas größer sein als Dell, oder?
-Da Altivec nicht mehr da ist, und SSE4 nur ein Gerücht, wird vermutlich ein zunehmender Teil der SIMD-Aufgaben auf die GPUs gelegt werden.
-Er wird keine spektakuläre neue Technologie aufweisen, da diese bei intel einfach nicht da ist. Kein Cell, kein PCIe 2, kein Hypertransport-Steckplatz.

Mein einzige Hoffnung ist, dass intel bis dahin noch SSE4 rausbringt.

Kommentare

vielleicht irre ich mich, aber ...

Von: nam | Datum: 21.06.2005 | #1
teil der IA32 ist EMT64.
IA64 ist EPIC ist Itanium.

nachtrag

Von: nam | Datum: 21.06.2005 | #2
mir isses scheissegal ob der krams den ich fast nie nutze OF oder BIOS heisst.
und ausserdem wirds wohl eben nicht BIOS sondern EFI.
und was soll diese "oder max. EFI" ueberhaupt? wer sagt denn das EFI schlechter als OF ist?
und warum sollte apple nen customchip bekommen?

du klingst wie die alte frau mit dem virginiaschinken unterm arm ...

*brotreich*

Warum ich altivec nachweine?

Von: Reikon | Datum: 21.06.2005 | #3
Was sieht deiner Meinung nach verständlicher aus?

das (sse):
__m128 r = _mm_add_ps(_mm_mul_ps(a, b), c)

oder das (altivec):
vector float r = vec_madd(a, b, c)

Mal abgesehen davon, dass altivec ein paar Sachen kann, die SSE nicht kann (leider auch umgekehrt, aber Altivec hat da IMHO die besseren).

Und das kaum einer Altivec verwendet glaube ich nicht. Ich denke sogar das verwenden mehr als man denkt, denn ich denke mal das einiges in Cocoa das nutzt. Mal ganz zu schweigen von so Apps wie Photoshop oder Final Cut (die schreien förmlich danach).

Und - erm SSE4?? SSE3 ist doch gerade erstmal raus! Und das reicht auch vollkommen als Altivec Ersatz (auch wenn Altivec schöner ist).

Und noch was

Von: Reikon | Datum: 21.06.2005 | #4
Auslagern auf den Grafikchip ist momentan noch alles andere als eine elegante Lösung. SIMD ist da an vielen Stellen um einiges schneller. Momentan ist das die totale Frickelarbeit sachen auf der GPU zu berechnen, mal ganz abgesehen von den BUS-Bandbreitenproblemen die man da hat.

Die GPU zu nutzen ist eine nette Idee, aber für mehr als coreimage ist das einfach alles noch viel zu unhandlich. Sonst würds ja jeder inzwischen machen.

SIMD hat schon seine Berechtigung und ist alles ander als tot.

@nam

Von: Thyl (MacGuardians) | Datum: 21.06.2005 | #5
auch wieder wahr. Also wie unterscheidet den intel sprachlich zwischen den verschiedenen Varianten? Denn das der x64 Modus speziell eingeschaltet und kompiliert etc. werden muss un dmehr Möglichkeiten hat, ist ja klar.

@thyl

Von: nam | Datum: 21.06.2005 | #6
ich weiss es nicht. ich wollte nur darauf hinweisen, das IA32 64 Bit nicht ausschliesst.
der yonah(?) chip ist leider nur 32 bittig. aber dessen nachfolger soll 64 bittig werden.

@nam @tyl

Von: neo | Datum: 21.06.2005 | #7
EFI hat mehr Vorteile als OF, als BIOS sowie so, denn die Treiber für die Hardware sollen im EFI abgelegt werden, dann braucht das OS keine eigenen Teiber sonern nur noch ein HAL die EFI Implementiert (Der wunder Schöne Gedanke des Plug'n'Play vom Mainboard.)

SSE MMX und CO werden we altivec vom Compiler benutzt, jedoch so weit ich Informiert bin ist der gcc besser für x86 mit SMID Einheiten Optimiert als für PPC mit Alitvec.

Gruss Neo

Altivec und x86-64

Von: Rüdiger Goetz | Datum: 21.06.2005 | #8
Hallo,

Zwei Anmerkungen:

1. Soweit ich die Artikel in der c't richtig in Erinnerung habe, sind SSE3 und AltiVec summasumarum ebenbürtig, eher sogar mit leichten Vorteilen für SSE3 (z.B. Rechnungen mit zwei doubles ).
Sicher gehen manche Sachen besser mit AltiVec andere wiederum mit SSE3.

2. x86-64 ist eigentlich eine eigene ISA-Architektur, die aber vieles mit x86 gemeinsam hat, aber in wesentlich Punkte Verbesserungen bringt (z.B. 16 statt 8 Register) und dafür einige Altlasten im OP-Code über Bord wirft. Dies ist anders als beim PPC wo PPC32-Code auch auf einer PPC64-CPU läuft. Man braucht eigene Binaries für x86-64, eigene Libraies etc.
Dabei laufen x86-64-Programme ca 20-30% schneller auf derselben CPU (zumindest bei AMD).

Insofern bedeutet das Apple zunächst mit x86 beginnt einen doppelten Umbruch. Namlich zunächst von PPC nach x86 und dann nach x86-64. ES könnte daher sein das in absehbarer Zukunft wir universal Binaries für drei Plattformen haben werden, nämlich ppc, x86 und x86-64. Ob das so clever ist sei dahingestellt. Wobei Apple wohl keine Wahl hatte, es sei den sie hätten AMD für ihre Mobil-Geräte gewählt.

Bis dann

R"udiger

"Das von Steve Jobs...

Von: mathias | Datum: 21.06.2005 | #9
auf der Keynote gezeigte Leistungs/Leistungsverhältnis" ist gleich 1, oder? ;-)

Da ich von Prozessortechnik sehr wenig Ahnung habe, frage ich mich langsam, ob das Lesen der ganzen Diskussionen über das "Für und Wider" im Vorfeld -bevor überhaupt der erste Intel-mac Verkauft ist- sinnvoll ist, oder ob ich mir da nicht zuviele Vorurteile bilde. Ich werde einfach die Tests der ersten Geräte abwarten und mir dann ein Urteil bilden. An der Situation läßt sich jetzt sowieso nix mehr ändern...

Mathias

Mein Senf

Von: thomm | Datum: 21.06.2005 | #10
Soweit ich mich erinnern kann hat SSE auch die Fließkommaberechnung des Proz. übernommen, da die x86 normalerweise dort extrem schlecht sind.
Die bei ALTIVEC oft angemeckerte nur einfache Genauigkeit ist deshalb beim G5 nicht so schlimm, da dieser im Gegensatz zum x86 noch zwei normale Fließkommaeinheiten besitzt.

Aber letztendlich ist das doch alles egal. Apple steigt eben auf Intel um und wir haben mit den neuen Gegebenheiten zurecht zu kommen, jedenfalls wenn man sich einen Apple dann auch wieder zulegt.....

RollingFlo:

Von: Karl Schimanek | Datum: 21.06.2005 | #11
Du hast keine Ahnung.

Aber ich hab echt keinen Bock mehr mich zu wiederholen.

@thyl

Von: Killa | Datum: 22.06.2005 | #12
Zum Thema nächster Prozzi für die Apples möchte ich den Blick mal auf diese Meldung und den dortigen Link auf Ars Technika lenken...
[Link]

@Reikon

Von: Jeff Kelly | Datum: 22.06.2005 | #13
"Was sieht deiner Meinung nach verständlicher aus?

das (sse):
__m128 r = _mm_add_ps(_mm_mul_ps(a, b), c)

oder das (altivec):
vector float r = vec_madd(a, b, c)
"

Das ist mir als Entwickler ehrlich gesagt scheissegal was im Code besser ausschaut. Interessant ist nur, was schneller laeuft.

Im gegentum weiss ich bei ersterer Variante IMMER welche Parameter addiert und welche multipliziert werden, bei letzterer Variante weiss ich das nur, wenn ich den Befehl genau kenne und werde selbst dann ab und an mal im Handbuch nachsehen.

Aus persoenlicher Erfahrung weis ich das die zweite Variante oft zu ganz subtilen Bugs fuehrt, weil man halt mal ausversehen einen der Operanden vertauscht, das ist bei ersterer schwierig.

Ausserdem weiss ich bei der SSE-Variante auch gleich wie gross das Ergebnis ist (128 Bit), bei der zweiten Variante nur, wenn ich weiss wie gross der Datentyp float auf der entsprechenden Rechnerplattform gerade ist und das muss nicht immer 128 Bit sein


"Und das kaum einer Altivec verwendet glaube ich nicht. Ich denke sogar das verwenden mehr als man denkt, denn ich denke mal das einiges in Cocoa das nutzt. Mal ganz zu schweigen von so Apps wie Photoshop oder Final Cut (die schreien förmlich danach)."

Ich glaube das eher nicht

Altivec oder SSE wird nur der verwenden, der die zusaetzliche Leistung unbedingt braucht und auf portabilitaet verzichten kann. Wer seine App auch auf G3 Macs laufen lassen will muss entweder auf Altivec verzichten oder eine Variante mit und ohne Altivec auf der CD haben, wer die Vorteile des G5 nutzen will steht vor dem selben Problem. Wer SS£ 3 nutzt bekommt Probleme wenn das Programm auf nem Pentium 3 laeft etc. pp.

Ausserdem ist es trivial SIMD-Code zu schreiben, der schneller laeuft als normaler Code und dabei halbwegs durchschaubar bleibt, man muss schon genau wissen wo man von SIMD profitiert ansonsten kann es auch ein Flaschenhals sein. Das gleiche gilt fuer Assembleroptimierungen. Meistens verbraet man irrsinnig viel Zeit mit Optimierungen, die nur 2% verbesserte Leistung bringen.

Das macht aus Kostengruenden meist nur bei absoluten Spezialanwendungen Sinn. Selbst Photoshop nutzt Altivec nur fuer ein paar ganz bestimmte Filter. Die meisten Anwendungen rechnen eh nur mit Integer oder Festkommaarithmetik und wuerden von den zusaetzliche Befehlen gar nicht profitieren.

Mathematika zum Bleistift setzt ueberhaupt nicht auf SIMD um portabel zu bleiben

Ich denke, dass es nur ein paar Spezialanwendungen und den einen oder anderen Audio/Video-(De)Coder treffen wird.

Das Apple selbst Altivec in ihren Anwendungen einsetzt mag sein, aber da die eh schon alles portiert haben ist das auch kein Problem.

Apple wird m.M.n. sicher EFI einsetzen, da es OpenFirmware, was die Leistungsfaehigkeit angeht, sehr aehnlich ist und teilweise sogar besser und weil nur so Custom-Loesungen (eigene Chipsaetze, eigene Boards) moeglich sind