Como os processadores são projetados e fabricados: o futuro das arquiteturas de computadores

imagem

Apesar das melhorias contínuas e do progresso gradual em cada nova geração, mudanças fundamentais não ocorrem na indústria de processadores há muito tempo. Um grande avanço foi a transição do vácuo para os transistores, bem como a transição de componentes individuais para circuitos integrados. No entanto, depois deles, mudanças sérias de paradigma da mesma magnitude não ocorreram.

Sim, os transistores se tornaram menores, os chips mais rápidos e o desempenho aumentou centenas de vezes, mas estamos começando a ver estagnação ...

Esta é a quarta e última parte de uma série de artigos sobre desenvolvimento de CPU que fala sobre o design e a fabricação de processadores. Começando em um nível alto, aprendemos como o código do computador é compilado na linguagem assembly e, em seguida, nas instruções binárias que a CPU interpreta. Discutimos como a arquitetura do processador é projetada e eles processam as instruções. Depois, examinamos as várias estruturas que compõem o processador.

Um pouco mais fundo neste tópico, vimos como essas estruturas são criadas e como bilhões de transistores funcionam juntos dentro do processador. Examinamos o processo de fabricação física de processadores a partir de silício bruto. Aprendemos sobre as propriedades dos semicondutores e como são as partes internas de um chip. Se você perdeu algum dos tópicos, aqui está uma lista de artigos da série:

Parte 1: Noções básicas de arquitetura de computador (arquiteturas de conjunto de instruções, armazenamento em cache, pipelines, hyperthreading)
Parte 2: Processo de projeto da CPU (circuitos elétricos, transistores, elementos lógicos, sincronização)
Parte 3: Layout e fabricação física do chip (fabricação de VLSI e silicone)
Parte 4: Tendências atuais e importantes direções futuras na arquitetura de computadores (mar de aceleradores, integração tridimensional, FPGA, Near Memory Computing)

Vamos para a quarta parte. As empresas de desenvolvimento não compartilham com o público suas pesquisas ou os detalhes das tecnologias modernas, por isso é difícil imaginar claramente o que exatamente está dentro da CPU do computador. No entanto, podemos dar uma olhada nas pesquisas modernas e descobrir em que direção a indústria está se movendo.

Uma das imagens famosas da indústria de processadores é a Lei de Moore. Diz que o número de transistores em um chip duplica a cada 18 meses. Por um longo tempo, essa regra geral foi justa, mas o crescimento começa a desacelerar. Os transistores se tornam tão minúsculos que começamos a nos aproximar do limite de tamanhos fisicamente alcançáveis. Sem uma nova tecnologia revolucionária, teremos que explorar outras possibilidades de crescimento da produtividade no futuro.


Lei de Moore há 120 anos. Esse gráfico se torna ainda mais interessante se você descobrir que os últimos 7 pontos estão relacionados à GPU da Nvidia e não aos processadores de uso geral. Steve Jarvetson Ilustração

Uma conclusão se segue dessa análise: para aumentar a produtividade, as empresas começaram a aumentar o número de núcleos em vez da frequência. Por esse motivo, estamos observando como os processadores de oito núcleos são amplamente utilizados, em vez dos processadores de núcleo duplo com uma frequência de 10 GHz. Só não temos muito espaço para crescimento, exceto a adição de novos núcleos.

Por outro lado, o campo da computação quântica promete um enorme espaço para crescimento futuro. Não sou especialista e, como as tecnologias dela ainda estão sendo desenvolvidas, ainda existem poucos "especialistas" reais nessa área. Para dissipar os mitos, direi que a computação quântica não será capaz de fornecer 1000 quadros por segundo em uma renderização realista, ou algo assim. Até agora, a principal vantagem dos computadores quânticos é que eles permitem o uso de algoritmos mais complexos que antes eram inatingíveis.


Um dos protótipos dos computadores quânticos da IBM

Nos computadores tradicionais, o transistor é ativado ou desativado, o que corresponde a 0 ou 1. Em um computador quântico, é possível uma superposição , ou seja, um pouco pode estar simultaneamente nos estados 0 e 1. Graças a esse novo recurso, os cientistas podem desenvolver novos métodos de cálculo para Eles serão capazes de resolver problemas para os quais ainda não temos poder de computação suficiente. O ponto não é que os computadores quânticos sejam mais rápidos, mas que eles são um novo modelo de computação que nos permitirá resolver outros tipos de problemas.

Ainda faltam uma ou duas décadas para a introdução em massa dessa tecnologia. Então, que tendências estamos começando a ver nos processadores reais hoje? Dezenas de pesquisas ativas estão em andamento, mas vou abordar apenas algumas áreas que, na minha opinião, terão maior impacto.

