A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquitetura de Computadores

Apresentações semelhantes


Apresentação em tema: "Arquitetura de Computadores"— Transcrição da apresentação:

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

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

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

4 Processador Instruções Processadores 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 Processador Instruções Processadores Sequencial
Atualmente as instruções são aparentemente executadas de forma sequencial; Na realidade são executadas em paralelo;

6 Processador Instruções Processadores 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 Processador Instruções Processadores Interrupções
Processos longos podem sofrer interrupções “ESC para cancelar o salvamento” “CTRL + BREAK para interromper” “Press any key to finish”

8 Processador Instruções Processadores 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 Processador Instruções Processadores Tipos Lógicas e Matemáticas
ADD - > Soma SUB -> Subtrai MULT -> Multiplica DIV -> Divide

10 Processador Instruções Processadores 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 Processador Instruções Processadores Tipos Controle de Fluxo
STOP -> Interrompe, Finaliza JMP -> Desvia a execução

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

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

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

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

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

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

18 Processador Instruções Processadores 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 Processador Instruções Processadores 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 Processador Instruções Formatos Leitura e Escrita READ 1001 WRITE 1010
Processadores Processador Instruções Formatos Leitura e Escrita READ 1001 WRITE 1010

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

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

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

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

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

26 Processador Instruções - Formatos Processadores
Como o processador trabalha > READ 100 > READ 101 > LOAD 100 > ADD 101 > STORE 102 > WRITE 102 > STOP

27 Processador Instruções - Formatos
Processadores Processador Instruções - Formatos Load 0000 Store 0001 Add 0010 Sub 0011 Mult 0100 Div 0101 Jmp 0110 Read 1001 Print 1010 Stop 1100

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

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

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

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

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

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

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

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

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

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


Carregar ppt "Arquitetura de Computadores"

Apresentações semelhantes


Anúncios Google