Resumo das aulas anteriores

Tamanho: px
Começar a partir da página:

Download "Resumo das aulas anteriores"

Transcrição

1 Resumo p. 1 Resumo das aulas anteriores Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto

2 Resumo p. 2 Instruction Set Architecture Hardware controlado através de instruções Conjunto de instruções define arquitectura Interface entre hardware e software Exemplos: MIPS, SPARC, PA-RISC, ix86, Alpha Balanço delicado N o de instruções fornecidas Formato das instruções N o de ciclos de relógio por instrução Velocidade do ciclo de relógio 2 tipos de abordagens Complex Instruction Set Computer (CISC) Reduced Instruction Set Computer (RISC)

3 Resumo p. 3 MIPS Simplicidade e regularidade Todas as instruções possuem o mesmo tamanho (32 bits) Possui 32 registos disponíveis Instruções aritméticas exigem sempre 3 registos Só duas instruções acedem à memória (lw,sw) Todas as instruções são convertidas em 1 de 3 formatos Formato R, I ou J Mantendo posições dos campos dos registos

4 Resumo p. 4 Desenho do processador ISA tem enorme impacto no desenho do processador ularidade e simplicidade do MIPS facilita desenho Que componentes vamos precisar? Memória de instruções para armazenar o programa istos para armazenar valores ALU para operação artiméticas/lógicas Incrementador para avançar PC Memória de dados para armazenar estruturas de dados

5 Resumo p. 5 Desenho do processador Como executar uma instrução? Obter instrução de 32 bits apontada por PC Ler 1 ou 2 registos, usando campos das instruções sempre nas mesmas posições Próximos passos dependem da instrução em causa Mas em MIPS são muito semelhantes! Todas usam a ALU depois de lerem registos Aritméticas e lógicas por razões óbvias Acesso à memória para calcular endereço (base + deslocamento) Salto condicional para comparar valores dos registos

6 Resumo p. 6 Desenho do processador Depois de usar a ALU diferem um pouco lw lê conteúdo da memória no endereço calculado e escreve no registo destino sw escreve valor do registo no endereço calculado Aritméticas precisam escrever resultado no registo destino Salto condicional precisa determinar se salta ou não Nesse caso temos de conseguir Decidir quais os componentes a usar Controlar o funcionamento desses componentes Como? Usando sinais de controlo que dependem do tipo de instrução

7 Resumo p. 7 Sinais de controlo Controlar funcionamento dos componentes ALU pode realizar uma de várias instruções Instrução pode ler ou escrever na memória Instrução pode escrever no registo Seleccionar input (em conjunto com multiplexador) PC pode avançar para a próxima instrução ou saltar istos actualizados nas operações aritméticas/lógicas ou lw ALU recebe endereço ou registo como 2 o argumento isto destino diferente nos formatos R e I

8 Resumo p. 8 Arquitectura do processador 0 4 Add Add ALU result M u x 1 Instruction [31 26] Control Dst Branch MemRead Memto ALUOp MemWrite ALUSrc Write Shift left 2 PC Read address Instruction [25 21] Read register 1 Read Instruction [20 16] data 1 Read register 2 Zero Instruction 0 [31 0] ALU M Read ALU Write 0 data 2 result Instruction u Instruction [15 11] x register M memory u 1 x Write 1 data isters Address Write data Read data Data memory 1 M u x 0 Instruction [15 0] 16 Sign 32 extend ALU control Instruction [5 0]

9 Resumo p. 9 Melhorar performance com pipelining Objectivo Melhorar performance global sem diminuir tempo de execução da instrução Como conseguir? Dividir execução da instrução em fases Ciclo de relógio menor Tempo de execução de uma fase em vez de instrução completa Todas as instruções demoram mesmo número de ciclos Sobrepor processamento de várias instruções em fases distintas

10 Resumo p. 10 Divisão da instrução em fases Instruction Fetch instrução é transferida da memória Instruction Decode tipo e operandos são determinados Execute operação executada/endereço calculado Memory Access acesso a memória em lw/sw Write Back resultado escrito em registo Time add $s0, $t0, $t1 IF ID EX MEM WB

11 Resumo p. 11 Sobreposição de execução Program execution order (in instructions) Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC7 lw $1, 100($0) IM ALU DM lw $2, 200($0) IM ALU DM lw $3, 300($0) IM ALU DM

12 Resumo p. 12 Ciclo único vs Pipelining Program execution Time order (in instructions) lw $1, 100($0) lw $2, 200($0) lw $3, 300($0) Instruction fetch ALU 800 ps Data access Instruction fetch ALU 800 ps Data access Instruction fetch 800 ps Program execution Time order (in instructions) lw $1, 100($0) lw $2, 200($0) lw $3, 300($0) Instruction fetch 200 ps Instruction fetch 200 ps ALU Instruction fetch Data access ALU Data access ALU Data access 200 ps 200 ps 200 ps 200 ps 200 ps

13 Resumo p. 13 Implementação de pipelining No mesmo ciclo de relógio Instruções em fases distintas Partilham fluxo de informação Necessário armazenar informação intermédia Adicionar registos entre estágios do pipeline IF/ID informação da instrução que passa de IF para ID ID/EX informação da instrução que passa de ID para EX EX/MEM informação da instrução que passa de EX para MEM MEM/WB informação da instrução que passa de MEM para WB

14 Resumo p. 14 Arquitectura do processador com pipelining PCSrc ID/EX WB EX/MEM Control M WB MEM/WB IF/ID EX M WB Add 0 Mu x 1 PC 4 Address Instruction memory Instruction Read register 1 Read register 2 isters Write register Write data rite W Read data 1 Read data 2 Shift left 2 0 Mu x 1 Add Add result ALUSrc Zero ALU ALU result Branch Address MemWrite Data memory Read data Memto 0 Mu x 1 Write data Instruction [15 0] 16 Sign 32 6 extend ALU control MemRead Instruction [20 16] 0 Mu ALUOp Instruction [15 11] x 1 Dst

