Co dokładnie sprzedaje ARM dostawcom?

28

Założenia:

  1. Architektura komputera: opisuje, w jaki sposób różne moduły procesora współdziałają ze sobą.

  2. Architektura komputera jest definiowana za pomocą vhdlplików

  3. Organizacja komputera: opisuje fizyczny układ modułów procesora na krzemie.

  4. Organizację komputerową definiuje się za pomocą zestawu masek fotograficznych (i procesu produkcyjnego, np. Chemicznego, który przebiega na każdym etapie)

  5. Dlatego organizacja komputerowa wymaga wzięcia pod uwagę procesu fab.

  6. ARM nie zajmuje się produkcją, dlatego nie sprzedaje masek fotograficznych.


Moje pytania):

  1. Co dokładnie sprzedaje ARM dostawcy (np. Freescale)?
  2. W przypadku SoC (System On Chip), (np .: iMx6 ), która część to ARM, a która Freescale? Kto dokonał integracji?
aiao
źródło
1
Może być jeszcze bardziej skomplikowany przy zaangażowaniu 3 firm: ARM projektuje adres IP procesora, Qualcomm projektuje z nim produkt (SOC), a następnie ma układ wykonany w TSMC. Możliwe jest również, że TSMC również generuje układ fizyczny, więc nie Qualcomm.
Bimpelrekkie 06.04.16
ARM sprzedaje swoje rdzenie procesorów, daje ci kod źródłowy (zdecydowanie w verilog, być może vhdl o tym nie wiem), z wieloma zasadami i opłatami. Procesory zatrzymują się na magistrali AMDA / AXI, do połączenia tego procesora z innymi elementami w układzie wymagany jest ktoś inny lub inny kod. ARM sprzedaje / sprzedaje inne rzeczy, które pomagają w SoC, ale najważniejsze są procesory.
old_timer,

Odpowiedzi:

29

Źle używasz tych terminów. „Organizacja komputerowa” jest rzadko używanym terminem na mikroarchitekturę, a „architektura komputerowa” jest jej nadzbiorem.

Bloki IP układów scalonych występują w dwóch podstawowych formach:

  • Miękki makro jest RTL (VHDL lub Verilog), który opisuje funkcjonalne wdrożenie OD. Jest to kompilowane w netlistę na poziomie bramy, która jest następnie przekształcana w fizyczny układ w celu wytworzenia zestawu masek do produkcji. Oto przykład z Cadence - MAC MAC. Kupując, otrzymujesz pliki Verilog, dokumentację i środowisko testowe Verilog do weryfikacji.

  • Ciężko makro to fizyczny układ OD odpowiednie dla danego procesu. Jest dodawany do większego układu czipów jako pojedynczy blok, co pozwala zaoszczędzić kilka kroków w procesie projektowania. Oto kolejny przykład kadencji - PHY Ethernet. Jest oferowany w procesach 180 nm i 130 nm w TSMC, UMC i SMIC i jest dostarczany do klienta w postaci plików układu GDSII.

ARM sprzedaje oba. MCU, nad którymi pracowałem, zwykle używają miękkich makr procesorów ARM Cortex. Mieliśmy starszy produkt z twardymi makrami ARM7, ale nie wiem, czy zostały zahartowane przez ARM czy nas. Dziś ARM ma twarde wersje makro serii Cortex-A wymienione na ich stronie internetowej . Większość ich produktów można jednak syntezować (makra miękkie). Wygląda na to, że możesz pobrać (miękki) Cortex-M0 za darmo do niekomercyjnego użytku na stronie ARM DesignStart .

W SoC część ARM to tylko procesor. (Projektant może również kupić peryferyjne IP od ARM, ale nie jest to wymagane.) SoCs, nad którymi pracowałem, mają połączenie IP zewnętrznego i wewnętrznego.

Adam Haun
źródło
4
ARM licencjonuje również architekturę dla niestandardowych projektów (np. Kyro Qualcomm w Snapdragon 820). Makra twarde mogą być również bardziej zoptymalizowane (dla danego celu) niż zapewnią popularne narzędzia ( pakiet optymalizacji procesora ). Teoretycznie twarde makro może korzystać z pełnego niestandardowego projektu, ale optymalizacja stosunkowo niewielu komponentów (zwłaszcza komponentów pamięci) zapewnia wiele korzyści przy niższych kosztach.
Paul A. Clayton,
13
  1. Co dokładnie sprzedaje ARM dostawcy (np. Freescale)?

