Sie sind auf Seite 1von 16

Arquitetura de Von

Neumann
Leandro Tonietto
Algoritmos e Programao em C++
Curso de Segurana da Informao
ltonietto@unisinos.br
http://www.inf.unisinos.br/~ltonietto/tsi/apc/arqVonNeumann.pdf
Fev-2008

Introduo





John Von Neumann, introduziu o projeto lgico de computadores com


programa armazenado na memria.
Computadores at ento no podiam armazenar programas em
memria para interpret-los.
Primeiro computador (EDVAC) com este fim surgiu em 1944. O projeto
durou 19441951 e computador foi utilizado at 1962.
Surge ento a expresso Arquitetura de Von Neumann [1]:


... Estrutura de computadores digitais com programas armazenados na


memria e, portanto, passvel de de automodificao e de gerao por
outros programas.

Em 1945, primeiro algoritmo para testar a mquina, cujo objetivo era a


classificao de uma srie de dados em ordem no decrescente de
uma chave. Algoritmo chamado de classificao por intercalao.



Objetivo de mostrar que o EDVAC tinha propsitos gerais e no apenas de


clculos cientficos.
Toda a codificao foi feita em linguagem de mquina.

Arquitetura de Von Neumann




Hardware do computador dividido em 3


partes:


Unidade central de processamento




Dispositivos de entrada e sada




Buscar, executar e devolver resultado de instrues


para a memria
Entrada e sada de dados. Interao com usurios.

Memria


Armazenamento de dados e instrues

Arquitetura de Von Neumann

CPU

Entrada

Sada
Memria

Arquitetura de Von Neumann




Dispositivos de entrada e sada:







So perifricos/hardware que permitem a entrada


de dados e instrues para o computador e
exibem o resultado do processamento da CPU.
Entrada: teclado, mouse, drive de disquete, drive
DVD, ...
Sada: impressora, monitor, drive de disquete, ...
Interatividade com o usurio.

Arquitetura de Von Neumann




Memria:


Tudo o que executado carregado para a


memria principal
Coleo de posies de memria ou slots de
memria.
Dados e instrues so acessados atravs do
endereo de memria.
Barramentos conectam a memria CPU

Arquitetura de Von Neumann




CPU central process unit:




Unidade central de processamento dividida em vrias


subunidades:
 ULA Unidade lgica e aritmtica


Registradores


Coleo de circuitos que realizam as operaes (adio,


subtrao, manipulao de bits, ...) sobre os dados.
Posies de memria construdas dentro da CPU. Muito mais
rpido do que acesso a memria principal (RAM)

UC - Unidade de controle


Controla todo o fluxo de execuo da CPU. Busca dados e


instrues da memria e coordena a troca de dados entre
registradores e ULA.

Arquitetura de Von Neumann




Funcionamento da CPU:



Tarefas complexas so decompostas em seqncia de


instrues simples
Cada instruo executa movendo-se dados dos
registradores para a ULA, que executa o clculo ou
operao apropriada e retorna dados para os
registradores.
Ciclo da CPU:
 Caminho completo de uma instruo: dos registradores at
a ULA e da ULA at os registradores, passando por
barramentos.
 Velocidade do computador medida em ciclos por
segundo.

Arquitetura de Von Neumann




Funcionamento da CPU:


Para uma tarefa ser executada, ela deve ser carregada da


memria principal (instruo a instruo) na ULA. A ULA
executa e devolve o resultado para a memria.

Exemplo:



Tarefa:
 c=a+b
Seqncia de execuo na CPU:
 R0 recebe o valor de a
 R1 recebe o valor de b
 R0 e R1 so passados para ULA
 ULA executa a soma
 Resultado devolvido para R2
 Posio de memria associada a c recebe o resultado

Arquitetura de Von Neumann




Execuo:




O programa carregado para a memria


O sistema operacional controla a seqncia das
operaes e alocao de memria.
E os programas so lidos a partir da primeira
instruo at chegar a uma instruo de stop ou
parar.
Unidade de controle recebe cada uma das
instrues, interpreta e d seqncia a fluxo de
execuo operativa (registradores ULA)

Arquitetura de Von Neumann




Programao:


O conjunto de instrues possveis que uma CPU pode


executar chamado de linguagem de mquina.
Programadores so aqueles que podem controlar o
comportamento do computador atravs de instrues em
linguagens de mquina.
Na prtica, os programas (conjuntos de instrues em
seqncia) so programados em linguagens de
programao ditas de alto nvel e convertidos para
linguagem de mquina por compiladores.

Arquitetura de Von Neumann




Linguagens de programao:





Linguagens conjunto finito de comandos que so


combinados (programados) de tal forma a produzir um
programa, para realizar uma tarefa.
Baixo nvel so linguagens de mquina, portanto, o
que o computador consegue interpretar e executar.
Alto nvel so linguagens de aquelas que facilitam a
programao por parte do programador, pois esto mais
prximas a linguagem humana. Exemplo: C/C++, Java,
Pascal, ...
Compilador um programa que converte as instrues
de um programa escrito em uma linguagem alto-nvel em
instrues de mquina.

Arquitetura de Von Neumann




Linguagem de mquina:




So comandos simples que a CPU pode


executar.
Esto comando so combinados para produzir
uma tarefa mais complexa.
Exemplos de comandos baixo nvel:





Registrador R0 recebe um valor


Registrador R1 recebe um valor
ULA computa operao de soma
R2 recebe o resultado da soma feita pela ULA

Arquitetura de Von Neumann




Na prtica, cada instruo da ULA est associada a


uma seqncia de bits. Por exemplo:







Soma poderia ser: 01001000


Atribuio de varivel: 00000001
Desvio de fluxo: 01001110

Portanto: impossvel programar desta forma!


Soluo: programar em linguagens de alto nvel e
deixar o trabalho pesado para o compilador.

Arquitetura de Von Neumann




Exerccio. Primeira tarefa de programao:




Qual seria o conjunto de instrues (programa)


para somar 100 nmeros armazenados na
memria?






Responda com frases, no necessrio saber


programar.
Primeiro em alto nvel...
Depois em linguagem de mquina...
Agora, como desafio, tente programar. Associe um
comando com cada frase ou instruo necessria.

Referncias





REED, David. A Balanced Introduction to


Computer Science and Programming.
Prentice Hall.
Wikipdia. Arquitetura de Von Neumann
KOWALTOWSKI, Tomas. A Obra e o
Legado de John Von Neumann. Estudos
Avanados, V. 10, no. 26, So Paulo, 1996.

Das könnte Ihnen auch gefallen