jota.rip: O hyperthreading nao funciona assim. O hyperthreading é uma ideia brilhante de um engenheiro da intel que achou um desperdicio partes do processador estarem muito tempo idle. O processador n é um todo a funcionar em unissono. É constituido por várias partes com funçoes diferentes. O k a intel fez foi duplicar as partes mais utilizadas (e as absolutamente indispensaveis) e partilhar tudo o resto.
Conclusao: funciona mais ou menos como dois processadores a partilharem uma montanha de recursos comuns (incluindo a cache).
Isto nos programas actuais é completamente (ou quase) inexplorado. Porque? Quem já fez um programa sabe k a forma correcta de criar codigo passa por organizaçao. Por isso o codigo tem uma estrutura bastante faseada k nao aproveita o HT.
Por exemplo (e é APENAS um exemplo k pode ter incorrecçoes):
Criamos um programa para ripar um DVD: qd estamos a usar os fltros de conversao video estamos a usar certas áreas do CPU e qd tratamos da conversao audio usamos outras áreas. Logo, uma grande melhoria com HT, certo? Errado. Porque qq bom programa segue uma estrutura sequencial que era, até agora, a melhor forma de aproveitar recursos. Por isso o programa trata do video todo e qd termina passa para o audio. Logo o HT n traz beneficios. Mas adaptando o programa os beneficios seriam enormes. É o k acontece com multi-tasking. Realizando (simultaneamente) duas tarefas k utilizem áreas diferentes do processador os beneficios sao grandes.
De futuro e com código adaptado é k o HT (actualmente bastante ineficaz) irá mostrar o k vale. Daí k a intel lançou um novo compilador optimizado para HT.
Quanto às perdas de performance verificadas, a explicaçao tb é simples. De modo a evitar possiveis crashes de sistema a Intel introduziu timings de segurança, watch dogs e outros ciclos de modo a impedir "endless loops" - o "processador A" está à espera da informação a ser processada pelo "processador B", mas o "processador B" n pode terminar o seu ciclo antes de A ter libertado recursos partilhados.
Espero ter esclarecido algumas duvidas.
Se quiserem acrescentar/corrigir alguma coisa até agradeço
