Arquitetura de computadores

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
INFORMAÇÕES COMPLEMENTARES
Arquitetura de Computadores
WebDesign Redes de Computadores Aula 07
A busca das mulheres para alcançar seu espaço dentro das organizações
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Arquitetura e organização de computadores
Operadores e Funções do LINGO
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Arquitetura de Computadores
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
Software Básico Silvio Fernandes
Arquitetura dos Microprocessadores 8086 e 8088
William Stallings Arquitetura e Organização de Computadores 8a Edição
Curso de ADMINISTRAÇÃO
ES723 - Dispositivos Eletromecânicos
Arquitetura de Sistemas Operacionais
Sistemas Operacionais
EXPRESSÕES ARITMÉTICAS
CISC e RISC.
EXPRESSÕES ARITMÉTICAS
SSC144 Arquitetura de Computadores Introdução
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Sistemas Operacionais
FUNÇÃO MODULAR.
Implementação da CPU Análise de um computador simplificado Implementação da Unidade de Controle para o computador simplificado.
Aula 4 Nomes, Vinculações, Tipos e Escopos
EXEMPLOS DE ESTRUTURAS PROTENDIDAS
Processadores – Aula 3 Professor: André Luis Meneses Silva
Provas de Concursos Anteriores
Sistemas Operacionais
Renda até 2 SM.
Processadores – Aula 3 Professor: André Luis Meneses Silva
Sistemas Operacionais
Introdução à Programação
MECÂNICA - ESTÁTICA Cabos Cap. 7.
Sistemas Operacionais
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Prof. Felipe Ferreira de Oliveira
Funcionamento básico de um computador
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
Coordenação Geral de Ensino da Faculdade
Arquitetura de computadores
Múltiplos de um número Sonia Regina de Souza Guedes.
Plataforma Brasil – Submissão de pesquisa
Projeto Marcas que Eu Gosto 1 PROJETO MARCAS QUE EU GOSTO Estudos Quantitativo de Consumidores Janeiro / 2005.
Sistemas Operacionais
Sistemas Operacionais I
Arquitetura de computadores
Arquitetura de computadores
Organização e Arquitetura de Computadores
Organização e Arquitetura de Computadores
Agenda - Aula 2 Introdução (Computador Digital) Processadores
Processamento de dados na UCP e memória UCP
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
Unidade Central De Processamento: Processador
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Unidade Central De Processamento: Processador
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Parte 3 Seção de Dados e Unidade de Controle
Arquitetura de Computadores
Arquitetura de computadores
Arquitetura de computadores
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Transcrição da apresentação:

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; Pipeline de instruções; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013

Organização do processador Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Organização do processador

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

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

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

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

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

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

Organização de registradores Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Organização de registradores

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

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

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

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.

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

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.

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

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

Ciclo de instruções Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Ciclo de instruções

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

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

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

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

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

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

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

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

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

Pipeline de instruções Estrutura e Funcionamento da CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Pipeline de instruções

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Hazards de recursos Bolha de Pipeline Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Bolha de Pipeline

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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