15 Resumo p. 15 Problemas em pipelining Objectivo manter pipeline cheio (IPC = 1) No entanto Dependências de dados entre instruções sequenciais Acesso à memória tem latência elevada (lw,sw) Instruções de salto alteram fluxo de execução Próxima instrução não pode executar no próximo ciclo de relógio Como optimizar funcionamento do pipeline? Melhorando compilador Adicionando hardware ao pipeline

16 Resumo p. 16 Dependências entre instruções Time (in clock cycles) Value of CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 register $2: / Program execution order (in instructions) sub $2, $1, $3 IM DM and $12, $2, $5 IM DM or $13, $6, $2 IM DM add $14, $2, $2 IM DM sw $15, 100($2) IM DM

17 Resumo p. 17 Forwarding - Propagação de valores Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Value of register $2: / Value of EX/MEM: X X X 20 X X X X X Value of MEM/WB: X X X X 20 X X X X Program execution order (in instructions) sub $2, $1, $3 IM DM and $12, $2, $5 IM DM or $13, $6, $2 IM DM add $14, $2, $2 IM DM sw $15, 100($2) IM DM

18 Resumo p. 18 Latência no acesso à memória Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Program execution order (in instructions) lw $2, 20($1) IM DM and $4, $2, $5 IM DM or $8, $2, $6 IM DM add $9, $4, $2 IM DM slt $1, $6, $7 IM DM

19 Resumo p. 19 Latência no acesso à memória Soluções Compilador Reordena instruções Instrução seguinte a lw não depende desta Hardware Detectar dependência em run time Inserir estados de espera no pipeline

20 Resumo p. 20 Estados de espera Program Time (in clock cycles) execution order (in instructions) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 CC 10 lw $2, 20($1) IM DM and $4, $2, $5 IM DM or $8, $2, $6 add $9, $4, $2 IM IM DM bubble IM DM slt $1, $6, $7 IM DM

21 Resumo p. 21 Instruções de salto Time (in clock cycles) CC 1 CC 2 CC 3 CC 4 CC 5 CC 6 CC 7 CC 8 CC 9 Program execution order (in instructions) 40 beq $1, $3, 28 IM DM 44 and $12, $2, $5 IM DM 48 or $13, $6, $2 IM DM 52 add $14, $2, $2 IM DM 72 lw $4, 50($7) IM DM

22 Resumo p. 22 Instruções de salto - Soluções Assumir que salto não é efectuado Execução sequencial Se salto for efectuado descartar instruções em IF, ID, EX Reduzir latência da decisão de salto Antecipar decisão para ID Exige alterações do hardware Branch delay slot Compilador reordena instruções Coloca instruções que não dependem do salto até ser conhecida decisão

23 Resumo p. 23 Instruções de salto - Soluções Branch predication Eliminar saltos condicionais com lógica de predicados Previsão dinâmica de saltos Prever resultado do salto baseado na sua história Execução especulativa Executar instruções sequencialmente com base na previsão do salto Exige detecção do resultado da previsão Método para descartar efeitos de instruções que não deviam ter sido executadas (má previsão)

24 Resumo p. 24 Como melhorar a performance? Equação de performance tempo CPU = número de instruções IPC * frequência relógio Alternativas Diminuir número de instruções do programa Aumentar frequência de relógio Aumentar número de instruções executadas por ciclo Explorando paralelismo ao nível das instruções

25 Resumo p. 25 Superpipelining Pipeline mais profunda e maior frequência interna dos estágios Exige maior velocidade da memória Aumentam problemas originados por Dependências entre instruções Latência no acesso à memória Instruções de salto Técnica limitada pela velocidade dos circuitos Necessidade de armazenar valores intermédios nos registos do pipeline Muito usado em unidades funcionais especializadas

26 Resumo p. 26 Arquitecturas multiple-issue Replicar componentes funcionais Executar instruções em paralelo no mesmo ciclo de relógio Recorrem à execução especulativa Exige bom previsor de saltos Má previsão perda de performance Duas abordagens para a distribuição das instruções Static multiple-issue Compilador Dynamic multiple-issue Hardware

27 Resumo p. 27 Dynamic multiple-issue Instruction Fetch and Issue Unit Obtém, descodifica e distribui instruções Processadores CISC actuais descodificam instruções complexas em conjunto de instruções simples Várias unidades funcionais Operandos armazenados em reservation station Execução fora de ordem Assim que todos os operandos são conhecidos Forwarding para unidades que esperam valores Envio de resultados para commit unit

28 Resumo p. 28 Dynamic multiple-issue Commit Unit ister renaming cria registos temporários Re-order buffer preserva semântica original do programa Instrução de salto foi bem prevista Validação (commit) dos resultados istos temporários registos do CPU Instrução de salto mal prevista Resultados descartados

29 Resumo p. 29 Dynamic multiple-issue Instruction fetch and decode unit In-order issue Reservation station Reservation station... Reservation station Reservation station Functional units Integer Integer... Floating point Load/ Store Out-of-order execute Commit unit In-order commit

30 Resumo p. 30 Static multiple-issue Transferir para o compilador Análise de dependências Distribuição das instruções pela unidades funcionais Pacotes de n instruções directamente enviado para as unidades funcionais Very Large Instruction Word (VLIW) Sem dependências entre instruções Pacote pode ter slots vazios Reduz substancialmente a complexidade do hardware Exige compilador poderoso Transmeta adiciona camada de software no Crusoe

