0
Como funciona um computador? Algoritmos implementados por um programa                           escrito em uma    sequênc...
 Para haver comunicação, é necessário que hajauma linguagem em comum... ...ou um tradutor                               ...
 Linguagens em geral...Mais                                            Mais complexa   chinês       português,           ...
 A nível de                       Ling. de Prog.                                                             T           ...
 A nível de hardware,                             Interpretaçãotemos:                                       Microprograma...
Tradução X Interpretação O esquema das etapas de execução de um programa apresentado anteriormente não é uma generalizaçã...
 Tradução:                            ________                                       ________                            ...
 Mas afinal, para que tantas etapas na execução de um programa? O esquema abaixo mostra um dos problemas que ocorreriam ...
 Note que, para cada linguagem diferente, seria  necessária uma maneira diferente de fazer suas  instruções serem executa...
 Todas aquelas etapas servem então para que, utilizando o conceito de divisão e conquista, os processadores não precisem ...
 Agora, são apenas m+n maneiras diferentes de execução de programas Intuitivamente, temos um custo maior por ter tantas ...
 Na interpretação, as instruções são apenas  convertidas nas ordens em que serão  executadas, o que acontece de N1 para N...
_____________        L5                          _____________                          _____________                     ...
Curiosidades Em Delphi, é possível manipular o programa nonível de montagem. Com isso, pode-se ter umanoção maior de quan...
 Com o conceito de linguagens (L1, L2, L3 etc) apresentado, temos também o conceito de máquinas virtuais. Por exemplo:   ...
 Generalizando para o topo, temos:            Linguagem de programação                   de alto nível                   ...
Abstração Considere o seguinte esquema:       C                                       Pascal                        Java ...
 Vimos anteriormente que os compiladores A, B, C e D não são necessariamente diferentes, assim como os processadores Por...
Através da abstração, a JVM (Java Virtual Machine) “esconde” as complexidades que envolvem as plataformas                ...
Upcoming SlideShare
Loading in...5
×

Maquinas multinivel

