Quando não há memória RAM suficiente, o processador desperdiça preciosos ciclos de clock esperando a memória virtual entregar os dados solicitados. Isso porque a memória virtual é baseada da memória de massa, e se até mesmo os modernos drives de memória sólida (SSD) são mais lentos que a já relativamente lenta memória RAM, que se dirá dos jurássico HDDs? (Mais detalhes sobre memórias nos posts dos dias 26 e 27 do mês passado.)
O computador é formado por dois subsistemas distintos, mas interdependentes: o hardware e o software. O hardware se subdivide basicamente em processador, memória e dispositivos de I/O (entrada e saída de dados). O processador é considerado o “cérebro” do computador, já que é responsável pelo acesso e utilização da memória e dos dispositivos de I/O. No que tange ao software, relembro apenas que sistemas operacionais, aplicativos e demais programas consistem em uma série de instruções que o processador executa ao realizar suas tarefas.
Para ler um dado presente na RAM, a CPU o localiza pelo barramento de endereços, acessa-o pelo barramento de controle e o insere no barramento de dados, onde se dá a leitura propriamente dita. O clock, expresso em múltiplos do Hertz (kHz, MHz, GHz, é o responsável pela perfeita sincronização das atividades. Para simplificar, podemos compará-lo a um sinal de trânsito: a cada ciclo, os dispositivos executam suas tarefas, param, e então seguem para o próximo ciclo.
O clock interno corresponde à frequência de operação da CPU. Um chip com clock de 3.5 GHz realiza 3,5 milhões de operações por segundo, mas o que ele é capaz de fazer em cada operação é outra história. Devido a limitações físicas que impedem o processador de se comunicar com o controlador da memória (que geralmente fica na ponte norte do chipset) na mesma velocidade do clock interno, isso é feito através do clock externo.
Observação: O clock interno é um múltiplo do clock externo obtido pelo multiplicador de clock Supondo que o clock externo seja de 100 MHz e o processador trabalhe a 1.6 GHz (ou seja, tem clock interno de 1,6 GHz), o multiplicador é ajustado para 16x (16 x 100 MHz = 1.600 MHz ou 1.6 GHz).
Processadores de marcas e/ou versões diferentes podem operar na mesma frequência e apresentar desempenhos distintos, conforme o projeto e as características de cada um. A performance depende do que o chip é capaz de faz em cada ciclo de clock. Um processador pode executar uma instrução em dois ciclos de clock, por exemplo, enquanto outro, de igual frequência de operação, pode precisar de três ou quatro ciclos para executar a mesma instrução.
Como vimos no último dia 7, a quantidade de bits (32 ou 64) também influencia diretamente o desempenho do processador (e do computador), a exemplo do cache de memória. Trata-se de uma pequena quantidade de SRAM — RAM estática, muito mais veloz, mas bem mais cara que a RAM convencional — destinada a armazenar (temporariamente) dados e instruções que o processador acessa mais amiúde.
Observação: O cache L2 passou a ser usado quando o L1 se tornou insuficiente. O L1 ficava originalmente no núcleo do processador, e o L2, na placa-mãe. Mais adiante, ambos foram embutidos no chip. Alguns processadores dispõem de um terceiro nível de cache. O AMD K6-III, lançado em 1999, tinha caches L1 e L2 internos e L3 externo. Outro exemplo é o Intel Core i7 3770, no qual cada núcleo dispõe de caches L1 e L2 relativamente pequenos e compartilha com os demais o cache L3, que é bem maior.
O Intel Celeron, lançado em 1998 para equipar PCs de entrada de linha (baixo custo), era basicamente um Pentium II castrado (sem cache L2). Como não há almoço grátis, o preço mais baixo resultava em desempenho inferior. Felizmente, o Celeron 600 (MHz) que equipava um PC que eu comprei na virada do século aceitou um overclock que elevou sua frequência para 933 MHz, mas me obrigou a trocar o cooler e o respectivo fan (microventilador) para dissipar o calor adicional resultante do “upgrade”.
Continua...