Uma tendência crescente é a influência da computação heterogênea . Essa técnica consiste em incorporar muitos elementos diferentes de computação em um sistema. Muitos de nós aproveitam essa abordagem como GPUs separadas em computadores. O processador central é muito flexível e pode, com uma velocidade decente, executar uma ampla gama de tarefas de computação. Por outro lado, as GPUs são projetadas especificamente para computação gráfica, como multiplicação de matrizes. Eles lidam muito bem com isso e são ordens de magnitude mais rápidas que a CPU nesses tipos de instruções. Transferindo parte dos cálculos gráficos da CPU para a GPU, podemos acelerar os cálculos. Qualquer programador pode otimizar o software alterando o algoritmo, mas otimizar o equipamento é muito mais difícil.

Mas a GPU não é a única área em que os aceleradores estão se tornando mais populares. A maioria dos smartphones possui dezenas de aceleradores de hardware projetados para acelerar tarefas muito específicas. Esse estilo de computação é chamado de Sea of ​​Accelerators , cujos exemplos são processadores criptográficos, processadores de imagem, aceleradores de aprendizado de máquina, codificadores / decodificadores de vídeo, processadores biométricos e muito mais.

As cargas estão se tornando cada vez mais especializadas, então os designers estão incluindo mais aceleradores em seus chips. Os provedores de serviços em nuvem, como a AWS, começaram a fornecer aos desenvolvedores placas FPGA para acelerar sua computação em nuvem. Diferentemente dos elementos de computação tradicionais, como CPUs e GPUs, que possuem uma arquitetura interna fixa, os FPGAs são flexíveis. Este é um equipamento quase programável que pode ser personalizado para atender às necessidades da empresa.

Se alguém precisar de reconhecimento de imagem, ele implementará esses algoritmos no hardware. Se alguém quiser simular o trabalho de uma nova arquitetura de hardware, antes de fabricá-la, ela poderá ser testada no FPGA. O FPGA fornece maior desempenho e eficiência de energia que o GPU, mas ainda menos que o ASIC (circuito integrado específico da aplicação - um circuito integrado para fins especiais). Outras empresas, como Google e Nvidia, estão desenvolvendo ASICs de aprendizado de máquina separados para acelerar o reconhecimento e a análise de imagens.


Fotos de cristal de processadores móveis populares mostrando sua estrutura.

Observando as imagens de cristal relativas aos processadores modernos, você pode ver que o próprio núcleo não ocupa a maior parte da área da CPU. Vários aceleradores ocupam uma parcela maior. Isso tornou possível acelerar cálculos muito especializados, além de reduzir significativamente o consumo de energia.

Anteriormente, quando era necessário adicionar ao sistema de processamento de vídeo, os desenvolvedores tinham que instalar um novo chip nele. No entanto, é muito ineficiente em termos de consumo de energia. Cada vez que um sinal precisa sair de um chip através de um condutor físico para outro chip, é necessária uma enorme quantidade de energia por bit. A pequena fração do joule em si não parece ser um desperdício particularmente grande, mas transferir dados dentro e não fora do chip pode ser 3-4 ordens de magnitude mais eficiente. Graças à integração de tais aceleradores com a CPU, vimos recentemente um aumento no número de chips com consumo de energia ultrabaixo.

No entanto, aceleradores não são ideais. Quanto mais os adicionamos ao circuito, menos flexível o chip se torna e começamos a sacrificar o desempenho geral em favor do desempenho máximo de tipos especializados de computação. Em algum momento, o chip inteiro simplesmente se transforma em um conjunto de aceleradores e deixa de ser uma CPU útil. O equilíbrio entre o desempenho da computação especializada e o desempenho geral é sempre cuidadosamente ajustado. Essa discrepância entre equipamentos de uso geral e cargas especializadas é chamada de lacuna de especialização .

Embora algumas pessoas pensem. Como estamos no auge da bolha GPU / Machine Learning, é provável que esperemos que mais e mais computação sejam transferidas para aceleradores especializados. A computação em nuvem e a IA continuam a evoluir, de modo que as GPUs parecem a melhor solução para atingir o nível de computação volumétrica necessário.

Outra área na qual os designers estão procurando maneiras de aumentar a produtividade é a memória. Tradicionalmente, ler e escrever valores sempre foi um dos gargalos mais sérios nos processadores. Caches grandes e rápidos podem nos ajudar, mas a leitura da RAM ou SSD pode levar dezenas de milhares de ciclos de clock. Portanto, os engenheiros costumam ver o acesso à memória como mais caro do que os próprios cálculos. Se o processador quiser adicionar dois números, primeiro é necessário calcular os endereços de memória pelos quais os números são armazenados, descobrir em que nível da hierarquia de memória há esses dados, ler os dados nos registros, realizar cálculos, calcular o endereço do receptor e escrever o valor no local certo. Para instruções simples, que podem levar de um a dois ciclos, isso é extremamente ineficiente.

