Aula_010 - Arquiteturas Avançadas

download Aula_010 - Arquiteturas Avançadas

of 38

Transcript of Aula_010 - Arquiteturas Avançadas

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    1/38

    1

    Professores:

    Lcia M. A. DrummondSimone de Lima Martins

    Aula 10

    Contedo:

    Arquiteturas Avanadas

    -Arquiteturas RISC -Processamento Paralelo

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    2/38

    2

    Arquiteturas RISC

    Reduced Instruction Set Computer se contrape arquiteturas at ento predominantes - CISC -Complex Instruction Set Computer

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    3/38

    3

    Arquiteturas RISC

    Desenvolvimento por trs caminhos:

    Projeto da IBM, desenvolvido em meados da dcada de 1970,sem sucesso comercial. A IBM ganhou mercado por volta de

    1990 com os processadores RS/6000 e posteriormente com afamlia POWER PC, desenvolvida em conjunto com a Motorolae com a Apple.

    Estudos em Stanford, por John Hennessy, que redundaramnos processadores Mips.

    Estudos em Berkley, por David Patterson, que redundaramem processadores desenvolvidos pela Sun

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    4/38

    4

    Arquiteturas RISC

    Alguns estudos verificaram:

    Linguagem de alto nvel com comandos poderosos parafacilitar a vida dos programadores

    Gap semntico: separao acentuada entre operaesde linguagem de alto nvel e em linguagem de mquina

    Compiladores complexos

    Solues:

    Aumentar a quantidade de instrues Incluir mais modos de endereamento

    Utilizar mais microprogramao

    CISC

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    5/38

    5

    Arquiteturas RISC

    Vrios pesquisadores realizaram estudos sobre comportamentodo programa. Em 1982, Patterson fez uma pesquisa analisandoprogramas cientficos, de emprego geral e de editorao.

    (Fig. 11.2 do livro texto)

    Comando

    Assign

    Loop

    Call

    IFGoto

    Outros

    Pascal

    Ocorrncia

    C

    45%

    5%

    15%

    29%

    6%

    38%

    3%

    12%

    43%3%

    1%

    Pascal

    Peso nas inst. mq.

    C

    23%

    42%

    31%

    11%

    3%

    13%

    32%

    33%

    21%

    1%

    Pascal C

    14%

    33%

    44%

    7%

    2%

    15%

    26%

    45%

    13%

    1%

    Peso em ref. MP

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    6/38

    6

    Arquiteturas RISC

    Outros estudos chegaram a mesma concluso:

    Necessidade de aperfeioar o Hw para atender demanda de recursos

    No eram necessrias tantas instrues de mquina,se apenas algumas delas eram utilizadas na maioriados programas

    Muitas instrues significa muitos bits em cada cdigode operao - instruo com maior comprimento, mais

    tempo de interpretao

    Desenvolvimento de arquiteturas RISC

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    7/38

    7

    Arquiteturas RISC

    (Fig. 11.1 do livro texto)

    Sistemas

    CISC 16

    Tipo Ano Qtde. inst. Qtde. reg. Tamanho inst.

    IBM /370-168

    Intel 80486

    Intel Pentium

    Power PC 601

    Sparc 10

    Apha 21064

    CISC

    CISC

    RISC

    RISC

    RISC

    1973

    1989

    1993

    1993

    1987

    1992

    208

    147

    150

    184

    52

    125

    8

    8

    32-I 32-PF

    at 528

    32-I 32-PF

    16-48 bits

    1-17 bits

    1-17 bits

    32 bits

    32 bits

    32 bits

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    8/38

    8

    Arquiteturas RISC - Caractersticas

    Menor quantidade de instrues e tamanho fixo

    Execuo otimizada, o sistema deve produzir resultadoscom melhor desempenho, mesmo considerando que umamenor quantidade de instrues v conduzir a programasmais longos

    Facilidade na busca e incremento do CI

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    9/38

    9

    Arquiteturas RISC - Caractersticas

    Execuo otimizada de chamada de funes

    Utilizao de registradores para passagem de parmetrose recuperao dos dados

    Enquanto em arquiteturas CISC eram necessriasleitura e escrita na memria principal

    RISC: Mais registradores j que ocorre a reduo decircuitos para decodificao e execuo de instrues

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    10/38

    10

    Arquiteturas RISC - Caractersticas

    Menor quantidade de modos de endereamento

    Apenas dois tipos de instruo para acesso memria:LOAD/STORE (utilizando modo direto)

    Reduo de ciclos de relgio para execuo das demaisinstrues

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    11/38

    11

    Arquiteturas RISC - Caractersticas

    Modo de execuo com Pipelining

    Uso altamente produtivo do pipeline

    Instrues de formatos simples e nicos tiram maior proveitodo pipeline - estgios consomem o mesmo tempo

    12

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    12/38

    12

    Arquiteturas RISC - Caractersticas

    (Fig. 11.3 do livro texto)

    Caracterstica Consideraes

    Menor quantidade deinstrues que as mquinasCISC

    Execuo otimizada dechamada de funes

    Menor quantidade de modosde endereamento

    Utilizao em larga escalade pipelining

    Simplifica o processamento de cada instruo e torna este item mais eficaz.

    Embora o processador RS/600 possua 184 instrues, ainda assim bem menos que as 303 instrues dos sistemas VAX-11. Alm disso, a maioria das instrues realizada em 1 ciclo de relgio, o que considerado o objetivo maior dessa arquitetura.

    As mquinas RISC utilizam os registradores da UCP (em maior quantidade que os processadores CISC) para armazenar parmetros e variveis em chamadas de rotinas e funes. Os processadores CISC usam mais a memria para a tarefa.

    As instrues de processadores RISC so basicamente do tipo Load/Store, desvio e de operaes aritmticas e lgicas, reduzindo com isso seu tamanho.

    A grande quantidade de modos de endereamento das instrues de

    processadores CISC aumenta o tempo de execuo das mesmas.

    Um dos fatores principais que permite aos processadores RISCatingir seu objetivo de completar a execuo de uma instruo pelo

    menos a cada ciclo de relgio o emprego de pipeliningem larga escala.

    13

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    13/38

    13

    Arquiteturas RISC -Medidas de Desempenho

    MIPS - milhes de instrues por segundo. No uma boamedida para comparar RISC com CISC. RISC mais instruessimples.

    MFLOPS - milhes de operaes de ponto-flutuante por segundo.Unidade mais apropriada para medir a velocidade com clculosmatemticos: programas cientficos, clculos meteorolgicos.

    Os programas usados para teste so escritos em FORTRAN.

    SPECmark - (system performance evaluation committee) - 10programas - 6 com clculos matemticos e 4 com operaesde inteiros e caracteres (escritos em C e Fortran). Medidas emSPECmark, composio dos resultados.

    14

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    14/38

    14

    Arquiteturas RISC -Observaes RISC x CISC

    CISC:

    Menos instrues produz cdigo-objeto menor?

    No, necessariamente, as instrues podem ser maiores

    Com menos instrues o programa executa mais rapidamente?

    No, necessariamente, o tempo de execuo de cada instruopode ser grande

    15

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    15/38

    15

    Arquiteturas RISC -Observaes RISC x CISC

    RISC:

    Instrues possuem cdigo de operao com menorquantidade de bits - tempo de decodificao menor

    Instrues executadas diretamente pelo hardware e nopor um microprograma - execuo mais rpida

    16

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    16/38

    16

    Processamento Paralelo

    Computador: mquina seqencial

    Algoritmo: seqncia de instrues

    Processadores: executam instrues seqencialmente

    Instrues: executada por seqncia de operaes(busca, execuo, armazenamento)

    Viso no totalmente verdadeira!

    17

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    17/38

    17

    Processamento Paralelo

    Nvel de microoperaes: vrios sinais de controle geradosao mesmo tempo

    Tcnica de pipeline: sobreposio de etapas de execuo

    Mquinas superescalares: diversas unidades de execuo emum mesmo processador, que podem executar vrias instruesde um mesmo programa em paralelo

    18

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    18/38

    18

    Processamento Paralelo

    Multiprocessadores simtricos: mltiplos processadorescompartilhando memria

    Clusters: diversos computadores independentes, conectadosentre si, organizados de forma cooperativa

    Mquinas de acesso no uniforme memria (NUMA):multiprocessador no qual o tempo gasto para acesso memria varia de acordo com a posio da palavra na memria

    Outras oportunidades de explorao de paralelismo para melhoraro desempenho:

    Mquinas vetoriais: otimizam a ULA para processamento de vetores de ponto-flutuante

    19

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    19/38

    19

    Processamento Paralelo

    SISD - nico processador executa uma nica seqncia deinstruo sobre dados armazenados em uma nica memria.

    SIMD - vrios elementos de processamento. Cada um tem

    uma memria de dados. Cada instruo executada sobreum conjunto de dados diferente. Processadores vetoriais ematriciais.

    MISD - seqncia de dados transmitida para um conjuntode processadores, cada um dos quais executa uma seqnciade instrues diferente. Nunca foi implementado.

    Taxonomia de Flynn (1972)

    MIMD - conjunto de processadores executa simultaneamenteseqncias diferentes de instrues. SMPs, clusters, sistemasNUMA.

    20

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    20/38

    0

    Processamento Paralelo

    (Fig. 16.1 do livro de Arquitetura e Organizao de Computadores" , William Stalling)

    Organizaes de processadores

    nica instruo,nico dado (SISD)

    nica instruo,mltiplos dados (SIMD)

    Mltiplas instrues,nico dado (MISD)

    Mltiplas instrues,mltiplos dados (MIMD)

    Processadoresvetoriais

    Uniprocessador

    Processadoresmatriciais

    Memria compartilhada(fortemente acoplados)

    Memria distribuda(fracamente acoplados)

    Multiprocessadorsimtrico (SMP)

    Sistemas com acessono-uniforme

    memria (NUMA)

    Clusters

    21

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    21/38

    Processamento Paralelo

    UC UP UMSI SD

    (a) SISD

    (Fig. 16.2 do livro de Arquitetura e Organizao de Computadores" , William Stalling)

    (b) SIMD (com memria distribuda)

    UC

    EP1

    EP2

    EPn

    .

    .

    .

    ML1

    ML2

    MLn

    SD

    SD

    SD

    SI

    (d) MIMD (com memria distribuda)

    UC1

    UC2

    UCn

    ..

    .

    EP1

    EP2

    EPn

    SI

    SI

    SI

    SD

    SD

    SD

    ML1

    ML2

    MLn

    Rededeinterconexo

    (c) MIMD (com memria compartilhada)

    UC1

    UC2

    UCn

    ..

    .

    EP1

    EP2

    EPn

    SI

    SI

    SI

    SD

    SD

    SD

    Mem

    ria

    compar

    tilhada

    22

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    22/38

    Processamento Paralelo -Multiprocessadores Simtricos

    Caractersticas:

    Existem 2 ou mais processadores similares

    Processadores compartilham memria

    Compartilham acesso aos dispositivos de E/S

    Todos os processadores podem desempenhar a mesma funo

    Sistema controlado por SO integrado Exemplo: IBM S/390, at 10 processadores.

    23

    P t P l l

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    23/38

    Processamento Paralelo -Multiprocessadores Simtricos Vantagens em relao a uniprocessadores:

    Desempenho: se o trabalho efetuado pelo computador podeser organizado de forma que algumas pores possam serfeitas em paralelo, ento um sistema com mltiplosprocessadores resulta em maior desempenho.

    (Fig. 16.3 do livro de Arquitetura e Organizao de Computadores" , William Stalling)

    Tempo

    (b) Tempo compartilhado e sobreposio (multiprocessamento)

    Processo 1Processo 2

    Processo 3

    (a) Tempo compartilhado (multiprogramao)

    Processo 3

    Processo 2

    Processo 1

    Em execuoBloqueado

    24

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    24/38

    Processamento Paralelo -Multiprocessadores Simtricos

    Vantagens em relao a uniprocessadores:

    Disponibilidade: a falha de um processador no causa aparada do sistema. O sistema pode continuar a funcionar

    com desempenho reduzido.

    Crescimento incremental: para aumentar o desempenhopode se adicionar processador

    Escalabilidade: fabricantes podem oferecer uma larga faixade produtos com caractersticas de desempenho e custodiferentes, com base no nmero de processadores

    25

    Processamento Paralelo

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    25/38

    Processamento Paralelo -Multiprocessadores Simtricos Organizao:

    Dois ou mais processadores (ULA, UC, registradores, cache) Memria e dispositivos de E/S compartilhados Processadores podem se comunicar por meio da memria

    (mensagens e informaes armazenadas em reas comuns)

    (Fig. 16.4 do livro de Arquitetura e Organizao de Computadores" , William Stalling)

    ...Rede de interconexo

    Processador Processador Processador

    E/S

    Memria principal

    E/S

    E/S

    ...

    26

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    26/38

    Processamento Paralelo - Clusters

    Grupo de computadores completos interconectados,trabalhando juntos, como um recurso computacional unificado

    Benefcios:

    Escalabilidade absoluta: possvel criar clusters muito grandes,dezenas de mquinas (cada mquina pode ser ummultiprocessador)

    Escalabilidade incremental: possvel expandi-lo de formaincremental

    Alta disponibilidade: falha de um n do cluster no significaperda total do servio. Tolerncia a falhas.

    Melhor relao custo/ desempenho: facilidade de construir osistema a partir de ns bsicos comercialmentedisponveis

    27

    C

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    27/38

    Processamento Paralelo - Clusters

    Configuraes: classificao baseada na forma como oscomputadores do cluster compartilham acesso aos discos.

    (Fig. 16.9 do livro de Arquitetura e Organizao de Computadores" , William Stalling)

    (a) Servidor independente, sem compartilhamento de discos

    (b) Discos compartilhados

    Ligao de alta velocidade para troca de mensagens

    P

    E/S E/S

    P

    M

    P

    M E/S

    P

    E/S

    RAID

    Ligao de alta velocidade para troca de mensagens

    M E/S E/S

    E/SPP PPE/S

    ME/SE/S

    28

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    28/38

    Processamento Paralelo -Clusters x SMP

    SMP:

    Mais prximo do modelo de um nico processador para o quala maior parte das aplicaes foi escrita

    Requer menos espao fsico e suprimento de energia que umcluster comparvel

    Clusters:

    Muito superiores em relao escalabilidade absoluta eincremental

    Superiores em relao disponibilidade, todos os componentesdo sistema so altamente redundantes

    29

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    29/38

    Processamento Paralelo - NUMA

    Definies:

    Acesso uniforme memria (UMA): todos os processadorestm acesso a todas as partes da memria principal. O tempode acesso o mesmo - SMP.

    Acesso no uniforme memria (NUMA): Todos osprocessadores tm acesso a todas as partes da memriaprincipal. O tempo de acesso difere em relao posioe processador.

    NUMA com coerncia de cache (CC-NUMA): um sistemaNUMA no qual mantida coerncia de cache entre asmemrias cache dos vrios processadores. Ex: Origin daSilicon Graphics, at 1024 processadores

    30

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    30/38

    Processamento Paralelo - NUMA

    Motivao:

    Em sistemas SMP existe um limite prtico para o nmero deprocessadores que podem ser usados

    Um esquema de cache efetivo reduz o trfego no barramento

    entre qualquer processador e a memria principal. A medidaque aumenta o trfego no barramento, este passa a constituirum gargalo de desempenho do sistema.

    A degradao limita o nmero de processadores

    Cluster: resolve o problema, mas a aplicao deve seradaptada ao ambiente

    CC-NUMA grande rea de memria no sistema, permitindovrios ns multiprocessadores, cada qual com o seuprprio barramento

    31

    Processamento Paralelo - CC-NUMA

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    31/38

    Processamento Paralelo CC NUMAOrganizao:

    Cada n do sistema inclui uma memria principal, mas do ponto de vista dos processadores existe uma nica memria enderevel, com

    cada posio de memria tendo um endereo nico em todo o sistema.

    (Fig. 16.10 do livro de Arquitetura e Organizao

    de Computadores" , William Stalling)

    Rede de

    interconexo

    . . .

    E/S

    Cache L2 Cache L2 Diretrio

    Cache L1

    Processador1-1

    Cache L1

    Processador1-m

    Memria

    principal 1

    Cache L2 Cache L2

    . . .

    E/S

    Cache L2 Cache L2 Diretrio

    Cache L1

    Processador2-1

    Cache L1

    Processador2-m

    Memria

    principal 2

    . . .Cache L2 Cache L2 E/S

    Diretrio

    Cache L1

    ProcessadorN-1

    Cache L1

    ProcessadorN-m

    Memria

    principal N

    32

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    32/38

    Processamento Paralelo - CC-NUMA

    Considerao:

    Disponibiliza desempenho efetivo em nveis de paralelismomais altos que o fornecido por sistemas SMP, sem requerer

    mudanas substanciais no software.

    33

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    33/38

    Processamento Paralelo -Computao Vetorial

    Computadores capazes de resolver problemas matemticosrelativos a processos reais em: aerodinmica, sismologia,meteorologia e fsica atmica, nuclear e de plasma.

    Problemas efetuam repetidas operaes aritmticas deponto-flutuante em grandes vetores de nmeros

    Supercomputadores muito custosos, otimizados paracomputao vetorial, projetados para efetuar centenas

    de milhes de operaes de ponto flutuante por segundo

    34

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    34/38

    Processamento Paralelo -Computao Vetorial

    Abordagens:

    ULA com pipeline de operaes (vector processor)

    (Fig. 16.13(a) do livro de Arquitetura e Organizao de Computadores" , William Stalling)

    Memria

    Registradoresde entrada ULA com pipelinede operaes

    Registrador

    de sada

    35

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    35/38

    Processamento Paralelo -Computao Vetorial

    ULAs paralelas (array processor)

    (Fig. 16.13(b) do livro de Arquitetura e Organizao de Computadores" , William Stalling)

    Memria

    Registradores

    de entrada

    Registrador

    de sada

    ULA

    ULA

    ULA

    36

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    36/38

    Processamento Paralelo -Computao Vetorial

    Processadores Paralelos: mltiplos processadores trabalhandode forma cooperativa sobre uma dada tarefa

    (Fig. 16.15 do livro de Arquitetura e Organizao de Computadores" , William Stalling)

    Uniprocessador ULA com pipeline

    de operaes

    ULAs paralelas

    Unidade de controle nica

    Multiprocessador Processadores

    paralelos

    Mltiplas unidadesde controle

    37

    Bibli fi

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    37/38

    Bibliografia

    Arquiteturas RISC: Introduo Organizao de Computadores -

    Mrio A. Monteiro - LTC- Captulo 11

    Processamento Paralelo: Arquitetura e Organizao de

    Computadores - William Stalling - Prentice-Hall - Captulo 16

    38

    E i

  • 5/26/2018 Aula_010 - Arquiteturas Avan adas

    38/38

    Exerccios

    Arquiteturas RISC: Introduo Organizao de Computadores -

    Mrio A. Monteiro - LTC- Captulo 11

    Exerccios: 1, 2 ,3, 4 e 6

    Processamento Paralelo: Arquitetura e Organizao de

    Computadores - William Stalling - Prentice-Hall - Captulo 16

    Exerccio: 16.8