31 Resumo p. 31 Very Large Instruction Word Exemplo de pacote com 8 instruções 2 ftp + 2 int + 2 lw/sw + 1 salto Pacote sem dependências executado em paralelo

32 Resumo p. 32 Fraco paralelismo dos progamas Exploração do paralelismo através de execução super-escalar é limitada Maioria dos programas não possuem paralelismo suficiente Distribuição dinâmica e optimização do compilador em conjunto Em média apenas 2 instruções por ciclo em programas normais Resultado Unidades funcionais sub-aproveitadas Performance máxima do CPU não é atingida

33 Resumo p. 33 Symmetric Multiprocessing (SMP) Executar cada processo/thread num CPU diferente Foco: processadores multi-core Escalonamento do S.O. divide processos pelos CPUs Maior tempo de execução disponível para os processos Menor tempo de espera pelo time slice Continuam a existir recursos comuns Acessos resolvidos por exclusão mútua SMP não optimiza forma como os programas usam o hardware de cada CPU Multiplica tempo de execução para os processos Assim como o desperdício de hardware por ciclo de relógio!

34 Symmetric Multiprocessing (SMP) Resumo p. 34

35 Resumo p. 35 Simultaneous Multithreading (SMT) Explorar paralelismo dentro dos processos Maximizar utilização do CPU Apenas um CPU físico Fornece dois ou mais processadores lógicos ao S.O. Exige duplicação apenas dos componentes que armazenam contexto dos processos Pequena parte do hardware do CPU Unidades funcionais partilhadas pelas threads Processador executa várias threads simultaneamente Idealmente resultando na maximização da utilização das unidades funcionais Aumentando IPC aumenta performance

36 Simultaneous Multithreading (SMT) Resumo p. 36

37 Resumo p. 37 Arquitecturas Vectoriais Executar instrução sobre conjunto de dados Explora paralelismo ao nível dos dados istos e unidades vectoriais especializadas Vectores mantidos em registos especiais no CPU Instruções aplicadas sobre registos vectoriais Aumenta a performance Aplicações onde paralelismo de dados é fácil de obter SIMD usado em ISAs especializadas MMX/SSE, 3DNow!, AltiVec

38 Resumo p. 38 Single Instruction Multiple Data (SIMD) SISD vs SIMD

39 Resumo p. 39 Hierarquia de memória Problema Velocidade do CPU muito superior à da memória Consequência Acessos à memória provocam perda de performance Usar memória com mesma velocidade do CPU Técnica e economicamente impraticável Custo por bit de hardware rápido é muito elevado Memórias rápidas possuem pequena capacidade Como disponibilizar grande capacidade a elevada velocidade?

40 Resumo p. 40 Hierarquia de memória Current Speed CPU Size Cost ($/bit) Technology Fastest Memory Smallest Highest SRAM Memory DRAM Slowest Memory Biggest Lowest Magnetic Disk

41 Resumo p. 41 Hierarquia de memória - Onde colocar um bloco? Nas caches existem 3 esquemas Direct-mapped Fully associative n-way Set associative Vantagem em aumentar grau de associatividade Diminui miss rate, diminuindo colisões entre blocos Desvantagens em aumentar grau de associatividade Maior custo e tempo de pesquisa Colocação de páginas em memória é fully associative Elevada penalização no acesso ao disco

42 Resumo p. 42 Hierarquia de memória - Como pesquisar um bloco? Em direct-mapped um bloco só pode estar numa entrada N-way Set associative e Fully associative Bloco pode estar numa de n entradas Para pesquisa ser eficiente tem de ser feita em paralelo Maior custo do hardware Elevada latência do disco exige fully associative em memória S.O. pode usar algoritmos de pesquisa mais eficientes Memória virtual usa tabela de páginas Exige acesso extra à memória Para ser eficiente exige TLB

43 Resumo p. 43 Hierarquia de memória - Qual o bloco a substituir? Duas técnicas principais em caches associativas Aleatoriamente Bloco seleccionado aleatoriamente entre os possíveis candidatos Least Recently Used (LRU) Bloco substituído é o que não é usado há mais tempo Na prática LRU é muito custoso com grande associatividade Opta-se por LRU aproximado Memória virtual usa sempre LRU aproximado Reference bit

44 Resumo p. 44 Hierarquia de memória - Como lidar com escritas? Duas técnicas principais Write-through Bloco escrito na cache e na memória Cache misses nunca requerem escrita em memória Write-back Bloco apenas escrito na cache numa primeira fase Só é escrito em memória quando tiver que ser substituído Múltiplas escritas na cache uma escrita em memória Cache misses podem exigir escrita em memória Memória virtual usa sempre write-back Elevada latência do disco

45 Resumo p. 45 Computação paralela Criar computadores poderosos ligando vários CPUs Custos de desenvolvimento de novos processadores Limites da tecnologia de semicondutores Diminuir tempo de execução dos programas Aumentar throughput Tratar problemas mais complexos Genética, farmacologia, física,... Sistemas robustos e tolerantes a falhas

46 Resumo p. 46 Questões Como partilhar dados pelos processadores? Memória partilhada Passagem de mensagens Como coordenar os diversos processadores? Sincronização (semáforos) Primitivas send/receive Protocolos do S.O. Como ligar os diversos processadores? Bus único Rede de interconexão

47 Resumo p. 47 Symmetric Multiprocessors (SMPs) Espaço de endereçamento físico global Fisicamente partilhado através de um bus único Latência no acesso à memória independente do processador Processadores comunicam através de variáveis partilhadas em memória Sincronização através de semáforos Modelo de programação atractivo Cada processador utiliza uma cache individual Diminuir tráfego no bus partilhado Mantém cópia de dados partilhados em memória

