Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Integrado

Desvendando o mistério das extensões personalizadas no design de SoC RISC-V


Falar em configurar um processador básico ou adicionar extensões personalizadas para resolver as compensações de design de hardware-software em um sistema no chip (SoC) não é novo. Esta tem sido uma parte fundamental da proposta de valor adotada pela comunidade RISC-V, com muitas informações publicadas sobre seus benefícios, como este, “ Um guia para acelerar aplicativos com instruções personalizadas RISC-V perfeitas . ”

Ao projetar um sistema para muitos produtos hoje, o consumo de energia, o desempenho e a área da matriz restringem muitos dos complexos requisitos de SoC artificial (IA) e de aprendizado de máquina (ML).

A extensão da arquitetura de conjunto de instruções (ISA) RISC-V de código aberto é freqüentemente negligenciada como um meio eficaz de abordar essas restrições. Um recente painel de webinar liderado pela Quantum Leap Solutions, uma empresa de serviços de design para a indústria de semicondutores, tentou ajudar a desvendar o mistério de estender o ISA RISC-V para designs de SoC. O webinar intitulado “ Flexibilidade RISC-V - O Poder das Extensões Personalizadas , ”Respondeu a perguntas de mais de 100 participantes.

Os painelistas tentaram fornecer uma visão sobre a função do ISA modificado no projeto para aplicativos emergentes e como os designers veem as extensões da nova arquitetura de conjunto de instruções RISC-V.

Moderado por Mike Ingster, fundador e presidente da Quantum Leap Solutions, os painelistas foram:

Mike Ingster: Por que o RISC-V é uma opção melhor para aplicativos de aprendizado de AI e ML do que outras arquiteturas de CPU?

John Min :A época em que RISC-V foi inventado coincidiu com a integração da IA. O conjunto de instruções vetoriais RISC-V foi projetado com os tipos de aplicativos AI e VR em mente.

Larry Lapides :Eu acrescentaria que em um aplicativo de IA com uma matriz multiplex de processadores heterogêneos - uma arquitetura que vimos implementada em mais de uma ocasião - o designer pode combinar processadores escalares e vetoriais dentro da matriz. Em segundo lugar, a arquitetura RISC-V permite que o designer remova funcionalidades desnecessárias enquanto preserva as instruções vetoriais. Isso oferece melhor preço, desempenho e área - PPA.

Ingster :Os núcleos RISC-V com extensões de vetor também podem ser estendidos com instruções personalizadas?

Min :Sim. Um exemplo é um núcleo de vetor RISC-V com uma implementação de referência que emprega extensões do cliente para adicionar buffers extras. Isso evita que a unidade de vetor pare por falta de dados.

Lapides :Imperas e Andes têm clientes conjuntos que implementaram funções personalizadas para ajudar nesta área.

Ingster :Em uma matriz de multiprocessadores, todas as CPUs precisam ter a mesma configuração? Ou eles podem ter instruções personalizadas diferentes?

Lapides :Sim, processadores heterogêneos em um design SoC são comuns. Além disso, não são apenas as instruções personalizadas que podem variar de um processador para outro. As instruções básicas de cada processador também podem variar. Por exemplo, um processador pode ter instruções vetoriais e outras instruções escalares do processador. Eles podem ser intercalados e combinados.

Min :Em uma matriz multiplexada, as CPUs e os simuladores podem ser heterogêneos para permitir a simulação de vários núcleos.

Ingster :Você vê um processador RISC-V de classe de servidor no mercado?

Min :Ele está chegando. O design da CPU com o tempo torna-se mais rápido de maneiras diferentes. Uma é aumentando a frequência. Outra é estender o pipeline da CPU. Outra é projetar o processador para executar instruções fora de ordem. E haverá uma ampliação da largura de execução para fornecer uma organização superescalar ou - o que está se tornando comum hoje - projetos que empregam milhares de multicores. É apenas uma questão de tempo antes de vermos esses elementos incorporados aos processadores RISC-V de próxima geração para aplicativos corporativos de IA.

Lapides :Se olharmos para a história passada do RISC-V, veremos que inicialmente havia SoCs de prova de conceito que eram de 32 e 64 bits, mas há cerca de dois anos começamos a ver SoCs focados em segurança e IoT:SoCs de 32 bits competitivos com microcontroladores. Agora estamos começando a ver os primeiros processadores de classe de aplicativo. Eles não são de classe de servidor, mas estamos vendo o silício inicial em processadores RISC-V de 64 bits executando RTOS reais para aplicativos de ponta. Estamos começando a ver alguns pipelines fora de ordem sendo construídos. Eu esperaria os primeiros processadores RISC-V da classe de servidor nos próximos dois a três anos.

Ingster :As extensões personalizadas podem fornecer segurança do dispositivo e gerenciamento do ciclo de vida?

Min :Sim, dependendo da implementação. Por exemplo, habilitando uma extensão de instrução para realizar a verificação. O programa verifica a extensão personalizada. Se não estiver presente, o software é impedido de ser executado. Outra opção é implementar uma porta personalizada para a memória. Portanto, a CPU RISC-V teria um barramento privado para a memória em vez de usar o barramento principal.

Taek Nam :Os designers podem usar IP analítico integrado da Tessent para gerenciamento de segurança e ciclo de vida em SoCs com extensões personalizadas.

Ingster :Por que a abordagem RISC-V para instruções personalizadas é diferente de outras, como ARC e Tensilica?

Min :CPUs empregam extensões personalizadas para acelerar uma tarefa específica. O que torna o RISC-V diferente é que ele oferece um mecanismo formal para incorporar a extensão personalizada ao padrão.

Ingster :Como um desenvolvedor pode compartilhar instruções personalizadas com clientes ou parceiros?

