Sistemas de memória. João Canas Ferreira. Arquitectura de Computadores FEUP/LEIC

Tamanho: px
Começar a partir da página:

Download "Sistemas de memória. João Canas Ferreira. Arquitectura de Computadores FEUP/LEIC"

Transcrição

1 Sistemas de memória João Canas Ferreira Arquitectura de Computadores FEUP/LEIC Contém figuras de Computer Organization and Design (cap. 7, Ap. B), D. Patterson & J. Hennessey, 3ª. ed., Elsevier Tópicos Memórias 2 Sistemas de memória: aspectos gerais Descodificação de endereços Hierarquia de memória 3 Memórias cache Princípios de funcionamento de memórias cache Desempenho de memórias cache 4 Memória virtual ArqComp: Sistemas de memória 2/

2 Memórias 2 Sistemas de memória: aspectos gerais Descodificação de endereços Hierarquia de memória 3 Memórias cache Princípios de funcionamento de memórias cache Desempenho de memórias cache 4 Memória virtual ArqComp: Sistemas de memória 3/ Taxonomia Registos e bancos de registos permitem guardar pequenas quantidades de dados. Para maiores quantidades, usam-se memórias de acesso directo. RAM = random access memory (memória de acesso aleatório?): permitem leitura e escrita. ROM = read-only memory: pemitem apenas leitura. A maior parte das memórias RAM perde os dados quando é desligada a alimentação (memória volátil). Excepções: (E)EPROM: (Electrically) erasable programmable ROM memórias FLASH. Dois tipos de memórias RAM voláteis: SRAM: memória estática (cada célula de memória é um flip-flop ); DRAM: memória dinâmica (cada célula deve ser actualizada periodicamente). ArqComp: Sistemas de memória 4/

3 Circuitos de memória: organização conceptual N- endereço (linha) 2 dados (M bits) M bits Para P linhas de endereço: N = 2 P Abreviaturas: 2 = 24 = K, 2 2 = = M O porto de dados é bidireccional: é preciso especificar o tipo de acesso (leitura ou escrita). M é a largura da memória. ArqComp: Sistemas de memória 5/ Memórias estáticas As memórias estáticas são as que se aproximam mais do modelo conceptual de funcionamento. Address 2 Chip select Output enable SRAM 2M x 6 5 Dout[5-] Write enable Din[5-] 6 Para aceder à memória: activar o circuito: chip select (CS) activo especificar o tipo de acesso: activar output enable (leitura) OU write enable (escrita). ArqComp: Sistemas de memória 6/

4 Memórias estáticas: acessos Tempo de acesso para leitura: intervalo entre o instante em que output enable e endereço estão correctos e o aparecimento de dados na saída. Valores típicos: rápidas: 2 4 ns típicas: 8 2 ns (cerca de 32 milhões de bits) de baixo consumo: 5 vezes mais lentas Durante esse tempo, um processador que execute uma instrução por ciclo e use um relógio de 2 GHz, executa: 4 8 instruções 6 4 instruções Tempo de acesso para escrita: é preciso respeitar tempos de setup e hold para endereços e dados. Para além disso, o sinal de write enable é sensível ao nível (não ao flanco) e deve ter uma duração mínima para que a escrita se realize. O tempo de escrita é superior ao tempo de leitura. ArqComp: Sistemas de memória 7/ Memórias estáticas: circuito de saída Buffer tristate (3 estados:,, desligado) Sel In Out Sel = In Sel = In Circuito de saída: Select Data Select Data Select 2 Data 2 Select 3 Data 3 In In In In Enable Out Enable Out Enable Out Enable Out Out Out Output Ao contrário de um banco de registos, o circuito de saída não pode ser baseado num multiplexador: uma SRAM 64K x precisaria de ter um multiplexador para-. Solução: utilizar buffer tristate, cuja saída pode ter 3 estados (, ou alta-impedância). No estado de alta-impedância, a saída do circuito está desligada. O estado da saída é determinado por uma entrada de controlo: select. Todas as saídas são ligadas em paralelo. Não pode existir mais que uma saída activa (i.e., não em alta-impedância) em cada instante. ArqComp: Sistemas de memória 8/

5 Estrutura básica de uma memória estática Din[] Din[] D D D D C latch Q C latch Q Write enable Enable Enable 2-to-4 decoder D C D latch Q D C D latch Q Enable Enable D D D D Address C latch Q C latch Q 2 Enable Enable SRAM 4x2 D D D D C latch Q C latch Q Enable Enable 3 ArqComp: Sistemas de memória 9/ Dout[] Dout[] Memórias estáticas organizadas por bancos Para limitar o tamanho do descodificador de endereços: 4K x 4K x 4K x 4K x 4K x 4K x 4K x 4K x Address [2 ] 2 to SRAM SRAM SRAM SRAM SRAM SRAM SRAM SRAM decoder Address 24 [9 ] Mux Mux Mux Mux Mux Mux Mux Mux Dout7 Dout6 Dout5 Dout4 Dout3 Dout2 Dout Dout Organização típica de uma memória 4Mx8 como uma colecção de blocos de memória 4Kx24. Os blocos MUX são realizados por buffers de três estados. ArqComp: Sistemas de memória /

6 Acessos a uma memória estática Duas escritas e uma leitura: Escrita Escrita Leitura OE tempo mínimo para escrita WE Endereço End End2 End Dados Dado Dado2 Dado valor escrito Leitura tempo de acesso OE identifica operação de leitura; endereços devem estar estáveis antes de o sinal ser activado. ArqComp: Sistemas de memória / Memória dinâmica (DRAM) Valor guardado como carga num condensador. O acesso é feito através de um transístor a operar como interruptor. Consequência: maior densidade (bit/mm 2 ), logo circuitos de maior capacidade e menor custo. Comparação: SRAM requer 4 a 6 transístores por bit armazenado. Acesso a DRAM é feito em duas etapas:. selecção de coluna (usando uma parte do endereço); 2. selecção de linha (usando os restantes bits do endereço). DRAM é mais lenta que SRAM. Valor típico: 2 Gb (52MX4), tempo de acesso 55 ns. Condensador vai perdendo a carga e deve ser periodicamente refrescado : leitura seguida de escrita (circuito dinâmico). Refrescamento consome % a 2% dos acessos. ArqComp: Sistemas de memória 2/

7 Célula de uma memória dinâmica Selecção de linha (word line) Transístor (interruptor) Condensador (armazena carga eléctrica) Linha de dados (bit line) Escrita: Valor a armazenar é colocado na linha de bit; wordline é activada para fechar interruptor. Leitura: Linha de bit é pré-carregada a meia escala; wordline é activada para fechar interruptor; a variação de tensão na linha de bit é amplificada para obter valor final. ArqComp: Sistemas de memória 3/ Esquema geral do acesso a uma memória dinâmica Descod. de linhas -to x 248 matriz Endereço[-] 248 trincos Mux Dout Endereço: + bits. Exemplo: DRAM 4Mx: bits seleccionam a linha, que é copiada para 248 trincos. Multiplexer selecciona de 248 entradas. ArqComp: Sistemas de memória 4/