48 Resumo p. 48 Symmetric Multiprocessors (SMPs) Processor Processor Processor Cache Cache Cache Single bus Memory I/O

49 Resumo p. 49 Problema de coerência das caches Tempo Evento Cache CPU A Cache CPU B Memória CPU A lê X CPU B lê X CPU A escreve 0 em X Réplicas nas caches privadas têm de ser coerentes Necessário garantir Escritas em memória são visíveis a todos os processadores (write propagation) Ordem das escritas é a mesma para todos os processadores (write serialization)

50 Resumo p. 50 Snooping Controlador da cache monitoriza transacções que passam no bus Todas as transacções são visíveis a todos os controladores Todos os controladores veêm transacções pela mesma ordem Controladores actuam sobre blocos locais quando necessário Write-update Write-invalidade Etiquetas dos blocos em cache são duplicadas Evitar interferências quando CPU acede à cache Controlador acede a etiquetas duplicadas

51 Resumo p. 51 Snooping Processor Processor Processor Snoop tag Cache tag and data Snoop tag Cache tag and data Snoop tag Cache tag and data Single bus Memory I/O

52 Resumo p. 52 Processadores ligados por rede de interconecção Cada processador possui memória e caches privadas Processadores ligados por rede de interconecção Especializada e com diversas topologias Relativamente à memória Distribuída Memória fisicamente distribuída pelos processadores Virtualmente partilhada Memória fisicamente distribuída mas logicamente partilhada

53 Resumo p. 53 Processadores ligados por rede de interconecção Processor Processor Processor Cache Cache Cache Memory Memory Memory Network

54 Resumo p. 54 Arquitecturas de memória distribuída Memória fisicamente distribuída Processador apenas endereça memória privada Exige distribuição de tarefas Distribuir explicitamente dados pelos n processadores Agrupar resultados Comunicação entre processadores é explícita Enviar mensagem para partilhar dados Receber mensagem para aceitar dados enviados

55 Resumo p. 55 Arquitecturas de memória virtualmente partilhada Memória fisicamente distribuída mas logicamente partilhada Camada de software simula espaço endereçamento único Conceito semelhante a memória virtual em uniprocessador Tabela de páginas indica se página local ou remota Referências remotas são transformadas em mensagens Performance muito dependente da localidade das referências Miss penalty envolve mensagem pela rede Largura de banda gasta com transferência de páginas

56 Resumo p. 56 Coerência das caches em memória distribuída Espaço de endereçamento único coloca novamente o problema Cópias do mesmo endereço em caches distintas Snooping não resolve problema Não existe um bus partilhado onde são propagadas todas as referências à memória Natureza distribuída do protocolo não é escalonável a um grande n o de processadores Exige comunicação com todas as caches num cache miss Sem coerência das caches Apenas dados privados podem estar na cache Blocos partilhados são marcados como uncacheable

57 Resumo p. 57 Protocolos de coerência baseados em directórios Directório central mantém informação dos blocos em cache Que caches que possuem cópias do bloco Estado do bloco Processador comunica alteração de bloco na cache ao directório Directório invalida ou actualiza cópias Não é necessário broadcast! Transições entre estados geradas por mensagens explícitas Geradas por eventos em snooping

58 Resumo p. 58 Distribuição de directórios Elevada escalabilidade com distribuição de directórios Cada directório monitoriza caches que referenciam endereços físicos da porção de memória que controla Directórios distribuídos mantêm característica essencial Informação sobre um dado bloco está apenas num único directório conhecido Bits mais significativos usados como etiqueta

59 Distribuição de directórios Resumo p. 59

60 Resumo p. 60 Topologias das redes de interconecção Redes estáticas Ligações entre CPUs são fixas Mensagens seguem rotas bem definidas Redes dinâmicas Usar switches nas ligações entre CPUs Caminhos para as mensagens encontrados dinâmicamente Características Largura de banda Latência Custo N o máximo de hops entre CPUs Conectividade

Pipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p.

Pipelining. Luís Nogueira. Departamento Engenharia Informática Instituto Superior de Engenharia do Porto. Pipelining p. Pipelining Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Pipelining p. Análise de performance Desenho ciclo único de relógio é ineficiente

Leia mais

Paralelismo ao Nível das Instruções p. 1

Paralelismo ao Nível das Instruções p. 1 Paralelismo ao Nível das Instruções Luís Nogueira luis@dei.isep.ipp.pt Departamento Engenharia Informática Instituto Superior de Engenharia do Porto Paralelismo ao Nível das Instruções p. 1 Como melhorar

Leia mais

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Datapath do MIPS MIPS Implementação Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Instruções de leitura (load lw) e de escrita (store sw) Instruções aritméticas e lógicas

Leia mais

Arquitetura e Organização de Processadores. Aula 4. Pipelines

Arquitetura e Organização de Processadores. Aula 4. Pipelines Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 4 Pipelines 1. Introdução Objetivo: aumento de

Leia mais

Pipelining - analogia

Pipelining - analogia PIPELINE Pipelining - analogia Pipelining OBJECTIVO: Aumentar o desempenho pelo aumento do fluxo de instruções Program execution Time order (in instructions) lw $1, 100($0) Instruction fetch ALU Data access

Leia mais

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples Infraestrutura de Hardware Implementação Monociclo de um Processador Simples Componentes de um Computador Unid. Controle Controle Memória Registradores PC MAR IR AC Programa + Dados Instrução Endereço

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 8ª Aula Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estágios para execução da instrução: A instrução LOAD é a mais longa Todas as instruções seguem ao menos os

Leia mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura de Computadores. Processamento Paralelo Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple

Leia mais

