Nivel isa

Disponível somente no TrabalhosFeitos
  • Páginas : 7 (1630 palavras )
  • Download(s) : 0
  • Publicado : 10 de abril de 2012
Ler documento completo
Amostra do texto
Nível ISA

ISA: Introdução
• Nível do conjunto de instruções da arquitetura (Instruction Set Architecture)
– Interface entre o hardware e o software – Programas escritos em linguagens de alto nível são traduzidos para uma linguagem comum (nível ISA)
• ISA isn’t assembly language!  • ISA define a interface entre os compiladores e o hardware.

– O ideal seria que:
• Os projetistas decompiladores especificassem, para os arquitetos de hardware, os requisitos desejados nesse nível. • Os arquitetos de hardware apresentassem para os projetistas de compiladores aquilo que efetivamente pode ser implementado!!!! (don’t dream, baby!!!)

ISA: HW/SW Interface

Visão Geral do Nível ISA (Tanenbaum, 2005)

ISA: Requisitos desejáveis
• Construir máquinas com melhor desempenho, mantendocompatibilidade com versões anteriores. • Definir um conjunto de instruções eficientes para uso atual e futuro.
– Um projeto ruim pode exigir:
• um grande número de portas lógicas no nível da microarquitetura.
• Um quantidade maior de memória para a execução dos programas.

• Fornecer um código alvo claro para o código compilado.
– Completude. O código deve ser completo de modo a permitirde modo fácil e eficiente a implementação do maior número de operações possível. – Regularidade. O formato das instruções deve ser regular, de modo a facilitar o entendimento e a implementação.

ISA: Visão Geral
• Definido como o modo como o programador (ou compilador) “vê” a máquina.
– Idealmente,
• Disponibiliza um grupo de instruções necessária para possibilitar a manipulação de memória,registradores e dispositivos de I/O. • Detalhes da organização interna da máquina podem ser ocultados.
– E.g. O programador (ou compilador) não sabe se a microarquitetura é microprogramada ou não.

– Na realidade,
• O programador precisa conhecer detalhes da máquina para maximizar o desempenho.

• Muitas máquinas podem operar em dois modos:
– Modo Kernel. Deve executar o sistema operacionale permitir que todas as instruções sejam executadas.
• Instruções de manipulação direta da memória cache. • Uso de registradores reservados a manipulação direta de memória e dispositivos de E/S. • Etc.

– Modo usuário. Deve executar programas de aplicação e não permitir que algumas instruções sensíveis sejam executadas.

ISA: Visão Geral
• Aspectos gerais:
– Modelos de Memória –Registradores

– Tipos de dados
– Formato de instruções – Modos de endereçamento – Tipos de Instrução – Fluxo de Controle

ISA: Modelos de memória
• Define a maneira como a memória será vista pelo programador.
• Modelos de Memórias com células consecutivas (e.g. de 8 bits/célula). • Modelos de Memórias com Bytes Alinhados em palavras.
– Alinhamento de bytes em palavras e existência de instruçõesdisponíveis para manipulá-las. » E.g. Alinhamento de 8 bytes (ver figura abaixo): Endereçamento de 8 em 8 bytes, exemplo: apenas endereços #0, #8, #16 etc são permitidos. – Alinhamento pode ser um problema a compatibilidade. » E.g. O pentim 4 permite que programas ISA referenciem qualquer endereço de memória para manter compatibilidade com o 8088.

» Não alinhamento pode tornar o projeto maiscomplexo e mais caro.

• Modelos de memória com endereçamento linear e não linear.
– Modelo linear. As memórias são vistas como um único espaço com endereçamento linear que se estende do endereço #0 ao endereço máximo. – Modelo não linear. A memória é divida e espaço para armazenamento de dados e espaço para armazenamento de instruções.

An 8-byte word in a little-endian memory. Aligned. (b) Notaligned. Some machines require that words in memory be aligned.

ISA: Registradores
• Define os tipos (uso geral, uso específico, uso do kernel, registradores de estado) e visibilidade dos registradores.
– Registradores de uso especial. Incluem registradores como o contador de programa, ponteiro de pilha, e outros com função bem especificas. – Registradores de uso geral. Armazenam variáveis...
tracking img