O que exatamente o ARM vende aos fornecedores?

28

Suposições:

  1. Arquitetura do computador: descreve como os diferentes módulos de um processador interagem entre si.

  2. Uma arquitetura de computador é definida usando vhdlarquivos

  3. Organização do computador: descreve o layout físico dos módulos do processador em silício.

  4. Uma organização de computadores é definida usando um conjunto de máscaras fotográficas (e processo de fabricação, por exemplo, produto químico, que ocorre em cada etapa)

  5. A organização de computadores, portanto, exige que o processo fab seja levado em consideração.

  6. A ARM não está no ramo de fabricação, portanto, não vende máscaras fotográficas.


Minhas perguntas):

  1. O que exatamente a ARM está vendendo para um fornecedor (por exemplo: escala de escala)?
  2. Para um SoC (System On Chip), (por exemplo: iMx6 ), qual parte é ARM e qual é Freescale? Quem fez a integração?
aiao
fonte
1
Pode ser ainda mais complexo com três empresas envolvidas: a ARM cria o IP para CPU, a Qualcomm cria um produto (SOC) com isso e depois faz com que o chip seja fabricado na TSMC. Também é possível que o TSMC também faça a geração do layout físico, não a Qualcomm.
Bimpelrekkie 06/04
O ARM vende seus núcleos de processador, eles fornecem o código fonte (definitivamente no verilog, talvez vhdl eu não conheço isso), com muitas regras e taxas. Os processadores param no barramento AMDA / AXI, é necessário alguém ou algum outro código para conectar esse processador a outras coisas no chip. A ARM vende / vendeu outras coisas que ajudam com um SoC, mas o principal é os processadores.
old_timer

Respostas:

29

Você está usando esses termos de forma errada. "Organização de computadores" é um termo raramente usado para microarquitetura e "arquitetura de computadores" é um superconjunto disso.

Os blocos IP de circuito integrado são apresentados de duas formas básicas:

  • Uma macro flexível é o RTL (VHDL ou Verilog) que descreve a implementação funcional do IP. Isso é compilado em uma netlist no nível do portão, que é transformada em um layout físico para produzir o conjunto de máscaras para fabricação. Aqui está um exemplo da Cadence - um Ethernet MAC. Ao comprá-lo, você obtém arquivos, documentação e um banco de testes Verilog para verificação.

  • Uma macro rígida é um layout físico do IP adequado para um determinado processo. Ele é adicionado ao layout maior do chip como um único bloco, o que economiza algumas etapas no processo de design. Aqui está outro exemplo de cadência - um Ethernet PHY. É oferecido nos processos de 180nm e 130nm no TSMC, UMC e SMIC e é entregue ao cliente na forma de arquivos de layout GDSII.

A ARM vende ambos. Os MCUs em que trabalhei geralmente usam macros suaves de CPUs ARM Cortex. Tínhamos um produto mais antigo com macros rígidas do ARM7, mas não sei se elas foram reforçadas por nós ou pela ARM. Hoje, o ARM possui versões macro rígidas da série Cortex-A listadas em seu site . A maioria de seus produtos é sintetizável (macros flexíveis). Parece que você pode fazer o download gratuito do Cortex-M0 (macio) para uso não comercial no site do ARM DesignStart .

Em um SoC, a parte ARM é apenas a CPU. (O designer também pode comprar IP periférico da ARM, mas não é necessário.) Os SoCs em que trabalhei têm uma mistura de IP interno e de terceiros.

Adam Haun
fonte
4
O ARM também licencia a arquitetura para projetos personalizados (por exemplo, Kyro da Qualcomm no Snapdragon 820). Macros rígidas também podem ser mais altamente otimizadas (para um determinado destino) do que as ferramentas comuns fornecerão ( Processor Optimization Pack ). Em teoria, uma macro rígida pode usar o design personalizado completo, mas a otimização de relativamente poucos componentes (especialmente componentes de memória) fornece muito do benefício por menos custo.
Paul A. Clayton
13
  1. O que exatamente a ARM está vendendo para um fornecedor (por exemplo: escala de escala)?

