A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Pipeline WebDesign Redes de Computadores Aula 07.

Apresentações semelhantes


Apresentação em tema: "INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Pipeline WebDesign Redes de Computadores Aula 07."— Transcrição da apresentação:

1 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Pipeline WebDesign Redes de Computadores Aula 07

2 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Pipeline Lavagem de roupa sem pipeline 1.Coloca uma carga de roupa suja na lavadora; 2.Quando a lavadora termina o seu trabalho, coloca a roupa molhada na secadora; 3.Quando a secadora termina o seu trabalho, dobra as roupas; 4.Pede a empregada pra guardar a roupa no armário;

3 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Pipeline Lavagem com pipeline 1.Tão logo termine de colocar a primeira carga de roupa na secadora, introduz a segunda carga de roupa na lavadora; 2.Quando a primeira carga de roupa estiver seca, coloque-a sobre a mesa, e ponha a roupa limpa molhada na secadora e, na lavadora, coloque a terceira carga de roupa suja... 3.Após 4 intervalos de tempo, todos os passos do processo de lavagem – chamados estágios do pipeline – estão operando de forma concorrente;

4 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Introdução Pipeline é uma técnica de projeto onde o hardware processa mais de uma instrução de cada vez, sem esperar que uma instrução termine antes de começar a próxima; Permite que os processadores rodem mais rapidamente. Sempre que tivermos recursos separados para executar cada passo (estágio) de uma tarefa, esta tarefa pode ser executada em pipeline.

5 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Pipeline O pipeline não diminui o tempo de execução de uma instrução, cada instrução continua necessitando da mesma quantidade de tempo para ser teminada; O pipeline aumenta o número de instruções executadas na unidade de tempo; O segredo do pipeline é que todos os recursos envolvidos operam em paralelo;

6 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Pipeline Numa máquina sem pipeline, os cinco estágios de uma instrução compreendem: 1.Busca da instrução na memória; 2.Leitura dos registradores enquanto a instrução é decodificada; 3.Execução de uma operação ou cálculo de um endereço; 4.Acesso a um operando na memória; 5.Escrita do resultado em um registrador Numa máquina com pipeline, os mesmos estágios existem, porém são executados em paralelo; –Quando um estágio termina, passa o resultado para o próximo e começa a trabalhar outra instrução;

7 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Pipeline Execução sem pipeline 10 unidades de tempo Tempo de execução de duas instruções = = 20 unidades de tempo

8 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Pipeline Execução com pipeline 10 unidades de tempo Tempo de execução de duas instruções = = 12 unidades de tempo

9 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Os conflitos do pipeline Existem situações no pipeline em que a instrução seguinte não pode ser executada no próximo ciclo de clock. Esses eventos chamam-se conflitos: –Conflitos estruturais; –Conflitos de controle; –Conflitos de dados;

10 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Conflitos estruturais Ocorrem quando o hardware não suporta a combinação de instruções que o pipeline deseja executar no mesmo ciclo; Analogia com a lavagem de roupa: –O conflito estrutural poderia ocorrer no caso da lavadora e secadora estarem integradas no mesmo dispositivo.

11 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Conflitos estruturais No caso do MIPS: –O conflito estrutural poderia ocorrer se tivéssemos apenas uma memória para armazenar dados e instruções. Conflito estrutural

12 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Conflitos de controle Ocorrem quando há a necessidade de se tomar uma decisão com base no resultado de uma instrução, enquanto outras estão sendo executadas. Analogia com a lavagem de roupa: –Suponha que queremos lavar uniformes de futebol. A quantidade de sabão necessária para limpar efetivamente os uniformes dependo do estado de sujeira dos mesmos. –Devemos esperar pelo segundo estágio para examinar os uniformes secos e verificar se precisamos ou não os alterar a quantidade de sabão.

13 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Soluções para o conflito de controle Analogia com a lavagem de roupa: Solução 1: Parada -Espere até que a primeira carga de roupas esteja seca e repita a operação de lavagem até encontrar a quantidade de sabão adequada. Esta solução funciona, porém é muito lenta.

14 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Conflito de controle No caso do MIPS: –Este conflito ocorre nas execução de instruções de desvio condicional (beq ou bne); –Se o computador tiver que parar quando da execução de um desvio condicional, ele deve interromper a progressão das instruções pelo pipeline;

15 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Soluções para o conflito de controle No caso do MIPS: –Quando estamos executando uma instrução de desvio condicional, não sabemos qual é a próxima instrução a ser executada. –Pode ser a instrução seguinte ou podemos desviar para o label. –Nesse caso, como ficaria o pipeline? Suponha que tenhamos condições de comparar os registradores, calcular o endereço de desvio e atualizar o PC, durante o segundo estágio do pipeline (estágio de decodificação).

16 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Soluções para o conflito de controle Parada ou bolha: Parada (bolha) de 1 ciclo Como não sabemos qual a próxima instrução a ser executada, devemos esperar um ciclo ( bolha de 1 ciclo)

17 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Soluções para o conflito de controle Analogia com a lavagem de roupa : Solução 2: Predição -Faça a previsão de que a quantidade de sabão está adequada e lave a segunda carga de roupas enquanto espera que a primeira carga seque. -Esta solução não retarda o pipeline se você estiver certo na sua previsão. Mas se você estiver errado, haverá a necessidade de lavar novamente a carga de roupas.

18 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Soluções para o conflito de controle No caso do MIPS: -Em geral, os processadores adotam a predição para tratar os desvios condicionais. -Um esquema simples é sempre predizer que os desvios vão falhar. -Quando a previsão estiver correta, o pipeline seguirá na velocidade máxima, caso contrário, haverá a necessidade de se atrasar o avanço das instruções por meio do pipeline.

19 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Soluções para o conflito de controle Pipeline quando o desvio não é realizado

20 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Soluções para o conflito de controle Pipeline quando o desvio é realizado Atraso devido ao erro na predição $s1 = $s2

21 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Conflitos de dados Ocorre quando a execução de uma instrução depende do resultado de outra que ainda está no pipeline. Analogia com a lavagem de roupa: –Suponha que estejamos dobrando uma carga de roupas composta quase inteiramente por meias. Neste caso pode acontecer de um pé de meia estar em uma carga de roupa e o seu par correspondente pertencer à segunda carga. –Nesta situação, não podemos guardar as meias no armário até que os pares estejam casados.

22 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Conflito de controle No caso do MIPS: –Suponhamos que temos que executar as seguintes instruções: –Neste caso, o conflito de dados vai fazer com que o progresso das instruções por meio do pipeline seja interrompido. É necessária a inserção de bolhas no pipeline. add $s0, $t0, $t1 sub $t2,$s0,$t3

23 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Conflito de dados O pipeline parou por 3 ciclos O novo valor de $s0 só será atualizado aqui!

24 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Solução para o conflito de dados A solução para o conflito de dados vem do fato de não ser preciso esperar o término da instrução para resolver o conflito No exemplo anterior, tão logo a ULA termine de executar a soma, podemos utilizar esse valor para que seja usado como um dos dados da subtração. Esta solução chama-se adiantamento ou bypass

25 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Conflito de dados Implementação do bypass para resolver o conflito de dados

26 INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Exercício de fixação 1- Represente o diagrama do pipeline para os seguintes conjuntos de instruções. Resolva os problemas de conflito utilizando a técnica de parada (bolhas), ou seja, atrasando o início das instruções problemáticas. a)sub $s2, $s1, $s3b) add $s2, $s3, $s4 and $s4, $s2, $s5 add $s4, $s5, $s6 or $t0, $t1, $s2 add $s5, $s3, $s4 2- Identifique as dependências de dados existentes e resolva os conflitos utilizando o adiantamento. add $s2, $s5, $s4 add $s4, $s2, $s5 add $s3, $s2, $s4


Carregar ppt "INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Pipeline WebDesign Redes de Computadores Aula 07."

Apresentações semelhantes


Anúncios Google