SSC0902 Organização e Arquitetura de Computadores

SSC0902 Organização e Arquitetura de Computadores SSC0902 Organização e Arquitetura de Computadores 13ª Aula Definição de Pipeline e Pipeline da arquitetura MIPS Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquitetura CISC CISC Complex Instruction

Leia mais

Pipeline. Prof. Leonardo Barreto Campos 1

Pipeline. Prof. Leonardo Barreto Campos 1 Pipeline Prof. Leonardo Barreto Campos 1 Sumário Introdução; Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Caminho de Dados usando Pipeline; Representação Gráfica do Pipeline;

Leia mais

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples Infraestrutura de Hardware Implementação Multiciclo de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e

Leia mais

lw, sw add, sub, and, or, slt beq, j

lw, sw add, sub, and, or, slt beq, j Datapath and Control Queremos implementar o MIPS Instruções de referência à memória: lw, sw Instruções aritméticas e lógicas: add, sub, and, or, slt Controle de fluxo: beq, j Cinco passos de execução Busca

Leia mais

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas: CAPÍTULO 5 PIPELINE Introdução Ciclo único versus pipeline Projetando o conjunto de instruções Pipeline Hazards Caminho de dados usando o pipeline Diagramas de Pipeline Controle do Pipeline Hazard de dados

Leia mais

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1

Capítulo 6 Hazards Morgan Kaufmann Publishers. Ch6c 1 Capítulo 6 Hazards 1998 organ Kaufmann Publishers Ch6c 1 Dependências de Dados Problema: iniciar uma instrução antes da anterior ter finalizado dependências que voltam no tempo são hazards de dados qual

Leia mais

Organização ou MicroArquitectura

Organização ou MicroArquitectura Organização ou MicroArquitectura DataPath MIPS32 AC Micro-Arquitectura: DataPath do MIPS Datapath e Controlpath Datapath circuito percorrido pelas instruções, endereços e ados IP Inst. Mem. Register File

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores 2018.1 Relembrando... Memória Virtual Relembrando... Memória Virtual Proteção de Memória Relembrando... Memória Virtual Proteção de Memória TLB Relembrando... Memória Virtual

Leia mais

Microprocessadores. Execução em Paralelo Pipelines

Microprocessadores. Execução em Paralelo Pipelines Execução em Paralelo Pipelines António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Pipelines de Instrucções Instrucções são divididas em diferentes Estágios Pipelines

Leia mais

Resumão de Infra-estrutura de Hardware

Resumão de Infra-estrutura de Hardware Resumão de Infra-estrutura de Hardware Referência: Patterson & Hennessy - Organização e Projeto de Computadores Vanessa Gomes de Lima vgl2@cin.ufpe.br 1 MELHORANDO O DESEMPENHO COM PIPELINING Pipelining

Leia mais

Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória

Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória Infraestrutura de Hardware Explorando Desempenho com a Hierarquia de Memória Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e

Leia mais

Organização de Computadores 2005/2006 Processamento Paralelo

Organização de Computadores 2005/2006 Processamento Paralelo GoBack Organização de Computadores 2005/2006 Processamento Paralelo Paulo Ferreira paf a dei.isep.ipp.pt Maio de 2006 ORGC Processamento Paralelo slide 1 Porquê? Definição de computação paralela Alocação

Leia mais

Exercícios resolvidos (aula de 4 de Maio) Resolução:

Exercícios resolvidos (aula de 4 de Maio) Resolução: Exercícios resolvidos (aula de 4 de Maio) 1. Um microprocessador gera endereços de memória de 14 bits. Desenhe um mapa de memória dos seus endereços de memória fronteira especificados em hexadecimal. Uma

Leia mais

DataPath II Tomando o controle!

DataPath II Tomando o controle! DataPath II Tomando o controle! Datapath and Control Queremos implementar parte do MIPS lw, sw add, sub, and, or, slt beq e depois o j Instruction Word Formats Register format: add, sub, and, or, slt op-code

Leia mais

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro Sistemas MIMD Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas Paralelas (SISD) Single Instruction Stream, Single Data Stream: Monoprocessador

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL É A INTERFACE ENTRE

Leia mais

Infra-estrutura de Hardware

Infra-estrutura de Hardware CPU: Estrutura e Funcionalidade Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação

Leia mais

Memórias cache: uma introdução

Memórias cache: uma introdução Memórias cache: uma introdução João Canas Ferreira Dezembro de 2006 Contém figuras de Computer Architecture: A Quantitative Approach, J. Hennessey & D. Patterson, 3ª. ed., MKP 2006 AAC (FEUP/MIEIC) Memórias

Leia mais

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap.

Pipelines. João Canas Ferreira. Mar-Abr Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. Pipelines João Canas Ferreira Mar-Abr 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 6) c JCF, 2004 ASPD (FEUP/LEEC) Pipelines 1/52 Conceitos básicos

Leia mais

1.0 val. (b) Determine o CPI do processador na execução do código indicado. Num.: Nome: Pág. 1. Arquitecturas Avançadas de Computadores (AAC)

1.0 val. (b) Determine o CPI do processador na execução do código indicado. Num.: Nome: Pág. 1. Arquitecturas Avançadas de Computadores (AAC) 1. Considere um processador in-order com 5 estágios (IF, ID, EX1, EX2, WB) sem qualquer mecanismo de forwarding de dados, e o seguinte troço de código. Memória de instruções Operação MOV R1,R0 ; R1 R0

Leia mais

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura

INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Função e Estrutura. Introdução Organização e Arquitetura. Organização e Arquitetura Introdução Organização e Arquitetura INTRODUÇÃO À ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Eduardo Max Amaro Amaral Arquitetura são os atributos visíveis ao programador. Conjunto de instruções, número

Leia mais

5 de Maio de Aula 15

5 de Maio de Aula 15 5 de Maio de 2005 1 Caches I Aula 15 Estrutura desta aula Hierarquia de memórias Tecnologia das memórias Fundamentos de caches Organização em blocos Colocação dos blocos Identificação dos blocos Políticas

Leia mais

Hierarquia de Memória

Hierarquia de Memória Hierarquia de Memória Organização da cache AC1 Hierarquia da Memória: Organização 1 Mapeamento Directo A cada endereço de memória corresponde apenas uma linha da cache. linha = resto (endereço do bloco

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 22: Título: Sumário: cache; cache por blocos; Política de substituição; Tratamento das operações de

Leia mais

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW

Infraestrutura de Hardware. Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Infraestrutura de Hardware Melhorando Desempenho de Pipeline Processadores Superpipeline, Superescalares, VLIW Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem

Leia mais

Sistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA.

Sistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA. Sistemas de Microprocessadores DEP. DE ENG.ª ELECTROTÉCNICA E DE COMPUTADORES FACULDADE DE CIÊNCIAS E TECNOLOGIA UNIVERSIDADE DE COIMBRA Pipelining Pipelining é uma técnica que permite a execução de múltiplas

Leia mais

AULA DE REVISÃO 3 ILP

AULA DE REVISÃO 3 ILP AULA DE REVISÃO 3 ILP Exercício 1: Considere um bloco de código com 15 instruções cada uma com tempo de execução Tex. Elas são executadas numa unidade pipeline de 5 estágios. Os overheads do pipeline são

Leia mais

Capítulo 6 Pipeline Morgan Kaufmann Publishers

Capítulo 6 Pipeline Morgan Kaufmann Publishers Capítulo 6 Pipeline 998 organ Kaufmann Publishers Pipeline: analogia com linha de produção tempo carro Chassi ec Carroc. Pint. Acab. carro2 Chassi ec Carroc. Pint. Acab. carro3 Chassi ec Carroc. Pint.

Leia mais

Introdução à Computação: Sistemas de Computação

Introdução à Computação: Sistemas de Computação Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Resolva as seguintes alíneas fazendo todas as simplificações que considerar convenientes, anotando-as junto da resposta.

Resolva as seguintes alíneas fazendo todas as simplificações que considerar convenientes, anotando-as junto da resposta. 1. Considere um processador com ISA compatível com o MIPS64 e com funcionamento superpelining (Fetch, Decode, Issue, Execute, Write-back), com mecanismos de forwarding de dados, sendo o estágio de Execute

Leia mais

ELECTRÓNICA DE COMPUTADORES. Sumário

ELECTRÓNICA DE COMPUTADORES. Sumário ELTRÓNICA DE COMPUTADORES Aulas nº14 e15 Memórias tampão (s) 12.1 Sumário Princípio da localidade espacial e temporal Organização das caches s de dados: políticas de escrita e estratégias de alocação Interligação

Leia mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Hierarquia de Memória; Memória Cache (13.2 e 13.3) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto

Leia mais

Infraestrutura de Hardware. Implementação Pipeline de um Processador Simples

Infraestrutura de Hardware. Implementação Pipeline de um Processador Simples Infraestrutura de Hardware Implementação Pipeline de um Processador Simples Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado

Leia mais

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador.

É um sinal elétrico periódico que é utilizado para cadenciar todas as operações realizadas pelo processador. Universidade Estácio de Sá Curso de Informática Disciplina de Organização de Computadores II Prof. Gabriel P. Silva - 1 o Sem. / 2005 2 ª Lista de Exercícios 1) O que é o relógio de um sistema digital?

Leia mais

Arquiteturas de Computadores

Arquiteturas de Computadores Arquiteturas de Computadores Implementação monociclo de IPS Fontes dos slides: Patterson & Hennessy book website (copyright organ Kaufmann) e Dr. Sumanta Guha Implementando IPS Implementação do conjunto

Leia mais

Capítulo 7 Sistemas de Memória. Ch7a 1

Capítulo 7 Sistemas de Memória. Ch7a 1 Capítulo 7 Sistemas de Memória Ch7a 1 Memórias: Revisão SRAM (Static RAM): Valor é armazenado por meio da interligação de um par de inversores Rápido, mas consome mais espaço que DRAM (4 a 6 transistores)

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 20: Título: Sumário: Sistema de primária (ciclo de acesso, memória estática, memória dinâmica, planos

Leia mais

1. Considere a execução do seguinte troço de código num processador com ISA compatível

1. Considere a execução do seguinte troço de código num processador com ISA compatível 1. Considere a execução do seguinte troço de código num processador com ISA compatível com o MIPS64. loop: L.D F0,0(R1) ; F0 M[R1+0] L.D F2,8(R1) ; F2 M[R1+8] L.D F4,0(R2) ; F4 M[R2+0] SUB.D F0,F0,F2 ;

Leia mais

Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho

Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho Hierarquia de Memória Sistemas de Computação André Luiz da Costa Carvalho 1 Introdução l Pode ser definida como um local para armazenamento de informações, onde as duas únicas ações possíveis são a leitura

Leia mais

Cache. Cache. Direct Mapping Cache. Direct Mapping Cache. Internet. Bus CPU Cache Memória. Cache. Endereço Byte offset

Cache. Cache. Direct Mapping Cache. Direct Mapping Cache. Internet. Bus CPU Cache Memória. Cache. Endereço Byte offset -- Internet Bus Memória Fully Associative Direct Mapping Direct Mapping Direct Mapping 7 Endereço Byte offset Hit Tag Endereço Byte offset Index Block offset bits 8 bits bits bits V Tag Valid Tag K entries

Leia mais

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática Arquitectura de Computadores II Engenharia Informática (11545) Tecnologias e Sistemas de Informação (6621) Memoria Fonte: Arquitectura de Computadores, José Delgado, IST, 2004 Nuno Pombo / Paulo Fazendeiro

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Memória Cache. Aula 24

Memória Cache. Aula 24 Memória Cache Aula 24 Introdução Objetivo: oferecer o máximo de memória disponível na tecnologia mais barata, enquanto se fornece acesso na velocidade oferecida pela memória mais rápida Velocidade CPU

Leia mais

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL INTRODUÇÃO À TECNOLOGIA DA ORGANIZAÇÃO COMPUTACIONAL PROFESSOR CARLOS MUNIZ ORGANIZAÇÃO DE UM COMPUTADOR TÍPICO Memória: Armazena dados e programas Processador (CPU - Central Processing Unit): Executa

Leia mais

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é 1. A pastilha do processador Intel 80486 possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é organizado com mapeamento associativo por conjuntos de quatro

Leia mais

Microarquiteturas Avançadas

Microarquiteturas Avançadas Universidade Federal do Rio de Janeiro Arquitetura de Computadores I Microarquiteturas Avançadas Gabriel P. Silva Introdução As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com

Leia mais

Relembrando desempenho...

Relembrando desempenho... Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas

Leia mais

Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores. 2º sem.

Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores. 2º sem. Instituto Superior Técnico Departamento de Engenharia Electrotécnica e de Computadores Arquitectura de Computadores º sem. / // º Teste Duração:, horas Grupo I Superpilining [ valores] Admita que tem um

Leia mais

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Arquiteturas MIMD Arquiteturas MIMD As arquiteturas MIMD dividem-se em dois grandes modelos: Arquiteturas MIMD de

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 20ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquiteturas MIMD As arquiteturas MIMD dividem-se

Leia mais

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE Introdução Uma implementação MIPS básica Sinopse da implementação Sinais de controle Multiplexadores (muxes) Implementação monociclo Metodologia de clocking Construindo

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Arquiteturas de Computadores Turma :A1 Lista 1 Profa.: Simone Martins 1. Tentando projetar o futuro: a) Em

Leia mais

Memória Cache. Walter Fetter Lages.

Memória Cache. Walter Fetter Lages. Memória Cache Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Copyright (c) Walter Fetter Lages p.1 Introdução SRAM

Leia mais

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES CICLO DE INSTRUÇÕES OU DE EXECUÇÃO Arquitetura de computadores 2 CICLO DE EXECUÇÃO No inicio de cada ciclo de instrução,

Leia mais

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F. Prefetch & Pipeline Otimização de Execução em Processadores Modernos Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter

Leia mais

Organização de Unidades de Processamento

Organização de Unidades de Processamento Organização de Unidades de Processamento João Canas Ferreira Março de 2004 Contém figuras de: Computer Organization & Design, D. A Patterson e J. L. Hennessy, 2 a ed. (cap. 5) c JCF, 2004 ASPD (FEUP/LEEC)

Leia mais

Tecnologia dos Microprocessadores. António M. G. Pinheiro Universidade da Beira Interior Covilhã - Portugal

Tecnologia dos Microprocessadores. António M. G. Pinheiro Universidade da Beira Interior Covilhã - Portugal Tecnologia dos Microprocessadores António M. G. Pinheiro Covilhã - Portugal pinheiro@ubi.pt PIPELINES; SUPERESCALARIDADE. MEMÓRIAS CACHE. MICROPROCESSADORES RISC VERSUS CISC. PIPELINES CONSISTE NA SUBDIVISÃO

Leia mais

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade Memória Cache Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade Temporal Um item referenciado tende a

Leia mais

Otimização do desempenho (no h/w) Objectivo. Problemas: Estrutura do tema Avaliação de Desempenho (IA-32)

Otimização do desempenho (no h/w) Objectivo. Problemas: Estrutura do tema Avaliação de Desempenho (IA-32) Avaliação de Desempenho no IA-32 (3) Análise do desempenho em Sistemas de Computação: oportunidades para otimizar na arquitetura Estrutura do tema Avaliação de Desempenho (IA-32) 1. A avaliação de sistemas

Leia mais

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática. Introdução. Gabriel P. Silva. Gabriel P. Silva

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática. Introdução. Gabriel P. Silva. Gabriel P. Silva Universidade Federal do Rio de Janeiro Pós-Graduação em Informática Microarquiteturas de Alto Desempenho Introdução Introdução Bibliografia: Computer Architecture: A Quantitative Approach. John L. Hennesy,

Leia mais

Infra-estrutura de Hardware

Infra-estrutura de Hardware CPU: Estrutura e Funcionalidade Roteiro da Aula Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação

Leia mais

Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h

Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Pipelining Avançado Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Introdução A técnica de pipelining explora o paralelismo entre as instruções Paralelismo em Nível de Instrução (ILP). Métodos

Leia mais

SSC0114 Arquitetura de Computadores

SSC0114 Arquitetura de Computadores SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br

Leia mais

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade

Arquitetura e Organização de Processadores. Aulas 06 e 07. Superescalaridade Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 06 e 07 Superescalaridade 1. Introdução princípios

Leia mais

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTIPROCESSADORES

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução

Leia mais

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG

Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Sistemas, Processadores e Periféricos Aula 7 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professores Leandro

Leia mais

Otimização do desempenho (no h/w) Objectivo

Otimização do desempenho (no h/w) Objectivo Avaliação de Desempenho no IA-32 (3) Eficiência em Sistemas de Computação: oportunidades para otimizar na arquitetura Estrutura do tema Avaliação de Desempenho (IA-32) 1. A avaliação de sistemas de computação

