Você está na página 1de 5

A arquitetura de Von Neumann e sua importância na atualidade

Quem era Von Neumann


John Von Neumann foi um matemático húngaro de origem judaica, que foi
naturalizado americano nos anos 30 do século XX. Nasceu em 28 de dezembro de
1903. Desenvolveu contribuições importantes em Mecânica Quântica, Teoria dos
conjuntos, Ciência da Computação, Economia, Teoria dos Jogos e praticamente
todas as áreas da Matemática. Faleceu no dia 8 de Fevereiro de 1957, vítima de um
tumor no cérebro. Foi também professor na Universidade de Princeton e um dos
construtores do ENIAC (o primeiro computador eletrônico).

Von Neumann foi o mais velho das três crianças da família e nasceu com o nome de
Neumann János Lajos Margittai em Budapeste. Era filho de Neumann Miksa (Max
Neumann), um advogado que trabalhava em um banco, e Kann Margit (Margaret
Kann). Com apenas 3 anos de idade já conseguia decorar a maior parte dos
números de telefones de quase todos membros da sua família e com 6 contava
piadas em grego ao pai.

John Von Neumann é conhecido principalmente por ter formalizado o projeto lógico
de um computador. Em sua proposta, sugeriu que as instruções fossem
armazenadas na memória do computador. Até então elas eram lidas de cartões
perfurados e executadas, uma a uma. Armazená-las na memória, para então
executá-las, tornaria o computador mais rápido, já que, no momento da execução,
as instruções seriam obtidas com rapidez eletrônica.

Arquitetura de computadores

Todas as máquinas construídas até o início do projeto do EDVAC eram


programadas através de meios externos como cartões perfurados, fitas perfuradas,
painéis, cabos de conexão etc, e dispunham de muito pouca memória para
armazenar os dados e os resultados intermediários dos cálculos. Mesmo assim, a
construção do ENIAC, cuja capacidade de armazenamento era de 20 números
decimais de 10 dígitos (cerca de 700 bits), consumiu mais de 17 mil válvulas
eletrônicas. Um fator decisivo para viabilizar o projeto de uma nova máquina foi a
idéia de Eckert de utilizar linhas de atraso para implementar elementos de memória
de custo muito mais baixo do que se fossem utilizadas válvulas. Com esta idéia,
tornou-se possível pensar numa máquina com dezenas ou centenas de milhares de
bits.

Como resultado das reuniões com a equipe de projeto e da frqüente troca de


correspondência, von Neumann ficou encarregado de produzir um documento
descrevendo os detalhes da organização da nova máquina. Como indica o próprio
título First draft of a report on the EDVAC (von Neumann, 1945), o documento nunca
passou da fase de'rascunho, publicado na íntegra somente vários anos mais tarde,
sob forma ligeiramente editada (von Neumann, 1993).

Existe controvérsia quanto a quem teria sido o primeiro a propor o conceito de


programa armazenado (Randell, 1994; Rosen, 1969; Stern, 1980; Wilkes, 1995). O
trabalho teórico de Turing (1936), com o qual von Neumann estava familiarizado, já
indicava essa possibilidade. Por outro lado, existem algumas referências ao
assunto, bastante obscuras e ambíguas, em algumas fontes anteriores ao
documento produzido por von Neumann, além das afirmações posteriores de
Eckert, Mauchly e outros. Não há dúvida de que a idéia de programa armazenado
estava no ar e é bastante provável que tenha sido sugerida por mais de uma pessoa
ou nascido no meio de discussões sobre o novo projeto. Apesar da notoriedade
desta controvérsia, não nos parece que a sua importância seja mais do que
simbólica. Independentemente de quem tenha sido primeiro a sugerir a idéia de
programa armazenado na memória, o fato é que o documento redigido por von
Neumann é a primeira descrição minuciosa e quase completa da arquitetura de um
computador desse tipo, com repertório de operações que permitiriam a utilização
plena dos seus recursos. O documento é resultado, sem dúvida, das várias reuniões
realizadas e das trocas de correspondência entre os pesquisadores, mas o próprio
fato de ter sido von Neumann, consultor do projeto, encarregado da sua redação
indica a importância e o grau da sua contribuição. De acordo com depoimentos de
alguns dos seus colaboradores, o projeto lógico do computador deve-se
principalmente a von Neumann, enquanto Eckert e Mauchly foram os principais
responsáveis pelo projeto de circuitos de alta velocidade, linhas de atraso e outros
detalhes físicos. Todos eles deram contribuições fundamentais ao projeto.

Arquitetura de von Neumann (von Neumann architecture)

A estrutura mais comum de sistemas de computador, atribuída ao matemático John


von Neumann. A arquitetura de von Neumann equivale ao conceito de programa
armazenado no qual o programa pode ficar armazenado permanentemente no
computador e, pela forma como é codificado, permite a manipulação ou a
automodificação através de instruções baseadas na máquina.

