arquitetura de computadores processadores 3 instruções waldemiro arruda

41
Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Upload: daniela-alvaro-barateiro

Post on 07-Apr-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Arquitetura de Computadores

Processadores 3Instruções

Waldemiro Arruda

Page 2: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Leitura das instruções

• Na memória• Instruções Sequenciais ou Interruptivas

Page 3: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Sequencial• Algoritmos • Compiladores• Interpretadores• Processamento em Batch

Page 4: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Sequencial• A execução segue uma sequência que pode ser alterada através de outras instruções

• PARA, ENQUANTO, FAÇA, SE, SENÃO, VÁ PARA,

Page 5: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Sequencial• Atualmente as instruções são aparentemente executadas de forma sequencial;• Na realidade são executadas em paralelo;

Page 6: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Interrupções• Agente externo causa a parada do processamento• Causada por eventos• Se um descanso de tela está aparecendo no monitor e o usuário mexe o mouse, ocorre uma interrupção de uma execução

Page 7: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Interrupções• Processos longos podem sofrer interrupções• “ESC para cancelar o salvamento”• “CTRL + BREAK para interromper”• “Press any key to finish”

Page 8: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Tipos• Leitura e Escrita / Entrada e Saída

• Leitura• READ -> lê o dado do dispositivo de entrada• WRITE -> grava o dado no dispositivo de saída

Page 9: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Tipos• Lógicas e Matemáticas

• ADD - > Soma• SUB -> Subtrai• MULT -> Multiplica• DIV -> Divide

Page 10: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Tipos• Transferência de dados / Movimentação de Dados

• LOAD / MOV -> Carrega no registrador o conteúdo da memória• STORE / MOV -> Grava da memória o conteúdo do registrador

Page 11: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Tipos• Controle de Fluxo

• STOP -> Interrompe, Finaliza• JMP -> Desvia a execução

Page 12: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Formato• OPCODE• OP1• OP2• OP3 • OP4

Page 13: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Formato• OPCODE

• OP -> Operação• CODE -> Código• OPCODE -> Código da Operação• OP1 .... n -> Operação 1.... n

Page 14: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Formato• OP1 ... N

• Os operandos, na verdade, são ponteiros para um endereço de memória ou um registrador;

Page 15: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Formato• Exemplos

• Pascal• cont := cont + cont2

• Linguagem de Máquina• ADD CONT CONT2

Page 16: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Formato• Exemplos

• Pascal• cont := 5

• Linguagem de Máquina• ADD CONT

Page 17: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Formato• OPERAÇÃO OPERANDOS

Page 18: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Formatos• Leitura e Escrita / Entrada e Saída

• Ler • READ 251

• READ – Lê o dado do dispositivo de entrada• 251 – Endereço da memória onde irá armazenar o dado

Page 19: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Formatos• Leitura e Escrita / Entrada e Saída

• Escrita • WRITE 251

• WRITE – Grava o dado do dispositivo de saída• 251 – Endereço da memória onde irá armazenar o dado

Page 20: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Formatos• Leitura e Escrita

• READ• 1001

• WRITE• 1010

Page 21: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções

• Formatos• READ 251

• 1001 011111011• WRITE 251

• 1010 011111011

Page 22: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções - Formatos

• Exemplo programa• Ler dois números e imprimir a soma dos mesmos.

Page 23: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções - Formatos

• Algoritmo• VAR N1, N2, TOTAL: INTEIRO; • INICIO

• LEIA (N1,N2) ;• TOTAL := N1 + N2;• ESCREVA(TOTAL);

• FIM

Page 24: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções - Formatos

• Pascal• var n1,n2,total: integer;• begin

• read(n1,n2);• total:= n1 + n2;• write(total);

• end

Page 25: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções - Formatos

• Linguagem de Máquina• READ 100 -> lê o valor e armazena no endereço 100• READ 101 -> lê o valor e armazena no endereço 101• LOAD 100 -> carrega no registrador o valor contido em 100• ADD 101 -> adiciona o valor em 101 ao valor do registrador• STORE 102 -> armazena em 102 o valor do registrador • WRITE 102 -> escreve no dispositivo de saída o valor do registrador• STOP -> encerra o programa

Page 26: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções - Formatos

• Como o processador trabalha• 1001 001100100 -> READ 100 • 1001 001100101 -> READ 101• 0000 001100100 -> LOAD 100• 0010 001100101 -> ADD 101• 0001 001100110 -> STORE 102 • 1010 001100110 -> WRITE 102• 1100 -> STOP

Page 27: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções - Formatos

• Load 0000Store 0001Add 0010Sub 0011

Mult 0100Div 0101Jmp 0110Read 1001Print 1010Stop 1100

Page 28: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• Processador• Instruções – Controle de fluxo

• SE, SENÃO• Altera o fluxo, alterando o CI (Contador de instruções)• JMP 110 -> 0110 001101110

Page 29: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

Page 30: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

• READ 100

• READ 101

• LOAD 100

• ADD 101

• STORE 102

• WRITE 102

• STOP

Page 31: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

Page 32: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

