Was genau verkauft ARM an Anbieter?

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 mithilfe einer Reihe von Fotomasken definiert (und eines Herstellungsprozesses, z. B. einer Chemikalie, die bei jedem Schritt ausgeführt wird).

  5. Die Computerorganisation erfordert daher, dass der Fab-Prozess berücksichtigt wird.

  6. ARM ist nicht im Herstellungsgeschäft tätig und verkauft daher keine Fotomasken.


Meine Fragen):

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

Antworten (5)

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 Schaltungen gibt es in zwei Grundformen:

  • Ein Soft-Makro 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 den Maskensatz für die Herstellung zu erzeugen. Hier ist ein Beispiel von Cadence – ein Ethernet-MAC. Beim Kauf erhalten Sie Verilog-Dateien, Dokumentation und eine Verilog-Testbench zur Verifizierung.

  • Ein hartes Makro ist ein physisches Layout des IP, das für einen bestimmten Prozess geeignet ist. Er 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 beides. Die MCUs, an denen ich gearbeitet habe, verwenden normalerweise Soft-Makros von ARM-Cortex-CPUs. Wir hatten einige ältere Produkte mit ARM7-Hard-Makros, aber ich weiß nicht, ob sie von ARM oder uns gehärtet wurden. Heute hat ARM Hard-Makro-Versionen der Cortex-A-Serie auf seiner Website aufgelistet . Die meisten ihrer Produkte sind jedoch synthetisierbar (Soft-Makros). Es sieht so aus, als ob Sie den (weichen) Cortex-M0 kostenlos für die nicht-kommerzielle Nutzung auf der ARM DesignStart - Website herunterladen können.

In einem SoC ist der ARM-Teil nur die CPU. (Der Designer kann auch Peripherie-IP von ARM kaufen, aber das ist nicht erforderlich.) Die SoCs, an denen ich gearbeitet habe, haben eine Mischung aus Drittanbieter- und interner IP.

ARM lizenziert die Architektur auch für kundenspezifische Designs (z. B. Qualcomms Kyro im Snapdragon 820). Harte Makros können auch stärker optimiert sein (für ein bestimmtes Ziel), als herkömmliche Tools bieten ( Prozessor-Optimierungspaket ). Theoretisch kann ein hartes Makro vollständig benutzerdefiniertes Design verwenden, aber die Optimierung relativ weniger Komponenten (insbesondere Speicherkomponenten) bietet einen großen Teil des Nutzens zu geringeren Kosten.
  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) (zB: iMx6), welcher Teil ARM ist

Die Definition der CPU-Kerne und ihrer Schnittstellen.

... und was ist Freescale?

Die physische Implementierung, einschließlich des Entwurfs jeglicher peripherer Logik, die auf dem Chip enthalten ist.

Wer hat die Integration durchgeführt?

Freescale natürlich.

"Die Definition der CPU-Kerne und ihrer Schnittstellen". Können Sie bitte erläutern, was mit "Definition" gemeint ist, schließt das die vhdl des Kerns ein, oder ist dies Freescale überlassen, um dies herauszufinden?
Ja, die Definition enthält zweifellos eine HDL- (nicht unbedingt VHDL-) Beschreibung des Kerns, da dies die am wenigsten zweideutige Art ist, diese Art von Informationen zu übermitteln.
Hallo Dave, ich wurde von law.stackexchange.com/questions/72781/… hierher geleitet . Ich habe im Wiki und einigen anderen "Blogs" über RISC-V in ARM gelesen. „Experten“ behaupten, RISC-V sei eine lizenzfreie Architektur, ARM jedoch nicht. Ich sehe, dass ARM tatsächliche Kerndesigns verkauft, aber meine Frage ist: Kann jemand "frei" einen Chip bauen, um zB ARM v9-Befehlssätze zu verarbeiten?
@Martian2020: IANAL, aber ich glaube, die Antwort wäre "Ja". Die Definition der ARM-ISA ist leicht verfügbar, und obwohl die eigenen Implementierungen von ARM urheberrechtlich geschützt/lizenziert sind, hindert dies niemanden daran, ihre eigene unabhängige Implementierung durchzuführen. Ich denke, die Schlüsselfrage wäre, ob es Patente auf die ISA (oder Schlüsselelemente davon) gibt, die durch eine unabhängige Implementierung verletzt würden.

Als ich an einem Chip-Design-Projekt beteiligt war, bei dem es um die Integration eines ARM ging, bekamen wir die Netzliste Verilog . Das heißt, eine vollständige Liste der Gates und Verbindungen, aus denen der Chip besteht, jedoch nicht in einer Form höherer Ebene, die für eine einfache Modifikation geeignet ist.

