Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura de Computadores Aula 13-14 – Memória Principal e sua Organização Prof. Sand Luz Corrêa Tópicos ● Sistemas de Memória ● Memórias Internas ● Memória Principal ● Bit, célula, byte, palavra ● Endereço de memória ● Ordenação de bytes ● Chips de memória Sistemas de Memória Sistemas de Memória ● O sistema de memória de um computador tem a função de armazenar informações. ● O sistema de memórias funciona de forma muito simples: ● Um dispositivo de armazenamento é um armário com gavetas ● Cada gaveta tem um endereço ● É possível armazenar (escrever) ou recuperar (ler) os dados de uma gaveta, dado seu endereço Sistema de Memória Sistema de Memória ● Na prática, o sistema de memória é constituído por vários componentes de diferentes tipos ● Isso se deve por 2 fatos: ● Diferença cada vez maior entre a velocidade da CPU e o tempo de acesso à memória principal – A quantidade de instruções processadas pela CPU por unidade de tempo tem dobrado a cada 18 meses enquanto o tempo de acesso à memória tem diminuído cerca de 10% ao ano ● Necessidade de maior capacidade de armazenamento. – Em virtude de programas mais complexos e maior volume de dados Sistema de Memória ● Portanto, é inviável ter : ● uma memória rápida o suficiente para interagir adequadamente com o processador e ● armazenar um grande volume de dados ● Solução ● Hierarquia de memória – Usar memórias mais rápidas (caras) para interagir com o processador – Usar memórias mais lentas (baratas) para armazenar um grande volume de dados Sistema de Memória Propriedades que caracterizam os sistemas de memória Localização ● Indica se a memória é interna ou externa ao computador ● Memórias internas: acessadas pelo processador através de barramentos. – Ex. memória principal, cache e registradores ● Memórias externas: acessadas pelo processador através de controladores de E/S. – Ex. disco magnético, disco óptico e fitas magnéticas Capacidade ● É a quantidade máxima de dados que pode ser armazenada em uma memória ● Normalmente medida em bytes (8 bits) ● Dependendo do tamanho da memória, indica-se a capacidade por: Unidade Valor em potência de 2 KB (quilobyte) 210 MB (megabyte) 220 GB (gigabyte) 230 TB (terabyte) 240 PB (petabyte) 250 Ex (exabyte) 260 Organização ● Célula de memória: ● Dispositivo capaz de armazenar 1 bit ● Palavra de memória ● unidade de organização da memória principal. O tamanho da palavra é tipicamente igual ao numero de bits usado para representar um numero ou uma instrução (32 ou 64 bits). Organização ● Unidade de Endereçamento ● Menor unidade que pode ser endereçada na memória. ● Na memória principal a unidade de endereçamento é a palavra ou é o byte ● A relação entre o comprimento dos endereços em bits (A) e o numero de endereços (N) é N=2A. ● Unidade de transferência ● Numero de bits lidos da memória, ou escritos na memória. ● A unidade de transferência não precisa ser igual ao comprimento da palavra, ou de uma unidade de endereço, pois muitas vezes os dados são transferidos em blocos. Método de Acesso ● Forma como o dado é acessado ● Acesso sequencial: para acessar um endereço de uma certa localidade, precisa-se passar por endereços intermediários – Ex. fita magnética ● Acesso direto: cada informação tem um um endereço unico baseado em sua localização física, portanto pode ser acessada diretamente – Ex. disco ● Acesso aleatório:Como no acesso direto, mas o tempo para acessar uma certa localização é constante e não depende dos acessos anteriores – Ex. memória principal e cache Parâmetros de Desempenho ● Tempo de acesso (ou latência - T a ): ● É o período de tempo compreendido desde o momento em que o endereço é apresentado à memória até o momento em que o dado é disponibilizado ao usuário ● Tempo de ciclo (Tc) ● representa o intervalo mínimo entre dois acessos sucessivos à memória. Este conceito é principalmente aplicado as memórias de acesso aleatório ● Taxa de transferência ● representa a taxa, com que os dados são transferidos para a unidades de memórias. Características Físicas ● Volatilidade: ● Memórias voláteis perdem os dados quando a fonte de energia é desligada – Ex. Memórias semicondutoras, ou seja, memória principal, cache e registradores ● Memórias não voláteis: retém os dados mesmo quando a fonte de energia é desligada – Ex. Memórias magnéticas (disco e fitas) Memórias Internas Memórias Internas ● As memórias internas são construídas a partir de tecnologia semicondutora ● Exemplo de memórias internas ● RAM ● ROM ● PROM ● EPROM ● EEPROM ● Memória Flash Memória de acesso aleatório (RAM) ● Random Access Memory (RAM) ● São memórias cujo conteudo pode ser acessado diretamente e num tempo constante, ou seja, independente da posição acessada ● Nessas memórias, dados podem ser lidos e escritos de forma rápida ● Tanto a leitura quanto a escrita são realizadas por meio de sinais elétricos. ● São memórias voláteis Memória de acesso aleatório (RAM) ● Nos computadores atuais, encontramos dois tipos de memória RAM ● RAM Dinâmica (DRAM) ● RAM Estática (SRAM) Memória de acesso aleatório (RAM) ● DRAM (Dynamic RAM) ● Feita com células que armazenam dados como carga em capacitores ● A presença ou ausência de carga em um capacitor é interpretada como um bit 1 ou 0, respectivamente ● Como os capacitores possuem uma tendência natural para descarga, a DRAM exige recarga periódica, mesmo quando alimentada por uma fonte de energia. ● Logo, a diferença entre tempo de acesso e tempo de ciclo é maior numa DRAM ● Uma célula de memória dinâmica é mais simples e menor que uma célula de memória estática ● Por esse motivo, são mais baratas que SRAM e são usadas na Memória Principal Memória de acesso aleatório (RAM) ● SRAM (Static RAM) ● Usa a mesma tecnologia dos processadores (basicamente transistores) ● Devido à ausência de capacitores, a SRAM não exige recarga ● Logo, o tempo de acesso é muito próximo do tempo de ciclo ● Uma célula de memória estática é mais complexa e maior que uma célula de memória dinâmica ● Por esse motivo, são mais caras que DRAM e são usadas internamente nos processadores (registradores e cache) Memórias de Leitura Apenas ● ROM (Read Only Memory) ● É uma memória somente de leitura, ou seja não pode ser modificada ● É uma memória não volátil ● Dados são gravados no momento da criação do circuito integrado e não são mais modificados ● Usada para: – Armazenar programas de boot – Armazenar o microcódigo (interpretador de linguagem de máquina) – Armazenar firmware (software muito amarrado ao hardware que é atualizado raramente) ● PROM (ROM Programável) ● É uma memória somente de leitura, ou seja não pode ser modificada depois de escrita ● Porém, ao contrário da ROM, o processo de escrita é realizado eletricamente e pode ocorrer após a fabricação do chip, com um dispositivo especial ● É uma memória não volátil ● É uma alternativa mais barata que a ROM, geralmente usada para armazenar poucos dados. Memórias de Leitura Apenas Memórias Principalmente de Leitura ● EPROM (ROM Programável e Apagável) ● Memória principalmente de leitura, não volátil, podendo ser modificada após a gravação. ● Para isto, toda a memória deve ser apagada antes de ser regravada ● Para ser apagada, o chip de memória é exposto à luz ultravioleta. ● A memória pode ser apagada repetidamente ● O processo de remoção dura aproximadamente 20 minutos ● Pode ser apagada aproximadamente1000 vezes Memórias Principalmente de Leitura ● EEPROM (ROM Programável e Apagável Eletricamente) ● Memória principalmente de leitura, não volátil, que pode ser escrita a qualquer momento sem a necessidade de apagar o conteudo anterior ● Somente os bytes endereçados são atualizados. ● Usa um processo elétrico para sobrescrever bytes – a operação de escrita é bem mais lenta que a de leitura ● É mais cara que a EPROM e menos densa (menor capacidade de armazenamento por chip) ● Memória Flash ● Memória principalmente de leitura, não volátil, que pode ser escrita e apagada de forma mais rápida que a EEPROM ● Também usa um processo elétrico para sobrescrever bytes ● Tem maior densidade que a EEPROM (maior capacidade de armazenamento por chip) e pode ser apagada 1.000.000 de vezes. ● Usada em: – Cartões de memória (câmera digital, celular, MP3 player) – Pendrive – Disco de estado sólido Memórias Principalmente de Leitura Tipo Categoria Remoção Mecanismo De Escrita Volatilidade RAM Memória de leitura-escrita Eletronicame nte, no nível de bytes eletronicame nte Volátil ROM Memória de leitura apenas Não é possível Durante processo de fabricação Não volátil PROM Memória de leitura apenas Não é possível Após o processo de fabricação Não volátil EPROM Memória preferencialm ente de teitura Luz ultra- violeta No nível do chip Elétrico Não volátil EEPROM Memória preferencialm ente de teitura Elétrico No nível de byte Elétrico Não volátil Flash Memória preferencialm ente de teitura Elétrico No nível de byte Elétrico Não volátil Memória Principal Organização de Computadores Memória Principal Disco Impressora Unidade de Controle Unidade Aritmética E Lógica Registradores CPU (Central Processing Unit) Barramento Memória Principal ● Dispositivo físico usado para guardar programas (sequência de instruções) e dados que estão sendo executados ● A memória principal trabalha diretamente com a CPU na execução de um programa: ● Antes de executar, o programa e seus dados são armazenados na memória principal ● A CPU busca as instruções e dados da memória principal à medida que a execução se realiza ● Atualmente é construída a partir de semicondutores baseados em circuitos integrados Memória Principal ● É também chamada de RAM (Random Access Memory) ● É uma memória volátil Organização da Memória Principal ● O elemento básico de armazenamento físico da memória principal é o bit ● Cada bit é armazenado na memória principal como uma carga elétrica ● Carga alta: bit 1 ● Carga baixa: bit 0 ● Esses bits são agrupados em células ● Uma célula é endereçada para acessar uma informação ( conjunto de bits) ● A célula é a unidade de endereçamento da memória principal Organização da Memória Principal ● Do ponto de vista de organização lógica, a memória principal é um conjunto de N células consecutivas ● Cada célula é acessada por meio de um endereço que varia de 0 a N-1, ou seja: ● A primeira célula encontra-se no endereço 0 ● A ultima célula encontra-se no endereço N-1 ● Uma célula armazena um numero M de bits ● Todas as células de uma memória armazenam o mesmo numero de bits. ● Se um endereço usa k bits, o número máximo de células endereçáveis é 2k Organização da Memória Principal Organização da Memória Principal 000 001 010 011 100 101 110 111 00101000 Posição da memória igual a 010 tem armazenada a informação 00101000 MP Organização da Memória Principal ● Em geral, nos computadores atuais, uma célula é composta por 8 bits, os quais são chamados de bytes ● A unidade de informação do sistema processador/memória é a palavra. Uma palavra representa um dado ou uma instrução de máquina. ● O tamanho da palavra é uma característica importante para o projeto de qualquer processador ● Os processadores atuais têm palavras de 32 bits e 64 bits – Desde o Pentim 4, os processadores Intel são 64 bits. – Desde o Opteron, os processadores AMD são 64 bits Organização da Memória Principal ● Operação de Leitura CPU 000 001 010 011 100 101 110 111 00101000 MP End=010 1 2 CPU 000 001 010 011 100 101 110 111 0010100000101000 Organização da Memória Principal ● Operação de Escrita CPU 000 001 010 011 100 101 110 111 00101000 MP End=011 info= 11111111 3 4 CPU 000 001 010 011 100 101 110 111 00101000 11111111 Chips de Memória ● Até a década de 90 a memória principal era fabricada e vendida em um chip unico ● Nos computadores atuais, temos um arranjo diferente. ● Um grupo de 4 a 16 chips montado em uma placa de circuito impresso. Essa unidade é denominada: – SIMM (Single Inline Memory Module): transferem 32 bits de memória por vez; ou – DIMM (Dual Inline Memory Module): transferem 64 bits de memória por vez Chips de Memória Chips de Memória ● Atualmente, um chip de DRAM é organizado como uma matriz ● Esse arranjo permite endereçar a mesma quantidade de células, porém com menos pinos de endereço ● Isso ocorre porque linhas e colunas compartilham as mesmas linhas de endereço ● Além disso, existe mais de uma matriz por chip. ● Cada matriz, denominada banco, pode operar independentemente. Chips de Memória ● Logo, um chip com 4 matrizes pode atender 4 requisições de leitura/escrita simultaneamente ● Para endereçar uma célula ● Seleciona-se o chip desejado (Pino CS) ● Seleciona-se o banco desejado (Pinos Bank) ● Seleciona-se a linha desejada (Pinos A) ● Seleciona-se a coluna desejada (Pinos A) ● Quando uma linha é selecionada, ela é copiada para um buffer. ● Acessos subsequentes à mesma linha requerem apenas a atualização dos endereços das colunas Tecnologias para DRAM ● Originalmente, as DRAMs se comunicavam com o controlador de memória (processador) assincronamente ● Como consequência, toda transferência de dados envolvia algum overhead de sincronização com o controlador ● Atualmente, essa comunicação é feita de forma síncrona, através do sinal de um relógio (clock) ● Essas DRAMs são chamadas de SDRAMs (DRAMs Síncronas) Tecnologias para DRAM ● Inicialmente, as transferências podiam ocorrer somente na aresta de subida de um pulso do relógio. ● Atualmente, as transferências de dados podem ocorrer nas arestas de subida e descida ● Essa otimização é chamada de DDR (double data rate) Tecnologias para DRAM Padrão Taxa de Transferência (Mbps) DDR2 400-1066 DDR3 800-2133 DDR4 2133-4266 Memória Flash ● A memória flash é mais lenta que DRAMs, mas são mais rápidas que discos tradicionais. ● Em geral para operações de escrita, uma DRAM é cerca de 10 a 1000 vezes mais rápida ● Comparado com os discos magnéticos, a memória flash pode ser até 1000 vezes mais rápida ● Atualmente, vários laptops e desktops usam memória flash (SSD) no lugar de discos, para melhorar o desempenho do sistema (swap) ● Vários datacenters também usam memória flash como uma cache para o disco (storages). ● Há também estudos recentes onde a memória Flash é empacotada no DIMM juntamente com a DRAM Ordenação de Bytes ● Suponha uma máquina onde ● Uma palavra (um inteiro, um ponto flutuante precisão simples, ou uma instrução) é composta por 32 bits (4 bytes) e ● Uma memória endereçada a bytes (1 célula = 8 bits) ● Queremos armazenar o valor inteiro 12345678 16 no endereço 184 da memória principal ● Há duas formas de se armazenar esse valor Ordenação de Bytes(1) (2) (1) Big endian: armazena o byte mais significativo no menor endereço de memória (2) Little endian: armazena o byte menos significativo no menor endereço de memória Bibliografia Capítulo 4 do Livro Arquitetura e Organização de Computadores. William Stallings. 8a. Edição. Seção: 4.1 Capítulo 5 do Livro Arquitetura e Organização de Computadores. William Stallings. 8a. Edição. Seções: 5.1 e 5.3 Apêndice B10 - Ordenação de Bytes Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50
Compartilhar