• Nenhum resultado encontrado

Arquitetura e Organização de Computadores ADS

N/A
N/A
Protected

Academic year: 2018

Share "Arquitetura e Organização de Computadores ADS"

Copied!
5
0
0

Texto

(1)

Instrução

Uma instrução é a operação elementar que o processador pode efetuar. As instruções são armazenadas na memória principal, para serem tratadas pelo processador. Uma instrução é composta de dois campos:

 O código operacional, representando a ação que o processador deve efetuar;

 O código operando, definindo os parâmetros da ação. O código operando depende da operação. Pode tratar-se de um dado ou de um endereço da memória.

Código operacional Campo operando

O número de bytes de uma instrução varia conforme o tipo de dado (a ordem da grandeza é de 1 à 4 bytes).

As instruções podem ser divididas em categorias cujas principais são:

 Acesso à memória: acessos à memória ou transferências de dados entre registros.  Operações aritméticas: operações tais como: adições, subtrações, divisões ou

multiplicações.

 Operações lógicas: operações E, OU, NÃO, NÃO exclusivo, etc.  Controle: controle de sequência, conexões condicionais, etc. Registros

Quando o processador executa as instruções, os dados são armazenados, temporariamente, nas pequenas memórias rápidas de 8, 16, 32 ou 64 bits que chamamos registros. Conforme o tipo do processador, o número global de registros pode variar entre uma dezena e várias centenas.

Os principais registros são:

 o registrador de dados ou acumulador (ACC), armazenando os resultados das operações aritméticas e lógicas;

 o registrador de status (PSW, Processor Status Word), armazenando os indicadores sobre o estado do sistema (retenção, excesso, etc.);

 o registrador de instrução (RI), com a instrução de processamento em curso;  o contador de programa (CO ou PC para Program Counter), com o endereço da

próxima instrução a ser processada;

(2)

CONJUNTO DE INSTRUÇÕES

Quem executa um programa é o hardware e o que ele espera encontrar é um programa em linguagem de máquina (uma sequencia de instruções de máquina em código binário). Um programa em linguagem de alto nível não pode ser executado diretamente pelo hardware. Ele em que ser transformado

(traduzido) para linguagem de máquina por um compilador, antes de ser carregado em memória, para que o hardware possa executá-lo. A linguagem da máquina é composta de códigos binários,

representando instruções, endereços e dados e esta totalmente vinculada ao conjunto de instruções da máquina.

Alto nível – linguagem mais próxima do programador Baixo nível – linguagem mais próxima da máquina Características:

- Código da máquina - Binária

- Usualmente representada por códigos Assembly

Exemplo de um conjunto de instruções de uma máquina “qualquer”

Instrução Significado Operação Código

Load Carregar no acumulador ACC <-- op 0000

Store Salvar na memória op <-- ACC 0001

Add Somar ACC <-- ACC + op 0010

Sub Subtrair ACC <-- ACC - op 0011

Mult Multiplicar ACC <-- ACC * op 0100

Div Dividir ACC <-- ACC / op 0101

Jmp Desviar CI <-- op 0110

Jz Desviar, se ACC igual zero CI <-- op, se ACC = 0 0111 Jnz Desviar, se ACC não zero CI <-- op, se ACC != 0 1000

Read Ler entrada op <-- entrada 1001

Print Imprimir saida <-- op 1010

Stop Terminar 1100

(3)

Serão usadas as seguintes convenções:

Operador Significado Operador Significado

+ adição ~ not (negação)

- subtração = igual

* multiplicação != diferente

/ divisão | or (AND)

<-- atribuição ^ exclusive or (XOR)

<< deslocamento à esquerda & and (E)

>> deslocamento à direita Formato das instruções

Código de operação (OPCODE) Operando 1 (OP1) OP 2 OP 3...

Código da Operação ou OPCODE – identifica a operação a ser realizada pelo processador. É o campo da instrução cujo valor binário identifica a operação a ser realizada. Este código é a entrada no

decodificador de instruções na UC (unidade de controle). Cada instrução deverá ter um código único que a identifique.

Operando (s) – é o campo da instrução cujo valor binário sinaliza a localização do dado (ou é o próprio dado) que será manipulado (processado) pela instrução durante a operação. Em geral, um operando identifica o endereço de memória onde está contido o dado que será manipulado, ou pode conter o endereço onde o resultado da operação será armazenado. Finalmente, um operando pode também indicar um Registrado (que conterá o dado propriamente dito ou um endereço de memória onde está armazenado do dado). Os operandos fornecem os dados da instrução.

Exemplo:

ADD OP1 OP2 => (OP1)<-- (OP1) + (OP2) + conteúdo de OP1 e OP2 e armazena o res em OP1 ADD OP1 OP2 OP3 => (OP3)<-- (OP1) + (OP2) + conteúdo de OP1 e OP2 e armazena o res em OP3 ADD OP1 => (ACC)<-- (ACC) + (OP1) + conteúdo de OP1 e ACC e armazena o res em ACC

Elementos de uma instrução: - Código de operação

“faça isso”

(4)

- Referência a Operando Destino “coloque a resposta aqui” - Endereço da próxima instrução

“quando tiver terminado, vá para a próxima posição”

Localização dos Operandos:

- Onde estão os Operandos fonte e destino? Memória principal

Registrador do CPU

Dispositivo de entrada e saída Representação da instrução:

- cada instrução é representada por uma única sequencia de bits - para programadores são usados os mnemônicos: ADD, SUB, LOAD - operando pode ser representados de maneira simbólica: ADD x, y Tipos de instrução:

Pode ser usado mais de um formato de instrução: - processamento de dados

- armazenamento de dados - movimentação de dados - controle de fluxo de programa Tamanho do código da operação 0 0 0 0 0 0 0 1

0 0 0 0 0 0 1 1

Quantas combinações possível, sem repetição, consigo com 8 posições de 2 produtos? R=

Considere um computador hipotético no qual, em sua arquitetura, o processador possui apenas um registrador de armazenamento de dados, denominado acumulador, com tamanho de 16 bits e no formato de suas instruções reservam-se 4 bits para os códigos de operação. Considerando-se ainda que o registrador de endereços tenha 12 bits de tamanho, pode-se afirmar que neste computador há: 16 códigos de operação.

Tipos de Operandos - números

(5)

Números

- inteiro e ponto fixo - ponto flutuante - decimal

Decimal – representado por 4 bits: 0 = 0000

1 = 0001 8 = 1000

BCD – binary coded decimal 246

1 1 1 1 0 1 1 0

0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 Caracteres

Referências

Documentos relacionados

Rótulo de Risco: 9, EHSM Número de Risco: 90 Nome apropriado

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

Tal será possível através do fornecimento de evidências de que a relação entre educação inclusiva e inclusão social é pertinente para a qualidade dos recursos de

Em análise aos principais congressos brasileiros, periódicos nacionais e internacionais ainda não foi encontrado nenhum estudo que analisasse os escores de

A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se baseia no fato de que uma

O emprego de um estimador robusto em variável que apresente valores discrepantes produz resultados adequados à avaliação e medição da variabilidade espacial de atributos de uma

Origem / Justificativa: Em razão da incorporação das controladas Gerdau Aços Especiais S.A., Gerdau América Latina S.A e Itaguaí Comércio, Importação e