Microprocessadores. Memórias



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

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

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

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

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache

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

Memória cache (cont.) Sistemas de Computação

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Sistemas de Memória II

Organização de Computadores

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

Organização e Arquitetura de Computadores I

Memórias Cache. Memória

Arquitectura de Computadores II

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

Infraestrutura de Hardware. Explorando a Hierarquia de Memória

Memória Cache: Funcionamento

Hierarquia de Memória. Sistemas de Computação André Luiz da Costa Carvalho

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

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

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

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

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

Memória Cache. Walter Fetter Lages.

Arquitetura de Computadores. Memórias

Memória Cache Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

MEMÓRIA CACHE FELIPE G. TORRES


Principais Componentes do Gabinete. Componentes Básicos de um Computador. CPU ou UCP (Processador) 17/02/2017

Memória Cache endereço de memória

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I

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

Arquitetura de Computadores. Arquitetura de Computadores 1

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual

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

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

Memória Principal. Tiago Alves de Oliveira

Hierarquia de memória

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres

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

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

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA. Prof. Dr. Daniel Caetano

Micro-Arquiteturas de Alto Desempenho. Introdução. Ementa

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

Organização e Arquitetura de Computadores

CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL

Sistemas Operacionais Aula 16 Memória Virtual

Estrutura e Funcionamento do Computador

Sistemas Operacionais

Hierarquia de Memória

Memória Cache. Aula 24

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Entrada e Saída e Dispositivos

RESUMO PROVA INTEGRADA (AV2)

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA E BARRAMENTOS DE SISTEMA. Prof. Dr. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES MEMÓRIA E BARRAMENTOS DE SISTEMA. Prof. Dr. Daniel Caetano

Computador (arquitetura básica): b

Arquitetura de Sistemas Operacionais

Introdução à Informática

HARDWARE. Givanaldo Rocha

DEFINIÇÃO É TODO AQUELE DISPOSITIVO CAPAZ DE ARMAZENAR INFORMAÇÃO. A

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

Arquitetura de Computadores

Manutenção de Microcomputadores I

Transcrição:

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 de Dados Sinais de Controlo

Hierarquia de CPU Cache Principal Secundária CPU Cache de Instrução Cache de Dados Principal Secundária

Hierarquia de Cache que funciona à velocidade do µprocessador (ou a velocidades aproximadas). Normalmente está incluido no mesmo CI do próprio microprocessador. A sua função consiste em ter cópias das posições da memória principal mais utilizadas, para que o seu acesso seja mais rápido. Principal Composta pela ROM e pela RAM do sistema. Nela são colocados os programas que se pretende serem executados pelo sistema e respectivos dados necessários. A ROM inclui os programas de inicialização do sistema. A RAM é a memória volátil do sistema. Esta é a memória incluida no modelo de Von Newman. Secundária de massa, normalmente constituída pelo disco, e também por CD s, "discketes"e outros tipos de memória removível. Contem programas para execução e dados do sistema. Pode ser também utilizada para paginação quando a Principal não tem dimensão suficiente. De qualquer forma o acesso a essa memória é muito mais lento, e é feito por operações de Entrada/Saída, já que se encontra exterior ao modelo de Von Newman.

Circuitos de Tipos de ROM - Read Only Memory RAM - Random Access Memory Am-1... A1 A0 RD CS Dn-1... D1 D0 Am-1... A1 A0 RD CS Dn-1... D1 D0 n - Dimensão da palavra m - Dimensão da memória (n bits). (2 m palavras de n bits).

Ligação de s em Paralelo Circuitos de Aumentar a Dimensão da Palavra Aumentar o Número de Palavras

Aumentar a Dimensão da Palavra (4 8 bits) Circuitos de An-1 A1 A0 An-1... A1 A0 An-1... A1 A0 CS CS D3 D2 D1 D0 CS D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0

Circuitos de Aumentar o Número de Palavras (2 n 2 n+2 palavras) An+1 An An-1 A1 A0 X/Y 0 1 2 2 1 3 An-1... A1 A0 An-1... A1 A0 CS D7D6D5D4D3D2D1D0 CS An-1... A1 A0 An-1... A1 A0 CS D7D6D5D4D3D2D1D0 D7D6D5D4D3D2D1D0 D7D6D5D4D3D2D1D0 CS D7 D6 D5 D4 D3 D2 D1 D0

Circuitos de Exemplo de Ligação em Paralelo Quais os endereços ocupados pelos circuitos de memória? A 19...0 A 19 A 17 A 18 X/Y & EN 0 1 2 A 13...0 A 13...0 CS M 1 CS M 0 3 D 15...8 D 7...0 A 16 A 15 A 14 4 2 1 4 5 6 A 13...0 CS A 13...0 M 2 7 D 15...0 CS M 3 D 15...0 D 15...0

DMA- Direct Memory Access Acesso Directo à Barramento de Endereços µprocessador Entrada/Saída Secundária Barramento de Dados Sinais de Controlo Controlador DMA O controlador DMA sinaliza ao Microprocessador que pretende fazer transferência. O Microprocessador coloca os barramentos em estado de alta impedância e sinaliza ao Controlador DMA que pode assumir o controlo dos barramentos. O controlador DMA assume o controlo dos barramentos e inicia o processo de transferência.

Hierarquia de CPU Cache Principal Secundária CPU Cache de Instrução Cache de Dados Principal Secundária