1,209

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,209
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Maquinas multinivel"

  1. 1. Como funciona um computador? Algoritmos implementados por um programa escrito em uma sequências linguagem de de instruções programaçãoProgramadores se comunicam com computadoresatravés de uma linguagem de programação 1
  2. 2.  Para haver comunicação, é necessário que hajauma linguagem em comum... ...ou um tradutor 2
  3. 3.  Linguagens em geral...Mais Mais complexa chinês português, simples inglês etc (computador (usuário entende) entende) É necessária uma espécie de tradução daslinguagens comuns para a linguagem binária, que éo que o computador “entende” de fato Veremos a seguir que, na verdade, tradução éapenas parte do processo 3
  4. 4.  A nível de Ling. de Prog. T N5 Rsoftware, temos: Alto Nível A Compilação D U Ç Lê o código e, usando Montagem N4 Ã as informações nele O contidas, manipula a memória. Montador Sistema N3 Operacional Interpretação Parcial Macroprogramação N2 Interpretação 4
  5. 5.  A nível de hardware, Interpretaçãotemos: Microprogramação N1 Aqui, há um número muito maior de instruções do que havia no início. Com isso, mais circuitos devem ser Só agora são executadas criados, aumentando o custo. as instruções Portanto, linguagem simples é necessária. Circuitos Digitais N0 5
  6. 6. Tradução X Interpretação O esquema das etapas de execução de um programa apresentado anteriormente não é uma generalização Isto porque existem linguagens compiladas (utilizam tradução) e outras, interpretadas A tradução é feita uma vez apenas. Já a interpretação é realizada cada vez que o programa é executado 6
  7. 7.  Tradução: ________ ________ Execução ________ ✔ _________ ________ ✔ _________ ________ ✔ _________ ________ ✔ _________ ________ ✔ _________ ________ ✔ _________ ________ ✔ ________ . L2 . ________ . L1 Interpretação: _________ ✔ _________ ✔ _________ ✔ _________ ✔ _________ . _________ . Tempo de execução . L2 L1 7
  8. 8.  Mas afinal, para que tantas etapas na execução de um programa? O esquema abaixo mostra um dos problemas que ocorreriam caso as instruções das linguagens em alto nível fossem executadas sem todas essas etapasm C Pascal Cobol C++ ..... n Pentium 4 I7 Xeon AMD ..... 8
  9. 9.  Note que, para cada linguagem diferente, seria necessária uma maneira diferente de fazer suas instruções serem executadas. Isso para cada processador Para cada nova linguagem ou novo processador, já haveria uma nova necessidade para que o programa fosse executado No total, teríamos m*nnecessidades diferentes! 9
  10. 10.  Todas aquelas etapas servem então para que, utilizando o conceito de divisão e conquista, os processadores não precisem “se preocupar” com linguagens, e vice-versa As instruções complexas são reduzidas a instruções em uma linguagem simples, entendida por todos os processadoresm C Pascal Cobol C++ .....n Pentium 4 I7 Xeon AMD ..... 10
  11. 11.  Agora, são apenas m+n maneiras diferentes de execução de programas Intuitivamente, temos um custo maior por ter tantas etapas... mas não é bem assim. Dos níveis N5 até N3, o custo muitas vezes nem chega ao usuário, pois o software é compilado antes de chegar até ele É importante ressaltar que uma instrução em L2 não pode nunca ser diretamente executada no nível N0 Depois de N2, não ocorre mais tradução, apenas interpretação 11
  12. 12.  Na interpretação, as instruções são apenas convertidas nas ordens em que serão executadas, o que acontece de N1 para N0 no esquema apresentado anteriormente Relembrando: Macroprogramação L2 Interpretação Microprogramação L1 Execução Circuitos digitais Instruções A seguir, uma melhor representação das etapas de um programa até que ele esteja em L2 12
  13. 13. _____________ L5 _____________ _____________ _____________ Compilação _______ _______ _______ ....... + _______ _______ + _______ _______ + _______ _______ + ....... L4 Montagem 010010101101 001010101010 L3 -> L2 + L1O programa em L3 tem 101011100110também os endereços de ...memória envolvidos noprocesso 101101010101 L2 010100101101 ... 13
  14. 14. Curiosidades Em Delphi, é possível manipular o programa nonível de montagem. Com isso, pode-se ter umanoção maior de quanto tempo levará sua execução Atualmente, no caso de dispositivos móveis, porexemplo, programa-se em alto nível e depois acessa-se o programa em nível de montagem, para quesejam reprogramadas apenas as partes “ruins” 14
  15. 15.  Com o conceito de linguagens (L1, L2, L3 etc) apresentado, temos também o conceito de máquinas virtuais. Por exemplo: Macroprogramação Máquina L2 virtual L3 Microprogramação Máquina virtual L2 L1 Máquina física Circuitos digitais Instruções 15
  16. 16.  Generalizando para o topo, temos: Linguagem de programação de alto nível L5 Compilação . . . . . . . Máquina . virtual à vista . do usuário . 16
  17. 17. Abstração Considere o seguinte esquema: C Pascal Java Compilador B Compilador C Compilador D Compilador A Windows Linux Política de compatibilidade da Intel: todas as instruções Processador Processador 1 2 entendidas por um Pentium 4 são entendidas também pelo I7 (mais avançado) 17
  18. 18.  Vimos anteriormente que os compiladores A, B, C e D não são necessariamente diferentes, assim como os processadores Porém, com processadores que não sejam da Intel, é possível que sejam necessários diferentes compiladores para cada situação A linguagem Java, teoricamente, não possui restrições de plataforma Veremos a seguir que ela utiliza uma espécie de disfarce... 18
  19. 19. Através da abstração, a JVM (Java Virtual Machine) “esconde” as complexidades que envolvem as plataformas ______________ Java ______________ ______________ _________________ _________________ _________________ _________________ Java ByteCode JVM Máquina Virtual Java 19
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×