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
Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas IFSP – Campus Capivari

2 Estrutura e Funcionamento da CPU
22/05/2013

3 Tópicos abordados Organização do processador;
Organização de registradores; Ciclo de instrução; Pipeline de instruções; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

4 Organização do processador
Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Organização do processador

5 ORGANIZAÇÃO DO PROCESSADOR
Para compreender o funcionamento da CPU vamos relembrar algumas de suas funções: Busca de instrução: a CPU lê uma instrução da memória. Interpretação de instrução: a instrução é decodificada para determinar a ação requerida. Busca de dados: a execução de uma instrução pode requerer leitura de dados da memória ou de um módulo de E/S. Processamento de dados: a execução de uma instrução pode requerer efetuar uma operação aritmética ou lógica sobre os dados. Escrita de dados: os resultados da execução podem requerer escrever dados na memória ou em um módulo de E/S. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

6 ORGANIZAÇÃO DO PROCESSADOR
Em cada um desses passos necessita armazenar informações, podendo ser: Manter a posição de memória da última instrução, para saber onde obter a próxima instrução; Precisa também armazenar instruções e dados temporariamente, enquanto uma instrução está sendo executada. Portanto a CPU necessita de uma memória interna. Essa memória compreende os registradores, que podemos ver em uma visão simplificada da CPU: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

7 ORGANIZAÇÃO DO PROCESSADOR
Visão simplificada da CPU: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

8 ORGANIZAÇÃO DO PROCESSADOR
Em uma visão mais detalhada da CPU, podemos ver: Caminhos internos da CPU (barramento interno); Detalhamento da ULA; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

9 ORGANIZAÇÃO DO PROCESSADOR
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

10 ORGANIZAÇÃO DO PROCESSADOR
Exemplo de diagrama de estados do processador MIPS Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

11 Organização de registradores
Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Organização de registradores

12 ORGANIZAÇÃO DOS REGISTRADORES
CPU precisa ter algum espaço de trabalho (armazenamento temporário); Registradores são de alto nível na hierarquia de memoria: Mais caros e mais rápidos. Numero e função variam entre os projetos de processador; Os registradores têm duas funções: Registradores visíveis ao usuário: Visíveis ao programador Assembly; Minimizam acesso a memoria; Registradores de controle de estado: Visíveis ao SO e unidade de controle para controle do processador; Unidade de controle utiliza para controlar a CPU. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

13 Registradores visíveis ao usuário
Registradores visíveis ao usuário podem ser referenciados pela linguagem de máquina e podem ser: De propósito geral; De dados; De endereços; De códigos de condições. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

14 Registradores de propósito geral
Registradores de propósito geral podem conter operandos para quaisquer códigos de operação; Mas, em alguns casos podem haver restrições como: Registradores de números inteiros e de ponto flutuante; Algumas vezes podem ser utilizados para endereçamento e dados. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

15 Registradores de endereços e dados
Muitas vezes registradores de propósito geral podem ser utilizados para armazenar dados e endereços; Porém, geralmente existe separação entre: Registradores para dados; Exemplo: Acumulador; Registradores para endereços. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Registradores de endereços podem ser de segmento de memória, de índices ou de pilha.

16 Registradores de códigos de condição
São visíveis ao usuário apenas para leitura, ao contrário dos anteriores; Indicam alguma condição da CPU ou da ULA: Se uma conta produziu um resultado negativo, positivo, overflow ou zero. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

17 Registradores de controle de estado
São usados para controlar a CPU; Geralmente não são visíveis ao usuário; Podem existir muitos tipos diferentes, mas geralmente possuem quatro tipos comuns: PC; IR; MAR; MBR; PSW (processor status word). São utilizados para transferência de dados entre CPU e memória. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 PSW (processor status word) é a palavra de estado da CPU, contendo: flags (indicadores que refletem o estado da última operação realizada) e outras informações que serão oportunamente detalhadas.

18 Registradores de controle de estado
PC: Utilizado para armazenar o endereço da próxima instrução; Incrementado automaticamente pela CPU após cada busca de instrução; Podem ser alterados por instruções de salto ou de desvio; A instrução após ser buscada é armazenada no IR: Aqui, código de operação e referências a operandos são analisados; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

19 Registradores de controle de estado
MAR: Possuem os endereços de uma posição de memória; MBR. Possuem dados para serem utilizados pela ULA; PSW – palavra de estado de programa: É um banco de registradores que contém informações de estado como: Sinal, “vai um”, overflow, habilitar/desabilitar IRQ, etc... Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

20 Ciclo de instruções Estrutura e Funcionamento da CPU
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Ciclo de instruções

21 Ciclo de instruções Relembrando:
O ciclo de instruções possui os seguintes subciclos: Busca; Execução; Interrupção Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

22 Ciclo de instruções Relembrando:
O ciclo de instruções possui os seguintes subciclos: Busca; Execução; Interrupção Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

23 Ciclo indireto Endereçamento indireto requer mais acessos à memória;
Com mais detalhes, podemos acrescentar outros subciclos no ciclo de instrução; Um deles é o ciclo indireto; Depende de cálculo para determinar o endereço do operando; Endereçamento indireto requer mais acessos à memória; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

24 Fluxo de dados O fluxo de dados de uma CPU depende muito de sua arquitetura; Em termos gerais podemos ter: Fluxo de dados no ciclo de busca de instruções; Fluxo de dados no ciclo indireto; Fluxo de dados no ciclo de interrupções; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

25 Fluxo de dados – Ciclo de busca
O ciclo de busca de instruções compreende: O PC contém o valor da próxima instrução a ser buscada; Esse endereço é movido para o MAR e colocado no barramento de endereços; A unidade de controle requisita uma leitura na memória; O resultado é colocado no barramento de dados e gravado no MBR, e então movido para IR; O contador de programa é incrementado; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

26 Fluxo de dados – Ciclo de busca
O ciclo de busca de instruções: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

27 Fluxo de dados – Ciclo de execução
Este ciclo pode ter várias formas de trabalhar, dependendo da instrução; Pode envolver: Transferência de dados entre registradores; Transferência de dados entre a memória e a CPU; Transferência de dados entre CPU e I/O; Invocação da ULA. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

28 Fluxo de dados – Ciclo de interrupção
Este ciclo é simples e previsível; O conteúdo de PC deve ser salvo para que possa ser tratada a interrupção; O conteúdo de PC deve ir para o MBR e depois escrito na memória; A unidade de controle aponta um endereço para gravar o valor de PC atual, colocando-o no MAR; O PC é carregado com o endereço da rotina de interrupção; Começa um novo ciclo de Busca. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

29 Fluxo de dados – Ciclo de interrupção
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

30 Pipeline de instruções
Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Pipeline de instruções

31 Técnicas para melhoramento da CPU
Conforme a tecnologia vai evoluindo, várias técnicas vão surgindo para melhorar o desempenho; Exemplos disso: Melhoramento interno da CPU tornando-a mais rápida; Melhoramento da arquitetura interna da CPU, como: Acréscimo de registradores; Memória cache; O uso de Pipeline. Outras técnicas como uso de dois núcleos. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

32 Estratégia de Pipeline
Pipeline (canalizar) é semelhante a uma linha de produção fabril; O produto passa por vários estágios para concluir o processo; Os vários estágios de produção são realizados simultaneamente; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

33 Linha de produção fabril
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

34 Estratégia de Pipeline
Pipeline de instruções funciona de forma análoga a linha de produção; As entradas que que são aceitas ocorrem antes que entradas anteriores sejam completamente finalizadas; Isso ocorre já que uma instrução passa por vários estágios dentro da CPU; Quando um dado sai de determinado elemento da CPU, outro pode assumir seu lugar; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

35 Estratégia de Pipeline
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

36 Estratégia de Pipeline
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 I1

37 Estratégia de Pipeline
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 I2

38 Estratégia de Pipeline
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 I3 I1

39 Busca antecipada (prefetch)
Existem alguns ciclos do processador que a memória não está sendo acessada; A informação dentro da ULA é um exemplo, já que a ULA normalmente não acessa memória principal; A CPU pode então buscar a próxima instrução durante execução da instrução atual; Isso Chama-se busca antecipada da instrução, ou prefetch; Isso a acelera o processamento, mas normalmente não dobra o processamento; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

40 Pipelining Vamos considerar a seguinte decomposição do processamento de uma instrução: Busca de instrução (BI); Decodificação da instrução (DI); Cálculo de operandos (CO); Busca de operandos (BO); Execução da instrução (EI); Escrita de operando (EO). Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

41 Pipelining Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

42 Pipelining Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

43 Pipelining Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

44 Pipelining Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

45 Pipelining Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

46 Pipelining Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

47 Problemas com o Pipelining
O uso de Pipeline introduz o conceito de paralelismo de instruções; Esse paralelismo nem sempre é alcançado e a sequência do fluxo da Pipeline pode ser quebrado por vários motivos; Quando o fluxo do Pipeline é quebrado, ocorrem bolhas de Pipeline, também chamadas de Hazards e podem ser: Hazards de dados; Hazards de recursos; Hazards de controle. Hazards proporcionam desperdício de ciclos e as vezes com instruções que serão descartadas. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

48 Hazards de recursos Ocorre quando a CPU necessita acessar algum recurso em dois estágios do Pipeline: Por exemplo um registrador ou a memória. Leitura da memória Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 BO e BI representam uma leitura na memória e apenas um poderá ocorrer no tempo 5

49 Hazards de recursos Bolha de Pipeline
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Bolha de Pipeline

50 Hazards de dados Ocorre quando a CPU necessita de um dado ainda em execução não completa : Por exemplo dado na entrada depende do dado da saída. Irá fornecer operando para a instrução 2 Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 BO e BI representam uma leitura na memória e apenas um poderá ocorrer no tempo 5 Esta busca depende do operando que será escrito no tempo 6

51 Hazards de Dados Bolha de Pipeline
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 BO e BI representam uma leitura na memória e apenas um poderá ocorrer no tempo 5 Bolha de Pipeline

52 Hazards de controle Ocorre quando a CPU necessita de um desvio de instruções – também conhecido como Hazard de instrução. Pipeline toma decisão errada sobre previsão de desvio; Traz para o Pipeline instruções que precisam ser descartadas subsequentemente. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 BO e BI representam uma leitura na memória e apenas um poderá ocorrer no tempo 5

53 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

54 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

55 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

56 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

57 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

58 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

59 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

60 Pipelining – com desvio
Desvio para Instrução 15 Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

61 Pipelining – com desvio
Desvio para Instrução 15 Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Instruções não úteis são retiradas da Pipeline

62 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

63 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

64 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

65 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

66 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

67 Pipelining – com desvio
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013


Carregar ppt "Arquitetura de computadores"

Apresentações semelhantes


Anúncios Google