Arquitetura de Von Neumann: características e limitações

Arquitetura Von Neumann

A arquitetura Von Neumann é a arquitetura comum de todos os processadores de PC. Cada uma das CPUs, de ARM para x86, de 8086 para Ryzen por meio de Pentium. Todos eles são arquiteturas de Von Neumann e todos eles herdam um certo problema comum.

John Von Neumann foi um matemático nascido na Hungria, famoso por duas coisas. A primeira é por ter trabalhado no Projeto Manhattan, onde foi desenvolvida a bomba atômica que os Estados Unidos lançaram contra o Japão no final da Segunda Guerra Mundial. O segundo é o desenvolvimento da arquitetura base que nossos PCs usam hoje em dia, sejam quais forem seus tamanhos, bem como a forma dos programas que executam.

O que é a arquitetura de Von Neumann?

Arquitetura Von Neumann

A arquitetura Von Neumann é na qual todos os processadores para PC são baseados, já que todos eles são organizados com uma série de componentes comuns, que são os seguintes:

  • Unidade de Controle: In responsável pelas etapas de aquisição e decodificação do ciclo de instrução.
  • Unidade lógico-aritmética ou ALU: Em encarregado de realizar as operações matemáticas e lógicas exigidas pelos programas.
  • Memória: A memória em que o programa é armazenado, que conhecemos como memória RAM
  • Dispositivo de entrada: A partir do qual nos comunicamos com o computador.
  • Dispositivo de saída: A partir do qual o computador se comunica conosco.

Como você pode ver, é a arquitetura comum em todos os processadores e por isso não tem mais segredo, mas existe um outro tipo de arquitetura conhecido como arquitetura Harvard em que o RAM a memória é dividida em dois poços diferentes, em um deles armazenam as instruções do programa e os dados na outra memória, tendo barramentos separados para endereçamento de memória e instruções.

Quais são as limitações da arquitetura Von Neumann?

A principal desvantagem é que a memória RAM, onde estão localizadas as instruções e os dados a serem processados, são unificados e compartilhados através do mesmo barramento de dados e endereçamento comum. Portanto, as instruções e os dados devem ser capturados sequencialmente da memória. Esse gargalo é o chamado gargalo de Von Neumann. É por isso que os diferentes microprocessadores possuem o cache mais próximo do processador dividido em dois tipos, um para dados e outro para instruções.

Nos últimos anos, as velocidades do processador aumentaram muito mais rápido do que a memória RAM, aumentando assim o tempo que leva para os dados serem comunicados da memória. O que obrigou a desenvolver soluções para amenizar esse problema, é um produto do gargalo de Von Neumann.

Nos processadores onde a arquitetura Harvard é normalmente usada, eles são independentes e, portanto, não têm acesso à RAM comum do sistema, mas em vez disso, executam sua própria memória e programa isoladamente do principal CPU. Esses processadores recebem a lista de dados e instruções em duas ramificações de dados diferentes. Um para a memória de instruções e outro para a memória de dados do referido processador.

Por que ele é usado na CPU e GPU?

Processador Render

O principal motivo é o fato de que aumentar o número de barramentos significa aumentar o perímetro do próprio processador, pois para se comunicar com a memória externa é necessário que a interface esteja do lado de fora dela. Isso leva a processadores muito maiores e mais caros. Portanto, o principal motivo pelo qual a arquitetura de Von Neumann se tornou padronizada é o custo.

A segunda razão é que os dois poços de memória precisam ser sincronizados para que uma instrução não se aplique a dados errôneos. O que leva a ter que criar sistemas de coordenação entre os dois poços de memória. É claro que boa parte dos gargalos seria eliminada com a separação dos dois ônibus. Mas também não reduziria completamente o gargalo de Von Neumann.

Isso se deve ao fato de que o gargalo de Von Neumann apesar de ser uma consequência do armazenamento de dados e instruções na mesma memória também pode ocorrer em uma arquitetura Harvard se não for rápida o suficiente para alimentar o processador. É por isso que as arquiteturas de Harvard foram reduzidas especialmente a microcontroladores e DSP. Enquanto Von Neumann é comum na CPU e GPU