AULA 12 - Microprocessadores - Graduação: mudanças entre as edições
imported>Fargoud |
imported>Fargoud |
||
| Linha 17: | Linha 17: | ||
=Encapsulamento= | =Encapsulamento= | ||
É o nome que se dá ao | É o nome que se dá ao formato físico e pinagem dos chips. | ||
Os antigos chips de memória, da época do PC XT usavam um encapsulamento do tipo DIP. | Os antigos chips de memória, da época do PC XT usavam um encapsulamento do tipo DIP. | ||
| Linha 29: | Linha 29: | ||
==DIP (Dual In-line Package) Package)== | ==DIP (Dual In-line Package) Package)== | ||
Quando se fala em chip | Quando se fala em chip, normalmente é a primeira imagem que se lembra. | ||
Este é o encapsulamento DIP, que hoje em dia já está caindo em desuso. | Este é o encapsulamento DIP, que hoje em dia já está caindo em desuso. | ||
| Linha 37: | Linha 37: | ||
Este encapsulamento tem este nome porque os terminais do chip se dobram em forma de “J”. | Este encapsulamento tem este nome porque os terminais do chip se dobram em forma de “J”. | ||
Este chip não | Este chip não é encaixado em pinos das placas. Ao invés disso é montado num processo mais parecido com uma “colagem” do chip e muito usado atualmente nas placas de circuito. | ||
Este processo é chamado de [https://pt.wikipedia.org/wiki/Tecnologia_de_montagem_superficial ''tecnologia de montagem em superfície'' (SMT)]. | |||
Este processo é chamado de tecnologia de montagem em superfície (SMT). | |||
==TSOP (Thin Small Outline Outline Package)== | ==TSOP (Thin Small Outline Outline Package)== | ||
No Encapsulamento TSOP, o chip tem uma | No Encapsulamento TSOP, o chip tem uma espessura muito pequena, bem menor que a do | ||
espessura muito pequena, bem menor que a do | |||
chip com encapsulamento SOJ. | chip com encapsulamento SOJ. | ||
Foi usado pela | |||
Foi usado pela primeira vez em cartões de memória para notebooks. | |||
==sTSOP (Shrink (Shrink Thin Small Outline Outline Package) == | ==sTSOP (Shrink (Shrink Thin Small Outline Outline Package) == | ||
Uma variação do encapsulamento TSOP com a metade de seu tamanho. | Uma variação do encapsulamento TSOP, com a metade de seu tamanho. | ||
Permite mais memória em menos espaço. | Permite mais memória em menos espaço. | ||
==CSP (Chip Scale Package)== | ==CSP (Chip Scale Package)== | ||
Ao contrário dos | Ao contrário dos encapsulamentos já apresentados, o CSP não usa pinos para se conectar ao PCB. | ||
encapsulamentos já apresentados, o CSP não usa pinos para se | |||
Ao invés disso ele possui | Ao invés disso ele possui pequenas esferas de metal em sua parte inferior. | ||
parte inferior. | |||
Este padrão de | Este padrão de encaixe é chamado de BGA (''Ball Grid Array''). | ||
de BGA (Ball Grid Array). | |||
As | As memórias do tipo RDRAM e DDR-II usam este tipo de encapsulamento. | ||
encapsulamento. | |||
==Empilhamento de chips== | ==Empilhamento de chips== | ||
O empilhamento de chips é usado para conseguir | O empilhamento de chips é usado para conseguir chips com quantidades de memória maiores. | ||
chips com quantidades de memória maiores. | |||
Pode | Pode ser interno ou externo. | ||
ser interno ou externo. | |||
Nos empilhamentos externos | Nos empilhamentos externos podemos ver claramente os chips um em cima do | ||
podemos ver claramente os chips um em cima do | |||
outro. | outro. | ||
Edição das 17h36min de 22 de maio de 2018
Memória Interna
Embora o conceito de memória seja relativamente simples, é talvez o componente que apresenta maior variedade de tipos, tecnologias, organizações, desempenhos e custos.
Nenhuma das tecnologias de memória existentes satisfaz de maneira ótima todos os requisitos de armazenamento de dados em computadores.
Assim, um sistema de computador típico é equipado com uma hierarquia de subsistemas de memória, algumas internas (diretamente acessíveis pelo processador) e outras externas (acessíveis ao processador por meio de um módulo de E/S).
Esta aula enfatiza as memórias internas, enquanto as memórias externas serão tratadas no próximo conteúdo. A primeira seção aborda as características fundamentais dos sistemas de memória dos computadores. As seções seguintes examinam os subsistemas de memória principal de semicondutor, incluindo memórias ROM, DRAM e SRAM.
Em seguida, um elemento essencial dos sistemas de computação modernos será discutido: a memória cache.
Os sistemas de memória podem ser mais facilmente compreendidos por meio de sua classificação.
As características mais importantes que são relacionadas abaixo:
Encapsulamento
É o nome que se dá ao formato físico e pinagem dos chips.
Os antigos chips de memória, da época do PC XT usavam um encapsulamento do tipo DIP.
Este encapsulamento também é muito comum em chips de memória ROM usados nas placas mãe.
Os principais tipos de encapsulamento para chips de memória:
DIP (Dual In-line Package) Package)
Quando se fala em chip, normalmente é a primeira imagem que se lembra.
Este é o encapsulamento DIP, que hoje em dia já está caindo em desuso.
SOJ (Small Outline Outline J-Lead)
Este encapsulamento tem este nome porque os terminais do chip se dobram em forma de “J”.
Este chip não é encaixado em pinos das placas. Ao invés disso é montado num processo mais parecido com uma “colagem” do chip e muito usado atualmente nas placas de circuito.
Este processo é chamado de tecnologia de montagem em superfície (SMT).
TSOP (Thin Small Outline Outline Package)
No Encapsulamento TSOP, o chip tem uma espessura muito pequena, bem menor que a do chip com encapsulamento SOJ.
Foi usado pela primeira vez em cartões de memória para notebooks.
sTSOP (Shrink (Shrink Thin Small Outline Outline Package)
Uma variação do encapsulamento TSOP, com a metade de seu tamanho.
Permite mais memória em menos espaço.
CSP (Chip Scale Package)
Ao contrário dos encapsulamentos já apresentados, o CSP não usa pinos para se conectar ao PCB.
Ao invés disso ele possui pequenas esferas de metal em sua parte inferior.
Este padrão de encaixe é chamado de BGA (Ball Grid Array).
As memórias do tipo RDRAM e DDR-II usam este tipo de encapsulamento.
Empilhamento de chips
O empilhamento de chips é usado para conseguir chips com quantidades de memória maiores.
Pode ser interno ou externo.
Nos empilhamentos externos podemos ver claramente os chips um em cima do outro.
Já no empilhamento interno isto não é possível.
Localização da memória
A memória de um computador é organizada de maneira hierárquica.
Memória interna
O nível superior (mais próximo do processador) é constituído de registradores do processador.
Em seguida, vem um ou dois níveis de memória cache, designados como caches L1 e L2.
Depois, vem a memória principal, que normalmente usa módulos de memória dinâmica de acesso aleatório (dynamic random-acess memory - DRAM).
Essas memórias são consideradas as memória internas ao sistema de computação.
Memória externa
A hierarquia continua com a memória externa, na qual os níveis seguintes são, tipicamente, compostos por disco rígido, pen-drives, etc e que serão vistos na próxima aula.
Capacidade
A característica mais óbvia de uma memória é sua capacidade, que normalmente é expressa em bytes (1 byte = 8 bits) ou palavras.
A capacidade de uma memória é medida também em:
- Kilobyte - 1 KB = 1024 ou 2^10 Bytes,
- Megabyte - 1 MB = 1024 KB ou 2^20 Bytes,
- Gigabyte - 1 GB = 1024 MB ou 2^30 Bytes e
- Terabyte - 1 TB = 1024GB ou 2^40 Bytes.
As principais definições são:
- Palavra - unidade natural de organização de memória. O tamanho de uma palavra é tipicamente igual ao número de bits usado para representar um número inteiro e ao tamanho de uma instrução. Os tamanhos mais usuais de cada palavra são 16, 32 e 64 bits.
- Unidade endereçável - na maioria dos sistemas, é a própria palavra. Entretanto, alguns sistemas permitem o endereçamento individual de bits, ou bytes.
- Unidade de transferência - representa o número de bits de dados da memória principal que podem ser lidos ou escritos, de uma só vez.
Unidade de transferência
Na memória externa, os dados são frequentemente transferidos em unidades muito maiores que uma palavra, chamados blocos.
Método de acesso
O método de acesso aos dados pode ser:
Acesso sequencial
Os dados são organizados na memória em unidades chamadas registros.
O acesso é feito segundo uma sequencia linear específica.
Além dos dados, são armazenadas informações de endereçamento, utilizadas para separar um registro do registro seguinte, e facilitar o processo de busca por um determinado registro.
Um mecanismo compartilhado é usado para leitura e escrita; a cada operação ele é movido de sua posição atual para a desejada, ignorando registros intermediários. Portanto, o tempo de acesso a um registro arbitrário varia muito.
Exemplo: Unidades de fita magnética.
Acesso direto
Assim como com o acesso sequencial, o acesso direto emprega um mecanismo compartilhado para leitura e escrita.
Entretanto, cada bloco individual ou registro possui um endereço único, baseado em sua localização física. O acesso é feito por meio de um acesso direto a uma vizinhança genérica do registro e, em seguida, por uma pesquisa sequencial, por contagem ou espera, até atingir a posição final.
O tempo de acesso também é variável.
Exemplo: unidades de disco.
Acesso aleatório
Cada posição de memória endereçável possui um mecanismo de endereçamento único e fisicamente conectado a ela.
O tempo de acesso a uma determinada posição é constante e independente da sequencia de acessos anteriores.
Desta maneira, qualquer posição pode ser selecionada de modo aleatório, sendo endereçada e acessada diretamente.
Exemplo: A memória principal, assim como alguns sistemas cache, são dispositivos de acesso aleatório.
Associativo
Consiste em um tipo de memória de acesso aleatório que possibilita comparar simultaneamente um certo número de bits de uma palavra com todas as palavras da memória, determinando quais dessas palavras contêm o mesmo padrão de bits.
Uma palavra é buscada na memória com base em uma parte do seu conteúdo, e não de acordo com seu endereço.
Assim como na memória de acesso aleatório, cada posição de memória possui seu mecanismo de endereçamento próprio e o tempo de busca é constante e independente da posição ou do padrão dos acessos anteriores.
Exemplo: As memórias cache podem empregar mecanismo de acesso associativo.
Desempenho
Do ponto de vista do usuário, as duas características mais importantes da memória são sua capacidade e seu desempenho.
Os parâmetros utilizados para medir o desempenho são:
Tempo de acesso
em uma memória de acesso aleatório, esse é o tempo gasto para efetuar uma operação de leitura ou de escrita: é o tempo decorrido desde o instante em que um endereço é apresentado à memória, até o momento em que os dados são armazenados ou disponibilizados para utilização.
Em uma memória de acesso não-aleatório, o tempo de acesso é o tempo gasto para posicionar o mecanismo de leitura-escrita na posição desejada.
Tempo de ciclo de memória
esse conceito é aplicável principalmente a memórias de acesso aleatório e compreende o tempo de acesso e o tempo adicional requerido, antes que um segundo acesso possa ser iniciado.
Esse tempo adicional pode ser necessário para o desaparecimento de transientes nas linhas de sinais ou para a regeneração dos dados.
Taxa de transferência
é a taxa pela qual os dados podem ser transferidos de ou para a unidade de memória.
Na memória de acesso aleatório, é equivalente à frequência, em Hz, do relógio de sistema, ou 1/(período)
, onde período é a duração de um ciclo.
Para uma memória de acesso não-aleatório, é válida a seguinte relação:
onde:
- TN - tempo médio para ler ou escrever N bits
- TA - tempo médio de acesso
- N - número de bits
- R - taxa de transferência em bits por segundo (bps)
Tecnologias
Diversas tecnologias têm sido empregadas para a fabricação de memórias de computadores. As mais comuns atualmente são as memórias de semicondutor, as memórias de superfície magnética, as memórias óticas e as magneto-óticas.
As principais tecnologias de implantação de memórias em uso corrente são:
- Portas lógicas e flip-flops, usados na implementação da memória cache.
- Transistores e circuitos de refresh, usados na implementação da memória principal.
- Arranjos de conexões, utilizados na implementação de certas ROMs (memórias de leitura).
- Fitas magnéticas, utilizadas principalmente para cópias de segurança e arquivamento a longo prazo.
- Discos magnéticos, como discos rígidos e disquetes - a principal tecnologia de implementação de memória secundária.
- Discos ópticos, como CDs e DVDs, e suas diversas variações.
- Memória flash, um tipo de memória semicondutora não volátil, muito usada em câmeras digitais e leitores de MP3.
Memórias magnéticas
Memórias magnéticas tem um papel de destaque no mundo da tecnologia.
Os HDs são o exemplo clássico, ainda em pleno uso e bastante comuns.
Dentre as diversas tecnologias de memórias e armazenamento, o uso de um meio magnético sempre foi um conceito importante. Além dos HDs, outras mídias que se baseiam em armazenamento magnético são os Floppy Discs e as fitas K7 e VHS, todos já em desuso.
A grande vantagem das memórias magnéticas é, além de serem não-voláteis, o seu preço, bem menor do que outras tecnologias de armazenamento. A principal desvantagem é a velocidade, bem menor do que memórias RAM, por exemplo.
O princípio de funcionamento das memórias magnéticas é relativamente simples. Consiste em utilizar um meio magnetizável no qual diferentes micro-regiões possam ser polarizadas de forma diferente. Assim, cada bit 0 ou 1 é representado por uma orientação magnética diferente.
O processo de escrita basicamente consiste na polarização dessas regiões de acordo com o padrão de 0s e 1s a serem armazenados.
A leitura, grosso modo, é a operação de detectar a orientação magnética de cada setor para determinar cada bit de informação.
Em geral, uma cabeça de leitura-escrita é usada para fazer essas operações ao mover-se pela superfície do material magnético.
Diferentes tecnologias e dispositivos variam em como a cabeça de leitura percorre a superfície da mídia e como as regiões são organizadas, mas o princípio é o mesmo.
Mas existem novas tecnologias que estão sendo pesquisadas e que têm potencial para se tornar a base para novos dispositivos de memória magnética.
A primeira é a MELRAM – Magnetoeletric RAM, que tem sido estudada por centros de pesquisa como o MIPT – Moscow Institute of Physics and Technology e University of Valenciennes (França).
A segunda são as memórias baseadas em Skyrmions magnéticos, uma novidade ainda em processo de amadurecimento, mas que recentemente teve grandes avanços na ASTAR – Singapore’s Agency for Science, Technology and Research e na NTU – Nanyang Technological University.
As memórias MELRAM são um avanço principalmente em relação à redução do consumo de energia a cada operação de leitura/escrita. Potenciais memórias baseadas em Skyrmions também são mais eficientes, e representariam um salto em capacidade e estabilidade.
Memórias RAM magnetoelétricas
Memórias RAM magnetoelétricas As memórias MELRAM foram desenvolvidas a partir de uma nova arquitetura baseada em camadas de liga TbCo2 e liga FeCo(Ferro-Cobalto). A nova arquitetura é não volátil e pode reduzir o consumo de energia para operações de leitura/escrita por um fator de 10 mil ou mais.
Cada célula de memória MELRAM é constituída de um material piezoelétrico(que possui a propriedade de se deformar em resposta a uma tensão elétrica e vice-versa) e uma estrutura de camadas de alta magnetoelasticidade, o que significa que sua magnetização depende da tensão mecânica aplicada a ela. Assim, aplicando-se um sinal elétrico na camada piezoelétrica, gera-se deformações mecânicas que polarizam a camada magnetoelástica.
O que permite a utilização desse conjunto como memória é o fato de sua estrutura ser anisotrópica, ou seja, é organizada de forma diferente dependendo do eixo de referência na sua estrutura. Devido a isso, cada célula pode ser magnetizada ao longo de duas direções, que são os 0s e 1s usados para armazenar informação. (Explicação detalhada).
MELRAMs Novas tecnologias de memórias magnéticas. As células MELRAM possuem uma camada piezoelétrica deformável que chaveia as camadas de TbCo2 e FeCo para mudar os seus pólos magnéticos, ou seja, mudar entre 0 e1. (Fonte: MIPT)
A principal vantagem em relação a DRAM e RAM, é o fato de ser uma memória não-volátil, não perdendo suas informações ao ser desligada. A principal desvantagem é que a cada processo de leitura, logo após o bit ser lido, o mesmo é perdido, sendo necessário reescrevê-lo logo em seguida.
Apesar de o protótipo ainda não ser adequadamente miniaturizado, os pesquisadores já anteveem aplicações em memórias com consumo ultra-baixo. Ao todo 6 centros de pesquisa e universidades da Rússia e França desenvolveram o protótipo.
Memórias baseadas em skyrmions magnéticos No caso das memórias baseadas em Skyrmions, ainda não existe um protótipo de dispositivo de armazenamento. Mas recentemente, pesquisadores de Singapura conseguiram dar o passo que é visto como divisor de águas para o desenvolvimento de dispositivos que usem essa tecnologia.
Os Skyrmions magnéticos foram previstos teoricamente em 1962 pelo físico britânico Tony Hilton Royle Skyrme, e observados experimentalmente em 2009 em temperaturas extremamente baixas. Em 2013 foram descobertos à temperatura ambiente em pilhas de camadas de ligas e metais diferentes. Desde então cresceram as apostas em pesquisas para desenvolver memórias que os utilizem.
É mais simples pensar um Skyrmion em termos de seu funcionamento. Eles se comportam como partículas magnéticas na escala de nanômetros. Possuem a capacidade de se organizar em matrizes ou estruturas determinadas e, mais importante, podem ser criados, deletados e movidos, um por um, por meio de correntes elétricas. Devido à sua topologia, são também chamados de Vórtices magnéticos.
Array de Skyrmions magnéticos. Fonte: www.eetimes.com(vide referências)
A figura acima mostra uma ilustração do campo de vetores magnéticos nos Skyrmions.
O avanço feito pelos pesquisadores da ASTAR e NTU foi desenvolver um filme multicamadas que serve de plataforma para a formação e controle dos Skyrmions magnéticos. Trata-se de uma sequência de Ir, Fe, Co e Pt, ou seja, uma estrutura com quatro camadas, que pode ser repetida mais de uma vez. Essa plataforma permitiu o controle das interações magnéticas que governam as propriedades dos Skyrmions por meio da variação da espessura das camadas constituintes da plataforma.
Como seria o mecanismo exato de leitura e escrita e como fabricar equipamentos que garantam estabilidade magnética são os próximos grandes desafios dos pesquisadores. Embora não seja ainda um protótipo de memória, a tecnologia já começa a tomar forma, e seria uma grande mudança no princípio de funcionamento dos dispositivos de armazenamento magnético.
As referências e divulgação dessas novas tecnologias estão indicadas abaixo e são ótimas fontes de informações e maiores detalhes. Este texto não se trata de um artigo essencialmente técnico, mas busca divulgar essas inovações. Caso você tenha outras referências e sugestões, compartilhe conosco!
Características físicas
Organização
Memória RAM
Existem basicamente dois tipos de memória em uso: SDR e DDR. As SDRs são o tipo tradicional, onde o controlador de memória realiza apenas uma leitura por ciclo, enquanto as DDR[desambiguação necessária] são mais rápidas, pois fazem duas leituras por ciclo. O desempenho não chega a dobrar, pois o acesso inicial continua demorando o mesmo tempo, mas melhora bastante. Os pentes de memória SDR são usados em micros antigos: Pentium II e Pentium III e os primeiros Athlons e Durons soquete A. Por não serem mais fabricados, eles são atualmente muito mais raros e caros que os DDR, algo semelhante ao que aconteceu com os antigos pentes de 72 vias, usados na época do Pentium 1.[3]
É fácil diferenciar os pentes SDR e DDR, pois os SDR possuem dois chanfros e os DDR apenas um. Essa diferença faz com que também não seja possível trocar as bolas, encaixando por engano um pente DDR numa placa-mãe que use SDR e vice-versa. Mais recentemente, tem acontecido a uma nova migração, com a introdução dos pentes de memória DDR2. Neles, o barramento de acesso à memória trabalha ao dobro da frequência dos chips de memória propriamente ditos. Isso permite que sejam realizadas duas operações de leitura por ciclo, acessando dois endereços diferentes. Como a capacidade de realizar duas transferências por ciclo introduzida nas memórias DDR foi preservada, as memórias DDR2 são capazes de realizar um total de 4 operações de leitura por ciclo, uma marca impressionante. Existem ainda alguns ganhos secundários, como o menor consumo elétrico, útil em notebooks.[3]
Os pentes de memória DDR2 são incompatíveis com as placas-mãe antigas. Eles possuem um número maior de contatos (um total de 240, contra 184 dos pentes DDR), e o chanfro central é posicionado de forma diferente, de forma que não seja possível instalá-los nas placas antigas por engano. Muitos pentes são vendidos com um dissipador metálico, que ajuda na dissipação do calor e permite que os módulos operem a frequências mais altas.[3]
Memória Cache
De qualquer forma, apesar de toda a evolução a RAM continua sendo muito mais lenta que o processador. Para atenuar a diferença, são usados dois níveis de cache, incluídos no próprio processador: o cache L1 e o cache L2. O cache L1 é extremamente rápido, trabalhando próximo à frequência nativa do processador. Na verdade, os dois trabalham na mesma frequência, mas são necessários alguns ciclos de clock para que a informação armazenada no L1 chegue até as unidades de processamento. No caso do Pentium 4, chega-se ao extremo de armazenar instruções já decodificadas no L1: elas ocupam mais espaço, mas eliminam este tempo inicial. De uma forma geral, quanto mais rápido o cache, mais espaço ele ocupa e menos é possível incluir no processador. É por isso que o Pentium 4 inclui apenas um total de 20 KB desse cache L1 ultrarrápido, contra os 128 KB do cache um pouco mais lento usado no Sempron.[3]
Em seguida vem o cache L2, que é um pouco mais lento tanto em termos de tempo de acesso (o tempo necessário para iniciar a transferência) quanto em largura de banda, mas é bem mais econômico em termos de transistores, permitindo que seja usado em maior quantidade. O volume de cache L2 usado varia muito de acordo com o processador. Enquanto a maior parte dos modelos do Sempron utilizam apenas 256 KB, os modelos mais caros do Core 2 Duo possuem 4 MB completos.[3]
Paridade de memória É um método criado para correção de erros de memória. É o método mais antigo, e somente identifica erros, não os corrige, e consiste na adição de um bit de controle no final de cada byte de memória.
A operação de checagem dos dados na paridade é bem simples: são contados o número de bits “1” de cada byte. Se o número for par, o bit de paridade assume um valor “0” e caso seja ímpar, 9º bit assume um valor “1”. Quando requisitados pelo processador, os dados são checados pelo circuito de paridade que verifica se o número de bits “1” corresponde ao depositado no 9º bit. Caso seja constatada alteração nos dados, ele envia ao processador uma mensagem de erro.
O método não é totalmente eficaz, pois não é capaz de detectar a alteração de um número de bits que mantenha a paridade. Se dois bits zero retornassem alterados para bits um, o circuito de paridade não notaria a alteração nos dados. Felizmente, a possibilidade de alteração de dois ou mais bits ao mesmo tempo é remota.
O uso da paridade não torna o computador mais lento, pois os circuitos responsáveis pela checagem dos dados são independentes do restante do sistema. Seu único efeito colateral, é o encarecimento das memórias, que ao invés de 8 bits por byte, passam a ter 9, tornando-se cerca de 12 a 60% mais caras.
Dispositivo ECC-(Error Correct Code) - Código de correção de erros. Código de detecção no qual uma combinação de pulsos proibitiva pelo acréscimo ou perda de 1 bit indica qual bit esta errado.
Além do custo, a paridade não permite corrigir os erros, apenas identificá-los, o que diminui sua utilidade prática. O aumento do bom nível de confiabilidade dos novos módulos de memórias fez com que as memórias com paridade caíssem em desuso.















