12.07.2015 Views

Arquitetura de Von Neumann - Unisinos

Arquitetura de Von Neumann - Unisinos

Arquitetura de Von Neumann - Unisinos

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong> Hardware do computador dividido em 3partes:Unida<strong>de</strong> central <strong>de</strong> processamento Buscar, executar e <strong>de</strong>volver resultado <strong>de</strong> instruçõespara a memóriaDispositivos <strong>de</strong> entrada e saída Entrada e saída <strong>de</strong> dados. Interação com usuários.Memória Armazenamento <strong>de</strong> dados e instruções


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong>CPUEntradaMemóriaSaída


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong> Dispositivos <strong>de</strong> entrada e saída:São periféricos/hardware que permitem a entrada<strong>de</strong> dados e instruções para o computador eexibem o resultado do processamento da CPU.Entrada: teclado, mouse, drive <strong>de</strong> disquete, driveDVD, ... Saída: impressora, monitor, drive <strong>de</strong> disquete, ...Interativida<strong>de</strong> com o usuário.


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong> Memória:Tudo o que é executado é carregado para amemória principalColeção <strong>de</strong> posições <strong>de</strong> memória ou slots <strong>de</strong>memória.Dados e instruções são acessados através doen<strong>de</strong>reço <strong>de</strong> memória.Barramentos conectam a memória à CPU


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong>CPU – central process unit:Unida<strong>de</strong> central <strong>de</strong> processamento é dividida em váriassubunida<strong>de</strong>s: ULA – Unida<strong>de</strong> lógica e aritméticaColeção <strong>de</strong> circuitos que realizam as operações (adição,subtração, manipulação <strong>de</strong> bits, ...) sobre os dados.RegistradoresPosições <strong>de</strong> memória construídas <strong>de</strong>ntro da CPU. Muito maisrápido do que acesso a memória principal (RAM)UC - Unida<strong>de</strong> <strong>de</strong> controleControla todo o fluxo <strong>de</strong> execução da CPU. Busca dados einstruções da memória e coor<strong>de</strong>na a troca <strong>de</strong> dados entreregistradores e ULA.


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong>Funcionamento da CPU:Tarefas complexas são <strong>de</strong>compostas em seqüência <strong>de</strong>instruções simplesCada instrução é executa movendo-se dados dosregistradores para a ULA, que executa o cálculo ouoperação apropriada e retorna dados para osregistradores.Ciclo da CPU: Caminho completo <strong>de</strong> uma instrução: dos registradores atéa ULA e da ULA até os registradores, passando porbarramentos. Velocida<strong>de</strong> do computador é medida em ciclos porsegundo.


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong>Funcionamento da CPU:Para uma tarefa ser executada, ela <strong>de</strong>ve ser carregada damemória principal (instrução a instrução) na ULA. A ULAexecuta e <strong>de</strong>volve o resultado para a memória.Exemplo:Tarefa: c = a + bSeqüência <strong>de</strong> execução na CPU: R0 recebe o valor <strong>de</strong> a R1 recebe o valor <strong>de</strong> b R0 e R1 são passados para ULA ULA executa a soma Resultado é <strong>de</strong>volvido para R2 Posição <strong>de</strong> memória associada a c recebe o resultado


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong> Execução:O programa é carregado para a memóriaO sistema operacional controla a seqüência dasoperações e alocação <strong>de</strong> memória.E os programas são lidos a partir da primeirainstrução até chegar a uma instrução <strong>de</strong> stop ouparar.Unida<strong>de</strong> <strong>de</strong> controle recebe cada uma dasinstruções, interpreta e dá seqüência a fluxo <strong>de</strong>execução operativa (registradores – ULA)


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong>Programação:O conjunto <strong>de</strong> instruções possíveis que uma CPU po<strong>de</strong>executar é chamado <strong>de</strong> linguagem <strong>de</strong> máquina.Programadores são aqueles que po<strong>de</strong>m controlar ocomportamento do computador através <strong>de</strong> instruções emlinguagens <strong>de</strong> máquina.Na prática, os programas (conjuntos <strong>de</strong> instruções emseqüência) são programados em linguagens <strong>de</strong>programação ditas <strong>de</strong> alto nível e convertidos paralinguagem <strong>de</strong> máquina por compiladores.


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong>Linguagens <strong>de</strong> programação:Linguagens – conjunto finito <strong>de</strong> comandos que sãocombinados (programados) <strong>de</strong> tal forma a produzir umprograma, para realizar uma tarefa.Baixo nível – são linguagens <strong>de</strong> máquina, portanto, é oque o computador consegue interpretar e executar.Alto nível – são linguagens <strong>de</strong> aquelas que facilitam aprogramação por parte do programador, pois estão maispróximas a linguagem humana. Exemplo: C/C++, Java,Pascal, ...Compilador – é um programa que converte as instruções<strong>de</strong> um programa escrito em uma linguagem alto-nível eminstruções <strong>de</strong> máquina.


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong> Linguagem <strong>de</strong> máquina:São comandos simples que a CPU po<strong>de</strong>executar.Estão comando são combinados para produziruma tarefa mais complexa.Exemplos <strong>de</strong> comandos baixo nível: Registrador R0 recebe um valor Registrador R1 recebe um valor ULA computa operação <strong>de</strong> soma R2 recebe o resultado da soma feita pela ULA


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong>Na prática, cada instrução da ULA está associada auma seqüência <strong>de</strong> bits. Por exemplo: Soma po<strong>de</strong>ria ser: 01001000 Atribuição <strong>de</strong> variável: 00000001 Desvio <strong>de</strong> fluxo: 01001110Portanto: impossível programar <strong>de</strong>sta forma!Solução: programar em linguagens <strong>de</strong> alto nível e<strong>de</strong>ixar o trabalho “pesado” para o compilador.


<strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong> Exercício. Primeira tarefa <strong>de</strong> programação:Qual seria o conjunto <strong>de</strong> instruções (programa)para somar 100 números armazenados namemória? Responda com frases, não é necessário saberprogramar. Primeiro em alto nível... Depois em “linguagem <strong>de</strong> máquina”... Agora, como <strong>de</strong>safio, tente programar. Associe umcomando com cada frase ou instrução necessária.


Referências REED, David. A Balanced Introduction toComputer Science and Programming.Prentice Hall. Wikipédia. <strong>Arquitetura</strong> <strong>de</strong> <strong>Von</strong> <strong>Neumann</strong> KOWALTOWSKI, Tomas. A Obra e oLegado <strong>de</strong> John <strong>Von</strong> <strong>Neumann</strong>. EstudosAvançados, V. 10, no. 26, São Paulo, 1996.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!