Hierarquia De Memória E A Memória Cache - IME-USP

3y ago
63 Views
4 Downloads
1.94 MB
36 Pages
Last View : 6d ago
Last Download : 3m ago
Upload by : Cade Thielen
Transcription

Hierarquia de memória e a memória cacheMAC 344 - Arquitetura de ComputadoresProf. Siang Wun SongBaseado parcialmente em W. Stallings Computer Organization and ArchitectureMAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Hierarquia de memóriaVeremos hierarquia de memória e depois memória cache.Ao final das aulas, vocês saberãoOs vários níveis da hierarquia de memória: desde asmemórias mais rápidas (de menor capacidade dearmazenamento) próximas ao processador até as maislentas (de grande capacidade de armazenamento)distantes do processador.A importância da memória cache em agilizar o acesso dedados/instruções pelo processador, graças ao fenômenode localidade.A memória interna ou principal é muito maior que amemória cache. Há vários métodos para mapear um blocode memória à memória cache.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Hierarquia de memóriaHá vários tipos de memórias, cada uma com característicasdistintas em relação aCusto (preço por bit).Capacidade para o armazenamento.Velocidade de acesso.A memória ideal seria aquela que é barata, de grandecapacidade e acesso rápido.Infelizmente, a memória rápida é custosa e de pequena capacidade.E a memória de grande capacidade, embora mais barata, apresenta baixa velocidade de acesso.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Hierarquia de memóriaA memória de um computador é organizada em umahierarquia.Registradores: nível mais alto, são memórias rápidasdentro ao processador.Vários níveis de memória cache: L1, L2, etc.Memória interna ou principal (RAM).Memórias externas ou secundárias (discos, fitas).Outros armazenamento remotos (arquivos distribuidos,servidores web).MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Hierarquia de memóriaMAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Hierarquia de memóriaVeremos memória cache, memória interna e memóriaexterna.Previsão do futuro do disco: Se o disco magnético HD vaiser substituído por SSD (Solid State Drive).Em 2005: Samsung boss predicts death of hard -boss-predicts-death-of-hard-drives-4387/Uma pergunta cuja resposta saberemos no futuro:Se SSD vai derrubar completamente HD.Caso positivo, quando isso irá ocorrer.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Hierarquia de memóriaPerigo de fazer previsões erradas:“I think there is a world market for maybe five computers.”(Thomas Watson, Presidente da IBM, 1943.)“There is no reason anyone would want a computer in theirhome.” (Ken Olsen, fundador da DEC, 1977.)“Apple is already dead.” (Nathan Myhrvold, CTO Microsoft,1997.)“Two years from now, spam will be solved.” (Bill Gates,fundador da Microsoft, 2004.)MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cacheQuando o processador precisa de um dado, ele pode já estar na cache (cachehit). Se não (cache miss), tem que buscar na memória (ou até no disco).Quando um dado é acessado na memória, um bloco inteiro (e.g. 64 bytes)contendo o dado é trazido à memória cache. Blocos vizinhos podem tambémser acessados (prefetching) para uso futuro.Na próxima vez o dado (ou algum dado vizinho) é usado, já está na cache cujoacesso é rápido.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cacheAnalogia: se falta ovo (dado) na cozinha (processador), vai aosupermercado (memória) e compra uma dúzia (prefetching),deixando na geladeira (cache) para próximo uso.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache no Intel core i7Hierarquia memóriaregistradorL1 cacheL2 cacheL3 cacheMemória RAMMemória virtual (disco)Latência em ciclos141139107milhõesMAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cacheEvolução do uso da memória cache.ProcessadorVAX-11/780IBM 3090PentiumItaniumIBM Power6IBM Power9(24 cores)Ano fabr.197819851993200120072017L1 cache16 KB128 KB8 KB16 KB64 KB(32 KB I 64 KB D)por coreL2 cache256 KB96 KB4 MB512 KBpor coreL3 cache4 MB32 MB120 MBpor chipMAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cacheMemória organizada em B blocos (B L)bloco 0bloco 1bloco 2Cachetagblocobits controlelinha 0linha 1linha 2.L-1 Cache contém L linhas Cada linha contém um tag, um bloco de palavras da mem. e bits de controle tag contém info sobre o endereço do bloco na memóriaB-1 bits de controle informam se a linha foi modificada depois de carregada na cacheMAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cacheAs caches L1 e L2 ficam em cada core de um processadormulticore e a L3 é compartilhada por todos os cores.A capacidade da cache é muito menor que a capacidade damemória. (Se a memória é virtual, parte dela fica no disco.)A memória cache contém apenas uma fração da memória.Quando o processador quer ler uma palavra da memória,primeiro verifica se o bloco que a contém está na cache.Se achar (conhecido como cache hit), então o dado é fornecidosem ter que acessar a memória.Se não achar (conhecido como cache miss), então o bloco damemória interessada é lido e colocada na cache.A razão entre o número de cache hit e o número total de buscasna cache é conhecida como hit ratio.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cacheFenômeno de localidade:Localidade temporal: Um dado ou instrução acessadorecentemente tem maior probabilidade de ser acessadonovamente, do que um dado ou instrução acessado hámais tempo.Localidade espacial: Se um dado ou instrução é acessadorecentemente, há uma probabilidade grande de acesso adados ou instruções próximos.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Função de mapeamentoHá menos linhas da memória cache do que número deblocos.É necessário definir como mapear blocos de memória alinhas da memória cache.A escolha da função de mapeamento determina como acache é organizada.Três funções de mapeamento:Mapeamento diretoMapeamento associativoMapeamento associativo por conjuntoMAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Função de mapeamentoSource: WikipediaUma analogia: Um bibliotecário cuida de um acervo de 10.000livros. Ele notou que um livro recentemente consultado temgrande chance de ser buscado de novo.Ele arrumou um escaninho de 100 posições. Cada vez um livroé acessado, ele deixa um exemplar no escaninho. Às vezes eletem que remover um livro do escaninho para ter espaço.Isso evitou ir aos estantes, se o livro desejado já está lá.Veremos como ele pode organizar o tal escaninho.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento diretoOs 10.000 livros são identificados de 0000 a 9999.As 100 posições do escaninho são identificadas de 00 a 99.No mapeamento direto, os dois últimos dígitos do livro sãousados para mapear à posição do escaninho.Exemplo: livro 8702 é mapeado à posição 02 do escaninho.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento diretoPara buscar o livro 2513, a posição mapeada no escaninho (13)contém o livro desejado. Não precisa ir buscar nos estantes.Para buscar o livro 5510, ele não está na posição 10. Pega nosestantes e deixa um exemplar na posição 10 do escaninho.Para buscar o livro 8813, a posição 13 não contém o livrodesejado (88 é diferente de 25). Pega o livro desejado nosestantes e coloca na posição 13 do escaninho, removendo olivro que estava lá.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento diretoÉ o mais simples.Considere L linhas de cache: linha i 0, . . . , L 1.Considere B blocos de memória: bloco j 0, . . . , B 1.Então i j mod L.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento diretoSe B e L são potências de 2, isto é:B 2s blocos de memóriaL 2r linhas de cacheEntão é fácil determinar em que linha i bloco j é mapeado:basta pegar os últimos r bits de j. Ver figura.tag identifica o bloco que está alocado na cache. Bastam osprimeiros s r bits de j para isso. Ver figura.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento diretoMostramos de novo que basta ter um tag de s r bits paraidentificar qual bloco está mapeado a uma determinada linha.Suponha s 5, i.e. uma memória de B 25 32 blocos.Suponha r 2, i.e. uma cache de L 22 4 linhas.Bloco mapeado à linha00000 00100 01000 01100 10000 10100 11000 1110000001 00101 01001 01101 10001 10101 11001 1110100010 00110 01010 01110 10010 10110 11010 1111000011 00111 01011 01111 10011 10111 11011 11111Linha00011011Assim, somente s r 5 2 3 bits (os bits vermelhos) sãonecessários no tag para identificar qual bloco está mapeado,pois os últimos r bits são iguais à posição da linha.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Como foi o meu aprendizado?Tente fazer em casa (não precisa entregar).Seja s 5 e uma memória de B 2s 25 32 blocos.Seja r 2 e uma cache de L 2r 22 4 linhas.O tag terá s r 5 2 3 bits.Desenhe uma memória cache com 4 linhas e umamemória com 32 blocos.Acesse o bloco 6 da memória (vai dar cache miss, entãointroduza na cache).Acesse o bloco 8 da memória (vai dar cache miss, entãointroduza na cache).Acesse o bloco 6 da memória (vai dar cache hit).Acesse o bloco 4 da memória (vai dar cache miss, entãointroduza na cache expulsando o que estava lá).MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento diretoO mapeamento direto é simples mas tem uma desvantagem. Seo programa acessa repetida e alternadamente dois blocos dememória mapeados à mesma posição na cache, então essesblocos serão continuamente introduzidos e retirados da cache.O fenômeno acima tem o nome de thrashing, resultando em umnúmero grande de hit miss ou baixa hit ratio.Para aliviar este problema: Colocar os blocos que causamthrashing em uma cache chamada cache vítima, tipicamente de4 a 16 linhas.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento associativoVoltemos à analogia. No mapeamento associativo, o livro podeser colocado em qualquer posição do escaninho.Para buscar o livro 2513, todo o escaninho precisa ser buscado.A busca fica rápida se todas as posições são buscadas emparalelo (busca associativa).Se o livro desejado não está no escaninho, então pega nosestantes e depois deixa um exemplar no escaninho. Se oescaninho já está cheio, então escolhe um livro e o remove.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento associativoNo mampeamento associativo, cada bloco de memóriapode ser carregado em qualquer linha da cache.Suponha a memória com B 2s blocos.O campo tag de uma linha, de s bits, informa qual blocoestá carregado na linha.Para determinar se um bloco já está na cache, os campostag de todas as linhas são examinados simultaneamente.O acesso é dito associativo.A desvantagem do mapeamento associativo é acomplexidade da circuitaria para possibiltar a comparaçãode todos os tags em paralelo.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento associativoAlgorimos de substituição.Quando um novo bloco precisa ser carregado na cache,que já está cheia, a escolha da qual linha deve receber onovo bloco é determinada por um algoritmo desubstituição.Diversos algoritmos de substituição têm sido propostos naliteratura, e.g. LRU (least recently used) - a linha que foimenos usada é escolhida para ser substituída.Estuderemos esse assunto logo a seguir, nos próximosslides.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento associativo porconjuntoNa analogia: são usados 10 escaninhos (numerados de 0 a 9).O último dígito do livro é usado para mapear a um dos 10escaninhos. (Mapeamento direto.)Dentro do escaninho, o livro pode ser colocado em qualquerposição. (Mapeapmento associativo.)Combina ambos os mapeamentos, unindo as vantagens.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento associativo porconjuntoÉ um compromisso entre o mapeamento direto e associativo,unindo as vantagens de ambos. É o mais usado emprocessadores modernos.A cache consiste de um número v de conjuntos, cada umcom L linhas.Suponha i número do conjunto.Suponha j número do bloco na memória.Temos i j mod v . I.e. o bloco j é colocado no conjuntonúmero i.Dentro do conjunto i, bloco j pode ser introduzido emqualquer linha. Usa-se acesso associativo em cadaconjunto para verificar se um dado bloco está ou nãopresente.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Memória cache - Mapeamento associativo porconjuntoA organização comum é usar 4 ou 8 linhas em cadaconjunto: L 4 ou 8, recebendo o nome de 4-way ou8-way set-associative cache.Exemplo de 2-way set-associative cache:MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Algoritmos de substituição na cacheQuando a cache já está cheia e um novo bloco precisa ser carregadona cache, então um dos blocos ali existentes deve ser substituído,cedendo o seu lugar ao novo bloco.No caso de mapeamento direto, há apenas uma possível linhapara receber o novo bloco. Não há portanto escolha.No caso de mapeamento associativo e associativo por conjunto,usa-se um algoritmo de substituição para fazer a escolha. Paramaior velocidade, tal algoritmo é implementado em hardware.Dentre os vários algoritmos de substituição, o mais efetivo é oLRU (Least Recently Used): substituir aquele bloco que está nacache há mais tempo sem ser referenciado.Esse esquema é análogo a substituição de mercadoria na prateleira de umsupermercado. Suponha que todas as prateleiras estão cheias e um novoproduto precisa ser exibido. Escolhe-se para substituição aquele produtocom mais poeira (pois foi pouco acessado.)MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Algoritmo de substituição LRUO algoritmo de substituição LRU substitui aquele bloco que está nacache há mais tempo sem ser referenciado.Numa cache associativa, é mantida uma lista de índices a todasas linhas na cache. Quando uma linha é referenciada, ela moveà frente da lista.Para acomodar um novo bloco, a linha no final da lista ésubstituída.O algoritmo LRU tem-se mostrado eficaz com um bom hit ratio.Source: Suponha cache com capacidade para 4 linhas. O índice pequeno denota o “tempo de permanência” nacache. https://www.cs.utah.edu/ mflatt/past-courses/cs5460/lecture10.pdfMAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Algoritmo de substituição pseudo-LRUHá uma maneira mais rápida de implementar um pseudo-LRU.Em cada linha da cache, mantém-se um Use bit.Quando um bloco de memória é carregado numa linha dacache, o Use bit é inicializado como zero.Quando a linha é referenciada, o Use bit muda para 1.Quando um novo bloco precisa ser carregado na cache,escolhe-se aquela linha cujo Use bit é zero.Na analogia de escolha de um produto menos procurado nosupermercado para ceder o lugar a outro produto, Use bit zerodenota aquele com poeira.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Cache write through e write backQuando uma linha na cache vai ser substituída, dois casos devemser considerados.Se a linha da cache não foi alterada (escrito nela), então essalinha pode ser simplesmente substituída.Se houve uma operação de escrita na linha da cache, então obloco correspondente a essa linha na memória principal deveser atualizado.Escritas numa linha na cache pode gerar uma inconsistência namemória onde o bloco correspondente possui dados diferentes. Pararesolver isso, há duas técnicas:Write through: Toda escrita à cache é também feita à memória.Write back: Escritas são somente feitas na cache. Mas toda vez que isso ocorre,liga-se um dirty bit indicando que a linha da cache foi alterada. Antes que a linhada cache é substituída, se dirty bit está ligado, então o bloco da memóriacorrespondente é atualizado, mantendo-se assim a consistência.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Como foi o meu aprendizado?Indique a(s) resposta(s) errada(s).1Com o avanço dos vários tipos de memórias, vaidesaparecer por completo a hierarquia de memória.2A vantagem do mapeamento direto é a sua simplicidade.3Outra vantagem do mapeamento direto é o fenômeno dethrasing.4No mapeamento associativo, a linha que contém o blocodesejado é obtida rapidamente pois todos os tags sãocomparados em paralelo.5Outra vantagenm do mapeamento associativo é asimplicidade na implementação da circuitaria para oacesso associativo.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Como foi o meu aprendizado?Indique a(s) resposta(s) errada(s).1O mampeamento associativo por conjunto reúne as vantagensdo mapeamento direto e o mapeamento associativo.2O mapeamento associativo por conjunto é o mais usado emprocessadores modernos.3Para escolher a linha ótima para ser substituída, é comumexecutar-se um algoritmo de substituição ótimo em que todas aspossíveis linhas são testadas como objeto de substituição.4Write-through é uma técnica mais conservadora para manter aconsistência. Mas write-back minimiza a escrita na memória eainda mantém a consistência embora tardiamente.MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

