segunda-feira, 8 de setembro de 2008

Diminuindo Latência - Parte I - Memórias

Atualmente os processadores de computadores tem velocidades grandes. Porém há no mercado processadores com o mesmo clock e com preços diferentes e gente que jura que o mais caro é melhor. A justificativa é uma tal de L2 maior. Como hardware não é minha área, neste post tentarei explicar o que é este tal L2 e que diferença ele fará no desempenho final do computador.

Um conceito inicial: barramento

No computador, os componentes são conectados por meio de um barramento. No inglês, Bus. O barramento é o caminho que os dados utilizam para "passear" entre os diversos componentes de um computador. Como os dados do teclado vão parar no processador? Pelo barramento. Assim como é por meio do barramento que eles vão do processador para sua placa de vídeo. No computador há níveis distintos de barramentos. Uma analogia simples é comparar os barramentos às nossas estradas. Há barramentos com várias vias cuja velocidade máxima permitida é de 500Km/h e barramentos como estradas de terra aonde você corre o risco de encontrar uma vaca dormindo no meio do seu caminho. Continuando...



Entendendo o processador

Processador. Quando falam em processador eu penso em um processador de alimentos, como um multiprocessador da Arno. O processador é uma máquina que só sabe processar. Só faz isto. A velocidade de seu processador irá influenciar no quão rápido os alimentos serão "picados". Um processador dual core é como um liquidificador com 2 hélices. Em princípio irá processar muito mais rapidamente. Porém, o tamanho do copo do processador também influi na velocidade final do preparo de seu almoço.


O copo do liquidificador: Memória Cache L1

O processador posui uma memória interna que guarda o que ele está processando. É como o copo do liquidificador. Quanto maior o copo, mais ele processa de uma vez. É uma memória super rápida que cabe muito pouco. O copo do liquidificador é chamada L1. A memória cache L1 fica dentro do processador e o tempo de latência para o acesso a estes dados é de 2 ciclos do processador. O barramento de acesso do processador ao cache L1 é de 512 bits. É como uma estrada aonde a velocidade máxima permitida é de 512 Km/h. A cache L1 é dividida em 2 partes: dados e instruções. A parte de instruções varia muito de um processador para outro tendo, por exemplo, o Pentium 4 aproximadamente 150KB de instruções. Já a parte de dados, que também varia um pouco pode ter 8KB ou 16KB. O tamanho do copo do liquidificador? Vamos deixar por 166KB.

O balcão da pia: Memória Cache L2

Em computadores mais antigos, como o Processadores Soquete 7, a memória cache L2 ficava na placa mãe e não no processador. Mantendo nossa metáfora, é como se a memória cache L2 fosse o balcão da pia aonde o nosso processador de alimentos se encontra. Quando uma receita precisa de vários processamentos o nosso cozinheiro (no caso, o sistema operacional) vai até a despensa e traz um monte de coisa e coloca no balcão. Se o balcão for pequeno, ele trará poucas coisas e então nosso processador muito rápido ficará esperando que o cozinheiro traga novas coisas para serem processadas. A L2 é muito maior que a L1 porém o acesso a seus dados possui uma latência de 7 ciclos de máquina. A largura do barramento para o acesso a L2 pode ser algo na ordem de 256 bits. Lá estamos circulando por uma rodovia rápida, 256 Km/h, mas muito mais lenta que a L1. Há processadores que possuem L2 na ordem de 2MB.
A despensa: Memória RAM

A memória RAM é a despensa da cozinha. Muito maior que o balcão da pia L2. Externa ao processador ela costuma ser maior e normalmente pode até ser aumentada. O tamanho da memória RAM, em máquinas 32 bits, pode chegar a 3,2GB. Há um tempo de latência para buscar dados na despensa. O barramento de acesso do processador a memória é chamado de Front Side Bus. A largura média dele é de 64bits. Temos uma despensa grandona mas que precisa ser acessada por uma estradinha que a velocidade máxima é de 64Km/h. Como atualmente os periféricos podem acessar diretamente a memória (DMA), talvez você ainda encontre uma vaca dormindo nesta estrada. E lá se vão vários ciclos de máquina para trazer até o balcão da pia o que precisa ser cozinhado para o jantar. Memória também possui freqüência. Freqüência é a velocidade de acesso aos dados da memória. Maior freqüência, dados acessados mais rápidos.

O mercado do outro lado da cidade: HD

Heis que nem tudo está na memória. As vezes é necessário ir buscar em um mercado do outro lado da cidade. Na nossa história, o HD. Atualmente é comum encontrar discos rígidos de 200GB. Há modelos no mercado que ultrapassam 1TB. Muito grande. Mas longe. A via de acesso ao HD é o chamado Internal Bus. Aqui há uma diferença entre HDs IDE, IDE 2, SATA, SATA 2 ou SCUSCI. Cada um tem uma largura e uma velocidade de barramento diferente. Mas aqui não é apenas o barramento que importa, tem a velocidade do carrinho dentro do mercado. A velocidade de leitura e gravação de HDs varia. HDs de Notebook costumam girar a uma velocidade máxima de 5400 RPMs enquanto a maioria dos desktops gira em torno de 7200 RPMs. Há HDs SCUSCI que giram acima de 10.000 RPMs. A largura de barramento, ou seja, a estrada para o mercado, pode não importar tanto se o carrinho de compras andar devagar. Você vai demorar para encher o carrinho e não vai adiantar muita coisa correr depois.

O mercado de outra cidade: DVD / CD

Sem entrar em detalhes de velocidades, o DVD nesta história é o mercado da cidade vizinha. Estrada pedagiada.

Juntando tudo

Se o intuito é configurar um computador para trabalhar com baixa latência, será preciso se preocupar com:
  • HD - velocidade, conexão e, dependendo do propósito, tamanho;
  • Memória RAM - tamanho, velocidade de barramento, freqüência;
  • Processador - Velocidade, tamanho de L1 e L2 e velocidade interna de barramento;
  • Placa mãe - velocidade dos barramentos de memória e disco além, é claro da compatibilidade com a memória, processador e HD escolhidos.
Fontes:
  • http://pt.wikipedia.org/wiki/Cache
  • http://pt.wikipedia.org/wiki/Front_side_bus
  • http://www.intel.com

Imagens:
  • http://comprar.todaoferta.uol.com.br/
  • http://www.eletrodomesticosforum.com
  • http://pt.wikipedia.org/wiki/Front_side_bus
  • http://br.geocities.com/friolandianet/genial.html

Nenhum comentário: