Taxxor schrieb:
Bei 2 CCX pro Die hat man genau eine IF Verbindung, CCX1 zu CCX2
Bei 4CCX pro Die hat man
1-2
1-3
1-4
2-3
2-4
3-4
Diese Rechnung gilt nicht für den IF sondern für die Verbindung innerhalb eines CCX. Im CCX werden Direktverbindungen zwischen den Cores verwendet. Bei 4 Kernen sind 6 Verbindungen notwendig, bei 6 Kernen schon 15 und bei 8 Kernen 21 Verbindungen. Das macht die Anbindung der Kerne sehr schnell kompliziert, weshalb es ja auch "Alternative Verbindungsmöglichkeiten" gibt, bei Intel z.B. durch Ringbus und Mesh gelöst, um die steil anwachsende Anzahl an Direktverbindungen zu vereinfachen.
Anzahl an Verbindungen = (Kernzahl/2) * (Kernzahl-1)
Der IF ist keine Direktverbindung und verbindet auch noch mehr als nur die beiden CCX, Speicher-Controller und I/O wollen auch kommunizieren. Bei Vega wird ebenfalls IF verwendet...
IF ist eher als eine Art Bus zu sehen, weshalb er sehr gut Skalierbar ist
Taxxor schrieb:
Effizienter ist es auf jeden Fall, die Kernzahl pro CCX zu erhöhen.
Nein. Dazu sind Direktverbindung schlecht skalierbar aber der IF dafür um so mehr.
Taxxor schrieb:
Die Verbindungen innerhalb eines CCX laufen aber nicht über den IF und sind sehr viel schneller als die zwischen den einzelnen CCX
Das ist richtig, weil hier auf Direktverbindungen gesetzt wird, wie weiter oben beschrieben
Taxxor schrieb:
deshalb ist es trotzdem besser, mehr Kerne pro CCX zu haben, als mehr CCX pro Die.
Für Latenzen mag es so sein, allerdings wird das Verbinden mit steigender Kernzahl überaus komplex. Daher hat man überhaupt das System über CCX so gewählt. Es ist ein guter Kompromiss, auch wenn der IF sicher noch besser sein kann, aber hier ist für die Zukunft bestimmt noch Optimierungspotential, es ist ja gerade erst neu. Bei Zen+ gab es schon winzige Verbesserungen, bei Zen 2 dürfte da mehr passieren.
Der IF besteht im Grunde aus zwei Teilen, den Scalable Control Fabric und den Scalable Data Fabric, daher auch kein wirkliches Bus-System, vom Prinzip aber grob nicht ganz unähnlich. Und mit Scalable ist halt das einfache Skalieren mit jeder weiteren Komponente gemeint.
Bin mir nicht zu 100% sicher, aber eigentlich sollte bei Raven Ridge die iGPU also die 11 CUs ebenso am IF hängen, wie der CCX und der Speichercontroller.
Cyberfries schrieb:
Die CCX eines Die kommunizieren auch nicht per IF, sondern SDF. IF nur bei mehreren Die untereinander.
Der SDF ist quasi Bestandteil des IF, zwischen den CCX wird dann nur noch der SCF mitverwendet. IF ist quasi nur die Marketing-Bezeichnung der Verbindungsarchitektur.
Außerhalb des Dice wird dann nur der SDF als IFOP (On-Package) und IFIS (Inter Socket) ausgeführt.