Uma nova idéia que está sendo explorada ativamente é uma técnica chamada Near Memory Computing . Em vez de recuperar pequenos pedaços de dados da memória e computá-los com um processador rápido, os pesquisadores viram o trabalho de cabeça para baixo. Eles experimentam a criação de pequenos processadores diretamente nos controladores de memória RAM ou SSD. Devido ao fato de os cálculos estarem se aproximando da memória, existe o potencial de enormes economias em energia e tempo, porque os dados não precisam mais ser transmitidos com tanta frequência. Os módulos de computação têm acesso direto aos dados de que precisam, porque estão diretamente na memória. Essa idéia ainda está em sua infância, mas os resultados parecem promissores.

Um dos obstáculos a serem superados para a computação com quase memória são as limitações do processo de fabricação. Conforme declarado na terceira parte , o processo de produção de silício é muito complexo e envolve dezenas de estágios. Esses processos geralmente são especializados para a fabricação de elementos lógicos rápidos ou elementos de armazenamento densamente espaçados. Se você tentar criar um chip de memória usando um processo de fabricação otimizado para a computação, receberá um chip com uma densidade extremamente baixa de elementos. Se tentarmos criar um processador usando o processo de fabricação da unidade, obteremos um desempenho muito baixo e grandes tempos.


Exemplo de integração 3D mostrando conexões verticais entre as camadas do transistor.

Uma solução potencial para esse problema é a integração 3D . Os processadores tradicionais têm uma camada muito ampla de transistores, mas isso tem suas limitações. Como o nome indica, a integração tridimensional é o processo de organizar várias camadas de transistores umas sobre as outras para aumentar a densidade e reduzir os atrasos. Colunas verticais produzidas em diferentes processos de fabricação podem ser usadas para junção entre camadas. Essa idéia foi proposta há muito tempo, mas o setor perdeu o interesse por causa de sérias dificuldades em sua implementação. Recentemente, estamos testemunhando o surgimento da tecnologia de armazenamento 3D NAND e o ressurgimento dessa área de pesquisa.

Além das mudanças físicas e arquitetônicas, outra tendência afetará fortemente toda a indústria de semicondutores - uma ênfase maior na segurança. Até recentemente, a segurança do processador era pensada quase no último momento. É semelhante à maneira como a Internet, o email e muitos outros sistemas que usamos ativamente hoje foram desenvolvidos quase sem considerar a segurança. Todas as medidas de proteção existentes foram “estragadas” quando ocorreram incidentes, para que nos sentíssemos seguros. No campo dos processadores, essas táticas prejudicam as empresas, e especialmente a Intel.

Bugs Specter e Meltdown são provavelmente os exemplos mais famosos de como os designers adicionam recursos que aceleram significativamente o processador, não totalmente cientes dos riscos de segurança associados a isso. No desenvolvimento de processadores modernos, muito mais atenção é dada à segurança como parte essencial da arquitetura. Quando a segurança é aprimorada, o desempenho geralmente sofre, mas, devido ao dano que graves erros de segurança podem causar, pode-se dizer com segurança que é melhor focar na segurança da mesma forma que no desempenho.

Nas partes anteriores da série, abordamos técnicas como a síntese de alto nível, que permite aos projetistas primeiro descrever a estrutura em uma linguagem de alto nível e, em seguida, permitir que algoritmos complexos determinem a configuração ideal de hardware para a função. A cada geração, os ciclos de design estão se tornando mais caros; portanto, os engenheiros estão procurando maneiras de acelerar o desenvolvimento. É de se esperar que, no futuro, essa tendência no design de hardware com software apenas se intensifique.

Obviamente, não somos capazes de prever o futuro, mas as idéias inovadoras e as áreas de pesquisa consideradas por nós no artigo podem servir como diretrizes para as expectativas no design de futuros processadores. Podemos dizer com segurança que estamos chegando ao fim das melhorias usuais no processo de fabricação. Para continuar a aumentar a produtividade em cada geração, os engenheiros terão que inventar soluções ainda mais complexas.

Esperamos que nossa série de quatro artigos tenha despertado seu interesse em estudar o design, a verificação e a produção de processadores. Há um número infinito de materiais sobre esse tópico, e se tentássemos revelar todos eles, cada um dos artigos poderia se transformar em um curso universitário inteiro. Espero que você tenha aprendido algo novo e agora entenda melhor como os computadores são sofisticados em cada nível.

Source: https://habr.com/ru/post/pt458670/


All Articles