Min :Existem três opções. Em primeiro lugar, mantenha-o privado. Em segundo lugar, proponha o acréscimo ao RISC-V International para inclusão no padrão. Por exemplo, Andes doou um conjunto de instruções DSP para a RISC-V International. Estas são agora as extensões P do padrão RISC-V. Terceiro, se você compartilhar o uso da instrução com outras pessoas, estará compartilhando os intrínsecos e o arquivo de cabeçalho. Se você planeja compartilhar a implementação da instrução personalizada, pode precisar fazer um NDA de três vias.

Lapides :O desenvolvedor de extensão customizada pode passar o modelo para seus clientes ou parceiros como um modelo de código aberto ou binário, um ISS ou modelo de processador preciso de instrução, que pode ser usado para o desenvolvimento inicial de software pré-silício.

Ingster :As extensões personalizadas levarão a problemas de compatibilidade na comunidade RISC-V?

Min :Isso vai depender de como as instruções personalizadas são usadas. Se uma instrução customizada for mantida proprietária, por definição, ela não causará fragmentação, uma vez que o desenvolvedor é o único a usá-la. Se a instrução personalizada se tornar tão bem-sucedida que está sendo usada por muitos outros, talvez seja hora de incorporá-la ao conjunto RISC-V básico. A decisão é do criador torná-lo público ou mantê-lo proprietário. De qualquer maneira, nenhuma fragmentação ocorrerá.

Ingster :O processador vetorial é compatível com um compilador em sua versão atual?

Min :As extensões de vetor RISC-V, versão 0.8, são estáveis ​​o suficiente para que os compiladores as suportem. Tanto o GCC quanto o LLVM suportam a versão 0.8 existente da especificação. As versões finais dos compiladores estarão disponíveis quando a especificação RISC-V Vector Extension for finalizada.

Ingster :Como as extensões personalizadas são suportadas na cadeia de ferramentas de software?

Lapides :Os designers adicionam as extensões personalizadas ao seu modelo RISC-V, fornecendo assim um simulador de conjunto de instruções que pode ser usado para o desenvolvimento de software. No lado da cadeia de ferramentas, o suporte para novas extensões personalizadas pode ser adicionado ao GCC e LLVM. Ambos são cadeias de ferramentas de código aberto e podem ser modificados a critério do cliente. Os designers também podem montar uma implementação de macro para dar suporte a uma instrução personalizada.

Ingster :Como o compilador é informado sobre uma instrução personalizada recém-criada?

Lapides :A equipe de software deve implementar a instrução no compilador.

Min :Uma alternativa sem o trabalho árduo de fazer a adição, especialmente se a intenção é manter a instrução proprietária, é tratar a instrução personalizada como uma biblioteca - por exemplo, bibliotecas DSP. Então, quando a instrução personalizada for necessária na execução do programa, chame a biblioteca com um arquivo de cabeçalho. Assim, para um trabalho mínimo, a equipe de design obtém muito do ganho esperado com a criação de uma função personalizada.

Ingster :Quais sistemas operacionais são compatíveis com RISC-V e há suporte para Android?

Lapides :Eu não vi suporte para Android, mas existem alguns dispositivos vestíveis projetados com RISC-V. O RTOS gratuito do Linux, o Zephyr RTOS são os principais suportados. Existem outros sistemas operacionais de tempo real suportados. A página da web do software da RISC-V International possui uma lista completa.

Min :O sistema operacional Android não foi verificado nos processadores RISC-V. Eu acredito que é mais um exercício de transferência do que uma questão de como ele pode ser executado. Os núcleos RISC-V atualmente executam Linux.

Ingster :Como as extensões personalizadas são verificadas?

Lapides :Extensões personalizadas são adicionadas ao RTL do design, mas também devem ser adicionadas ao modelo do processador. As instruções personalizadas, bem como os registros personalizados, podem ser verificados com esse recurso. Normalmente, adicionar extensões ao modelo de processador em execução em um simulador de conjunto de instruções permite o desenvolvimento de software.

Taek: Recentemente, um cliente implementou instruções personalizadas em seu SoC. Usando nosso IP analítico incorporado, seu objetivo era verificar a melhoria de desempenho do software com a adição de extensões personalizadas. Isso foi feito usando rastreamento para rastrear os dados e a execução da instrução. Este é um meio eficaz de validar a melhoria do desempenho.

Ingster :Quanta área é necessária para adicionar o IP analítico incorporado?

Taek: Não há uma resposta padrão, mas 1 por cento é uma cotação típica para a área dedicada ao IP analítico incorporado. Essa estimativa inclui modelos analíticos, comunicador e tecido de mensagem conectando esses elementos. Como os blocos têm várias opções, diferentes configurações são possíveis. O design de cada cliente é avaliado e o IP analítico incorporado é configurado para implementação em seu design. Desta forma, a área total é estimada. Determinamos uma solução que pode minimizar o impacto da área para fornecer o melhor valor para um determinado projeto.

Estes são os destaques do painel, cuja versão completa é hospedada por Soluções Quantum Leap .

Integrado

  1. O que é 'Alcance' de um ímã?
  2. A função do design auxiliado por computador (CAD) na impressão 3D
  3. Os desafios do design de produto
  4. Otimizando a linha de alimentação RF no design de PCB
  5. Bluetooth 5.1 SoC foi projetado para reduzir o tamanho e o custo do projeto
  6. Pacote de design PCB leva para a nuvem
  7. Os benefícios da prototipagem de PCBs
  8. Atualizamos o recurso "Como projetar gabinetes personalizados para placas-mãe"
  9. Por que a fabricação personalizada é o futuro
  10. O papel das instruções de trabalho na empresa