Was genau verkauft ARM an Lieferanten?

28

Annahmen:

  1. Computerarchitektur: Beschreibt, wie die verschiedenen Module eines Prozessors miteinander interagieren.

  2. Eine Computerarchitektur wird mithilfe von vhdlDateien definiert

  3. Computerorganisation: Beschreibt das physische Layout der Prozessormodule auf Silizium.

  4. Eine Computerorganisation wird unter Verwendung einer Reihe von Fotomasken (und eines Herstellungsprozesses, z. B. einer Chemikalie, der bei jedem Schritt durchgeführt wird) definiert.

  5. Die Computerorganisation erfordert daher, dass der Fertigungsprozess berücksichtigt wird.

  6. ARM ist kein Hersteller von Fotomasken.


Meine Fragen):

  1. Was genau verkauft ARM an einen Anbieter (z. B. Freescale)?
  2. Welcher Teil ist bei einem SoC (System On Chip) (z. B. iMx6 ) ARM und welcher Freescale? Wer hat die Integration gemacht?
aiao
quelle
1
Bei drei beteiligten Unternehmen kann es noch komplexer werden: ARM entwirft die IP für die CPU, Qualcomm entwirft damit ein Produkt (SOC) und lässt dann diesen Chip bei TSMC herstellen. Es ist auch möglich, dass TSMC auch das physische Layout erstellt, also nicht Qualcomm.
Bimpelrekkie
ARM verkauft ihre Prozessorkerne, sie geben Ihnen den Quellcode (definitiv in Verilog, vielleicht weiß ich nichts darüber), mit vielen Regeln und Gebühren. Die Prozessoren halten am AMDA / AXI-Bus an. Es ist eine andere Person oder ein anderer Code erforderlich, um diesen Prozessor mit anderen Dingen im Chip zu verbinden. ARM hat / verkauft andere Dinge, die mit einem SoC helfen, aber die Hauptsache sind die Prozessoren.
old_timer

Antworten:

29

Sie verwenden diese Begriffe falsch. "Computerorganisation" ist ein selten verwendeter Begriff für die Mikroarchitektur, und "Computerarchitektur" ist eine Obermenge davon.

IP-Blöcke für integrierte Schaltkreise gibt es in zwei Grundformen:

  • Ein Softmakro ist die RTL (VHDL oder Verilog), die die funktionale Implementierung des IP beschreibt. Dies wird in eine Netzliste auf Gate-Ebene kompiliert, die dann in ein physisches Layout umgewandelt wird, um das Maskenset für die Herstellung zu erstellen. Hier ist ein Beispiel von Cadence - ein Ethernet-MAC. Beim Kauf erhalten Sie Verilog-Dateien, Dokumentation und eine Verilog-Testumgebung zur Überprüfung.

  • Ein hartes Makro ist ein physisches Layout der IP, das für einen bestimmten Prozess geeignet ist. Es wird dem größeren Chip-Layout als einzelner Block hinzugefügt, wodurch einige Schritte im Designprozess eingespart werden. Hier ist ein weiteres Cadence-Beispiel - ein Ethernet-PHY. Es wird in 180-nm- und 130-nm-Prozessen bei TSMC, UMC und SMIC angeboten und in Form von GDSII-Layoutdateien an den Kunden geliefert.

ARM verkauft beide. Die MCUs, an denen ich gearbeitet habe, verwenden normalerweise weiche Makros von ARM Cortex-CPUs. Wir hatten ein älteres Produkt mit ARM7-Hardmakros, aber ich weiß nicht, ob sie von ARM oder uns gehärtet wurden. Heute hat ARM Hardmakro-Versionen der Cortex-A-Serie auf ihrer Website aufgelistet . Die meisten ihrer Produkte sind jedoch synthetisierbar (weiche Makros). Sie können den (weichen) Cortex-M0 anscheinend kostenlos für nichtkommerzielle Zwecke auf der ARM DesignStart- Website herunterladen .

In einem SoC ist der ARM-Teil nur die CPU. (Der Designer kann auch Peripherie-IP von ARM kaufen, dies ist jedoch nicht erforderlich.) Die SoCs, an denen ich gearbeitet habe, verfügen über eine Mischung aus IP von Drittanbietern und interner IP.

Adam Haun
quelle
4
ARM lizenziert die Architektur auch für benutzerdefinierte Designs (z. B. Qualcomms Kyro im Snapdragon 820). Harte Makros sind möglicherweise (für ein bestimmtes Ziel) besser optimiert als die üblichen Tools ( Processor Optimization Pack ). Theoretisch kann ein hartes Makro ein vollständiges benutzerdefiniertes Design verwenden, aber die Optimierung relativ weniger Komponenten (insbesondere Speicherkomponenten) bietet einen großen Vorteil bei geringeren Kosten.
Paul A. Clayton
13
  1. Was genau verkauft ARM an einen Anbieter (z. B. Freescale)?

