Sunteți pe pagina 1din 5

Níveis de Abstracção

Nível 5 Aplicação
Programador
Nível 4 Programa Linguagem de Alto Nível
Compilador
Nível 3 Programa em Linguagem Assembly
“Assembler”
Nível 2 Programa em Linguagem Máquina
Projectistas do
Processador
Micro-programa em Linguagem de
Nível 1
Transferência de Registos
Projectistas de
Sistemas Digitais
Nível 0 Sistema Digital (CPU)
1

Níveis de Abstracção

¾ Cada nível de abstracção permite que sejam


realizadas acções mais complexas e
especializadas

¾ Os diferentes níveis de abstracção criados sobre o


CPU tornam os computadores mais poderosos e
simples de usar

¾ O nível de abstracção mais baixo a considerar é o


da linguagem máquina, que é constituída por um
conjunto de bits, directamente interpretável pelo
processador
2
Linguagens
¾ O computador utiliza normalmente dois níveis de
linguagem:

• Linguagem máquina
Utilizada para transmitir instruções à máquina
(hardware) de modo a desempenhar as
funções básicas do CPU;

• Linguagens criadas sobre a linguagem


máquina
Linguagens que têm capacidades e
características particulares.
3

Linguagens

¾ A programação directamente em linguagem


máquina exige dos programadores um esforço muito
grande de memorização e de consulta de
documentação, revelando-se muito ineficiente em
termos de tempo investido.

¾ A programação de um computador pode e deve ser


feita utilizando níveis de abstracção superiores
usando linguagens de alto nível (Pascal, C, Java).
Os programas escritos nestas linguagens têm de
ser posteriormente traduzidos para linguagem
assembly e daí para linguagem máquina, antes de
serem executados pelo processador.
4
Compiladores e Interpretadores

¾ Os compiladores e os interpretadores permitem


ao computador entender programas escritos
em linguagens de programação de alto nível

¾ Compiladores (tradutores)
Traduzem as linguagens de programação para a
linguagem máquina

¾ Interpretadores (simuladores)
Simulam a execução dos programas de modo a
produzir o efeito desejado
5

Compiladores e Interpretadores

¾ Os compiladores e os interpretadores são


programas escritos na linguagem máquina

Linguagem
Linguagem
Programação Compilador Máquina
Alto-nível

Linguagem
Programação Interpretador Resultado
Alto-nível

6
Porquê Assembly ?

Permite analisar muitos aspectos da arquitectura e da


organização de um computador que estão escondidos
do programador de uma linguagem de alto nível:

¾ Mostra como os programas interagem com o sistema


operativo, processador e BIOS;

¾ Mostra como a informação é representada e armazenada


na memória ou em componentes externos;
¾ Clarifica a forma como o processador recebe e executa
instruções e como estas instruções, por sua vez, acedem
e processam dados;
¾ Clarifica como um programa acede a componentes
externos;
7

“Assemblers”
O “Assembler” é um programa tradutor que recebe um
ficheiro de dados .ASM (ficheiro em texto simples com
o código fonte em Linguagem “Assembly” ou Simbólica)
e traduz o mesmo para um ficheiro executável .COM ou
.EXE (em Linguagem Máquina).

Linguagem
“Assembly”
Máquina
Programa Programa
“Assembler”
fonte objecto

Dados Resultados
8
Falha vs Erro
O erro (error) pode ser definido como algo que se
encontra mal no código fonte, em termos de sintaxe ou
semântica, e que impede o “assembler” de completar a
tradução do código.

A falha (bug) é uma incorrecção na estrutura do


programa, que não é detectada pelo “assembler”, mas
com que o programador se depara na execução do
programa quando este gera um resultado imprevisto.

Ambos devem ser corrigidos no código fonte.


Uma vez que as falhas (bugs) são mais difíceis de
detectar, existem programas específicos para a sua
detecção e correcção. 9

“Debbugers”
O “debbuger” (depurador) é um programa destinado
a auxiliar o programador a localizar e corrigir as falhas
dos programas.

Permitem que o programador visualize no ecrã a


execução das instruções do programa, uma a uma, e
os seus efeitos nos diversos componentes que
compõem a estrutura base do computador.

Do ponto de vista do utilizador os “debbugers” são mais


complexos que os “assemblers”, pois permitem que se
façam inúmeras operações.
10

S-ar putea să vă placă și