1 / 67

Arquitetura de computadores

Arquitetura de computadores. Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari. Estrutura e Funcionamento da CPU. 22/05/2013. Tópicos abordados. Organização do processador; Organização de registradores; Ciclo de instrução;

cianna
Download Presentation

Arquitetura de computadores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

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

  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

  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. 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 • 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. 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 I1 Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

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

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

  38. Estratégia de Pipeline I2 I4 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

  49. Hazards de recursos 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 paraa instrução 2 Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Esta busca depende dooperando que será escrito no tempo 6

More Related