Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.