Parte 1 Organizao de Computadores 5 Conjunto de

  • Slides: 26
Download presentation
Parte 1: Organização de Computadores 5. Conjunto de instruções Texto base: capítulo 9 Computer

Parte 1: Organização de Computadores 5. Conjunto de instruções Texto base: capítulo 9 Computer Organization and Architecture W. Stallings IC - UFF

Conjunto de instruções Visão do computador pelo programador l Instruções executadas pelo computador são

Conjunto de instruções Visão do computador pelo programador l Instruções executadas pelo computador são chamadas instruções da máquina l A coleção de diferentes instruções executadas pelo computador é chamada de conjunto de instruções l IC - UFF

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: n

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: n n IC - UFF código da operação referência ao(s) operando(s) de origem referência ao operando de destino referência à próxima instrução

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: (e.

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: (e. g. , ADD A, B, C) n n IC - UFF código da operação referência ao(s) operando(s) de origem referência ao operando de destino referência à próxima instrução

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: (e.

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: (e. g. , ADD A, B, C) n código da operação l n n n IC - UFF o que fazer (ADD) referência ao(s) operando(s) de origem referência ao operando de destino referência à próxima instrução

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: (e.

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: (e. g. , ADD A, B, C) n código da operação l n referência ao(s) operando(s) de origem l n n IC - UFF o que fazer (ADD) com quem (B e C) referência ao operando de destino referência à próxima instrução

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: (e.

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: (e. g. , ADD A, B, C) n código da operação l n referência ao(s) operando(s) de origem l n IC - UFF com quem (B e C) referência ao operando de destino l n o que fazer (ADD) onde colocar o resultado da operação (A) referência à próxima instrução

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: (e.

Elementos de uma instrução l Informações necessárias à UCP para executar uma instrução: (e. g. , ADD A, B, C) n código da operação l n referência ao(s) operando(s) de origem l n onde colocar o resultado da operação (A) referência à próxima instrução l IC - UFF com quem (B e C) referência ao operando de destino l n o que fazer (ADD) normalmente implícita

Origem e destino dos operandos l Os operandos vêm/vão de/para três fontes: n n

Origem e destino dos operandos l Os operandos vêm/vão de/para três fontes: n n n IC - UFF memória principal, virtual ou cache registrador(es) da UCP dispositivo de E/S

Origem e destino dos operandos l Os operandos vêm/vão de/para três fontes: n memória

Origem e destino dos operandos l Os operandos vêm/vão de/para três fontes: n memória principal, virtual ou cache l n n IC - UFF especificação de um endereço de memória registrador(es) da UCP dispositivo de E/S

Origem e destino dos operandos l Os operandos vêm/vão de/para três fontes: n memória

Origem e destino dos operandos l Os operandos vêm/vão de/para três fontes: n memória principal, virtual ou cache l n registrador(es) da UCP l n IC - UFF especificação de um endereço de memória se um único registrador existe, referência pode ser implícita dispositivo de E/S

Origem e destino dos operandos l Os operandos vêm/vão de/para três fontes: n memória

Origem e destino dos operandos l Os operandos vêm/vão de/para três fontes: n memória principal, virtual ou cache l n registrador(es) da UCP l n se um único registrador existe, referência pode ser implícita dispositivo de E/S l IC - UFF especificação de um endereço de memória ou especifica o dispositivo ou usa esquema de memória mapeada

Representação das instruções Cada instrução é representada na UCP por uma única seqüência de

Representação das instruções Cada instrução é representada na UCP por uma única seqüência de bits l As instruções são divididas em campos: formato da instrução l Representação simbólica da linguagem de máquina: uso de mnemônicos l n IC - UFF e. g. , ADD, MOVE, JMP

Quantas/quais instruções? Devem existir instruções que permitam ao usuário expressar qualquer tarefa de processamento

Quantas/quais instruções? Devem existir instruções que permitam ao usuário expressar qualquer tarefa de processamento de dados; ou ainda l Qualquer programa escrito em linguagem de alto nível deve poder ser transformado para execução pela UCP l IC - UFF

Tipos de instrução l Quatro categorias principais: n n IC - UFF processamento de

Tipos de instrução l Quatro categorias principais: n n IC - UFF processamento de dados lógicos e aritméticos armazenamento de dados (memória e registradores) movimentação de dados (instruções de E/S) controle (teste e quebra de seqüência)

Número de endereços Forma tradicional de descrever uma UCP l Quantos endereços? l n

Número de endereços Forma tradicional de descrever uma UCP l Quantos endereços? l n n n l 2 para operandos (operações aritméticas) 1 para resultado 1 para a próxima instrução Máquinas de 4 endereços são raras IC - UFF

Exemplo IC - UFF

Exemplo IC - UFF

Rápida comparação Menos endereços: UCP mais simples e instruções menores l Por outro lado,

Rápida comparação Menos endereços: UCP mais simples e instruções menores l Por outro lado, implica em códigos maiores e, em geral, mais lentos e mais complexos l Com múltiplos endereços é comum ter registradores de uso geral operações só em registradores mais rapidez l IC - UFF

Considerações de projeto l Mais importantes: n n IC - UFF n repertório de

Considerações de projeto l Mais importantes: n n IC - UFF n repertório de operações: quantas? , quais? , complexidade? tipos de dados formato das instruções: tamanho, campos, número de endereços, . . número de registradores que podem ser referenciados modos de endereçamento

Tipos de operandos l Endereços n l Números n l IC - UFF ponto

Tipos de operandos l Endereços n l Números n l IC - UFF ponto fixo, ponto flutuante, decimal Caracteres n l cálculos em referências de operandos código ASCII Dados lógicos n acesso a bits individuais em uma palavra

Tipos de operações l Tipos mais comuns e exemplos IC - UFF

Tipos de operações l Tipos mais comuns e exemplos IC - UFF

Linguagem de montagem IC - UFF

Linguagem de montagem IC - UFF

Ordenação de bytes l Suponha o número inteiro 12345678 (em hex), que é armazenado

Ordenação de bytes l Suponha o número inteiro 12345678 (em hex), que é armazenado em 4 bytes: IC - UFF

Existe padrão? Pentium (80 x 86) é little-endian l 680 x 0 (Mac) é

Existe padrão? Pentium (80 x 86) é little-endian l 680 x 0 (Mac) é big-endian l E a Internet? l IC - UFF

Existe padrão? Pentium (80 x 86)é little-endian l 680 x 0 (Mac) é big-endian

Existe padrão? Pentium (80 x 86)é little-endian l 680 x 0 (Mac) é big-endian l E a Internet? l n n IC - UFF também é big-endian! necessidade de funções de conversão

Leitura suplementar Capítulo 3: Instructions: Language of the Machine Computer Organization & Design D.

Leitura suplementar Capítulo 3: Instructions: Language of the Machine Computer Organization & Design D. A. Paterson e J. L. Hennessy Ed. Morgan Kaufmann IC - UFF