490 likes | 821 Views
Arquitetura de computadores. Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari. Subsistema de memória. 27/03/2013. Memória de computadores.
E N D
Arquitetura de computadores Prof. Edivaldo Serafim Curso: Tecnólogo em Análise e Desenvolvimento de Sistemas - 2013 IFSP – Campus Capivari
Subsistema de memória 27/03/2013
Memória de computadores • Nenhuma tecnologia de memória satisfaz de maneira ótima todos os requisitos de armazenamento de computadores; • Por isso existe uma hierarquia de subsistemas de memórias: • Algumas internas: • Acessadas diretamente pelo processador: • Memória RAM, memória cache, registradores; • Algumas externas: • Acessadas através de operações de I/O: • HD, Pen Drive, DVD, etc.; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Características de sistemas de memórias • As características mais importantes de memórias são: • Localização: • Indica se a memória é externa ou interna ao computador; • Capacidade: • Tamanho em bytes ou palavras; • Unidade de transferência: • Quantidade de dados transferidos em uma operação; • Método de acesso: • Forma de acessar um endereço de memória; • Sequencial, direto, aleatórioou associativo; • Desempenho: • Tempo de acesso e tempo de ciclo; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Características de sistemas de memórias • Continuação... • Taxa de transferência: • Quantidade de bits por segundo que são transferidos do processador para a memória e vice-versa; • Tecnologia de fabricação: • Forma e material que as memórias são fabricadas: • Semicondutor, magnética, óticas; • Características físicas: • Determina a vivacidade dos dados armazenados: • Volátil ou não volátil; • Organização • Forma como os bits são organizados na memória. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Hierarquia de memória • Podemos resumir as restrições do projeto de memórias em três questões conflitantes: • Capacidade: • Programadores buscam uma memória infinita, ou seja, quanto maior melhor; • Isso não ocorre na prática, mas é o que se deseja; • Velocidade: • Memórias devem ser compatível com a velocidade do processador para que este não fique ocioso quando depender de um acesso à memória; • Como isso não ocorre na prática, outros meios de compensação são utilizados para resolver a discrepância de velocidade entre memória e processador, como o uso de memória cache; • Custo: • O custo deve ser compatível com o padrão de mercado para que o projeto seja viável. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória X Processador Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 *Hennessy& Patterson
Hierarquia de memória • O processador enxerga a memória do computador como uma única área de armazenamento, ou seja apenas um sistema de memória; • Na verdade existem vários níveis de memória em um computador; • Isso ocorre por conta das velocidades, do custo, tecnologia e local físico das memórias; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Visão do processador para a memória • Visão do processador para a memória: CPU Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Bus Memória
Como a memória é estruturada na realidade Registradores Cache Interior CPU Distância daCPU e aumento no tempo de acesso Memórias ROM* Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 RAM HD, Discos óticos (CD, DVD), Fitas magnéticas, etc.. * Apenas velocidade
Como a memória é estruturada na realidade Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 *Hennessy& Patterson
ULA – UC – UD – BF Registradores Interior da CPU Cache L1 Cache L2 Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Cache L3 Memória RAM Armazenamento em massa (HD)
Considerações sobre a hierarquia • Quanto mais alto o nível na hierarquia: • Mais rápida é a memória: • Tempo de acesso menor; • Frequência de acesso é maior; • Menor a capacidade de armazenamento: • Menos densa ou seja, menos bits por milímetro quadrado; • Maior o tamanho físico da memória: • Maior espaço físico para armazenar um bit; • Uso de transistores (que são componentes grandes) para armazenar bits; • Maior o custo: • Transistores são mais caros que capacitores. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Considerações sobre a hierarquia • Quanto mais baixo o nível na hierarquia: • Mais lenta é a memória: • Tempo de acesso maior; • Frequência de acesso é menor; • Maior a capacidade de armazenamento: • Mais densa é a memória, ou seja, mais bits por milímetro quadrado; • Menor o tamanho físico da memória: • Menor espaço físico para armazenar um bit; • Uso de capacitores (que são componentes pequenos) para armazenar bits; • Menor o custo: • Capacitores são mais baratos que transistores. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória volátil e não volátil • Em relação a permanência dos dados na memória, podemos classificar as memórias em: • Memória volátil: • Os dados se perdem com a ausência de alimentação elétrica; • Feita de capacitores ou transistores; • Armazena dados temporariamente. • Memória não volátil: • Os dados são permanentes mesmo sem alimentação elétrica; • Feita de capacitores (memória flash), discos magnéticos, fitas magnéticas, discos óticos; • Armazena dados permanentemente. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória volátil de acesso aleatório • Uma das características do sistema de memória é o método de acesso; • É a forma como são endereçados as posições de memória para armazenar e ler dados e instruções; • Em memórias de acesso aleatório os endereços de memória possuem um indicador único e podem ser acessados diretamente, bastando ser apontado seu endereço; • Os endereços são implementados em hardware. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tecnologia de memórias • Memórias de semicondutor podem ser estáticas ou dinâmicas: • Memórias estáticas – SRAM: • Confeccionadas com transistores (geralmente 6 por bit); • Enquanto houver fornecimento de energia, seu estado permanece inalterado; • Não necessitam de refrescamento (Refresh); • Usada em registradores e memórias cache; • São maiores fisicamente, menos densas e mais caras, porém mais rápidas. • Memórias dinâmicas – DRAM: • Confeccionadas com capacitores; • Perdem o conteúdo rapidamente, necessitando periodicamente de realimentação (refrescamento ou Refresh); • Usada para memória principal ; • São maiores fisicamente, mais densas e mais baratas, porém mais lentas. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tecnologia de memórias SRAM DRAM Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória somente leitura • São memórias que são gravadas e os dados são permanentes, não podendo ser alterados ou regravados; • Suas aplicações são diversas, predominando o uso em firmwares; • Os dados são gravados no processo de fabricação; • Possuem basicamente dois tipos: • ROM (ou Máscara de ROM): • Gravada em fábrica; • Nunca pode ser alterado seu dado; • PROM: • Gravado pelo usuário, apenas uma vez; • Após gravado, não pode ser alterado seu dado. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória somente leitura • Exemplos de memórias ROM e PROM: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória principalmente de leitura • Indicada para dados que não são alterados com frequência, mas devem ser não voláteis; • São comercializadas em estado virgem e gravadas pelos usuários em laboratório; • Podem ser: • EPROM; • Memória programável e apagável em um processo ótico ultravioleta; • EEPROM; • Memória programável e apagável em um processo elétrico; • Flash; • Memória programável e apagável em um processo elétrico; • Pode ser regravada mais rapidamente que a EEPROM convencional; • Pode ser regravada mais vezes que a EEPROM convencional. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória principalmente de leitura • Máquina de programar PROM: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória principalmente de leitura • Exemplo de EPROM: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória principalmente de leitura • Exemplo de EPROM: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória principalmente de leitura • Exemplos de EPROM: Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória principalmente de leitura • Máquina de EEPROM Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Organização de memórias • Entende-se por organização de memória a forma como os bits são dispostos na memória para representar uma informação; • O elemento básico de uma memória de semicondutor é a célula de memória; • As propriedades dessas células são: • Possuem dois estados para representar valores binários 0 ou 1; • Um valor pode ser escrito em uma célula de memória; • Seu estado pode ser lido. • As células possuem geralmente 3 terminais: • Um terminal de seleção, para selecionar uma determinada célula; • Um terminal de controle, que indica se a operação é leitura ou gravação; • Um terminal para ler o estado da célula ou gravar um bit nela. • As células podem ser selecionadas individualmente para leitura ou escrita por meio de linhas e colunas; • As células podem ter um bit apenas ou k-1 bits; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Operação de uma célula Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Tecnologia de memórias • Seleção de uma célula de memória: • Seleção através de linhas e colunas. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Confiabilidade em memória • Erros de memória podem ocorrer de várias formas, alterando assim o estado do bit; podemos ter os seguintes erros de memória: • Softerrorsou erros dinâmicos: • Detectados e corrigidos por errorcorrectingcodes(ECC) • Harderrorsou erros dinâmicos que danificam permanentemente uma ou mais células de memória • Usa linhas reservas para substituir as linhas defeituosas • Chipkill: uma técnica de recuperação de erro do tipo RAID, onde um chip danificado (killed) é substituído pelo uso de chips redundantes que constam do sistema. • Erros gerados por raios cósmicos: • A memória é suscetível a raios cósmicos, podendo destruir uma célula de memória. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
MEMÓRIA CACHE • Processadores evoluíram em velocidade muito mais do que as memórias RAM; • Para equiparar a velocidade de acesso das memórias RAMs com as memórias de alto desempenho (registradores) faz-se uso de memórias cache; • Consistem em uma memória intermediária entre a CPU e a memória RAM; • Podem ter vários níveis (L1, L2 e L3) que podem ser unificados ou separados; • Uma para dados e instruções ou uma para dados e outra para instruções. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Transferência de palavras Transferência de blocos Memória Principal CPU Memória Cache
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória cache do Intel Core i Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Memória cache do Intel Core i Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
MEMÓRIA CACHE • Memória cache é sempre menos densa que a memória principal; • O conteúdo da memória cache é uma cópia de partes da memória principal; • Parte das informações que existem na memória principal pode estar em um determinado momento no cache, ou seja, uma cópia dos dados; • Quando essa cópia é transferida para a memória cache, transfere-se um bloco de palavras; • Quando o processador acha um dado na cache, ocorre um HIT; • Quando não acha ocorre um MISS. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Funcionamento da Cache • Em um processo de leitura na memória: • Quando o processador necessita de um dado ou instrução irá procurar inicialmente na memória cache; • Se encontrar (HIT), utiliza esse dado para o processamento; • Se não encontrar (MISS), irá solicitar ao controlador de memória que busque-o na memória principal; • O controlador irá pegar o dado ou instrução e irá colocar na memória cache, levando junto os dados em endereços vizinhos mais próximos; • O processador utilizará esse dado ou instrução. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Funcionamento da Cache • Em um processo de leitura na memória: IR = 1894 PC = 1024 End. Cont. 1020 – 1596 1021 – 4597 1022 – 5598 1023 – 2795 1024 – 1894 1025 – 2895 1026 – 5896 1027 – 2896 1028 – 3729 Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 PC 1024 está na Cache? SIM! O conteúdo de 1024 é lido e gravado no IR Transferência de palavras Transferência de blocos Memória Principal CPU Memória Cache
Funcionamento da Cache • Em um processo de leitura na memória: IR = 3729 End. Cont. 729 – 5687 730 – 5688 731 – 2689 732 – 1690 733 – 2691 734 – 5692 735 – 2693 796 – 3694 797 – 4695 PC = 729 End. Cont. 1020 – 1596 1021 – 4597 1022 – 5598 1023 – 2795 1024 – 1894 1025 – 2895 1026 – 5896 1027 – 2896 1028 – 3729 End. Cont. ... 729 – 5687 730 – 5688 731 – 2689 732 – 1690 733 – 2691 734 – 5692 735 – 2693 796 – 3694 797 – 4695 ... PC 729 está na Cache? Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 NÃO! Cópia É solicitado ao controladorpara buscar na memória o endereço 729 Transferência de palavras Transferência de blocos Memória Principal CPU Memória Cache Agora no cache, 729 será lido e verificado a instrução neste endereço de memória.
Organização de cache • A memória cache pode ser organizada de duas maneiras: • Interposta • Os dados sempre passarão antes na memória cache para depois ir para a CPU; • Direta • Os dados que não estão na cache vão diretamente a CPU, mas uma cópia ficará no cache. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Organização de cache interposta CPU Endereço Endereço Memória cache Armazenamento temporário de endereços Controle Controle Barramento do sistema Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Dados Armazenamento temporário de dados
Organização de cache modernas Endereço CPU Armazenamento temporário de endereços Memória cache Controle Controle Barramento do sistema Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013 Armazenamento temporário de dados Dados
Estrutura da memória cache • Em comparação com a memória principal, a memória cache posui: • Numero de linha: • Indica a linha que conterá um bloco; • Rótulo: • Indica o bloco de memória principal; • Bloco: • Contém as cópias dos dados e instruções da memória principal em alguns endereços. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Estrutura da memória cache Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Localidades de cache • O principio da localidade garante a eficiência da hierarquia de memória: • Localidade temporal: referência repetida à mesma localidade: • Implementação de repetições (loops), sub-rotinas; • Localidade espacial: referência a endereços próximos: • Programas sequenciais, implementação de matrizes, vetores; Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013
Elementos do projeto de cache • Os elementos de projeto de memórias cache pode ser: • Tamanho; • Função de mapeamento; • Algoritmo de substituição; • Política de escrita; • Tamanho da linha; • Número de memórias cache. Prof. Edivaldo Serafim - Arquitetura de Computadores - IFSP 2013