8 DRAM: Leitura Exemplo simplificado de leitura (CE=, OE=, WE=). RAS = Row Address Strobe (endereço especifica linha) CAS = Column Address Strobe (endereço especifica coluna) RAS CAS Endereço End. Linha End. Coluna x Dados Dados lidos ArqComp: Sistemas de memória 5/ DRAM: Escrita Exemplo simplificado de escrita (CE=, OE=): RAS CAS existe uma largura mínima para este impulso WE Endereço End. Linha End. Coluna x Dados Dados a escrever ArqComp: Sistemas de memória 6/

9 Módulos de memória: DIMM CIs individuais podem ser agrupados em módulos. Ex: módulo 32Mx64 (256 MB) pode usar 6 componentes 32Mx4. a[24:] Ram Ram Ram2 Ram4 Ram5 32Mx4 d [3:] d[63:] d [7:4] d [:8] d [59:56] d[63:6] ArqComp: Sistemas de memória 7/ Memórias 2 Sistemas de memória: aspectos gerais Descodificação de endereços Hierarquia de memória 3 Memórias cache Princípios de funcionamento de memórias cache Desempenho de memórias cache 4 Memória virtual ArqComp: Sistemas de memória 8/

10 Memórias 2 Sistemas de memória: aspectos gerais Descodificação de endereços Hierarquia de memória 3 Memórias cache Princípios de funcionamento de memórias cache Desempenho de memórias cache 4 Memória virtual ArqComp: Sistemas de memória 9/ Organização da memória de um computador A memória física de um computador é geralmente composta por vários módulos (circuitos integrados, DIMM, etc.) por forma a ser possível obter maiores capacidades de armazenamento. Para além dos módulos de memória é necessário ter um circuito de descodificação de endereços que selecciona quais os módulos activos durante um dado acesso (com base no endereço apresentado pelo CPU). Organização típica: os bits menos significativos são ligados directamente aos módulos individuais, enquanto os bits mais significativos são usados para fazer a selecção dos módulos. Linhas de dados podem ser partilhadas por mais que um módulo (usando buffers tristate). Alguns módulos usam internamente esta abordagem. ArqComp: Sistemas de memória 2/

11 Organização da memória: diagrama de blocos N bits de endereço N bits End[N-:] End. End. End. End. CS CS CS CS dados dados dados dados dados[ ] M-N bits de selecção End[M-: N] Endereço tem M bits, dos quais M-N podem ser usados na descodificação Descodificador Apenas uma saída activa de cada vez Para memórias DRAM a descodificação de endereços é mais complicada. Apenas abordaremos o caso das memórias SRAM. ArqComp: Sistemas de memória 2/ Regras de descodificação de endereços Para que esta organização funcione bem, a descodificação de endereços deve garantir que: Para o conjunto de todos os módulos que partilham uma mesma linha de dados: apenas um (ou nenhum) deve ser activado durante um acesso. Se esta condição não for respeitada, os componentes podem ser definitivamente danificados. O mapeamento de endereços para componentes pode ser classificado de acordo com o número de endereços que é mapeado na mesma posição física: total: endereço posição parcial: N endereços posição Na descodificação total, todos os bits do endereço são usados : ligados directamente aos componentes ou utilizados na selecção dos componentes. ArqComp: Sistemas de memória 22/

12 Descodificação total: exemplo RAM RAM2 A[5:] A[:] A[2:] RAM: 4Kx8 RAM2: 8Kx8 Espaço de endereçamento do CPU: 64 K, byte por endereço CS D[7:] CS D[7:] RAM : XXXX XXXX XXXX Gama: BH a BFFFH A[5] D[7:] & 8 bits 8 bits 8 bits A[5] & RAM2: X XXXX XXXX XXXX Gama: 2H a 3FFFH A[4] A[4] A[3] A[3] A[2] Endereço B72H (46866) RAM Endereço CEH (49632) nenhum circuito ArqComp: Sistemas de memória 23/ Descodificação parcial: exemplo A[5] A[4] A[5:] D[7:] & RAM RAM2 A[:] A[2:] CS CS D[7:] D[7:] 8 bits 8 bits 8 bits A[5] & A[3] RAM: 4Kx8 RAM2: 8Kx8 Espaço de endereçamento do CPU: 64 K, byte por endereço RAM :?? XXXX XXXX XXXX Gamas: 8H a 8FFFH 9H a 9FFFH AH a AFFFH BH a BFFFH RAM2:?X XXXX XXXX XXXX Gamas: 2H a 3FFFH 6H a 7FFFH O byte de RAM pode ser acedido através de que endereços? 8AH, 9AH, AAH e BAH ArqComp: Sistemas de memória 24/

13 Memórias 2 Sistemas de memória: aspectos gerais Descodificação de endereços Hierarquia de memória 3 Memórias cache Princípios de funcionamento de memórias cache Desempenho de memórias cache 4 Memória virtual ArqComp: Sistemas de memória 25/ Observações gerais sobre sistemas de memória O custo dos diferentes tipos de memória é muito diferente: Tecnologia Tempo de acesso Custo ($/GB em 24) SRAM.5 5 ns $4 $ DRAM 5 7 ns $ $2 disco magnético ns $.5 $2 Organizar o sistema de memória como uma hierarquia: memória rápida para satisfazer a maior parte dos acessos, memória mais lenta para armazenar os dados menos usados. Princípio de funcionamento (para cada nível): Procurar a informação (dados ou instruções) num dado nível (inicialmente no nível, o que está mais próximo do CPU); Caso a informação não exista aí, ir buscá-la ao nível seguinte e guardar uma cópia (pode vir a ser reusada brevemente). Se a maioria dos acessos for satisfeita pelo nível superior, obtêm-se, em média, os tempos de acesso do nível superior e a capacidade de armazenamento do nível inferior. ArqComp: Sistemas de memória 26/

14 Organização hierárquica de sistemas de memória Tecnologia Rapidez CPU Tamanho Custo( /bit) corrente Mais rápido Memória Menor Maior SRAM Memória DRAM Mais lento Memória Maior Menor Disco magnético ArqComp: Sistemas de memória 27/ Níveis da hierarquia de memória Processador Transferências de dados ArqComp: Sistemas de memória 28/

