Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


2a - Processadores, Notas de aula de Engenharia Telemática

Slides da aula de processadores

Tipologia: Notas de aula

Antes de 2010

Compartilhado em 24/11/2010

samuel-santos-22
samuel-santos-22 🇧🇷

4.6

(41)

262 documentos

1 / 8

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
Prof.ª Daniella Dias
Processadores
Disciplina: Arquitetura de Computadores
Organização de Computadores
2
Computador eletrônico digital
Processador
Memória
Dispositivos de entrada/saída
Interconexão entre as essas partes (barramento)
Organização de um Computador
3
Organização de um Computador
4
Organização de um Computador
5
Processador
Cérebro do computador
Executa programas armazenados na memória principal, buscando
as instruções, examinando-as, e executando-as em seqüência
Barramento
Provê a interligação entre os componentes do computador
Conjunto de fios paralelos para a transmissão de dados, endereços
e sinais de controle
Organização de um Computador
6
Barramento
Externo ao processador conexão à memória e dispositivos de
entrada/saída
Interno ao processador
Composição do Processador
Unidade de controle busca e decodifica as instruções
ULA realiza as instruções (aritméticas e lógicas)
Registradores armazena resultados temporários e algumas informações
de controle. São de acesso rápido por estarem dentro do processador.
pf3
pf4
pf5
pf8

Pré-visualização parcial do texto

Baixe 2a - Processadores e outras Notas de aula em PDF para Engenharia Telemática, somente na Docsity!

Prof.ª Daniella Dias [email protected]

Processadores

Disciplina: Arquitetura de Computadores

Organização de Computadores

2

 Computador eletrônico digital

 Processador  Memória  Dispositivos de entrada/saída  Interconexão entre as essas partes (barramento)

Organização de um Computador

3

Organização de um Computador

4

Organização de um Computador

5

 Processador

 Cérebro do computador  Executa programas armazenados na memória principal, buscando as instruções, examinando-as, e executando-as em seqüência

 Barramento

 Provê a interligação entre os componentes do computador  Conjunto de fios paralelos para a transmissão de dados, endereços e sinais de controle

Organização de um Computador

6

 Barramento

 Externo ao processador  conexão à memória e dispositivos de entrada/saída  Interno ao processador

 Composição do Processador

 Unidade de controle  busca e decodifica as instruções  ULA  realiza as instruções (aritméticas e lógicas)  Registradores  armazena resultados temporários e algumas informações de controle. São de acesso rápido por estarem dentro do processador.

Organização de um Computador

7

 Registradores mais importantes

 Contador de programas (PC – Program Counter)  aponta para a próxima instrução  Registrador de instruções (IR – Instruction Register)  armazena a instrução que está sendo executada

Organização do Processador

Caminho de dadosCaminho de dados

Organização do Processador

9

 Composição do caminho de dados

 Registradores  1 a 32  ULA  Barramento

 Instruções de um processador

 Registrador-memória  permite que uma palavra de memória seja armazenada no registrador, e vice-versa  Registrador-registrador  instrução que opera sobre 2 registradores e coloca a saída em outro registrador (ciclo de caminho de dados)

Organização do Processador

10

 Ciclo de caminho de dados

 Define, sob certos aspectos, o que a máquina pode fazer  Conceito muito importante na maioria dos processadores  A velocidade do ciclo do caminho de dados determina, em última análise, a velocidade do processador

Execução de Instruções

11

 Ciclo de busca-decodificação-execução

  1. Busca próxima instrução na memória, a partir do endereço armazenado no PC, e armazena no IR
  2. Atualiza Contador de instrução PC para apontar para a próxima instrução
  3. Determina tipo de instrução armazenada no IR
  4. Determina endereço dos dados na memória, se a instrução requer dados adicionais
  5. Trazer palavras (dados) da memória, caso a instrução precise, e armazena-as em outros registradores
  6. Executa instrução
  7. Retorna ao passo 1

Execução de Instruções

12

 É possível escrever um programa que simule a função de um

processador

 Esse programa não precisa ser executado por um processador

eletrônico

 Um programa pode ser executado por outro programa que

busque, decodifique e execute suas instruções

 Esse programa é o interpretador

RISC x CISC

19

 Argumento RISC

 Mesmo que uma máquina RISC precisasse de 4 ou 5 instruções para fazer o que uma máquina CISC faria com apenas 1 instrução, se a instrução RISC fosse 10 vezes mais rápida (só hardware) a máquina RISC venceria

RISC x CISC

20

 Por que a RISC não suplantou a CISC?

 Problemas de compatibilidade com máquinas antigas com software já desenvolvido.  Aparecimento de soluções híbridas: Por exemplo, a INTEL usa RISC para instruções de uso mais freqüente ( Núcleo RISC ) e interpretação para instruções mais complexas e de uso menos freqüente.

Princípios de Projeto RISC para

Computadores Modernos

21

 Todas as instruções são diretamente executadas por

hardware

 Maximizar a taxa na qual as instruções são executadas

 As instruções precisam ser facilmente decodificadas

 Somente as instruções de Load (leitura) e Store (escrever)

devem referenciar a memória

 Projetar uma máquina com muitos registradores

