MC722. Medidas. Instruções. Funções. Pilha. add $t0,$s1,$s2. slti rt,rs,const if (rs < const) rd=1; else rd=0;
|
|
- Márcio Lancastre Imperial
- 7 Há anos
- Visualizações:
Transcrição
1 Medidas CPU Time = instructions program T improved = MC722 clock cycles instruction T affected improvement factor + T unaffected CPU Time = # cycles cycle time = # cycles clock rate Instruções seconds clock cycle Tipo R: op rs rt rd shamt funct 6bits 5bits 5bits 5bits 5bits 6bits shamt = shift amount Exemplo: add $t0,$s1,$s2 0 $s1 $s2 $t0 0 add Tipo I: op rs rt const ou endereço 6bits 5bits 5bits 16 bits Tipo J: op endereço 6bits 26bits slt rd,rs,rt if (rs < rt) rd=1; else rd=0; slti rt,rs,const if (rs < const) rd=1; else rd=0; Funções Pilha chamada: volta: jal Label jr $ra empilhar: addi $sp, $sp, 4 #coisas sw $reg, 0($sp) desempilhar: lw $reg, 0($sp) addi $sp, $sp, 4 #coisas
2 Representação de oat X = ( 1) S (1 + frac) 2 exp bias S exp f rac bias single: 1bit 8bits 23bits 127 double: 1bit 11bits 52bits 1203 Outros comandos ixxx imediato uxxx unsigned XXX.s single float XXX.d double float c.yy.{s,d}: seta ou reseta o bit de comparação bc1t e bc1f : branch se o bit de comparação é TRUE ou FALSE Pipeline YY = eq,lt,le,... a pipeline do MIPS tem 5 estágios: IF: Instruction fetch from memory ID: Instruction decode and register read EX: Execute operation or calculate address MEM: Access memory WB: Write result to register Somente lw e sw passam por MEM XXX = add,sub,slt,... Hazards: Structure Hazard: um recurso necessário está ocupado Data Hazard: precisa esperar uma instrução anterior completar escrita/leitura de dados
3 Exemplo: add $s0, $t0, $t1 sub $t2, $s0, $t3 o valor de $s0 é calculado em add.ex, mas só é escrito no banco de registradores no início de add.wb e é lido no final de sub.id um valor incorreto A solução é chamada de Forwarding, a saída de EX é mandada diretamente para a entrada do EX da próxima instrução na instrução lw, o resultado só é obtido depois de MEM, portanto um stall ainda é necessário
4 Quando usar forwarding: quando uma instrução usa como origem o registrador destino da instrução anterior, nesse caso deve-se usar o registrador que está em EX/MEM ou se uma terceira instrução depende do registrador destino da primeira instrução, nesse caso deve-se usar o registrador que está em MEM/WB, pois o registrador de EX/MEM já está sujo com os valores da segunda instrução também é possível reordenar o código para evitar stalls Control Hazard: decidir a ação de controle depende da instrução anterior (branches) a próxima instrução a ser pega depende do resultado do branch pode-se adicionar hardware para antecipar a comparação dos registradores e computar o alvo do branch mais cedo no pipeline (ID), mas ainda é necessário um stall pipelines maiores não conseguem fazer isso tão cedo no pipeline, então usam branch prediction dependendo da previsão, o processador pega a instrução, se a previsão estava errada ele a troca por uma bolha
5 Exceções: quando ocorrem, é necessário salvar o PC da instrução que a disparou MIPS tem um registrador chamado Exception Program Counter (EPC) para isso também é necessário salvar o motivo do problema Ex.: 1bit: 0 para opcode não definido, 1 para overflow depois o processador deve pular para o endereço também é possível existir um vetor de handlers Ex.: C : opcode não definido, C : overflow, etc... os handlers podem corrigir o problema e usar o EPC para retornar ao programa ou terminar o programa e usar o EPC para reportar o erro quando ocorre uma exceção (overflow, por exemplo), o processador deve impedir a sobrescrita de valores válidos dos registradores semelhantemente a um erro na predição do branch, o processador deve inserir bolhas no pipeline e depois pular para o handler Instruction Level Parallelism (ILP) Estático: o compilador agrupa as instruções que serão rodadas juntas o compilador que detecta e evita hazards Dinâmico: a CPU examina o fluxo de instruções e escolhe a cada ciclo as instruções a serem executadas o compilador pode ajudar reordenando as instruções
6 a CPU deve resolver os hazards em tempo de execução uma CPU com ILP dinâmico tem várias unidades funcionais, uma para cada função (inteiro, floating point, load/store,...), e junto de cada uma existe um estação de reserva, onde ficam as instruções que ainda não podem ser executadas por dependência de outra instrução que ainda não foi executada as instruções são mandadas para as estações de reserva, e lá ficam até poderem ser executadas por causa de suas dependências Hierarquia de memória Static RAM (SRAM): memória em cache anexada à CPU, 0.5ns a 2.5ns de tempo de acesso Dynamic RAM (DRAM): memória principal, 50ns a 70ns de tempo de acesso Disco: 5ms a 20ms de tempo de acesso quando o processador precisa de um dado, verifica primeiro na cache, depois vai descendo conforme não achar a cache guarda o endereço do bloco na memória, junto com seu conteúdo na verdade, o endereço guardado são somente os bits de maior ordem, chamados tag a cache também guarda um bit de validade, 1 se o valor do bloco é válido, 0 caso contrário como a cache é muito menor que a memória, precisa ser mapeada de tal modo que, sabendo qual o endereço da memória desejado o processador sabe onde na cache deve procurar Cache diretamente mapeada: o endereço na cache é definido por (endereço do bloco na memória) módulo (número de blocos na cache) Exemplo: se a cache tem 1024(2 10 ) posições, cada linha da cache precisa ter bits: 1 bit de validade, 20 bits de tag, pois dos 32 bits do endereço representado 2 são byte offset, 10 são o index (indica qual linha da cache ficaria esse valor) e os 20 restantes são a tag e 32 bits para o conteúdo Quando o processador requer um acesso à memória, o hardware escolhe a linha da cache baseado nos bits de index do endereço requerido, depois compara os bits de tag com a tag daquela linha da cache, se a comparação der certo, o valor foi encontrado, e os bits de offset são usados para selecionar o byte correto
7 Exemplo: cache com 64 blocos, 16 bytes/bloco em qual bloco está mapeado o endereço 1200? o endereço é 1200/16 = 75 o número do bloco é 75 módulo 64 = 11 Write-Through: quando ocorre um hit de escrita, além de escrever na cache, escreve também na memória mas isso aumenta o tempo de escrita, portanto existe um buffer de escrita, que guarda os dados a serem escritos na memória, e só atrasa caso o buffer já esteja cheio Write-Back: em caso de hit de escrita, escreve somente no bloco na cache mas isso requer um bit para saber se cada bloco está sujo ou não e somente quando um bloco sujo é trocado na cache que é feita a escrita na memória Exemplo: 1 ciclo de barramento para transferência de endereço 15 ciclos a cada acesso na DRAM 1 ciclo para transferência de dados para um bloco de 4 palavras e DRAM de 1 palavra de largura a penalidade é de = 65 ciclos Performance: Memory stall cycles = Memory accesses Miss rate Miss penalty Program = Instructions Program Misses Miss penalty Instruction
8 Exemplo: dados: miss de instrução: 2% miss de dados: 4% penalidade por miss: 100 ciclos CPI base: 2 loads e stores são 36% das instruções então: miss por instrução: 0, = 2 miss de dados: 0, 36 0, = 1, 44 CPI atual: , 44 = 5, 44 Average Access Time: Average memory access time(amat) = Hit time + Miss rate Miss penalty Exemplo: CPU com clock de 1ns, tempo de hit de 1 ciclo, penalidade de miss de 20 ciclos e taxa de miss da I-Cache de 5% AMAT = 1 + 0, = 2ns, 2 ciclos por instrução Cache totalmente associativa: os blocos podem ir em qualquer posição custa mais caro pois é necessário procurar o bloco desejado em todas as posições da cache Cache associativa em n-vias: cada divisão possui n entradas o número do bloco desejado determina a divisão (número do bloco) módulo (número de divisões na cache) é necessário procurar o bloco desejado dentre os blocos de uma das divisões Substituição de blocos na cache: Least Recently Used (LRU): remove o bloco que está a mais tempo sem ser usado Random: remove aleatoriamente, melhor para caches com alta associatividade Memória Virtual: usa a memória pricipal como cache para o disco, e é gerenciada por hardware e pelo SO Página: equivalente a um bloco de cache
9 Page fault: equivalente a um miss de cache em caso de page fault é necessário buscar a página na memória física, e isso demora milhões de ciclos, portanto pode-se usar algoritmos em software para gerenciamento sem maior perda de performance existe um vetor de entradas de página, indexado pelo número da página virtual, e o conteúdo lá guardado é o endereço da informação no disco Translation Look-aside Buffer (TLB): usado para traduzir endereço virtual para endereço físico Motivo de Misses: Miss compulsório: miss gerado pelo primeiro acesso a um bloco Miss de capacidade: miss gerado quando a cache está cheia e um bloco precisou ser trocado e depois foi acessado Miss de conflito: miss gerado quando uma divisão da cache está cheia e um bloco precisa ser trocado e depois é acessado Trade-offs: mudança efeito na taxa de miss efeito negativo aumentar o tamanho da cache diminui miss de capacidade pode aumentar tempo de acesso aumentar associatividade diminui miss de conflito pode aumentar tempo de acesso aumentar tamanho do bloco diminui miss compulsório aumenta a penalidade do miss e para blocos muito grandes pode aumentar a taxa de miss devido a poluição Exemplo: dados: blocos de 4 palvras (16 bytes) cache de 16KB (1024 blocos) endereços de 32 bits bit de validade e dirty em cada bloco então: é necessário um offset de 4bits, pois cada bloco tem 4 palavras é necessário um index de 10bits, pois há 2 10 blocos o restante (18 bits) é tag I/O MTTF: Mean time to failure
10 MTTR: MTBF: Mean time to repair Mean time between failures MTBF = MTTF + MTTR Availability: MTTF MTTF + MTTR Custos do disco: delay da fila, caso outros acessos estejam pendentes seek: mover a cabeça de leitura latência de rotação transferência de dados overhead do controlador Exemplo: dados: setor de 512B rpm seek médio de 4ms taxa de transferência de 100MB/s overhead de controlador de 0.2ms disco idle (sem acessos pendentes) então: tempo médio de leitura: 4ms + 0, (=2ms) 60 tempo de seek 512B + 100MB/s (=0,005ms) + 0.2ms delay do controlador = 6.2ms 0,5 pois assume-se meia rotação e divide-se a rpm por 60 para obter o número de rotações por segundo tempo de transferência de um setor Barramentos:
11 Processador-Memória: pequeno, alta velocidade, design depende da organização da memória I/O: longo, permite multipla conexão, especificado para interoperabiidade, conectase ao barramento de processador-memória por um bridge Direct Memory Access (DMA): usado para transferência de e para a memória assincronamente, e quando termina gera uma interrupção para o SO saber se deu erro ou se terminou com sucesso para garantir coerência pode-se dar flush nos blocos da cache que serão usados pelo DMA, ou usar locais de memória que não vão para a cache para uso de I/O Redundant Array of Inexpensive Disks (RAID) usa vários disco pequenos ao invés de um disco grande paralelismo melhora a performance e vários discos provém redundância de armazenamento RAID 0: sem redundância separa os dados em listras nos discos melhora a performance RAID 1: espelhagem dos dados N + N discos escreve em ambos os discos em caso de falha, lê-se do disco espelhado RAID 2: código de correção de erro N + E discos separa os dados em N discos gera um código de correção de erro de E bits muito complexo e pouco usado RAID 3: N + 1 discos dados separados em N discos a nível de byte disco redundante guarda a paridade para ler, lê-se todos os discos para escrever, cria a nova paridade e atualiza todos os discos em caso de falha, usa a paridade para reconstruir os dados perdidos também não muito usado RAID 4: N + 1 discos dados separados em N discos a nível de blocos disco redundante guarda a paridade para ler, lê-se somente o disco com o bloco desejado
12 para escrever, lê o disco com o bloco modificado e o disco de paridade, depois calcula-se a nova paridade e atualiza os 2 discos em caso de falha, usa o disco de paridade para reconstruir os dados perdiso RAID 5: N + 1 discos semelhante a RAID 4, mas o bloco de paridade está distribuído entre os discos evita o gargalo do disco de paridade RAID 6: redundância P + Q N + 2 discos semelhante a RAID 5, mas com 2 conjuntos de paridade maior tolerância a falha através de mais redundância
13 Exemplo: dados: leituras de disco de 64KB cada operação de leitura requer 200k instruções de usuário e 100k instruções de SO 8 CPUS, cada uma com 10 9 instruções por segundo Front side bus com pico de 10,6GB por segundo (liga o processador e as memórias) (uso real de 25% desse valor) DRAM de 5,336GB por segundo barramento de PCI-E de 8 250MB por segundo (2GB por segundo) discos com rpm, tempo médio de seek de 2.9ms e taxa de transferência de 112MB por segundo então, qual a taxa de I/O para leituras aleatórias e leituras sequenciais? para leituras aleatórias: tempo do disco = seek + latência + transferência = 2.9ms + 4ms + 64KB = 3,3 ms MB/s 1 portanto, 303 ( ) operações por segundo por disco, e 2424 operações 3 3, 3 10 por segundo para os 8 discos para leituras sequenciais: tempo do disco = 112MB/s 64KB = 1750 operações por segundo por disco portanto operações por segundo para os 8 discos como o disco é sempre o gargalo, não é necessário calcular os outros valores
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 maisCapí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 maisArquitetura 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 maisPrincí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 maisInfraestrutura 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 maisSSC0611 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 maisMIPS 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 maisAula 16: Memória Principal e Memória Virtual
Aula 16: Memória Principal e Memória Virtual Memória Principal Performance na memória principal: Latência: Miss Penalty na Cache Access Time: tempo entre requisição e retorno de palavra Cycle Time:
Leia maislw, 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 maisAULA 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 maisOtimizaçã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 maisArquitetura 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 maisHierarquia 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 maisArquitetura de Computadores. Hierarquia de Memória. Prof. Msc. Eduardo Luzeiro Feitosa
Arquitetura de Computadores Hierarquia de Memória Prof. Msc. Eduardo Luzeiro Feitosa efeitosa@dcc.ufam.edu.br 1 Introdução Conteúdo Exemplo da biblioteca Princípio da localidade Hierarquia de memória Cache
Leia maisHierarquia 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 maisHierarquia de Memória
No projeto de um sistema digital, deve-se ter em mente que hardware menor geralmente é mais rápido do que hardware maior. A propagação do sinal é uma das principais causas de atrasos. No caso da memória,
Leia maisInfraestrutura 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 maisCapí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 maisCache. 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 maisHierarquia de memória
Hierarquia de memória Capítulo 6, Secção.{3..} Caches Slides adaptados dos slides do professor Pedro Pereira Consultar slides originais no moodle Centro de Cálculo Instituto Superior de Engenharia de Lisboa
Leia maisÉ 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 maisHierarquia 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 maisIntroduçã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 maisPipeline. 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 maisOrganizaçã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 maisInfraestrutura de Hardware. Explorando a Hierarquia de Memória
Infraestrutura de Hardware Explorando 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 executado pelo
Leia maisGerenciamento 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 maisAula 16: Memória Principal e Memória Virtual
Aula 16: Memória Principal e Memória Virtual Memória Principal Performance na memória principal: Latência: Miss Penalty na Cache Access Time: tempo entre requisição e retorno de palavra Cycle Time: tempo
Leia maisMemó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 maisTó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 maisOrganização e Arquitetura de Computadores
Organização e Arquitetura de Computadores Hierarquia de Memória: Introdução Alexandre Amory Edson Moreno Nas Aulas Anteriores Computação Organização interna de CPU Parte operativa: Lógica combinacional
Leia maisRegistradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture
Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture
Leia maisRelembrando 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 maisO Processador: Via de Dados e Controle
O Processador: Via de Dados e Controle Ch5A Via de Dados e Controle Implementação da arquitetura MIPS Visão simplificada de uma arquitetura monociclo Instruções de memória: lw, sw Instruções lógicas aritméticas:
Leia maisArquitetura 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 maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 5ª e 6ª Aulas Revisão de Hierarquia de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação
Leia maisExplorando o paralelismo entre instruções
Explorando o paralelismo entre instruções Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Pipeline Pipeline: Uma idéia natural Linhas de montagem
Leia maisRelembrando 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 mais5 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 maisMemoria. 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 maisTempo de processador desperdiçado a fazer nada. Processor register 1 clock cycle (0.5 2 GHz) $??? DRAM semiconductor memory ns $10 $20
Caches Cache Acesso à memória é lento Tempo de processador desperdiçado a fazer nada CPU Memória Memory technology Typical access time $ per GiB in 2012 Processor register 1 clock cycle (0.5 ns @ 2 GHz)
Leia maisMemó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 maisELECTRÓ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 maisMemória Cache Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h
Memória Cache Prof. Rômulo Calado Pantaleão Camara Carga Horária: 60h Memória Cache Memória Principal Vs. Cache Fichário Quadro Pasta O fichário representa o disco rígido. A pasta sobre a mesa representa
Leia maisPipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:
Pipeline Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.Osório] Estrutura da CPU Em cada ciclo,
Leia maisNíveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup
Memória Níveis de memória Diferentes velocidades de acesso Pequeno Alto(a) Cache RAM Auxiliar Auxiliar-Backup Memória Cache altíssima velocidade de acesso acelerar o processo de busca de informações na
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 20ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Princípios básicos Definição: Tamanho da cache Tamanho do bloco Função de
Leia maisInfraestrutura 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 maisArquiteturas 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 maisSSC0510 Arquitetura de Computadores
SSC0510 Arquitetura de Computadores 9ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória
Leia maisDataPath 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 maisInstituto de Matemática e Estatística - USP MAC Organização de Computadores EP1. Experimentos com o cache. Tiago Andrade Togores
Instituto de Matemática e Estatística - USP MAC0412 - Organização de Computadores EP1 Experimentos com o cache Tiago Andrade Togores - 6514230 30 de setembro de 2010 Sumário 1 Introdução 2 1.1 O que é
Leia maisMemó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 maisResumã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 maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 10ª Aula Pipeline Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Dependências ou Conflitos (Hazards) Conflitos Estruturais Pode haver acessos simultâneos à memória
Leia maisFUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres
FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5 Cristina Boeres Mapeamento Associativo por Conjunto! Tenta resolver o problema de conflito de blocos na mesma linha (mapeamento
Leia maisInstituto 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 maisPARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Instruções são representadas em linguagem de máquina (binário) E x i s t e m l i n g u a g e n
Leia maisMemória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP
Departamento de Ciência da Computação - UFF Memória Cache Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Memória Cache Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade
Leia maisInfraestrutura 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 mais1. 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 maisArquitetura de Computadores
Departamento de Ciência da Computação Bacharelado em Ciência da Computação Arquitetura de Computadores Hierarquia de Memória Gabriel P. Silva Ementa Unidade 3: Hierarquia de Memória 3.1 Registradores 3.2
Leia maisORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL
ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL MEMÓRIA Componente de um sistema de computação cuja função é armazenar informações que são manipuladas pelo sistema para que possam ser recuperadas
Leia maishttp://www.ic.uff.br/~debora/fac! 1 Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e escrita Capacidade 2 Componente de um sistema
Leia maisMemória Principal. Tiago Alves de Oliveira
Memória Principal Tiago Alves de Oliveira tiago@div.cefetmg.br Memória Principal Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal Organização Operações de leitura e
Leia maisMemória 21/05/2010. Introdução. Hierarquia de Memória. Hierarquia de Memória. Arquitetura de Computadores
Introdução Arquitetura de Computadores Profa. Delfa H. Zuasnábar A memória pode ser definida como um local para armazenamento de informações, onde as duas únicas ações possíveis são a leitura e a escrita.
Leia maisMemória Cache. Adriano J. Holanda. 12 e 16/5/2017
Memória Cache Adriano J Holanda 12 e 16/5/2017 Memória: princípios físicos Revisão: Hierarquia de memória; Memória RAM: estática, dinâmica; Memória ROM: PROM, EPROM, EEPROM; Memória flash Memória: fundamentos
Leia maisTecnologias de Memória
Microcontroladores e Interfaces 3º Ano Eng. Electrónica Industrial Carlos A. Silva 2º Semestre de 2005/2006 http://www.dei.uminho.pt/lic/mint Assunto: Sistema de Memória Aula #8 2Maio06-M Memórias SRAM:
Leia maisMicrocontroladores 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 Assunto: Sistema de Memória Aula #8 2 Maio 06 - M Memórias
Leia maisOrganização e Arquitetura de Computadores. Ivan Saraiva Silva
Organização e Arquitetura de Computadores Hierarquia de Memória Ivan Saraiva Silva Hierarquia de Memória A Organização de Memória em um computador é feita de forma hierárquica Registradores, Cache Memória
Leia maisSSC0902 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 maisProf. 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 mais1. Esta lista de exercícios poderá ser resolvida em grupo com no máximo 3 integrantes.
INSTRUÇÕES: Instituto Federal de Educação, Ciência e Tecnologia 1. Esta lista de exercícios poderá ser resolvida em grupo com no máximo 3 integrantes. 2. Caso você ache que falta algum detalhe nas especificações,
Leia maisHierarquia de Memória
Hierarquia de Memória Introdução e Análise do Desempenho AC1 Hierarquia da Memória: Análise do Desempenho 1 Hierarquia de Memória A velocidade dos processadores tem aumentado muito mais rapidamente do
Leia maisOrganização de Computadores
Organização de Computadores Aula 21 Memória Cache Rodrigo Hausen 21 de outubro de 2011 http://cuco.pro.br/ach2034 1/49 Apresentação 1. Bases Teóricas 2. Organização de computadores... 2.2. Execução de
Leia maisArquitetura de Computadores. Memórias
Arquitetura de Computadores Memórias Relembrando Arquitetura de Von Neuman Memória Acesso por palavra Programas são armazenados aqui Controlador de memoria Dispositivos de entrada Dispositivos de saída
Leia maisOrganização de Computadores
Organização do Processador - Parte A Capítulo 5 Patterson & Hennessy Prof. Fábio M. Costa Instituto de Informática Universidade Federal de Goiás Conteúdo Caminho de dados Caminho de controle Implementação
Leia maisMemória cache (cont.) Sistemas de Computação
Memória cache (cont.) Sistemas de Computação Memórias cache CPU procura por dados em L, depois em L2 e finalmente na memória principal CPU registradores barramento de cache L cache ALU barramento de sistema
Leia maisEntrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -
Capítulo 5 Afirmações Entrada/Saída Introdução Processos se comunicam com o mundo externo através de dispositivos de E/S. Processos não querem ou não precisam entender como funciona o hardware. Função
Leia maisPeriféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída
Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que UCP e Memória Necessita-se de módulos
Leia maishttp://www.ic.uff.br/~debora/fac! 1 Periféricos possuem características diferentes Geram diferentes quantidades de dados Em velocidades diferentes Em formatos diferentes Periféricos são mais lentos que
Leia maisSSC0114 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 maisMemória cache segunda parte. Organização de Computadores. Aula 17. Memória cache segunda parte. 1. Mapeamento completamente associativo
Universidade Federal do Rio Grande do Sul Instituto de Informática Memória segunda parte Organização de Computadores 1. Mapeamento completamente associativo 2. Mapeamento direto 3. Mapeamento conjunto
Leia maisArquitectura de Computadores MEEC (2013/14 2º Sem.)
Arquitectura de Computadores MEEC (2013/14 2º Sem.) Unidade de Memória Prof. Nuno Horta PLANEAMENTO Introdução Unidade de Processamento Unidade de Controlo Arquitectura do Conjunto de Instruções Unidade
Leia maisCapítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache
Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade Funcionamento da memória cache Elementos de projeto de memória cache Mapeamento de dados MP/cache Algoritmos de substituição de dados
Leia maisInfra-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 maisHierarquia de memória. Melhorando o desempenho
Hierarquia de memória Melhorando o desempenho Desempenho de uma CPU CPU time_sem_mem = #instruções x CPI x Clk_período CPU time = CPU time_sem_mem + Memória time CPU time = (CPU ciclos_sem_mem + Memória
Leia maisI. 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ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache
Departamento de Ciência da Computação - UFF Principal Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br Principal ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória
Leia maisMicrocontroladores 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 maisCAPÍ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 maisMemó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 maisSistemas de Entrada e Saída
Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 33 Sumário 1 Dispositivos de E/S 2 Interrupções 3 Software de E/S 2
Leia maisMicroprocessadores. Memórias
s António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Arquitectura de Microcomputador Modelo de Von Neumann Barramento de Endereços µprocessador Entrada/Saída Barramento
Leia maisArquitetura 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 maisUNIDADE 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 maisOrganização e Arquitetura de computadores
Organização e Arquitetura de computadores Revisão: hierarquia de memória Utilização do conceito da localidade para apresentar ao usuário toda a quantidade de memória disponível no sistema processador 4-8
Leia maisPipelining. 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 maisBarramento. 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