Exercícios - Instruções de Sistemas de Baixo Nível PDF

Title Exercícios - Instruções de Sistemas de Baixo Nível
Author Lohrann Faber
Course Arquiteturas De Computadores
Institution Universidade Federal Fluminense
Pages 3
File Size 59.1 KB
File Type PDF
Total Downloads 7
Total Views 131

Summary

Execução de Programas e caracterização de instruções em Sistemas de baixo nível....


Description

Exercícios - Execução de Programas e caracterização de instruções

Nome: Lohrann Faber Rodrigues Professor: Irineu Neto

1) Defina linguagem de programação, e tipos baixo e alto nível. Cite exemplos. R: A Linguagem de programação serve como um meio de comunicação entre computadores e humanos. A Linguagem de programação de alto nível é uma linguagem com um nível de abstração relativamente elevado, longe do código de máquina e mais próximo à linguagem humana. Desse modo, as linguagens de alto nível não estão diretamente relacionadas à arquitetura do computador. O programador de uma linguagem de alto nível não precisa conhecer características do hardware, como registradores. Alguns exemplos claros de linguagens são: C, C++, Java, entre outras. Já a Linguagem de baixo nível é uma linguagem de programação que compreende diretamente as características da arquitetura do processador. Assim, utiliza somente instruções do processador. Nesse sentido, as linguagens de baixo nível estão diretamente relacionadas com o hardware. Um exemplo é a linguagem Assembly.

2) Explique o que você entende por compilação? R: A compilação é um processo em que o compilador traduz a linguagem de alto nível numa sequencia de instruções para o processador entender.

3) E por interpretação? R: É um processo em que são programas de computador que leem um código fonte de uma linguagem de programação interpretada e o converte em código executável. 4) Compare os dois modos: compilação e interpretação. Indique em que circunstâncias um modo é mais vantajoso que o outro. R: Interpretação: Os ciclos de escrita, execução e modificação são mais rápidos que o de compilação. Compilação: Sua execução é mais rápida perante ao processo de interpretação. 5) Por que um programa em linguagem Assembly não é diretamente executável pelo processador? Como este problema é, na prática, resolvido? R: Porque o mesmo apenas representa as instruções que seriam oferecidas pela arquitetura. O problema é resolvido através do “assembler”, o qual converte essas instruções para a forma binária, fazendo com que o programa seja carregado na memória e interpretado pelo processador. 6) Por que um compilador deve ser específico para uma determinada linguagem de programação e para uma determinada UCP? R: Porque certos compiladores só entendem as bibliotecas pertencentes a essa determinada linguagem de programação/UCP.

7) Explique o que é e como funciona o processo de ligação (linkedição). R: Certos programas possuem módulos, os quais são compilados um a um, sendo “ligado” ao montador, gerando esses módulos em código-objeto. Assim, o linker, como é chamado, reúne esses módulos e resulta no programa executável, o qual é carregado na memória. 8) Quais são as principais etapas de análise de um programa-fonte realizadas por um programa compilador? R: Durante a compilação, o código fonte é analisado (análise léxica, sintática e semântica), é gerado um código intermediário e são construídas tabelas de símbolos. Após esse processo, alocam-se as áreas de memória para variáveis e atribuem-se os registradores a serem utilizados, e finalmente é gerado o código objeto em linguagem de máquina, a qual no caso é binária. Em alguns compiladores, é gerado um código intermediário em Assembly, o qual em seguida passa pelo montador para gerar finalmente o código objeto em linguagem de máquina....


Similar Free PDFs