08 Nivel Isa
Nível ISA
Capítulo 5
Mitsuo Takaki http://www.cin.ufpe.br/~mt2/ mt2@cin.ufpe.br
Introdução
• Os computadores foram divididos em diversas camadas para simplificar o desenvolvimento de aplicações e reduzir custos de produção.
• O entendimento dessas diferentes camadas permite entender o funcionamento interno do computador. Arquitetura em Camadas
Arquitetura em Camadas
Nível ISA
• Chamado de nível de arquitetura do conjunto de instruções.
• Está localizado entre o microarquitetura e o nível de SO.
nível
da
• Foi desenvolvido antes de qualquer nível.
– Nos primeiros computadores só existiam nível de lógica digital e ISA.
Nível ISA
• Os programas em diversas linguagens são traduzidos para uma linguagem intermediária comum. – Da mesma forma que Java converte para
Bytecode.
– O hardware deve ser capaz de executar programas de nível ISA diretamente.
Nível ISA
• Define a interface entre os compiladores e o hardware. – É uma linguagem que ambos devem entender.
– Os compiladores devem saber transformar de uma linguagem alto nível para uma linguagem do nível
ISA.
Nível ISA
Propriedades
• O nível ISA define como a máquina se apresenta a um programador de linguagem de máquina. – Quais as instruções disponíveis;
– Qual modelo de memória utilizado;
– Quais e quantos registrados existem;
– Quais os tipos de dados suportados...
Propriedades
• Outras questões não fazem parte deste nível:
– Se a microarquitetura é microprogramada ou não.
– Se possui paralelismo ou não...
• Outras questões são visíveis neste nível:
– Uso de processadores específicos para números inteiros e ponto flutuante...
Propriedades
• Algumas arquiteturas definem documentos de requisitos da camada ISA.
– Diferentes implementadores podem construir a máquina e obter o mesmo desempenho.
Compilador
• O desenvolvedor de um compilador necessita obter informações do nível ISA.
• Se não for utilizado de forma correta, pode produzir resultados errados.
Modos de Utilização
• Este