1 / 41

Arquitetura de Computadores

Processadores 3 Instruções Waldemiro Arruda. Arquitetura de Computadores. Processadores. Processador Leitura das instruções Na memória Instruções Sequenciais ou Interruptivas. Processadores. Processador Instruções Sequencial Algoritmos Compiladores Interpretadores

marie
Download Presentation

Arquitetura de Computadores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Processadores Processador Leitura das instruções Na memória Instruções Sequenciais ou Interruptivas

  3. Processadores Processador Instruções Sequencial Algoritmos Compiladores Interpretadores Processamento em Batch

  4. 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,

  5. Processadores Processador Instruções Sequencial Atualmente as instruções são aparentemente executadas de forma sequencial; Na realidade são executadas em paralelo;

  6. 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

  7. 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”

  8. 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

  9. Processadores Processador Instruções Tipos Lógicas e Matemáticas ADD - > Soma SUB -> Subtrai MULT -> Multiplica DIV -> Divide

  10. 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

  11. Processadores Processador Instruções Tipos Controle de Fluxo STOP -> Interrompe, Finaliza JMP -> Desvia a execução

  12. Processadores Processador Instruções Formato OPCODE OP1 OP2 OP3 OP4

  13. Processadores Processador Instruções Formato OPCODE OP -> Operação CODE -> Código OPCODE -> Código da Operação OP1 .... n -> Operação 1.... n

  14. Processadores Processador Instruções Formato OP1 ... N Os operandos, na verdade, são ponteiros para um endereço de memória ou um registrador;

  15. Processadores Processador Instruções Formato Exemplos Pascal cont := cont + cont2 Linguagem de Máquina ADD CONT CONT2

  16. Processadores Processador Instruções Formato Exemplos Pascal cont := 5 Linguagem de Máquina ADD CONT

  17. Processadores Processador Instruções Formato OPERAÇÃO OPERANDOS

  18. 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

  19. 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

  20. Processadores Processador Instruções Formatos Leitura e Escrita READ 1001 WRITE 1010

  21. Processadores Processador Instruções Formatos READ 251 1001 011111011 WRITE 251 1010 011111011

  22. Processadores Processador Instruções - Formatos Exemplo programa Ler dois números e imprimir a soma dos mesmos.

  23. Processadores Processador Instruções - Formatos Algoritmo VAR N1, N2, TOTAL: INTEIRO; INICIO LEIA (N1,N2) ; TOTAL := N1 + N2; ESCREVA(TOTAL); FIM

  24. Processadores Processador Instruções - Formatos Pascal var n1,n2,total: integer; begin read(n1,n2); total:= n1 + n2; write(total); end

  25. 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

  26. 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

  27. Processadores Processador Instruções - Formatos

  28. Processadores Processador Instruções – Controle de fluxo SE, SENÃO Altera o fluxo, alterando o CI (Contador de instruções) JMP 110 -> 0110 001101110

  29. Processadores

  30. Processadores • READ 100 • READ 101 • LOAD 100 • ADD 101 • STORE 102 • WRITE 102 • STOP

  31. Processadores

  32. 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).

  33. 2 – A Prefetch Unit então solicita ao Instruction Cache uma cópia do código "2=X" e o envia à unidade de decodificação (DecodeUnit – 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). Processadores

  34. 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". Processadores

  35. 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). Processadores

  36. 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). Processadores

  37. 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). Processadores

  38. 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). Processadores

  39. 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). Processadores

  40. 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). Processadores

  41. 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. Processadores

More Related