Archiv verlassen und diese Seite im Standarddesign anzeigen : Core voltage/Transistortypen/Design rules/Prozess
Hallo zusammen, ich bin Neugierig und baue auf die geballte Kompetenz hier ;) Hab mich beim Lesen der Ryzen Reviews gefragt, wieso der mit bis zu 1,5V beaufschlagt wird. Eine Turing GPU im 12nm Tsmc Prozess skaliert da schon lange nicht mehr bzw. hat den Sweet Spot bei unter 1V.
Ist das höhere Spannungsniveau normal für den 7nm Tsmc Prozess?
Kann der Kunde die Strukturen customizen oder gibt es eine Art Baukasten aus dem man die Logikbausteine auswählt?
Gibt's verschiedene Libraries innerhalb des selben Prozesses um Low Voltage oder High Voltage designs zu bauen?
Sind GPUs derart unterschiedlich ggü. CPUs?
Kann wer helfen?
Wuge
Leonidas
2020-11-09, 09:38:08
Alle immer noch im Sonntagsschlaf?
Ich hab irgendwie pech mit meinen Threads, einer ist weg (gelöscht?) und der hier, der mich brennend interessiert, scheint nicht auf Interesse und/oder know how zu stossen...
basix
2020-11-09, 14:17:04
Ich bin kein Experte auf diesem Gebiet aber ich ich kann ja mal schreiben, was ich glaube zu wissen ;)
Ist das höhere Spannungsniveau normal für den 7nm Tsmc Prozess?
Kann der Kunde die Strukturen customizen oder gibt es eine Art Baukasten aus dem man die Logikbausteine auswählt?
Siehe Samsung 8nm (Ampere) vs. TSMC 12nm (Turing). Beide bieten max. Spannung bei 1.1V obwohl die Prozesse sich deutlich unterscheiden. Schlussendlich gibt es ein paar physikalische Limiten (z.B. minimale Schaltspannung um 0.4V rum) sowie eine Balance zwischen Taktfreqenz, Leakage und schlussendlich Stromverbrauch und Hitzeentwicklung. Zwischen 0.4V und 1.1V gibt es eine Vizelzahl an Transistortypen in Libraries (dein angesprochener Baukasten) welche je nach Einsatzzweck (Low Power oder hohe Performance) ausgewählt werden. Welche man verwendet, hängt vom Design und der Architektur ab und schlussendlich dem Einsatzzweck wie CPU, GPU oder Mobile.
Gibt's verschiedene Libraries innerhalb des selben Prozesses um Low Voltage oder High Voltage designs zu bauen?
Ja, gibt es. Siehe Aussage oben. Je nach Funktion eines Transistors auf dem Chip verwendet man den entsprechend möglichst optimalen Transistortypen. Bei SRAM wird etwas anderes verwendet werden als bei Speicherinterfaces oder den Rechenwerken. Die Faustregel ist grundsätzlich: Umso stromsparender der Transistor, desto geringer der maximale Takt und oftmals auch die maximal zulässige Spannung. Es gibt Transistoren mit Sweet Spot bei 0.9V und andere bei 1.2V, das hängt von dessen Design innerhalb des Fertigungsprozesses ab.
Sind GPUs derart unterschiedlich ggü. CPUs?
Hab mich beim Lesen der Ryzen Reviews gefragt, wieso der mit bis zu 1,5V beaufschlagt wird. Eine Turing GPU im 12nm Tsmc Prozess skaliert da schon lange nicht mehr bzw. hat den Sweet Spot bei unter 1V.
GPUs und CPUs unterscheiden sich natürlich extrem von der Architektur aber auch der Beanspruchungsart. Bei CPUs ist es relevant, dass man für ein paar Millisekunden den Takt möglichst hoch boostet (mit 1.5V) um die Bearbeitungszeit für die Bearbeitung des Tasks möglichst kurz zu halten ("ich möchte eine Antwort, und zwar möglichst bald"). GPUs laufen bei einem Game zum Teil mehrere Stunden bei mehr oder minder gleichbleibender Belastung. Hier nützt ein kurzzeitiger sehr hoher Boost nicht viel. Somit lieber den Takt auf möglichst gleichbleibendem Niveau halten (etwas tiefer) und dafür geimittelt über die Zeit weniger Strom verbrauchen. Hier werden dann auch keine Transistoren verwendet, welche mit 1.5V etwas anfangen können, sondern eher bis max. 1.2V und dafür etwas stromsparender sind.
ABER:
Auch bei CPUs wäre ein Betriebspunkt mit möglichst geringer Spannung von Vorteil. Man würde aber nur schwer 5 GHz erreichen. Bei Multicore oder lang anhaltenden Belastungen liegt man auch nur bei 4.0 GHz und nicht 5.0 GHz, weil ansonsten die Leistungsaufnahme und somit Hitzeentwicklung viel zu hoch wäre. Dass so hohe Spannungen benötigt werden liegt zudem teilweise am Prozess, vor allem bei <12nm. Hier ein guter Artikel über das Thema: https://fuse.wikichip.org/news/3320/7nm-boosted-zen-2-capabilities-but-doubled-the-challenges/
Die 1.5V liegen oft auch nur eine kurze Zeit auf dem selben Core an. Die Last wird oftmals von Core zu Core geschoben (bei AMD innerhalb des CCX) damit nicht ein einzelner Corre die gesamte Belastung mit dieser hohen Spannung ab bekommt. Ansonsten kann die CPU degradieren und somit altern und schneller kaputt gehen. Bei GPUs geht das weniger gut. Man hat zwar viele "Cores" (CUs oder Cuda Cores) aber von aussen ist es eine einzelne GPU mit einem "Core", welcher mehr oder minder global mit dem selben Takt läuft.
Das ist jetzt alles eher oberflächlich angeschnitten, aber ich hoffe es hilft dir bereits etwas ;) Irgendwie muss die Diskussion ja mal starten :D
Tobalt
2020-11-09, 16:11:31
Ich erinnere vage, dass es bei Zen 1 mal on-die LDOs gab, oder zumindest drüber geredet wurde. Falls es sowas immernoch, oder gar verstärkt heute gibt, könnte es auch eine Erklärung sein, dass man dem LDO etwas Headroom geben muss und deshalb die von außen beaufschlagte Spannung höher wird als ohne LDO.
Schlussendlich gibt es ein paar physikalische Limiten (z.B. minimale Schaltspannung um 0.4V rum)
Zumindest bei TSMC 7nm kann das nicht stimmen.
Bei Zen2, und vermutlich auch Zen3 liegen im niedrigen aktiven Bereich gerade mal 0,2V an, hat der8auer soweit ich mich erinnern kann auch tatsächlich gemessen, und das ist nicht irgendeine Anomalie beim Auslesen, derart niedrige Spannungen liegen tatsächlich real an.
Die Zen CPUs sind aber die einzigen bei denen die Spannungen dermaßen weit hinunter gehen, zumindest ist mir nichts anderes bekannt, und das scheint auch eine Eigenschaft des 7nm Prozesses zu sein, mit diesen Spannungen noch lauffähig zu sein, bei Zen(+) war das jedenfalls noch nicht so.
@basix: ok, das mit den unterschiedlichen Transistortypen dachte ich mir. Wäre eine schlüssige Erklärung. Das heißt natürlich auch, dass die Packdichte, Isolierschichtstärke etc... nicht so leicht vergleichbar sind, da man je Prozess immer nur einen "typischen" Transistor als Beispiel nehmen kann. Um Prozesse zu vergleichen, müsste man ein standardisiertes Logik-Gatter nehmen und das in Sachen Größe und Performance/W vergleichen. So ähnlich wie man das mit der SRAM-Zelle macht nur eben noch für Logik.
Das LDO Thema ist natürlich auch interessant. Hatte schon überlegt, ob die "hohe" VCore zwar an den PINs anliegt und für manche Schaltgruppen verwendet wird, andere Gruppen aber vielliecht intern weniger Saft bekommen. Besonders wenn der Cache in der gleichen voltage domian liegt wie z.b. die decoder/alus kann es schon Sinn machen, intern mit unterschiedlichen Spannungen zu arbeiten.
basix
2020-11-10, 20:25:11
Zumindest bei TSMC 7nm kann das nicht stimmen.
Bei Zen2, und vermutlich auch Zen3 liegen im niedrigen aktiven Bereich gerade mal 0,2V an, hat der8auer soweit ich mich erinnern kann auch tatsächlich gemessen, und das ist nicht irgendeine Anomalie beim Auslesen, derart niedrige Spannungen liegen tatsächlich real an.
Die Zen CPUs sind aber die einzigen bei denen die Spannungen dermaßen weit hinunter gehen, zumindest ist mir nichts anderes bekannt, und das scheint auch eine Eigenschaft des 7nm Prozesses zu sein, mit diesen Spannungen noch lauffähig zu sein, bei Zen(+) war das jedenfalls noch nicht so.
Das ist ein guter Punkt. Ich glaube aber nicht, dass die Transistoren bei 0.2V noch gross schalten oder gross was tun, sie behalten eher noch den Zustand bei. Über Clock und Power Gating lassen sich ganze Bereiche des Chips abschalten und man kann die Spannung senken. <0.5V fällt die Leitfähigkeit von CMOS Transistoren extrem stark. Bei TSMCs 5nm (siehe Link unten) liegt zwischen 0.5V und 0.3V 10x. Zwischen 0.3V -> 0.2V und 0.2V -> 0.1V liegen nochmals jeweils 10x. Für ein paar verquetschte MHz oder eben Steady State / Retention könnte das noch reichen, für mehr nicht. Wenn man es akademisch betrachtet: Ja der CMOS MOSFET funktioniert noch. Praktisch hat es aber keinen Nutzen da der Funktionsblock mit dieser Spannung nur schläft und keine Arbeit verrichtet. Nicht umsonst ist bei fast allen heutigen CPU und GPU Designs bei 0.6-0.7V Schluss (Idle-Spannung).
https://semiwiki.com/semiconductor-manufacturers/tsmc/282339-tsmc-unveils-details-of-5nm-cmos-production-technology-platform-featuring-euv-and-high-mobility-channel-finfets-at-iedm2019/
https://www.semiconductor-digest.com/2020/02/05/tsmc-to-discuss-their-5-nm-cmos-technology-platform-at-iedm-2019/
Zur LDO Geschichte:
Die gibt es erst seit Zen 1 in dieser Form, da sie soweit ich mich erinnere relativ viel Platz benötigen. Intel hat bei einigen CPUs mit FIVR einen etwas anderen Ansatz gewählt, welcher in der Theorie der bessere ist aber in der Praxis deutlich aufwendiger in der Umsetzung ist. Da man mit aller Kraft die letzte Energieeffizienz aus den CPUs quetscht ist eine "per Core Voltage" naheliegend, da jeder Core eine ganz individuelle Güte aufweist. Schlussendlich geht alles in die Richtung, dass jeder Funktionsblock für sich auf der optimalen Betriebsspannung läuft. Die ausgemessene Core Spannung sollte aber schon die Spannung nach dem LDO und nicht vor dem LDO sein. Zumindest würde das mehr Sinn machen aus Diagnostik-Sicht. Bei meinem Haswell-E mit FIVR ist die CPU Eingangsspannung bei 1.8V und der Core bei 1.1V. Die 0.7V dazwischen fällt über dem FIVR ab aber da Schaltregler mit 80-90% Effizienz. Bei den LDOs wird der Spannungsunterschied deutlich kleiner sein (0.05-0.20V?), sonst erzeugt das zu grosse und unnötige Energieverluste.
Um Prozesse zu vergleichen, müsste man ein standardisiertes Logik-Gatter nehmen und das in Sachen Größe und Performance/W vergleichen. So ähnlich wie man das mit der SRAM-Zelle macht nur eben noch für Logik.
Dieses Standard Gatter gibt es sicher, nur sind die Daten nicht öffentlich. Über die restlichen Prozessparameter wie Gate Pitch und Metal Pitch kann man das aber ein bisschen abschätzen: https://en.wikichip.org/wiki/7_nm_lithography_process Intel selbst hat hierzu vor nicht allzu langer eine neue entsprechende Berechnungsmethode vorgelegt. Bei Density geht das also einigermassen. Bei Performane pro Watt: Vermutlich unmöglich :D Das kommt auf den Prozess aber auch stark auf das Design an. Ein leeres Gatter hätte viel zu viele Unsicherheitsfaktoren. Man müsste effektiv einen Testchip haben, welcher dann auf alle Prozesse angepasst wird: Stichwort Design-Prozess Co-Optimierung.
Inwiefern sind Transistorvarianten innerhalb eines Prozesses unterschiedlich, wenn Gate Pitch, Metal Pitch im Prozess fest definiert sind? Oder sind das minmal-Werte und man kann bewusst auch niedrigere Packdichten bzw. "dickere" Trennschichten oder wie auch immer das heißt wählen?
Affinator
2020-11-11, 11:39:10
So wie ich das damals kennengelernt habe (TSMC 65nm) hast du eine Menge von Design Regeln (Mindestabstände, Größen, etc.). Insofern Du innerhalb dieser Grenzen bleibst, kannst Du machen was Du willst. D.h. größere/breitere Transistoren oder sonstige Spielereien.
Tobalt
2020-11-11, 12:11:04
mit kleinerwerdendem prozess kommt die Minimaldimension für immer weniger Transistoren in frage. der eingangsstrom nimmt stets weiter zu während die Ausgangsimpedanz der gatter steigt, das fanout zu fanin Verhältnis wird also stetig schlechter. Man kommt als öfter als früher zu dem fall dass man wegen dem fanout den Transistor größer als die design rules bauen muss.
Allerdings sind in den dichtgepackten Logikblöcken wohl immernoch die meisten hatter nicht dadurch limitiert (vermutung)
Werden die spezigischen Transistoren dann zusammen mit dem Kunden designed? Oder ist das ein starrer Baukasten, denn der Kunde dann nutzen kann? Vermutlich ist sowas wie "8nm customizid" nichts anderes, als Anforderungsspezifisch designete Logikbausteine im jewiligen Standardprozess?
Ich nehme an, die kritsichen Gatter macht man nach wie vor in Handarbeit? Zumindest bei CPUs...
Hier hätte Intel ja wie früher den vorteil, dass man die Designes quasi zusammen mit dem Prozess entwickelt. Ansonsten wären sie aktuell wohl noch weiter hinten dran.
Skysnake
2020-11-11, 15:22:50
Du bekommst von der FAB erstmal nur die Digitallogik. Also nands, nors inverter etc.
Was du normal NICHT bekommst ist das physikalische Design dieser Standardzellen. Ich durfte die mal sehen, ist ganz interessant.
Daneben kann man sich die SDKs für die Transistoren bzw sonstigen analogen Bauteile kaufen. Da gibt es dann alles mögliche. Damit baut man aber normal keine Digitallogik außer bei ganz kritischen Sachen. Vor allem wenn man Digitallogik in analoge Bauteile integrieren will. Aber auch da versucht man über Mixed-Signal Designs die Digitallogik möglichst über Standardzellen zu erschlagen.
"Standardzellen" ist da halt aber auch so ne Sache. An sich kommt das von der FAB aber an sich hindert dich keiner eigene Standardzellen zu bauen. Ist halt nur extrem viel Aufwand, daher wird das nicht gemacht.
Am Ende ist es halt immer ne Kostenfrage. Klar kann man auch Transistoren mit unterschiedlichen Threshhold voltages verwenden, dann braucht man aber mehr Prozessschritte, also teurer, und es gibt wieder ne Fertigungsvariable für Streuung mehr.
Man muss sich das also gut überlegen was man macht.
Heutzutage wird auch viel als IP eingekauft. Nen eigenen Memory Controller oder PHY designt nicht mal mehr ne Firma wie AMD selbst...
Und dann braucht es ja noch so Dachrn wie bandgabs etc
Interessante Einblicke, danke!
Skysnake
2020-11-11, 17:37:30
Nennt sich halt Fülle Custom ASIC Design. Da kann man schon sehr sehr sehr viel machen wenn man will.
SRAM Zellen wird man aber z.b. immer von der FAB nehmen. Die Packdichte von denen kann man nicht im Normalfall erreichen, weil für deren SRAM nicht die gleichen Designrules wie für die Kunden gelten....
Depends of number of states of transistor.
3 x 0.4 = 1.2
4 x 0.4 = 1.6
Also of current max or min.
The futur of Technology is ilimited.
Tobalt
2020-11-14, 09:02:54
Depends of number of states of transistor.
3 x 0.4 = 1.2
4 x 0.4 = 1.6
Also of current max or min.
The futur of Technology is ilimited.
dont drink and post;)
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.