Instituto de Matemática e Estatística - USP MAC Organização de Computadores EP1. Experimentos com o cache. Tiago Andrade Togores
|
|
- Ivan Rocha
- 5 Há anos
- Visualizações:
Transcrição
1 Instituto de Matemática e Estatística - USP MAC Organização de Computadores EP1 Experimentos com o cache Tiago Andrade Togores de setembro de 2010
2 Sumário 1 Introdução O que é o Cache Funcionamento do Cache Associatividade Níveis de Cache Testes Hardware Utilizado Teste 1 - Percorrendo Matrizes O problema Tempo Aproveitamento do cache Teste 2 - Somando Vetores O problema Tempo Aproveitamento do cache Teste 3 - Memória Compartilhada entre Cores
3 1 Introdução 1.1 O que é o Cache O cache é uma memória menor e mais rápida, usada pelo processador, que guarda cópias de dados dos endereços de memória mais utilizados. Como a maioria dos acessos à memória são feitas a endereços que estão no cache, a latência média do acesso à memória é mais próxima da latência do cache do que da latência da memória principal. Os processadores mais modernos possuem principalmente 2 tipos independentes de cache: Cache de Instrução (apenas leitura) Cache de Dados (leitura e escrita) Cada local da memória principal é constituída de: Endereço: identificador único do local Dados Já cada local do cache: Endereço: identificador único do local Tag: endereço da memória que foi colocada no cache Figura 1: Esquema do Cache Dados: cópia dos dados de um certo endereço de memória 1.2 Funcionamento do Cache Quando o processador precisa escrever (ou ler) num endereço da memória principal, ele primeiro checa se esse endereço está no cache, comparando-o com todas as tags do cache que podem contê-lo. Quando o processador acha um local de memória no cache, ocorre um cache hit. Caso contrário, um cache miss. A proporção de cache hit e acessos é chamada de hit rate e é uma medida da eficiência do cache para um certo programa ou algoritmo. O aproveitamento da velocidade da memória cache do CPU é essencial para que um programa seja rápido. O hit rate será analisado nos testes a seguir. No caso de um cache hit, o processador imediatamente lê do cache. Se a operação requisitada for de escrita, existem diferentes políticas que podem ser utilizadas. Toda escrita no cache pode causar uma escrita imediata à memória (write-through); Uma alternativa é marcar o bloco do cache com um dirty bit. Quando este bloco for removido do cache e o dirty bit for 1, a escrita é realizada (write-back). Podemos ter outras políticas intermediárias também. No caso de um cache miss, uma nova entrada é alocada no cache, contendo o endereço de memória que anteriormente não estava numa das tags e uma cópia dos dados associados. Se for uma operação de leitura de instrução, há um atraso na execução, pois é preciso esperar uma transferência de dados de uma memória mais lenta. Se for leitura de dados, há um atraso menor, já que instruções que não dependem desse dado podem continuar a ser executadas. Diferentemente da escrita, que pode ser feita em background. 2
4 Para alocar um novo bloco no cache, um existente tem de ser removido. Para isso há várias políticas diferentes. Uma popular é a de substituir a entrada mais antiga. Alguns trechos de memória também podem ser definidos de modo que não possam ser colocados no cache, melhorando a performance, se aplicado a trechos que quase nunca são usados. Neste caso, cache misses são ignorados. Os dados na memória principal podem ser modificados por outros cores, fazendo com o que a cópia armazenada no cache se torne desatualizada. Por isso, devem existir protocolos de comunicação entre gerenciadores de cache em sistema multi-core. 1.3 Associatividade Cada trecho de memória pode ser associado a uma ou mais posições no cache, isto é, pode ser guardado em apenas certas posições (não pode aparecer em mais de uma simultaneamente). Quanto mais associações, mais tempo de busca no cache, porém menor chance de ocorrer um cache miss. Tipos de Associação: Direct: cada trecho de memória pode ser associado a uma única posição no cache; 2-Way: cada trecho de memória pode ser associado a duas posições no cache; 4-Way: cada trecho de memória pode ser associado a quatro posições no cache; 8-Way: cada trecho de memória pode ser associado a oito posições no cache; Full: cada trecho de memória pode ser associado a qualquer posição no cache; Figura 2: Quantidade de Cache Misses em função da associatividade e do tamanho do cache 3
5 1.4 Níveis de Cache Uma questão importante é a latência do cache contra seu hit rate. Maiores caches possuem maiores hit rates porém maior latência. Para atenuar esse problema, os computadores mais modernos usam diversos níveis de cache. Há uma pirâmide do cache menor e mais rápido até maior e mais lento. A busca por um endereço de memória no cache começa no menor e prossegue até que ele seja achado, seja em alguns dos níveis do cache ou na memória principal. Os níveis são: L1: interno, pode ser dividido em dois independentes: I1: cache de instrução D1: cache de dados L2: interno, cache unificado de instruções e dados L3: geralmente externo a CPU Nota-se também que podemos definir os registradores de uma CPU como sendo o cache mais rápido do sistema. 4
6 2 Testes 2.1 Hardware Utilizado Processador: Intel Core 2 Duo T6500 Cores: 2 Clock: 2.1 GHz I1: 32KB, 8-way, 64B lines D1: 32KB, 8-way, 64B lines L2: 2MB, 8-way, 64B lines 2.2 Teste 1 - Percorrendo Matrizes O problema Cada linha da matriz é alocada dinâmica e separadamente. Logo, quando se percorre a matriz por linhas, cada linha (segmento de memória) é percorrida de uma vez e sequencialmente. Quando se percorre por colunas, na n-ésima iteração olha-se para os n-ésimos elementos de cada linha. Do ponto de vista do cache, percorrer a matriz por linhas significa guardar cada linha no cache de uma vez, e percorrê-la de forma rápida. Já para percorrer por colunas, a cada iteração o cache tem que ser atualizado vários vezes, para pegar os elementos de cada linha. Daí a diferença de tempo Tempo Dimensão da Matriz Tempo por Linha Tempo por Coluna 100 x x x x x x x Tabela 1: Relação do tempo de execução do programa (em segundos) com a dimensão da matriz Observação: Foram feitas 10 amostras para cada dimensão da matriz observada na tabela A partir de 500, fica perceptível a diferença de tempo Aproveitamento do cache Dados do Valgrind: Dimensão: 500 Por linhas ==7678== I refs: 3,120,268 ==7678== I1 misses: 707 ==7678== L2i misses: 704 ==7678== I1 miss rate: 0.02% 5
7 ==7678== L2i miss rate: 0.02% ==7678== ==7678== D refs: 1,933,542 (1,630,481 rd + 303,061 wr) ==7678== D1 misses: 18,810 ( 2,386 rd + 16,424 wr) ==7678== L2d misses: 17,315 ( 1,425 rd + 15,890 wr) ==7678== D1 miss rate: 0.9% ( 0.1% + 5.4% ) ==7678== L2d miss rate: 0.8% ( 0.0% + 5.2% ) ==7678== ==7678== L2 refs: 19,517 ( 3,093 rd + 16,424 wr) ==7678== L2 misses: 18,019 ( 2,129 rd + 15,890 wr) ==7678== L2 miss rate: 0.3% ( 0.0% + 5.2% ) Por colunas ==7689== I refs: 3,120,256 ==7689== I1 misses: 708 ==7689== L2i misses: 705 ==7689== I1 miss rate: 0.02% ==7689== L2i miss rate: 0.02% ==7689== ==7689== D refs: 1,933,542 (1,630,481 rd + 303,061 wr) ==7689== D1 misses: 137,276 ( 11,804 rd + 125,472 wr) ==7689== L2d misses: 17,315 ( 1,425 rd + 15,890 wr) ==7689== D1 miss rate: 7.0% ( 0.7% % ) ==7689== L2d miss rate: 0.8% ( 0.0% + 5.2% ) ==7689== ==7689== L2 refs: 137,984 ( 12,512 rd + 125,472 wr) ==7689== L2 misses: 18,020 ( 2,130 rd + 15,890 wr) ==7689== L2 miss rate: 0.3% ( 0.0% + 5.2% ) Dimensão: 1000 Por linhas ==7750== I refs: 11,552,026 ==7750== I1 misses: 706 ==7750== L2i misses: 703 ==7750== I1 miss rate: 0.00% ==7750== L2i miss rate: 0.00% ==7750== ==7750== D refs: 7,275,552 (6,194,309 rd + 1,081,243 wr) ==7750== D1 misses: 66,842 ( 2,949 rd + 63,893 wr) ==7750== L2d misses: 65,413 ( 2,062 rd + 63,351 wr) ==7750== D1 miss rate: 0.9% ( 0.0% + 5.9% ) ==7750== L2d miss rate: 0.8% ( 0.0% + 5.8% ) ==7750== ==7750== L2 refs: 67,548 ( 3,655 rd + 63,893 wr) ==7750== L2 misses: 66,116 ( 2,765 rd + 63,351 wr) ==7750== L2 miss rate: 0.3% ( 0.0% + 5.8% ) Por colunas 6
8 ==7766== I refs: 11,552,014 ==7766== I1 misses: 707 ==7766== L2i misses: 704 ==7766== I1 miss rate: 0.00% ==7766== L2i miss rate: 0.00% ==7766== ==7766== D refs: 7,275,552 (6,194,309 rd + 1,081,243 wr) ==7766== D1 misses: 1,067,150 ( 65,886 rd + 1,001,264 wr) ==7766== L2d misses: 65,393 ( 1,645 rd + 63,748 wr) ==7766== D1 miss rate: 14.6% ( 1.0% % ) ==7766== L2d miss rate: 0.8% ( 0.0% + 5.8% ) ==7766== ==7766== L2 refs: 1,067,857 ( 66,593 rd + 1,001,264 wr) ==7766== L2 misses: 66,097 ( 2,349 rd + 63,748 wr) ==7766== L2 miss rate: 0.3% ( 0.0% + 5.8% ) Dimensão: 2500 Por linhas ==7795== I refs: 70,031,320 ==7795== I1 misses: 719 ==7795== L2i misses: 716 ==7795== I1 miss rate: 0.00% ==7795== L2i miss rate: 0.00% ==7795== ==7795== D refs: 44,411,072 (37,956,799 rd + 6,454,273 wr) ==7795== D1 misses: 398,516 ( 4,680 rd + 393,836 wr) ==7795== L2d misses: 397,960 ( 4,347 rd + 393,613 wr) ==7795== D1 miss rate: 0.8% ( 0.0% + 6.1% ) ==7795== L2d miss rate: 0.8% ( 0.0% + 6.0% ) ==7795== ==7795== L2 refs: 399,235 ( 5,399 rd + 393,836 wr) ==7795== L2 misses: 398,676 ( 5,063 rd + 393,613 wr) ==7795== L2 miss rate: 0.3% ( 0.0% + 6.0% ) Por colunas ==7787== I refs: 70,031,308 ==7787== I1 misses: 720 ==7787== L2i misses: 717 ==7787== I1 miss rate: 0.00% ==7787== L2i miss rate: 0.00% ==7787== ==7787== D refs: 44,411,072 (37,956,799 rd + 6,454,273 wr) ==7787== D1 misses: 6,649,913 ( 397,023 rd + 6,252,890 wr) ==7787== L2d misses: 4,544,049 ( 13,515 rd + 4,530,534 wr) ==7787== D1 miss rate: 14.9% ( 1.0% % ) ==7787== L2d miss rate: 10.2% ( 0.0% % ) ==7787== ==7787== L2 refs: 6,650,633 ( 397,743 rd + 6,252,890 wr) ==7787== L2 misses: 4,544,766 ( 14,232 rd + 4,530,534 wr) 7
9 ==7787== L2 miss rate: 3.9% ( 0.0% % ) Dimensão: Por linhas ==7808== I refs: 1,104,715,447 ==7808== I1 misses: 721 ==7808== L2i misses: 718 ==7808== I1 miss rate: 0.00% ==7808== L2i miss rate: 0.00% ==7808== ==7808== D refs: 702,429,273 (601,667,877 rd + 100,761,396 wr) ==7808== D1 misses: 6,276,952 ( 13,835 rd + 6,263,117 wr) ==7808== L2d misses: 6,276,597 ( 13,525 rd + 6,263,072 wr) ==7808== D1 miss rate: 0.8% ( 0.0% + 6.2% ) ==7808== L2d miss rate: 0.8% ( 0.0% + 6.2% ) ==7808== ==7808== L2 refs: 6,277,673 ( 14,556 rd + 6,263,117 wr) ==7808== L2 misses: 6,277,315 ( 14,243 rd + 6,263,072 wr) ==7808== L2 miss rate: 0.3% ( 0.0% + 6.2% ) Por colunas ==7820== I refs: 1,104,715,435 ==7820== I1 misses: 722 ==7820== L2i misses: 719 ==7820== I1 miss rate: 0.00% ==7820== L2i miss rate: 0.00% ==7820== ==7820== D refs: 702,429,273 (601,667,877 rd + 100,761,396 wr) ==7820== D1 misses: 106,284,781 ( 6,273,208 rd + 100,011,573 wr) ==7820== L2d misses: 98,399,803 ( 94,498 rd + 98,305,305 wr) ==7820== D1 miss rate: 15.1% ( 1.0% % ) ==7820== L2d miss rate: 14.0% ( 0.0% % ) ==7820== ==7820== L2 refs: 106,285,503 ( 6,273,930 rd + 100,011,573 wr) ==7820== L2 misses: 98,400,522 ( 95,217 rd + 98,305,305 wr) ==7820== L2 miss rate: 5.4% ( 0.0% % ) Uma matriz 500x500 de inteiros em C ocupa um espaço de memória de aproximadamente 1MB, e como o cache tem 2MB, o cache miss ratio ainda é baixo nesse caso. Se observamos um valor de dimensão 1000, por exemplo, vemos que o D1 miss rate é bastante perceptível: 15.1%. 2.3 Teste 2 - Somando Vetores O problema Se percorremos vetores sequencialmente, podemos colocar grandes blocos deles no cache de cada vez (não importa o quão grande ele seja), e fazer instruções necessárias sequencialmente, sem ter que recolocar blocos iguais no cache mais de uma vez. 8
10 Entretanto, se percorremos com pulos, blocos terão que ser recolocados no cache mais de uma vez, pois voltamos ao início do vetor mais de uma vez (até que ele termine), causando uma perda de eficiência Tempo Offset Tempo Tabela 2: Relação do tempo de execução do programa (em segundos) com o offset Observação: Foram feitas 10 amostras para cada dimensão da matriz observada na tabela Aproveitamento do cache Offset = 1 ==7911== I refs: 2,320,188,579 ==7911== I1 misses: 687 ==7911== L2i misses: 684 ==7911== I1 miss rate: 0.00% ==7911== L2i miss rate: 0.00% ==7911== ==7911== D refs: 1,339,448,551 (869,423,021 rd + 470,025,530 wr) ==7911== D1 misses: 3,127,045 ( 1,251,840 rd + 1,875,205 wr) ==7911== L2d misses: 3,126,713 ( 1,251,524 rd + 1,875,189 wr) ==7911== D1 miss rate: 0.2% ( 0.1% + 0.3% ) ==7911== L2d miss rate: 0.2% ( 0.1% + 0.3% ) ==7911== ==7911== L2 refs: 3,127,732 ( 1,252,527 rd + 1,875,205 wr) ==7911== L2 misses: 3,127,397 ( 1,252,208 rd + 1,875,189 wr) ==7911== L2 miss rate: 0.0% ( 0.0% + 0.3% ) Offset = 600 ==8187== ==8187== I refs: 2,320,195,646 ==8187== I1 misses: 702 ==8187== L2i misses: 699 ==8187== I1 miss rate: 0.00% ==8187== L2i miss rate: 0.00% ==8187== ==8187== D refs: 1,339,452,730 (869,426,414 rd + 470,026,316 wr) 9
11 ==8187== D1 misses: 31,252,050 ( 20,001,846 rd + 11,250,204 wr) ==8187== L2d misses: 31,251,715 ( 20,001,527 rd + 11,250,188 wr) ==8187== D1 miss rate: 2.3% ( 2.3% + 2.3% ) ==8187== L2d miss rate: 2.3% ( 2.3% + 2.3% ) ==8187== ==8187== L2 refs: 31,252,752 ( 20,002,548 rd + 11,250,204 wr) ==8187== L2 misses: 31,252,414 ( 20,002,226 rd + 11,250,188 wr) ==8187== L2 miss rate: 0.8% ( 0.6% + 2.3% ) O desempenho fica pior para valores em torno de Teste 3 - Memória Compartilhada entre Cores O tempo para rodar o programa foi de segundos. Como ele possui dois processos que utilizam memória compartilhada, cada vez que modificam um valor dela, os caches dos 2 cores tem que ser atualizados, causando uma perda de eficiência. 10
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 maisExperimentos com o Cache Organização de Computadores
Experimentos com o Cache Organização de Computadores Bruno Milan Perfetto - n o USP : 6552421 Steven Koiti Tsukamoto - n o USP : 6431089 Departamento de Ciência da Computação Instituto de Matemática e
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 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 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 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 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 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 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 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 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 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 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 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 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 maisCEFET-RS Curso de Eletrônica
CEFET-RS Curso de Eletrônica 3.2 - Cache Profs. Roberta Nobre & Sandro Silva robertacnobre@gmail.com e sandro@cefetrs.tche.br Cache Wait States CPU Principal Durante o processamento normal, o processador
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 maisARQUITETURA DE COMPUTADORES
ARQUITETURA DE COMPUTADORES É pouco provável a utilização de um micro hoje em dia sem cache de memória, um sistema que utiliza uma pequena quantidade de memória estática como intermediária no acesso à
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 maisArquitectura de Computadores
Arquitectura de Computadores Memória Cache; Memória Secundária (13.3) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior
Leia maisCorreção de Erros. Erros de memória de semicondutores podem ser:
Correção de Erros Erros de memória de semicondutores podem ser: Erros graves que constitui um defeito físico permanente; Erros moderados, onde a(s) célula(s) não são capazes de armazenar os dados ou fazem
Leia maisFUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres
FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5 Cristina Boeres Introdução! Diferença de velocidade entre Processador e MP O processador executa uma operação rapidamente e fica em
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 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 maisArquitectura 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 maisAula 13: Memória Cache
Aula 13: Memória Cache Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Memória Cache FAC 1 / 53 Memória Cache Diego Passos (UFF) Memória:
Leia maisAULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual
AULA Nº 11 SISTEMAS OPERACIONAIS Técnicas de Memória Virtual 1 Contextualizando Vimos Introdução ao Gerenciamento de Memória Agora Técnicas de Memória Virtual 2 O que é Memória Virtual (MV)? É uma técnica
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. 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 maisMemória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII
Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII Permitir o compartilhamento seguro e eficiente da memória entre vários programas Remover os transtornos de programação de uma quatidade pequena e limitada
Leia maisInstituto de Matemática e Estatística - USP MAC Organização de Computadores. EP1 - Experimentos com o cache
Instituto de Matemática e Estatística - USP MAC0412 - Organização de Computadores Relatório EP1 - Experimentos com o cache Ana Luiza Domingues Fernandez Basalo - 6431109 29 de setembro de 2010 Sumário
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 maisPCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca
PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 4. MEMÓRIA 2 4. MEMÓRIA A memória é um componente essencial de todo computador, sendo utilizada para armazenar as instruções a serem
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 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 maisAula 12. Gerência de Memória - Paginação
Aula 12 Gerência de Memória - Paginação 11 Gerência de memória- o contexto da paginação 12 O que é a paginação 13 Implementação 14 Referências: Capítulo 9 (94) O contexto da paginação Revisão de gerência
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 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 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 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 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 maisOrganização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Memória Cache Slide 1 Introdução Tamanho Função de Mapeamento Política de Escrita Tamanho da Linha Número de Memórias Cache Cache em Níveis Slide 2 Introdução
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 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 maisSistemas Opera r cionais Gerência de Memória
Sistemas Operacionais Gerência de Memória Gerência de Memória Idealmente, o que todo programador deseja é dispor de uma memória que seja grande rápida não volátil Hierarquia de memórias pequena quantidade
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 maisSistemas de Memória II
Sistemas de Memória II José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2014-11-21 José Costa (DEI/IST) Sistemas de Memória II
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 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 maisCAP-387(2016) Tópicos Especiais em
CP-387(2016) Tópicos Especiais em Computação plicada: Construção de plicações Massivamente Paralelas ula 11: Caches e Blocagem Celso L. Mendes, Stephan Stephany LC / INPE Emails: celso.mendes@inpe.br,
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 maisHardware Conceitos Básicos. Introdução*à*Informática 14
Hardware Conceitos Básicos Introdução*à*Informática 14 Hardware Conceitos Básicos Componentes principais de um computador Introdução*à*Informática 15 Hardware Conceitos Básicos CPU (Unidade Central de
Leia maisMemória Cache endereço de memória
Memória Cache O modelo de Von Neumann estabelece que para ser executado, o programa deve estar armazenado na memória. A memória é organizada em grupos de bits chamados células (ou palavras), onde as informações
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 maisUniversidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização e Arquitetura Básicas B de (Parte II)
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 maisArquitectura interna de um computador. Organização de um computador. Organização de um computador. Organização de um computador
Arquitectura interna de um computador Descrição de uma tarefa Fases de execução de uma tarefa Unidades de execução de uma tarefa Computador como um conjunto de unidades de execução de tarefas Trabalho
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 19: Memória Virtual: Introdução Diego Passos Última Aula Paginação Método de gerenciamento de memória mais usado hoje. Espaço de endereçamento de um processo é
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar
Leia maisSistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Gerenciamento de Memória Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Memória Física vs. Memória do Programa Memória P Física Tamanho dos softwares
Leia maisComputadores 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 maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 18ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Cache Método de Acesso: Associativo Localização de dados na memória
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 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 maisWilliam Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:
Leia maisMemória Cache: Funcionamento
Microcontroladores e Interfaces º Ano Eng. Electrónica Industrial Carlos A. Silva º Semestre de 5/6 http://www.dei.uminho.pt/lic/mint Assunto: Memória Cache Aula #9 9Maio6-M Memória Cache: Funcionamento
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade III Memória Primária 29/04/204 Prof. Valeria M. Bastos ORGANIZAÇÃO DA UNIDADE Processador - Escalonamento Memória Primária Fundamentos Formas de Particionamento
Leia maisProtocolos de Coerência de Memória Cache
Universidade Federal do Rio de Janeiro Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquiteturas de Sistemas de Processamento Paralelo Protocolos de Coerência de Memória Cache Introdução Em sistemas
Leia maisParte I Multiprocessamento
Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento
Leia maisArquitetura de Microprocessadores
Arquitetura de Computadores UNIDADE 4 Arquitetura de 12-02-2019 Sumário Interrupções; Memória Cache ARQUITETURA DE UM MICROPROCESSADOR Interrupções Por vezes o CPU interrompe o seu trabalho para atender
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 maisOrganização de Computadores
Capítulo 2-B Organização de Computadores Orlando Loques setembro 2006 Referências: principal: Capítulo 2, Structured Computer Organization, A.S. Tanenbaum, (c) 2006 Pearson Education Inc Computer Organization
Leia maisArquitectura de Computadores II
O Fosso de Performance Arquitectura de Computadores II 5. Hierarquia de Memória 5.1. Cache 2004/2005 Paulo Marques Departamento de Eng. Informática Universidade de Coimbra pmarques@dei.uc.pt 2 Hierarquia
Leia mais/17. Arquitetura de Computadores Subsistemas de Memória Prof. Fred Sauer
/17 Arquitetura de Computadores Subsistemas de Memória Prof. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 2/17 S U M Á R I O PRINCÍPIO DA LOCALIDADE Conceito : gap entre processador/memória
Leia maisMemória. Conceitos gerais Hierarquia de memórias
Memória Conceitos gerais Hierarquia de memórias Memória Componente do computador onde os programas e os dados são guardados. Consistem num conjunto de células, cada uma com um identificador: endereço.
Leia maisARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio
ARQUITETURA DE COMPUTADORES Organização de Sistemas Computacionais Prof.: Agostinho S. Riofrio Agenda 1. Unidade Central de Processamento 2. Organização da CPU 3. Interpretador 4. RISC x CISC 5. Principios
Leia maisESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade
ESTRATÉGIAS DE ALOCAÇÃO AULA 11 Sistemas Operacionais Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro do Prof. Dr. Carlos Alberto Maziero, disponível no link: http://dainf.ct.utfpr.edu.br/~maziero
Leia maisDistâncias entre vértces em um grafo. Implementação sequencial
Distâncias entre vértces em um grafo Implementação sequencial André de Freitas Smaira 16 de outubro de 2013 1 1 Introdução Nesse projeto, temos por objetivo a determinação das distâncias mínimas entre
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 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 maisArranjo de Processadores
Um arranjo síncrono de processadores paralelos é chamado arranjo de processadores, consistindo de múltiplos elementos processadores (EPs) sob a supervisão de uma unidade de controle (UC) Arranjo de processadores
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 maisPIPELINE. Introdução ao Pipeline. PIPELINE Ciclo de Instruções. PIPELINE Ciclo de Instruções. PIPELINE - Exemplo. PIPELINE Considerações
Arquitetura de Computadores Introdução ao Pipeline PIPELINE Linha de Montagem A produção é dividida em várias etapas Produtos em etapas distintas podem ser desenvolvidos separadamente Pode ser Aplicado
Leia maisOrganização de Computadores I
Organização de Computadores I Aula 2 Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte2.pdf Organização de Computadores I Aula 2 1/29 Tópicos de Computação. de um Sistema de Computação..
Leia maisOrganização e Arquitetura de computadores. Memórias
Organização e Arquitetura de computadores Memórias Introdução Funcionamento básico de um sistema microprocessado (Figura 1.10, Gabriel Torres) Programas são armazenados aqui Controlador de memoria Dispositivos
Leia maisFunção Principal da Memória
Memórias Slide 2 Função Principal da Memória Armazenar dados. Armazenar os programas para serem executados pelo processador. Slide 3 Memória x Processador x HD Placa Mãe: Controlador de Memória Slide 4
Leia maisMONTAGEM E MANUTENÇÃO DE COMPUTADORES
Álvaro Elias Flôres alvaro.flores@sc.senai.br MONTAGEM E MANUTENÇÃO DE COMPUTADORES Introdução A atividade de um computador pode ser definida por um modelo simples: Introdução Na etapa de processamento
Leia maisPIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto
PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto 1 DESEMPENHO SISTEMA COMPUTACIONAIS A melhoria do desempenho de sistemas computacionais pode ser conseguido através de diversas maneiras:
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 maisArquitectura de Computadores (ACom)
Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 5.0 - Português Aula N o 23: Título: Sumário: - II ; memória virtual - caches. 2015/2016 Nuno.Roma@tecnico.ulisboa.pt Arquitectura
Leia maisPROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register
PROCESSADORES Um computador digital consiste em um sistema interconectado de processadores, memória e dispositivos de entrada e saída. A CPU é o cérebro do computador. Sua função é executar programas armazenados
Leia maisOrganização de Computadores B - Trabalho 2
Organização de Computadores B - Trabalho 2 Universidade Federal do Rio Grande do Sul Instituto de Informática César Garcia Daudt cesar.daudt@inf.ufrgs.br 1. Investigar a inuência do tipo de mapeamento
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 maisMemória para CAD. Aleardo Manacero Jr.
Memória para CAD Aleardo Manacero Jr. Introdução Na aula de hoje examinaremos como o subsistema de memória afeta o desempenho de um sistema computacional Veremos um pouco da sua arquitetura Veremos também
Leia maisSistemas Operacionais Aula 16 Memória Virtual
Sistemas Operacionais Aula 16 Memória Virtual Ivan da Silva Sendin ivansendin@yahoo.com FACOM - Universidade Federal de Uberlândia Sistemas OperacionaisAula 16Memória Virtual p. 1 Memória Virtual - Definição
Leia maisArquitetura de computadores
Arquitetura de computadores Arquitetura de Microprocessadores Curso Profissional de Técnico de Gestão e Programação de Sistemas Memória Cache Volátil; Memória RAM Volátil; Memória ROM Não volátil. Articulaçã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 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 mais