Hierarquia de memória Organização de Computadores Leonardo Kemps Bittencourt da Silva Graduando em Ciência da Computação - UFJF Hierarquia de memória Em termos ideais, desejaríamos dispor de uma capacidade de memória infinitamente grande e que pudesse disponibilizar imediatamente o conteúdo de qualquer das suas palavras...Somos forçados a reconhecer a possibilidade de construir um sistema de memória estruturado hierarquicamente, no qual cada um dos componentes da hierarquia tenha mais capacidade de armazenamento e um tempo de acesso maior do que aqueles que o precedem. A.W. Burks, H.H. Goldstine e J. von Neumann Preliminary Discussion of the Logical Design of na Eletronic Computing Instrument, 1946 Organização de Computadores - Leonardo Kemps 2 Hierarquia de memória Organização de Computadores - Leonardo Kemps 3 Hierarquia de memória Organização de Computadores - Leonardo Kemps 4 Hierarquia de memória Organização de Computadores - Leonardo Kemps 5 Hierarquia de memória Organização de Computadores - Leonardo Kemps 6 Princípio da Localidade Localidade Temporal (localidade no tempo) Se um item é referenciado , ele tende a ser referenciado novamente dentro de um espaço de tempo curto. Localidade Espacial (localidade no espaço) Se um item é referenciado, itens cujos endereços sejam próximos dele tendem a ser logo referenciados. Organização de Computadores - Leonardo Kemps 7 Como explorar o princípio de localidade numa hierarquia de memória? • Localidade Temporal Mantenha itens de dados mais recentemente acessados nos níveis da hierarquia mais próximos do processador • Localidade Espacial Mova blocos de palavras contíguas para os níveis da hierarquia mais próximos do processador Organização de Computadores - Leonardo Kemps 8 Consequências do uso do princípio de localidade numa hierarquia de memória? O objetivo de um sistema de memória hierárquico é satisfeito uma vez que apresenta ao usuário uma capacidade de memória próxima à disponibilida pela tecnologia mais barata, e um tempo de acesso próximo ao disponibilizado pela tecnologia mais cara. Implicando numa melhora significativa da memória Organização de Computadores - Leonardo Kemps 9 Hierarquia de memória • Hit: dado aparece em algum bloco no nível superior (junto ao processador) – Hit Ratio: a fração de acessos à memória resolvidos no nível superior – Hit Time: tempo de acesso ao nível superior, que consiste de tempo de acesso à memória RAM + tempo para determinar hit/miss • Miss: dado precisa ser buscado de um bloco no nível inferior – Miss Ratio = 1 – (Hit Ratio) – Miss Penalty: tempo gasto para substituir um bloco no nível superior + tempo para fornecer o bloco ao processador • Hit Time <<< Miss Penalty Organização de Computadores - Leonardo Kemps 10 Hierarquia de memória Organização de Computadores - Leonardo Kemps 11 Memória Cache Cache foi o nome escolhido para designar o nível da hierarquia de memória situada entre o processador e a memória principal, na primeira máquina comercial que implementou este nível extra de memória As caches apareceram primeiro nas máquinas desenvolvidas para pesquisa, no início da década de 1960, sendo implementadas em máquinas comerciais um pouco mais tarde. Organização de Computadores - Leonardo Kemps 12 Memória Cache - Endereçamento -Mapeamento Direto -Mapeamento Associativo -Mapeamento Associativo por Conjunto Organização de Computadores - Leonardo Kemps 13 Memória Cache - Mapeamento direto Organização de Computadores - Leonardo Kemps 14 Consistência: Memória principal x Memória cache -Write-through -Write-back Organização de Computadores - Leonardo Kemps 15 Caches Multinível Os microprocessadores atuais de alta performace suportam um nível adicional de memória cache, sendo que esta cache adicional implicará em uma penalidade por falta menor, uma vez que tempo de acesso à memória principal é bem maior que a anterior. Organização de Computadores - Leonardo Kemps 16 Memória Virtual • Permitir compartilhamento seguro e eficiente da memória entre vários programas. • Melhorar o desempenho de programas nas pequenas e limitadas memórias principais. Organização de Computadores - Leonardo Kemps 17 Memória Virtual – Alguns conceitos Espaço endereçável ( localizações de memória acessíveis a apenas um programa.) Overlays (módulos de um programa que são carregados na memória quando acionados.) Page (bloco de memória) Page fault (miss page) Endereço virtual (gerado por um processo, que será mapeado em um endereço físico.) Organização de Computadores - Leonardo Kemps 18 Memória Virtual Organização de Computadores - Leonardo Kemps 19 Memória Virtual Organização de Computadores - Leonardo Kemps 20 Memória Virtual Organização de Computadores - Leonardo Kemps 21 Memória Virtual Organização de Computadores - Leonardo Kemps 22 Memória virtual + TLBs + Caches Próximo slide >> Organização de Computadores - Leonardo Kemps 23 Organização de Computadores - Leonardo Kemps 24 Bibliografia [1] Pattterson David A. e Hennessy John L. Organização e projeto de computadores – A interface Hardware/Software. Segunda Edição. Editora LTC. [2] Stallings, Willian et al. Arquitetura e organização de computadores. Quinta Edição. [3] Pannain, Ricardo. Arquitetura de computadores. Disponível na Internet: http://www.dcc.unicamp.br/~ducatte/mc722/Material/arq_hp7.pdf. 15 set. 2004. [4] Organização de computadores – Aula 16 – Memória Cache. Universidade Federal do Rio Grande do Sul, Instituto de Informática. Disponível na Internet: http://www.inf.ufrgs.br/~flavio/ensino/ArqServ/memoria.pdf. 19 set. 2004 [5] Oliveira, Cintia Carvalho. Memória Interna. Seminário de Organização de Computadores, Universidade Federal de Juiz de Fora. 6 set. 2004. [6] http://venus.rdc.puc-rio.br/rmano/comp6mem.html [7] http://www.di.uevora.pt/~pq/ac/prog-ac-7.html Organização de Computadores - Leonardo Kemps 25