Projeto do processador

Da Wikipédia, a enciclopédia livre
Ir para a navegação Saltar para pesquisar

O design do processador é um subcampo da engenharia da computação e engenharia eletrônica (fabricação) que lida com a criação de um processador , um componente-chave do hardware do computador .

O processo de projeto envolve a escolha de um conjunto de instruções e um certo paradigma de execução (por exemplo, VLIW ou RISC ) e resulta em uma microarquitetura , que pode ser descrita em, por exemplo, VHDL ou Verilog . Para o projeto do microprocessador , esta descrição é então fabricada empregando alguns dos vários processos de fabricação de dispositivos semicondutores , resultando em uma matriz que é ligada a um portador de chip . Este portador de chip é então soldado ou inserido em um soquete em uma placa de circuito impresso (PCB).

O modo de operação de qualquer processador é a execução de listas de instruções. As instruções normalmente incluem aquelas para calcular ou manipular valores de dados usando registradores , alterar ou recuperar valores na memória de leitura/gravação, realizar testes relacionais entre valores de dados e controlar o fluxo do programa.

Projetos de processadores são frequentemente testados e validados em um ou vários FPGAs antes de enviar o projeto do processador para uma fundição para fabricação de semicondutores . [1]

Detalhes [ editar ]

Básico [ editar ]

O design da CPU é dividido em design dos seguintes componentes:

  1. Caminhos de dados (como ALUs e pipelines )
  2. Unidade de controle : lógica que controla os caminhos de dados
  3. Componentes de memória , como arquivos de registro , caches
  4. Circuitos de relógio , como drivers de relógio, PLLs , redes de distribuição de relógio
  5. Circuito do transceptor pad
  6. Biblioteca de célula de porta lógica que é usada para implementar a lógica

As CPUs projetadas para mercados de alto desempenho podem exigir designs personalizados (otimizados ou específicos do aplicativo (veja abaixo)) para cada um desses itens para atingir as metas de frequência, dissipação de energia e área de chip, enquanto CPUs projetadas para mercados de desempenho inferior podem diminuir a implementação ônus adquirindo alguns desses itens comprando-os como propriedade intelectual . Técnicas de implementação de lógica de controle ( síntese lógica usando ferramentas CAD) podem ser usadas para implementar caminhos de dados, arquivos de registro e relógios. Os estilos de lógica comuns usados ​​no projeto de CPU incluem lógica aleatória não estruturada, máquinas de estado finito , microprogramação (comum de 1965 a 1985) e matrizes de lógica programável(comum na década de 1980, não mais comum).

Lógica de implementação [ editar ]

Os tipos de dispositivos usados ​​para implementar a lógica incluem:

Um projeto de design de CPU geralmente tem estas tarefas principais:

Reprojetar um núcleo de CPU para uma área de matriz menor ajuda a encolher tudo (um " encolhimento de fotomáscara "), resultando no mesmo número de transistores em uma matriz menor. Melhora o desempenho (transistores menores comutam mais rápido), reduz a potência (fios menores têm menos capacitância parasita ) e reduz o custo (mais CPUs cabem no mesmo wafer de silício). Liberar uma CPU no mesmo tamanho de matriz, mas com um núcleo de CPU menor, mantém o custo aproximadamente o mesmo, mas permite níveis mais altos de integração em um chip de integração de grande escala (cache adicional, várias CPUs ou outros componentes), melhorando o desempenho e reduzindo o custo geral do sistema.

Assim como na maioria dos projetos eletrônicos complexos, o esforço de verificação lógica (provando que o projeto não possui bugs) agora domina o cronograma do projeto de uma UCP.

As principais inovações arquitetônicas da CPU incluem registro de índice , cache , memória virtual , pipeline de instruções , superescalar , CISC , RISC , máquina virtual , emuladores , microprograma e pilha .

Conceitos de microarquitetura [ editar ]