15 Hierarquia de memória: conceitos básicos Uma hierarquia de memória pode ter vários níveis, mas a informação é transferida directamente apenas entre níveis adjacentes: o nível superior é mais rápido e tem menor capacidade que o nível inferior. Bloco: quantidade mínima de informação que pode estar presente ou ausente de um determinado nível. Tipicamente, a informação entre níveis é transferida em blocos. Acerto: acesso ao nível superior encontrou a informação pretendida (hit). Falha: acesso ao nível superior não encontrou a informação (miss). Taxa de acertos: (nº de acertos)/(nº de acessos). Taxa de falhas: (nº de falhas)/(nº de acessos) = -(taxa de acertos). Tempo de acerto: tempo de acesso ao nível superior, incluindo a verificação da presença do item pretendido (hit time). Penalidade de falha: tempo necessário para copiar o item pretendido do nível inferior para o superior mais o tempo necessário para esse nível completar o atendimento do acesso original (miss penalty). Uma boa compreensão da hierarquia de memória é indispensável para a elaboração de programas de elevado desempenho. ArqComp: Sistemas de memória 29/ O princípio da proximidade A organização hierárquica de memória dá muito bons resultados na prática, porque as situações em que é aplicada se comportam de acordo com o princípio da proximidade. O princípio da proximidade (ou localidade): Programas em execução acedem apenas a uma pequena parte do seu espaço de endereçamento (durante um certo intervalo). Proximidade temporal: Se um item de informação é usado, tenderá ser usado de novo em breve. Exemplo: instruções no corpo de um ciclo, variáveis. Proximidade espacial: Quando um item de informação é usado, itens próximos tendarão também a ser usados em breve. Exemplo: o conjunto de variáveis de uma subrotina, os elementos de um vector. ArqComp: Sistemas de memória 3/

16 Memórias 2 Sistemas de memória: aspectos gerais Descodificação de endereços Hierarquia de memória 3 Memórias cache Princípios de funcionamento de memórias cache Desempenho de memórias cache 4 Memória virtual ArqComp: Sistemas de memória 3/ Memórias 2 Sistemas de memória: aspectos gerais Descodificação de endereços Hierarquia de memória 3 Memórias cache Princípios de funcionamento de memórias cache Desempenho de memórias cache 4 Memória virtual ArqComp: Sistemas de memória 32/

17 Princípio básico de funcionamento X 4 X 4 X X n -2 X X n- 2 Duas questões relacionadas: X n - X 2 X 3 a. Antes de referência a X n X n- X 2 X n X 3 b. Depois de referência a X n Se o acesso a memória cache não encontra item desejado, item é copiado de níveis inferiores da hierarquia.. Como determinar a posição do item pretendido? 2. Como determinar a presença do item? O mapeamento endereço posição de cache é sempre muitos. ArqComp: Sistemas de memória 33/ Determinação da posição: mapeamento directo Índice = (endereço do bloco) % (nº de blocos) Se (nº de blocos) = 2 b, a posição (o índice) é dada pelos b bits menos significativos do endereço. Cache Memória Exemplo: Cache: 8 posições, memória principal: 32. I = End % 8 ArqComp: Sistemas de memória 34/

18 Determinação da presença: etiquetas Questão: Dada a posição de um item em cache, como determinar, se é esse item que, de facto, lá se encontra? Solução: Associar a cada bloco, uma etiqueta (tag) única. A etiqueta pode ser constituída pelos bits mais significativos do endereço (bits não usados na determinação da posição). No exemplo anterior, a etiqueta teria 2 bits. 4 3 Etiqueta 2 Nº do bloco Em certas situações, tanto o bloco como a etiqueta são inválidos. Exemplo: arranque do sistema. Para detectar esta situação, cada bloco tem associado um bit de validade. Se o seu valor for zero, então o bloco é inválido (a posição está vazia ). ArqComp: Sistemas de memória 35/ Exemplo: Cache para MIPS Endereço Acerto Etiqueta Índice Byte offset Dados Índice 2 Etiqueta Válido Dados = Como cada palavra (item) tem 4 bytes, os dois bits menos significativos não são usados. (Todos os endereços são alinhados;têm os 2 bits menos significativos a ). ArqComp: Sistemas de memória 36/

19 Múltiplas palavras por bloco O armazenamento de uma palavra (item) por bloco não aproveita a proximidade espacial. Para isso devem ser usados blocos com W itens (W > ). Para que seja fácil de identificar o item no interior do bloco, o número W deve ser uma potência de 2: W = 2 w. Nesta situação, o item pode ser identificado por w bits do endereço. A parte do endereço que especifica a posição dentro do bloco designa-se por deslocamento (offset). Interpretação de um endereço de N bits: Etiqueta (N-b-w-x) Índice (b) Deslocamento (w) x Quando os itens não têm apenas um byte (a unidade de endereçamento), existem alguns bits (menos significativos) do endereço que não são usados no acesso a memória. No caso do MIPS, os acessos são feitos por palavras de 4 bytes, pelo que 2 bits não são usados. ArqComp: Sistemas de memória 37/ Estrutura de cache com múltiplas palavras por bloco V Etiqueta } 6 7 verificação Etiqueta Índice Deslocamento byte Cache com b=3, w=2. ArqComp: Sistemas de memória 38/

20 Tamanho de bloco vs. taxa de falhas % 4K Taxa de falhas 5% 6K 64K % 256K Tamanho do bloco (bytes) Para tamanhos de blocos crescentes, a taxa de falhas diminui. Mas para tamanhos muito grandes, a taxa de falhas aumenta outra vez! A penalidade de falha tende a aumentar com a dimensão do bloco, porque é preciso ir buscar mais dados ao nível inferior. ArqComp: Sistemas de memória 39/ Exemplo: Intrinsity FASTMath () Endereço Hit Tag Byte offset Data Index Block offset 8 bits 52 bits V Tag Data 256 posições = Mux 32 ArqComp: Sistemas de memória 4/

21 Exemplo: Intrinsity FASTMath (2) Capacidade: 6 KB, 256 blocos de 6 palavras. Etiquetas: 8 bits. Índice: 8 bits (2 8 = 256). Deslocamento (no bloco): 4 bits 2 4 = 6). Exemplo de cálculo de posição: Etiqueta (8) Índice (8) Desl. Endereço = x (45524 ) Etiqueta:... x5 Bloco:... xd5 (23 ) ArqComp: Sistemas de memória 4/ Memórias cache separadas Em muitos sistemas, existem memórias cache separadas para instruções (I-cache) e dados (D-cache). A I-cache é usada no ciclo IF e apenas permite acessos de leitura. A D-cache permite leituras e escritas; é usada no tratamento de instruções load/store. A utilização de caches separadas (split cache), permite evitar conflitos entre os estados IF e MEM. Para uma mesma capacidade total, caches unificadas permitem conseguir menores taxas de falha (mas a diferença é pequena). Exemplo: (I-Cache + D-Cache) vs. U-Cache: Caches separadas: I-Cache(6 KB):.4%, D-Cache (6 KB):.4%, Média pesada: 3.24% Cache unificada de 32 KB: 3.8% ArqComp: Sistemas de memória 42/

