Baixe o app para aproveitar ainda mais
Prévia do material em texto
CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 1 AULA 2: MEMÓRIA Olá, meus “Alunonlines”, tudo bem? Gostei da participação de vocês desta vez! Até parecia que eu estava dando aula para a parede (na aula 0)... Hoje eu sei que existe vida do outro lado da Internet! Aqui vai um lembrete: joaoacarvalho@terra.com.br é o meu e-mail pessoal e jaclgc@hotmail.com é o meu MSN messenger (para aparecer on-line com vcs!). Apesar de terem meus e-mails, quaisquer duvidas sobre o que foi visto no curso on-line, perguntem no fórum, para que a resposta possa ser compartilhada com todos! Vamos responder, primeiramente, as questões da aula anterior: 1) Qual destes processadores é mais rápido, o primeiro ou o segundo? a. Pentium 4 3,2GHz HT x Pentium 4 2,4GHz b. Celeron 2GHz x Pentium 4 2,8GHz c. Athlon 64 3200+ x Celeron 2,2GHz d. Pentium 4 2,2GHz x Athlon 64 3000+ 2) Escreva algo resumido sobre os seguintes processadores (pesquise no google): a. Athlon 64 FX57: Processador de alto desempenho para desktops da AMD. Esse é mais rápido que o Athlon 64 comum e o athlon 64 FX55. b. Pentium M: Processador para notebooks da Intel. c. Celeron D: Processador da intel para o público doméstico (é o celeron atual). d. Pentium 4: Processador da Intel para computadores desktops e notebooks de desempenho superior ao celeron. 3) Dê sugestões de processadores (um da Intel e um da AMD) para computadores nas seguintes finalidades de uso: a. Servidor de alto desempenho: Opteron / Itanium b. Servidor de Redes pequenas: Pentium 4 / Athlon 64 c. Desktop caseiro: Celeron / Sempron d. Desktop para empresas (alto desempenho): Pentium 4 / Athlon 64 e. Notebooks grandes (para substituir desktops): Pentium 4 / Athlon XP f. Notebooks pequenos (usados excessivamente com baterias): Pentium M, Celeron M, Turion (é o Celeron M da AMD – pesquisem). Memórias Memória é todo o componente capaz de ARMAZENAR informações. Há vários tipos de memórias em um computador, desde aquelas que duram por segundos até algumas que armazenam informações por diversos anos. Vamos estudar a grande CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 2 maioria, mas eu queria o estudo de vocês acerca das memórias fosse baseado nesse esquema: Ficou clara a divisão das memórias? Nosso computador tem vários tipos de memórias, que podem ser classificadas (didaticamente) em: Memória Principal: RAM e ROM Memória Auxiliar: memórias onde podemos salvar informações, como os Discos (HD, CD, DVD), cartões de memória, etc. Memória Intermediária: Cache MEMÓRIA PRINCIPAL Teoricamente, são classificadas assim as memórias sem as quais o computador não funciona. São elas a RAM e a ROM... Vamos falar primeiro na ROM, depois eu entro no assunto da RAM, ok? Memória ROM A ROM é uma memória que não pode ser alterada pelo usuário, normalmente sendo usada pelos fabricantes de equipamentos (computadores, celulares, microondas, DVD players, qualquer coisa) para armazenar o programa básico que determina o funcionamento do equipamento. A ROM é usada, em poucas palavras, para armazenar o “comportamento” básico de qualquer equipamento. A sua principal característica é: NÃO PODE SER ALTERADA pelo usuário (ROM é MEMORIA SOMENTE PARA LEITURA). CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 3 Quando falamos em ALTERAÇÃO, leia-se: inclusão de dados, apagamento de dados ou modificação dos dados. Ou seja, NADA DISSO PODE SER FEITO EM UMA MEMORIA ROM!!!! OK? Certo, mas ONDE EXATAMENTE, E POR QUE A ROM É USADA NUM MICRO??? Existe um programa importantíssimo, chamado BIOS, que é armazenado dentro de uma memória ROM na placa mãe. O BIOS é usado para, entre outras coisas, realizar o processo de inicialização do computador, chamando o sistema operacional para o trabalho (Windows). O BIOS, portanto, acorda o WINDOWS. Deixando o mérito do BIOS para depois, as instruções do BIOS (ele é um programa e um programa é um conjunto de instruções) são armazenadas em uma memória que não pode perder dados quando o micro é desligado, porque tem que estar lá quando o micro for ligado! Escolheu-se, portanto, que o BIOS seria armazenado em uma memória ROM!!! (foi uma escolha óbvia!). Então, a ROM já vem de fábrica com seu conteúdo gravado pela fabricante! Não é possível guardar ou apagar dados da ROM! A ROM tem algumas “amigas” parecidas com ela... A seguir, listo as diferenças e características principais da ROM e suas parentes: z ROM: Não pode ser alterada pelo usuário, já é fabricada gravada; z PROM (ROM Programável): é vendida vazia (virgem). Pode ser gravada uma vez por equipamentos gravadores especiais (chamados de gravadores de PROM). z EPROM (ROM apagável e programável): é fabricada vazia e pode ser gravada e apagada por meio de Luz ultravioleta. z EEPROM (ROM apagável e programável eletricamente): é fabricada vazia e pode ser gravada e apagada por meio aumento da tensão elétrica em seus conectores. z Memória Flash (FEPROM): parecida com a EEPROM, mas consome menos energia elétrica e não necessita do aumento de tensão para ser apagada/gravada. É muito usada em cartões de memória de máquinas fotográficas digitais. A principal característica em comum entre esses tipos de memória é que eles NÃO SÃO VOLÁTEIS (ou seja, o conteúdo dessas memórias é mantido mesmo quando não houver energia elétrica alimentando o computador). Veja, abaixo, um CHIP (circuito) de memória ROM em uma placa-mãe. CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 4 Você pode até perguntar: Quer dizer que em toda placa mãe o BIOS é armazenado em chips de memória ROM? Não! Hoje em dia, os fabricantes de placas- mãe colocam o BIOS em um chip de memória FLASH (para permitir a alteração do seu conteúdo quando for necessário). A memória ROM mesmo está perdendo espaço porque hoje a memória Flash se mostra muito mais vantajosa (alem se não ser volátil como a ROM, permite alteração, que a antecessora não permite!). Hoje, é comum encontrar memória Flash também em CHIPs de telefonia GSM, em Vale Transporte eletrônico e nos cartões de memória das máquinas fotográficas. Em algumas questões de provas, eu vi menções ao fato de a memória Flash estar substituindo a memória RAM, o que não é verdade, como podemos ver (a flash é substituta da ROM, com vantagens). Então, nós realmente não usamos efetivamente a ROM durante um trabalho (enquanto estamos digitando um trabalho, por exemplo). A ROM é mais importante no momento em que o micro é inicializado, embora apareça em outros momentos também. Lembre-se disso: Qualquer questão que cogite a inserção de dados ou a alteração destes numa memória ROM está FALSA!!! Memória RAM A RAM é uma memória que armazena informações na forma de pulsos elétricos, ou seja, tudo que estiver armazenado na RAM é eletricidade, apenas! Aí você pergunte: Ei! Se é elétrico, então é necessário que a RAM fique o tempo todo sendo alimentada por energia elétrica, senão, se ela for desligada, perderá a energia que a alimenta e, então, os dados serão perdidos (sumirão)? Precisamente, até parece que fui eu que formulei a pergunta!!! A memória RAM é elétrica, portanto, Volátil (volátil quer dizer que os dados podem se perder facilmente). A memória RAM foi feita única e exclusivamente para armazenar informações ENQUANTO NOSSO MICRO ESTÁ LIGADO, ou seja, APENAS ENQUANTO OS PROGRAMAS ESTAO EM EXECUCAO. Um programa que não está aberto (não está com a janela aberta), não está na RAM, mas está armazenado em outra memória (auxiliar, normalmente o HD). Quando alguém (usuário) abre o programa, suas instruções e dadossão jogados na memória CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 5 RAM, de onde a CPU passa a trazer essas instruções e dados para permitir que o programa seja executado. Veja um exemplo de um programa aberto (até parece que voce nunca viu um!). Lembre-se: Quando um programa está em execução (ou seja, em funcionamento), seus dados e instruções estão na memória RAM, e por isso ela é chamada também de memória de trabalho! O computador possui outras memórias RAM (para ser RAM, basta ser elétrica – volátil), mas a RAM mais importante é essa, que é denominada “de trabalho” ou “principal”. RAM não é a classificação dela quanto à sua posição na hierarquia do computador... Uma memória é classificada como RAM quando é fabricada para ser elétrica (volátil), e isso pode ser usado de várias formas em um computador! Então: Todos os programas abertos em um computador: Windows, Word, Excel, etc. são colocados na RAM Principal (momentaneamente) para que a CPU possa buscar os dados e instruções destes programas. A ESAF gosta de fazer perguntas chamando-a de Memória Principal ou simplesmente memória. Outra coisa é interessante: Como a RAM está organizada? Ela parece um enorme estacionamento de shopping! Ou seja, é formada por pequenas unidades de memória chamadas “posições” ou “espaços” (o estacionamento é divido em “vagas”). Então quando alguma informação é colocada na RAM, pode ser colocada em QUALQUER LUGAR, desde que esteja VAGO. Sim, OK, entendi... Mas quem coloca o dado na memória? A CPU, enquanto executa um programa... Certo, mas como a CPU vai achar o dado depois de tê-lo colocado? Como encontrar exatamente a posição onde o dado foi colocado? É fácil!! Como você localizaria SEU CARRO em um ESTACIONAMENTO? Marcando o número da VAGA (ou, pelo menos, um PONTO DE REFERENCIA). Todas as CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 6 posições da memória são acessíveis porque têm endereços únicos! Ou seja, cada posição da memória é reconhecida, pela CPU, por seu endereço. Os endereços são numéricos e ordenados, como em um estacionamento mesmo! Então o endereço 20544332 localiza uma posição de memória qualquer e o endereço 20544333 localiza a posição imediatamente posterior. Como a CPU diz à Memória qual endereço quer ler? Simples, ela joga os sinais elétricos que representam o endereço desejado no BARRAMENTO DE ENDERECOS! Como a CPU diz que quer LER a memória? Simples, a UC (Unidade de Controle) joga sinais elétricos no BARRAMENTO DE CONTROLE para informar que deseja ler o conteúdo da posição enviada pelo barramento de enderecos... Com já havíamos explicado os três barramentos do sistema, vamos a um exemplo bem simples: Analise a linha (instrução) de um programa mostrada abaixo. Essa linha pega os conteúdos de duas variáveis (B e C) e os soma, armazenando o resultado numa variável A: A = B + C; Para quem não está muito familiarizado com a idéia de variável, aqui vai uma explicação: variável é um termo usado em programação para descrever “apelidos” que são dados às posições da memória. Tipo, ao invés de estacionar o carro na vaga B- 3421, você pode, arbitrariamente, chamar aquela vaga de “Fifi”. Na programação, a variável é um nome amigável que você dá a um endereço da memória. Esse nome poderá ser usado várias vezes durante um programa e é uma mão na roda para o programador... A CPU não se importa com as variáveis, pois vai trabalhar diretamente com os endereços da memória, sem saber quem é A, B ou C... Durante o processo de compilação (transformação) do programa, ele é reescrito com os endereços apropriados de memória. Supondo que, a linha (instrução) mostrada acima está armazenada na posição 2012 da memória principal e que as variáveis A, B e C estão nos endereços 3000, 3010 e 4560 respectivamente, a CPU faria esse catatau de coisas para executar aquela linha acima: <CPU executando a instrução acima> Leia a instrução armazenada no endereço 2102 da memória Decodifique a instrução (entender que se trata de uma soma e que requer dados armazenados em outros locais). Leia o dado contido no endereço 3010 da memória (supondo que lá tem 8) Leia o dado contido no endereço 4560 da memória (supondo que lá tem 10) Execute a Instrução (no caso, SOME os dados – na ULA) Guarde o resultado no endereço 3000 da memória (ou seja, o número 18) <CPU termina a execução desta instrução e parte para a próxima> A próxima instrução do programa provavelmente estará no endereço 2013 da memória (porque os programas têm suas instruções gravadas na memória em seqüência, na maioria dos casos). QUER VER ISSO FUNCIONANDO VISUALMENTE?!?!? Então lá vai! CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 7 1) Primeiro passo: Leia a instrução armazenada no endereço 2102 da memória A CPU lança o sinal LEIA pelo barramento de CONTROLE; A CPU lança o endereço 2012 pelo barramento de ENDERECOS; A memória envia a INSTUÇÃO pelo barramento de DADOS; CPU MEMÓRIA PRINCIPAL BARRAMENTO DE ENDEREÇOS BARRAMENTO DE DADOS BARRAMENTO DE CONTROLE LEIA 2012 INSTRUÇÃO 2012: INSTRUÇÃO 3000: 3010: 8 4560: 10 Depois disso, a INSTRUÇÃO é armazenada num registrador especial chamado REGISTRADOR DE INSTRUÇÃO, dentro da CPU. 2) Segundo passo: Decodifique a instrução Esse passo não requer o uso dos barramentos porque acontecerá apenas dentro da CPU. A decodificação da instrução é quando a CPU identifica que tipo de instrução é aquela, se ela precisa ou não de operandos (dados extra), se pode ser executada sem ler nada da memória, entre outras coisas. Como resultado da decodificação da nossa instrução, a CPU vai saber que se trata de uma soma, e, portanto, requer operandos (dados)... Claro, porque não haveria sentido em dizer SOMA, sem dizer quais os números a serem somados. Depois da decodificação, se inicia o momento da busca pelos dois dados a serem usados na instrução, começando pelo dado existente no endereço 3010. 3) Terceiro passo: Leia o dado contido no endereço 3010 da memória A CPU lança o sinal LEIA pelo barramento de CONTROLE; A CPU lança o endereço 3010 pelo barramento de ENDEREÇOS; A memória então, responde mandando o dado pelo barramento de DADOS. CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 8 CPU MEMÓRIA PRINCIPAL BARRAMENTO DE ENDEREÇOS BARRAMENTO DE DADOS BARRAMENTO DE CONTROLE LEIA 3010 8 2012: INSTRUÇÃO 3000: 3010: 8 4560: 10 Depois disso, o número 8 será armazenado em um dos registradores da CPU, para poder ser utilizado na execução da instrução posteriormente. Lembre-se: registradores são pequenas unidades de memória que existem dentro da CPU para armazenar as informações de que a CPU precisa durante um processamento. As informações (dados e instruções) ficam nos registradores pouquíssimo tempo, apenas o suficiente para que sejam processadas. 4) Quarto passo: Leia o dado contido no endereço 4560 da memória A CPU lança o sinal LEIA pelo barramento de CONTROLE; A CPU lança o endereço 4560 pelo barramento de ENDEREÇOS; A memória então, responde mandando o dado (10) pelo barramento de DADOS. CPU MEMÓRIA PRINCIPAL BARRAMENTO DE ENDEREÇOS BARRAMENTO DE DADOS BARRAMENTO DE CONTROLE LEIA 4560 10 2012: INSTRUÇÃO 3000: 3010: 8 4560: 10 CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 9 Depois disso, o número 10 será armazenado em outro registrador, que possuirá esse valor até o processo de execução da instrução ser completado (porque,lembrem- se, esse MUNDO DE COISA que eu estou explicando é a execução de UMA INSTRUCAO de um programa...) Logo após o término dessa instrução, outra iniciará esse maravilhoso processo de novo, e isso se repete milhões de vezes em um único segundo! 5) Quinto passo: Execute a Instrução A Unidade de controle requisita os trabalhos da ULA (Unidade Lógica e Aritmética), ambas na CPU, para fazer valer o salário dela! Ou seja, a instrução é uma soma, portanto, uma operação aritmética e isso requer que a ULA entre em ação para calcular o resultado. Então, em outras palavras, a instrução presente no Registrador de Instrução (SOMA) é executada utilizando-se dos dois valores presentes dos dois registradores na CPU (8 e 10). Depois que a ULA calcula o resultado (18, no caso) é armazenado em outro registrador, na CPU, esperando apenas o próximo passo. 6) Sexto passo: Guarde o resultado no endereço 3000 da memória A CPU lança o sinal ESCREVA pelo barramento de CONTROLE; A CPU lança o endereço 3000 pelo barramento de ENDEREÇOS; A CPU lança do dado resultante (18) pelo barramento de DADOS; CPU MEMÓRIA PRINCIPAL BARRAMENTO DE ENDEREÇOS BARRAMENTO DE DADOS BARRAMENTO DE CONTROLE ESCREVA 18 3000 2012: INSTRUÇÃO 3000: 18 3010: 8 4560: 10 Depois disso, óbvio, o número 18 ficará armazenado na posição 3000 da memória e a CPU começa o processo de execução da próxima instrução do programa (que por sinal, espero não ser preciso explicar!). CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 10 Gostaria de deixar bem claro que os sinais ESCREVA e LEIA são meu jeito de falar, ok? Alguns livros citam assim, alguns outros citam diferente, mas todos eles não citam a realidade (porque no barramento de controle, bem como nos demais barramentos e no resto do micro, os sinais são BINÁRIOS – Zeros e Uns). Espero que essa explicação tenha FECHADO o assunto dos barramentos de sistema, e espero que tenham todos entendido! (se não, é só perguntar no fórum)... Tipos de Memória RAM De acordo com a sua fabricação, a memória RAM pode ser de dois tipos principais: a DRAM (RAM Dinâmica) e a SRAM (RAM Estática). As características sobre elas são: - DRAM: menos rápida, mais barata e, por isso, encontrada em maior quantidade em nossos computadores. É esse tipo de memória que utilizamos como memória principal em nossos micros. As memórias DRAM são fabricadas com capacitores (pequenas pilhas) que se descarregam com o tempo. Portanto, quando os capacitores armazenam cargas elétricas, precisam, constantemente, serem “reacordados” ou seja, seu conteúdo elétrico precisa ser realimentado. Como se um equipamento “irrigasse” constantemente os capacitores com eletricidade. Esse processo de irrigação é chamado REFRESH ou REALIMENTAÇÃO. A memória DRAM precisa de REFRESH (não esqueça!) - SRAM: Mais rápida (não sei quem as batizou), mais cara e, por isso, aparece em menor quantidade em nossos micros. As memórias SRAM são muito velozes e por isso, muito caras! Nossos micros possuem pequenas quantidades de SRAM, como na Cache e nos REGISTRADORES (Sim, os registradores da CPU são memória RAM estática!). Não há a necessidade de REFRESH nesse tipo de RAM, porque a SRAM utiliza semicondutores ao invés de capacitores. Como se não bastasse essa divisão, ainda podemos dividir a DRAM, que é vendida atualmente em dois subtipos (um está se tornando mais comum enquanto que o outro está MORRENDO)... A SDRAM (DRAM Síncrona) era muito comum e seu auge foi de 6 a 2 anos atrás... Essa memória tinha uma velocidade boa, e acessos com freqüências sincronizadas com a freqüência da placa-mãe (uma revolução em relação aos modelos anteriores). Havia vários tipos de SDRAM? Sim, vendiam-se as PC-100 (com 100MHz de freqüência) e as PC-133 (adivinha...). E Hoje em dia? Elas ainda dominam o mercado de RAM? Com certeza: Não! Atualmente as memórias mais comuns são chamadas de DDR-SDRAM ou simplesmente DDR. Uma memória DDR (sigla de Dupla Taxa de Dados) é mais rápida que a SDRAM porque faz uma coisa interessante: utiliza duas vezes cada ciclo de sua freqüência para transmitir / receber dados. Ou seja, uma memória DDR que trabalha com uma CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 11 freqüência real (física) de 200MHz está funcionando como se usasse 400MHz... veja o desenho a seguir: Como se pode ver no gráfico, tanto a SDRAM quanto a DDR estão usando a freqüência mostrada no desenho (a onda AZUL MARINHO). O que acontece é que a SDRAM está realizando transferências somente no momento da subida da freqüência (setas azuis) e a DDR está realizando-as tanto na subida quanto na descida da freqüência (setas vermelhas). Então, qualquer pergunta que diga: A DDR é mais rápida que a SDRAM porque tem uma freqüência DUAS VEZES MAIOR? A resposta é NÃO! Porque mesmo se as duas exemplares possuírem a mesma freqüência, a DDR será mais rápida porque utiliza a freqüência de forma DUPLICADA. Ou seja, a diferença não está na freqüência em si, e sim na forma COMO as duas memórias utilizam-na! Hoje em dia, em qualquer loja de informática, encontra-se quase que exclusivamente, a DDR, em outras palavras, DDR é a mais comum atualmente! Já estão fabricando e vendendo as memórias DDR2 (com freqüências maiores), mas por serem muito novas, não são assuntos para concursos próximos (só quando as DDR2 massificarem). Ainda há outra coisa: Quando encontrar por aí a DDR, é comum vê-la em vários “sabores” como: DDR266, DDR333, DDR400, etc. Isso diz respeito à freqüência dessa memória. Uma DDR400, por exemplo, funciona como se trabalhasse a 400MHz, e, para isso, tem freqüência real de 200MHz. Lembre-se: A freqüência REAL de uma memória DDR sempre é METADE da freqüência anunciada (DDR400, DDR333). Outra coisa é que, a forma de se referir à memória DDR pode mudar de caso para caso... a DDR400, por exemplo, é conhecida como PC3200. Esse 3200 faz referência à taxa de transferência máxima de dados para a memória. DDR RAM SDRAM CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 12 Como Calcular a taxa? Simples, multiplique a largura do barramento da memória (barramento que, na DDR, é de 64bits) pela freqüência de trabalho (400MHz na DDR400). 64bits são 8 bytes, e isso é o que se transfere em cada ciclo da freqüência. Como são 400 milhões de ciclos por segundo, e em cada ciclo eu transfiro 8 bytes, posso dizer que 8 x 400 milhões de bytes são transmitidos por segundo... ou seja, 3200MB/s (ou 3,2GB/s). Sempre que quiser descobrir a taxa de transferência (velocidade) de um determinado equipamento ou barramento, faça o mesmo calculo. Pegue a largura do barramento (em bits) e converta para bytes (dividindo por 8). Depois disso, multiplique pela freqüência (que é dada em ciclos por segundo - Hz). Você obterá um resultado em Bytes por segundo (B/s)... isso é a taxa de transferência! As memórias DDR2 já apresentam freqüências de 500MHz, 533MHz, 800MHz e já se tem planos de fazer a de 1066MHz... As memórias RAM são vendidas em pentes (pequenas placas) que não são intercambiáveis (ou seja, uma placa de DDR não encaixa onde o pente de SDRAM encaixa e vice versa). Acima: dois pentes de memória DDR. A memória principal é um dos fatores que influenciam na velocidade do computador, mas não é o seu tipo o único responsável por isso. A quantidade de RAM que um computador tem também é crucial para o desempenho da máquina. Não que a CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 13 frase: “quanto mais memória RAM, mais rápido o micro é” esteja certa... Ela está um pouco certa,mas não totalmente. Cada janela que se abre em um computador é um programa que começou a ser executado. Esse programa consumirá um pedaço da RAM enquanto estiver aberto e, se o usuário continuar abrindo janelas, vai chegar ao limite da RAM instalada fisicamente. Atualmente, os micros apresentam valores variados de memória, como 128MB, 256MB, 512MB e até mesmo 1GB de RAM (é possível ter até 4GB de memória atualmente, por causa da largura do barramento de endereços)*. Mas, por que se diz tanto, especialmente os vendedores dizem, que “Quanto mais memória RAM, mais rápido seu micro vai ficar”? A resposta é a seguinte: Quanto mais programas abertos, mais gasto de RAM, certo? E se eu abrir tantas janelas que chegue a utilizar toda a minha memória RAM? Tipo: tenho 128MB de RAM e abri o Windows (Claro), que ocupa uns 60 a 80 MB na RAM, o Word (mais 40) e o Excel (uns 20 a 30). ENCHEU!!!! E aí? O micro trava??? Não, o seu micro não trava só porque a RAM encheu e não há espaço para mais nenhuma outra janela... O seu micro trava porque o Windows é cheio de paranóias e crises existenciais! (ele é mal feito!). Quando a RAM está cheia, o Sistema Operacional (windows, no caso) se utiliza de um recurso bem esperto para continuar executando programas: a Memória Virtual (ou, para a ESAF, memória Paginada, memória de Troca, etc.). A memória Virtual é um pedaço do espaço livre o HD (Disco Rígido) que é reservado pelo sistema operacional a título de prevenção. Essa “reserva” é feita quando o Windows é carregado (inicialização), mas a área em si de memória virtual só será utilizada quando necessário. O grande lance da memória virtual é que, quando a memória Principal (física ou real, doravante chamada assim) estiver cheia, o Windows começa, então, a fazer escritas na RAM não de dados, mas de endereços que deverão ser localizados no Disco (na memória Virtual). Em outras palavras: os dados e instruções dos programas são armazenados no DISCO (na memória virtual) e ficam, na RAM real, apenas os endereços que apontam para tais dados. CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 14 Ainda tem mais: Quando um programa está sendo mais usado que outro, eles trocam de lugar: o programa mais usado, se estiver na Virtual é transposto para a real e o programa menos usado, se estiver na real é transposto imediatamente para a virtual. Essa TROCA é sentida pelo usuário quando, em alguns momentos, o usuário ouve o “barulho ensurdecedor” do HD como se estivesse salvando algo: éhn éhn éhn éhn... Essas coisas... E, neste momento, o sistema ficou ocupado (mostrando aquela ampulheta). Aí vem a pergunta: Para que serve a Memória Virtual mesmo? Para aumentar a capacidade da memória principal através de um processo que não requer a compra de mais memória. Utiliza-se o disco (que tem memória de sobra) para criar nele uma espécie de RAM de mentira, chamada de Arquivo de Troca ou Memória Virtual. O micro fica mais rápido assim? Não! Pelo contrário! Quando a memória Virtual é utilizada, o desempenho do micro é bastante prejudicado! Ele fica MUITO mais Lento! Pensa bem: o teu micro deixa de usar uma memória elétrica (RAM), onde é fácil e rápido colocar um bit, retirar um bit, alterar o valor de um bit.. Por que? Porque é elétrica, é só pulsar eletricidade no local certo! Quando ele começa a usar a memória virtual, a gravação dos dados requer a rotação do disco e a movimentação de um “braço” para localizar a posição certa e pum! Colocar o bit na posição desejada! (processo mecânico-eletronico). OU SEJA: colocar dados na RAM é muito mais rápido que colocar no Disco, portanto, quando o disco é usado como RAM, saímos perdendo em matéria de velocidade! Sobre a Virtual: Ponto positivo: podemos usar mais programas que os que a nossa RAM real deixaria! Isso é muito bom! Ponto negativo: Quando a virtual é necessária, seu uso torna o micro muito mais lento! Claro, porque estou deixando de ler na RAM para ler no HD! E então? O que faço para o micro não perder desempenho? Simples: COMPRE MAIS MEMÓRIA RAM REAL!!! Vá na loja agorinha mesmo e compre mais um pente de memória RAM! Isso aumenta a RAM do seu computador e faz com que o uso da virtual seja minimizado! Por isso aquela frase: “Quanto mais RAM, mais velocidade”.. Ela não está de todo certa, porque o certo é: “Quanto MENOS RAM, mais uso da VIRTUAL, e, consequentemente, MAIS LENTIDÃO”. As duas frases acima são iguais!!! Não! Chega um ponto em que comprar mais RAM não vai trazer diferença porque se tem tanta que a Virtual não chega a ser muito usada. Então não se pode dizer que se AUMENTOU A RAM, AUMENTOU A VELOCIDADE!!! (Isso não está CORRETO).. Exemplo: Se você tem 512MB de RAM e usa apenas Windows, Word e Excel, sua RAM já é mais que suficiente... Não haveria ganho nenhum, nesse caso, em comprar 1024MB de RAM... (haveria gasto de dinheiro!). OK até aqui!?!? Só pra finalizar: Não é a quantidade grande de RAM que faz o micro ficar rápido, é sua quantidade pouca que faz o micro ficar lento, porque isso CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 15 geraria a necessidade do uso da Virtual... Muita memória RAM é bom porque não é POUCA!!! O Barramento de Endereços e a Memória RAM Eu escrevi um parágrafo lá na página anterior (início) em azul e negrito (falando do fato de que a memória RAM atual pode chegar a 4GB de tamanho – de acordo com o barramento de endereços)... Segue a explicação. Vejam só: o barramento de endereços transmite sinais binários que representam os endereços das posições que serão acessadas na memória... vimos isso hoje! Só que os endereços que vimos foram 3000, 3010, 2012... mas esses endereços são, na verdade, binários! Tipo: 01101001010010 ou 01111111100101 ou 11111111111111... e assim vai. Por que isso? Porque o barramento é formado pro vários fios, e cada fio pode transmitir um sinal elétrico (bit). Se o barramento fosse formado por 2 fios? Aí os fios poderiam mostrar 4 combinações diferentes (ou seja, apontar para 4 endereços diferentes)... 00 : fio1 Æ 0 e fio2 Æ 0 01 : fio1 Æ 0 e fio2 Æ 1 10 : fio1 Æ 1 e fio2 Æ 0 11 : fio1 Æ 1 e fio2 Æ 1 Ou seja, o número de combinações possíveis é calculado por equações de combinações simples (análise combinatória)... Cada fio pode assumir apenas dois valores? Então é a BASE (2). No caso são dois fios (o número de fios – ou largura do barramento – vai para o expoente: 2 também)... Por isso deram 4 combinações! 22=4... E se o barramento de endereços tivesse 3 bits de largura (3 fios)? 000 001 010 011 100 101 110 111 Entendido? Seriam 23=8 combinações diferentes! Certo, mas o que isso tem a ver com a quantidade de memória? Calma stressadinho, eu chego lá! Se o barramento de endereços transmite endereços de memória, então, a quantidade de combinações diferentes representa a quantidade de endereços eu se podem acessar! Simples: Cada combinação (010 ou 011) é um endereço! Se são 8 combinações, eu posso acessar 8 endereços diferentes! (êta memória pequena!). CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 16 Então é simples: quanto maior for o barramento de endereços, mais combinações serão possíveis, logo, mais endereços poderão ser acessados e, isso significa que a memória poderá ser maior. Não entendi porque a memória pode ser maior... É fácil! Seu estacionamento (com manobrista) entrega um cartão com um número aos clientes do shopping. Só que o cartão que você oferece tem 4 algarismos! Veja só: 4 algarismos, onde cada algarismo vai de 0 a 9... Se são 4 algarismos, os cartões vão de 0000 a 9999 (totalizando 104 cartões ou 10.000 cartões). Com o atual sistema de registro(Cartões com 4 algarismos), seu estacionamento pode representar a entrada de 10.000 carros, não mais que isso... Se o shopping aumentar e o número de vagas no estacionamento estiver planejado para chegar a 30.000, seu sistema de classificação e registro dos carros impedirá isso! Portanto, o que fazer? COLOCA MAIS UM ALGARISMO NO CARTAO! Isso!!! Aumenta a “Largura” do cartão: ele vai ter CINCO algarismos e vai agora de 00000 a 99999 (105 possibilidades, ou seja, 100.000 carros poderão ser registrados). O estacionamento, mesmo com 30.000 vagas, pode crescer até 100.000 que o sistema de registro dos automóveis será satisfatório. É isso aí: como o barramento de endereços é quem transmite os endereços, sua largura define o número de algarismos binários do endereço. Se o barramento de endereços for 16 bits, a memória para que ele aponta terá 216 posições diferentes, no máximo, ou seja, 65.536 posições de memória no máximo! Como hoje em dia, a maioria dos nossos computadores (mais precisamente, placas mãe e processadores) utilizam barramentos de endereços de 32 bits, a memória que eles gerenciam pode chegar a ter 232 posições diferentes de memória que o sistema conseguirá apontar para todas elas! 2 elevado a 32 dá mais de 4 bilhões! Note... Isso não é a capacidade da memória, e sim o número de vagas que ela pode ter! Então é correto dizer que, nas memórias RAM atuais, pode-se chegar a ter até 4 bilhões de posições diferentes! Agora sim: como cada posição é um espaço para armazenar um byte (tomando como exemplo: cada vaga no estacionamento é local para UM VEÍCULO), então as 4 bilhões de posições resultam em 4 bilhões x 1 Byte = 4 bilhões de bytes! 4 bilhões de bytes = 4GB! Portanto, depois de uma baita prolixidade, foi provado que, hoje, nos nossos computadores, o fato de terem barramento de endereços de 32 bits de largura limita o tamanho da memória RAM para 4GB! Há, porém, computadores com larguras maiores de barramento de endereços, como alguns Xeon e Itanium, Opteron também... Alguns possuem barramentos de endereços com 36 bits, que lhes confere a capacidade de ter até 64GB de memória RAM! Alguma dúvida? Para lembrar: A largura do barramento de endereços define o tamanho máximo de memória principal que um micro pode ter! A Memória Cache Nem só de memória principal vive o micro! (ou melhor, ele até viveria)... CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 17 Existe, além da RAM principal, uma pequena quantidade de memória RAM estática nos nossos computadores. Essa memória é muito rápida (SRAM, né?) e fica localizada dentro do processador (dentro do chip mesmo, já é fabricada junto!). Seu nome é Memória Cache (cachê é a pronuncia certa, pois vem do francês e significa “escondida”, mas todo mundo pronuncia como “cash”). Essa memória é engraçada! Ela não é vista pelo programador nem pelo sistema operacional (escondida mesmo). Ou seja, aquele programa que vimos no exemplo da RAM ele não cita endereços da Cache, nem poderia! Para o programador (pessoa que faz o programa) e para o sistema operacional (programa que controla a execução dos outros programas), a cache não existe! Ou, pelo menos, não tem importância, não é acessível. Quem controla o que entra e o que sai da cache é a própria CPU, não os programas nem o sistema operacional! A cache serve para armazenar os dados e instruções que foram mais frequentemente trazidos da memória principal. Ou seja, se um dado está sendo requisitado na RAM, ele é armazenado na cache para que, quando for requisitado novamente, não precise ser buscado na RAM, que é mais longe e menos rápida. A CPU sempre pergunta primeiro se a cache tem um dado antes de jogar a requisição de LEIA para a RAM. Então a execução daquele programa lá em cima (aquele com os desenhos e setinhas coloridas) seria modificada se considerarmos a presença da cache... Alguns processadores têm uma espécie de “premonição”, pois conseguem trazer para a cache dados e instruções que ainda não foram utilizados, de acordo com a estrutura do programa que está sendo executado. Os dois quadrados citados acima como L1 e L2 são a cache. A memória cache hoje é composta por dois níveis separados de cache: a cache primária (L1) e a cache secundária (L2) que estão presentes em todos os processadores atuais. Alguns processadores possuem um terceiro nível (L3), como o Xeon, o Itanium e o Opteron. CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 18 A regra é clara! Quando a CPU quer um dado, pergunta se a L1 tem: Se sim, ótimo, se não tem, pergunta à L2 se ela tem o dado: Se sim, ótimo, a CPU pega o dado, se a L2 não tem o dado, a CPU tem que se resignar e ir buscar na RAM (quando não há L3)... Por que a Cache é sempre requisitada? Isso não atrasa as coisas? Não! A pergunta é devolvida: Se alguém te pede carona e mora justamente no caminho que você faz para casa... CUSTA DAR A CARONA??? VAI TE ATRASAR? DEIXA DE SER CHATO! A Cache é muito mais rápida que a RAM, e, “fica no caminho”. A CPU nem gasta direito tempo (um ou dois ciclos de clock) para perguntar algo à Cache, enquanto que espera muito (às vezes uns 10 ciclos) para perguntar à RAM. Então, não custa nada perguntar antes à cache, com a possibilidade de sair ganhando (se o dado estiver na cache, a busca terminou em 2 ciclos!). A cache L1 é mais próxima da CPU e mais rápida! Possui uma capacidade muito pequena se comparada à L2... hoje em dia, há processadores com 32KB de L1 (o que já é muito para esse tipo de cache). A cache L1 já é fabricada dentro dos processadores! A cache L2 veio somar-se a sua amiga L1, também sendo fabricada dentro dos processadores. A L2 é maior (hoje, há processadores com 1MB de L2 – como é o caso do Pentium 4 mais recente). É comum, porém, encontrar processadores com 512KB de L2 (metade de 1MB). A L3 é rara! Só em processadores TOP de TOP de TOP de linha! No itanium 2, por exemplo, a cache L3 chega a 9MB!!! A quantidade de Cache é importante para determinar o desempenho do computador, pois, quanto mais cache existe, mais dados são considerados freqüentes, e isso fará o processador responder mais rápido, buscando mais dados na cache e não precisando buscar na RAM! Há dois termos ligados à cache: Cache MISS (ou Cache FAULT) quando um dado procurado não está no cache e a CPU se vê obrigada a procurá-lo da RAM. E Cache HIT, quando um dado é procurado no Cache e está lá! Atualmente os processadores têm uma taxa de Cache HIT superior a 90% (em parte, graças à “premonição” de que falei). Bem, pessoal, acho que é isso... na próxima aula eu trarei algumas explicações que faltam a respeito de memórias (registradores e tal e memórias auxiliares), mas acho que já chegamos a um ponto bom de conhecimento sobre as principais memórias do computador! Só quero que vcs respondam as perguntas a seguir! Até o fórum e até a próxima aula! Questões para Fixação 1) Quais as taxas de transferência de dados para os seguintes barramentos (dadas a freqüência e a largura): a. 8 MHz / 16 bits CURSOS ON-LINE – INFORMÁTICA PROFESOR JOÃO ANTONIO www.pontodosconcursos.com.br 19 b. 33 MHz / 32 bits c. 66 MHz / 32 bits d. 266 MHz / 64 bits e. 800 MHz / 64 bits 2) Determine a freqüência real das seguintes memórias: a. DDR333 b. DDR400 c. PC-2100 d. PC-133 3) Defina, com suas palavras (procure na Internet, se quiser): a. Barramento de Controle b. Cache Miss c. Program Counter (Contador de Programa) d. Registrador de Instruções 4) Quantas posições teria uma memória principal se o barramento de dados do processador tivesse 40 bits? 5) E se o barramento de endereços tivesse 44 bits? Mesma pergunta acima...Que Deus os abençoe a todos! Obrigado pela confiança! João Antonio
Compartilhar