Tópicos de pesquisa [ editar ]

Uma variedade de novas idéias de design de CPU foram propostas, incluindo lógica reconfigurável , CPUs sem relógio , RAM computacional e computação óptica .

Análise de desempenho e benchmarking [ editar ]

O benchmarking é uma maneira de testar a velocidade da CPU. Exemplos incluem SPECint e SPECfp , desenvolvidos pela Standard Performance Evaluation Corporation , e ConsumerMark desenvolvido pelo Embedded Microprocessor Benchmark Consortium EEMBC .

Algumas das métricas comumente usadas incluem:

  • Instruções por segundo - A maioria dos consumidores escolhe uma arquitetura de computador (normalmente arquitetura Intel IA32 ) para poder executar uma grande base de software pré-compilado pré-existente. Sendo relativamente desinformados sobre benchmarks de computadores, alguns deles escolhem uma CPU específica com base na frequência de operação (veja Megahertz Myth ).
  • FLOPS - O número de operações de ponto flutuante por segundo geralmente é importante na seleção de computadores para cálculos científicos.
  • Desempenho por watt - Os projetistas de sistemas que constroem computadores paralelos , como o Google , escolhem CPUs com base em sua velocidade por watt de potência, porque o custo de alimentar a CPU supera o custo da própria CPU. [2] [3]
  • Alguns projetistas de sistemas que constroem computadores paralelos escolhem CPUs com base na velocidade por dólar.
  • Os projetistas de sistemas que constroem sistemas de computação em tempo real querem garantir a resposta no pior caso. Isso é mais fácil de fazer quando a CPU tem baixa latência de interrupção e quando tem resposta determinística. ( DSP )
  • Os programadores de computador que programam diretamente em linguagem assembly querem que uma CPU suporte um conjunto de instruções completo .
  • Baixa potência - Para sistemas com fontes de energia limitadas (por exemplo, energia solar, baterias, energia humana).
  • Tamanho pequeno ou baixo peso - para sistemas embarcados portáteis, sistemas para naves espaciais.
  • Impacto ambiental - Minimizando o impacto ambiental dos computadores durante a fabricação e reciclagem, bem como durante o uso. Redução de resíduos, redução de materiais perigosos. (veja computação verde ).

Pode haver compensações na otimização de algumas dessas métricas. Em particular, muitas técnicas de design que fazem uma CPU funcionar mais rápido tornam o "desempenho por watt", "desempenho por dólar" e "resposta determinística" muito piores e vice-versa.

Mercados [ editar ]

Existem vários mercados diferentes em que as CPUs são usadas. Como cada um desses mercados difere em seus requisitos para CPUs, os dispositivos projetados para um mercado são, na maioria dos casos, inadequados para os outros mercados.

Computação de uso geral [ editar ]

A grande maioria das receitas geradas pelas vendas de CPU é para computação de uso geral [ carece de fontes ] , ou seja, computadores desktop, laptop e servidores comumente usados ​​em empresas e residências. Neste mercado, a arquitetura Intel IA-32 e a versão de 64 bits x86-64 dominam o mercado, com seus rivais PowerPC e SPARC mantendo bases de clientes muito menores. Anualmente, centenas de milhões de CPUs da arquitetura IA-32 são usadas por este mercado. Uma porcentagem crescente desses processadores é para implementações móveis, como netbooks e laptops. [4]

Como esses dispositivos são usados ​​para executar inúmeros tipos diferentes de programas, esses designs de CPU não são direcionados especificamente para um tipo de aplicativo ou uma função. As demandas de poder executar uma ampla gama de programas com eficiência tornaram esses projetos de CPU entre os mais avançados tecnicamente, juntamente com algumas desvantagens de serem relativamente caros e terem alto consumo de energia.

Economia de processador de ponta [ editar ]

Em 1984, a maioria das CPUs de alto desempenho precisava de quatro a cinco anos para ser desenvolvida. [5]

Computação científica [ editar ]

A computação científica é um nicho de mercado muito menor (em receita e unidades vendidas). É usado em laboratórios de pesquisa do governo e universidades. Antes de 1990, o projeto de CPU era frequentemente feito para esse mercado, mas CPUs de mercado de massa organizadas em grandes clusters provaram ser mais acessíveis. A principal área restante de projeto de hardware ativo e pesquisa para computação científica é para sistemas de transmissão de dados de alta velocidade para conectar CPUs de mercado de massa.

Design incorporado [ editar ]

Conforme medido pelas unidades enviadas, a maioria das CPUs é incorporada em outras máquinas, como telefones, relógios, eletrodomésticos, veículos e infraestrutura. Os processadores embutidos vendem no volume de muitos bilhões de unidades por ano, no entanto, principalmente a preços muito mais baixos do que os processadores de uso geral.

Esses dispositivos de função única diferem das CPUs de uso geral mais familiares de várias maneiras:

  • O baixo custo é de grande importância.
  • É importante manter uma baixa dissipação de energia, pois os dispositivos incorporados geralmente têm uma vida útil limitada da bateria e muitas vezes é impraticável incluir ventiladores.
  • Para reduzir o custo do sistema, os periféricos são integrados ao processador no mesmo chip de silício.
  • Manter os periféricos no chip também reduz o consumo de energia, pois as portas GPIO externas normalmente exigem buffer para que possam fornecer ou absorver as cargas de corrente relativamente altas necessárias para manter um sinal forte fora do chip.
    • Muitos aplicativos incorporados têm uma quantidade limitada de espaço físico para circuitos; manter os periféricos no chip reduzirá o espaço necessário para a placa de circuito.
    • O programa e as memórias de dados são frequentemente integrados no mesmo chip. Quando a única memória de programa permitida é ROM , o dispositivo é conhecido como microcontrolador .
  • Para muitos aplicativos incorporados, a latência de interrupção será mais crítica do que em alguns processadores de uso geral.

Economia do processador incorporado [ editar ]

A família de CPUs embarcadas com o maior número total de unidades enviadas é a 8051 , com uma média de quase um bilhão de unidades por ano. [6] O 8051 é amplamente utilizado porque é muito barato. O tempo de design agora é praticamente zero, porque está amplamente disponível como propriedade intelectual comercial. Agora, muitas vezes, é incorporado como uma pequena parte de um sistema maior em um chip. O custo de silício de um 8051 agora é tão baixo quanto US$ 0,001, porque algumas implementações usam apenas 2.200 portas lógicas e consomem 0,4730 milímetros quadrados de silício. [7] [8]

A partir de 2009, mais CPUs são produzidas usando o conjunto de instruções da arquitetura ARM do que qualquer outro conjunto de instruções de 32 bits. [9] [10] A arquitetura ARM e o primeiro chip ARM foram projetados em cerca de um ano e meio e 5 anos humanos de trabalho. [11]

A arquitetura do microcontrolador Parallax Propeller de 32 bits e o primeiro chip foram projetados por duas pessoas em cerca de 10 anos de trabalho humano. [12]

A arquitetura AVR de 8 bits e o primeiro microcontrolador AVR foram concebidos e projetados por dois estudantes do Instituto Norueguês de Tecnologia.

A arquitetura 6502 de 8 bits e o primeiro chip MOS Technology 6502 foram projetados em 13 meses por um grupo de cerca de 9 pessoas. [13]

Pesquisa e design de CPU educacional [ editar ]

Os processadores Berkeley RISC I e RISC II de 32 bits foram projetados principalmente por uma série de alunos como parte de uma sequência de quatro trimestres de cursos de pós-graduação. [14] Este projeto tornou-se a base do projeto comercial do processador SPARC .

Por cerca de uma década, todos os alunos da classe 6.004 no MIT faziam parte de uma equipe - cada equipe tinha um semestre para projetar e construir uma CPU simples de 8 bits com circuitos integrados da série 7400 . Uma equipe de 4 alunos projetou e construiu uma CPU simples de 32 bits durante aquele semestre. [15]

Alguns cursos de graduação exigem uma equipe de 2 a 5 alunos para projetar, implementar e testar uma CPU simples em um FPGA em um único semestre de 15 semanas. [16]

A CPU MultiTitan foi projetada com 2,5 homens anos de esforço, o que foi considerado "relativamente pouco esforço de design" na época. [17] 24 pessoas contribuíram para o projeto de pesquisa MultiTitan de 3,5 anos, que incluiu projetar e construir um protótipo de CPU. [18]

Núcleos de microprocessadores macios [ editar ]

Para sistemas embarcados, os níveis de desempenho mais altos geralmente não são necessários ou desejados devido aos requisitos de consumo de energia. Isso permite o uso de processadores que podem ser totalmente implementados por técnicas de síntese lógica . Esses processadores sintetizados podem ser implementados em um período de tempo muito menor, proporcionando um time-to-market mais rápido .

Veja também [ editar ]

Referências [ editar ]

  1. Cutress, Ian (27 de agosto de 2019). "Xilinx anuncia o maior FPGA do mundo: Virtex Ultrascale+ VU19P com células de 9m" . AnandTech .
  2. ^ "EEMBC ConsumerMark" . Arquivado a partir do original em 27 de março de 2005.
  3. ^ Stephen Shankland (9 de dezembro de 2005). "A energia pode custar mais do que os servidores, alerta o Google" . ZDNet .
  4. ^ Kerr, Justin. "A AMD perde participação de mercado porque as vendas de CPU móvel superam o desktop pela primeira vez." PC máximo. Publicado em 26/10/2010.
  5. "Novo sistema gerencia centenas de transações por segundo" artigo de Robert Horst e Sandra Metz, da Tandem Computers Inc., revista "Electronics", 1984, 19 de abril: O processador NonStop TXP levou apenas 2+1/2 anos -- seis meses para desenvolver uma especificação escrita completa, um ano para construir um protótipo funcional e outro ano para atingir a produção em volume."
  6. ^ Curtis A. Nelson. "8051 Visão geral" (PDF) . Arquivado a partir do original (PDF) em 2011-10-09 . Recuperado 2011-07-10 .
  7. ^ "Microcontrolador compatível com T8051 Tiny 8051" (PDF) . Arquivado a partir do original (PDF) em 29/09/2011.
  8. Para calcular dólares por milímetro quadrado, veja [1] e observe que um componente SOC não tem custos de pino ou embalagem.
  9. ^ "ARM Cores sobem no território 3G" por Mark Hachman, 2002.
  10. ^ "A solução de dois por cento" por Jim Turley 2002.
  11. ^ "caminho do ARM" 1998
  12. ^ "Por que a hélice funciona" por Chip Gracey
  13. ^ "Entrevista com William Mensch" . Arquivado a partir do original em 2016-03-04 . Recuperado em 2009-02-01 .
  14. ^ CH Séquin ; DA Patterson . "Desenho e Implementação de RISC I" (PDF) .
  15. ^ "o VHS" . Arquivado a partir do original em 27/02/2010.
  16. ^ Jan Gray. "Ensinar Desenho de Computadores com FPGAs" .
  17. ^ Jouppi, NP; Tang, JY-F. (outubro de 1989). "Um microprocessador CMOS de 32 bits sustentado de 20 MIPS com alta proporção de desempenho sustentado a pico". IEEE Journal of Solid-State Circuits . 24 (5): 1348-1359. Bibcode : 1989IJSSC..24.1348J . doi : 10.1109/JSSC.1989.572612 .
  18. ^ "MultiTitan: Four Architecture Papers" (PDF) . 1988. pp. 4–5.

Referências gerais [ editar ]