Leia mais

Memória e Hierarquia de Memória. Memória Vs. Armazenamento

Memória e Hierarquia de Memória. Memória Vs. Armazenamento Memória e Hierarquia de Memória Memória Vs. Armazenamento Fichário Pasta O fichário representa o disco rígido, com alta capacidade de armazenamento. A pasta sobre a mesa representa a memória, de acesso

Leia mais

Gerenciamento de memória

Gerenciamento de memória Gerenciamento de memória O que faz? Controla o uso dos espaços em memória Controla os modos de endereçamento dos processos Como funciona a memória? Hierarquia de memória A falta de desempenho A velocidade

Leia mais

Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache

Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aulas 9 e 10 Memória cache Tendências tecnológicas

Leia mais

SSC510 Arquitetura de Computadores. 6ª aula

SSC510 Arquitetura de Computadores. 6ª aula SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas

Leia mais

Arquitetura de Computadores Aula 11 - Multiprocessamento

Arquitetura de Computadores Aula 11 - Multiprocessamento Arquitetura de Computadores Aula 11 - Multiprocessamento Prof. Dr. Eng. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/28 PROCESSAMENTO PARALELO OBJETIVO: aumentar a capacidade de processamento.

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores 2018.1 Relembrando... Paralelismo Relembrando... Paralelismo Paralelismo em Instrução Relembrando... Paralelismo Paralelismo em Instrução Paralelismo em Aritmética Relembrando...

Leia mais

Programação Distribuída e Paralela. Jorge Barbosa

Programação Distribuída e Paralela. Jorge Barbosa Programação Distribuída e Paralela Jorge Barbosa 1 Máquinas Paralelas Processadores Memória Rede de interligação Classificação das máquinas paralelas 2 Processador Escalar Processadores Processador que

Leia mais

Organização de Sistemas de Computadores

Organização de Sistemas de Computadores Organização de Sistemas de Computadores Cap. 2 (Tanenbaum), Cap. 3 (Weber) 2.1 Processadores 1 CPU UC = buscar instruções na memória principal e determinar o seu tipo ULA = adição e AND Registradores =

Leia mais

Computadores e Programação (DCC/UFRJ)

Computadores e Programação (DCC/UFRJ) Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo

Leia mais

Sistemas Operacionais. Conceitos de Hardware

Sistemas Operacionais. Conceitos de Hardware Sistemas Operacionais Conceitos de Hardware Sumário 1. Introdução 7. RISC e CISC 2. Processador 1. Operações de Processamento 2. Unidade de Controle 3. Ciclos de uma Instrução 3. Memória 1. Memória Principal

Leia mais

I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado

I. Considere os seguintes processadores A e B, ambos com arquitectura em pipeline, conforme ilustrado Arquitectura de Computadores 2 o Semestre (2013/2014) MEAer 2 o Teste - 19 de Junho de 2014 Duração: 1h30 + 0h15 Regras: Otesteésemconsulta, apenas tem disponível o anexo que lhe deverá ter sido entregue

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 17ª Aula Paralelismos nível de tarefas Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Paralelismo no nível de tarefas Paralelismo a nível de thread (TLP Thread-Level

Leia mais

Hierarquia de memória

Hierarquia de memória Hierarquia de memória Capítulo 6, Secção.{3..} Caches Slides adaptados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João Pedro Patriarca (jpatri@cc.isel.ipl.pt)

Leia mais

Estrutura do tema Avaliação de Desempenho (IA-32)

Estrutura do tema Avaliação de Desempenho (IA-32) Avaliação de Desempenho no IA-32 (3) Estrutura do tema Avaliação de Desempenho (IA-32) 1. A avaliação de sistemas de computação 2. Técnicas de otimização de código (IM) 3. Técnicas de otimização de hardware

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Cap. 06 Pipeline Prof. M.Sc. Bruno R. Silva Plano de aula Visão geral de pipelining Um caminho de dados usando pipelie Controle de um pipeline Hazards de dados e forwarding

Leia mais

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitetura de Computadores. Prof. João Bosco Jr. Arquitetura de Computadores Prof. João Bosco Jr. (CPU) Modelo do Computador Von Neumann Processador Memórias E/S Barramentos Simulação Contador http://courses.cs.vt.edu/csonline/machinearchitecture/lessons/cpu/countprogram.html

Leia mais

Microcontroladores e Interfaces

Microcontroladores e Interfaces Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Aula A3 15 Mar 05 - M Datapath e a sua Unidade de Controlo

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação

Leia mais

Organização de Computadores II. Arquiteturas MIMD

Organização de Computadores II. Arquiteturas MIMD Organização de Computadores II Arquiteturas MIMD Arquiteturas UMA Arquiteturas com memória única global. Tempo de acesso uniforme para todos os nós de processamento. Nós de processamento e memória interconectados

Leia mais

Nome: N.º Ano: Turma: Turno: Responde às seguintes questões 1. Qual o primeiro nome do computador à base de transístores?

Nome: N.º Ano: Turma: Turno: Responde às seguintes questões 1. Qual o primeiro nome do computador à base de transístores? ANO LETIVO 2018/2019 FICHA DE AVALIAÇÃO DE ARQUITETURA DE COMPUTADORES Módulo Nº: 4 Data: 13/03/20189 Tipo de Prova: Teórica Classificação: O Docente: (Rafael Henriques) Nome: N.º Ano: Turma: Turno: Leia

Leia mais

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações Introdução aos Sistemas de Computação (6) Análise de componentes num computador Estrutura do tema ISC 1. Representação de informação num computador 2. Organização e estrutura interna dum computador 3.

Leia mais