7 - Memória Principal
Transcrição
7 - Memória Principal
Arquitetura de Computadores Marcelo Adriano Perecim 7 - Memória Principal A memória é a parte do computador onde os programas e os dados são armazenados. Sem uma memória na qual os processadores possam ler ou escrever informações, o conceito de computador digital com programa armazenado não pode ser implementado. 7.1 – Bits A unidade básica de memória é o dígito binário, conhecido como bit. Um bit pode ter o valor 0 ou o valor 1. Ele é a unidade de memória mais simples possível. O sistema de armazenamento de informação digital é baseado na distinção entre valores diferentes de alguma grandeza física, como corrente ou tensão. Quanto mais valores houver a serem identificados, menor será a separação entre valores adjacentes, e como conseqüência o sistema de memória será menos confiável. No sistema de numeração binário só há necessidade de se distinguir entre dois valores. Conseqüentemente, o método de codificação da informação digital em binário é o mais confiável de todos. 7.2 – Endereços de Memória A memória é formada por um conjunto de células (ou posições), cada uma das quais podendo guardar uma informação. Cada célula tem um número associado a ela, número esse conhecido como endereço da célula. É por meio desse número que os programas podem referenciar a célula. Se a memória tiver n células, elas terão endereços de 0 a n-1. Todas as células de uma memória dispõem do mesmo número de bits. Se uma célula tiver K bits ela poderá armazenar qualquer uma das 2k combinações possíveis para os bits. A figura abaixo mostra três organizações diferentes para uma memória de 96 bits. Endereço Endereço 0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4 5 6 7 1 célula Endereço 0 1 2 3 4 5 Å 16 bits Æ Å 12 bits Æ (c) (b) Å 8 bits Æ 177 Arquitetura de Computadores Marcelo Adriano Perecim (a) Os computadores que usam o sistema de numeração binário expressam os endereços de memória como números binários. Se um determinado endereço tem m bits, o número máximo de células endereçáveis é de 2m. Por exemplo, um endereço utilizado para referenciar a memória da figura (a) precisa de no mínimo 4 bits para expressar todos os números binários entre 0 e 11 (11(base 10) Æ 1011(base 2)). No entanto, no caso das figuras (b) e (c), três bits de endereço serão suficientes (7 (base 10) Æ 111 (base 2) e 5 (base10) Æ 101 (base 2)). O número de bits no endereço determina o número máximo de endereços que poderão ser referenciados diretamente na memória, sendo completamente independente do número de bits por célula. Tanto uma memória com 212 células de 8 bits cada quanto uma outra memória com 212 células de 64 bits cada precisam de 12 bits para representar o endereço da célula. A célula é a menor unidade endereçável em um computador. Nos últimos anos, quase todos os fabricantes de computadores padronizaram o tamanho da célula em 8 bits, chamando essa célula de byte. Os bytes são agrupados em palavras. Um computador com uma palavra de 32 bits tem 4 bytes/palavra (32 / 8 = 4), enquanto um computador com uma palavra de 64 bits tem 8 bytes/palavra (64 / 8 = 8). Uma instrução de soma vai somar dois valores de 32 bits. Portanto, uma máquina de 32 bits deverá ter registradores e instruções para tratar palavras de 32 bits, enquanto uma máquina de 64 bits deve ter registradores de 64 bits e instruções para mover, somar, subtrair palavras de 64 bits. 7.3 - Memórias Há duas classes básicas de memória: • Memória ROM: Os circuitos de memória ROM só permitem leitura, em compensação, não perdem o conteúdo quando o computador é desligado. Além disso, as memórias ROM são mais lentas do que as memórias RAM. • Memória RAM: São rápidas, permitem leitura e escrita, em compensação, o seu conteúdo é perdido sempre em que o computador é desligado. Por esse motivo é necessário gravar programas e arquivos de dados em mídia nãoeletrônica (discos rígidos, disquetes, etc.). Para o processador, não há diferença entre acessar uma memória RAM ou ROM – a não ser a velocidade, pois a memória ROM é mais lenta que a RAM. Quando o micro é ligado, um programa gravado na memória ROM da placa-mãe, chamado POST (Power On Self Test) entra em ação, inicializando os circuitos da placa-mãe, o vídeo e executando testes, como o teste da memória. O último passo do POST é carregar o sistema operacional de algum disco para a memória RAM. É na memória RAM que o processador carrega o sistema operacional, programas e documentos que estejam abertos para serem processados. Dessa forma, o processador acessa a memória RAM praticamente o tempo todo. 178 Arquitetura de Computadores Marcelo Adriano Perecim 7.3.1 - Memória ROM Os circuitos de memória ROM podem ser construídos utilizando uma das seguintes tecnologias básicas: • Mask-ROM: Esse tipo de memória é gravado na fábrica do circuito integrado e não há como apagar ou regravar o seu conteúdo. Esse tipo de circuito é fabricado sob encomenda. • PROM (Programmable ROM): Essa memória é vendida “virgem” e o fabricante do dispositivo que utilizará esse circuito se encarrega de fazer a gravação de seu conteúdo. Entretanto, uma vez gravada, não há como apagar ou reprogramar o seu conteúdo. • EPROM (Erasable Programable ROM): Da mesma forma que a PROM, a EPROM é vendida virgem e deve ser gravada pelo fabricante do dispositivo que a utilizará. Ao contrário dos outros dois tipos, o seu conteúdo pode ser apagado, o que é feito colocando-se o circuito integrado exposto à luz violeta (esse circuito tem uma janela transparente para que o apagamento possa ser feito). Dessa forma, esse circuito pode ser regravado. • EEPROM (Electric Erasable Programmable ROM): A EEPROM (ou E2PROM é uma EPROM onde o apagamento não é feito através de luz, mas sim através de impulsos elétricos. Essa tecnologia permite a reprogramação de circuitos sem a necessidade de removê-los. • Flash-ROM: A Flash-ROM é uma EEPROM que utiliza baixas tensões de apagamento e este é feito em um tempo bem menor (num flash, daí seu nome). Hoje em dia, a ROM da maioria das placas-mãe é formada por um circuito Flash-ROM, permitindo a reprogramação se seu conteúdo via software. A placa-mãe do computador tem um único circuito de memória ROM, contendo os seguintes programas: 1- BIOS (Basic Input/Output System – Sistema Básico de Entrada/Saída): “Ensina” o processador a trabalhar com os periféricos mais básicos do sistema, tais como os circuitos de apoio, a unidade de disquete e o vídeo em modo texto. 2- POST (Power-On Self-Test – Autoteste ao Ligar): Um autoteste feito sempre que o computador é ligado. O POST executa as seguintes rotinas: • • Identifica a configuração instalada. Inicializa todos os circuitos periféricos de apoio (chipset) da placamãe. 179 Arquitetura de Computadores • • • • • Marcelo Adriano Perecim Inicializa o vídeo. Testa a memória. Testa o teclado. Carrega o sistema operacional para a memória Entrega o controle do microprocessador para o sistema operacional. 3- Setup (Configuração): Programa de configuração de hardware do microprocessador. Normalmente esse programa é apresentado apertando um conjunto de teclas durante o POST (geralmente a tecla DEL). Através desse programa é possível alterar o conteúdo da memória de configuração. Esses três programas são completamente diferentes, embora estejam fisicamente armazenados dentro de um mesmo circuito integrado. Quando são efetuadas alterações no Setup, estas são armazenadas na memória de configuração da placa-mãe, também chamada CMOS. A memória de configuração é uma memória do tipo RAM e, por isso, seu conteúdo é apagado quando sua alimentação de energia é cortada. Para que isso não ocorra, as placas-mãe têm uma bateria que alimenta essa memória, para que as informações de configuração não sejam perdidas quando o micro é desligado. Atualmente a memória de configuração está embutida no chipset da placamãe, mais especificamente em um circuito chamado Ponte Sul. 7.3.2 - Memória RAM Dinâmica (DRAM) A memória RAM do micro é formada por circuitos de memória dinâmica, por vezes abreviada por DRAM (Dynamic RAM). Esse tipo de circuito armazena os bits de informação através de minúsculos capacitores: um capacitor carregado equivale a um dado “1” e um capacitor descarregado a um “0”. O capacitor é um elemento muito fácil de ser construído, pois é formado somente por duas placas condutoras paralelas. Isto significa que se pode ter muitas células capacitivas em um pequeno espaço físico, ou seja, circuitos pequenos com alta capacidade de armazenamento. O grande problema é que, depois de algum tempo, os capacitores se descarregam. Dessa forma, deverá haver períodos de recarga dos capacitores da memória, período chamado refresh. Durante o refresh, que é comandado pelo controlador de memória presente no chipset da placa-mãe, todas as posições de memória são “varridas”. Quando um capacitor carregado é encontrado, recebe uma nova carga, fazendo com que o valor “1” continue sendo corretamente armazenado, impedindo que este se transforme, erroneamente, em um valor “0”. Durante o período de refresh, a memória geralmente não pode ser acessada. Como conseqüência direta, a memória dinâmica tem uma imposição física para a sua velocidade. Suas características são: • • Barata. Fácil integração (muita capacidade em pouco espaço). 180 Arquitetura de Computadores • • Marcelo Adriano Perecim Baixo consumo. Lenta, pois necessita de refresh. 7.3.3 - Memória RAM Estática (SRAM) Existe um outro tipo de memória muito rápida que a memória dinâmica. Esse tipo de memória – chamada memória estática e geralmente abreviada para SRAM (Static RAM) – utiliza, em vez de capacitores, circuitos digitais chamados flip-flops para o armazenamento de cada “0” ou “1”. Esses circuitos armazenam os dados sem a necessidade de nenhum ciclo de refresh. Esse tipo de memória é bem mais cara e os circuitos, maiores. Em contrapartida, há uma grande vantagem: velocidade. Como não precisam do ciclo de refresh, as memórias estáticas são extremamente rápidas. Por causa do preço, do tamanho e do consumo, não é possível que a memória RAM seja feitas totalmente por memórias estáticas. Quanto maior o consumo de um circuito de memória, maior o nível de ruído, o que dificulta a construção de arranjos de circuitos de alta capacidade, tornando esses arranjos ainda mais caros. A partir do 386, os micros utilizam um sistema híbrido. A memória RAM é formada por memória dinâmica, e utiliza uma pequena quantidade de memória estática como intermediária para agilizar o acesso do processador à memória. Essa técnica é conhecida como cache de memória. Suas características são: • • • • Cara. Difícil integração (pouca capacidade em muito espaço). Alto consumo. Rápida. Tempo de Acesso Quando o processador ordena o armazenamento de um dado na memória, este não é imediato; a memória demora um pouco para armazená-la no endereço solicitado. O mesmo ocorre quando o processador pede que a memória devolva um dado que nela está armazenado. Essa demora é chamada tempo de acesso e é uma característica inerente a todas as memórias, ou seja, é uma característica física. O tempo de acesso é o período de tempo que demora entre o início da ativação e a efetiva entrega (ou armazenamento) do dado solicitado. As memórias dinâmicas assíncronas (FPM, EDO e BEDO) têm tipicamente tempo de acesso de 70 ou 60 ns. As memórias dinâmicas síncronas (SDRAM, VCM e DDR-SDRAM) têm tipicamente um tempo de acesso de dois ou três pulsos de clock (em um barramento local de 100 MHz, isso significa 30 ou 20 ns, já que cada pulso de 181 Arquitetura de Computadores Marcelo Adriano Perecim clock durará 10 ns). Nas memórias dinâmicas síncronas, o tempo de acesso é também conhecido por latência. Já as memórias estáticas são bem mais rápidas, apresentando tempo de acesso de 20 ns ou menor (as que são utilizadas no cache de memória dos micros modernos têm um tempo de acesso de apenas 5ns!) Quanto menor o tempo de acesso, melhor! Em circuitos de memória dinâmica assíncrona, o tempo de acesso vem estampado na nomenclatura do circuito integrado, como sufixo. O sufixo “6” em uma memória dinâmica assíncrona significa que esta tem 60 ns de tempo de acesso. Em circuitos de memória RAM síncrona – como a SDRAM, VCM e DDRSDRAM-, por ser sincronizada com o clock do barramento local, o que há escrito no circuito integrado não é o seu tempo de acesso, mas sim a sua freqüência de operação máxima, expressa em nanosegundos. Para obter o valor em megahertz, basta fazer a operação: 182 Arquitetura de Computadores Freqüência de operação máxima (em MHz) = Marcelo Adriano Perecim 1000 Valor estampado 7.3.4 – Tecnologias de Memória RAM Mesmo não podendo baixar o tempo de acesso da memória dinâmica (sobretudo por causa da necessidade de ciclos de refresh), os fabricantes conseguiram desenvolver diversas novas tecnologias de construção de circuitos de memória RAM. Embora tenha o mesmo tempo de acesso, circuitos com tecnologias de construção diferentes podem apresentar velocidades diferentes. Uma memória EDO, por exemplo, é mais rápida que uma memória FPM, mesmo quando as duas apresentam o mesmo tempo de acesso. Tecnologia de construção de memória se refere ao tipo de circuito integrado de memória que é utilizado (FPM, EDO, BEDO, SDRAM, DDR-SDRAM, VCM, RDRAM,etc.). Esses circuitos poderão ser montados em qualquer tipo de módulo de memória, em especial SIMM-72, DIMM e RIMM – ou seja, pode-se encontrar módulos SIMM-72 ou DIMM construídos utilizando circuitos FPM, EDO, BEDO ou SDRAM. 7.3.4.1 – Memória Fast Page Mode (FPM) A memória FPM retém o valor da última linha acessada. Com isso, para os próximos acessos que forem feitos à mesma linha, o controlador de memória não precisará enviar à memória o valor da linha. O resultado disso é que o acesso é mais rápido. Enquanto o acesso ao primeiro dado de uma linha demorará o tempo normal, o acesso aos demais dados da mesma linha será mais rápido. O ciclo típico para memórias FPM é 6-3-3-3 (6 pulsos de clock para o primeiro acesso e 3 para os acessos de dados na mesma linha). Através de programas como o PC-Config e o Hwinfo pode-se visualizar qual é o ciclo que está sendo atualmente utilizado pela memória RAM do micro. Na figura abaixo o programa detectou que a memória é do tipo FPM, tempo de 183 Arquitetura de Computadores Marcelo Adriano Perecim acesso de 60 ns (DRAM Timing) e que está utilizando ciclo 6-3-3-3 (DRAM ReadBurst). 7.3.4.2 - Memória Extended Data Out (EDO) A memória EDO (também chamada Hyper Page Mode) é uma pequena modificação na estrutura da memória FPM. Os dados permanecem na saída da memória por mais tempo. A conseqüência disso é que o próximo endereço poderá ser decodificado enquanto os dados ainda estão no barramento de dados – ou seja, ganha-se tempo. Na realidade, a grande diferença da memória EDO para a FPM é o tempo de ciclo de página, que é, em média, 10 ns menor para uma memória que tenha o mesmo tempo de acesso. Na prática, a memória EDO utiliza tipicamente o ciclo 62-2-2. A figura abaixo mostra a tela do programa identificado a memória EDO. 184 Arquitetura de Computadores Marcelo Adriano Perecim O ganho de desempenho nominal da memória EDO sobre a FPM é de 20%. A conta é simples: tipicamente uma memória FPM de 60 ns de tempo de acesso utiliza 15 pulsos de clock para o acesso a quatro dados consecutivos (6-3-3-3) e, com memória EDO de 60 ns, o número de pulsos de clock necessários cai para 12 (6-2-2-2). Entretanto, o ganho de desempenho real é questionável, por dois motivos básicos. Primeiro, a memória EDO só é mais rápida que a memória FPM quando são feitos acessos consecutivos dentro de uma mesma linha. Em segundo lugar, o impacto desse ganho de desempenho é mascarado pelo uso da memória cache, pois em pelo menos 80% das vezes que o processador acessa a memória, na verdade está acessando o cache de memória e não a memória RAM. Em testes realizados em laboratório, chega-se a conclusão que na prática, o ganho de desempenho de um micro com memória EDO em relação a um micro com memória FPM é de cerca de 8%, sendo válido para operações de leitura em memória. Em operações de escrita, o desempenho da memória EDO mantém-se o mesmo da memória FPM. 7.3.4.3 - Memória Burst Extended Data Out (BEDO) Esse tipo de memória é difícil encontrar. Além disso, não são todos os chipsets que aceitam trabalhar com esse tipo de memória. A memória BEDO é igual à EDO, com única diferença de ter integrado um contador de endereços. Quando o processador necessita ler um dado, o controlador de memória só precisa enviar o valor da linha e da coluna iniciais. A própria memória trata de colocar os próximos três dados automaticamente no barramento de dados. Essa modificação faz aumentar muito o desempenho para a leitura de dados consecutivos. Na leitura de dados não-seqüenciais, a memória BEDO tem o mesmo desempenho da memória EDO. Comparativamente aos exemplos dados anteriormente, uma memória BEDO de 60 ns tem um ciclo 6-1-1-1 (ou seja, nove pulsos de clock). Isso nos dá um ganho de desempenho máximo teórico de 40% sobre a memória FPM e de 25% sobre a memória EDO. 7.3.4.4 - Memória Synchronous Dynamic RAM (SDRAM) Ao contrário de todas as outras tecnologias apresentadas anteriormente, a memória sícrona, isto é, utiliza-se do clock do barramento local para comandar os seus circuitos internos. As demais tecnologias são chamadas assíncronas e não permitem funcionamento acima de 66 MHz (embora memórias FPM e EDO funcionem em micros com barramento de 75 MHz ou 83 MHz, as memórias estarão trabalhando em overclock e necessitarão de mais wait states). Os acessos consecutivos a dados presentes em uma mesma linha são feitos usando apenas um pulso de clock, por causa da existência de um contador interno dentro da memória, similarmente ao que acontece nas memórias BEDO. 185 Arquitetura de Computadores Marcelo Adriano Perecim Por esse motivo, o ciclo típico da memória SDRAM é 3-1-1-1 e uma versão com ciclo 2-1-1-1. Para auxiliar o chipset na configuração correta dos parâmetros desta memória, os módulos de memória SDRAM passaram a conter um circuito chamado SPD (Serial Presence Detect) – uma EEPROM que armazena informações sobre a correta temporização que deve ser usada para acessar a memória. Há no mercado memórias com diferentes latências. Quanto menor a latência, melhor. Pode-se descobrir a latência da memória lendo os parâmetros da memória SPD do módulo de memória, através de programas de identificação de hardware. As freqüências de operações mais comuns para memórias SDRAM são apresentados na tabela abaixo: Valor estampado -15 -12 -10 -8 -7,5 -7 Freqüência de operação máxima 66 MHz 83 MHz 100 MHz 125 MHz 133 MHz 143 MHz • PC-66 Todas as memórias SDRAM abaixo de –10 são classificadas como PC-66. Um micro com processador operando externamente a 100 MHz, deverá obrigatoriamente utilizar memória do tipo PC-100. Se for utilizado memória PC-66, o micro não ligará ou então apresentará erros aleatórios, como congelamentos e resets. • PC-100 As memórias SDRAM classificadas como PC-100 operam a 100 MHz e possui uma velocidade maior que as PC-66, além de outras características. • PC-133 Memórias –75 e –7 são classificadas como PC-133, e são destinadas a micros com processadores operando externamente a 133 MHz. 7.3.4.5 - Memória Double Data Rate SDRAM (DDR-SDRAM ou SDRAM-II) Essa memória é um avanço sobre a SDRAM. Ela transfere dois dados por pulso de clock. Atualmente existem memórias DDR-SDRAM operando a 100 MHz e 133 MHz. Os circuitos de memória DDR-SDRAM são classificados de acordo com o desempenho, em megahertz. Assim, existem circuitos DDR200 e DDR266. 186 Arquitetura de Computadores Marcelo Adriano Perecim Os módulos de memória que usam memórias DDR-SDRAM – chamados DDR-DIMM – são classificados de acordo com a taxa de transferência obtida. Módulos PC1600 são módulos DDR-DIMM que usam circuitos DDR200, atingindo uma taxa de transferência máxima teórica de 1600 MB/s, e módulos PC2100 são módulos DDR-DIMM que usam circuitos DDR266, atingindo uma taxa de transferência máxima teórica de 2100 MB/s. Esse tipo de memória permite que os processadores Athlon e Duron possam atingir o seu desempenho máximo, já que esses processadores transferem dois dados por pulso de clock. 7.4 - Módulos de Memória Antes com a utilização de circuitos integrados discretos, era muito difícil para o usuário comum instalar sozinho mais memória em seu micro. Sempre havia problemas de mau contato, terminais partidos ou a instalação invertida do circuito integrado. • Módulo DIP (Dual in Parallel) A memória RAM usada na época do XT, também utilizada em alguns micros 286. Eram pequenos chips que eram encaixados na placa mãe. Trata-se de módulos de memórias de 8 bits, fabricados em velocidades de acesso de 150 e 120 nanosegundos (bilhonésimos de segundo). Com o passar do tempo, vários tipos de módulos de memória foram criados. A idéia era simples: uma plaqueta onde os circuitos integrados já vinham soldados. Bastava ao usuário encaixar essa plaqueta à placa-mãe do micro. 187 Arquitetura de Computadores • Marcelo Adriano Perecim Módulos SIPP (Single In Line Pin Package) Esse foi o primeiro tipo de módulo de memória a ser criado e sua aparência lembrava um pente, daí o apelido “pente de memória” para os módulos de memória. Os seus terminais eram similares aos utilizados pelos circuitos integrados, o que causava mau contato, permitia que terminais dobrassem ou partissem e ainda não impediam que o usuário encaixasse o módulo invertido no soquete. Esses módulos eram encontrados em versões de 256 KB, 1 MB e 4 MB e eram de 8 bits, com velocidades de acesso entre 100 e 120 nanosegundos. • Módulos SIMM-30 (Single In Line In Line Memory Module, 30 Terminais) O módulo SIMM-30 é basicamente o módulo SIPP com um novo sistema de encaixe, parecido com o utilizado por placas no encaixe aos slots de expansão do micro. Esse sistema não permite que os módulos sejam encaixados invertidos e, como seus terminais não são “pinos” como no módulo SIPP, não há problemas de terminal dobrado ou partido. Esse módulo têm 30 terminais, daí o “30” em seu nome. Assim como os módulos SIPP, são módulos de 8 bits e encontrados em versões de 256 KB, 1 MB, 2 MB e 4 MB. Às vezes são referidos como sendo de 9 bits. Isto ocorre quando se especifica que o módulo tem um bit a mais para a paridade. Alguns fabricantes, a fim de reduzirem o custo de produção, contróem módulos SIMM-30 sem memória de paridade. Se o número de circuitos integrados for par, o módulo não tem paridade, se for ímpar, tem. Foram fabricados com velocidade de acesso entre 100 e 70 nanosegundos. 188 Arquitetura de Computadores Marcelo Adriano Perecim *Dica de montagem: Ao utilizar módulos sem paridade, desabilite o teste de paridade no setup do micro. Um ponto importante é a quantidade de slots da placa-mãe, observe que os slots são divididos em múltiplos de 2, ou seja, o slot 1 e 2 formam o Banco 0, os slots 3 e 4 formam o Banco 1 e assim por diante. Geralmente as placa-mãe 386 possuem 4 ou 8 slots, já as 486 possuem 4 slots SIMM 30. A organização dos Bancos vai depender da quantidade de bits do microprocessador. Veja na tabela a baixo qual a configuração mínima para o funcionamento de uma placa-mãe utilizando os módulos de memória SIMM 30. Caso a tabela não seja seguida a placa-mãe não irá funcionar ou não reconhecerá os pentes de memória instalados. Processador Preencher Descrição para o SIMM 30 386 SX Banco 0 O 386 SX para funcionar necessitava que o banco zero fosse preenchido, o Banco 1 poderia ficar vazio. 386 DX Banco 0,1 O 386 DX, só funciona com os dois bancos preenchidos. 486 SX Banco 0,1 Preencher o Banco 0,1 Banco 0,1 Para que a placa Motherboard reconheça os pentes de 30 vias os bancos 0 e 1 devem ser preenchidos. 486 DX Observe que todos os pentes usados nos bancos de memória devem ser de mesmo código (capacidade, velocidade e fabricante). Na parte superior de cada circuito integrado do pente existe uma inscrição que indica o código da memória. O uso de pentes diferentes causa problemas de desempenho e instabilidade do hardware, sistema operacional e dos programas abertos na memória. 189 Arquitetura de Computadores • Marcelo Adriano Perecim Módulos SIMM-72 (Single In Line In Line Memory Module, 72 Terminais) Os módulos SIMM-72 são módulos SIMM-32, criados para serem usados em micros equipados com processadores 486, Pentium e superiores. Com isso também surgiu a necessidade de incorporar-se um chanfro ao centro do módulo para evitar a colocação acidental de módulos de 30 vias. No caso do Pentium é necessário o uso de módulos em pares já que esses processadores trabalhavam em 64 bits. São encontrados em diversas capacidades, sendo as mais usuais 4 MB, 8MB, 16 MB e 32 MB, com velocidades entre 80 e 50 nanosegundos (no caso das EDO). Pode-se encontrar módulos SIMM-72 com ou sem paridade. Os módulos com paridade são normalmente chamados de módulos de “36 bits”. Se o número de circuitos integrados for par, o módulo não tem paridade, se for ímpar, tem (no caso de módulos dupla-face, conte somente os circuitos de uma das faces). Os slots SIMM 72 geralmente são em número de quatro, sendo divididos em 2 Bancos 0 e 1. A sua configuração depende do tipo do microprocessador, assim como no módulo SIMM 30. Os módulos de SIMM 72 conectados em um sistema devem ser de mesmas características (Capacidade, velocidade, fabricante) pelos mesmos motivos descritos no modulo SIMM 30. Processador Preencher Descrição para o SIMM 72 486 DX Slot 1 Preencher o slot 1 com um pente de memória, os 486 podem funcionar com somente um slot preenchido. Pentium Banco 0 Para que a Motherboard Pentium funcione o bancos 0 devem ser preenchidos, ou seja os slots 1 e 2 devem se preenchidos. 190 Arquitetura de Computadores Marcelo Adriano Perecim Os módulos SIMM 72 não são muito críticos com relação ao uso de tipos diferente na mesma placa, mais se o micro travar ou o sistema operacional tornarse instável é aconselhável usar pente iguais. • Módulos DIMM (Double In Line In Line Memory Module) Os módulos DIMM normalmente têm 168 terminais e são de 64 bits. Módulos DIMM com paridade são conhecidos como módulos de “72 bits”. Se o número de circuitos integrados for par, o módulo não tem paridade, se for ímpar, tem (no caso de módulos dupla-face, conte somente os circuitos de uma das faces). Atualmente os módulos DIMM utilizam memórias SDRAM. Os primeiros módulos DIMM eram alimentados com 5 V (os atuais são alimentados com 3,3 V) e usavam memórias com outras tecnologias, como FPM e EDO. Para saber a tensão de alimentação do módulo DIMM, basta observar a posição do segundo chanfrado da memória. 191 Arquitetura de Computadores Marcelo Adriano Perecim Os módulos DIMM têm uma pequena memória EEPROM, chamada SPD (Serial Presence Detect), que armazena todos os parâmetros de temporização da memória, facilitando enormemente a configuração do chipset da placa-mãe (o chipset pode se autoconfigurar de acordo com a memória instalada de modo a apresentar o melhor desempenho possível). A existência desse circuito também facilita a vida do técnico. Através de programas de identificação de hardware, como Hwinfo, é possível ler o conteúdo desse circuito e saber todos os parâmetros do módulo de memória, especialmente o seu tipo (PC-66, PC-100, PC-133) e latência do CAS (CL, que é o tipo de acesso das memórias SDRAM). Os módulos DIMM podem ter um buffer. Esses módulos são chamados buffered DIMM ou registered DIMM. Esse buffer permite que o número máximo de módulos instalados no micro seja maior. O papel do buffer é isolar os circuitos de memória do barramento de memória. Os módulos com buffer são mais lentos, porque o módulo gasta um pulso de clock carregando o dado em seu buffer. A sua principal aplicação é em micros servidores de rede, que em geral são equipados com grandes quantidades de memória RAM. 192 Arquitetura de Computadores • Marcelo Adriano Perecim Módulos DDR-DIMM Os módulos DDR-DIMM utilizam memórias do tipo DDR-SDRAM. O tamanho do módulo é o mesmo do DIMM tradicional tendo, porém, 184 terminais e dois chanfrados delimitadores, enquanto o módulo tradicional tem apenas um chanfrado. Isto faz com que os módulos DDR-DIMM não consigam ser instalados em soquetes DIMM e vice-versa. Assim como ocorre com módulos DIMM, existem módulos DDR-DIMM com buffer. Esse buffer diminui o desempenho da memória, porém permite a instalação de uma grande quantidade de módulos de memória no micro. Esse tipo de módulo é, portanto, recomendado para micros servidores de rede, e não para micros domésticos. • Módulos RIMM (Rambus In Line Memory Module) Esse tipo de módulo foi padronizado pela empresa Rambus para a utilização de memória Rambus (RDRAM) no micro. Dessa forma, os módulos RIMM utilizam circuitos RDRAM. Fisicamente falando, esses módulos têm semelhanças com os módulos DIMM, porém não é possível o encaixe de módulos RIMM em soquetes DIMM e vice-versa. 193 Arquitetura de Computadores Marcelo Adriano Perecim O barramento Rambus trabalha com um esquema de terminação resistiva. Isto significa que todos os soquetes RIMM da placa-mãe precisam estar ocupados para que o circuito seja “fechado” e o barramento funcione. No caso de não usar todos os soquetes RIMM existente na placa-mãe, deve-se instalar um módulo “vazio” (sem memória) nos soquetes não usados para fechar o circuito. Esse módulo é chamado módulo C-RIMM (RIMM de continuidade) e não tem nenhum circuito sobre ele. 7.5 – Instalação de Memória RAM Para se instalar memória em um micro, deve-se prestar atenção no número de bits que o processador manipula externamente (ou seja, o tamanho do barramento de dados do processador). Dá-se o nome de banco de memória ao conjunto de módulos (ou circuitos integrados, nos micro mais antigos) que perfazem o mesmo número de bits do processador. Dentro de um mesmo banco de memória, todos os módulos deverão ter a mesma capacidade. Todos os módulos de memória do micro deverão ter o mesmo tempo de acesso. Caso isso não seja verdade, o micro poderá travar aleatoriamente. Primeiro deverão ser encaixados de maneira seqüencial nos soquetes: primeiro deve-se preencher o banco 0, depois o 1 e assim sucessivamente. • Instalação de Módulos SIMM-30 e SIMM-72 Para se instalar um módulo SIMM deve-se seguir os seguintes passos: 194 Arquitetura de Computadores Marcelo Adriano Perecim 1. Insira o módulo no soquete diagonalmente. Só entra no soquete de uma maneira, portanto não há risco de inversão, e não deverá apresentar qualquer tipo de resistência. O módulo deve encaixar até a base do soquete. 2. Com o módulo encaixado corretamente, empurre-o sem fazer força no sentido indicado. Caso apresente resistência ao encaixe, afrouxe os prendedores laterais com os dedos, simultaneamente. 3. O módulo está encaixado no soquete. • Instalação de Módulos DIMM, DDR-DIMM e RIMM Para se instalar um módulo DIMM, DDR-DIMM ou RIMM deve-se seguir os seguintes passos: 1. Afaste as presilhas laterais do soquete, no sentido de dentro para fora. Deverão ficar em um ângulo de 45º em relação ao soquete. 2. Insira o módulo verticalmente sobre o soquete, verificando se o mesmo está em sua posição correta, isto é se os chanfrados existentes estão sendo encaixados corretamente sobre os chanfrados delimitadores so soquete. Empurre o módulo até o final do soquete. As presilhas laterais se fecharão automaticamente. 3. O módulo está corretamente encaixado. 195 Arquitetura de Computadores Marcelo Adriano Perecim Para tirar o módulo basta afastar as presilhas laterais do soquete no sentido de dentro para fora. O módulo sairá automaticamente do soquete. • Instalação de Memória no 286 Na época do 80286, o mais comum era a utilização de memórias DIP, muito embora algumas placas-mãe 286 aceitem módulos SIPP ou mesmo SIMM-30. Há três tipos de memórias DIP que podem ser utilizadas pelo 80286: Nomenclatura 41256 411000 44256 Capacidade 256 K x 1 bit 1024 K x 1 bit 256 K x 4 bits Número de terminais 16 terminais 18 terminais 20 terminais Como o 80286 é um processador de 16 bits, cada banco de memória deverá ter 16 bits. No caso de se utilizar paridade, cada banco deverá ter 18 bits (1 bit de paridade a cada 8 bits de dados). 196 Arquitetura de Computadores • Marcelo Adriano Perecim Instalação de Memória no 386SX Como esse processador tem um barramento de dados de 16 bits, tem exatamente o mesmo esquema de instalação de memória do 80286. Na época do 386SX, porém, o mais comum era a utilização de módulos SIMM-30. Como esses módulos são de 8 bits, cada banco de memória será formado por dois módulos SIMM-30. 197 Arquitetura de Computadores • Marcelo Adriano Perecim Instalação de Memória no 386DX Placas-mãe 386Dx basicamente utilizam módulos SIMM-30. Como o 386DX é um processador de 32 bits e cada módulo SIMM-30 é de 8 bits, cada banco será formado por quatro módulos de memória. • Instalação de Memória no 486 e 5x86 Todos os modelos de 486 e 5x86 têm o barramento de dados de 32 bits. Na época do 486, surgiu o módulo SIMM-72. Com isso pode-se encontrar placas-mãe 486 com soquetes para módulos SIMM-30 ou para SIMM-72 – ou até mesmo placas-mãe que aceitam os dois tipos de módulo. No caso de utilizar módulos SIMM-30, o esquema é igual ao do 386DX: cada banco será formado por quatro módulos. No caso de módulos SIMM-72, como são de 32 bits, basta apenas um módulo para formar um banco. 198 Arquitetura de Computadores • Marcelo Adriano Perecim Instalação de Memória no Pentium e Superiores Todos os processadores Intel e não-Intel a partir do Pentium têm um barramento de 64 bits. No caso da instalação de módulos SIMM-72, como esses módulos são de 32 bits, serão necessários dois módulos para formar um banco de memória. Caso a placa-mãe tenha soquetes para módulos DIMM ou DDR-DIMM, a instalação é muito mais simples: como esses módulos são de 64 bits, basta apenas um módulo para formar um banco. O cuidado a ser tomado é instalar módulos de acordo com a freqüência de operação do barramento local. Se o barramento local operar a 66 MHz, deve-se instalar módulos PC-66. Se o barramento operar a 100 MHz, deve-se instalar módulos PC-100. No caso do barramento operando a 133 MHz, deve-se instalar módulos PC-133. A princípio pode-se instalar módulos PC-133 em micros que usem barramento de 100 MHz sem problemas, assim como módulos PC-100 em micros que usem barramento de 66 MHz. Esse tipo de instalação não é limitada pelo processador, mas sim pelo chipset da placa-mãe. No caso dos módulos DDR-SDRAM, pode-se instalar os módulos de acordo com o barramento externo do processador. Os módulos PC1600 (1.600 MB/s) trabalham fisicamente a 100 MHz e os módulos PC2100 (2.100 MB/s) trabalham fisicamente a 133 MHz. • Instalação de Memória Rambus A instalação de módulos RIMM tem dois detalhes importantes. Primeiro, deve-se completar o número de canais Rambus existentes. Se a placa-mãe tiver um chipset com dois canais Rambus, isso significa que os módulos RIMM deverão 199 Arquitetura de Computadores Marcelo Adriano Perecim ser instalados em pares, e esses pares deverão ser módulos iguais (mesma velocidade e mesma capacidade). O segundo detalhe é que o barramento Rambus utiliza um sistema de terminação resistiva. Por isso, todos os soquetes RIMM da placa-mãe deverão estar preenchidos. Caso existam soquetes que ficarão vazios, deve-se instalar módulos C-RIMM para fechar o circuito. 200 Arquitetura de Computadores Marcelo Adriano Perecim 7.6 - Memórias DDR Dual Channel Na incansável busca pelo desempenho máximo, dois fabricantes de chipset - Intel e nVidia - estão lançando chips para placas-mãe capazes de acessar a memória RAM a 128 bits. A memória RAM é normalmente acessada a 64 bits. Com o seu acesso pulando para 128 bits, a taxa de transferência passa a ser o dobro. Essa é uma excelente idéia para aumentar a velocidade de acesso à memória RAM, que é hoje um dos grandes entraves para o aumento de desempenho no PC. Veja o caso do Pentium 4. Ele transfere quatro dados por pulso de clock com a memória RAM. Nos modelos de Pentium 4 que trabalham a 100 MHz, isso equivale a uma taxa de transferência de 3.200 MB/s ou como se ele trabalhasse externamente a 400 MHz. É por isso que muitas vezes vemos escrito por aí que o Pentium 4 trabalha externamente a 400 MHz, embora isso não seja verdade. Já nos modelos que trabalham a 133 MHz, a taxa de transferência máxima teórica desse processador é de 4.264 MB/s ou como se ele trabalhasse externamente a 533 MHz. Quando o Pentium 4 foi lançado, as memórias mais usadas na época eram as memórias SDRAM (PC100 e PC133), que têm uma taxa máxima de 1.066 MB/s. Logo, o Pentium 4 instalado com memórias SDRAM não consegue desenvolver todo o seu potencial, já que ele tenta acessar a memória a pelo menos 3.200 MB/s. As memórias DDR-SDRAM surgiram como uma excelente esperança. Esse tipo de memória transfere dois dados por pulso de clock, dobrando a taxa de transferência. Mas somente a memória DDR400 é capaz de explorar o potencial máximo dos processadores Pentium 4 de 100 MHz. E há poucas placas no mercado para o Pentium 4 que aceitam memórias DDR400, bem como as memórias DDR400 são raras no Brasil. Memória Taxa Máxima de Transferência PC66 Æ 533 MB/s PC100 Æ 800 MB/s PC133 Æ 1.066 MB/s DDR200 Æ 1.600 MB/s DDR266 Æ 2.100 MB/s 201 Arquitetura de Computadores Marcelo Adriano Perecim DDR333 Æ 2.700 MB/s DDR400 Æ 3.200 MB/s No caso dos novos chipsets da Intel, 7205 (para Pentium 4) e 7505 (para Xeon, que é um processador para servidores), a placa-mãe acessa memórias até DDR266 a 128 bits, ou seja, a uma taxa de 4.264 MB/s - não à toa a mesma taxa usada pelos processadores Pentium 4 que operam externamente a 133 MHz permitindo que o Pentium 4 desenvolva todo o seu potencial. No lado dos processadores da AMD, eles também têm problema similar, pois acessam a memória transferindo dois dados por pulso de clock. Isso era um problema na época das memórias SDRAM, pois os processadores da AMD que operam a 100 MHz externamente tentam acessar a memória a 1.600 MB/s e os que operam a 133 MHz tentam acessar a memória a 2.100 MB/s. Esse problema de desempenho foi contornado com o uso das memórias DDR-SDRAM, capazes de "casar" o seu desempenho com o desempenho de acesso do processador. Mesmo assim a nVidia lançou chipsets chamados nForce e nForce 2 que acessam a memória a 128 bits, obtendo o dobro da taxa padrão. Por exemplo, o nForce 2 aceita memórias DDR400 e se forem usadas memórias desse tipo, a sua taxa de transferência pula de 3.200 MB/s para 6.400 MB/s. A grande vantagem desse esquema é que ele usa memórias DDR comuns, não necessitando de memórias "especiais" de 128 bits. Para usar esse esquema, sua placa-mãe tem de usar o chip Intel 7205 (para Pentium 4) ou nForce (para Athlon ou Duron). O esquema DDR Dual Channel se popularizou de vez. Antes restrito a usuários avançados que optavam por uma placa-mãe com chipset nForce ou nForce 2 da nVidia (para processadores da AMD), ou Intel 7205 ou SiS 655 (para processadores da Intel), o DDR Dual Channel está agora presente em toda a nova família de chipsets da Intel para a plataforma soquete 478 - chipsets da série i865 e i875. Em teoria, o uso da configuração DDR Dual Channel transferência do chipset com a memória RAM, por acessar memória ao mesmo tempo, em vez de apenas um. Ou seja, módulos DDR400, a taxa de transferência máxima pularia de 6.400 MB/s. dobra a taxa de dois módulos de se usarmos dois 3.200 MB/s para Mas ainda estava no ar a grande pergunta: esse esquema realmente aumenta o desempenho do micro? Uma coisa é a teoria, outra coisa é a prática. 202 Arquitetura de Computadores Marcelo Adriano Perecim No caso das memórias DDR400, por exemplo, apesar de sua taxa máxima de transferência ser de 3.200 MB/s raramente ela é obtida. Além disso, qual é o impacto no desempenho geral do micro de um aumento na taxa de transferência com a memória RAM? Para verificarmos essas questões realizamos testes em nosso laboratório tanto com a plataforma da AMD quanto com a plataforma da Intel, a fim de verificarmos o ganho de desempenho obtido quando usamos o esquema DDR Dual Channel e se vale à pena passarmos a usar dois módulos de memória idênticos em placas-mãe que suportam esse esquema. A nossa configuração foi a mais topo de linha possível, de forma que a taxa de transferência fosse a maior possível. No lado da AMD, usamos o processador Athlon XP 3200+, que usa o barramento de 400 MHz (200 MHz DDR, isto é, transferindo dois dados por pulso de clock). Já no lado da Intel, usamos o processador Pentium 4 de 3 GHz, que usa o barramento de 800 MHz (200 MHz QDR, isto é, transferindo quatro dados por pulso de clock). É importante notar que ambos os processadores fisicamente rodam externamente a 200 MHz. No caso do Athlon XP 3200+, como ele transfere dois dados por pulso de clock, é dito que ele tem um desempenho como se estivesse operando a 400 MHz, dando uma taxa de transferência máxima teórica de 3.200 MB/s com a memória RAM. Já o Pentium 4 de 3 GHz, como ele transfere quatro dados por pulso de clock, é dito que ele tem um desempenho como se estivesse operando a 800 MHz, dando uma taxa de transferência máxima teórica de 6.400 MB/s. De cara, já podemos concluir que o único processador capaz de realmente tirar proveito total do esquema DDR Dual Channel usando memórias DDR400 é o Pentium 4 com barramento de 800 MHz. E o Athlon XP, como fica nessa história? É vantagem usar o esquema DDR Dual Channel com esse processador? Veremos isso em nossos testes. Aproveitamos a oportunidade também para compararmos o desempenho da memória DDR400 versus a memória DDR333 no esquema DDR Dual Channel. Isto é, é vantagem pagar mais para ter uma memória topo de linha? Usamos três marcas diferentes de memória em nossos testes: Corsair, TwinMOS e Spectek. Das duas primeiras usamos módulos DDR400/PC3200, enquanto da última usamos módulos DDR333/PC2700. 203 Arquitetura de Computadores Marcelo Adriano Perecim DDR Dual Channel Com Pentium 4 Usamos em nossos testes com a configuração DDR Dual Channel na plataforma da Intel o processador Pentium 4 de 3 GHz, que usa o novo barramento de 800 MHz. Esse barramento é capaz de atingir uma taxa de transferência de até 6.400 MB/s, a mesma taxa máxima teórica do DDR Dual Channel usando memórias DDR400/PC3200. A grande pergunta é: na prática esse processador é capaz de atingir essa taxa de transferência com a memória? A placa-mãe usada, Gigabyte GA-8KNXP usa o chipset Intel 875P, que é o chipset topo de linha da Intel para a sua plataforma, usando o esquema DDR Dual Channel. Além disso, esse processador tem a tecnologia HyperThreading, que simula a existência de dois processadores. Fizemos os nossos testes tanto com essa tecnologia habilitada quanto com ela desabilitada, para verificarmos o impacto dessa tecnologia no acesso à memória. Fizemos vários testes com essa plataforma, usando os programas que discriminamos anteriormente. Para medir a taxa de transferência com a memória RAM, usamos dois programas, o AIDA32 e o Sandra. Ambos obtiveram resultados muito parecidos, que mostramos no gráfico abaixo. Os resultados tanto com a tecnologia HyperThreading habilitada quanto desabilitada foram os mesmos, por isso no gráfico abaixo não estamos colocando os dois resultados (com HT e sem HT). No gráfico nós marcamos qual é a taxa máxima teórica dos padrões DDR333/PC2700 (2.700 MB/s) e DDR400/PC3200 (3.200 MB/s) bem como qual é a taxa máxima teórica desses padrões operando em Dual Channel (5.400 MB/s e 6.400 MB/s, respectivamente). Graças ao barramento de 800 MHz do Pentium 4 finalmente vemos uma configuração que passe dos 3.200 MB/s do padrão DDR400. A taxa de 204 Arquitetura de Computadores Marcelo Adriano Perecim transferência da memória DDR400 da TwinMOS aumentou 47,15% quando passamos de um único módulo instalado para dois módulos em Dual Channel, ficando em 4.413 MB/s. Essa taxa foi 37,91% maior que a taxa padrão do DDR400 (3.200 MB/s), representando um uso de 68,95% da banda disponível pelo DDR Dual Channel (6.400 MB/s). Já a taxa de transferência da memória DDR333 da Spectek aumentou 61,03% quando passamos a operar em DDR Dual Channel, atingindo 3.955 MB/s. Essa taxa foi 46,48% maior que a taxa padrão do DDR333 (2.700 MB/s), representando um uso de 73,24% da banda disponível pelo esquema DDR Dual Channel com memórias PC2700 (5.400 MB/s). Já o embate entre as memórias DDR400 vs. DDR333 mostra que há realmente vantagem no uso de memórias DDR400, pelo menos em relação à taxa de transferência obtida: a taxa de transferência do DDR Dual Channel usando dois módulos DDR400 TwinMOS foi 11,581% maior do que usando dois módulos Spectek DDR333/PC2700. 205