Escolar Documentos
Profissional Documentos
Cultura Documentos
Descrição
Citações
Referências
John von Neumann
John von Neumann, nascido Margittai Neumann János Lajos (Budapeste, 28 de dezembro de
1903 — Washington, D.C., 8 de fevereiro de 1957) foi um matemático húngaro de origem
judaica, naturalizado estadunidense.
Contribuiu na teoria dos conjuntos, análise funcional, teoria ergódica, mecânica quântica,
ciência da computação, economia,teoria dos jogos, análise numérica, hidrodinâmica das
explosões, estatística e muitas outras as áreas da Matemática. De fato é considerado um dos
mais importantes matemáticos do século XX.[1]
Foi membro do Instituto de Estudos Avançados em Princeton, New Jersey, do qual também
faziam parte Albert Einstein e Erwin Panofsky, quando emigraram para os Estados Unidos,
além de Kurt Gödel, Robert Oppenheimer, George F. Kennan e Hermann Weyl.
Com Edward Teller e Stanislaw Ulam, von Neumann trabalhou em desenvolvimentos chave da
Física Nuclear, relacionados comreações termonucleares e com a bomba de hidrogênio.
Participou também do Projeto Manhattan, responsável pelo desenvolvimento das primeiras
bombas atômicas.
Mecânica Quântica
Computação
Teoria de Jogos
Economia
Armamento
John von Neumann propôs que as instruções, lidas na época por cartões perfurados, fossem
gravadas na memória do computador; o que faria sua execução e leitura mais rápidas, uma vez
que se davam eletronicamente.
Neumann contribuiu para a construção dos computadores de forma grandiosa, pois, ainda
hoje a maioria destas máquinas seguem o modelo inventado pelo mesmo.
“Em meados da década de 30, Johnny estava fascinado pelo problema da turbulência
hidrodinâmica. Foi então que tomou consciência dos mistérios subjacentes ao tema
dasequações diferenciais parciais não lineares. O seu trabalho, desde o início da Segunda
Guerra Mundial, foca o estudo das equações da hidrodinâmica e da teoria dos choques. Os
fenómenos descritos por estas equações não lineares são analiticamente estranhos e desafiam
mesmo a visão qualitativa dos métodos presentes. O trabalho numérico parecia-lhe o caminho
mais promissor para obter uma ideia do comportamento destes sistemas. Isto impeliu-o a
estudar as novas possibilidades da computação em máquinas electrónicas.[2]"
Sugeria a existência de uma instrução máquina, chamada conditional control transfer, que
permitia a interrupção e reinício do programa em qualquer ponto da computação. Sugeria
igualmente guardar programas na mesma unidade de memória que os dados, o que permitiria
que as instruções fossem aritmeticamente modificadas do mesmo modo que os dados. Uma
unidade central de processamento, composta pela unidade de controlo e por uma ou mais
unidades de execução, extrairia quer dados quer instruções da memória, operando sobre elas
e devolvendo-as de novo à memória. O resultado era muito mais rápido, a programação e
computação mais eficientes, pois permitiam que as instruções fossem escritas como sub-
rotinas que não requeriam uma nova programação para cada novo problema (as rotinas mais
longas podiam ser alteradas por partes, sendo os resultados intermédios guardados na
memória e sendo usados para o resultado final).
Aplicando esta descoberta ao seu gosto por explosivos, von Neumann provou que a maneira
mais eficaz de realizar operações mineiras como minar uma lua inteira ou uma cintura de
asteróides seria usar máquinas auto-replicativas, aproveitando o seu crescimento exponencial.
Von Neumann foi um dos pioneiros da computação, tendo feito grandes contribuições para o
desenvolvimento do design lógico, que Shannon resume do seguinte modo:
“Von Neumann passou parte considerável dos seus últimos anos de vida a trabalhar na teoria
dos autómatos. Representava para ele uma síntese do seu interesse inicial em lógica e teoria
das demonstrações, e do seu posterior trabalho, durante e após a Segunda Guerra Mundial,
em computadores electrónicos em larga escala. Envolvendo uma mistura de matemática pura
e aplicada bem como outras ciências, a teoria dos autómatos era um campo ideal para o
intelecto abrangente de von Neumann. Ele trouxe-lhe várias perspectivas novas e abriu pelo
menos duas novas direcções de pesquisa.[12]”
Ainda no campo da ciência da computação, Donald Knuth cita von Neumann como o inventor
do algoritmo Mergesort, em 1945, cujo objectivo é criar uma sequência ordenada a partir de
outras duas já ordenadas. Para tal, divide-se a sequência original em pares de dados, e ordena-
se. Depois, agrupa-se em sequências de quatro elementos, e assim por diante até a sequência
original estar separada em apenas duas partes. Este é um exemplo de algoritmo de ordenação
do tipo “dividir-para-conquistar”, cujos passos do algoritmo são: 1- A sequência a ordenar é
dividida em duas; 2- Conquistar: cada uma das metades é ordenada independentemente; 3-
Combinar: as duas metades são juntas numa sequência ordenada. O seu algoritmo para
simular uma moeda equilibrada usando uma moeda viciada é usado na etapa de Software
Whitening de alguns geradores de números aleatórios.
A máquina proposta por Von Neumann reúne os seguintes componentes: (i) uma memória, (ii)
uma unidade aritmética e lógica (ALU), (iii) umaunidade central de processamento (CPU),
composta por diversos registradores, e (iv) uma Unidade de Controle (CU), cuja função é a
mesma da tabela de controle da Máquina de Turing universal: buscar um programa na
memória, instrução por instrução, e executá-lo sobre os dados deentrada.
Todos os elementos dessa arquitetura são alinhados da estrutura hardware do CPU, assim o
sistema pode realizar todas as suas atividades sem apresentar erros no desempenho. Von
Neumann é continuamente influenciado pela evolução tecnológica, tendo peças mais
modernas inseridas. Cada um dos elementos apresentados é realizado à custa de
componentes físicos independentes, cuja implementação tem variado ao longo do tempo,
consoante a evolução das tecnologias de fabricação, desde os relés electromagnéticos, os
tubos de vácuo (ou válvulas), até aos semicondutores, abrangendo os transistores e os
circuitos eletrônicos integrados, com média, alta ou muito alta densidade de integração (MSI
-medium scale, LSI - large scale, ou VLSI - very large scale integration), medida em termos de
milhões transistores por pastilha de silício.
As novas interações entre os elementos exibem tempos típicos que também têm variado ao
longo do tempo, consoante as tecnologias de fabricação. Atualmente, as CPUs processam
instruções sob controlo de relógios cujos períodos típicos são da ordem de 1 nanosegundo, ou
seja, segundos. As memórias centrais têm tempos típicos de acesso da ordem da dezena de
nanosegundos. As unidades de entrada e saída exibem tempos típicos extremamente
variáveis, mas que são tipicamente muito superiores à escala do nanosegundo. Por exemplo,
os discos rígidos exibem tempos da ordem dos milissegundos (milésimo de segundo, ). Outros
dispositivos periféricos são inertes, a não ser que sejam ativados por utilizadores humanos. Por
exemplo, ao se fazer "copy and paste" nao se-percebe nada do que foi descrito acima, pois um
teclado só envia informação para o computador após serem pressionada as devidas teclas.
Assim, este dispositivo se comunica com a CPU eventualmente e, portanto, exibe tempos
indeterminados.
O modelo (ou arquitetura) de Von Neumann foi concebido a partir de 1946, quando John von
Neumann e sua equipe desenvolveram um novo projeto de “computador de programa
armazenado”. Projetado pela IAS (Princeton Institute for Advanced Studies), este computador
foi largamente difundido, influenciando muitos projetos subsequentes de outras máquinas.
Descrição
A ideia do computador de programa armazenado, mudou tudo isso: um computador que pelo
projeto inclui um conjunto de instruções e pode armazenar na memória um conjunto de
instruções (programa) que detalha o cálculo. Um projeto de programa armazenado também
permite que os programas possam se modificar durante a execução. Uma motivação precoce
para uma instalação desse tipo foi a necessidade de um programa para incrementar ou
modificar a porção do endereço das instruções, o que tinha que ser feito manualmente em
projetos adiantados. Isto tornou-se menos importante quando registradores de índice e
endereçamento indireto foram as características usuais da arquitetura da máquina. Código de
Auto-modificação foi amplamente caído em desuso, já que normalmente é difícil de entender
e depurar, bem como sendo ineficiente em pipelining processador moderno, e esquemas de
cache.
Em grande escala, a capacidade de tratar as instruções como os dados é o que faz montadores,
compiladores e outras ferramentas de programação automatizada possíveis. Pode-se
"escrever programas que escrevem programas." Em uma escala menor, instruções de I / O da
máquina intensiva, como o BitBlt primitivos usados para modificar imagens em um display
bitmap. Foi mostrado posteriormente que estas instruções podem ser implementadas de
forma eficiente por "na compilação fly" ("just-in-time de compilação) de tecnologia, por
exemplo, geração de código de programas, uma forma de código de auto-modificação que se
manteve popular.
O matemático Alan Turing, que tinha sido alertado para um problema de lógica matemática
pelas palestras de Max Newman na Universidade de Cambridge, escreveu um artigo em 1936
intitulado On Computable Numbers, com um aplicativo para o Entscheidungsproblem, que foi
publicado nos Anais da Sociedade Matemática de Londres. Nela, ele descreveu uma máquina
hipotética que ele chamou de "máquina de computação universal", e que agora é conhecida
como a "máquina de Turing universal". A máquina hipotética tinha uma loja de infinitas
(memória, na terminologia de hoje instruções e dados). O engenheiro alemão Konrad Zuse,
independentemente escreveu sobre este conceito em 1936. John von Neumann tornou-se
familiarizado com Turing, quando ele era professor visitante na Universidade de Cambridge em
1935 e também durante o ano que Turing passou na Universidade de Princeton, em 1936-
1937.
Von Neumann estava envolvido no Projeto Manhattan no Los Alamos National Laboratory, que
exigiu enormes quantidades de cálculo. Isso o levou para o projeto ENIAC, no verão de 1944.
Lá ele se juntou ao debate em curso sobre a concepção deste computador de programa
armazenado, o EDVAC. Como parte desse grupo, ele se ofereceu para escrever uma descrição
do mesmo. O termo "arquitetura de von Neumann" surgiu a partir de uma publicação de von
Neumann, o primeiro esboço de um relatório sobre o EDVAC datado de 30 de junho de 1945,
que incluía ideias de Eckert e Mauchly. O esboço estava inacabado quando seu colega Herman
Goldstine que circulou somente com o nome de von Neumann sobre ele, para a consternação
de Eckert e Mauchly. O documento foi lido por dezenas de colegas de von Neumann nos
Estados Unidos e Europa, influenciando a próxima rodada de modelos de computador.
A separação entre a CPU e a memória leva para o gargalo de von Neumann, a produção
limitada (taxa de transferência) entre a CPU e a memória em comparação com a quantidade
de memória. Na maioria dos computadores modernos, o throughput é muito menor do que a
taxa com que o processador pode trabalhar. Isso limita seriamente a velocidade de
processamento eficaz quando o processador é exigido para realizar o processamento mínimo
em grandes quantidades de dados. A CPU é continuamente forçada a esperar por dados que
precisam ser transferidos para ou a partir da memória. Como a velocidade da CPU e tamanho
da memória têm aumentado muito mais rapidamente que a taxa de transferência entre eles, o
gargalo se tornou mais um problema, um problema cuja gravidade aumenta com cada geração
de CPU.
O termo "gargalo de von Neumann" foi cunhado por John Backus em sua palestra Award 1977
ACM Turing. Segundo Backus:
Certamente deve haver uma maneira menos primitiva de se fazer grandes mudanças na loja,
do que deixando um grande número de palavras para trás, através do gargalo de von
Neumann. Não só é um tubo de estrangulamento literal para o tráfego de dados de um
problema, mas, mais importante, é um factor de estrangulamento intelectual que nos tem
mantido amarrado a pensar palavra-em-um-tempo em vez de encorajar-nos a pensar em
termos de grandes unidades conceituais da tarefa em questão. Assim, a programação é
basicamente o planejamento e detalhamento do tráfego enorme de palavras através do
gargalo de von Neumann.
O problema de desempenho pode ser aliviado (até certo ponto) por diversos mecanismos. Os
algoritmos fornecem um cache entre o processador ea memória principal, proporcionando
caches separados com os caminhos de acesso separado para dados e instruções (a chamada
arquitetura de Harvard), e utilizando preditor e lógica são as três formas de desempenho. O
problema também pode ser contornado usando um pouco de computação paralela, por
exemplo a arquitetura NUMA, esta abordagem é geralmente utilizado pelos
supercomputadores.Uma solução proposta é Backus que não teve uma grande influência.
Modern programação funcional e programação orientada a objetos, são menos voltadas para
do que as linguagens anteriores, mas é internamente o que os computadores passam a maior
parte do tempo fazendo, mesmo os supercomputadores altamente paralelos.
Primeiros computadores de arquitetura von Neumann
A Primeira Ideia (primeiro rascunho - First Draft) descrevia um design de computador que foi
usado por muitas universidades e corporações para construir seus computadores. [1]Dentre
esses computadores, somente o ILLIAC e o ORDVAC possuíam instruções compatíveis.
Em matemática não percebemos coisas. Apenas nos habituamos a elas. (in G. Zukav The
dancing Wu Li masters)
O facto mais característico acerca da matemática é, na minha opinião, a sua relação peculiar
com as ciências naturais, ou mais geralmente, com qualquer ciência que interprete
experiências a um nível superior ao meramente descritivo.
Quem quer que seja que considere métodos aritméticos para produzir números aleatórios
está, claro, num estado de pecado. (in D. MacHale, Comic Sections (Dublin, 1993))
As ciências não tentam explicar, elas dificilmente tentam interpretar, elas fazem
principalmente modelos. Por um modelo entende-se uma construção matemática que,
juntamente com certas interpretações verbais, descreve um fenómeno observado. A
justificação de tal construção matemática é só e precisamente que se espera que funcione.
Podia parecer que chegámos ao limite do que era possível alcançar com a tecnologia dos
computadores, contudo, uma pessoa deveria ser cuidadosa com tais afirmações, pois tendem
a soar muito tontas em 5 anos. (dito em 1949)
Não há sentido em ser preciso quando não se sabe de que se está a falar.
Referências
4. ↑ a b c d e The legend of John von Neumann, Halmos, P.R. (Amer. Math. Monthly 80,
1973)
6. ↑ John von Neumann and Norbert Wiener: From mathematics to the tecnologies of
life and death, Heims, S. J. (Cambridge, MA, MIT Press, 1980)
7. ↑ John von Neumann’s work in the theory of games and mathematical economics,
Kuhn, H.W. and Tucker, A.W. (Bull. Amer. Math. Soc. 64, Number 3, pg. 100-122, 1958)
8. ↑ ] John von Neumann, Ulam (Bull. Amer. Math. Soc. 64, pg. 1-49, 1958)
9. ↑ Von Neumann's contributions to Quantum Theory, Van Hove (Bull. Amer. Math.
Soc. 64, pg. 95-99, 1958)
10. ↑ STERN, Nancy. (outubro 1980). "John von Neumann's Influence on Eletronic Digital
Computing, 1944-1946" (em ingles). Annals of The History of Computing 2 (4): 384. Arlington,
VA: American Federation of Information Processing Societies. ISSN 1058-6180.
11. ↑ A invenção do computador, Lévy, Pierre In: Serres, Michel (Org.). Elementos para
uma História das Ciências III: de Pasteur ao computador. Lisboa, Terramar, 1989
12. ↑ Von Neumann’s contributions to automata theory, Shannon, C.E. (Bull. Amer. Math.
Soc. 64, pg. 123-129, 1958)
13. ↑ John von Neumann, Ulam (Bull. Amer. Math. Soc. 64, pg. 1-49, 1958)
14. ↑ Über eine Schlussweise aus dem Endlichen ins Unendliche, König, D. (Acta Sci. Math
Szeged, vol. 3, pg. 121-130, 1927)
15. ↑ Zur Theorie der abstrakten Spiele, Kalmar, L. (Acta Sci. Math. Szeged. Vol. 4, pg. 65-
85, 1928-1929)