Memória Memória Introdução Motivação para ser um Sub-sistema Operações Representação da informação Princípios da organização da memória Hierarquia da memória Critérios de comparação entre memórias Unidades de medida de capacidade Tipos: Registradores; Cache; Principal; Secundária. Introdução Memória: Componente do sistema de computação cuja função é armazenar os dados e informações manipulados pelo sistema. Apresenta-se no sistema de computação como um sub-sistema do mesmo visto que devido a diversos fatores não existe na prática somente um tipo de memória nos computadores atuais. Introdução Fatores que levam a diversificação dos tipos de memória em um computador: 1.Aumento crescente da velocidade de processamento da CPU (UCP). 2.Necessidade crescente de espaço de armazenamento. Introdução CPU x Memória Se houvesse somente um tipo de memória a CPU permaneceria muito tempo ociosa. Ciclo Aproximadamente 5ns; Ciclo de instrução da CPU: de memória: Aproximadamente 60ns; Com essa configuração uma operação de transferência de dados da Memória para a CPU. Manteria a CPU 55ns ociosa. Introdução CPU x Memória 8 7,5 7 6,5 6 5,5 5 Velocidade CPU 4,5 Velocidade da Memória Capacidade de Armazenamento da Memória 4 3,5 3 2,5 2 1,5 1 0,5 0 1 12 24 36 Introdução tipos de memória Para tentar equilibrar essas necessidades a memória em um computador é construída como um sub-sistema de diferentes tipos de memória que ou beneficiam a velocidade de acesso ou a capacidade de armazenamento. Tipos de memória: Registradores; Cache; Principal; Secundária; Introdução operações A memória permite que duas operações sejam executadas sobre a informação armazenada: Leitura: Recuperação (Cópia) de um valor já armazenado. Escrita: Armazenamento de uma informação (operação destrutiva). A memória nunca está vazia! Nós a consideramos vazia quando a informação armazenada não é relevante ou quando a origem dessa informação nos é desconhecida. Porém sempre há algum valor registrado na memória (mesmo que nulo (0)). Introdução- Representação da informação O elemento básico para armazenamento é o “bit” Bit: um digito binário que só pode assumir dois valores 0 ou 1; O modo de identificação dos bit's em uma memória pode variar sendo: Ausência ou presença de sinal elétrico. Ausência ou presença de Campos magnéticos; Ausência ou presença de pontos de luz; Introdução- Representação da informação O computador só possui meios para representar números binários. Com base nisso: Como é possível que representemos símbolos como por exemplo,números? ou os caracteres do alfabeto? [a-z] totalizando 26 símbolos distintos; Introdução- Representação da informação Formando grupos de bits que são manipulados pelo computador (com base nas instruções de um programa) como “entidades” atômicas. E definindo mapeamentos entre os valores binários e os símbolos que deseja-se representar na memória. No exemplo de representação dos 26 símbolos do alfabeto a formação de grupos de 5 bits como elementos únicos garantiria a associação de cada símbolo à um número binário distinto de 5 dígitos. Qual o problema com essa representação? Introdução- Representação da informação Existe a possibilidade de representar na memórias valores que o programa não esteja preparado à manipular. o que se não for previsto pode leva-lo a apresentar um comportamento inesperado. Introdução- Princípios da organização da memória A partir da manipulação não de bit's individuais mas de grupos de bit's surge o conceito de célula de memória. A memória é assim organizada como um grande conjunto de células. Obs: Em geral o termo célula é referente a unidade elementar da memória principal o mesmo conceito recebe outras designações nos outros tipos de memórias existentes. ( bloco, setor , cluster e etc). Introdução- Princípios da organização da memória Localização da informação: Cada célula da memória está associada a um endereço. O endereço a identifica dentre as outras células existentes na memória. O endereço consiste de um numero inteiro sem sinal. Introdução- Princípios da organização da memória Representação de uma memória de N células ........ 0 1 N-1 Introdução- Hierarquia da memória Tempo de Acesso 1ns a 2ns 3ns a 10ns 30ns a 90ns 5ms a 20ms 10s a 3m Regist rador es c o Pr dor a Custo a Cache L1 -s c la Memór L2 P ãe ia m Princip a Disco l ne i ab Rígido G $ Fita te ern t Magné x tica E o Capacidade Introdução- Hierarquia da memória Parâmetros de comparação para o estabelecimento da hierarquia das memórias: Tempo de Acesso: refere-se a quanto tempo a memória leva para colocar uma informação no barramento de dados quando solicitado. Dependente da tecnologia utilizada na construção da memória. Independente da distância física entre a ultima informação requisitada e a seguinte nas memórias RAM'S e ROM'S. O que não é verdade para memórias de acesso seqüencial como por exemplo, discos e CD-ROM's. Introdução- Hierarquia da memória Ciclo de memória: Período de tempo entre a realização de duas operações sucessivas de acesso a memória. Capacidade: Quantidade de informação que a memória pode armazenar. Em geral, é medido em bytes ou em suas variações: Gigabyte (Gbyte ou Mb); Megabyte (Mbyte ou Mb); Kilobyte (Kbyte ou Kb). Unidades de medida de capacidade da memória Byte: agrupamento de 8 bit's ( um número binário de 8 dígitos); Em geral é a quantidade de bit's que pode ser armazenado em uma única célula de memória, Porém a quantidade de bit's que formam uma célula pode variar de acordo com o computador analisado. Prefixos: 1Kbyte =2¹°bytes =1024bytes; 1Mbyte=2¹°Kbytes=2²°bytes=(1024x1024)bytes; 1Gbyte=2¹°Mbytes=2³°bytes= (1024x1024x1024)bytes Unidades de medida de capacidade da memória Introdução- Hierarquia da memória Volatilidade: Capacidade de manter a informação armazenada na ausência de alimentação elétrica. Tecnologia de fabricação: Memórias baseadas em semi-condutores: dispositivos fabricados como circuitos eletrônicos Exemplo: Registradores; Memórias de meio magnético: dispositivos que armazenam a informação com base em campos eletromagnéticos. Exemplo: Memória Secundária (discos rígidos, fitas); Memórias de meio óptico: dispositivos que utilizam feixes ópticos para armazenar o valor do bit(s) em sua superfície. Exemplo: CD-ROM's; Introdução- Hierarquia da memória Temporáriedade: Grandeza que indica quanto tempo uma informação permanece armazenada na memória. Custo: Valor monetário definido em função dos outros fatores. Para ser analisado corretamente o custo de uma memória é analisado em relação ao custo de um byte indiviual. Exemplo: Um disco rígido de 1GB é vendido a $100; Enquanto um registrador de um byte pode ser comercializado com o preço de $10; Apesar de aparentemente o disco ser mais caro quando verificamos seu preço por byte constatamos que 1 byte custa aprox. $0,09 contra os $10 do byte do registrador Registradores Tipos de memória - Registradores Registradores: São o destino final do conteúdo das outras memórias no subsistema de memória. É a memória responsável pelo armazenamento das instruções na iminência de serem executadas pela CPU assim como os possíveis operandos e resultados dessa instrução. São internos ao processador; Tipos de memória - Registradores Características Tempo de aceso e ciclo de memória: não se aplicam. Por serem internos a CPU, os registradores sempre possuirão o menor tempo de acesso e ciclo de memória de todo o sub-sistema de memória(algo em torno de 1 a 5 ns). Capacidade: Pequena de maneira geral, uma palavra do sistema de computação. (algo em torno de 8 a 64 bits). Volatilidade: Registradores são um exemplo de memória voltátil e portanto necessitam de alimentação elétrica para manter os valores armazenados. Tipos de memória - Registradores Tecnologia de Fabricação: Registradores são memórias de semi-condutores sendo fabricados com a mesma tecnologia que os demais circuitos da CPU. Temporariedade: Os registradores são memórias auxiliares internas a CPU e por isso tendem a armazenar a informação por pouco tempo (geralmente um ciclo de instrução). Custo: devido a sua tecnologia de fabricação ser mais avançada os registradores são o tipo de memória com o maior custo. Memória Cache Tipos de memória - Memória Cache Memória Cache: Memórias desenvolvidas com o objetivo de minimizar o gargalo existente na transferência de informações entre a memória principal e a CPU. Tenta minimizar o número de acessos diretos da CPU à memória principal. Quando não existia um ciclo de instrução estava sempre atrelado a execução de um ciclo de memória. Tipos de memória - Memória Cache Podem se localizar no sistema de computação em até dois níveis: L1 : Cache's internas ao processador; L2: Cache's externas ao processador ( presentes na placa-mãe); Características: Tempo de acesso e ciclo de memória: variando de 3 a 10 ns; Capacidade: variável em torno de 64Kb e 1024Kb; Volatilidade: por serem construídas como circuitos eletrônicos necessitam, como os registradores de alimentação para manter as informações armazenadas. Tipos de memória - Memória Cache Tecnologia de fabricação: circuitos eletrônicos de alta velocidade. Geralmente memórias estáticas construídas com base na tecnologia SRAM. Temporariedade: pequeno tempo de permanência das informações. (em geral o tempo de execução de um programa). Custo: alto. Situado entre o custo dos registradores e da memória principal. A localização da memória cache (níveis L1 e L2) também influencia no seu custo. Memória Principal Tipos de memória - Memória Principal Memória principal: A Memória básica de um computador. Armazena os programas em execução (processos) e seus dados. Proposta de arquitetura de von Newman: “Máquina de programa armazenado”. Tipos de memória - Memória Principal Características: Tempo de acesso – Ciclo de memória: entre 7 e 15 ns. Capacidade: atualmente na ordem de Gbytes; Volatilidade: É uma memória volátil. Tecnologia de fabricação: em sua maioria DRAM; Temporariedade: variável porém certamente maior do que a temporariedade da memória cache. Custo: Baixo Memória Secundária Tipos de memória - Memória Secundária Memória secundária: Tem como objetivo garantir um armazenamento permanente dos dados e programas do usuário. Pode ser constituída por diferentes tipos de dispositivos, alguns diretamente ligados ao sistema para acesso imediato(discos rígidos) e outros que podem ser conectados sob demanda. Tipos de memória - Memória Secundária Características: Tempo de acesso: muito maior do os outros tipos de memórias discutidos algo na ordem de milisegundos (5 a 20). Dispositivos de acesso seqüencial: tempo de acesso ainda maior Capacidade de armazenamento: atualmente na ordem de mais de 100 GB. Volatilidade e temporariedade: São dispositivos não voláteis, isto é a informação armazenada persiste mesmo na ausência de alimentação elétrica. Tecnologia de fabricação: Altamente variável podendo ser: eletro-mecâncica, eletro-magnéticas, Feixes ópticos entre outras. Memória Principal - Detalhes Memória Principal Organização Operações Leitura Escrita Tipos de Memória Principal RAM's Variações Tecnológicas ROM's Variações Tecnológicas Organização e operações Organização da MP Organização de uma memória de 8 células de M bits Palavra: grupo de bits utilizado pela CPU como entidade atômica. Célula de M bits End 000 End 001 End 010 End 011 End 100 End 101 End 110 End 111 Operações da MP RDM: Registrador de Dados de Memória; REM: Registrador de Endereços de memória; UC: Unidade de controle; BD: Barramento de dados; BE: Barramento de Endereços; BC: Barramento de controle; CPU RDM REM BD UC BE Controlador MP BC Leitura Leitura 1.REM recebe o endereço da célula desejada para a operação. A seguir o endereço é enviado para a memória pelo barramento de endereços. CPU RDM REM BD UC BE Controlador MP BC Leitura A únidade de controle envia o para memória o sinal de leitura pelo barramento de controle. O endereço recebido na memoria é decodificado. CPU RDM REM BD UC BE Controlador MP BC Leitura O conteúdo da célula selecionada é enviado de volta a cpu pelo barramento de dados. CPU RDM REM BD UC BE Controlador MP BC Leitura O RDM recebe do barramento de dados o conteúdo da célula selecionada na operação. CPU RDM REM BD UC BE Controlador MP BC Leitura Considerações: A realização desses 4 passos gasta um tempo de acesso à memória. Não há garantia que a MP esteja apta a realizar outra operação em seguida. Essa característica depende do tipo de RAM utilizada. SRAM's permitem que outra operação possa ser realizada após a operação DRAM's não Escrita Escrita 1.REM recebe o endereço da célula desejada para a operação. A seguir o endereço é enviado para a memória pelo barramento de endereços. CPU RDM REM BD UC BE Controlador MP BC Escrita RDM recebe de outro registrador o valor que deseja-se armazenar na MP. CPU RDM REM BD UC BE Controlador MP BC Escrita A únidade de controle envia o para memória o sinal de leitura pelo barramento de controle. O endereço recebido na memoria é decodificado. CPU RDM REM BD UC BE Controlador MP BC Escrita O conteúdo do RDM é enviado à MP pelo barramento de dados. E então o conteúdo do RDM é armazenado na MP CPU RDM REM BD UC BE Controlador MP BC Leitura O RDM recebe do barramento de dados o conteúdo da célula selecionada na operação. CPU RDM REM BD UC BE Controlador MP BC Escrita Considerações: A realização desses 4 passos gasta um tempo de acesso à memória. Não há garantia que a MP esteja apta a realizar outra operação em seguida. A Escrita é uma operação destrutiva. O valor armazenado anteriormente na célula é perdido. Tipos de memória principal Tipos de memória principal RAM ( Random Access Memory) : Memória de acesso Randômico. O tempo de acesso para qualquer uma das células é igual. Qualquer célula pode ser acessada independente de acessos anteriores. Variações tecnológicas das RAM's SRAM (Static RAM): Acesso rápido e custo elevado normalmente utilizadas para a construção de memórias cache; DRAM (Dynamic RAM) utilizado genericamente na construção da MP. Vem sofrendo variações tecnológicas por parte dos fabricantes de hardware. A princípio as RAM's permitem que ambas as operações de memória sejam realizadas sobre suas células. Porem existe um tipo especial de RAM que permite somente a leitura dos valores nela armazenados. São as memórias ROM Variações tecnológicas das RAM's RAM SRAM DRAM FPMDRAM EDODRAM SDRAM RDRAM ROM ROM PROM EPROM EEPROM ROM's ROM's (Read Only Memory) Memórias RAM's, que não permitem que a operação de escrita seja realizada em suas células. Não são voláteis, isto é a informação armazenada neste tipo de memória persiste armazenada mesmo na ausência de corrente elétrica. São utilizadas, principalmente para permitir a carga do sistema de computação. Aplicações: BIOS (Basic Input Output System) Microprogramas (firmware) Tipos de Memória ROM ROM (“pura”) Os valores que armazena foram inseridos durante o processo de fabricação do chip. Construída a partir de uma matriz que é então duplicada em diversos outros chips. Barata se fabricado visando a implementação de uma grande quantidade de chips a partir da matriz. Problemas Intolerante a erros: Caso ocorra algum erro de programação a nível de bits a matriz será perdida. O custo de fabricação é baixo caso varias unidades sejam construídas a partir da matriz. Tipos de Memória ROM PROM (Programable ROM) O Chip de uma PROM é produzido sem que exista informações armazenadas. O usuário então , de posse de equipamentos adequados é capaz de realizar somente uma a gravação de valores em suas células. Em comparação as ROM's “puras” são mais atraentes pois possuem um custo individual por chip mais barato do que o delas (análogo a gravação de Cd's com gravadores domésticos) ROM's que podem ser alteradas por processos especiais EEPROM (Erasable PROM) ROM que pode ter o conteúdo de suas células alterado quando iluminada com luz ultra-violeta. EEPROM(Eletronic EPROM) ou EAROM (Electrically Alterable ROM) Onde a CPU pode controlar, em condições especiais a alteração dos valores armazenados em suas células. alterações podem ser efetuadas a nível de bytes. Flash ROMs Similares a EEPROM, Porem com velocidade de alteração mais rápida e incapaz de realizar alterações a nível de bytes (todo seu conteudo deve ser alterado)