Upload
internet
View
120
Download
9
Embed Size (px)
Citation preview
Arquitetura de Computadores2013.1
Subsistemas de Memória (CAP. 5 ou 4)
Faculdade Lourenço Filho
REDES DE COMPUTADORES
Prof. Antonio Filho
TÓPICOS
MEMÓRIA HIERARQUIA DE MEMÓRIA REGISTRADORES MEMÓRIA CACHE MEMÓRIA PRINCIPAL ESTRUTURA DA MEMÓRIA PRINCIPAL CÉLULA CAPACIDADE DA MEMÓRIA PRINCIPAL MEMÓRIAS AUXILIARES EXERCÍCIOS
MEMÓRIA
O que são memórias?
É um componente de um sistema de computação cuja a função é armazenar as informações que são (ou serão) manipuladas por esse sistema, para que elas (informações) possam ser prontamente recuperadas, quando necessário.
MEMÓRIA
Tecnologias
As primeiras tecnologias utilizadas em memórias foram as memórias de núcleos magnéticos, hoje apenas uma curiosidade. As memórias modernas são compostas por circuitos semicondutores, com novas tecnologias sendo criadas a cada ano permitindo que grandes quantidades de células de memória sejam encapsuladas em pequenas pastilhas.
HIERARQUIA DE MEMÓRIA
A memória principal – MP, não é o único dispositivo de armazenamento de um computador. Em função de características como tempo de acesso, capacidade de armazenamento, custo, etc., podemos estabelecer uma hierarquia de dispositivos de armazenamento em computadores.
HIERARQUIA DE MEMÓRIA
HIERARQUIA DE MEMÓRIA
Tipo Capacidade Velocidade Custo Localização Volatilidade
Registrador KBytes muito alta muito alto UCP Volátil
Memória Cache Mbytes alta alto UCP/placa Volátil
Memória Principal Gbytes média médio Placa Volátil
Memória Auxiliar Tbytes baixa baixo Externa Não Volátil
A UCP (unidade central de processamento) vê nesta ordem e acessa primeiro a que está mais próxima. Subindo na hierarquia, quanto
mais próximo da UCP, maior velocidade, maior custo, porém menor capacidade de armazenamento.
VELOCIDADE CAPACIDADE
REGISTRADORES
Registradores são dispositivos de armazenamento temporário, localizados na UCP, extremamente rápidos, com capacidade para apenas um dado (uma palavra).
Devido a sua tecnologia de construção e por estar localizado como parte da própria pastilha ("chip") da UCP,
é muito caro.
Tempo de acesso – Possuem o menor tempo de acesso de memória do sistema. 1 a 5ns
Capacidade – armazena um único dado, uma única instrução ou único endereço ( de 8 a 64 bits cada)
É um dispositivo volátil Devido sua tecnologia avançada encontra-se no topo dos
custos.
REGISTRADORES -características
MEMÓRIA CACHE
Com o desenvolvimento da tecnologia de construção da UCP, as velocidades foram ficando muito mais altas que as das memórias, que não tiveram a mesma evolução de velocidade.
Desta forma, os tempos de acesso às memórias foram ficando insatisfatórios, e a UCP ao buscar um dado na memória precisa ficar esperando muitos ciclos até que a memória retorne o dado buscado ("wait states"), configurando um gargalo ("bottleneck") ao desempenho do sistema
Níveis da Cache
Cache de nível 1 (L1)– Geralmente é dividida para instruções e dados– Fica localizada no mesmo chip do processador– Tamanho variando entre: 16 kB à 64 kB
Cache de nível 2 (L2)– “Fica num chip separado do processador”, mas no mesmo
encapsulamento– Tamanho variando entre: 64 kB à 2 MBCache de nível 3 (L3)
– Fica localizada na placa mãe (em alguns computadores)– Contém alguns MBytes– Construída com tecnologia SRAM
Por esse motivo, desenvolveram-se outras arquiteturas de memória privilegiando a velocidade de acesso “As Memórias Cache”.
MEMÓRIA CACHE
A arquitetura da memória cache é muito diferente da arquitetura da memória principal e o acesso a ela é muitas vezes mais rápido
(Por exemplo: 5 ns contra 70 ns).
No entanto
O custo de fabricação da memória cache é muito maior que o da memória principal - MP.
Não é econômico construir um computador somente com tecnologia de memória cache.
Criou-se então um artifício, incorporando-se ao computador uma pequena porção de memória cache, localizada entre a UCP e a MP.
MEMÓRIA CACHE
Memória Cache - Tecnologia
SRAM: memórias estáticas
– Construída com Flip-flop´s tipo D
– Muito rápida, mas ocupa mais espaço no chip do que
a memória DRAM :
DRAM: memórias dinâmicas
– Valor é armazenado como uma carga de capacitor – “bateria”
(deve ser refrescada)
– Ocupa pouco espaço porém é mais lenta do que a
memória SRAM
Quando a UCP busca um determinado dado e o encontra na cache, dá-se um "cache hit" .
Enquanto se o dado não estiver presente na cache será necessário requisitar o mesmo à MP, acarretando atraso no processamento e dá-se um "cache miss - falta" ou "cache fault – perder tempo".
O índice de cache hit ou taxa de acerto da cache é geralmente acima de 99%.
MEMÓRIA CACHE
Os processadores atuais usam controladores de cache bastante avançados, o que permite que os caches trabalhem com percentagens de acerto surpreendentemente boas considerando o tamanho..
MEMÓRIA CACHE
A memória cache é formada por células de memória SRAM, que são tipicamente formadas por conjuntos de 6 transistores, onde 4 deles formam a estrutura que mantém o dado gravados e os outros dois
controlam o acesso os valores de tensão.
Se você pudesse olhar um chip de memória SRAM com um microscópio de elétrons, veria uma estrutura similar a essa:
MEMÓRIA CACHE
mais caras: necessários 6 transistores para cada bit de
dados e mais um grande número de trilhas e circuitos
adicionais
Esta é uma foto do núcleo de um Pentium III com seus 256 KB de cache L2 integrado, que são representados pelos 16 retângulos na parte inferior do
processador. Você pode notar que o cache L2 ocupa uma área significativa do
núcleo do processador, o que explica o fato de serem usados apenas 256 KB
MEMÓRIA CACHE
Bom Exemplo – core i7 - 975
Core i7 , que usa 64 KB de cache L1 e 256 KB de cache L2
por núcleo e usa um grande cache L3 de 8 MB compartilhado
entre todos. Dentro do processador, ele corresponde à
área sombreada.
core i7 – 980X
Com 12M de cache L3 e quatro núcleos virtuais a mais, é de se esperar um ganho de desempenho significativo.
MEMÓRIA PRINCIPAL
Memória Principal é a parte do computador onde programas e dados são armazenados para processamento.
A informação permanece na memória principal apenas enquanto for necessário para seu emprego pela UCP, sendo então a área de MP ocupada pela informação pode ser liberada para ser posteriormente sobregravada por outra informação.
Quem controla a utilização da memória principal é o Sistema Operacional.
Tempo de acesso – Possue velocidade de transferência abaixo das memórias cache Atualmente possuem tempos de acesso entre 15 e 70ns.
Capacidade – embora ainda oscilem na casa de MEGA, há no mercado MP da ordem de GBytes.
É um dispositivo volátil de baixo custo.
MEMÓRIA PRINCIPAL
ESTRUTURA DA MEMÓRIA PRINCIPAL
A memória precisa ter uma organização que permita ao computador guardar e recuperar informações quando necessário.
Não teria nenhum sentido armazenar informações que não fosse possível recuperar depois.
Portanto, não basta transferir informações para a memória. É preciso ter como encontrar essa informação mais tarde, quando ela for necessária, e para isso é preciso haver um mecanismo que registre exatamente onde a informação foi armazenada.
ESTRUTURA DA MEMÓRIA PRINCIPAL
Célula - é a unidade de armazenamento da MP do computador. A memória principal é organizada em células. Célula é a menor unidade da memória que pode ser endereçada
As memórias são compostas de um determinado número de células ou posições. Cada célula é composta de um determinado número de bits. Todas as células de um dado computador tem o mesmo tamanho, isto é, todas as células daquele computador terão o mesmo número de bits.
CÉLULA
Cada célula é identificada por um endereço único, pela qual é referenciada pelo sistema e pelos programas.
As células são numeradas seqüencialmente, uma a uma, de 0 a (N-1), chamado o endereço da célula. (N é um inteiro positivo
Endereço é o localizador da célula, que permite identificar univocamente uma célula. Assim, cada célula pode ser identificada pelo seu endereço.
CÉLULA
A estrutura da memória principal é um problema do projeto de hardware: - mais endereços com células menores ou
-menos endereços com células maiores?
O tamanho mais comum de célula era 8 bits (1 byte); hoje já são comuns células contendo vários bytes.
CÉLULA
Número de bits para representar um endereçoExpressão geral: MP com endereços de 0 a (N-1)
N = 2x logo: x = log2 N
sendo x = nº de bits para representar um endereço e N o número de endereços
CAPACIDADE DA MEMÓRIA PRINCIPAL
A memória principal RAM é um conjunto de N células, cada uma armazena um valor com M bits. Então, a quantidade de endereços contida no espaço endereçável da RAM é também igual a N, visto que cada conteúdo da célula está associado com um número que o seu endereço.
O valor N – Representa a quantidade de endereços da memória
O valor M – Indica a quantidades de bits que pode ser armazenado em cada célula. Logo temos 2M combinações possíveis
CAPACIDADE DA MEMÓRIA PRINCIPAL
T = N x M – capacidade da memória
CAPACIDADE DA MEMÓRIA PRINCIPAL
A MP tendo endereços e sendo x =quantidades de bits dos números que representa cada um dos N endereços então:
N=2X
Por ex.: se N=512, então 512=2X e x = 910 = 10012
O total de bits que podem ser armazenados na MP é denominado T, sendo:
T=N x M
CAPACIDADE DA MEMÓRIA PRINCIPAL
A capacidade da MP em bits é igual ao produto do nº de células pelo total de bits por célula.
T = N x M;
T = capacidade da memória em bits;N = nº de endereços ( como vimos anteriormente); N=2x sendo x = nº de bits do endereço;M = nº de bits de cada célula;
Para encontrar a capacidade em bytes, basta encontrar a capacidade em bits e depois dividir por 8 (cada byte contém 8 bits) ou então converter o tamanho da célula para bytes e depois multiplicar pelo número de células.
O último endereço na memória é o endereço N-1 ( os endereços começam em zero e vão até N-1).
CAPACIDADE DA MEMÓRIA PRINCIPAL
Exemplo
Uma memória RAM(MP) tem um espaço máximo de endereçamento 2K. Cada célula pode armazenar 16bits. Qual o valor total de bits que pode ser armazenado nessa memória e qual tamanho de cada endereço.
Se o espaço máximo de endereços é 2K, então:
N=2K, 1 célula = 16bits então M=16, Logo temos.
N=2x : N = 2K = 2*1024 = 21*210 = 211: x=11bits
A capacidade (valor total de bits)
T = N*M = 211*16 = 211*24 = 215
1K=210 logo T = 25*210 = 32Kbits
MEMÓRIA - EXERCÍCIOS
1) Numa MP com 1kbyte de capacidade, onde cada célula tem 8 bits:a) quantas células tem a MP?b) quantos bits são necessários para representar um endereço de memória?
2) Um computador endereça 1k células de 16 bits cada uma. Pede-se:a) sua capacidade de memória;b) o maior endereço que o computador pode endereçar;
3) A memória de um computador tem capacidade de armazenar 256 bits cada célula pode armazenar 16 bits. Pede-se:
a) Qual o número de endereço?b) Qual o tamanho de cada endereço?
04) Uma memória RAM (MP) é fabricada com a possibilidade de armazenar um máximo de 256Kbits.Cada célula pode armazenar 8bits. Qual o tamanho de cada endereço e qual total de células que podem ser utilizadas naquela RAM?
MEMÓRIA - EXERCÍCIOS
MEMÓRIA - EXERCÍCIOS
4) Calcular e completar os campos
M - Tamanho da célula
x - nº de bits do endereço
N - nº de endereços
T - Capac. da memória
0 a (N-1) - Faixa de endereços
8 bits 1 K byte
16 bits 1 K endereços
4 bits 256 bits
4 bytes 4 Gbytes
1 Mbyte 0 a 65.535
64 bits 0 a 262.143
FUNCIONAMENTO DA MEMÓRIA PRINCIPAL
Toda memória, seja Secundária ou Principal, “pode” permiti a realização de dois tipos de operações: escrita e leitura.
Entende-se por leitura a recuperação da informação armazenada e a escrita é a gravação (ou armazenamento) da informação na memória.
No caso da Memória Principal (MP), essas operações são realizadas pela UCP e efetuada por células, não sendo possível trabalhar com parte dela.
FUNCIONAMENTO DA MEMÓRIA PRINCIPAL
A leitura não é uma operação destrutiva, pois ela consiste em copiar a informação contida em uma célula da MP para a UCP, através de um comando desta.
Pelo contrário a escrita é uma operação destrutiva, por que toda vez que se grava uma informação em uma célula da MP, o seu contudo anterior de eliminado.
OPERAÇÕES DE I/O NA MEMÓRIA
A ligação entre MP e UCP é realizada através de dois registradores: o REM (Registrador de endereço de memória) e o RDM (Registrador de dados de memória) e suas respectivas
vias. É “feito apenas um acesso por vez”
Operação de escrita
A UCP através do barramento de dados envia os dados para o RDM, então a informação desejada é gravada para a Memória Principal que é o destinatário final
A UC unidade de controle da UCP envia para o REM o endereço da memória onde o dado será gravado, e coloca o sinal de escrita no barramento de controle para indicar ao circuitos de controle da MP o que fazer em seguida
Operação de escrita
A realização completa desse processo gasta um certo tempo (tempo de acesso), mas não garante que a MP possa realizar em seguida uma nova operação.
Esta pronta ou não pra realizar uma nova operação depende do tipo de RAM
Memórias Estáticas (SRAM) – Permitem, Memórias Dinâmicas (DRAM) – Não permitem
Operação de leitura
A realização de uma operação de leitura segue procedimento semelhante ao da operação de escrita, exceto é claro pelo sentido da cópia que é inverso.
Operação de leitura
A UCP armazena no REM o endereço da posição, onde a informação a ser lida está localizada.
A UCP comanda uma leitura (sinal de controle para memória - READ).
O conteúdo (palavra) da posição identificada pelo endereço contido no REM é, então, transferido para o RDM; deste, é enviado para a UCP, pela barra de dados.
Operação de leitura
Conforme já foi explicado para a operação de escrita, a realização dos processo à efetivação de uma operação de leitura gasta um tempo de acesso e a MP pode ou não está preparada para realizar uma nova operação.
ERROS
Em sistemas de transmissão de informação a distância (telecomunicações) há sempre a possibilidade de ocorrerem deformação ou até mesmo destruição de parte da informação transmitida. Isso ocorre devido a interferência no meio transmitido
ERROS
A MP (ou qualquer outro tipo de memória) utiliza de um meio de transmissão (barramentos de dado) para o trânsito de informação. Esse trânsito sofre interferência que pode alterar o valor de 1 ou mais bits (de 0 para 1 ou de 1 para 0) ou até mesmo destruí-lo
É importante sabermos que os atuais sistemas de memórias possuem mecanismo capazes de detectar e
corrigir tais erros
ERROS
Grupo de Mbits que serão gravados na MP
sofrem um processamento
específico em um dispositivo próprio de
detecção de erros
Esse processamento é realizado segundo as etapas de um algoritmo A e produz como resultado um conjunto de K bits. Serão gravados nas células da MP, M+K1bits e não apenas M bits de informação
ERROS
No processo de leitura (recuperar um dado) o sistema de detecção é acionado, o mesmo algoritmo A é executado sobre os M+K1bits, obtendo um novo conjunto k2 bits
ERROS
Os k1bits armazenados são comparados com k2bits obtendo-se
1 – Ambos os conjuntos de K tem o mesmo valor ausência de erros, logo M bits são transmitidos
2 – Os conjuntos são diferentes conclui-se existência de erros no bloco de M bits
ERROS
O processo de correção de erros, denominado comumente ECC ( código de correção de erro), baseia-se no código utilizado para construir os K bits adicionais de cada célula da MP.
Eles podem detectar a ocorrência de erro em 1 ou mais bits e corrigir o errado. Ou seja se for detectada a ocorrência de erro em 1 bit é fácil corrigir pelo código; porém se forem detectados mais bits errados O ECC somente indica que há erro sem poder identificar os bits errados
TIPOS DE MEMÓRIA
Memória RAM– É um tipo de memória essencial para o computador, sendo usada para guardar dados e instruções de um programa. Tem como características fundamentais, a volatilidade, ou seja, o seu conteúdo é perdido quando o computador é desligado; o acesso aleatório aos dados e o suporte à leitura e gravação de dados, sendo o processo de gravação um processo destrutivo e a leitura um processo não destrutivo. Existem dois tipos básicos de memória RAM, RAM Dinâmica e RAM Estática.
TIPOS DE MEMÓRIA
Dinâmica - Esta é uma memória baseada na tecnologia de capacitores e requer a atualização periódica do conteúdo de cada célula do chip consumindo assim pequenas quantidades de energia, no entanto possui um acesso lento aos dados. Uma importante vantagem é a grande capacidade de armazenamento oferecida por este tipo de tecnologia.
Estática - É uma memória baseada na tecnologia de transistores e não requer atualização dos dados. Consome mais energia (o que gera mais calor) comparando-se com a memória dinâmica sendo significativamente mais rápida. É freqüentemente usada em computadores rápidos. Possui uma capacidade de armazenamento bem menor que a memória dinâmica.
TIPOS DE MEMÓRIA
Memória ROM- É um tipo de memória que contém instruções imutáveis, nela estão localizadas rotinas que inicializam o computador quando este é ligado; É não-volátil, ou seja, os dados não são perdidos com a ausência de energia; É também de acesso aleatório. Alguns dos tipos de memória ROM são: EPROM e EEPROM.
TIPOS DE MEMÓRIA
EPROM- É um tipo de ROM especial que pode ser programada pelo usuário. Seu conteúdo pode ser apagado pela exposição a raios ultravioletas.
EEPROM- É também um tipo especial de ROM muito semelhante á EPROM, tendo como diferença apenas o fato de que seu conteúdo é apagado aplicando-se uma voltagem específica em um dos seus pinos de entrada.
Fim de aula