Buscar

Trabalho AVA 2 - Compilação x Interpretação - Organização e Arquitetura de Computadores UVA UNIVERSIDADE VEIGA DE ALMEIDA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UVA – UNIVERSIDADE VEIGA DE ALMEIDA 
 
 
 
 
 
 
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES 
AVA2 – Compilação x Interpretação 
 
 
 
 
 
 
 
PROFESSOR: Thiago Alberto Ramos Gabriel 
NOME: Rodrigo Maia Diniz 
MATRÍCULA: 20191301456 
 
 
 
 
 
 
Rio de Janeiro 
2022.2 
Enunciado da Avaliação 2 
 
Independentemente da arquitetura de computadores, e podemos tomar como 
base o modelo da arquitetura de Von Newmann, tanto o processo de compilação 
quanto o processo de interpretação são possíveis. 
 
É fato que programadores de computadores ficam em dúvidas quanto à 
diferenciação da compilação e da interpretação de programas. Muitas das vezes, isso 
ocorre por falta de conhecimento aprofundado acerca da arquitetura de computadores 
e de como os programas são executados nas máquinas. 
 
Tomando como base as etapas de um ciclo de máquina apresentadas por 
Corrêa (2016), faça a representação gráfica dos dois processos, compilação e 
interpretação, explicando, no final, a real diferença existente entre eles. 
 
Representação Gráfica dos dois Processos 
 
COMPILADOR INTERPRETADOR 
Ler uma instrução no algoritmo Ler uma instrução no algoritmo 
Depurar somente a instrução lida Depurar somente a instrução lida 
Traduzir a instrução lida para linguagem 
de máquina 
Traduzir a instrução lida para 
linguagem de máquina 
Seguir para próxima instrução na 
sequência do algoritmo 
Executar a instrução traduzida 
Manter o ciclo acima em execução até o 
fim do algoritmo 
Seguir para próximo instrução na 
sequência do algoritmo 
Executar o algoritmo totalmente traduzido 
e em linguagem de máquina 
Manter o ciclo acima em execução 
até o fim do algoritmo 
 
 
Compilador x Interpretador 
A diferença está na forma de execução, o compilador é o processo de alto nível para 
uma linguagem de máquina, analisa o código por inteiro a fim de traduzir de uma única 
vez, o interpretador traduz cada instrução para uma apresentação interna realizando 
esse trabalho de conversão aos poucos, sempre que uma declaração ou função é 
executada. 
 
Primeiro Processo Compilador 
 
O programa conversor recebe a primeira instrução do programa fonte, confere-a para 
ver se está escrita corretamente, converte-a para linguagem de máquina em caso 
afirmativo e passa para a próxima instrução, repetindo o processo sucessivamente 
até a última instrução do programa fonte. Caso tenha terminado a transformação da 
última instrução do programa fonte e nenhum erro tenha sido detectado, o computador 
volta à primeira instrução, já transformada para linguagem de máquina e executa-a. 
Passa à instrução seguinte, executa-a, etc., até a última. Se este programa for 
executado uma segunda vez, não haverá necessidade de uma nova tradução, uma 
vez que todos os comandos em linguagem binária foram memorizados em um novo 
programa completo. Neste método, o programa conversor recebe o nome de 
Compilador é um programa (ou um conjunto deles) como qualquer outro, porém seu 
objetivo principal é o de traduzir todas as suas linhas de código para outra linguagem 
normalmente, uma de alto nível para outra de baixo nível (Assembly ou linguagem de 
máquina). Delphi, Rust, C++ e Swift figuram na lista de compiladas. 
 
Vantagens: 
 O código compilado é mais rápido de ser acessado; 
 Impossibilita ou pelo menos dificulta ser quebrado e visualizado o código-
fonte original; 
 Permite otimização do código por parte do compilador; 
 Compila o código somente se estiver sem algum erro. 
Desvantagens: 
 Para ser utilizado o código precisa passar por muitos níveis de compilação; 
 Assim como vantagem a possibilidade de não poder visualizar o código-fonte, 
pode ser uma desvantagem; 
 Processo de correção ou alteração do código requer que ele seja novamente 
recompilado. 
Segundo Processo Interpretador 
 
O programa conversor recebe a primeira instrução do programa fonte, confere para 
ver se está escrita corretamente, converte-a em linguagem de máquina e então 
ordena ao computador que execute esta instrução. Depois repete o processo para a 
segunda instrução, e assim sucessivamente, até a última instrução do programa fonte. 
Quando a segunda instrução é trabalhada, a primeira é perdida, isto é, apenas uma 
instrução fica na memória em cada instante. Se este programa fonte for executado 
uma segunda vez, novamente haverá uma nova tradução, comando por comando, 
pois os comandos em linguagem de máquina não ficam armazenados para futuras 
execuções. Neste método, o programa conversor recebe o nome de Interpretador ele 
executa diretamente cada instrução, passo a passo. MATLAB, Lisp, Perl e PHP são 
apontadas como interpretadas. 
 
Vantagens: 
 Correções e alterações são mais rápidas de serem realizadas; 
 Código não precisa ser compilado para ser executado; 
 Consomem menos memória. 
Desvantagens: 
 Execução é mais lenta do programa; 
 Necessita sempre ser lido o código original para ser executado;

Continue navegando