Arquitetura de Computadores

Slides:



Advertisements
Apresentações semelhantes
Microcontroladores Uma visão geral.
Advertisements

Sistemas Operacionais
Sistemas Operacionais
Sistemas Operacionais
Capitulo 6: Entrada e Saída
Arquitetura de Computadores
O Sistema de Computação
Arquitetura e organização de computadores.
Entrada e Saída Introdução.
Técnicas para operações E/S
Arquitetura de Computadores
A Arquitetura: conjunto de instruções
Sistemas Operacionais
Introdução à Informática
Sistemas Operacionais
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Componentes do Computador e noções de Arquitetura de Computadores
Implementação da CPU Análise de um computador simplificado Implementação da Unidade de Controle para o computador simplificado.
O Portal do Estudante de Computação
Arquitetura de Computadores
Arquitetura de Computadores
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte III Jadsonlee da Silva Sá
PROGRAMAÇÃO I UNIDADE 1.
Unidade Central de Processamento
Unidade Central de Processamento
Unidade Central de Processamento
Fundamentos da Arquitetura de Computadores
Representação de Instruções
Entrada e saída.
Unidade Central de Processamento UCP
PCI- Introdução à Computação
Organização de Computadores
Entradas e Saídas Comando PRINT Direciona um dado não formatado para a saída padrão (exemplo: tela) PRINT,,,... Comando READ Lê um dado não formatado da.
ORGANIZAÇÃO DE COMPUTADORES
Sistemas Operacionais I
Laboratório I Mateus Raeder Material baseado nos originais da
Computador Simplificado Conceitos p.ex. FLUXO de execução
Organização e Arquitetura de Computadores
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Processamento de dados na UCP e memória UCP
Arquitetura de Computadores
SISTEMAS OPERACIONAIS I
Unidade Central De Processamento: Processador
Geração de Código aula-12-geração-de-código.pdf.
POLIMIG Curso Técnico em Informática Disciplina: Hardware
Unidade Central De Processamento: Processador
DCC 001 Programação de Computadores 2o Semestre de 2011
Fundamentos de linguagens de programação
Parte 3 Seção de Dados e Unidade de Controle
Processador 2014/2015 Comunicação de Dados Ricardo Bento 12ºL.
Software Básico Introdução à Organização de Computadores Capítulo 1 Mitsuo Takaki
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
Arquitetura de Computadores Processadores 2 Waldemiro Arruda.
O que devem fazer os Microprocessadores ?
Processadores.
Afonso Ferreira Miguel
Arquitetura de Microcomputadores
Arquitetura de computadores
Introdução à Computação
Arquitetura de Sistemas Operacionais
Algoritmo e Estrutura de Dados I Introdução ao conceito de algoritmo Márcia Marra
Apresentação Objetivo: –Apresentação e revisão de conceitos básicos –Discussão da noção de algoritmo –Escopo da linguagem de programação –Exercício com.
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
A linguagem de Máquina – Instruções Básicas
Pet computação UFPE Arquitetura Von Neumann. pet computação UFPE 1.Definição e tipos de arquitetura Quando falamos em arquitetura temos dois tipos a considerar:
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Lógica de programação Introdução à lógica de programação
PSI3441 – Arquitetura de Sistemas Embarcados
Transcrição da apresentação:

Arquitetura de Computadores Processadores 3 Instruções Waldemiro Arruda

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

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

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,

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

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

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”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Processador Processadores 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

Processador Instruções - Formatos Processadores 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

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

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

Processadores

Processadores READ 100 READ 101 LOAD 100 ADD 101 STORE 102 WRITE 102 STOP

Processadores

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

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

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

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

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

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

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

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

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

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.