1 / 82

Revisão

Revisão. Unidade de Controle. Unidade lógica e Aritmética. Registradores. Barramento interno. Conceitos Fundamentais. Arquitetura da CPU. Registradores. Conjunto de unidades de armazenamento; Funcionam num nível de hierarquia acima da memória principal e da memória cache;

Télécharger la présentation

Revisão

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. Revisão

  2. Unidade de Controle Unidade lógica e Aritmética Registradores Barramento interno Conceitos Fundamentais • Arquitetura da CPU

  3. Registradores • Conjunto de unidades de armazenamento; • Funcionam num nível de hierarquia acima da memória principal e da memória cache; • Também conhecida como memória de rascunho; • Divide-se em dois tipos: • Visíveis ao usuário; • Controle e estado;

  4. Registradores visíveis ao usuário • Podem ser acessados pelo usuário através das linguagens de maquina ou de montagem; • Minimizam as referencias a memória principal; • São classificados em: • Registrador de Propósito geral • Registrador de dados; • Registrador de endereço; • Registrador de código de condição;

  5. Registradores de código de condição (flags) • Armazenam bits que definem o resultado de uma operação; • Esses bits podem indicar se o resultado produzido é positivo, negativo, zero ou overflow; • Em algumas arquiteturas é representado por um único registrador (de controle); • As linguagens de máquina permitem ler esses bits mas não alterar seu valor;

  6. Registradores de controle e estado • São usados para controlar as ações da CPU; • É comum que eles não sejam visíveis ao usuário; • Contudo alguns podem ser visíveis no nível de linguagem de maquina e nível de SO • Existem várias classificações para esse tipo de registrador, variando de máquina para máquina

  7. Registradores de controle e estado • Contador de Programas (PC) • Contem o endereço da instrução a ser buscada; • É atualizado pela CPU depois de cada busca; • Um salto ou desvio também alteram seu valor; • Registrador de instrução (IR); • Contem a ultima instrução buscada;

  8. Registradores de controle e estado • Registrador de endereçamento (MAR); • Contém o endereço de uma posição de memória; • Registrador de armazenamento Temporário de dados (MBR); • Contém uma palavra de dados a ser escrita na memória ou a palavra lida recentemente; • Usado para trocar dados com os registradores visíveis ao usuário; • Pode ser acessado diretamente pela ULA;

  9. Registradores de controle e estado • Registradores de Armazenamento temporários

  10. Projeto de Registradores Visíveis ao usuário • Decidir entre propósito geral ou uso especifico; • A especialização economiza bits, porem limita a flexibilidade da programação • A tendência atual é especializar • Decidir o número de registradores • Um numero elevado requer mais bits para especificar um operando • Um numero reduzido implica em mais acessos a memória

  11. Projeto de Registradores Visíveis ao usuário • Decidir o tamanho dos registradores • Devem ter tamanho suficiente para conter o maior endereço de memória; • Devem ser capazes de conter os dados da maioria dos tipos disponíveis

  12. Projeto de Registradores de Controle e Estado • Decidir sobre o suporte ao SO • Certos tipos de informações de controle são úteis ao SO • O projeto pode ser feito de acordo com as necessidades do SO • Decidir sobre a alocação de dados de controle entre os registradores e a memória • Levando em conta custo e taxa de acesso o que deve ficar na em cada um?

  13. Respostas • Trabalho 01 • Descreva a arquitetura básica da CPU, mostrando seus componentes e a função de cada um deles.

  14. Tarefas da CPU • Buscar instruções • Interpretar Instruções • Buscar dados • Processar dados • Escrever Dados

  15. Inicio Fim Busca da próxima instrução Execução da instrução O Ciclo de instruções • Ciclo simples Ciclo de busca Ciclo de execução

  16. O Ciclo de instruções • Ciclo de busca • Lê a próxima instrução da memória • Essa instrução esta armazenada no Contador de Programas (PC) • O processador incrementa o valor de PC • A instrução buscada é armazenada no registrador de instruções (IR)

  17. O Ciclo de instruções • Ciclo de Execução • Interpreta o código da operação e efetua a mesma; • As ações efetuadas podem ser: • Processador-memória • Processador-E/S • Processamento de dados • Controle

  18. O Ciclo de instruções • Exemplo: • Formato da instrução • Formato dos números • Lista de operações • 0001 (1) – Carregar o valor em AC • 0010 (2) – Armazenar o valor de AC na memória • 0101 (5) – Somar o valor de AC com o valor de um endereço 0 3 4 15 0 1 15

  19. O Ciclo de instruções • Exemplo: • Ciclo de instruções para o código A = A + B; • São necessárias 3 instruções: • Carregar o valor de A • Somar o valor de B com valor de A • Guardar o resultado em A e armazenar na memória • Será realizado é 3 ciclos de busca e execução totalizando 6 passos;

  20. 300 940 PC 301 941 AC 302 942 IR O Ciclo de instruções • Exemplo: Memória Registradores da CPU Passo 1

  21. 300 940 PC 301 941 AC 302 942 IR O Ciclo de instruções • Exemplo: Memória Registradores da CPU Passo 2

  22. 300 940 PC 301 941 AC 302 942 IR O Ciclo de instruções • Exemplo: Memória Registradores da CPU Passo 3

  23. 300 940 PC 301 941 AC 302 942 IR O Ciclo de instruções • Exemplo: Memória Registradores da CPU 3 + 2 = 5 Passo 4

  24. 300 940 PC 301 941 AC 302 942 IR O Ciclo de instruções • Exemplo: Memória Registradores da CPU Passo 5

  25. 300 940 PC 301 941 AC 302 942 IR O Ciclo de instruções • Exemplo: Memória Registradores da CPU Passo 6

  26. Busca da instrução Execução da instrução Interpretação da instrução Busca de operando Armazenamento do operando Cálculo do endereço da instrução Calculo de endereço do operando Calculo de endereço do operando O Ciclo de instruções • Ciclo ampliado

  27. Interrupções • Mecanismo pelo qual um componente de arquitetural pode interromper a seqüência normal de execução • Visa a melhoria no desempenho do processador • São agrupadas em: • Interrupção de Software • Interrupção de relógio • Interrupção de E/S • Interrupção de falha de hardware

  28. Interrupções • Exemplo: • Um dada impressora recebe um fluxo de dados provenientes do final de um ciclo de execução; • Essa impressora demora muito para terminar imprimir os dados no papel; • O que a CPU deve fazer enquanto espera esses dados serem impressos? • Sem um sistema de interrupção ela fica parada • Com sistema de interrupção ela faz pequenas pausas.

  29. Interpretação da instrução Cálculo do endereço da instrução Busca da instrução Armazenamento do operando Execução da instrução Busca de operando Interrupção Calculo de endereço do operando Verifica ocorrência de interrupção Calculo de endereço do operando Interrupção • Ciclo com interrupção

  30. Pipeline • Técnica de implementação de processadores que permite a sobreposição temporal das diversas fases de execução das instruções • Constituído por seqüência de estágios operando em paralelo • Funciona de modo semelhante a uma linha de montagem • Seu uso visa a melhora no desempenho do processador

  31. Características do Pipeline • Aumenta o número de instruções executadas simultaneamente • Aumenta taxa de instruções iniciadas e terminadas por unidade de tempo • Melhora o desempenho do processo (throughput) • Nãoreduz o tempo gasto para completar cada instrução individualmente.

  32. Pipeline do ciclo de instrução • Suponha que o ciclo pudesse ser resumido dos seguintes estágios: • Busca de Instrução (BI) • Decodificação da Instrução (DI) • Cálculo de (endereço) Operandos (CO) • Busca de Operandos (BO) • Execução da Instrução (EI) • Armazenamento de Operandos (AO)

  33. Pipeline do ciclo • Exemplo 3

  34. Características do Pipeline • Deve-se procurar dividir a execução da instrução em estágios com o mesmo Tempo • Contudo alguns estágios são mais lentos: • O estagio execução é geralmente mais lento que o de busca • Quando os estágios não tem o mesmo tempo: • Algumas instruções podem ter o seu tempo aumentado • Isso ocorre pois elas atravessam estágios em que não realizam nenhuma operação útil

  35. Pipeline do ciclo • Exemplo 4

  36. Pipeline do ciclo • Exemplo 5

  37. Conflitos • Situações que impedem a próxima instrução dentro de uma fila de ser executada no ciclo esperado • Os Conflitos reduzem o tempo de ganho obtido pelo pipelining • Existem três classes de conflitos: • Estrutural • de Dados • de Controle

  38. Conflitos Estruturais • Oriundos de um hardware que não suporta a sobreposição simultânea de todas as etapas de instruções • No exemplo da lavanderia seria o equivalente a implementar um pipeline onde só existisse uma tomada para a máquina de lavar e para a máquina de secar.

  39. Conflitos de Dados • Ocorrem quando uma instrução para ser executada depende dos resultados gerados por alguma instrução anterior que ainda não foi completada • No exemplo da lavanderia seria um caso em que a secadora demorou demais para secar uma roupa e já tem a roupa lavada de outro cliente na fila para secar.

  40. Conflito de Controle • Ocorrem quando uma instrução de salto condicional (desvio) entra no pipeline provocando o cancelamento de instruções subsequentes que também entraram no pipeline.

  41. Pipeline do ciclo c/ desvio • Exemplo 6

  42. Pipeline do ciclo c/ desvio • Exemplo 6 (continuação)

  43. Memória Principal • Memória que armazena os dados e programas em linguagem de máquina em execução corrente • Razoavelmente barata • Tempo de acesso da ordem de nano-segundos a dezenas de nano-segundos • Freqüência de acesso alta. Se não existisse a memória Cache, seria acessada a cada ciclo de busca-decodificação-execução

  44. Hierarquia de memória • Modelo hierárquico

  45. Memória Principal • Cada posição da memória principal tem um endereço único • Geralmente é combinada com uma memória Cache menor e mais veloz • A Cache geralmente não é visível ao usuário • È usada para melhorar o desempenho

  46. Endereçamento • A memória principal é organizada como um conjunto de n células (ou posições) capazes de armazenar, cada uma, m bits. • Cada célula é identificada por um endereço (código binário associado) de k bits através do qual é referenciada. • Os endereços são numerados de zero a n-1.

  47. Endereçamento • Existem 2k possíveis endereços. Assim, o máximo número de células endereçáveis é 2k. • A célula é a menor unidade de memória endereçável • Uma célula poderá armazenar qualquer uma das 2m possíveis combinações diferentes dos seus m bits. • Onde m é independente de n.

  48. Endereçamento • Os m de bits de uma célula são acessados simultaneamente • m pode ser qualquer número inteiro mas, nos últimos anos, os fabricantes padronizaram um tamanho de 8 bits (1 byte).

  49. Endereçamento • Bytes são agrupados em Palavras • A maioria das instruções opera sobre palavras • Registradores da CPU geralmente são do tamanho de uma palavra.

  50. Ordenação • Os bytes de uma palavra podem ser numerados da esquerda para a direita ou da direita para a esquerda • Quando a numeração dos bytes começa da esquerda para a direita da palavra, a ordenação dos bytes é dita Big Endian • Quando a numeração dos bytes começa da direita para a esquerda da palavra, a ordenação dos bytes é dita Little Endian

More Related