22 Tratamento de falhas de leitura Quando, no processo de efectuar uma leitura da memória cache, esta detecta que o item pretendido não existe, são executadas as seguintes operações:. O endereço é passado para o nível inferior. 2. A memória cache espera pela nível inferior responda com o bloco pretendido. 3. O novo bloco é colocado na cache (eventualmente usando uma posição já ocupada), a etiqueta é guardada e o bit de validade correspondente é colocado a. 4. O item pretendido é disponibilizado ao circuito que o solicitou. Uma falha de leitura pode acontecer durante a obtenção de uma instrução (IF) ou durante uma leitura de dados (store). Em qualquer dos casos, uma falha de cache leva a um protelamento longo (tipicament mais de ciclos). O protelamento pode consistir simplesmente em suspender todas as operações. instrução: o CPU protela à espera da memória e repete o ciclo IF até obter a instrução. dado: a instrução de store é protelada durante a escrita (ciclo MEM). ArqComp: Sistemas de memória 43/ Tratamento de operações de escrita: write hit Só existem operações de escrita em caches de dados ou em caches unificadas. Escrita com valor em cache write hit: Operações de escrita levantam a possibilidade de o valor existente na cache ser diferente do valor em memória principal. Cache write-through: a memória cache é actualizada ao mesmo tempo que a memória principal. Cache write-back: apenas o valor em cache é actualizado. A memória é actualizada apenas quando o bloco é substituído. A política write-through deve evitar ficar à espera que a escrita em memória principal termine. Para isso, o CPU tem uma fila interna onde coloca os valores a escrever (designada por write-buffer), continuando entretanto a processar instruções (pelo menos, enquanto a fila não ficar cheia). A política de write-back reduz o número de acessos ao nível seguinte, mas é mais complexa de implementar. ArqComp: Sistemas de memória 44/

23 Tratamento de operações de escrita: write miss Escrita de valor cujo bloco está ausenta da cache write miss: As duas variantes principais são: Política allocate-on-miss: o bloco necessário é obtido do nível inferior, após o que tudo se passa como no caso de um write-hit. Pode envolver a substituição de um bloco já presente em cache. Política no-allocate: não alterar o conteúdo da cache e alterar directamente a memória principal. Funciona como se a cache não existisse para este tipo de transacções. O tratamento de cache miss é logicamente independente do tratamento de cache hit. As combinações mais usadas são: write-through & no-allocate: ênfase na simplicidade. write-back & allocate-on-miss: ênfase na redução de tráfego para a memória principal. ArqComp: Sistemas de memória 45/ Memórias 2 Sistemas de memória: aspectos gerais Descodificação de endereços Hierarquia de memória 3 Memórias cache Princípios de funcionamento de memórias cache Desempenho de memórias cache 4 Memória virtual ArqComp: Sistemas de memória 46/

24 Equações básicas de desempenho de caches O tempo (em ciclos) para acerto (hit) faz parte do tempo normal de execução de uma instrução. T CPU = (C exec + C prot ) T T CPU : tempo de CPU C exec : nº de ciclos em que CPU executou instruções C prot : nº de ciclos em que o CPU protelou devido a falhas no acesso a memória cache Assumir: não existem protelamentos causados por write buffer. Assumir que penalidades de falha iguais na escrita e na leitura. C prot = N rw t f p f N rw : número de acessos do programa (leitura e escrita) t f : taxa de falhas p f : penalidade de falhas Se taxa de falhas ou penalidade for diferente para leituras e escritas é preciso separar a equação anterior em duas parcelas. ArqComp: Sistemas de memória 47/ Exemplos de cálculo de desempenho Especificação: CPI perf =2, t fi =.2 para instrucões e t fd =.4 para dados, p f =, acessos a memória: 36%. Comparar o desempenho real com o desempenho obtido se a memória cache fosse perfeita. C i : nº de ciclos de protelamento na obtenção de instruções: C i = N.2 = 2 N C d : nº de ciclos de protelamento no acesso a dados: C d = N.36.4 =.44 N CPI prot = CPI perf + C i /N + C d /N = = 5.44 speedup = N CPI prot T N CPI perf T = E se CPI perf =? CPI prot = 4.44 speedup = 4.4 Percentagem de tempo em protelamento piora: 3.44/5.44 = 63% 3.44/4.44 = 77%. = 2.72 ArqComp: Sistemas de memória 48/

25 Efeito do aumento de frequência Melhorar o CPI sem melhorar o subsistema de memória leva a um aumento da percentagem de tempo perdida em protelamentos. (cf. exemplo anterior) O que acontece se a frequência de relógio aumentar, mas o subsistema de memória permanecer igual? Neste caso a penalidade de falha aumenta: p f = 2 C i + C d = = 6.88 CPI rapido = = 8.88 speedup = N CPI lento T N CPI rapido T 2 = =.23 Se a influência da cache tivesse sido ignorada, seria speedup=2. Processador que melhore simultaneamente CPI e T sofre um impacto duplo negativo. ArqComp: Sistemas de memória 49/ Influência do desempenho de cache 2 2 Radix sort 6 Radix sort Instructions / item Quicksort Clock cycles / item Quicksort Nº de itens ordenados Nº de itens ordenados Nº de instruções executadas por item 5 Ciclos de relógio por item 4 Radix sort Nº de falhas de cache por item Cache misses / item 3 2 Quicksort Nº de itens ordenados ArqComp: Sistemas de memória 5/

26 Colocação flexível de blocos Para reduzir a taxa de falhas, pode usar-se uma colocação de blocos mais flexível. Opções: Um item pode ser colocado. num único bloco: mapeamento directo 2. em qualquer bloco: associatividade completa 3. em qualquer bloco de um conjunto: associatividade parcial Número de blocos de um conjunto = número de vias Exemplos: conjunto de 2 blocos: associatividade 2 vias (2-way) mapeamento directo: associatividade -way associatividade total (cache com M blocos): m-way Índice determina apenas o conjunto, mas não o bloco: I = End % (nº de conjuntos) Para determinar onde se encontra o item, as etiquetas de todos os blocos válidos do conjunto devem ser comparadas (em simultâneo!): implementação mais complexa, que pode levar ao aumento do tempo de acesso (hit time) ArqComp: Sistemas de memória 5/ Associatividade: exemplo Mapeamento directo Associatividade por conjuntos Associatividade total Bloco # Conj. # 2 3 Dados Dados Dados Etiqueta 2 Etiqueta 2 Etiqueta 2 Busca Busca Busca Resultado empírico: associatividade superior a 8 não é útil (não leva a qualquer redução da taxa de falhas). Exemplo (Intrinsity FASTMath): Associatividade taxa de falhas (dados).3% 2 8.6% 4 8.3% 8 8.% ArqComp: Sistemas de memória 52/

27 Exemplo: organização de cache de 8 blocos Associatividade: via (mapeamento directo) Block Tag Data Set 2 3 Associatividade: 2 vias Tag Data Tag Data 7 Associatividade: 4 vias Set Tag Data Tag Data Tag Data Tag Data Associatividade: 8 vias (associatividade total, neste caso) Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data Tag Data ArqComp: Sistemas de memória 53/ Localização de bloco em cache associativa Endereço Etiqueta (tag) 22 8 Índice (index) Index V Tag Data V Tag Data V Tag Data V Tag Data = = = = 4-to- multiplexor Hit ArqComp: Sistemas de memória 54/ Data

