O que é o gargalo de von Neumann?
Por Felipe Vidal • Editado por Jones Oliveira |
O gargalo de von Neumann é uma limitação no sistema de computadores atuais que seguem a arquitetura de von Neumann. O gargalo é uma teoria que diz que a taxa de transferência do sistema é limitada pela demora em que o processador recebe as informações da memória RAM, fazendo com que a performance geral da máquina seja reduzida.
O conceito foi criado pelo matemático John von Neumann e afeta os computadores que seguem a arquitetura desenvolvida por ele. Ao longo das décadas, diversas tentativas de resolver o problema foram propostas, mas ainda não há um consenso a respeito de uma solução definitiva.
Quem foi von Neumann?
John von Neumann foi um matemático e cientista nascido em Budapeste em 1903. Desde criança, John já era observado por sua inteligência avançada e se tornou um dos cientistas mais importantes do século XX. Neumann auxiliou no desenvolvimento do Projeto Manhattan para fabricar a bomba atômica durante a Segunda Guerra Mundial, em Los Alamos. Ainda em 1945, revolucionou o mundo da informática ao ajudar a projetar o ENIAC, o primeiro computador fabricado para uso militar.
Neste mesmo ano, o matemático publicou um artigo chamado de Electronic Discrete Variable Automatic Computer (EDVAC). Lá, ele descreveu que os computadores seriam organizados com três bases: uma unidade central de processamento (CPU), a memória do sistema, e um conjunto de dispositivos de entrada e saída. Dessa forma, surge a arquitetura de von Neumann e a capacidade dos computadores em armazenar dados e terem a autonomia de serem reprogramáveis, levando aos PCs que usamos atualmente.
O gargalo na arquitetura de von Neumann
Assim, von Neumann é responsável pela arquitetura das máquinas que usamos, transformando o que antes eram apenas grandes máquinas de calcular em aparelhos complexos para o armazenamento de dados. Esse funcionamento precisa acontecer de maneira equilibrada e harmônica, com todos os componentes trabalhando para enviar e receber informações para a CPU, no intuito dessa peça processar todas as informações que vão aparecer na tela.
No entanto, o processamento de dados encontra alguns obstáculos. Para que os dados sejam devidamente processados, eles precisam primeiro passar pela memória RAM, depois serem decodificados na CPU, para só então serem executados pelos núcleos e escritos de volta na RAM. Esse é um caminho que envolve, primordialmente, a unidade central de processamento e suas estruturas (Unidade Lógica e Aritmética, Unidade de Controle e os Registradores) e a memória do sistema.
O problema é que todo processo produtivo acaba sendo regulado pelo componente mais lento. De acordo Luis Antônio Costa, doutorando em Computação Aplicada na Unisinos, o grande dilema do Gargalo de von Neumann é que, por mais que o processador seja muito rápido em realizar seus cálculos, ele precisa aguardar a informação chegar da memória RAM, que trabalha com uma taxa de transferência de dados mais baixa. Isso cria, literalmente, um gargalo na via que leva os dados até o processador, gerando um congestionamento de informações.
"O processador tem a sua velocidade própria de transmissão e cálculos, mas ele sempre precisa se comunicar com a memória do sistema, que é mais lenta. Os cálculos que a Unidade Central de Processamento faz são muito rápidos, porém os da RAM são muito mais lentos. Isso acaba gerando essa lentidão na arquitetura de von Neumann, que está presente em basicamente todos os computadores usados hoje em dia", explica Luis.
Mesmo o processador mais rápido do mundo, combinado com as memórias mais velozes da atualidade, vão gerar o Gargalo de von Neumann em um sistema. Isso acontece porque até a RAM enviar todos os dados corretos de forma sequencial para o processador calcular pelo barramento, a CPU fica ociosa esperando essas informações chegarem. Estar ocioso significa que o componente não trabalha em sua plenitude e afeta o restante do sistema.
Como resolver o gargalo de von Neumann
Até hoje, a comunidade científica não chegou a um denominador comum sobre como resolver o problema na arquitetura desenvolvida por John von Neumann. Muitas ideias de cunho conceitual foram desenvolvidas, principalmente ao mudar a arquitetura dos sistemas para versões diferentes. No entanto, nenhuma delas parece ter obtido sucesso em uma escala que tornasse a nova arquitetura acessível e possível de integrar o mercado de computadores mundial. Confira algumas alternativas:
Mais cache
A solução que melhor conseguiu minimizar o Gargalo de von Neumann foi a adição de cache nos processadores. Como aponta Costa, a inserção dessas estruturas facilita a comunicação entre processador e RAM. A memória cache é uma memória intermediária dividida em níveis (L1, L2 e L3) com velocidades muito altas, mas pouca capacidade de armazenamento.
Ela armazena informações muito importantes e é usada de forma recorrente, como na inicialização do sistema. Por sempre ligarmos o computador, esse conjunto de instruções já está pronto e guardado no cache para inicializar rapidamente, sem passar pelo ciclo completo que gera o gargalo.
"Para contornar isso, inserimos a memória cache embutida no processador. Tudo o que a CPU precisa de forma urgente vai estar na cache para ele carregar de maneira quase que instantânea. O problema é que a cache é muito cara, então vemos processadores com poucos megabytes dessa memória por conta disso", informa o doutorando em computação aplicada.
Logo, o máximo que vemos em muitos processadores comuns é encontrar valores entre 24 MB e 36 MB de cache L3. Há algumas exceções, como a tecnologia 3D V-Cache da AMD, capaz de empilhar até 128 MB de cache, mas que mesmo assim não contorna o gargalo.
NorthPole
A investida mais recente para acabar com o gargalo de von Neumann é o NorthPole, um chip de inteligência artificial desenvolvido pela IBM. O que difere o NorthPole de outros chips é que nesse caso a memória RAM é integrada no próprio componente, aumentando a velocidade na transmissão de dados. Ainda em fase experimental, o NorthPole é focado para aplicações de detecção e segmentação de imagens e classificação de vídeos, além de reconhecimento de fala.
O protótipo é uma possível solução, mas ainda vai levar bastante tempo até que ele seja testado no uso cotidiano e que, de fato, contorne o gargalo na arquitetura de von Neumann.
Com informações de TechTarget, BBC e Techopedia