sexta-feira, 23 de dezembro de 2011

Data Prefetch e o aumento dos endereços no TLB

O Data Prefetch é um recurso que permite carregar os dados de que o processador precisará para concluir suas próximas instruções. Mesmo operando na mesma frequência do processador, existe sempre alguma perda de tempo ao se aceder ao cache L1, o Data Prefetch diminui o número de acessos necessários, permitindo um pequeno ganho de desempenho.
Outro pequeno avanço é um aumento nos endereços disponíveis no TLB (Translation Lookaside Buffer). O TLB é uma pequena área de memória que armazena os endereços necessários para que o processador possa procurar dados na memória RAM, caso os mesmos não sejam encontrados nos caches. 

O processador não tem como armazenar directamente todos os endereços da memória RAM, pois são realmente muitos. Ao invés disso, são armazenados apenas os mais usados.
O problema é quando o processador precisa aceder a um dado qualquer na memória RAM, cujo endereço não está carregado no TLB. Perde-se uma verdadeira eternidade, pois primeiro será preciso carregar o endereço, para só depois fazer o já lento acesso à memória.

O aumento no número de endereços disponíveis no TLB diminui a possibilidade destas "tragédias", permitindo mais um pequeno ganho de desempenho.

in Manual de Hardware Completo
de Carlos E Marimoto

Sem comentários: