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

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

Arquitetura de computadores Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari.

Apresentações semelhantes


Apresentação em tema: "Arquitetura de computadores Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari."— 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

4 ORGANIZAÇÃO DO PROCESSADOR Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

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

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

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

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

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

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

11 ORGANIZAÇÃO DE REGISTRADORES Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

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

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

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

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

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

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

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

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

20 CICLO DE INSTRUÇÕES Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

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

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

23 Ciclo indireto 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

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

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

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

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

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

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

30 PIPELINE DE INSTRUÇÕES Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP Leitura da memória

49 Hazards de recursos Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 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. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP Esta busca depende do operando que será escrito no tempo 6 Irá fornecer operando para a instrução 2

51 Hazards de Dados Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Carregar ppt "Arquitetura de computadores Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari."

Apresentações semelhantes


Anúncios Google