28 Número de bits usados para etiquetas Calcular o nº de bits usados para armazenar as etiquetas. Especificação: endereços de 32 bits, cache com 4K blocos, blocos de 4 palavras, associatividade m=, m=2, m=4 e associatividade total (m=4k). 6 (=2 4 ) bytes / bloco 32-4 = 28 bits para índice e etiqueta. m=: 4K conjuntos, logo 2 bits de índice, e 28-2=6 bits/etiqueta. Total: 6 4K = 64 Kbits Cada incremento da associatividade diminiu para metade o número de conjuntos, logo diminui de o número de bits do índice e aumenta de o número de bits da etiqueta. m=2: 2K conjuntos, bits de índice e 7 bits de etiqueta. Total: 2K 2 7 = 68 Kbits. m=4: K conjuntos, bits de índice e 8 bits de etiqueta. Total: K 4 8 = 72 Kbits. m=4k: conjunto, bits de índice e 28 bits de etiqueta. Total: 4K 28 = 2 Kbits. ArqComp: Sistemas de memória 55/ Política de substituição A política de substituição define qual dos blocos de um conjunto deve ser substituído quando há uma falha e todos os blocos do conjunto estão ocupados. Substituição aleatória: o bloco a ser substituído é escolhido aleatoriamente de entre os elementos do conjunto. LRU (Least Recently Used): o bloco substituído é aquele que não é usado há mais tempo. Implementação para uma cache de 2 vias: para cada bloco usar um bit para marcar o último a ser acedido (o bit do outro bloco do conjunto é colocado a zero). A complexidade de implementar LRU cresce com a associatividade. A política LRU tenta aproveitar a proximidade temporal: os itens usados mais recentemente tendem a permanecer em cache. ArqComp: Sistemas de memória 56/

29 Múltiplos níveis de memória cache Para reduzir a penalidade de falhas pode aplicar-se a mesma abordagem que se usa para reduzir o tempo de acesso à memória principal: usar uma cache para a cache. A cache de nível 2 permite reduzir a penalidade de falha da cache de nível. A cache de nível 2 contém geralmente os dados residente na cache de nível (hierarquia de memória inclusiva ) e é de maior capacidade. Arranjo comum: caches separadas de nível + cache unificada de nível 2. Em alguns sistemas de elevado desempenho: 2 níveis de cache on-chip + nível (L3) no exterior. ArqComp: Sistemas de memória 57/ Processador com dois níveis de cache Usado no Mac G5 58 milhões transístores, 2.2 GHz L-ICache: 64 KB, m=, 28 bytes/bloco L-DCache: 32 KB, m=2, 28 bytes/bloco, LRU, write-through, no-allocate L2-Cache: 52 KB, m=8, 28 bytes/bloco, LRU, write-back, allocate-on-miss ArqComp: Sistemas de memória 58/

30 Desempenho de memórias cache multinível Cálculo do desempenho de um sistema com dois níveis de cache: Especificação: CPI =, F = 5 GHz (T=.2 ns), acesso a memória principal: ns, taxa de falhas em L de 2%. Qual a melhoria de desempenho obtida por uma memória cache L2 (tempo de acesso 5 ns) e com capacidade suficiente para reduzir a taxa de falhas para memória principal para.5%? Penalidade de falha (mem. principal): /.2 = 5 ciclos. CPI = = Com 2 níveis: Penalidade de falha por acesso a L2: 5/.2 = 25 ciclos CPI 2 = + Prot L + Prot L2 CPI 2 = = = 4 speedup = /4 = 2.8 (Extra) taxa de falhas local de L2:.5/.2 =.25 ArqComp: Sistemas de memória 59/ Memórias 2 Sistemas de memória: aspectos gerais Descodificação de endereços Hierarquia de memória 3 Memórias cache Princípios de funcionamento de memórias cache Desempenho de memórias cache 4 Memória virtual ArqComp: Sistemas de memória 6/

31 Memória virtual: motivação Conceito: memória principal é uma cache para memória secundária (em disco magnético). Motivação:. remover a limitação do tamanho da memória física: o programa pode usar mais memória que a fisicamente presente. Vantagem adicional: programa pode ser executado sem modificação em computadores com sistemas de memória diferentes. 2. permitir a utilização comum eficiente e segura de memória principal por vários programas em execução simultânea (processos). Aplica-se o princípio da proximidade (local e espacial). Cada programa é compilado (e executado) num espaço de endereçamento separado (virtual). Durante a execução, os endereços deste espaço virtual são convertidos para endereços físicos (de memória física). ArqComp: Sistemas de memória 6/ Memória virtual: termos e conceitos Cache bloco falha de memória SRAM DRAM Memória virtual página falha de página DRAM disco magnético Durante um acesso a memória principal, o endereço virtual é convertido (mapeado) num endereço físico. Memória virtual também implementa automaticamente a relocação do programa: o programa pode ser colocado ( carregado ) para qualquer zona de memória. A relocação é feita por páginas: não é necessário usar uma zona contígua de memória para todo o programa. Mapeamento virtual real com base em páginas de dimensão fixa: paginação. Alternativa: usar blocos de dimensão variável (segmentos). ArqComp: Sistemas de memória 62/

32 Modelo conceptual Endereços virtuais Conversão de endereços Endereços físicos Endereços de disco ArqComp: Sistemas de memória 63/ Endereços virtuais e reais Endereço virtual Nº de página virtual Deslocamento (na página) Conversão Nº de página física Deslocamento (na página) Endereço físico O endereço virtual é dividido num número de página virtual e um deslocamento na página. O número de página virtual é convertido num número de página real. O número de bits dos dois números não necessita de ser igual. ArqComp: Sistemas de memória 64/

33 Penalidade de falha de página A penalidade de falha de página é enorme : alguns milhões de ciclos de relógio. (O acesso a memória principal é mais rápido que o acesso a disco.) Consequências: A dimensão de uma página deve permitir amortizar o elevado tempo de acesso. Dimensão típica: 4 KB 6 KB, com tendência a aumentar (32 KB 64 KB). A redução da taxa de falhas é de extrema importância: utilização de associatividade completa. O tratamento das falhas de página pode ser feito por software (já que o overhead é comparativamente reduzido), o que permite a utilização de políticas de substituição sofisticadas. Não se usa write-through, mas apenas write-back (copy-back). ArqComp: Sistemas de memória 65/ Colocação de páginas (conversão virtual real) O mapeamento virtual real é completamente associativo. O número de páginas impede uma pesquisa em paralelo (como nas memórias cache) ou uma pesquisa linear. Usa-se um tabela indexada pelo nº de página virtual: na posição correspondente a cada página está o nº de página real associado e informação adicional (p. ex., tipo de acesso permitido), bem como um bit de validade. A tabela de páginas tem tantas posições como páginas virtuais. A tabela de páginas é mantida em memória e, geralmente, endereçada a partir de um registo especial: page table register. A tabela é utilizada por hardware (durante os acessos), mas gerida por software (sistema operativo). A tabela de páginas é mantida em memória principal. Existe uma tabela por processo (e uma para o sistema operativo). ArqComp: Sistemas de memória 66/

