Evtl habe ich mich etwas unklar ausgedrueckt...Die USII kann sehr wohl hw-seitig VIS 1.0 dekodieren, die T1 cores jedoch nicht.
Bei der Niagara CPU sind keine UltraSPARC wasauchimmer in Form von multicore zusammengeschaltet, sondern im Architecture Manual spricht man von SPARC cores, abgespeckten SPARC cpus.
Bei der T1 war die Grundlage eine USII,bei der T2 eine USIIIi.
Wie bereits bekannt, implementiert die Niagara nicht die gesamte UltraSparc Funktionalitaet, sondern emuliert den fehlenden Teil der Befehle stumpf in Software, obwohl das Programm deshalb trotzdem laeuft. Dies geschieht z.B. in der FPU, die nur einen Teil der US-FPU implementiert. Die fehlenden Befehle loesen Traps aus und ein software handler kuemmert sich darum.
Desweiteren ist dies der Fall bei der FFU_VIS (Floating Point Frontend Unit VIS). Wie der Name auch schon anzeigt, werden die VIS Befehle bei der T1 auch von der FPU bearbeitet. Die FFU_VIS implementiert aber auch nur ein subset der VIS Spezifikation, der nicht naeher spezifiziert ist. Das Interessanteste in [1] ist Table 7-1. Dort wird VIS expizit als "Not available" aufgefueht.
Das Problem mit der FFU ist folgendes: Wir haben eh nur eine FPU fuer alle Cores, und die ist auch noch ratten langsam. Desweiteren legt ein FPU Befehl erst einmal den Thread fuer eine gewisse Zeit lahm (stall) und bremst das ganze Programm aus. Kommt noch der software handler ins spiel, wirds duster...
Um nochmals meine Aussage zu untermauern, ein Auszug von isainfo der USIIIi meines Laptops:
bash-3.00$ isainfo -v
64-bit sparcv9 applications
vis2 vis
32-bit sparc applications
vis2 vis v8plus div32 mul32
Wie zu erkennen, meldet die CPU die Verfuegbarkeit sowohl von VIS1 als auch VIS2.0.
Dem gegenueber steht die T1 von Tschokkos T1000:
isainfo -v
64-bit sparcv9 applications
asi_blk_init
32-bit sparc applications
asi_blk_init v8plus div32 mul32
Die T1000 verschweigt VIS geflissentlich
[2] zufolge wird in der T2 FPU (die nun jedem core zur Verfuegung steht und deutlich beschleunigt wurde) explizit VIS 2.0 fast vollstaendig in hardware ausgefuehrt, mit Ausnahme der quad precision fp funktionen. Desweiteren werden einige andere Befehlsgruppen hier nun auch in hw-gegossen ausgefuehrt statt ueber einen software handler. Ist in [2] auch Table 7-1. Interessant hierbei ist, das das T2 manual diesmal erwaehnt, das eine T1 ein Subset von VIS 2.0 ausfuehren kann, wieder ohne es genauer zu spezifizieren.
Nachzulesen bei:
[1]
http://opensparc-t1.sunsource.net/specs/OpenSPARCT1_Micro_Arch.pdf[2]
http://opensparc-t2.sunsource.net/specs/OpenSPARCT2_Core_Micro_Arch.pdfWeitergehende Infos bieten natuerlich die Architecture Manuals und der Verlilog-Code der CPU (wen es wirklich interessiert).
Gruss,
Christian
PS: Ich hoffe ich habe mich diesmal genauer formuliert und alle fett gedruckten Fragen beantwortet. War etwas schwerer zu identifizieren, da die Grafik des Meso 999 fuer denselbigen ist
Und an den fehlenden deutschen Spezifitaeten ist allein die amerik. Tastatur schuld.