Próximos assuntos: Meltdown/Spectre e depoisMemória InternaPróximo assunto: Vulnerabilidades Meltdown e Spectre.Depois retomamos as aulas sobre Memória: Memória interna ecódigo de deteção/correção de errosTodos tipos de memória são feitos de Silício.Veremos memória dinâmica e estática, memória volátil enão-volátil. Memória ROM, Memória Flash, etc.Há métodos de detectar erros de leitura de memória. Detectadoo erro, a memória é lida de novo.O melhor ainda é o método que detecta e corrige o erro, semprecisar ler de novo (código de Hamming).MAC 344 - Arquitetura de Computadores Prof. SiangHierarquiaWun Songde memória e a memória cache

A razão entre o número de cache hit e o número total de buscas na cache é conhecida como hit ratio. MAC 344 - Arquitetura de Computadores Prof. Siang Wun SongHierarquia de memória e a memória cache

Related Documents:

RIA in a Bo LLC RIA in a Bo Consulting Services "Adaptability is about the powerful difference between adapting to cope and adapting to win." - Max McKeown Advisers Seek Sustainable Growth In a recent survey conducted by RIA in a Box, 89% of registered investment advisor (RIA) firms indicated growth as a priority for the coming year.

ANSI Standards Framework 4 RIA AWS S ANSI/ RIA R15.02 Design of Robot Control Pendants - inactive ANSI/ RIA R15.05 Performance Characteristics - inactive ANSI/ RIA R15.06 Safety of Robots, Integration of Robots, Robot Systems, Robot Cells ANSI/ RIA R15.07 Robot Offline Programming - i

