quinta-feira, 19 de abril de 2012

O computador antigamente

Os computadores de antigamente (décadas de 60-80) eram dotados de processadores que não aproveitavam muito eficientemente a quantidade de hardware disponível durante a execução das instruções.Posteriormente, com a divisão da execução das instruções em estágios, onde a finalização de um estágio por uma instrução permite que uma nova instrução utilize aquele estágio, tornou-se possível executar com uma certa sobreposição várias instruções no mesmo ciclo do processador. Esta técnica foi chamada de pipeline e talvez tenha sido o maior passo na evolução arquitetural dos processadores. Essa mesma técnica continua sendo utilizada nos processadores comerciais mais conhecidos.
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.

Um comentário:

  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