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 - 2013 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 3

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

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 5

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 6

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

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 8

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

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

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

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 12

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 13

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 14

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 15

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 16

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 17

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 18

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 19

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

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 21

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 22

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 2013 23

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 24

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 25

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

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 27

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 28

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

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

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 31

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 32

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

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 34

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

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

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

38 Estratégia de Pipeline Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 38 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 2013 39

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 40

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

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

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

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

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

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

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 47

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 2013 48 Leitura da memória

49 Hazards de recursos Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 49 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 2013 50 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 2013 51 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 52

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

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

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

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

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

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

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

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

61 Pipelining – com desvio Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 61 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 2013 62

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

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

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

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

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


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