34 Tabela de páginas: exemplo Registo de tabela de páginas Endereço virtual Nº de página virtualr Deslocamento (página) Valid 2 2 Nº de página físicar Tabela de páginas 8 Se a página não está presente em memória Nº de página física Deslocamento (págia) Endereço físico ArqComp: Sistemas de memória 67/ Tratamento de faltas de página Quando, durante a conversão virtual real, o bit de validade da posição escolhida da tabela de página está a zero, ocorre uma falta de página. Neste caso, o CPU salta para uma subrotina de atendimento existente no sistema operativo. O sistema operativo deve encontrar a página em disco. Como? Quando o sistema lança um novo processo, reserva espaço para todas as páginas numa zona especial do disco designada por swap space. Ao mesmo tempo, o sistema operativo cria uma estrutura de dados para registar a posição de cada página em disco. Essa estrutura pode ficar integrada na tabela de páginas (exemplo seguinte) ou numa estrutura auxiliar separada. O sistema operativo também regista, para cada página física, qual o processo que lhe estão associado (bem como a respectiva página virtual). ArqComp: Sistemas de memória 68/

35 Tratamento de faltas de página: exemplo Nº de página virtual Válido Tabela de páginas Página física ou endereço de disco Memória física Armazenamento em disco ArqComp: Sistemas de memória 69/ Falhas de página e tratamento de escritas Quando ocorre uma falha de página e toda a memória física está ocupada, o sistema operativo deve escolher uma página física a libertar. Se alguma das posições de memória dessa página foi alterada, a página física deve ser copiada para disco (write-back) antes de ser substituída. Blocos de cache pertencentes à página a substituir devem ser também libertados (incluindo write-back se necessário), se existirem. O acesso a disco magnético (neste caso, para escrita) é muito demorado. Para evitar cópias desnecessárias, cada página tem um bit (na tabela de páginas) a indicar se foi alterada: bit de modificação (dirty bit). Apenas páginas físicas com esse bit de substituição a são copiadas para disco. ArqComp: Sistemas de memória 7/

36 Política de substituição A escolha da página física a substituir aquando de uma falta de página é geralmente feita segundo o critério LRU (Least Recently Used): É substituída a página não usada há mais tempo (as outras têm mais probabilidade de virem a ser usadas brevemente). A implementação exacta de LRU é muito pesada, já que a informação correspondente deve ser actualizada a cada acesso. Na prática, os S. O. apenas aproximam a política LRU. Uma abordagem: o CPU associa a cada página um bit de utilização (ou bit de referência): esse bit é colocado a sempre que ocorre um acesso à página. Periodicamente, o S. O. coloca todos os bits de referência a zero, para depois registar as páginas acedidas durante um certo intervalo de tempo. Com esta informação de utilização, o S. O. pode escolher a página a substituir de entre as que foram referenciadas menos recentemente. ArqComp: Sistemas de memória 7/ Tornar a conversão de endereços mais rápida As tabelas de páginas estão em memória principal. Cada acesso do programa seria transformado em dois acessos: um acesso à página e um segundo acesso aos dados/instruções. O princípio da localidade aplica-se: um endereço de página virtual usado recentemente tem elevada probabilidade de ser re-utilizado. Solução: usar uma memória cache especial para guardar as conversões de endereços mais recentes: translation-lookaside buffer (TLB) A cada acesso, o TLB é consultado para determinar a página real correspondente à página virtual especificada no endereço. Em caso de sucesso, o bit de referência é actualizado. No caso de uma escrita, o mesmo sucede com o bit de modificação. TLB deve conter cópia dos bits de controlo associados a cada página (incluindo a informação sobre protecção de acesso). ArqComp: Sistemas de memória 72/

37 TLB: Cache de endereços de página convertidos TLB Nº de página virtual Valid Dirty Ref Etiqueta Endereço de página física Memória física Tabela de páginas Valid Dirty Ref Página física ou end. disco Disco magnético ArqComp: Sistemas de memória 73/ TLB: aspectos adicionais Falha no TLB: carregar novo valor da tabela de páginas e repetir o acesso (software ou hardware); da segunda vez pode ocorrer uma falha de página (software). Durante a substituição de um bloco do TLB, os bits de referência e de acesso devem ser copiados para a página: write-back. São usados diversos tipos de associatividade: TLB pequeno com associatividade total (minimizar a taxa de falhas) e selecção aleatória do bloco a substituir (simplicidade) ; ou TLB maior, com associatividade reduzida. Características típicas: tamanho (nº de endereços): 6 52 tamanho do bloco: 2 tempo de acesso (hit):.5 ciclo de relógio penalidade de falha: - ciclos de relógio taxa de falhas:.% % ArqComp: Sistemas de memória 74/

38 Exemplo: TLB do Intrinsity FastMATH Endereço virtual Nº de página virtual Deslocamento de página 2 2 Valid Dirty Etiqueta Nº de página física TLB TLB hit = = = = = = 2 Nº de página física Deslocamento de página Etiqueta física End. físico Índice de cache Desl. bloco desl. byte Valid Etiqueta 2 Dados Cache = Cache hit 32 ArqComp: Sistemas de memória 75/ Dado Caches, TLB e memória virtual Endereço virtual acesso TLB TLB miss Não TLB hit? Sim Endereço físico Não Escrita? Sim Try to read data from cache Não Acesso de escrita permitido? Sim Protelar durante leitura de bloco (eventualmente com escrita) Não Cache hit? Sim Fornecer dados para o CPU Erro de protecção Protelar durante leitura de bloco (eventualmente com escrita) Sim Try to write data to cache Cache hit? Não Escrever dados em cache e actualizar dirty bit (se cache write-back) ArqComp: Sistemas de memória 76/

39 Acesso a memória: eventos possíveis Para um sistema com TLB, um nível de cache e memória principal, um acesso a memória pode encontrar três eventos: falha TLB, falha de página (PT) e falha de cache. Que combinações destes eventos podem realmente ocorrer? TLB T. P. Cache Possível? Porquê? hit hit miss Sim. A TP não é verificada. miss hit hit Sim. Página em memória mas endereço fora da T. P. miss hit miss Sim. Dados/instruções não estão em cache. miss miss miss Sim. hit miss miss Não. Se não existe na T. P. não pode estar em TLB. hit miss hit Não. (Idem) miss miss hit Nao. Dados não podem estar em cache se a página não está em memória. ArqComp: Sistemas de memória 77/ TLB, memória virtual e caches TLB, memória virtual e caches podem ser caracaterizados pelas respostas às seguintes questões:. Onde pode ser colocado um bloco? Mapeamento directo: posição. Associatividade completa: todas as posições, associatividade por conjuntos: conjunto restrito de posições. 2. Como encontrar um bloco? Mapeamento directo: índice. Associatividade por conjuntos: índice para o conjunto + pesquisa concorrente. Associatividade completa: pesquisa concorrente (cache) ou tabela separada (mem. virtual). 3. Que bloco substituir? Mapeamento directo: só um bloco. Outros: selecção aleatória ou LRU (exacto ou aproximado) 4. Que acontece na escrita? Write-through ou write-back. Memória virtual usa sempre write-back. ArqComp: Sistemas de memória 78/