Licencja na sprzedaż układów zawierających własność intelektualną ARM.

  1. W przypadku SoC (System On Chip), (np .: iMx6), której częścią jest ARM

Definicja rdzeni procesora i ich interfejsów.

... a który to Freescale?

Fizyczna implementacja, w tym projektowanie dowolnej logiki peryferyjnej zawartej w układzie.

Kto dokonał integracji?

Oczywiście Freescale.

Dave Tweed
źródło
1
„Definicja rdzenia (rdzeni) procesora i ich interfejsów”. Czy mógłbyś wyjaśnić, co należy rozumieć przez „definicję”, czy obejmuje to vhdl rdzenia, czy też należy to wyjaśnić?
aiao,
1
Tak, definicja niewątpliwie obejmuje opis rdzenia HDL (niekoniecznie VHDL), ponieważ jest to najmniej dwuznaczny sposób przekazywania tego rodzaju informacji.
Dave Tweed
11

Gdy byłem zaangażowany w projekt projektowania układów scalonych obejmujący integrację ARM, otrzymaliśmy netlist Verilog . Oznacza to pełną listę bramek i połączeń, które tworzą układ, ale nie w formie nadrzędnej, nadającej się do łatwej modyfikacji.

Następnie wykonaliśmy własne rozmieszczenie i routing. Jest to zwykle konieczne w każdym projekcie, ponieważ kształt obszaru chipa przydzielonego do ARM będzie inny.

Uważam, że dostępnych jest wiele poziomów licencji, dzięki czemu można już kupić umieszczony rdzeń w standardowym kształcie, aby zaoszczędzić czas.

(Umieszczone listy sieciowe są dokładnie tak, jak brzmią: lista bram i ich lokalizacji).

pjc50
źródło
3
„pełna lista bramek i połączeń, które składają się na układ” - to musi być piekło.
Rev1.0
3
Nie jest tak źle - Cortex M0 to tylko 12K bramek. To wielkie projekty układów GPU to walka.
pjc50
Myślałem, że „rdzeń” to miliony czy miliardy bram? Intel 4004 został podobno nazwany, ponieważ ma tyle bram.
JDługosz
@ JDługosz: Intel 4004 ma 2300 tranzystorów, według jednej listy liczników tranzystorów .
davidcary,
2
@JDlugosz Rurociąg przetwarzania dla ramienia jest krótki, a pamięć podręczna i obsługa urządzeń peryferyjnych matrycy (duży wkład w liczbę tranzystorów) są oddzielone od rdzenia IP (podłączasz je do magistrali). Pełna SOC / ASIC będzie miała znacznie większą liczbę bramek. Urządzenie takie jak x86 ma dodatkową warstwę mikrokodu i znacznie dłuższy (10x) potok, wymagający np. Bardziej złożonego przewidywania rozgałęzień, a także pamięci podręcznej matrycy, a ostatnio także MMU
krytyczny
5

ARM sprzedaje własność intelektualną (IP) innym firmom. W twoim przykładzie Freescale nabywa prawa do korzystania z ARM IP, a mianowicie rdzenia procesora. Co to jest „rdzeń”? Rdzeniem jest prawie wszystko, co nie jest urządzeniem peryferyjnym, takie jak sterownik SPI lub ADC lub DAC. W ramach rdzenia ARM obejmował systemy sprzętowe, które działają jako pomost między faktycznym procesorem a urządzeniami peryferyjnymi klienta.

Jeśli chodzi o produkty, ARM nie zapewnia pełnego HDL dla klienta. Zapewniają abstrakcje wysokiego poziomu, z którymi HDL użytkownika końcowego może łączyć się (owijki HDL), a także zapewnią fizyczny układ rdzenia.

ARM sprzedaje więcej niż tylko rdzenie procesorów, mają również cały segment skomplikowanych adresów IP, które nie są procesorami. Kiedy ARM sprzedaje rdzeń procesora, otrzymuje pieniądze z góry i / lub tantiemy na wszystkich sprzedawanych urządzeniach z ich projektami. To dla nich całkiem dobra okazja, biorąc pod uwagę, że na wolności jest około 10 miliardów procesorów ARM.

Podsumowując:

  • ARM sprzedaje IP (projekty w zasadzie) klientom w celu integracji z ich produktem końcowym
  • Twórcy SoC, tacy jak Freescale, projektują własne urządzenia peryferyjne dla rdzenia ARM.
Brendan Simpson
źródło