![Page 1: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/1.jpg)
Arquitetura de Computadores
Processadores 3Instruções
Waldemiro Arruda
![Page 2: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/29.jpg)
Gestão da Tecnologia da InformaçãoArquitetura de Computadores
Processadores
![Page 30: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/31.jpg)
Gestão da Tecnologia da InformaçãoArquitetura de Computadores
Processadores
![Page 32: Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062522/570638521a28abb8238f96b6/html5/thumbnails/41.jpg)
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.