Hierarquia de Definições Localização Temporal Se uma localização de dados é referenciada, então tende a ser referenciada num futuro muito próximo. Localização Espacial Se uma localização de dados é referenciada, então localizações com endereços próximos tendem a ser referenciada num futuro muito próximo. NOTA: Ex. de Biblioteca: Um estudante escolhe um livro de uma biblioteca - tende a consultá-lo mais que uma vez Um estudante escolhe um livro de uma biblioteca - tende a escolher outros livros da mesma estante NOTA: Ex. de Programa de Computador: Localização Temporal - Os programas são tipicamente constituídos por Ciclos e Funções que tendem a ser acedidas múltiplas vezes. Localização Espacial - Os programas, sendo estruturas sequenciais, tendem a usar instruções que estão em posições de memória consecutivas.

Cache Leitura da memória cache Cada instrucção origina pelo menos um acesso à memória (ciclo de busca) µprocessadores muito mais rápidos do que memórias Cache" memória relativamente pequena; memória rápida (velocidades similares ao µprocessador ); coloca-se entre µprocessador e a memória principal (normalmente no CI do µprocessador ). Notas: Cache hit": Quando a palavra de memória está na cache. Cache miss": Quando a palavra de memória não está na cache.

Cache Inicio Cache recebe Endereço da CPU Busca o bloco que contem o endereço na memória Principal SIM O Bloco que contem o endereço está na cache NÃO Reserva espaço na Cache para esse Bloco Envia conteúdo do endereço para a CPU Envia conteúdo do endereço para a CPU Fim Copia bloco com o endereço para espaço reservado na cache

Cache Técnicas de mapeamento da memória Estas técnicas definem a forma como se faz o mapeamento da memória principal na memória cache, de forma a ser eficientemente acedida. As posições de memória escolhidas e que são colocadas na cache, são aquelas que mais vezes são acedidas. No entanto tem que haver uma forma eficiente de identificar se uma determinada posição de memória está colocada na cache ou não. Nota: A memória cache, além de armazenar um conjunto de palavras da memória que em princípio devem ser as mais utilizadas, tem que armazenar o endereço dessas palavras na memória principal.

Cache Cache mapeada directamente Endereço(bloco) de memória dividido em: TAG : parte mais significativa INDEX : parte menos significativa ENDEREÇO TAG INDEX INDEX é fixo TAG varia em função da palavra escolhida para a cache Exemplo (sistema de memória com 256 palavras e cache de 8 palavras): Para cada INDEX existem 2 5 possíveis palavras de memória. A que deve ocupar a cache, deve ser a que é mais utilizada de entre as 2 5. Endereço TAG INDEX DADO 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 1

Cache Cache mapeada associativamente Não existe INDEX. Logo a TAG contem o endereço(bloco) completo. Então a cache, pode conter em principio, as palavras que são mais utilizadas pelo µprocessador sem qualquer limitação do hardware". O problema desta filosofia, está relacionado com a lógica complementar que é necessária à identificação dessa posição de memória. T n-1 A n-1 T i A i T 1 A 1 T 0 A 0...... M Este circuito só resulta em 1 quando o endereço(bloco) armazenado na TAG e o endereço(bloco) requerido à memória está na posição de cache respectiva. O problema, é que cada endereço(bloco) armazenado em cache tem que ter um circuito destes associados, aumentando muito a complexidade.

Cache Cache mapeada em conjuntos associativos Combina as duas técnicas prévias. Reduz a complexidade, sem perda de eficiência significativa. Um endereço(bloco) é novamente dividido em TAG e INDEX. Exemplo: Circuito com INDEX de 1 bit, A 0. HIT/MISS = 1 significa que a palavra está na cache. A n-1... A 1 TAG 1 Lógica de Match DADOS 1 Barramento de Dados TAG 0 Lógica de Match DADOS 0 HIT / MISS

Cache Substituição do conteúdo da cache Substituição Aleatória Substituição FIFO A posição mais antiga é substituida. Substituição LRU - Least Recently Used É considerada a melhor técnica, já que é menos provável voltar a aceder à posição que não é usada à mais tempo. No entanto, a implementação é complicada, e usualmente usam-se técnicas que a aproximam. Substituição LFU - Least Frequently Used

Cache Métodos de Escrita na cache Quando uma palavra é escrita na memória, e o endereço está na cache, o que é que se deve fazer? As técnicas são as seguintes: ITE THROUGH Escreve-se na cache e na memória principal. Como a escrita na memória principal provoca atrasos, usam-se buffers para escrita na memória principal. Este buffer armazena o endereço e o conteúdo final do dado respectivo, até que seja escrito em definitivo. ITE BACK A escrita só se faz na cache. Cada posição de memória na cache tem um bit extra associado, chamado Dirty bit"que sinaliza se a respectiva palavra foi ou não alterada. Quando as posições de memória em cache são substituidas, e se têm o Dirty bit"a sinalizar a alteração, são escritas na memória principal.

Virtual Virtual Permite que seja usada mais memória do que a presente fisicamente na memória principal. Para isso, usa a memória secundária do sistema (nos sistemas de entrada/saída, como os discos) Programas são divididos em PAGEs Virtual Cache PAGE Bloco Page Fault Memory Miss Um Page Fault - Significa que o dado não está na memória principal. - Leva milhões de ciclos a processar Endereço Virtual - Endereço de memória virtual que é traduzido (por Software/Hardware) por Mapeamento de Endereço para um Endereço Físico quando se acede à memória. Virtual - Implementa a tradução do espaço de endereçamento do programa para o endereço Físico real.

Virtual Mapeamento de Endereço - Tradução de Endereço Processo que mapeia um Endereço Virtual no endereço usado para endereçar a memória Endereços Virtuais Endereços Físicos 31 1211 Endereço Virtual Offset da Page 0 Tradução Endereços Disco 28 1211 Número da Page Virtual Offset da Page 0 Escrita na Virtual - Usado o método Write-Back (Write-Through resultaria em tempos de atraso elevadissimos, tornando-a impossível)