Para uma grande parte dos praticantes da Computação, o nome de von Neumann
está geralmente associado somente à idéia de arquitetura de von Neumann, ou
seja, à estrutura, hoje considerada clássica, de computadores digitais com programa
armazenado na própria memória e, portanto, passível de automodificação e de
geração por outros programas como mostrado acima. Porém Von Neumann possui
outras importantes contribuições à computação, contribuições estas que são
geralmente pouco conhecidas entre os que atuam na área.

Von Neumann teve contribuições importantes nas áreas de arquitetura de


computadores, princípios de programação, análise de algoritmos, análise numérica,
computação científica, teoria dos autômatos, redes neurais, tolerância a falhas,
sendo o verdadeiro fundador de algumas delas. O volume V da série John von
Neumann: collected works (Taub, 1963) contém a maior parte das publicações de
von Neumann referentes à Computação e áreas afins. Uma visão geral destas
contribuições pode ser encontrada no trabalho de Aspray (1989).

Vantagens e Desvantagens

A arquitetura von Neumann possui várias vantagens e desvantagens em relação a


outras abordagens de design de computadores. Algumas das principais vantagens
incluem:

1. Flexibilidade: A capacidade de armazenar programas em memória e


reprogramar o computador para executar diferentes tarefas torna os
computadores baseados na arquitetura von Neumann muito flexíveis. Isso
permite que os computadores sejam usados em uma ampla variedade de
aplicações e sejam reutilizados para diferentes propósitos, simplesmente
alterando o software.
2. Eficiência: A arquitetura von Neumann permite uma execução sequencial e
eficiente das instruções do programa, o que é adequado para muitas tarefas
de processamento de dados. A CPU pode buscar, decodificar, executar e
armazenar as instruções em uma sequência lógica, tornando a execução do
programa eficiente e rápida.
3. Simplicidade de projeto: A arquitetura von Neumann tem um design
relativamente simples, com uma única memória que armazena tanto as
instruções quanto os dados, e uma CPU que executa instruções de
processamento e de controle. Isso torna o projeto do hardware mais simples
em comparação com outras arquiteturas mais complexas, o que pode resultar
em computadores mais econômicos em termos de custos de produção.

No entanto, também há algumas desvantagens associadas à arquitetura von


Neumann, tais como:

1. Limitações de velocidade de acesso à memória: A arquitetura von


Neumann pode ter limitações em termos de velocidade de acesso à memória,
uma vez que tanto as instruções quanto os dados são armazenados na
mesma memória e acessados sequencialmente. Isso pode resultar em
gargalos de desempenho em certas situações, especialmente quando é
necessário acessar grandes quantidades de dados em alta velocidade.
2. Limitações de escalabilidade: A arquitetura von Neumann pode ter
limitações em termos de escalabilidade, uma vez que a CPU é responsável
por buscar, decodificar, executar e armazenar as instruções do programa.
Isso pode resultar em limitações de desempenho em sistemas de
computação de alto desempenho ou em aplicações que requerem grande
paralelismo ou processamento distribuído.
3. Dificuldades com paralelismo: A arquitetura von Neumann não é
naturalmente adequada para o processamento paralelo, uma vez que as
instruções são executadas sequencialmente. Embora existam técnicas para
implementar paralelismo em computadores von Neumann, como a execução
fora de ordem e a execução especulativa, essas técnicas podem ser
complexas e podem não ser tão eficientes quanto outras arquiteturas
projetadas especificamente para o processamento paralelo.

A influência da arquitetura de Von Neumann nos Computadores da


atualidade

A arquitetura von Neumann é uma base sólida para a maioria dos computadores
modernos, e tem passado por evoluções e melhorias para superar suas limitações e
atender às demandas crescentes de desempenho e eficiência. A introdução de
técnicas como memória cache, pipeline de instruções, unidades de execução
especializadas, arquiteturas multiprocessador, arquiteturas com memória
compartilhada e memória distribuída, e arquiteturas específicas de aplicações têm
contribuído para melhorar o desempenho, a eficiência e a escalabilidade dos
computadores. No entanto, é importante destacar que outras arquiteturas de
computadores também têm sido desenvolvidas para abordar as limitações da
arquitetura von Neumann, como a arquitetura de memória associativa, a arquitetura
de fluxo de dados e a computação quântica, que oferecem abordagens diferentes
para a organização e execução de instruções e dados em um computador.

A evolução da arquitetura von Neumann continua a impulsionar o desenvolvimento


de novas tecnologias e aplicações de computação, como a inteligência artificial, a
computação em nuvem, a computação quântica e a Internet das Coisas, entre
outros. À medida que as demandas por desempenho, eficiência e escalabilidade
continuam a aumentar, é provável que a arquitetura von Neumann e suas variantes
continuem a se adaptar e evoluir para atender às necessidades em constante
mudança do mundo da computação.

Referências:
SciELO - Brasil - Von Neumann: suas contribuições à Computação Von Neumann:
suas contribuições à Computação

https://www.somatematica.com.br/biograf/vonneumann.php

Arquitetura de von Neumann (dic.app.br)

Você também pode gostar