Arquitetura de Computadores - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Arquitetura de Computadores

Description:

Arquitetura de Computadores Ricardo de Sousa Britto N vel da Linguagem de Montagem Introdu o Tradu o: Converte um programa fonte em um programa objeto Duas ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 23
Provided by: Rica295
Category:

less

Transcript and Presenter's Notes

Title: Arquitetura de Computadores


1
Arquitetura de Computadores
  • Ricardo de Sousa Britto
  • Nível da Linguagem de Montagem

2
Introdução
  • Tradução Converte um programa fonte em um
    programa objeto
  • Duas etapas Geração de programa em linguagem
    alvo Execução do programa.
  • Dois tipos Compilador e Montador
  • Compilador Linguagem fonte Alto nível
  • Montador Linguagem fonte representação
    simbólica da linguagem de montagem (Assembly)

3
Vantagens
  • Código mais eficiente
  • Algumas máquinas podem não ter um compilador
  • Acesso direto aos recursos de nível ISA
  • Uma linha de programa Uma linha de programa
    objeto

4
Desvantagens
  • Maior complexidade de programação
  • Custo maior de desenvolvimento
  • Código não portável

5
Formato de um comando em Assembly
6
Campos de uma instrução Assembly
  • Label Nome simbólico atribuído a um endereço.
  • Operação Abreviação simbólica do OPCODE. Ex ADD
    soma.
  • Operando especifica simbolicamente os endereços,
    registradores ou constantes.
  • Comentários Documenta o programa. Ignorado pelo
    montador.

7
Processo de montagem
  • Montagem tradução de programa fonte em programa
    objeto.
  • Problema da referência futura Desvios para
    posições representadas por símbolos ainda
    indefinidos
  • Solução Tradução em Dois passos

8
Passo 1
  • Analisa-se as instruções, até encontrar uma
    pseudo-instrução END.
  • Usando uma tabela de códigos de operação, o
    montador constrói uma tabela de símbolos.
  • Tabela de símbolos é utilizada no Passo 2 da
    montagem.

9
Tabela de Símbolos
  • O contador de localização de instrução (ILC),
    zerado no início do passo 1, é incrementado do
    comprimento da instrução corrente.
  • O ILC provê o endereço de execução da instrução
    montada.
  • A tabela de símbolos é com base no ILC

10
Formato de uma entrada da TS
11
Passo 2
  • Gera o programa objeto. Produz a expansão binária
    da instrução a partir das tabelas.
  • Produz informações necessárias ao procedimento de
    ligação.
  • Gera mensagens de erro caso estes existam no
    programa fonte.

12
Ligação e Carga
  • Programas podem ser constituídos de vários
    procedimentos.
  • Todos os procedimentos devem ser ligados em um
    único programa a ser executado.
  • O software que faz a ligação dos procedimentos é
    chamado de ligador.
  • É produzido um único programa, o Módulo Absoluto
    de carga, a partir de vários módulos objetos

13
Ligação e Carga
  • Módulos objetos são obtidos a partir da tradução
    dos vários procedimentos.
  • Um software denominado carregador carrega o
    Módulo de carga na memória principal para
    posterior execução.

14
Ligação e Carga
15
Ligação e Carga
  • O ligador une todos os modelos objetos em um
    único espaço de endereçamento.
  • As referências a endereços devem ser atualizadas
    (Problema de realocação)
  • Quando um procedimento A chama um B, o endereço
    absoluto de B só conhecido após a ligação
    (Problema da referência externa)

16
Tarefas do Ligador
  • Construir uma tabela com todos os módulos objeto
    e seus respectivos comprimentos.
  • Atribuir um endereço de carga.
  • Adicionar uma constante de relocação ao endereço
    inicial de cada módulo.
  • Encontrar todas as instruções que referenciam
    outros procedimentos e inserir nelas endereço
    absoluto dos mesmo

17
Módulos objeto
18
Módulo de carga
19
Funcionamento do Ligador
  • A maioria dos ligadores requer 2 passos
  • Ler todos os módulos objeto, construir uma tabela
    de nomes e comprimentos de módulos e uma tabela
    global de símbolos internos e externos
  • Ler os módulos objeto, relocá-los e ligá-los para
    formar um único módulo

20
Estrutura de um módulo objeto
21
Tabela de módulos objeto
Módulo Comprimento Endereço
A 400 100
B 600 500
C 500 1100
D 300 1600
22
Ligação Dinâmica
  • Ligação de procedimentos compilados separadamente
    no momento em que esses são chamados pela
    primeira vez.
  • Procedimentos raramente utilizados são ligados só
    se necessários.
  • Melhor aproveitamento da memória virtual.
Write a Comment
User Comments (0)
About PowerShow.com