Arquitectura de Computadores

Slides:



Advertisements
Apresentações semelhantes
Integridade de Dados em Memórias Cache
Advertisements

Aula 16: Memória Principal e Memória Virtual
Capítulo Sete Sistemas de Memória
MC542 Organização de Computadores Teoria e Prática
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
1998 Morgan Kaufmann Publishers Paulo C. Centoducatte - IC/Unicamp- 2002s Prof. Paulo Cesar Centoducatte
1998 Morgan Kaufmann Publishers Paulo C. Centoducatte - IC/Unicamp- 2006s Prof. Paulo Cesar Centoducatte
Memórias cache CPU procura por dados em L1, depois em L2 e finalmente na memória principal CPU registradores ALU L1 cache barramento de cache barramento.
Princípio da localidade
Hierarquia de Memória Organização da cache
Arquitectura de Computadores II
Fundamentos da Arquitetura de Computadores
Subsistemas de memória
Aveiro, 28 de Abril de Arquitectura de Computadores II Ano lectivo 2003/2004 Nuno
PUCC 1 Agenda Memória CACHE. PUCC 2 Memória Cache Motivo –Melhorar a relação entre o tempo de acesso a dados e instruções e a velocidade dos processadores.
Bruno C. Bourbon Jarbas J. de O. Júnior {bcb, cin.ufpe.br
Localidade Princípio da localidade è um programa acessa uma
Ch7b-1 Capítulo Sistemas de Memória - Memória Virtual.
Hierarquia de Memória Arquitetura de Computadores Aula 4 – Memória 23/08/2012 Bruno Iran Ferreira Maciel Mestrando em Ciências da Computação – Cin/UFPE.
Prof. André Luis M. Silva Hierarquia de Memória Prof. André Luis M. Silva
MEMÓRIA CACHE E TÉCNICAS DE MAPEAMENTO Capítulo 5
Memória Cache.
Memória Virtual.
Integridade de Dados em Memórias Cache ARQUITETURAS DE COMPUTADORES II Prof. César Augusto M. Marcon.
 Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer  Localidade Temporal  Um item referenciado.
MAPAS CONCEITUAIS Profª Juliana Schivani
Programação em Assembly Introdução e Revisão Prof. Luiz Antonio Rodrigues Prof. Luiz Antonio Unioeste - Cascavel Jpanel e Diagramadores.
1 Bianca, Felipe, Fernanda, Fernando, Jeferson, José, Juliana, Marco, Matheus, Maurício, Patrick, Rodrigo K., Vitor.
DSC/CEEI/UFCG Hardware (Parte I) Prof. a Joseana Macêdo Fechine Régis de Araújo Prof. a Joseana Macêdo Fechine Régis de Araújo
Rganização de Computadores Organização do Neander Capítulo 10 – Raul Weber Organização de Computadores Organização do Neander Capítulo 10 – Raul Weber.
São memórias absolutamente indispensáveis ao funcionamento do sistema informático (ROM e RAM) Memória ROM Memória RAM Memórias Principais.
Professor: Felipe Lopes M. Faria Disciplina: Sistemas Operacionais 1.
ARQUITETURA AULA 3 Prof. Luiz Ricardo Lima 2º sem de 2016.
Introdução a Informática Aula 03 Clóvis Machado
Gerência de Arquivos.
Casamento de Padrão Aproximado e Compressão de Huffaman
Arquitetura de Computadores-S.O.
Ciclos de operação em processador
Gestão de periféricos Varrimentos vs Interrupções Cache
SISTEMAS OPERACIONAIS
Prof. Matthews Ferris Bueller. O que é? Qual é sua função? Tipos diferentes de RAM.
Tecnologias da Informação e Comunicação
UNIVERSIDADE AGOSTINHO NETO FACULDADE DE CIÊNCIA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO MEMÓRIA/FRAGMENTAÇÃO. Por: Ndalovich Aufico
Memórias cache CPU procura por dados em L1, depois em L2 e finalmente na memória principal CPU registradores ALU L1 cache barramento de cache barramento.
Administração de Gerência de servidores
Hardware É a parte física de um sistema de computação, ou seja, todos os elementos materiais que o constituí (circuitos eletrônicos, dispositivos mecânicos,
Sistemas Operativos Multiprogramação; Multiplexação; Memória Física; Memória virtual; Trabalho/Job - Processo/Process/Task - Thread.
Projeto de endereçamento – 2 ClassLess
FUNDAMENTO DE PROGRAMAÇÃO
Arquitetura e organização de computadores
SISTEMAS OPERACIONAIS
Algoritmos e Estruturas de Dados I
SISTEMAS OPERACIONAIS
Máscara de Sub-redes aula 11
Dispositivos de Armazenamento
Os diversos tipos de memorias
Tipos de Memória Prof. André Luís Del Mestre Martins
Prof. Alberto F. De Souza LCAD/DI/UFES
MEMORIAS.
Cálculo de Sub redes.
Gerenciamento do Disco Gerenciamento do Buffer
COMPONENTES DO COMPUTADOR E SUAS FUNÇÕES. PLACA MÃE A placa-mãe é o principal componente de um computador, pois ela é responsável por interligar todos.
A UCP e suas conexões (barramentos)
ARA 7244 – Estrutura de Computadores
Instalação e Manutenção de Computadores Técnico em Informática MAI1
Hierarquia de memória desempenho
Organização de um Computador
Hierarquia de memória Memória Interna. Memória A.W. Burks, H.H. Goldstine e J. von Neumann Preliminary Discussion of the Logical Design of na Eletronic.
Conjunto de instruções
Forças e Movimentos Unidade 2 Força de colisão. Devido à grande quantidade de automóveis que circulam nas estradas, todos os dias ocorrem acidentes. Devido.
Transcrição da apresentação:

Arquitectura de Computadores Hierarquia de memória Programadores e utilizadores desejam quantidades ilimitadas de memória rápida. A hierarquia de memória cria esta ilusão. cache memória central disco magnético tapes e discos ópticos preço velocidade tamanho 02/05/2019 Arquitectura de Computadores

Princípio da localidade Hierarquia de memória Princípio da localidade Localidade temporal – se um item é referenciado, então será provavelmente referenciado de novo num futuro próximo. Localidade espacial – se um item é referenciado, então itens com endereços próximos serão provavelmente referenciados num futuro próximo. 02/05/2019 Arquitectura de Computadores

Arquitectura de Computadores Hierarquia de memória Transferência de informação entre níveis a pedido e por blocos hit – informação pedida encontrada no nível mais próximo miss – informação pedida tem que ser lida de níveis inferiores hit rate – #hit / (#miss + #hit) miss rate -- #miss / (#miss + #hit) = 1 – hit rate miss penalty – tempo necessário para ler um bloco de um nível inferior 02/05/2019 Arquitectura de Computadores

Arquitectura de Computadores Hierarquia de memória 00000 00001 cache 00010 00011 00100 00101 000 00110 001 00111 010 01000 011 01001 100 01010 101 01011 110 01100 111 01101 01110 01111 10000 10001 10010 10011 Como saber se um bloco está na cache ? Quando um bloco é carregado em que linha da cache deve ser colocado? 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 02/05/2019 Arquitectura de Computadores

Arquitectura de Computadores Hierarquia de memória 00000 00001 cache 00010 00011 00100 00101 000 00110 001 00111 010 01000 011 01001 100 01010 101 01011 110 01100 111 01101 01110 01111 10000 10001 10010 10011 10100 10101 Mapeamento directo Linha = resto (addr / #linhas) 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 02/05/2019 Arquitectura de Computadores

Arquitectura de Computadores Hierarquia de memória 32 bits valid tag data 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 1 bit 2 bits 32 bits 000 1 01 001 010 1 10 011 100 101 110 111 É necessário espaço de memória extra para as tags e valid bits. Qual a capacidade necessária para uma cache de 32 KBytes, com blocos de 1 byte, num sistema com endereços de 32 bits, usando mapeamento directo? R: tag = 32-15 bits, logo 32x1024x(17+1) + 32x1024x8 = 832 Kbits = 104 KBytes 02/05/2019 Arquitectura de Computadores

Arquitectura de Computadores Hierarquia de memória Processamento de leituras: se o bloco requerido estiver na cache, é fornecido ao processador. Se não estiver na cache, deve ser lido do nível inferior. Eventualmente, o processador é colocado à espera do bloco requerido. Processamento de escritas: se o bloco a escrever não estiver na cache deve ser lido da memória ? Como garantir a coerência entre a cache e a memória central? write-through write-back 02/05/2019 Arquitectura de Computadores

Arquitectura de Computadores Hierarquia de memória Para tirar partido da localidade espacial cada linha da cache corresponde a várias palavras consecutivas de memória. 02/05/2019 Arquitectura de Computadores

Várias palavras por linha Hierarquia de memória Várias palavras por linha Vantagens: Aumenta a localidade espacial, diminuindo a miss-rate Diminui a percentagem de cache dedicada a bits de controlo Desvantagens: Obriga a leituras da memória no caso de write-miss Pode aumentar a miss penalty NOTA: um número exagerado de palavras por linha pode aumentar a miss-rate 02/05/2019 Arquitectura de Computadores

Arquitectura de Computadores Hierarquia de memória Programa Bloco (palavras) Instruction miss rate Data total Gcc 1 6,1 % 2,1 % 5,4 % 4 2,0 % 1,7 % 1,9 % 02/05/2019 Arquitectura de Computadores

Arquitectura de Computadores Hierarquia de memória O mapeamento directo permite determinar rapidamente qual a linha da cache onde um bloco pode estar colocado, mas pode provocar uma miss-rate elevada devido a colisões. O mapeamento completamente associativo (fully associative) permite que um bloco seja colocado em qualquer linha da cache, reduzindo as colisões, mas aumentando os bits da tag e o tempo necessário para determinar se um bloco está na cache. O mapeamento n-way set associative representa um compromisso entre as duas alternativas anteriores. 02/05/2019 Arquitectura de Computadores

Arquitectura de Computadores Hierarquia de memória Mapeamento directo 2-way set associative Fully associative Endereço do bloco = 12 Mapeamento directo – linha = 12 % 8 = 4 2-way set associative – set = 12 % 4 = 0 Fully associative – qualquer linha 02/05/2019 Arquitectura de Computadores

Hierarquia de memória Qual o bloco a substituir? Estratégia aleatória – substituir um bloco qualquer aleatoriamente; Least recently used (LRU) – substituir o bloco que não é acedido há mais tempo. A implementação de LRU tem custos elevados, e a sua vantagem relativamente a estratégias mais simples depende da miss penalty. Se esta não é muito elevada então a estratégia aleatória ou a utilização de uma LRU aproximada pode ser igualmente eficaz. 02/05/2019 Arquitectura de Computadores