1- Quando você pressiona a tecla 2, o microprocessador é alertado e instrui a unidade de pré-solicitação de dados (Prefetch Unit) para perguntar à memória principal do computador por uma instrução específica para lidar com o novo dado, uma vez que não há nada ainda no cachê de instruções (Instruction Cache) (veja a seqüência no caminho em amarelo).A nova instrução entra no chip através da unidade de transporte de dados (Bus Unit) da memória principal do computador e é armazenada no Instruction Cache, onde recebe o código "2=X" (veja em azul).

Page 33: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores2 – A Prefetch Unit então solicita ao Instruction Cache uma cópia do código "2=X" e o envia à unidade de decodificação (Decode Unit – Decodificador de instruções) para posterior processamento (veja em amarelo).No decodificador de instruções (Decode Unit), a instrução "2=X" é traduzida ou decodificada em uma seqüência de códigos binários que vai para a unidade de controle (Control Unit); o cachê de dados (Data Cache) pergunta a eles o que deve fazer com a instrução (veja em azul escuro).Como a Decode Unit tinha a informação de que o número 2 deveria ser armazenado para uso futuro no Data Cache, a Control Unit agora produz a instrução para "2=X". Isso faz com que o número 2 seja enviado a um endereço no Data Cache chamado "X", onde você o vê aguardando futuras instruções (em azul claro).

Page 34: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

3 – Agora, quando você pressiona a tecla 3, a Prefetch Unit repete o processo, perguntando à memória principal do computador e ao Instruction Cache por instruções específicas para este novo dado. Não encontra ainda nenhuma instrução no Instruction Cache, então a instrução deve vir da memória principal (veja em amarelo).Como você vê no caminho em azul, o novo dado entra no microprocessador procedente da memória principal e é armazenado em outro endereço do Instruction Cache, com o código "3=Y".

Page 35: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

4 – Mais uma vez, a Prefetch Unit obtém uma cópia do código "3=Y" do Instruction Cache e o envia à Decode Unit para posterior processamento (veja em amarelo)Na Decode Unit, a instrução "3=Y" é traduzida ou decodificada em uma seqüência de código binário que é emitida para a Control Unit e o Data Cache pergunta o que fazer com a instrução (veja em azul escuro).Como a Decode Unit tinha instruído que o número 3 deveria ser armazenado para uso futuro no Data Cache, a Control Unit agora monta a instrução "3=Y". Isso faz com que o número 3 seja enviado para um endereço no Data Cache chamado "Y", onde fica esperando por novas ordens, da mesma forma como havia sido feito com o número 2 (veja em azul claro).

Page 36: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

5 – Quando você pressiona a tecla de [+], a Prefetch Unit pergunta à memória principal do computador e ao Instruction Cache sobre o novo dado, que deve ser obtido da memória principal (veja em amarelo).Por ser uma nova instrução, o [+] chega ao chip procedente da memória principal, sendo armazenado em um endereço no Instruction Cache como um código "X+Y=Z", mostrando que o ato de adicionar vai ser então realizado ali (veja em azul escuro).

Page 37: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

6 – A Prefetch Unit então requisita ao Instruction Cache uma cópia do código "X+Y=Z" e o envia para ser processado na Decode Unit (veja em amarelo).Na Decode Unit (veja em azul escuro), "X+Y=Z" é traduzido ou decodificado e então enviado à Unidade de Controle e o Data Cache pergunta o que fazer com a instrução. A Unidade de Controle (UC) envia mensagem de que a função de adição deve ser realizada (veja em azul escuro).

Page 38: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

7 – Na Control Unit, o código é desmontado e o comando de adição é enviado para a ULA, onde X e Y são somados, depois de enviados pelo Data Cache.

A ULA então envia o resultado (5) para a área dos registradores, e esse valor é armazenado num dos endereços ali disponíveis (veja em azul claro).

Page 39: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

8 – Bem, agora você quer o resultado, então pressiona a tecla [=]. Nesse momento, a Prefetch Unit verifica o Instruction Cache para ver se há algum dado novo, e não o encontra (veja em amarelo).A instrução para [=] segue da memória principal do computador para o chip através da Bus Unit, sendo armazenada num endereço do Instruction Cache como o código "imprima Z" (veja em azul escuro).

Page 40: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

9 – A Prefetch Unit então pergunta ao Instruction Cache por uma cópia do código "Imprima Z" e a envia à Decode Unit para posterior processamento (veja em amarelo).Na Decode Unit, essa instrução "Imprima Z" é traduzida como uma seqüência de código binário e emitida para a Unidade de Controle, que pergunta o que fazer com a instrução (veja em azul escuro).

Page 41: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

Gestão da Tecnologia da InformaçãoArquitetura de Computadores

Processadores

10 – Agora que o valor de Z foi computado e está residindo na entrada #5 do registrador, o comando de impressão tem apenas de recuperar o conteúdo do registro 5 e mostrá-lo na tela, para que você finalmente possa ver a soma de 2+3 (siga o caminho em azul claro). O microprocessador completou o trabalho e aguarda sua próxima tarefa.