Paralelismo E Registradores
Artigos Científicos: Paralelismo E Registradores. Pesquise 862.000+ trabalhos acadêmicosPor: rocbass • 7/8/2014 • 922 Palavras (4 Páginas) • 1.020 Visualizações
Através da arquitetura RISC, estudada na aula anterior, pudemos verificar que
técnicas de pipeline foram desenvolvidas para aumentar a eficiência dos
processamentos. Após isso, tornou-se necessário implementar mais unidades de
execução simultâneas, por meio do paralelismo.
Para um processador executar determinada sequência de instruções de forma
mais rápida, podemos tentar diversas abordagens. Enquanto algumas delas estão
relacionadas à implementação física do processador, outras focam nas melhorias
das arquiteturas como, por exemplo, adicionando o uso de paralelismo em nível de
instrução. O termo “paralelismo” significa que uma arquitetura executa diversas
instruções simultaneamente. Processadores deste tipo executam instruções
paralelamente e de forma clara para o programador.
O paralelismo em nível de instrução, ou ILP (sigla em inglês para Instruction
Level Parallelism), surgiu da necessidade em sobrepor execução de instruções e
melhorar o desempenho dos processadores. Isso porque, para se ter um alto
desempenho, precisamos usar hardwares mais rápidos, mas principalmente,
melhorar a arquitetura dos computadores e suas técnicas de processamento. O
paralelismo, como o próprio nome sugere, executa instruções em paralelo.
Computadores paralelos são sistemas que suportam processamento paralelo.
Podem ser divididos em três configurações arquiteturais (HENNESSY et al, 1998).:
Pipeline, que realiza computações superpostas, a fim de explorar o
paralelismo.
Arranjo de processadores, que utiliza múltiplas unidades lógicas e
aritméticas síncronas, para obter paralelismo espacial.
Multiprocessadores, que implementam paralelismo assíncrono através de
um conjunto de processadores interativos com compartilhamento de recursos.
O paralelismo de máquina é determinado pelo número de instruções que
podem ser buscadas e executadas ao mesmo tempo (número
de pipelines paralelas) e pela velocidade e eficácia dos mecanismos usados pelo
processador para identificar instruções independentes. O paralelismo pode ser de 2 © DIREITOS RESERVADOS
Proibida a reprodução total ou parcial desta publicação sem o prévio consentimento, por escrito, da Anhanguera Educacional.
tipos: no nível de instrução (pipeline) ou no nível de processador
(multiprocessadores). (HENNESSY & PATTERSON, 2009).
O paralelismo tem sido uma das formas mais utilizadas na busca de maior
velocidade nos computadores e pode ser introduzido em diferentes níveis, do mais
baixo até o mais alto. O paralelismo, no qual uma instrução ou uma sequência de
instruções emite múltiplas operações que podem ser executadas em paralelo por
diferentes unidades funcionais, pode ser definido como de nível baixo e fortemente
acoplado. Uma técnica muito usada para paralelismo em nível de instrução é o
pipeline, que basicamente divide as instruções em etapas e tem por objetivo tornar o
computador mais rápido.
O modo mais simples e comum de aumentar a quantidade de paralelismo
disponível entre instruções é o paralelismo entre interações de um loop, chamado de
paralelismo de nível de loop. Podemos explorar o paralelismo durante a execução
ou durante a compilação ou ainda por instruções vetoriais.
Há ainda três tipos de dependências entre instruções:
Dependência de dados: basicamente se fundamenta no fluxo de dados
entre instruções;
Dependência de nomes: acontece quando duas instruções usam o
mesmo registrador ou mesma posição na memória (que chamamos de
nome), embora não haja transferência de dados entre as instruções
relacionadas a este nome.
Dependência de controle: que determina a ordenação de certa instrução
em relação ao seu controle, de forma que garanta que esta instrução seja
executada corretamente, fazendo assim que toda instrução seja
dependente do controle de desvio.
No escalonamento dinâmico, como o próprio nome sugere, de forma dinâmica
...