• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
F oc aula_04
 

F oc aula_04

on

  • 513 views

 

Statistics

Views

Total Views
513
Views on SlideShare
513
Embed Views
0

Actions

Likes
0
Downloads
7
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    F oc aula_04 F oc aula_04 Presentation Transcript

    • A Organização da Unidade Central de Processamento . As unidades físicas . O ciclo da informação(fluxo) . A tecnologia OC_Aula_04
    • Organização da Unidade de Processamento Central
      • Diagrama funcional
      Unidade de Controle Barram. de Endereços Barram. de Dados Barramento Interno Barramento de Controle UC Decodificador de Instruções IR REM RDM Clock Memória Principal PC ACC REGs ULA
    • Execução de um programa
      • Ciclo de execução de uma instrução
      Início Busca da Instrução Execução da Instrução Parada
    • Paralelismo no Nível das Instruções
      • Conceito
      • Arquitetos sempre desafiando para melhorar a performance das máquinas que eles projetam.
      • Uma delas: fazer com que os chips rodem cada vez mais rápido, aumentando a velocidade do clock.
      • As limitações tecnológicas, em parte, impedem este avanço.
      • Projetistas utilizam o paralelismo, que consiste em executar duas ou mais operações ao mesmo tempo.
      • O paralelismo se manifesta de duas maneiras:
        • No nível das instruções
        • No nível do processador
    • Paralelismo no Nível das Instruções
      • Conceito
      • No nível da instrução - o paralelismo é explorado dentro das instruções individuais, de maneira a conseguir que a máquina execute mais instruções individuais, de maneira a conseguir que a máquina execute mais instruções por segundo.
      • No nível do processador - vários processadores trabalham juntos na solução do mesmo problema.
      • Cada uma das metodologias tem seus próprios méritos.
    • Execução em Pipeline
      • Conceito
        • cada estágio possui um componente de hardware dedicado exclusivamente a ele
        • todos os estágios trabalham ao mesmo tempo
      • Latência
        • quanto uma instrução demora para ser executada
      • Banda passante
        • quantos MIPS (milhões de instruções por segundo) o processador executa
    • Execução em Pipeline
      • Pipeline de 5 estágios
      Unidade de busca da Instrução Unidade de decodificação da instrução Unidade de busca de operando Unidade de execução da instrução Unidade de escrita E1 E2 E3 E4 E5 1 2 3 4 5 6 1 2 3 4 5 1 2 3 4 1 2 3 1 2 E1 E2 E3 E4 E5 1 2 3 4 5 6 ...
    • Arquiteturas Superescalares
      • Conceito
      • Se um pipeline é bom, com certeza dois serão ainda melhor.
      • É possível projetar um processador com dois pipelines.
      • Neste caso, uma única unidade de busca de instrução busca pares de instruções juntas e coloca cada uma delas em seu próprio pipeline, permitindo, portanto, a execução de instruções em paralelo.
      • Para que seja possível a execução em paralelo dessas instruções, não pode haver conflito pela utilização de recursos durante a execução (os registradores são um exemplo desse tipo de recurso), e, além disso, o resultado de uma das instruções não pode depender da execução da outra.
    • Arquiteturas Superescalares
      • Conceito
      • O compilador precisa garantir que essas situações não venham a ocorrer (ou seja, o hardware não faz qualquer verificação de conflitos, dando resultados errados se as instruções executadas em paralelo não forem compatíveis), ou os conflitos são detectados e eliminados durante a execução das instruções usando um hardware específico para isso.
      • Apesar das máquinas RISC já utilizarem o processamento em pipeline, a partir do 486 a Intel já passou a aplicar esta tecnologia em seus processadores.
    • Arquiteturas Superescalares
      • Processador com dois pipelines
      Unidade de busca da Instrução Unidade de decodificação da instrução Unidade de busca de operando Unidade de execução da instrução Unidade de escrita E1 E2 E3 E4 E5 Unidade de decodificação da instrução Unidade de busca de operando Unidade de execução da instrução Unidade de escrita
    • Arquiteturas Superescalares
      • Arquitetura Superescalar
      • A existência de quatro pipelines, apesar de conceituamente possível, duplica o hardware necessário à sua implementação.
      • Em vez de quatro pipelines, as máquinas de alta performance usam outra metodologia.
      • A idéia básica é ter um único pipeline, com diversas unidades funcionais.
      • Ela traz implícito o fato de o estágio S3 poder distribuir instruções a uma velocidade considerávelmente mais alta que a capacidade do estágio S4 de executa-las.
    • Arquiteturas Superescalares
      • Arquitetura Superescalar
      • Se o estágio S3 distribui uma instrução a cada 10 ns, não mais que uma unidade funcional poderia estar ocupada ao mesmo tempo, impedindo portanto a implementação do processamento superescalar.
    • Arquiteturas Superescalares
      • Processador superescalar com quatro unidades funcionais
      Unidade de busca da Instrução Unidade de decodificação da instrução Unidade de busca de operando ULA Unidade de escrita E1 E2 E3 E4 E5 LOAD STORE Ponto flutuante
    • Paralelismo no nível do processador
      • Conceito
      • A demanda de computadores mais rápidos parece não ter fim.
      • Ex: astrônomos calculando o big-bang; economistas calculando a economia mundial; adolescentes com jogos interativos em três dimensões, etc.
      • Velocidade da luz em fios de cobre ou em fibra óptica da ordem de 20 cm/ns, uma limitação.
      • O paralelismo de processador ajuda a aumentar a velocidade de execução.
      • Pipelines aumentam em 5 a 10 vezes o processamento.
      • Para obter 50 a 100 vezes, é preciso colocar vários processadores em paralelo .
    • Paralelismo no nível do processador
      • Computadores Matriciais
      • A maioria dos problemas científicos trata com matrizes ou alguma outra estrutura regular de dados.
      • A regularidade e a estrutura de tais programas fazem deles candidatos potenciais a ter sua performance aumentada por meio da execução paralela.
      • Há dois esquemas para implementação:
      • (1) máquinas projetadas com extensão de processador
      • (2) máquinas paralelas.
    • Paralelismo no nível do processador
      • Processadores Matriciais
      • Composto de um grande número de processadores idênticos, que executam a mesma seqüência de instruções sobre diferentes conjunto de dados.
      • O primeiro projeto foi o ILLIAC IV, fig. Próxima página.
      • O plano original era produzir uma máquina composta de quatro quadrantes, cada um dos quais com uma estrutura de 8 x 8 elementos processador/memória.
      • Cada quadrante tinha uma única unidade de controle que enviava instruções em broadcast para os processadores, instruções essas que eram executadas por todos os processadores junto de dados armazenados em sua memória local.
    • Paralelismo no nível do processador
      • Computadores Matriciais
      Unidade de Controle Processador Memória Grade processador/memória 8x8 Instruções enviadas em broadcast
    • Paralelismo no nível do processador
      • Processador Vertical
      • Se parece muito com um processador matricial.
      • É muito eficiente na execução de uma seqüência de operações em pares de elementos de dados.
      • Todas as operações aritméticas são realizadas em uma única UAL, que opera em pipeline.
      • A Cray produz ainda hoje computadores com processadores verticais.
      • Computadores Vetoriais
      Paralelismo no nível do processador Registradores vetorias ULA
    • Paralelismo no nível do processador
      • Multiprocessadores
      • É composto de vários processadores independentes, compartilhando a mesma memória, a exemplo de várias pessoas em uma sala de aula compartilhando o mesmo quadro-negro.
      • Considerando que cada processador pode ler ou gravar em qualquer parte da memória, é necessário que as atividades dos vários processadores sejam coordenadas (por software), para evitar que a atividade de um processador interfira na atividade de outro.
      • O esquema mais simples é o de barramento único com vários processadores e uma memória pendurados nele.
    • Paralelismo no nível do processador
      • Multiprocessadores
      Proc.1 Proc.2 Proc.3 Proc.4 Memória Compartilhada Proc.1 Proc.2 Proc.3 Proc.4 Memória Compartilhada Mem.local Mem.local Mem.local Mem.local
    • Paralelismo no nível do processador
      • Multicomputadores
      • Embora os sistemas Multiprocessadores, com um pequeno número de processadores (<= 64) sejam muito fáceis de serem construídos, os sistemas com mais processadores são de difícil implementação.
      • A dificuldade está na conexão do processador à memória.
      • Para resolver esse problema, os projetistas simplesmente abandonaram a idéia da memória compartilhada e construíram sistemas com um grande número de computadores interconectados, sem qualquer tipo de memória comum.
      • Os processadores de um sistema deste comunicam-se por meio do mecanismo de troca de mensagens, mais ou menos como no sistema de correio eletrônico.
    • Paralelismo no nível do processador
      • Multicomputadores
      C1 C2 C3 C4 C5
      • F I M