Paralelismo

22

 Melhora do desempenho

 Processadores mais rápidos (por exemplo, aumento da velocidade do clock ) existem um limite tecnológico  Paralelismo

 Paralelismo

 Execução de duas ou mais operações ao mesmo tempo  Aumenta o desempenho mantendo o mesmo clock

Paralelismo

23

 Tipos de paralelismo

 Nível de instruções  um único processador deve executar mais instruções por segundo  Nível do processador  vários processadores trabalhando juntos para a solução do mesmo problema

Paralelismo no Nível de Instruções

24

 Execução em Pipeline

 O maior gargalo para a velocidade de execução de instruções é o acesso à memória  Solução  busca antecipada de instruções na memória  Utilização de um buffer de pré-busca  conjunto de registradores que armazenam as instruções antecipadas  Pré-busca  divide a execução das instruções em busca e execução efetiva  Pipeline  Divisão da execução da instrução em várias partes, com um hardware dedicada a cada uma delas

Paralelismo no Nível de Instruções

25

(a) Pipeline de 5 estágios. (b) Estado dos estágios em função do tempo(a) Pipeline de 5 estágios. (b) Estado dos estágios em função do tempo

Paralelismo no Nível de Instruções

26

 Execução em Pipeline

 Ciclo dessa máquina  2ns  Duração de uma instrução (5 estágios)  10ns  Instruções por segundo  aparentemente 100MIPS, mas como temos uma nova instrução a cada 2ns temos na verdade 500MIPS  MIPS  Milhões de Instruções por Segundo

Paralelismo no Nível de

Instruções

27

 Arquiteturas Superescalares

 Se um pipeline é bom, dois é ainda melhor  Um única unidade de busca de instrução busca pares de instruções e põe cada uma em um pipeline (execução em paralelo)  Não pode haver conflitos pela utilização de recursos  O resultado de uma das instruções não pode depender da outra  Esse tratamento pode ser feito pelo compilador ou por um hardware extra.

Paralelismo no Nível de

Instruções

28

Pipeline duplo de 5 estágiosPipeline duplo de 5 estágios

Paralelismo no Nível de Instruções

29

 Arquiteturas Superescalares

 Muitos pipelines implicam em um aumento considerável do hardware  Uso de um único pipeline com diversas unidades funcionais (estágio 4 do pipeline)  Essas unidade funcionais executam as operações em uma velocidade bem mais lenta que o processo de busca das mesmas

Paralelismo no Nível de

Instruções

30

Processador superescalar com 5 unidades funcionaisProcessador superescalar com 5 unidades funcionais

Paralelismo no Nível do Processador

37

 Processadores matriciais não são CPUs independentes

(unidade de controle única)

 Multiprocessadores

 Composto por vários processadores independentes que compartilham a mesma memória  As atividades dos processadores devem ser coordenadas para que um não interfira na atividade do outro  gerenciar a memória que cada um usa para não haver conflitos  Compartilham um barramento único

Paralelismo no Nível do Processador

38

 Multiprocessadores

 Vários processadores x memória única x barramento único 

conflitos entre os processadores

 Solução  memória local para cada processador, que armazena

o programa e os dados que não precisam ser compartilhados

 Com a redução do uso do barramento compartilhado, diminui

o tráfego e reduz as possibilidades de conflito

 Outra solução para os conflitos é baseado no uso de memória

cache

Paralelismo no Nível do Processador

39

(a) Multiprocessador com um único barramento e memória única(a) Multiprocessador com um único barramento e memória única (b)Multiprocessador com memórias locais aos processadores(b)Multiprocessador com memórias locais aos processadores

Paralelismo no Nível do Processador

40

 Multiprocessadores

 Modelo mais fácil de se trabalhar entre os sistemas paralelos  memória compartilhada  Exemplo  busca de células cancerígenas em uma fotografia de tecido humano  Fotografia fica armazenada na memória comum  Os processadores tem acesso a toda a memória  Não há problema caso um processador invada uma região demarcada para um outro processador

Paralelismo no Nível do Processador

41

 Multicomputadores

 Sistema com poucos multiprocessadores (256) são fáceis de serem construídos  Sistemas multiprocessados com mais processadores são de difícil implementação  O problema está na conexão dos processadores com a memória  A solução é usar um grande número de computadores interconectados, sem memória compartilhada  multicomputadores

Paralelismo no Nível do Processador

42

 Multicomputadores

 Sistemas com um grande número de computadores interconectados  Não existe nenhum tipo de memória comum sendo compartilhada  Comunicação entre computadores é feita através de troca de mensagens com alta velocidade  Computador não precisa estar ligado diretamente com todos os outros (uso de topologias em árvore, anéis, etc..)  Mensagens podem ser roteadas do computador fonte para o destino (usando computadores intermediários)  Existem em operação sistemas multicomputadores com mais de 10. computadores

Paralelismo no Nível do Processador

43

 Multiprocessador x Multicomputador

 Sistemas multiprocessadores são mais fáceis de programar  Sistemas multicomputadores são mais fáceis de constuir  Futuro  sistema híbrido  Ilusão de compartilhamento de memória, sem a dificuldade da implementação real