IOMMU

larsbo

Grand Admiral Special
Mitglied seit
20.06.2003
Beiträge
5.864
Renomée
62
Mal eine echte Frage für Prozessor und Software-Cracks:

Sehe ich das Richtig, dass in Athlon64/Opterons ab RevisionE eine IOMMU eingebaut wurde? Das ist in den früheren Revisionen nicht drin? Gibts irgendwelche AMD-Doks, die diese neue RevisionE-Fähigkeit hervorgehoben hatten? Mir erscheint das nämlich als die wesentlichste Verbesserung der RevisionE.

Nutzen aktuelle 64-bit Betriebssysteme diese AMD IOMMU für nur 32bit-adressierfähige DMA-Geräte (PCI)? Wenn ich das richtig verstanden habe, dann wäre damit ja die Problematik des double-bufferings für DMA über den PCI erledigt, oder? Also, wie schauts aus mit 64bit Linux und z.B. XP-64 oder Vista-64?

Das ganze ist doch erstmal unabhängig von Pacifica, oder? Ich hoffe nur, dass zukünftige 64bit Betriebssysteme die IOMMU auch ohne Pacifica nutzen, denn das hat mein S939 4400+ ja noch nicht.....
 
Die IOMMU war eigentlich schon immer drin :|
Das ist doch das DIng, was bei über 4GiB RAM die Speicherbereiche ummapt...
 
[3DC]Payne;3038593 schrieb:
Die IOMMU war eigentlich schon immer drin :|
Das ist doch das DIng, was bei über 4GiB RAM die Speicherbereiche ummapt...

Hmm, und warum sagt mir mein Bios, es gäbe ein 4GB Software-Remapping, und ein 4GB Hardware-Remapping, letzteres aber erst ab Rev. E CPUs?

Ansonsten ist das nicht nur für das Remapping, sondern ist praktisch wie eine AGP-GART, nur für alle peripheren Geräte, die auf Speicher zugreifen wollen.
 
Sehe ich das Richtig, dass in Athlon64/Opterons ab RevisionE eine IOMMU eingebaut wurde? Das ist in den früheren Revisionen nicht drin? Gibts irgendwelche AMD-Doks, die diese neue RevisionE-Fähigkeit hervorgehoben hatten? Mir erscheint das nämlich als die wesentlichste Verbesserung der RevisionE.
...
Das ganze ist doch erstmal unabhängig von Pacifica, oder?
http://www.heise.de/newsticker/meldung/69320

Das ist eine Technik die für virtuelle Designs = Pacifica entwickelt wurde.
Nachdem Microsoft ja auch bei Vista die 64 Bit & Virtualisierung noch stiefmütterlich behandelt ist dies aktuell eher für Linux und andere Profi-Designs von Bedeutung.

Bis Mainstream ist Dein X2 4400+ längst Museumsstück.
 
@larsbro

Guck dir mal das und das an.

Schön, aber ists wirklich schon drin in RevE?

Was mir auch noch nicht ganz klar ist: Brauchts unbedingt Chipsatzunterstützung, oder lässt sich das für die Peripherie am HTr völlig transparent implementieren mit dem virtualI/O?
 
Schön, aber ists wirklich schon drin in RevE?

Nein. Vieleicht bringt das ein wenig Licht ins Dunkel:

* Jeder AMD64 Prozessor besitzt einen GART, das wird oft als IOMMU bezeichnet. Wenn du von so was sprichst gabs das schon seit anbeginn von AMD64.

* Die 90nm Kerne, d.h. Rev E (Opteron) bzw. Rev D (Athlon64) unterstützen im Long Mode eine stark limitierte Form der Segmentierung. Ohne dieses Feature lief/läuft VMWare nicht richtig. Ältere Revisionen können nur Flat.

* IOMMU != AMD-V (aka Pacifica). AMD-V dient der CPU Virtualisierung, die IOMMU der Device Virtualisierung. AMD-V ist wohl bestandteil der "NPT" Prozessoren, d.h. Socket F/S1/AM2 CPUs sollten das haben. Kann sein, dass AMD das nur in einem Subset der CPUs frei schaltet -- Hatte die letzten Monate einfach zu wenig Zeit um mich darum zu kümmern. Btw. AMD die Pacifica Spec (33047.PDF) leider aus dem Netz genommen. Jetzt findet man nur noch die IOMMU Spec :-(

Was mir auch noch nicht ganz klar ist: Brauchts unbedingt Chipsatzunterstützung, oder lässt sich das für die Peripherie am HTr völlig transparent implementieren mit dem virtualI/O?

Sinnvollerweise ist eine IOMMU im Chipset (in einer HT Bridge) untergebracht, denn die IOMMU muss jedes Device unterscheiden können. Die Spec erlaubt auch eine integration in einen HT-Tunnel, aber durch die Limitierung auf 31 HT Unit IDs käme es wohl sehr schnell zu Unterscheidungsproblemen. Zweifelsohne ließe sich so ein Tunnel auch in die CPU integrieren, aber das ist extrem unwahrscheinlich.
 
Laut aktueller c´t ist die IOMMU überhaupt noch nicht irgendwo eingebaut. Obs stimmt? Na ja, die Pacifica-Specs sind ja sinnigerweise auch nicht mehr zu finden bei AMD....

Das Hardware-Memory-Hole-Remapp, was mir mein Asus Mainboard anbietet, wird wohl eher das memory hoisting sein, was man im Bios and Kernel Dev-Guide findet unter 3.6.5 bzw. 4.4.8. Hab aber gerade nur das Bios Dev Guide für Rev. F, müsste mal schaun, ob das auch für Rev. E schon da ist und <RevE nicht......


edit:
Jupp, ab Rev.E gibts ein Memory Hole Adress Register. Siehe "BIOS and Kernel Developer&#8217;s Guide for the AMD Athlon&#8482; 64 and
AMD Opteron&#8482; Processors, 26094 Rev. 3.30 February 2006" unter 3.5.8.2 Memory Hoisting For Revision E and Later Revisions.
Hat also wirklich nichts mit der IOMMU zu tun, und trotzdem ein neues Stück Hardware in Rev.E.....
 
Zuletzt bearbeitet:
Zurück
Oben Unten