Uma licença para vender chips que incluem propriedade intelectual da ARM.

  1. Para um SoC (System On Chip), (por exemplo: iMx6), qual parte é ARM

A definição do (s) núcleo (s) da CPU e suas interfaces.

... e qual é o Freescale?

A implementação física, incluindo o design de qualquer lógica periférica incluída no chip.

Quem fez a integração?

Freescale, é claro.

Dave Tweed
fonte
1
"A definição do (s) núcleo (s) da CPU e suas interfaces" .. você pode, por favor, elaborar o que se entende por "definição", isso inclui o vhdl do núcleo ou é deixado em escala livre para descobrir?
Aião
1
Sim, a definição sem dúvida inclui uma descrição HDL (não necessariamente VHDL) do núcleo, porque essa é a maneira menos ambígua de transmitir esse tipo de informação.
Dave Tweed
11

Quando eu estava envolvido em um projeto de design de chips que envolvia a integração de um ARM, o que obtivemos foi o netlist Verilog . Ou seja, uma lista completa dos portões e conexões que compõem o chip, mas não em um formato de nível superior adequado para fácil modificação.

Em seguida, fizemos nosso próprio posicionamento e roteamento. Isso geralmente é necessário em cada projeto, pois o formato da área de chip alocado para o ARM será diferente.

Acredito que vários níveis de licença estejam disponíveis para que você possa comprar um núcleo colocado em um formato padrão já para economizar tempo.

(As listas de rede colocadas são exatamente como parecem: uma lista de portões e suas localizações.)

pjc50
fonte
3
"lista completa dos portões e conexões que compõem o chip" - deve ser uma lista infernal.
Rev1.0
3
Não é tão ruim - o Cortex M0 tem apenas 12K de portas. São os grandes projetos de GPU que são a luta ..
pjc50
Eu pensei que um "núcleo" é de milhões ou bilhões de portões? O Intel 4004 foi nomeado porque tem muitos portões.
JDługosz 06/04
@ JDługosz: O Intel 4004 possui 2.300 transistores, de acordo com uma lista de contagens de transistores .
Davidcary
2
@JDlugosz O pipeline de processamento para arm é curto e o cache e o suporte nos periféricos de matriz (grande contribuinte para a contagem de transistores) são separados do ip principal (você os conecta ao barramento). O SOC / ASIC completo terá uma contagem de portas muito maior. Um dispositivo como um x 86 tem uma camada adicional microcódigo e um (10x) oleoduto muito mais necessitando por exemplo previsão de desvio mais complexo, bem como em cache de matriz e, recentemente, em MMU fieira
crasic
5

A ARM vende propriedade intelectual (PI) para outras empresas. No seu exemplo, a Freescale adquire os direitos de uso do ARM IP, ou seja, o núcleo do processador. Qual é o "núcleo"? O núcleo é praticamente qualquer coisa que não seja periférica, como um driver SPI ou um ADC ou DAC. Como parte do núcleo, o ARM incluiu sistemas de hardware para atuar como pontes entre o material real do processador e o periférico do cliente.

No que diz respeito às entregas, o ARM não fornece um HDL completo para o cliente. Eles fornecem abstrações de alto nível com as quais o HDL do usuário final pode se vincular (invólucros de HDL) e também provavelmente fornecem o layout físico do núcleo.

O ARM vende mais do que apenas núcleos de processador, eles também têm todo um segmento de IP complexo que não são processadores. Quando a ARM vende um núcleo de processador, eles recebem dinheiro antecipadamente e / ou recebem royalties sobre todos os dispositivos vendidos com seus designs. É um bom negócio para eles, considerando que existem cerca de 10 bilhões de processadores ARM em estado selvagem.

Resumindo:

  • A ARM vende IP (basicamente desenhos) para clientes para integrar em seu produto final
  • Fabricantes de SoC como a Freescale projetam seus próprios periféricos para o núcleo do ARM.
Brendan Simpson
fonte