SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
Engenharia de Computação
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 1
• Computadores cada vez mais rápidos
• Demandas crescentes
• Os Cientistas, os Engenheiros e a Indústria querem usar os
computadores para projetar e testar todas as suas teorias e
protótipos.
• Exemplo: projetar medicamentos para doenças específicas sem
ter de sacrificar animais
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 2
• A velocidade dos atuais circuitos não podem aumentar
indefinidamente
• A velocidade do clock tem aumentado gradativamente
• Dissipação de calor é um grande problema
• Tamanho dos transistores continua a diminuir: cada TRANSISTOR
terá um número tão pequeno de ÁTOMOS dentro dele que os
efeitos da mecânica quântica podem se tornar um grande
problema
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 3
• Computadores paralelos são uma solução temporária para as
necessidades atuais da sociedade
• Uma máquina + uma CPU + tempo de 0,001ns  impossível
• Várias máquinas + 1000 CPUs + tempo de 1ns cada 
possível
• O paralelismo existe em vários níveis
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 4
• Nível mais baixo: CPU, pipeline, CPUs superescalares, palavras
de instruções muito longas, múltiplos threads de controle ao
mesmo tempo, CPUs reunidas em um mesmo CHIP, etc.
Desempenho 10x maior
• Nível seguinte: placas extras de CPU com funções especificas.
Desempenho de 5 a 10x maior.
• Independente do fato de desempenho aumentar, CPUs devem
ser replicadas INTEIRAS e devem funcionar juntas com eficiência
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 5
• Clusterização, multicomputadores, multiprocessadores, grids,
nuvem
• PROCESSAMENTO FORTEMENTE ACOPLADO: quando duas
CPUs ou dois elementos de processamento estão perto um do
outro, têm alta largura de banda, o atraso é baixo e são
próximos computacionalmente
• PROCESSAMENTO FRACAMENTE ACOPLADO: quando estão
longe um do outro, têm baixa largura de banda, alto atraso,
são remotos computacionalmente
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 6
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 7
• Objetivo: Fazer mais coisas ao mesmo tempo
• Emissão de múltiplas instruções por ciclo de clock
• Dois tipos:
• Processadores superescalares
• Processadores VLIW
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 8
• CPUs Superescalares são capazes de emitir múltiplas
instruções para as unidades de execução em um único ciclo
de clock
• De duas a seis instruções podem ser emitidas de uma única
vez
• O número máximo é determinado pelo hardware
• Se uma instrução precisar de uma unidade funcional ou
resultado que não está disponível, ela não será emitida
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 9
• Very Long Instruction Word – palavra de instrução muito
longa
• Instruções que usavam múltiplas unidades funcionais
• Exemplificando:
• Considere uma máquina que tenha 5 unidades funcionais,
efetua simultaneamente 2 operações com inteiros, 1
operação em ponto flutuante, 1 carregamento e 1
armazenamento.
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 10
• Uma instrução VLIW para essa máquina conteria 5 opcodes
e 5 pares de operandos, sendo 1 opcode e 1 par de
operandos por unidade funcional
• Supondo 6 bits por OPCODE, 5 bits por REGISTRADOR, 32
bits por endereço de memória, as instruções teriam 134 bits.
• Isso significa uma palavra longa: tamanho de bits de uma
instrução muito grande
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 11
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 12
• DESVANTAGEM: nem toda instrução podia utilizar todas as
unidades funcionais, o que resultava em muitas NO-OP
• Transfere do tempo de execução para o tempo de
compilação o trabalho de determinar quais instruções podem
ser emitidas em conjunto
• Simplifica o hardware e o torna mais rápido
• Paralelismo no nível da memória: há múltiplas operações de
memória no ar ao mesmo tempo
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 13
• Problema INERENTE no PIPELINE das CPUs modernas:
• Quando uma referência à memória encontra uma ausência das caches
de nível 1 e nível 2, há uma longa espera até que a palavra
requisitada, e sua linha de cache associada, sejam carregadas na
cache, portanto, o pipeline para.
• MULTITHREADING NO CHIP:
• Solução para o problema descrito acima
• Permite que a CPU gerencie múltiplos threads de controle ao mesmo
tempo
• Se o thread 1 estiver bloqueado, a CPU ainda tem chance de
executar o thread 2, de modo a manter a CPU sempre ocupada
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 14
• Multithreading de granulação fina:
• Mascara as protelações executando os threads segundo uma
política de alternância circular, com um thread diferente em
ciclos consecutivos
• Se uma protelação de memória demorasse quatro ciclos,
precisaríamos de quatro threads para garantir a operação
contínua e assim por diante
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 15
• Cada thread precisa do seu próprio conjunto de registradores
• O número máximo de threads que podem ser executados de uma só
vez é fixado no projeto do chip
• RAZÃO PARA PROTELAÇÃO
• Operações de memória.
• Uma instrução pode precisar de um resultado calculado por outra
instrução que ainda não foi concluída.
• Uma instrução não pode iniciar porque ela vem após um desvio
condicional cuja direção ainda não é conhecida
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 16
• Se o pipeline tiver K estágio, mas houver no mínimo K threads para
fazer alternância circular, NUNCA haverá mais de uma instrução por
THREAD no pipeline a qualquer momento, portanto, Não pode
ocorrer nenhum conflito.
• Dessa forma a CPU executa em velocidade total e não fica OCIOSA
• MULTITHREADING DE GRANULAÇÃO GROSSA:
• Nem sempre há tantos threads disponíveis quantos são os estágios
do pipeline
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 17
• Se perde um ciclo sempre que uma instrução protela
• Troca threads quando há protelação ou
• Trocar threads de imediato em qualquer instrução que poderia
acarretar uma protelação, antes mesmo de descobrir se ela de fato
causaria isso.
• É potencialmente menos eficiente do que o de granulação fina
• Vantagem: precisa de um número menor de threads para manter a
CPU ocupada
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 18
• Monitorar qual operação pertence a qual thread
• MULTITHREADING DE GRANULAÇÃO FINA: anexar um identificador
de thread a cada operação, para que sua identidade fique clara ao
percorrer o pipeline
• MULTITHREADING DE GRANULAÇÃO GROSSA: ao trocar de
threads, limpar o pipeline e só então iniciar o próximo thread
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 19
• Considere, a partir de agora, que a CPU pode emitir múltiplas
instruções por ciclo de clock
• Manter a regra: quando uma instrução protela, as subsequentes não
podem ser emitidas
• MULTITHREADING DE GRANULAÇÃO FINA PARA UMA CPU
SUPERESCALAR DUAL:
• Emite duas instruções por ciclo de clock
• Para o Thread A, as duas primeiras instruções podem ser emitidas
no 1.º ciclo
• Para o Thread B, há um problema no próximo ciclo, então somente
uma instrução será emitida
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 20
• MULTITHREADING DE GRANULAÇÃO GROSSA PARA UMA CPU
SUPERESCALAR DUAL:
• Os threads são executados um por vez
• A CPU emite duas instruções por thread até atingir um que protela
• Nesse ponto, troca para o próximo thread no início do ciclo seguinte
• MULTITHREADING SIMULTANEO:
• Refinamento do multithreading de granulação grossa
• Um único thread tem permissão de emitir duas instruções por ciclo
pelo tempo que puder
• Quando protelar, as instruções são tomadas imediatamente do
próximo thread na sequencia
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 21
• MULTITHREADING SIMULTANEO:
• Mantém a CPU ocupada por completo
• Ajuda a manter ocupadas todas as unidades funcionais
• Uma instrução de um thread diferente pode ser escolhida para ser
executada, caso uma instrução de outra thread não possa ser
iniciada porque a unidade funcional de que ela precisa está
ocupada
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 22
• Duas ou mais CPUs em um único CHIP
• Compartilham a mesma cache L2
• Compartilham memória principal
• Área de aplicação típica:
• Servidores web:
• Compartilham memória principal, memória cache,
memória permanente, interfaces de rede, etc.
• Isto dobra o desempenho sem dobrar o custo
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 23
• 1.ª forma de implementação:
• Uma CPU um único chip, mas com dois pipelines
• Dobra a taxa de execução de instruções
• Recursos (unidades funcionais) podem ser compartilhados
entre os processadores. Isso permite que uma CPU use
recursos que outra não esteja usando, entretanto, não
funciona bem para mais de 2 CPUs.
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 24
• 2.ª forma de implementação:
• Núcleos separados no mesmo CHIP
• Cada núcleo contém uma CPU completa
• NÚCLEO: é um grande circuito, controlado por E/S ou CACHE,
que pode ser colocado em um CHIP de forma modular.
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 25
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 26
• Área de aplicação: sistemas embutidos (televisores, DVDs,
filmadoras, consoles, smartphones, etc.)
• Exemplo: composição de um APARELHO DE TELEVISÃO
• Controle de servomecanismo (cabeçote)
• Correção de erros
• Decriptação e gerenciamento de direitos digitais
• Descompressão de vídeo
• Descompressão de áudio
• Codificação de saída (NTSC, PALM, SECAM)
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 27
• O trabalho realizado pelo aparelho de televisão exige os
seguintes cuidados:
• Restrições de tempo real
• Qualidade de serviço
• Energia
• Dissipação de calor
• Tamanho
• Peso
• Preço
• Etc.
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 28
• Multiprocessador heterogêneo:
• Contem múltiplos núcleos
• Cada núcleo especializado em uma tarefa particular
• As funções dos núcleos são todas diferentes
• Cada uma é projetada com cuidado para ser muito boa
no que faz pelo preço mais baixo possível
• Processadores dedicados em hardware: chips
multiprocessadores heterogêneos que contem múltiplos
núcleos projetos para aplicações audiovisuais
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 29
• O processador de controle de um multiprocessador
heterogêneo é uma CPU programável de uso geral
• À medida que os dispositivos (sistemas embutidos) adquirem
cada vez mais funcionalidades e recursos, a necessidade de
multiprocessadores heterogêneos só aumenta
• Chips como esses são grandes demais
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 30
• A maneira mais viável de projetar um multiprocessador como
este é:
• Usar núcleos que contenham subconjuntos grandes
• Colocar os núcleos e interconectá-los no chip conforme
necessidades
• Determinar no projeto:
• Qual núcleo de CPU usar para processador de controle
• Quais Processadores de uso especial acrescentar
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 31
• Atribuir mais carga ao software que executa no processador
de controle faz o sistema ficar mais lento, entretanto, o chip
fica menor e mais barato
• Ter mais processadores de uso especial para áudio e vídeo
ocupa uma área maior do chip, o que aumenta o custo, mas
melhora o desempenho, diminui taxa de clock, consume
menos energia e dissipa menos calor.
• 50% a 75% da área do chip é dedicado à memória, devido
às grandes quantidades de dados que precisam ser
processados
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 32
• Questões relevantes de projeto que tem implicações par ao
desempenho, consumo de energia e dissipação de calor do
chip:
• Quantos níveis de cache devem se usados?
• As caches devem ser unificadas ou divididas?
• Qual deverá ser o tamanho de cada uma?
• Qual deverá ser a rapidez?
• Um pouco da memória também deve ir par ao chip?
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 33
• Como todos os núcleos se comunicam uns com os outros?
• Sistemas pequenos: um único barramento
• Sistemas maiores:
• Múltiplos barramentos
• Anel que vai de um núcleo ao outro
• Etc.
• Exemplo de barramento usado em sistemas embutidos:
CoreConnect, AMBA, VCI, OCP-IP, etc.
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 34
• O computador ganha velocidade com a adição de um segundo
processador especializado: o coprocessador. Exemplos:
• Coprocessadores de E/S
• Coprocessadores gráficos
• Coprocessadores de ponto flutuante
• DMA (acesso direto a memória)
• A CPU dá ao coprocessador uma ou mais instruções e ordena que
ele as execute. Em alguns casos, o coprocessador é independente
e funciona por si só
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 35
• Coprocessadores podem ser:
• Gabinete separado (canais de E/S, por exemplo)
• Placa de expansão (processadores de rede, por exemplo)
• Área no chip principal
• O coprocessador ajuda o processador principal
• Três áreas: processamento de rede, multimídia e criptografia
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 36
• Coprocessadores podem ser:
• Gabinete separado (canais de E/S, por exemplo)
• Placa de expansão (processadores de rede, por exemplo)
• Área no chip principal
• O coprocessador ajuda o processador principal
• Três áreas: processamento de rede, multimídia e criptografia
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 37
• Dificuldade em processar os dados que trafegam pela rede em
software
• Computadores de alta tecnologia contém um processador de rede
• Curiosidade:
• Velocidade das LANs atuais: 40 gigabits/segundo com pacotes
de 1 KB
• Computador em rede: processa 5 milhões de pacotes/segundo
• Qual a solução para o processamento dessa enorme quantidade
de pacotes?
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 38
• Primeira opção:
• ASIC:
• Application specific integrated circuit
• Circuito integrado específico da aplicação
• Hardware para processamento rápido de pacotes
• Executa qualquer conjunto de funções de processamento
para o qual foi projetado
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 39
• ASIC:
• Desvantagens:
• Projeto demorado
• Fabricação demorada
• É preciso projetar e fabricar um novo chip se houver
uma nova funcionalidade
• Gerenciamento de bugs é péssimo
• São caros
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 40
• Segunda opção:
• FPGA
• Field programmable gate array
• Arranjo de portas programável em campo
• Um conjunto de portas que pode ser organizado
conforme o circuito desejado modificando sua fiação
em campo
• Projeto e fabricação rápidos
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 41
• Segunda opção:
• FPGA
• Desvantagem:
• Complexos
• Lentos
• Caros
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 42
• Terceira opção:
• Processadores de rede
• Dispositivos programáveis que podem manipular pacotes que chegam
e que saem à velocidade dos fios (em tempo real)
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 43
• Terceira opção:
• Processadores de rede
• Milhões de pacotes por segundo por linha de rede
podem ser processados
• Um roteador pode ter várias linhas de rede
• Processadores de redes devem ter alto grau de
paralelismo
• PPEs:
• protocol-programmable-packet processor engines
• Dispositivos de processamento de protocolo-
programáveis-pacotes
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 44
• Terceira opção:
• PPEs:
• Um processador de rede tem vários PPEs
• É um núcleo RISC com memória interna para o programa e
algumas variáveis
• Todos os processadores de rede contém também um processador
de controle (processador RISC padronizada de uso geral)
• Todos os componentes do processador de rede se comunicam por
um ou mais barramentos paralelos no chip
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 45
• Tratamento de processamento gráfico de alta resolução. Exemplo:
renderização 3D.
• GPUs:
• Graphics processing units
• Unidades de processamento gráfico
• CUDA:
• Compute unified Device Architecture
• Arquitetura de elemento unificado de computação
• Cálculos com inteiros e ponto flutuante com precisão simples
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 46
• SMs
• Streaming multiprocessor
• Multiprocessadores streaming
• Cada SMs tem uma quantidade de CUDA
• GPGPUs
• General purpose graphics processing units
• Unidades de processamento gráfico de uso geral
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 47
• Área de segurança e segurança de redes
• Criptografia faz uso intensivo de computação
• Dois tipos de criptografia:
• Chave simétrica: baseada em mistura completa de bits
(bater tudo em um liquidificador)
• Chave pública: baseada em multiplicação e
exponenciação de grandes números. Consome enorme
quantidade de tempo.
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 48
• Coprocessadores criptográficos
• Placas de expansão para barramento PCI
• Tem um hardware especial que habilita a execução da
criptografia necessária muito mais rápido do que uma CPU
comum.
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 49
• É um computador paralelo no qual todas as CPUs compartilham
uma memória comum
• Todos os processos que funcinam juntos em um multiprocessador
podem compartilhar um único espaço de endereço virtual
mapeado para a memória comum
• Qualquer processo pode ler ou escrever uma palavra da
memória apenas executando uma instrução LOAD ou STORE
• Vantagem: capacidade de dois ou mais processos se
comunicarem apenas lendo e escrevendo na memória
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 50
• Duas formas de acesso à E/S
• 1.ª: Somente certas CPUs tem acesso ao dispositivos e tem
uma função especial de E/S
• 2.ª: Cada CPU tem igual acesso a todo dispositivo de E/S.
• SMP – symmetric multiprocessor – multiprocessador
simétrico: quando cada CPU tem igual acesso a todos os
módulos de memória e a todos os dispositivos de E/S e é
tratada pelo sistema operacional como intercambiável com
as outras.
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 51
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 52
• Uma das distinções entre multiprocessadores e
multicomputadores é o sistema operacional.
• Em multiprocessadores há apenas uma única cópia do S.O.
• Em multicomputadores, cada computador tem sua própria
cópia do S.O.
• Multicomputador: Toda CPU tem sua memória privada,
acessível somente a ela mesma e a nenhuma outra
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 53
• Também pode ser chamado de memória distribuída
• A CPU de um multicomputador tem sua própria memória local
privada, a qual pode acessar apenas executando instruções
LOAD e STORE.
• Nenhuma outra CPU pode acessar instruções LOAD e STORE
• Multicomputadores tem um espaço de endereço físico para cada
CPU
• Multiprocessadores tem um único espaço de endereço físico
compartilhado por todas as CPUs
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 54
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 55
• Multicomputadores não podem se comunicar lendo e
escrevendo na memória comum
• Solução: as CPUS passam mensagens uma para outro usando
a rede de interconexão
• Exemplos: IBM BlueGene/L, Red Storm e Cluster Google
• A comunicação entre processos costuma usar primitiva de
software como SEND e RECEIVE
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 56
• Em um multicomputador as CPUs precisam descobrir qual
CPU tem os dados de que precisa e enviar a essa CPU uma
mensagem requisitando uma cópia dos dados
• Assim, a CPU bloqueia até que a requisição seja atendida.
• Programar multicomputadores é mais difícil do que
programar um multiprocessador (baixo nível)
• Entretanto, é mais barato e simples construir GRANDES
multicomputadores do que multiprocessadores
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 57
• Atualmente são utilizados sistemas híbridos
• Chave do sucesso: construir projetos que continuem a
funcionar bem à medida que mais e mais CPUs sejam
adicionadas
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 58
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 59
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 60
• Categorização em fluxos de instruções e fluxos de dados
• Fluxo de instruções: corresponde a um contador de programa.
Um sistema com N CPUs tem N contadores de programa,
portanto, n fluxos de instruções
• Fluxo de dados: conjunto de operandos.
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 61
• SISD: Single instruction stream, single data stream. Fluxo de
instrução único, fluxo de dados único. Um fluxo de instruções, um
fluxo de dados e faz uma coisa por vez
• SIMD: Single Instruction Multiple Data. Uma única instrução
manipula vários dados. Tem uma única UC que emite uma
instrução por vez, mas tem múltiplas ULAs para executar as
instruções em vários conjuntos de dados simultameamente
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 62
• MISD: Multiple Instruction Single Data. Multiplas instruções com
dados únicos. Múltiplas instruções operando no mesmo conjunto
de dado
• MIMD: Multiple Instructions Multiple Data. Multiplas instruções
manipulando múltiplos dados diferentes. Múltiplas CPUs
independentes operando como parte de um sistema maior.
Multiprocessadores e multicomputadores são máquinas MIMD
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 63
• UMA:
• uniform memory aaccess
• acesso uniforme à memória
• CARACTERISTICA: A memória é subdividida em vários
módulos. Cada CPU tem o mesmo tempo de acesso a todos
a todos os módulos de memória.
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 64
• COMA: cache only memory access – acesso somente à memória
cache
• NUMA: nonuniform memory access – acesso não uniforme à
memória
• CARACTERISTICA DE AMBAS: é mais rápido acessar os módulos
de memória que esTão próximos a cada CPU do que os mais
distantes
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 65
• MPPs:
• massively parallel processors
• Processadores de paralelismo maçico
• São supercomputadores caros que consistem em muitas
CPUs fortemente acopladas por uma rede de interconexão
proprietária de alta velocidade
• Exemplo: IBM SP/3
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 66
• COWs
• Cluster of workstations
• Grupo de estações de trabalho
• Consistem em PCs ou estações de trabalhos comuns,
montados em estantes e conectados por tecnologia de
interconexão comercial
13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 67

