ARQUITETURA DE
COMPUTADORES
OBJETIVO DA AULA
Entender o significado de pipelining. Entender o princípio de
PIPELINIG OU PARALELISMO
É verdade sabida há anos que as memórias são um gargalo para o processador.
A ideia do pipeline surgiu com o IBM Strech em 1959. Era um PC que tinha a capacidade de buscar instruções antecipadamente de maneira que elas estivessem disponíveis quando necessário.
A busca da próxima instrução presupõe a execução da instrução em apenas duas etapas, busca e execução.
PIPELINIG OU PARALELISMO
Em vez de dividir a instrução em
apenas duas partes, esta técnica divide a instrução em muitas partes (uma dúzia ou mais).
Cada uma destas partes é executada
por hardware dedicado e podem ser executadas em paralelo.
PIPELINIG OU PARALELISMO
Permite que um processador
sobreponha a execução de diversas instruções de modo que mais instruções possam ser executadas no mesmo período de tempo, melhorando o desempenho de processadores.
PIPELINIG OU PARALELISMO
Um pipelining de instruções é
semelhante a uma linha de montagem de uma indústria.
Exemplo da lavanderia sem pipeline
(lavar, secar e dobrar).
A quantidade de roupas limpas
representa o throughput do processador.
PIPELINIG
S1 – O estágio está trabalhando na instrução 1,
buscando-a na memória e a coloca no buffer até que seja necessária.
S2 – Decodifica a instrução, determinando seus
operandos.
S3 – Localiza e busca os operandos, seja na
memória seja nos registradores.
S4 – Realiza o trabalho de execução da instrução. S5 – Escreve o resultado no registrador
PIPELINIG
O tempo total para a execução de
uma operação em pipeline é, em geral, ligeiramente maior que o
tempo para executar a mesma operação monoliticamente (sem pipeline).
PIPELINIG
Overheads decorrentes da
transferência dos dados entre os estágios;
MÉTODOS DE PIPELINE Método assíncrono Método síncrono
MÉTODOS SÍNCRONO
No método assíncrono, os estágios do
pipeline comunicam-se através de sinais de handshaking, indicando a disponibilidade de dados do estágio corrente para o próximo estágio (RDY), indicando a liberação do estágio corrente para o estágio anterior (ACK).
MÉTODOS SÍNCRONO
os estágios do pipeline são
interconectados por latches (registradores cujo objetivo é armazenar dados) que armazenam os dados intermediários durante a transferência entre estágios, que é controlada por um sinal de relógio.
MÉTODOS SÍNCRONO X ASSÍNCRONO
O método assíncrono é o que permite
maior velocidade de operação do pipeline. Entretanto, o método síncrono é o mais adotado devido à sua simplicidade de projeto e operação.
ARQUITETURAS SUPERESCALARES
Dois ou mais pipelines são
executados paralelamente em um mesmo intervalo de tempo.
Para que isso ocorra duas coisas
devem ser garantidas:
Não pode haver conflito na utilização
dos recursos
Nenhuma delas deve depender do
ARQUITETURAS SUPERESCALARES
Quem garantirá as condições
mencionadas no slide anterior?
O compilador
PARALELISMO AO NÍVEL DE PROCESSADOR
Paralelismo ao nível de instrução ajudam um
pouco, mas raramente ultrapassam um fator cinco ou dez.
Para alcançar velocidades superiores, se faz
PARALELISMO AO NÍVEL DE PROCESSADOR
ARQUITETURAS SIMD
Computadores SIMD (Single Instruction
Multiple Data) são utilizados para a resolução de problemas computacionalmente intensivos da área científica e de engenharia, em que existem estruturas de dados regulares como vetores e matrizes.
As duas principais formas de máquinas
SIMD são os processadores matriciais e vetoriais.
Arquitetura utilizada principalmente em
Aerodinâmica, Física nuclear, Química molecular, Sismologia, Meteorologia.
PROCESSADOR VETORIAL
PROCESSADOR MATRICIAL
Consiste em um grande número de processadores
idênticos que efetuam a mesma sequência de instruções em diferentes dados.
O projeto inicial consistia em uma grade 8x8 dos
elementos processador/memória.
Processamento executado por todos os
processadores.
Arquitetura claramente distinta da
máquina-padrão Von Neumann.
Devido ao custo excessivo(4 vezes o previsto),
apenas 1 quadrante foi construído, alcançando 50 megaflops.
Seu objetivo era alcançar 1 gigaflop, isso
duplicaria a capacidade de computação do mundo inteiro.