Memórias cache: uma introdução

Memó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 mais

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Memoria. 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 mais

Hierarquia de Memória

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 mais

SSC0611 Arquitetura de Computadores

SSC0611 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 mais

Universidade 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. 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 mais

ELECTRÓNICA DE COMPUTADORES. Sumário

ELECTRÓ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 mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Hierarquia de Memória; Memória Cache (13.2 e 13.3) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto

Leia mais

5 de Maio de Aula 15

5 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 mais

Arquitectura de Computadores (ACom)

Arquitectura 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 mais

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD) SISTEMAS DIGITAIS (SD) MEEC Acetatos das Aulas Teóricas Versão 3.0 - Português Aula N o 21: Título: Sumário: Memórias Circuitos e tecnologias de memória (RAM estática e dinâmica, ROM); Planos de memória;

Leia mais

Sistemas Digitais (SD) Memórias

Sistemas Digitais (SD) Memórias Sistemas Digitais (SD) Memórias Aula Anterior Na aula anterior: Exemplo (Moore) Projecto de circuitos sequenciais baseados em contadores 2 Planeamento SEMANA TEÓRICA 1 TEÓRICA 2 PROBLEMAS/LABORATÓRIO 15/Fev

Leia mais

Microprocessadores. Memórias

Microprocessadores. 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 mais

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

Infraestrutura 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 mais

Hierarquia 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 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 mais

Arquitectura de Computadores

Arquitectura 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 mais

Capítulo 7 Sistemas de Memória. Ch7a 1

Capí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 mais

Níveis de memória. Diferentes velocidades de acesso. Memória Cache. Memórias Auxiliar e Auxiliar-Backup

Ní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 mais

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

Princí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 mais

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Organizaçã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 mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 20: Título: Sumário: Sistema de primária (ciclo de acesso, memória estática, memória dinâmica, planos

Leia mais

Memória Virtual. Prof. M.Sc. Bruno R. Silva CEFET-MG Campus VII

Memó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 mais

Infraestrutura de Hardware. Explorando Desempenho com a Hierarquia de Memória

Infraestrutura 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

Gerência de Memória. Paginação

Gerência de Memória. Paginação Gerência de Memória Paginação Endereçamento Virtual (1) Espaço de endereçamento dos processos não linearmente relacionado com a memória física Cada vez que são usados, os endereços virtuais são convertidos

Leia mais

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

PCS-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 mais

SSC0112 Organização de Computadores Digitais I

SSC0112 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 mais

Memória Cache. Aula 24

Memó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 mais

Memória e Hierarquia de Memória. Memória Vs. Armazenamento

Memó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 mais

Gerenciamento de memória

Gerenciamento 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 mais

Cache. Cache. Direct Mapping Cache. Direct Mapping Cache. Internet. Bus CPU Cache Memória. Cache. Endereço Byte offset

Cache. 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 mais

Organização de Computadores

Organizaçã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 mais

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3) Endereçamento Virtual (1) Gerência de Memória Paginação Espaço de endereçamento dos processos não linearmente relacionado com a física Cada vez que são usados, os endereços virtuais são convertidos pela

Leia mais

Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache

Arquitetura 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 mais

Universidade de São Paulo

Universidade de São Paulo Universidade de São Paulo Organização de Computadores Dr. Jorge Luiz e Silva Cap 2 Memória Secundária Memória Principal Memória Secundária - Armazenam informações que precisam ser transferidas para a Memória

Leia mais

Capí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. 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 mais

Tempo de processador desperdiçado a fazer nada. Processor register 1 clock cycle (0.5 2 GHz) $??? DRAM semiconductor memory ns $10 $20

Tempo 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 mais

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP

Memó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 mais

Arquitetura de Computadores. Hierarquia de Memória. Prof. Msc. Eduardo Luzeiro Feitosa

Arquitetura 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 mais

Hierarquia de memória

Hierarquia 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

Hierarquia de memória

Hierarquia 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 mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Memória Secundária (13.4) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 18

Leia mais

Organização e Arquitetura de computadores

Organizaçã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 mais

SSC0112 Organização de Computadores Digitais I

SSC0112 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 mais

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Memória Secundária (13.4) José Monteiro Licenciatura em Engenharia Informática e de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 29

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura 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 mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 23: Título: Sumário: Memória paginada; Tabela de páginas; Tabela de páginas hierárquica. 2014/2015

Leia mais

Sistemas de Memória II

Sistemas 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 mais

http://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 mais

Correção de Erros. Erros de memória de semicondutores podem ser:

Correçã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 mais

FUNDAMENTOS 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 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 mais

Arquitetura de Computadores

Arquitetura 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 mais

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO4: MEMÓRIAPRINCIPAL

ORGANIZAÇÃ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 mais

Introdução. Num micro-processador a informação é guardada em registos. Para isso precisamos de muitos registos, isto é memória em massa

Introdução. Num micro-processador a informação é guardada em registos. Para isso precisamos de muitos registos, isto é memória em massa 10 Memória v02 Introdução Num micro-processador a informação é guardada em registos Estes são definidos com grupos de FFs tipo D Além da informação precisamos de guardar também as instruções do próprio

Leia mais

Sistemas de Memória III

Sistemas de Memória III Sistemas de Memória III José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-11-29 José Costa (DEI/IST) Sistemas de Memória III

Leia mais

Memó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 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 mais

Gestão de Memória. Espaço de Endereçamento

Gestão de Memória. Espaço de Endereçamento Gestão de Memória Parte I Mecanismos Espaço de Endereçamento Conjunto de posições de memória que um processo pode referenciar Para ler, escrever ou executar E se referenciar outras posições de memória?

Leia mais

Adriano J. Holanda FAFRAM. 4 e 11 de maio de 2012

Adriano J. Holanda FAFRAM. 4 e 11 de maio de 2012 Memória Adriano J. Holanda FAFRAM 4 e 11 de maio de 2012 Trilha Introdução Hierarquia da memória Memórias RAM Memória ROM Introdução Arquitetura de Von Neumann Memória Aritmética Controle E/S Unidade central

Leia mais

Memória Cache: Funcionamento

Memó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 mais

ü Capítulo 4 Livro do Mário Monteiro ü Introdução ü Hierarquia de memória ü Memória Principal ü Memória principal ü Memória cache

ü 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 mais

Gestão de Memória. Espaço de Endereçamento

Gestão de Memória. Espaço de Endereçamento Gestão de Memória Parte I Mecanismos Espaço de Endereçamento Conjunto de posições de memória que um processo pode referenciar E se referenciar outras posições de memória? HW de gestão de memória desencadeia

Leia mais

Organização e Arquitetura de Computadores I

Organizaçã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 mais

Hierarquia de Memória

Hierarquia 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 mais

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

