Computação de alto desempenho X86 para a era da presença

Pesquisa, aprendizado de máquina, análise de dados, criação e entrega de conteúdo, realidade aumentada e virtual, jogos de computador - a lista de tarefas intensivas em recursos para sistemas de computadores está se expandindo a cada dia. Quando falamos sobre o lado tecnológico da questão, discutimos dois tópicos.



A primeira é a crescente necessidade de aumentar o desempenho da computação. O que quer que a indústria de semicondutores ofereça, os usuários finais se adaptam rapidamente a novos produtos e novamente pedem mais.

A segunda é, obviamente, as mudanças do mercado. Trabalho neste campo há mais de 30 anos e, nos últimos tempos, um grande número de mudanças ocorreu. Vejamos apenas um exemplo: o advento da World Wide Web e uma interface gráfica do usuário transformou os PCs de uma ferramenta de processamento de texto em um portal real de acesso ao mundo inteiro, que mudou radicalmente a vida das pessoas. Como resultado, conseguimos encontrar e compartilhar informações com tanta facilidade que antes parecia inacessível. Além disso, os dispositivos tornaram-se portáteis e obtiveram uma conexão permanente com a rede - no início eram laptops, depois smartphones e tablets. Logo houve uma explosão real na popularidade dos aplicativos, e a enorme quantidade de dados que precisavam ser armazenados, processados ​​e analisados ​​exigiu ainda mais desempenho computacional.

Há quatro anos, a AMD começou a renovar sua arquitetura de núcleo x86 de alto desempenho para atender a essas crescentes necessidades. Nossa família de processadores anterior mostrou sucesso significativo no campo da eficiência energética, mas esses chips não estavam prontos para fornecer o nível necessário para suportar aplicativos de desempenho exigentes. Com base nessa tarefa, criamos um código de design do kernel chamado "Zen" literalmente do zero.



Ao projetar o Zen, queríamos desenvolver um núcleo novo e moderno em todos os aspectos. A arquitetura foi otimizada para obter maior desempenho, rendimento e eficiência energética, para que os processadores possam lidar com as aplicações mais exigentes. Como resultado, o Zen se tornou uma solução muito mais produtiva, marcando o retorno da AMD ao mercado de sistemas de alto desempenho, mostrando a execução de 40% mais instruções por ciclo sem aumentar o consumo de energia 1. Esse objetivo ambicioso foi alcançado por nós através de uma ênfase focada no desempenho e no consumo de energia. A microarquitetura recém-desenvolvida inclui mudanças significativas no campo do processamento de instruções, nos esquemas de operação dos módulos executivos e no subsistema de cache para acelerar a execução das tarefas e seu trabalho paralelo. Como mostramos na Conferência de Hot Chips da Universidade de Stanford, em 2016, O Zen apresenta uma previsão de ramificação aprimorada, escolhendo as instruções corretas e funciona com o cache micro-op para seguir melhor essas instruções. Além disso, a nova arquitetura suporta uma profundidade de planejamento 75% maior, aumentando o número de instruções e também executa mais instruções em paralelo, graças a um aumento na largura das instruções em 50% em comparação à geração anterior de núcleos. Essa combinação fornece um grande aumento no poder de processamento por ciclo.

Mas se você tiver um motor poderoso, precisará reabastecê-lo. Chamamos condicionalmente esse processo de "alimentar a fera". E, no nosso caso, combustível são dados e instruções recebidos da memória. Redesenhamos a hierarquia de cache, fornecendo ao chip um cache L3 de 8 MB, um cache L2 compartilhado para instruções e dados, bem como volumes de cache separados com baixa latência para comandos e dados. Um único núcleo agora pode trabalhar com o cache cinco vezes mais rápido do que na arquitetura anterior.



O Zen Kernel Pre-fetcher desempenha um papel crítico na largura de banda e incorpora um dos fluxos de trabalho mais sofisticados projetados para processadores. O pré-buscador assume e determina qual instrução será necessária na próxima medida, com base nos dados sobre a tarefa atual. A implementação do seu plano e a rapidez com que você pode corrigir os erros não são apenas uma questão de ciência, mas também de arte, e, no caso do Zen, alcançamos resultados impressionantes nesse aspecto.

O aumento significativo da largura de banda no Zen em comparação com a geração anterior de processadores é devido à transição para a arquitetura de multithreading paralelo (SMT). Essa abordagem permite que o kernel rastreie tarefas no programa e, quando a tarefa é pausada, aguardando a execução de outro comando ou o recebimento de dados, outra tarefa é executada para processamento, que não está no modo de espera. Portanto, do ponto de vista do software, obtemos recursos adicionais do processador quando o modo SMT está ativado.

Finalmente, na melhoria da eficiência energética. O CPU Zen foi projetado para uso em uma variedade de dispositivos, de laptops resfriados passivamente a supercomputadores, e todos eles exigem alta eficiência energética. Em um mundo em que um aumento de 10% na produtividade é considerado significativo, nossa meta de um aumento de 40% na produtividade sem um aumento adicional de energia parecia impossível à primeira vista. No entanto, os engenheiros da AMD se concentraram na tarefa e encontraram novas maneiras de reduzir o consumo de energia e otimizar a microarquitetura, além de aplicar um esquema de controle de freqüência de clock mais avançado.

O desejo de melhorar a eficiência energética foi incorporado ao produto desde o início: ao criar um novo projeto, os engenheiros tentaram economizar cada microwatt e cada circuito foi otimizado em termos de energia. Como resultado, mesmo que uma pequena parte do processador não esteja envolvida no trabalho ativo, ela é completamente desligada para evitar consumo excessivo de energia, mas quando você acelera a frequência do relógio e aumenta a carga, o processador demonstra um desempenho muito alto por watt. Além disso, o Zen é fabricado com a nova tecnologia de processo de 14nm FinFET. Os transistores FinFET são menores, mais econômicos e mais eficientes do que os da geração anterior. Essa solução vencedora do nosso parceiro industrial nos permitiu obter o máximo efeito na implementação da nova microarquitetura de núcleos de computação.E as possibilidades de modificações nos transistores FinFET permitem criar uma ampla gama de soluções: de baixa potência com baixo consumo a chips para grandes cargas com maior frequência e desempenho.

Os resultados que todas essas inovações trarão no final ficarão claros no próximo ano, quando os primeiros produtos com processadores baseados em núcleos Zen aparecerão no mercado, mas hoje podemos dizer que os testes de laboratório nos impressionam. Recentemente, demonstramos o processador de desktop Summit Ridge de 8 núcleos / 16 threads e o processador de servidor Naples 32 núcleos / 64 threads. Ambos os processadores com núcleos Zen nos permitem ser muito otimistas em relação ao futuro. Também é importante entender que o Zen é apenas um passo intermediário para o futuro da computação de alto desempenho AMD x86. Nosso plano de desenvolvimento inclui gerações subsequentes de chips com melhorias adicionais e nossas equipes já estão trabalhando em novos projetos hoje,porque mudanças constantes e uma tendência ascendente de produtividade continuam a definir o ritmo do desenvolvimento da indústria.

, - AMD


Zen x86 «Excavator» x86.

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


All Articles