Limites da arquitetura single core
Resenha: Limites da arquitetura single core. Pesquise 862.000+ trabalhos acadêmicosPor: chriskalo1 • 12/7/2013 • Resenha • 1.124 Palavras (5 Páginas) • 574 Visualizações
Limites da arquitetura single core
O alto fluxo de dados, políticas de segurança novas, simulações 3D complexas, banco de dados maiores e com maior número de usuários online demanda cada vez mais um poder maior de processamento das máquinas atuais. A solução encontrada pela empresas até um certo tempo era de aumentar a frequência dos processadores, para que a capacidade de processamento deles aumentasse. Para isso ser possível, a fabricação de transistores deve ser feita com camadas de silício cada vez menos espessas. Porém, quanto menor a largura da porta, mais próximas ficarão as regiões da fonte e dreno do transistor. Técnicos afirmam que, se a largura da porta chegar a cinco nm, fonte e dreno ficarão separadas por um trecho de silício tão pequeno que não conseguirá isolá-los completamente, gerando uma probabilidade de 50% de que a corrente flua mesmo quando não houver tensão aplicada à porta (este fenômeno denomina-se tunelamento). Quando isso ocorre o transistor deixa de ser confiável como dispositivo de processamento de dados.
Existe também outro problema, o da dissipação de energia. Os processadores single-core foram atingindo uma densidade de transistores muito alta com o passar do tempo, o que acarreta um problema no calor produzido pelo chip. Quanto menores são os transistores em um circuito integrado, maior sua “densidade”, ou seu número por unidade de área. O acúmulo de um número muito grande de transistores em uma área pequena concentra tremendamente a produção de calor devido à dissipação de energia pela corrente elétrica que circula nos transistores. Se essa energia não for rapidamente removida do circuito e transferida para o ambiente, o chip atingirá temperaturas tão elevadas que, literalmente, derreterá.
Além das limitações citadas, pode-se acrescentar ainda a diferença enorme entre a velocidade do processador e da memória principal do sistema, o que deixa o processador muito tempo ocioso a espera resultados de acesso à memória, e haver apenas uma banda para troca de dados, o que pode proporcionar um gargalo no sistema.
Tipos de paralelismo
Os processadores multicores tentam resolver o problema do gargalo dos single cores com o conceito de paralelismo de execução, da divisão de tarefas entre os núcleos do processador para acelerar o tempo de execução das tarefas. O paralelismo nos processadores pode ser visto de duas formas: em nível de instrução ou em nível de threads.
O paralelismo em nível de instrução pode ser melhorado usando três alternativas: aumentar a frequência do processador, tentar novas técnicas para melhorar o aproveitamento desse tipo de paralelismo ou usar caches mais rápidas e mais próximas do processador. Aumentar o clock do processador tende a aumentar a complexidade do processador, pois envolve novas técnicas de fabricação (devido as restrições citadas nos processadores single core) ou até o aumento no número de estágios do pipeline. Novas técnicas para melhorar o paralelismo de instrução esbarram no limite de tamanho dos blocos básicos dos programas e as memórias cache visam diminuir a diferença de velocidade entre processadores e memórias principais. O problema é que todas essas técnicas acabam esbarrando nos problemas de densidade de transistores no chip e na maior dissipação de calor.
Outra forma de paralelismo explorada é o paralelismo em nível de threads. Thread é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente. Na arquitetura single core, o processamento das threads não é feito simultaneamente, mas a troca entre uma thread e a outra é feita tão rápida que passa uma impressão de paralelismo ao usuário. Já na arquitetura multicore, as threads são realizadas realmente de forma simultânea. As arquiteturas atualmente capazes de explorar o paralelismo inter-thread são: as máquinas SMT (Simultaneous Multithreaded) e máquinas CMP (Chip Multiprocessor).
CMP é um multiprocessamento simétrico implementado em um único chip. Múltiplos núcleos de processador tipicamente compartilhando um segundo ou terceiro nível de cache comum e interconectado. O objetivo de um sistema CPM é permitir maior utilização de paralelismo a nível de Threads (TLP), especialmente para aplicações que façam pouco uso do paralelismo a nível de instrução.
A técnica chamada de “Simultaneous Multithreading” permitiu executar várias instruções de diversas tarefas em um ciclo de processador sem o chaveamento de contexto entre threads. Uma arquitetura SMT é capaz de atingir alto número de instruções por ciclo devido a três principais razões. Primeiro, porque o paralelismo existente em várias tarefas é intenso e pode ser muito maior caso não haja comunicação entre
...