Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Montagem
Professor Emmanuel Nolêto
contato@emmanuelnoleto.com.br
Código de Maquina
• Instruções que o computador é capaz de
atualizar.
• São respresentadas por sequências de
bits.
• São normalmente limitadas pelo número
de bits do registrador principal da CPU.
– Exemplo: 8, 16, 32, 64 ou 128
Assembly
• Denominada como notação legível para
humanos para um código de máquina.
• É utilizada por uma arquitetura
específica de computador.
• Tradutor
– programas que convertem um programa
usuário escrito em uma linguagem para
outra, código fonte para codigo compilado.
Assembly
• Montador
– Um tradutor onde a linguagem fonte é a
liguagem de montagem e a linguagem alvo é
a linguagem de máquina
Histórico
Elementos de uma instrução
• Internamente cada instrução pode ser
representada como uma sequência de
bits dividida em campos conforme figura
abaixo:
Elementos de uma instrução
• Cada instrução deve conter toda a informação
necessária para que a CPU possa executá-la;
– Código da operação: especifica a operação a ser
efetuada.
– Referência ao operando-fonte: os dados envolvidos
na operação devem estar referenciados na
instrução.
– Referência ao operando-destino: deve-se fornecer
informações que possibilite o armazenamento do
resultado gerado pela instrução.
Representação de uma instrução
• Arquitetura
– Montador e Carregador integrados
Proposta de uso dos mecanismos
• Arquitetura
– Montador e Carregador independentes
Proposta de uso dos mecanismos
• Arquitetura
– Montador, Ligador e Carregador independentes
Arquiteturas Paralelas
• A computação paralela é caracterizada pelo
uso de várias unidades de processamento ou
processadores para executar uma
computação de forma mais rápida.
• É baseada no fato de que o processo de
resolução de um problema pode ser dividido
em tarefas menores, realizadas
simultaneamente por meio de algum tipo de
coordenação.
Aplicação do uso da arquitetura
paralela
• Conhecida como processadores vetoriais ;
• Aplicação de operações aritméticas/lógicas sobre vetores,
em vez de operações sobre pares de dados ou dados
escalares.
• Características:
– Reduz o custo de manutenção de estruturas de controle para
laços de processamento;
– Reduz conflitos de acesso à memória;
– Pode ser empregada com conceitos de pipeline;
– Geramente tem um aumento de desempenho da ordem de 10 a
20 vezes quando comparada com máquinas escalares;
– Aumenta os custos de hardware;
– Aumenta os custos de compilação do código (vetorização).
Multiprocessadores simétricos
• São conhecidos como arquiteturas de compartilhamento total;
• São caracterizadas por até dezenas de processadores
compartilhando os mesmos recursos computacionais e
rodando um único sistema operacional.
• Têm os mesmos custos para acesso à memória principal;
• É encontrado facilmente em grande parte das organizações de
hoje, e também vem ganhando espaço em áreas menores,
reflexo da redução de custos.
• Apresenta problema com a escalabilidade
– Com o aumento do número de processadores, a taxa de colisão de
acesso à memória também cresce, sendo necessária a utilização
de soluções de memórias de cache e globais, que serão vistas à
frente.
Máquinas maciçamente paralelas