Eine Lizenz zum Verkauf von Chips, die geistiges Eigentum von ARM enthalten.

  1. Bei einem SoC (System On Chip) (z. B. iMx6) ist dieser Teil ARM

Die Definition der CPU-Kerne und ihrer Schnittstellen.

... und was ist Freescale?

Die physische Implementierung, einschließlich des Entwurfs einer auf dem Chip enthaltenen Peripherielogik.

Wer hat die Integration gemacht?

Natürlich Freescale.

Dave Tweed
quelle
1
"Die Definition des CPU-Kerns (der CPU-Kerne) und ihrer Schnittstellen". Können Sie bitte erläutern, was unter "Definition" zu verstehen ist, schließt dies die vhdl des Kerns ein, oder muss dies frei skaliert werden, um es herauszufinden?
Aiao
1
Ja, die Definition enthält zweifellos eine HDL-Beschreibung (nicht unbedingt VHDL) des Kerns, da dies die am wenigsten mehrdeutige Art ist, diese Art von Informationen zu vermitteln.
Dave Tweed
11

Als ich an einem Chip-Design-Projekt beteiligt war, bei dem ein ARM integriert wurde, erhielten wir die Netzliste Verilog . Das heißt, eine vollständige Liste der Gates und Verbindungen, aus denen der Chip besteht, jedoch nicht in einer übergeordneten Form, die für eine einfache Änderung geeignet ist.

Wir haben dann unser eigenes Placement und Routing durchgeführt. Dies ist normalerweise bei jedem Projekt erforderlich, da die Form der dem ARM zugewiesenen Chipfläche unterschiedlich ist.

Ich glaube, dass mehrere Lizenzstufen verfügbar sind, sodass Sie einen platzierten Core bereits in einer Standardform kaufen können, um Zeit zu sparen.

(Platzierte Netzlisten sind genau so, wie sie sich anhören: eine Liste der Tore und ihrer Positionen.)

pjc50
quelle
3
"vollständige Liste der Tore und Verbindungen, aus denen der Chip besteht" - das muss eine verdammt gute Liste sein.
Rev1.0
3
Es ist nicht so schlimm - Cortex M0 ist nur 12K Tore. Es sind die großen GPU-Designs, die den Kampf ..
PJC50
Ich dachte, ein "Kern" ist Millionen oder Milliarden von Toren? Der Intel 4004 wurde angeblich benannt, weil er so viele Tore hat.
JDługosz
@ JDługosz: Der Intel 4004 hat 2.300 Transistoren, laut einer Transistor- Zählerliste .
Davidcary
2
@JDlugosz Die Verarbeitungs-Pipeline für Arm ist kurz und der Cache und die Unterstützung der Peripheriegeräte (die einen großen Beitrag zur Transistoranzahl leisten) sind vom Core-IP getrennt (Sie verbinden sie mit dem Bus). Der volle SOC / ASIC hat eine viel größere Gate-Anzahl. Ein Gerät wie ein x86 hat eine zusätzliche Mikrocode-Schicht und eine viel längere (10x) Pipeline, die z. B. eine komplexere Verzweigungsvorhersage erfordert, sowie einen Cache-
Speicher
5

ARM verkauft geistiges Eigentum an andere Unternehmen. In Ihrem Beispiel erwirbt Freescale die Nutzungsrechte für ARM IP, nämlich den Prozessorkern. Was ist der "Kern"? Der Kern ist so ziemlich alles, was kein Peripheriegerät ist, wie ein SPI-Treiber oder ein ADC oder DAC. Als Teil des Kerns umfasste ARM Hardwaresysteme, die als Brücken zwischen dem eigentlichen Prozessormaterial und dem Peripheriegerät des Kunden fungieren.

ARM bietet dem Kunden keine vollständige HDL für die zu erbringenden Leistungen an. Sie stellen Abstraktionen auf hoher Ebene bereit, mit denen die HDL des Endbenutzers verknüpft werden kann (HDL-Wrapper), und sie stellen wahrscheinlich auch das physische Layout des Kerns bereit.

ARM verkauft nicht nur Prozessorkerne, sondern verfügt auch über ein ganzes Segment komplexer IP-Adressen, bei denen es sich nicht um Prozessoren handelt. Wenn ARM einen Prozessorkern verkauft, erhalten sie Geld im Voraus und / oder Lizenzgebühren für alle Geräte, die mit ihren Designs verkauft werden. Es ist ein ziemlich gutes Geschäft für sie, wenn man bedenkt, dass es in freier Wildbahn ungefähr 10 Milliarden ARM-Prozessoren gibt.

Um zusammenzufassen:

  • ARM verkauft IP (Designs im Grunde) an Kunden, um sie in ihr Endprodukt zu integrieren
  • SoC-Hersteller wie Freescale entwerfen ihre eigenen Peripheriegeräte für den ARM-Kern.
Brendan Simpson
quelle