






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Trabalho de AOC do curso Sistemas de Informação do CES/JF (Máquinas Multiníveis)
Tipologia: Trabalhos
1 / 12
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Bacharelado em Sistemas de Informação
Carlos Eduardo O. Velasco 1º Semestre / 2009
Bacharelado em Sistemas de Informação
Este nível difere dos níveis inferiores por ser implementado por tradução. A tradução é usada quando um processador está disponível para uma mensagem fonte mas não para uma linguagem alvo
O programa tradutor converte um programa fonte (escrito numa linguagem fonte) para um programa equivalente, o programa objeto (na linguagem de máquina do processador disponível).
A tradução é feita em duas etapas, as quais são realizadas em seqüência. Primeiro a geração de um programa em linguagem alvo (programa objeto), e depois a execução do programa gerado.
Existem dois tipos de tradutores:
As razões para o uso da linguagem de montagem são de melhorar o desempenho e que algumas máquinas podem não ter um compilador disponível.
Cada comando em linguagem resulta em um comando em linguagem de máquina: uma linha de programa fonte ≡ uma linha de programa objeto.
Representação simbólica da linguagem de máquina: Códigos de operação e operandos (números) substituídos por mnemônicos e rótulos.
Ao contrário da programação em alto nível, o programador delinguagem de montagem dispõe de todos os recursos do nível ISA.
Programa não portável (válido apenas para uma mesma família deprocessadores).
Uma instrução em linguagem de montagem contém, pelo menos, um campo de operação e outros campos que a especificam.
Bacharelado em Sistemas de Informação
No processo de análise das instruções, usando uma Tabela de Códigos de Operação, o montador constrói uma Tabela de Símbolos, a qual será usada no Passo 2.
Tabela de Códigos:
A construção da Tabela de Símbolos se dá analisando as instruções, uma a uma, em sequência e o Controlador de Localização de Instrução (ILC - Instruction Location Counter), zerado no início do Passo1, é incrementado do comprimento da instrução corrente a cada instrução analisada. O ILC provê o endereço "de execução" da instrução montada.
Com base no ILC, uma Tabela de Símbolos é montada.
A Tabela de Símbolos contém os seguintes campos:
Bacharelado em Sistemas de Informação
Passo 2: No passo dois, é gerado o programa objeto, produzido a expansão binária da instrução a partir das tabelas, produzido informações necessárias ao procedimento de Ligação e Gera mensagens de erro caso estes existam no programa fonte.
Macros são abreviaturas simbólicas para trechos do programa fonte. Usadas para diminuir o tamanho do código quando um mesmo trecho de linhas de código aparece repetido várias vezes no programa fonte.
Definição de uma Macro:
A Chamada de Macro é feita no programa fonte através do nome da Macro. O nome da Macro substitui o corpo da Macro em todos os lugares onde este deveria aparecer dentro do programa fonte.
Bacharelado em Sistemas de Informação
O Módulo de Carga contém todos os módulos ligados em um único programa executável.
Um software denominado Carregador (Loader) é responsável por carregar o Módulo de Carga na memória principal para executá-lo.
Para criar o Módulo de Carga, o Linker une todos os Módulos Objeto em um único espaço de endereçamento. As referências a endereços devem ser todas atualizadas (Problema de Relocação). Este problema é inexistente quando a memória é segmentada. Quando existe um Procedimento A que chama a um Procedimento B, o endereço absoluto de B só é conhecido após a ligação (Problema de Referência Externa).
Tarefas do Linker:
Bacharelado em Sistemas de Informação
Exemplo de Tabela de Módulos objetos:
Módulo Comprimento Endereço Inicial A 400 100 B 400 500 C 200 900
Estrutura de um módulo objeto:
A maioria dos Linkers requer dois passos:
Campo Conteúdo Identificação Nome do módulo e comprimentos das suas partes
Tabela de Símbolos Internos Lista de símbolos definidos no módulo corrente que outros módulos podem referenciar Tabela de Símbolos Externos Lista de símbolos definidos em outros módulos utilizados no módulo corrente. Lista de instruções e seus correspondentes símbolos externos Instruções e constantes Código montado e constantes (única parte do módulo objeto que será carregada na memória para execução) Dicionário de Relocação Lista de endereços a serem relocados Fim de Módulo Indicação de fim de módulo
Bacharelado em Sistemas de Informação
O SIMD - Single Instruction/Multiple Data stream, corresponde aos processadores matriciais/vetoriais
O MISD – Multiple Instruction/Single Data, não existem computadores construídos que se enquadrem nesta categoria
O MIMD - Multiple Instruction stream over a Multiple Data stream, esta classe engloba a maioria dos computadores paralelos
As arquiteturas MIMD ainda podem ser divididas em duas subcategorias. As arquiteturas de memória compartilhada e as arquiteturas de memória distribuída
Memória Compartilhada:
T odos os processadores possuem acesso a uma memória compartilhada
Bacharelado em Sistemas de Informação
Como pontos positivos podemos citar a localidade memória/processador, o compartilhamento de recursos, é semelhante a uma arquitetura seqüencial, a programação mais simples.
E como pontos negativos citamos o gargalo no barramento de memória e a consistência de cache
Memória Distribuída:
Multicomputadores.
Neste tipo de arquitetura, cada nó tem seu processador, sua unidade de controle e sua memória local e cada processador pode executar um processo independente sobre seus próprios dados.
A estrutura de rede é fundamental e a comunicação é feita através de troca de mensagens
Os pontos positivos são o compartilhamento de uso (vários usuários simultaneamente), a possibilidade de emular outras arquiteturas, a escalabilidade
E os pontos negativos ficam por conta da comunicação, da sincronização, do uso ineficiente de memória e o tipo de acesso, NORMA