Wir haben dann unsere eigene Platzierung und Routing durchgeführt. Dies ist normalerweise bei jedem Projekt erforderlich, da die Form des ARM zugewiesenen Chipbereichs unterschiedlich sein wird.

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

(Platzierte Netzlisten sind genau so, wie sie sich anhören: eine Liste von Gates und ihren Positionen.)

"vollständige Liste der Gatter und Verbindungen, aus denen der Chip besteht" - das muss eine verdammt gute Liste sein.
Es ist nicht so schlimm - Cortex M0 hat nur 12K Gates. Es sind die großen GPU-Designs, die den Kampf ausmachen.
Ich dachte, ein "Kern" besteht aus Millionen oder Milliarden von Toren? Der Intel 4004 wurde Berichten zufolge so benannt, weil er so viele Gates hat.
@JDługosz: Der Intel 4004 hat laut einer Transistorzählliste 2.300 Transistoren .
12000 Gatter sind also immer noch bemerkenswert klein für eine 32-Bit-CPU.
@JDlugosz Die Verarbeitungspipeline für Arm ist kurz und der Cache und die Unterstützung auf den Peripheriegeräten (großer Beitrag zur Transistoranzahl) sind von der Kern-IP getrennt (Sie verbinden sie mit dem Bus). Das vollständige SOC/ASIC wird eine viel größere Gate-Anzahl haben. Ein Gerät wie ein x86 hat eine zusätzliche Microcode-Schicht und eine viel längere (10x) Pipeline, die zB eine komplexere Verzweigungsvorhersage sowie einen On-Die-Cache und neuerdings eine On-Die-MMU erfordert
Nun, Sie können einen ARM mit einer längeren Pipeline, mehr Funktionen und einer weitaus höheren Gate-Anzahl erhalten, wenn Sie möchten: Dafür ist die Cortex-A-Serie gedacht. Dieselbe Architektur ist an verschiedenen Größen-/Leistungs-Kompromisspunkten verfügbar.
@JDługosz Sie denken an High-End-Desktop-Prozessoren. Die CPUs auf Mikrocontrollern sind viel kleiner. Cortex-M3s haben etwa 40.000 Gates.
@JDługosz: Der 4004 war der erste Mikroprozessor, der 1971 hergestellt wurde, und er wurde so genannt, weil er ein 4-Bit-Prozessor war (seine logische arithmetische Einheit hatte 4 Bit). Laut dem Buch von Douglas V. Hall hatte es 2300 PMOS (wie Davidcary betonte). Sein Nachfolger, der 1972 erschienene 8008, war ein Prozessor mit einem 8-Bit-Wort. Es folgte der 8080 (immer noch 8-Bit), und erst mit der Veröffentlichung des 8086 (gefolgt von 80186 und 80286) änderte sich die Wortgröße (gelesene ALU-Größe) auf 16 Bit. Erst mit der Veröffentlichung des 80386 wurde die Wortgröße auf 32 Bit geändert.

ARM verkauft geistiges Eigentum (IP) an andere Unternehmen. In Ihrem Beispiel erwirbt Freescale die Rechte zur Nutzung von ARM-IP, nämlich des Prozessorkerns. 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 den Peripheriegeräten des Kunden fungieren.

In Bezug auf die Leistungen stellt ARM dem Kunden kein vollständiges HDL zur Verfügung. Sie bieten Abstraktionen auf hoher Ebene, mit denen das HDL des Endbenutzers verknüpft werden kann (HDL-Wrapper), und sie stellen wahrscheinlich auch das physische Layout des Kerns bereit.

ARM verkauft mehr als nur Prozessorkerne, sie haben auch ein ganzes Segment komplexer IP, die keine Prozessoren sind. Wenn ARM einen Prozessorkern verkauft, erhalten sie Geld im Voraus und/oder sie erhalten 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 ungefähr 10 Milliarden ARM-Prozessoren in freier Wildbahn gibt.

Um zusammenzufassen:

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

Abgesehen von der Lizenzierung des geistigen Eigentums von Halbleitern lizenziert ARM auch seine Befehlssatzarchitektur an Unternehmen, die kundenspezifische ARM-CPUs bauen. Apple hat das zum Beispiel mit dem M1-Chip gemacht; Sie haben den Befehlssatz von ARM lizenziert und ihre eigene CPU-Implementierung erstellt.