Memória. Gestão do espaço lógico Paginação Segmentação com paginação Memória Gestão do espaço lógico Paginação Segmentação com paginação Paginação Divide-se a memória física em pequenos blocos de tamanho fixo chamados de páginas físicas (ou frames) o tamanho é uma potência

Leia mais

Memória Principal. Tiago Alves de Oliveira

Memó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 mais

MEMÓRIAS. Sistemas Digitais II Prof. Marcelo Wendling Nov/18

MEMÓRIAS. Sistemas Digitais II Prof. Marcelo Wendling Nov/18 MEMÓRIAS Sistemas Digitais II Prof. Marcelo Wendling Nov/18 1 Definições São blocos que armazenam informações codificadas digitalmente. A localização de uma unidade de dado num arranjo de memória é denominada

Leia mais

Memória Cache. Walter Fetter Lages.

Memó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

Arquitetura e Organização de Computadores 2. Organização Hierárquica da Memória. Uma afirmação antiga, mas perfeitamente atual

Arquitetura e Organização de Computadores 2. Organização Hierárquica da Memória. Uma afirmação antiga, mas perfeitamente atual Arquitetura e Organização de Computadores 2 Organização Hierárquica da Memória Hierarquia da Memória Uma afirmação antiga, mas perfeitamente atual Ideally one would desire an indefinitely large memory

Leia mais

Arquitectura de Computadores II

Arquitectura 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

Espaço de Endereçamento

Espaço de Endereçamento Gestão de Memória Parte I - mecanismos Sistemas Operativos 2015 / 2016 Espaço de Endereçamento Conjunto de posições de memória que um processo pode referenciar E se referenciar outras posições de memória?

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 10: MEMÓRIA E HIERARQUIA DE MEMÓRIAS

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 10: MEMÓRIA E HIERARQUIA DE MEMÓRIAS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 10: MEMÓRIA E HIERARQUIA DE MEMÓRIAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MEMÓRIA SÃO TODOS

Leia mais

Sistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Sistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro Sistemas de Memória Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Memória: O Gargalo de Von Neuman Memória principal: considerada como sendo

Leia mais

Arquitectura de Computadores (ACom)

Arquitectura de Computadores (ACom) Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Teóricas Versão 4.0 - Português Aula N o 24: Título: Sumário: - II ; memória virtual - caches. 2014/2015 Nuno.Roma@tecnico.ulisboa.pt Arquitectura

Leia mais

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas 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 mais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4. Cristina Boeres

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4. Cristina Boeres FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA PRINCIPAL CAPÍTULO 4 Cristina Boeres Memória! É um dos componentes de um sistema de computação! Sua função é armazenar informações que são ou serão manipuladas

Leia mais

Memória Cache. Adriano J. Holanda. 12 e 16/5/2017

Memó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 mais

Memórias RAM e ROM. Adriano J. Holanda 9/5/2017. [Introdução à Organização de Computadores]

Memórias RAM e ROM. Adriano J. Holanda 9/5/2017. [Introdução à Organização de Computadores] Memórias RAM e ROM [Introdução à Organização de Computadores] Adriano J Holanda 9/5/2017 Memória de acesso aleatório RAM Random Access Memory Armazenamento temporário de programas em execução e dados;

Leia mais

Tecnologias de Memória

Tecnologias 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 mais

Microcontroladores e Interfaces

Microcontroladores 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 mais

Arquitetura de Computadores. Memórias

Arquitetura 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 mais

Memória cache segunda parte. Organização de Computadores. Aula 17. Memória cache segunda parte. 1. Mapeamento completamente associativo

Memó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 mais

Hierarquia de Memória

Hierarquia 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 mais

Circuitos Sequenciais

Circuitos Sequenciais 1 Circuitos Sequenciais Elementos de estado ou elementos de memória Exemplos de circuitos sequenciais: Latches Flip-flops Registradores Conjunto de registradores Memória Conjunto de Registradores Parte

Leia mais

Memória 21/05/2010. Introdução. Hierarquia de Memória. Hierarquia de Memória. Arquitetura de Computadores

Memó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 mais

Sistemas Operacionais

Sistemas 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 mais

EA960 Memória virtual

EA960 Memória virtual EA960 Memória virtual Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1 Motivação Vimos no tópico anterior como a memória cache pode

Leia mais

Memória. Memória Cache

Memória. Memória Cache Memória Memória Cache Revisão - Memória Principal Memória que armazena os dados e programas em linguagem de máquina em execução corrente Razoavelmente barata Tempo de acesso da ordem de nano-segundos a

Leia mais

SSC512 Elementos de Lógica Digital. Memórias. GE4 Bio

SSC512 Elementos de Lógica Digital. Memórias. GE4 Bio Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Elementos de Memórias GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos Prof.Dr. Danilo

Leia mais

SSC0112 Organização de Computadores Digitais I

SSC0112 Organização de Computadores Digitais I SSC0112 Organização de Computadores Digitais I 17ª Aula 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 Características

Leia mais

Divisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação.

Divisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação. % % & & Sistema Buddy Divisão da lacuna em espaços na base 2:! 1, 2, 4, 8,, até o limite da memória Até encontrar uma lacuna suficiente! Eficiente quanto à velocidade e Ineficiente quanto à fragmentação

Leia mais

Memória para CAD. Aleardo Manacero Jr.

Memó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 mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 15ª Aula Gerenciamento de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Memória Interna Slide 1 Memória Em informática, memória são todos os dispositivos que permitem a um computador guardar dados, temporariamente ou permanentemente.

Leia mais

Memórias cache. João Canas Ferreira. Abril de Porque são efectivas as memórias cache? Hierarquias de memória Caracterização do desempenho

Memórias cache. João Canas Ferreira. Abril de Porque são efectivas as memórias cache? Hierarquias de memória Caracterização do desempenho Memórias cache João Canas Ferreira Abril de 2004 c JCF, 2004 ASPD (FEUP/LEEC) Memórias cache 1/51 Porque são efectivas as memórias cache? Hierarquias de memória Caracterização do desempenho Colocação e

Leia mais

Arquitectura de Computadores MEEC (2013/14 2º Sem.)

Arquitectura 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 mais

octeto e uma memória principal de 8M palavras de 1 octeto. Considere ainda que a

octeto e uma memória principal de 8M palavras de 1 octeto. Considere ainda que a Exercícios sobre Gerenciamento de Memória 01. Qual a função da MMU na gerência de memória? R: É o hardware que traduz o endereço virtual em físico e mapear o endereço nas tabelas. 02. O que é o TLB? R:

Leia mais

UFRJ 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/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 mais

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa

Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP. Memórias de Dados e de Programa 4. Memórias de Dados e de Programa Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP 4.1 Memórias Semicondutoras Algumas definições Célula: Dispositivo de armazenamento de 1 bit. Palavra:

Leia mais

Gerenciamento de Memória

Gerenciamento de Memória Gerenciamento de Memória Prof. Clodoaldo Ap. Moraes Lima Paginação Espaço de endereço de um processo pode ser não contíguo; ao processo é alocado memória física sempre que disponível. Divide memória física

Leia mais