Oticon Ria is built on the Inium platform and is our best performing hearing solution in the essential category. The audiology in Ria provides its users essential listening performance and allows to factoring in listening preferences and needs of each client. The Ria family styles range from compact In-the-Ear styles to a broad palette

RIA Initiated Deals (2010-2016) RIA Initiated Deals (2000-2009) The years following the recession saw the emergence of RIAs initiating deals with each other. From 2010 on, half of all major deals were RIA firms transacting with other RIAs. This compares to the 29% share that deals of this type accounted for during the 2000-2009 period.

Latin Root mem Latin roots appear in many English words and are used in many words which make up word families. The Latin root mem, means "mindful of" or "recall." The prefix re- means "again." Knowing what you do about mem and re-, answer the questions below. 1. What wo

12/29/10 mem 11-01884 fuel charges 12/10 05470 exxonmobil fleet/gecc 324.38 12/29/10 mem 11-01885 ld/toll services - hpu office 07187 paetec communications inc. 183.58 12/29/10 mem 11-00546 monitoring serv. 07511 high tech protective svs.inc. 241.00 12/29/10 mem 11-01820 garage management 11/10 07512 central parking system 84,918.00 .

M a ster en Pa idopsiquia t ría b ienio 07-08 Dirección: Josep Tomá s Ja ume Al mena ra Secret a ría : Núria Gondón Sa nt ia go B a t l l e PROMOTORES Col·legi Oficial de Psicòlegs de Catalunya Universitat Autònoma de Barcelona SPONSORS Centre

August 24 MODULE 2: RIA Checkpoint Tax Research Platform BRING LAPTOPS TO CLASS Learning Outcomes Access RIA Checkpoint and use basic functionality Identify and access primary and secondary authorities with RIA Checkpoint Research primary and secondary a