Com o avanço no desenvolvimento do software, esses hardwares “convencionais” que eram utilizados nesses processadores já não atendiam mais à real necessidade de desempenho das novas e modernas aplicações. Alterações no hardware eram necessárias e após alguns estudos e avaliações, o pipeline foi reestruturado e ampliado para o que atualmente é conhecido como arquitetura superescalar. Estas arquiteturas possuem a capacidade de executar instruções com paralelismo simultâneo, além daquele com sobreposição parcial.
Os processadores superescalares são representados pela maioria dos processadores disponíveis no mercado, como o Intel Pentium e Sun UltraSparc. Para atingir o máximo desempenho, esses processadores exploram o paralelismo no nível de instrução (ILP), utilizando para tal a execução fora-de-ordem, hierarquia de memória, previsão de desvios, entre outras técnicas. Todas essas técnicas fazem com que esses processadores tornem-se mais complexos, com mais transistores e dissipando cada vez mais energia e calor.
Os desenvolvedores de hardware têm três opções para tentar melhorar o desempenho desses processadores: aumentar a freqüência de funcionamento do mesmo, tentar explorar mais ILP através de novas técnicas e usar cachês cada vez mais rápidas e próximas ao processador. Técnicas para aumentar a freqüência de clock do processador envolvem, desde o uso de novas técnicas de fabricação, até o aumento no número de estágios do pipeline. Ambas as técnicas esbarram em alguns problemas, como os limites físicos dos processos de fabricação e as quebras do fluxo de instruções nos pipelines (desvios, misses, etc). A extração de mais ILP envolve técnicas que tentam aumentar o número de instruções executadas por ciclo, esbarrando no limite de tamanho dos blocos básicos de um programa, ou seja, 4 à 5 instruções. O emprego de cachês maiores e mais próximas aos processadores é outra técnica que visa melhorar o desempenho desses processadores, tentando diminuir a histórica diferença de velocidade de processador e memória principal.
O problema dessas técnicas é que ambas implicam em maiores áreas de silício, maior número de transistores e uma maior dissipação de energia. Além disso, elas não atingem 100% de eficiência, por exemplo, dobrando o clock de um processador não atinge-se o dobro de desempenho. Isso pode ser facilmente verificado em todas famílias de processadores, como a família Intel, na figura 1.
incrível,adorei essa história é impressionante comparar os computadores de antigamente com os de atualmente e como eles se desenvolveram tão rapidamente
ResponderExcluir