Mais conteúdo relacionado

Mais procurados

De Olho no Enem - Física - Prof. Luiz Odizo
De Olho no Enem - Física - Prof. Luiz OdizoDe Olho no Enem - Física - Prof. Luiz Odizo
De Olho no Enem - Física - Prof. Luiz OdizoTodos Pela Escola
 
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresArquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresCleber Fonseca
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitosMauro Pereira
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamentocamila_seixas
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaSuzana Viana Mota
 
Relacionamento interpessoal e trabalho em equipe - Aula 2
Relacionamento interpessoal e trabalho em equipe - Aula 2Relacionamento interpessoal e trabalho em equipe - Aula 2
Relacionamento interpessoal e trabalho em equipe - Aula 2Professor Cristiano Barreto
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...Felipe Nascimento
 
Importância da comunicação
Importância da comunicaçãoImportância da comunicação
Importância da comunicaçãoOmar Demetrio
 
Qualidade no Trabalho: atendiemento, ética e motivação
Qualidade no Trabalho: atendiemento, ética e motivaçãoQualidade no Trabalho: atendiemento, ética e motivação
Qualidade no Trabalho: atendiemento, ética e motivaçãoWandick Rocha de Aquino
 
Dinamica de grupo ii
Dinamica de grupo  iiDinamica de grupo  ii
Dinamica de grupo iiSilvana
 
Introdução ao estudo de Arquitetura de Computadores - (baseado em Stallings, ...
Introdução ao estudo de Arquitetura de Computadores - (baseado em Stallings, ...Introdução ao estudo de Arquitetura de Computadores - (baseado em Stallings, ...
Introdução ao estudo de Arquitetura de Computadores - (baseado em Stallings, ...Isabel Mendes Pedrosa
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processosTalles Nascimento Rodrigues
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programaçãoElaine Cecília Gatto
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacionalMichael Soto
 
Aula 07 8 periféricos de um
Aula 07  8 periféricos de umAula 07  8 periféricos de um
Aula 07 8 periféricos de umMarcos Basilio
 

Mais procurados (20)

De Olho no Enem - Física - Prof. Luiz Odizo
De Olho no Enem - Física - Prof. Luiz OdizoDe Olho no Enem - Física - Prof. Luiz Odizo
De Olho no Enem - Física - Prof. Luiz Odizo
 
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadoresArquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
Arquiteturas Paralelas e Distribuídas - Aula 2 - Arquiteturas de computadores
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitos
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamento
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
 
Relacionamento interpessoal e trabalho em equipe - Aula 2
Relacionamento interpessoal e trabalho em equipe - Aula 2Relacionamento interpessoal e trabalho em equipe - Aula 2
Relacionamento interpessoal e trabalho em equipe - Aula 2
 
Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
TCC - Utilização de Metodologias Ágeis para Adaptação de um Processo de Desen...
 
Importância da comunicação
Importância da comunicaçãoImportância da comunicação
Importância da comunicação
 
Barreiras à comunicacao
Barreiras à comunicacaoBarreiras à comunicacao
Barreiras à comunicacao
 
Qualidade no Trabalho: atendiemento, ética e motivação
Qualidade no Trabalho: atendiemento, ética e motivaçãoQualidade no Trabalho: atendiemento, ética e motivação
Qualidade no Trabalho: atendiemento, ética e motivação
 
Dinamica de grupo ii
Dinamica de grupo  iiDinamica de grupo  ii
Dinamica de grupo ii
 
Introdução ao estudo de Arquitetura de Computadores - (baseado em Stallings, ...
Introdução ao estudo de Arquitetura de Computadores - (baseado em Stallings, ...Introdução ao estudo de Arquitetura de Computadores - (baseado em Stallings, ...
Introdução ao estudo de Arquitetura de Computadores - (baseado em Stallings, ...
 
Processador intel 4040
Processador intel 4040Processador intel 4040
Processador intel 4040
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processos
 
Aula 1 aed - lógica de programação
Aula 1   aed - lógica de programaçãoAula 1   aed - lógica de programação
Aula 1 aed - lógica de programação
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Processadores intel 8008 e 8080
Processadores intel 8008 e 8080Processadores intel 8008 e 8080
Processadores intel 8008 e 8080
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
Aula 07 8 periféricos de um
Aula 07  8 periféricos de umAula 07  8 periféricos de um
Aula 07 8 periféricos de um
 

Semelhante a Arquiteturas de computadores: Paralelismo

Arquiteturas de Computadores Paralelos
Arquiteturas de Computadores ParalelosArquiteturas de Computadores Paralelos
Arquiteturas de Computadores ParalelosElaine Cecília Gatto
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no WindowsFee Kosta
 
Arquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline
Arquiteturas Paralelas e Distribuídas - Aula 3 - PipelineArquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline
Arquiteturas Paralelas e Distribuídas - Aula 3 - PipelineCleber Fonseca
 
Sistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaSistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaAdriano Teixeira de Souza
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoAdriano Teixeira de Souza
 
Tendências Tecnológicas em Processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em Processadores, por Luiz Carlos OrsoniTendências Tecnológicas em Processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em Processadores, por Luiz Carlos OrsoniJoao Galdino Mello de Souza
 
Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfHurgelNeto
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core DuoSamuel Bié
 
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfAula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfMatheusNS1
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreadingBianca Dantas
 
Material Auxiliar Para Curso BáSico Msp430 1 A 54
Material Auxiliar Para Curso BáSico Msp430   1 A 54Material Auxiliar Para Curso BáSico Msp430   1 A 54
Material Auxiliar Para Curso BáSico Msp430 1 A 54Texas Instruments
 

Semelhante a Arquiteturas de computadores: Paralelismo (20)

Arquiteturas de Computadores Paralelos
Arquiteturas de Computadores ParalelosArquiteturas de Computadores Paralelos
Arquiteturas de Computadores Paralelos
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
F oc aula_04
F oc aula_04F oc aula_04
F oc aula_04
 
Arquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline
Arquiteturas Paralelas e Distribuídas - Aula 3 - PipelineArquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline
Arquiteturas Paralelas e Distribuídas - Aula 3 - Pipeline
 
Pipeline 2
Pipeline 2Pipeline 2
Pipeline 2
 
Sistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaSistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação Paralela
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - Introdução
 
Arquitetura 8 2
Arquitetura 8 2Arquitetura 8 2
Arquitetura 8 2
 
Thread Java
Thread JavaThread Java
Thread Java
 
Superescalaridade
SuperescalaridadeSuperescalaridade
Superescalaridade
 
Tendências Tecnológicas em Processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em Processadores, por Luiz Carlos OrsoniTendências Tecnológicas em Processadores, por Luiz Carlos Orsoni
Tendências Tecnológicas em Processadores, por Luiz Carlos Orsoni
 
Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdf
 
04_Barramentos.pdf
04_Barramentos.pdf04_Barramentos.pdf
04_Barramentos.pdf
 
Microarquitetura Intel Core Duo
Microarquitetura Intel Core DuoMicroarquitetura Intel Core Duo
Microarquitetura Intel Core Duo
 
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfAula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
 
Sistemas operacionais 04
Sistemas operacionais   04Sistemas operacionais   04
Sistemas operacionais 04
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreading
 
Material Auxiliar Para Curso BáSico Msp430 1 A 54
Material Auxiliar Para Curso BáSico Msp430   1 A 54Material Auxiliar Para Curso BáSico Msp430   1 A 54
Material Auxiliar Para Curso BáSico Msp430 1 A 54
 
Barramentos
BarramentosBarramentos
Barramentos
 

Mais de Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 

Último (20)

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 

Arquiteturas de computadores: Paralelismo

  • 1. Engenharia de Computação 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 1
  • 2. • Computadores cada vez mais rápidos • Demandas crescentes • Os Cientistas, os Engenheiros e a Indústria querem usar os computadores para projetar e testar todas as suas teorias e protótipos. • Exemplo: projetar medicamentos para doenças específicas sem ter de sacrificar animais 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 2
  • 3. • A velocidade dos atuais circuitos não podem aumentar indefinidamente • A velocidade do clock tem aumentado gradativamente • Dissipação de calor é um grande problema • Tamanho dos transistores continua a diminuir: cada TRANSISTOR terá um número tão pequeno de ÁTOMOS dentro dele que os efeitos da mecânica quântica podem se tornar um grande problema 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 3
  • 4. • Computadores paralelos são uma solução temporária para as necessidades atuais da sociedade • Uma máquina + uma CPU + tempo de 0,001ns  impossível • Várias máquinas + 1000 CPUs + tempo de 1ns cada  possível • O paralelismo existe em vários níveis 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 4
  • 5. • Nível mais baixo: CPU, pipeline, CPUs superescalares, palavras de instruções muito longas, múltiplos threads de controle ao mesmo tempo, CPUs reunidas em um mesmo CHIP, etc. Desempenho 10x maior • Nível seguinte: placas extras de CPU com funções especificas. Desempenho de 5 a 10x maior. • Independente do fato de desempenho aumentar, CPUs devem ser replicadas INTEIRAS e devem funcionar juntas com eficiência 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 5
  • 6. • Clusterização, multicomputadores, multiprocessadores, grids, nuvem • PROCESSAMENTO FORTEMENTE ACOPLADO: quando duas CPUs ou dois elementos de processamento estão perto um do outro, têm alta largura de banda, o atraso é baixo e são próximos computacionalmente • PROCESSAMENTO FRACAMENTE ACOPLADO: quando estão longe um do outro, têm baixa largura de banda, alto atraso, são remotos computacionalmente 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 6
  • 7. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 7
  • 8. • Objetivo: Fazer mais coisas ao mesmo tempo • Emissão de múltiplas instruções por ciclo de clock • Dois tipos: • Processadores superescalares • Processadores VLIW 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 8
  • 9. • CPUs Superescalares são capazes de emitir múltiplas instruções para as unidades de execução em um único ciclo de clock • De duas a seis instruções podem ser emitidas de uma única vez • O número máximo é determinado pelo hardware • Se uma instrução precisar de uma unidade funcional ou resultado que não está disponível, ela não será emitida 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 9
  • 10. • Very Long Instruction Word – palavra de instrução muito longa • Instruções que usavam múltiplas unidades funcionais • Exemplificando: • Considere uma máquina que tenha 5 unidades funcionais, efetua simultaneamente 2 operações com inteiros, 1 operação em ponto flutuante, 1 carregamento e 1 armazenamento. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 10
  • 11. • Uma instrução VLIW para essa máquina conteria 5 opcodes e 5 pares de operandos, sendo 1 opcode e 1 par de operandos por unidade funcional • Supondo 6 bits por OPCODE, 5 bits por REGISTRADOR, 32 bits por endereço de memória, as instruções teriam 134 bits. • Isso significa uma palavra longa: tamanho de bits de uma instrução muito grande 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 11
  • 12. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 12
  • 13. • DESVANTAGEM: nem toda instrução podia utilizar todas as unidades funcionais, o que resultava em muitas NO-OP • Transfere do tempo de execução para o tempo de compilação o trabalho de determinar quais instruções podem ser emitidas em conjunto • Simplifica o hardware e o torna mais rápido • Paralelismo no nível da memória: há múltiplas operações de memória no ar ao mesmo tempo 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 13
  • 14. • Problema INERENTE no PIPELINE das CPUs modernas: • Quando uma referência à memória encontra uma ausência das caches de nível 1 e nível 2, há uma longa espera até que a palavra requisitada, e sua linha de cache associada, sejam carregadas na cache, portanto, o pipeline para. • MULTITHREADING NO CHIP: • Solução para o problema descrito acima • Permite que a CPU gerencie múltiplos threads de controle ao mesmo tempo • Se o thread 1 estiver bloqueado, a CPU ainda tem chance de executar o thread 2, de modo a manter a CPU sempre ocupada 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 14
  • 15. • Multithreading de granulação fina: • Mascara as protelações executando os threads segundo uma política de alternância circular, com um thread diferente em ciclos consecutivos • Se uma protelação de memória demorasse quatro ciclos, precisaríamos de quatro threads para garantir a operação contínua e assim por diante 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 15
  • 16. • Cada thread precisa do seu próprio conjunto de registradores • O número máximo de threads que podem ser executados de uma só vez é fixado no projeto do chip • RAZÃO PARA PROTELAÇÃO • Operações de memória. • Uma instrução pode precisar de um resultado calculado por outra instrução que ainda não foi concluída. • Uma instrução não pode iniciar porque ela vem após um desvio condicional cuja direção ainda não é conhecida 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 16
  • 17. • Se o pipeline tiver K estágio, mas houver no mínimo K threads para fazer alternância circular, NUNCA haverá mais de uma instrução por THREAD no pipeline a qualquer momento, portanto, Não pode ocorrer nenhum conflito. • Dessa forma a CPU executa em velocidade total e não fica OCIOSA • MULTITHREADING DE GRANULAÇÃO GROSSA: • Nem sempre há tantos threads disponíveis quantos são os estágios do pipeline 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 17
  • 18. • Se perde um ciclo sempre que uma instrução protela • Troca threads quando há protelação ou • Trocar threads de imediato em qualquer instrução que poderia acarretar uma protelação, antes mesmo de descobrir se ela de fato causaria isso. • É potencialmente menos eficiente do que o de granulação fina • Vantagem: precisa de um número menor de threads para manter a CPU ocupada 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 18
  • 19. • Monitorar qual operação pertence a qual thread • MULTITHREADING DE GRANULAÇÃO FINA: anexar um identificador de thread a cada operação, para que sua identidade fique clara ao percorrer o pipeline • MULTITHREADING DE GRANULAÇÃO GROSSA: ao trocar de threads, limpar o pipeline e só então iniciar o próximo thread 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 19
  • 20. • Considere, a partir de agora, que a CPU pode emitir múltiplas instruções por ciclo de clock • Manter a regra: quando uma instrução protela, as subsequentes não podem ser emitidas • MULTITHREADING DE GRANULAÇÃO FINA PARA UMA CPU SUPERESCALAR DUAL: • Emite duas instruções por ciclo de clock • Para o Thread A, as duas primeiras instruções podem ser emitidas no 1.º ciclo • Para o Thread B, há um problema no próximo ciclo, então somente uma instrução será emitida 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 20
  • 21. • MULTITHREADING DE GRANULAÇÃO GROSSA PARA UMA CPU SUPERESCALAR DUAL: • Os threads são executados um por vez • A CPU emite duas instruções por thread até atingir um que protela • Nesse ponto, troca para o próximo thread no início do ciclo seguinte • MULTITHREADING SIMULTANEO: • Refinamento do multithreading de granulação grossa • Um único thread tem permissão de emitir duas instruções por ciclo pelo tempo que puder • Quando protelar, as instruções são tomadas imediatamente do próximo thread na sequencia 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 21
  • 22. • MULTITHREADING SIMULTANEO: • Mantém a CPU ocupada por completo • Ajuda a manter ocupadas todas as unidades funcionais • Uma instrução de um thread diferente pode ser escolhida para ser executada, caso uma instrução de outra thread não possa ser iniciada porque a unidade funcional de que ela precisa está ocupada 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 22
  • 23. • Duas ou mais CPUs em um único CHIP • Compartilham a mesma cache L2 • Compartilham memória principal • Área de aplicação típica: • Servidores web: • Compartilham memória principal, memória cache, memória permanente, interfaces de rede, etc. • Isto dobra o desempenho sem dobrar o custo 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 23
  • 24. • 1.ª forma de implementação: • Uma CPU um único chip, mas com dois pipelines • Dobra a taxa de execução de instruções • Recursos (unidades funcionais) podem ser compartilhados entre os processadores. Isso permite que uma CPU use recursos que outra não esteja usando, entretanto, não funciona bem para mais de 2 CPUs. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 24
  • 25. • 2.ª forma de implementação: • Núcleos separados no mesmo CHIP • Cada núcleo contém uma CPU completa • NÚCLEO: é um grande circuito, controlado por E/S ou CACHE, que pode ser colocado em um CHIP de forma modular. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 25
  • 26. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 26
  • 27. • Área de aplicação: sistemas embutidos (televisores, DVDs, filmadoras, consoles, smartphones, etc.) • Exemplo: composição de um APARELHO DE TELEVISÃO • Controle de servomecanismo (cabeçote) • Correção de erros • Decriptação e gerenciamento de direitos digitais • Descompressão de vídeo • Descompressão de áudio • Codificação de saída (NTSC, PALM, SECAM) 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 27
  • 28. • O trabalho realizado pelo aparelho de televisão exige os seguintes cuidados: • Restrições de tempo real • Qualidade de serviço • Energia • Dissipação de calor • Tamanho • Peso • Preço • Etc. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 28
  • 29. • Multiprocessador heterogêneo: • Contem múltiplos núcleos • Cada núcleo especializado em uma tarefa particular • As funções dos núcleos são todas diferentes • Cada uma é projetada com cuidado para ser muito boa no que faz pelo preço mais baixo possível • Processadores dedicados em hardware: chips multiprocessadores heterogêneos que contem múltiplos núcleos projetos para aplicações audiovisuais 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 29
  • 30. • O processador de controle de um multiprocessador heterogêneo é uma CPU programável de uso geral • À medida que os dispositivos (sistemas embutidos) adquirem cada vez mais funcionalidades e recursos, a necessidade de multiprocessadores heterogêneos só aumenta • Chips como esses são grandes demais 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 30
  • 31. • A maneira mais viável de projetar um multiprocessador como este é: • Usar núcleos que contenham subconjuntos grandes • Colocar os núcleos e interconectá-los no chip conforme necessidades • Determinar no projeto: • Qual núcleo de CPU usar para processador de controle • Quais Processadores de uso especial acrescentar 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 31
  • 32. • Atribuir mais carga ao software que executa no processador de controle faz o sistema ficar mais lento, entretanto, o chip fica menor e mais barato • Ter mais processadores de uso especial para áudio e vídeo ocupa uma área maior do chip, o que aumenta o custo, mas melhora o desempenho, diminui taxa de clock, consume menos energia e dissipa menos calor. • 50% a 75% da área do chip é dedicado à memória, devido às grandes quantidades de dados que precisam ser processados 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 32
  • 33. • Questões relevantes de projeto que tem implicações par ao desempenho, consumo de energia e dissipação de calor do chip: • Quantos níveis de cache devem se usados? • As caches devem ser unificadas ou divididas? • Qual deverá ser o tamanho de cada uma? • Qual deverá ser a rapidez? • Um pouco da memória também deve ir par ao chip? 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 33
  • 34. • Como todos os núcleos se comunicam uns com os outros? • Sistemas pequenos: um único barramento • Sistemas maiores: • Múltiplos barramentos • Anel que vai de um núcleo ao outro • Etc. • Exemplo de barramento usado em sistemas embutidos: CoreConnect, AMBA, VCI, OCP-IP, etc. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 34
  • 35. • O computador ganha velocidade com a adição de um segundo processador especializado: o coprocessador. Exemplos: • Coprocessadores de E/S • Coprocessadores gráficos • Coprocessadores de ponto flutuante • DMA (acesso direto a memória) • A CPU dá ao coprocessador uma ou mais instruções e ordena que ele as execute. Em alguns casos, o coprocessador é independente e funciona por si só 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 35
  • 36. • Coprocessadores podem ser: • Gabinete separado (canais de E/S, por exemplo) • Placa de expansão (processadores de rede, por exemplo) • Área no chip principal • O coprocessador ajuda o processador principal • Três áreas: processamento de rede, multimídia e criptografia 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 36
  • 37. • Coprocessadores podem ser: • Gabinete separado (canais de E/S, por exemplo) • Placa de expansão (processadores de rede, por exemplo) • Área no chip principal • O coprocessador ajuda o processador principal • Três áreas: processamento de rede, multimídia e criptografia 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 37
  • 38. • Dificuldade em processar os dados que trafegam pela rede em software • Computadores de alta tecnologia contém um processador de rede • Curiosidade: • Velocidade das LANs atuais: 40 gigabits/segundo com pacotes de 1 KB • Computador em rede: processa 5 milhões de pacotes/segundo • Qual a solução para o processamento dessa enorme quantidade de pacotes? 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 38
  • 39. • Primeira opção: • ASIC: • Application specific integrated circuit • Circuito integrado específico da aplicação • Hardware para processamento rápido de pacotes • Executa qualquer conjunto de funções de processamento para o qual foi projetado 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 39
  • 40. • ASIC: • Desvantagens: • Projeto demorado • Fabricação demorada • É preciso projetar e fabricar um novo chip se houver uma nova funcionalidade • Gerenciamento de bugs é péssimo • São caros 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 40
  • 41. • Segunda opção: • FPGA • Field programmable gate array • Arranjo de portas programável em campo • Um conjunto de portas que pode ser organizado conforme o circuito desejado modificando sua fiação em campo • Projeto e fabricação rápidos 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 41
  • 42. • Segunda opção: • FPGA • Desvantagem: • Complexos • Lentos • Caros 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 42
  • 43. • Terceira opção: • Processadores de rede • Dispositivos programáveis que podem manipular pacotes que chegam e que saem à velocidade dos fios (em tempo real) 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 43
  • 44. • Terceira opção: • Processadores de rede • Milhões de pacotes por segundo por linha de rede podem ser processados • Um roteador pode ter várias linhas de rede • Processadores de redes devem ter alto grau de paralelismo • PPEs: • protocol-programmable-packet processor engines • Dispositivos de processamento de protocolo- programáveis-pacotes 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 44
  • 45. • Terceira opção: • PPEs: • Um processador de rede tem vários PPEs • É um núcleo RISC com memória interna para o programa e algumas variáveis • Todos os processadores de rede contém também um processador de controle (processador RISC padronizada de uso geral) • Todos os componentes do processador de rede se comunicam por um ou mais barramentos paralelos no chip 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 45
  • 46. • Tratamento de processamento gráfico de alta resolução. Exemplo: renderização 3D. • GPUs: • Graphics processing units • Unidades de processamento gráfico • CUDA: • Compute unified Device Architecture • Arquitetura de elemento unificado de computação • Cálculos com inteiros e ponto flutuante com precisão simples 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 46
  • 47. • SMs • Streaming multiprocessor • Multiprocessadores streaming • Cada SMs tem uma quantidade de CUDA • GPGPUs • General purpose graphics processing units • Unidades de processamento gráfico de uso geral 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 47
  • 48. • Área de segurança e segurança de redes • Criptografia faz uso intensivo de computação • Dois tipos de criptografia: • Chave simétrica: baseada em mistura completa de bits (bater tudo em um liquidificador) • Chave pública: baseada em multiplicação e exponenciação de grandes números. Consome enorme quantidade de tempo. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 48
  • 49. • Coprocessadores criptográficos • Placas de expansão para barramento PCI • Tem um hardware especial que habilita a execução da criptografia necessária muito mais rápido do que uma CPU comum. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 49
  • 50. • É um computador paralelo no qual todas as CPUs compartilham uma memória comum • Todos os processos que funcinam juntos em um multiprocessador podem compartilhar um único espaço de endereço virtual mapeado para a memória comum • Qualquer processo pode ler ou escrever uma palavra da memória apenas executando uma instrução LOAD ou STORE • Vantagem: capacidade de dois ou mais processos se comunicarem apenas lendo e escrevendo na memória 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 50
  • 51. • Duas formas de acesso à E/S • 1.ª: Somente certas CPUs tem acesso ao dispositivos e tem uma função especial de E/S • 2.ª: Cada CPU tem igual acesso a todo dispositivo de E/S. • SMP – symmetric multiprocessor – multiprocessador simétrico: quando cada CPU tem igual acesso a todos os módulos de memória e a todos os dispositivos de E/S e é tratada pelo sistema operacional como intercambiável com as outras. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 51
  • 52. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 52
  • 53. • Uma das distinções entre multiprocessadores e multicomputadores é o sistema operacional. • Em multiprocessadores há apenas uma única cópia do S.O. • Em multicomputadores, cada computador tem sua própria cópia do S.O. • Multicomputador: Toda CPU tem sua memória privada, acessível somente a ela mesma e a nenhuma outra 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 53
  • 54. • Também pode ser chamado de memória distribuída • A CPU de um multicomputador tem sua própria memória local privada, a qual pode acessar apenas executando instruções LOAD e STORE. • Nenhuma outra CPU pode acessar instruções LOAD e STORE • Multicomputadores tem um espaço de endereço físico para cada CPU • Multiprocessadores tem um único espaço de endereço físico compartilhado por todas as CPUs 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 54
  • 55. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 55
  • 56. • Multicomputadores não podem se comunicar lendo e escrevendo na memória comum • Solução: as CPUS passam mensagens uma para outro usando a rede de interconexão • Exemplos: IBM BlueGene/L, Red Storm e Cluster Google • A comunicação entre processos costuma usar primitiva de software como SEND e RECEIVE 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 56
  • 57. • Em um multicomputador as CPUs precisam descobrir qual CPU tem os dados de que precisa e enviar a essa CPU uma mensagem requisitando uma cópia dos dados • Assim, a CPU bloqueia até que a requisição seja atendida. • Programar multicomputadores é mais difícil do que programar um multiprocessador (baixo nível) • Entretanto, é mais barato e simples construir GRANDES multicomputadores do que multiprocessadores 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 57
  • 58. • Atualmente são utilizados sistemas híbridos • Chave do sucesso: construir projetos que continuem a funcionar bem à medida que mais e mais CPUs sejam adicionadas 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 58
  • 59. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 59
  • 60. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 60
  • 61. • Categorização em fluxos de instruções e fluxos de dados • Fluxo de instruções: corresponde a um contador de programa. Um sistema com N CPUs tem N contadores de programa, portanto, n fluxos de instruções • Fluxo de dados: conjunto de operandos. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 61
  • 62. • SISD: Single instruction stream, single data stream. Fluxo de instrução único, fluxo de dados único. Um fluxo de instruções, um fluxo de dados e faz uma coisa por vez • SIMD: Single Instruction Multiple Data. Uma única instrução manipula vários dados. Tem uma única UC que emite uma instrução por vez, mas tem múltiplas ULAs para executar as instruções em vários conjuntos de dados simultameamente 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 62
  • 63. • MISD: Multiple Instruction Single Data. Multiplas instruções com dados únicos. Múltiplas instruções operando no mesmo conjunto de dado • MIMD: Multiple Instructions Multiple Data. Multiplas instruções manipulando múltiplos dados diferentes. Múltiplas CPUs independentes operando como parte de um sistema maior. Multiprocessadores e multicomputadores são máquinas MIMD 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 63
  • 64. • UMA: • uniform memory aaccess • acesso uniforme à memória • CARACTERISTICA: A memória é subdividida em vários módulos. Cada CPU tem o mesmo tempo de acesso a todos a todos os módulos de memória. 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 64
  • 65. • COMA: cache only memory access – acesso somente à memória cache • NUMA: nonuniform memory access – acesso não uniforme à memória • CARACTERISTICA DE AMBAS: é mais rápido acessar os módulos de memória que esTão próximos a cada CPU do que os mais distantes 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 65
  • 66. • MPPs: • massively parallel processors • Processadores de paralelismo maçico • São supercomputadores caros que consistem em muitas CPUs fortemente acopladas por uma rede de interconexão proprietária de alta velocidade • Exemplo: IBM SP/3 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 66
  • 67. • COWs • Cluster of workstations • Grupo de estações de trabalho • Consistem em PCs ou estações de trabalhos comuns, montados em estantes e conectados por tecnologia de interconexão comercial 13/04/2016 Prof.ª M.ª Eng.ª Elaine Cecília Gatto 67