SlideShare uma empresa Scribd logo
1 de 15
HAZARDS
DE
PIPELINE
Engenharia de Computação
Universidade Estadual de Ponta Grossa – Paraná
Arquitetura e Organização de Computadores
Professor: Dr. Marcos Monteiro
Neoli G. da Silva – Caio Campos – Lucas Martins
PIPELINIG
Técnica de implementação em que
várias instruções são sobrepostas na
execução. A técnica é praticamente
universal hoje.
Pipeline: Oleoduto. A ideia é de envio de
instruções a seu destino como se elas estivessem
sendo canalizadas por vários tubulações lado a
lado. Então são tratadas nesse destino um pouco
de cada uma, passando a impressão de que o
computador está tratando de tudo ao mesmo
tempo. Isso ocorre porque tudo se dá em
frações muito pequenas de segundos, que a
percepção humana não consegue acompanhar.
PIPELINE
Por exemplo, se você está lendo um PDF, assistindo um vídeo e instalando um
programa, tudo ao mesmo tempo. O computador executa uma pequena parte de
cada tarefa por vez. No entanto, esse processo ocorre tão rápido que nossos sentidos,
como visão e audição, não conseguem perceber. Temos a impressão de que tudo está
sendo processado no mesmo instante.
PIPELINE
ESTÁGIOS EM
PIPELINE
Lavar – Secar – Passar - guardar
- Colocar a trouxa
de roupa suja na
secadora;
- Assim que a
lavadora terminar
com a primeira, coloque-a na secadora e
coloque a segunda trouxa na máquina.
- Quando a primeira trouxa estiver seca,
coloque-a para passar e coloque a segunda
na secadora e a terceira na máquina de
lavar.
E assim por diante, até que cada processo
esteja terminado...
...
SemPipeline
Lavar
SemPipeline
Secar
SemPipeline
Passar
SemPipeline
Guardar
SemPipeline
Lavar
SemPipeline
Secar
SemPipeline
Passar
SemPipeline
Guardar
SEM PIPELINE
COM PIPELINE
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
Há situações em Pipeline
que a próxima instrução
não pode ser executada
no ciclo de clock
seguinte. Esses eventos
são chamados HAZARDs.
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
Há três tipos de Hazards.
O hardware não pode
admitir a combinação de
instruções que queremos
executar no mesmo ciclo
de clock.
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
1- Hazards Estruturais.
Combinação de lavar-secar
ao invés de instruções
separadas.
Pessoa responsável por
guardar as roupas está
ocupada demais e não pode
executar a tarefa.
2.147.483.647
X
2.147.483.647
1- Hazards Estruturais.
Consideremos, por exemplo, o maior inteiro
possível de ser representado em um
computador. Agora façamos a seguinte
combinação: vamos multiplicá-lo por ele
mesmo. Então tentemos representa-lo no
computador sem o devido tratamento, como
visto em Cálculo Numérico. Essa combinação
está além do que o hardware consegue
representar. Isso causará um Hazard Estrutural.
Quando o Pipeline
precisa ser interrompido
porque uma etapa
precisa esperar até que
outra seja concluída,
dados ainda
indisponíveis.
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
2- Hazards de dados.
Só encontrou 1 pé de
meia do par! Cadê o
outro? Vamos parar
tudo e procurar!
Assembly do MIPS:
add $s0, $t0, $t1
sub $t2, $s0, $t3
2- Hazards de dados.
Como exemplo, vejamos o código em
Assembly do MIPS à esquerda.
Temos uma adição e então uma subtração
que depende do resultado da adição.
Assim que a ALU crie a soma para a
instrução add, podemos fornecer o resultado à
instrução subtract. Teremos resolvido o Hazard.
IF ID EX MEM WB
IF ID EX MEM WBsub $t2, $s0, $t3
add $s0, $t0, $t1
Assembly do MIPS:
add $s0, $t0, $t1
sub $t2, $s0, $t3
2- Hazards de dados.
IF: Estágio de busca de instrução, na caixa de
memória de instrução;
ID: Estágio de leitura e decodificação de
instrução/banco de registradores na caixa
mostrando o banco de registradores sendo
lido.
EXE: Estágio de execução com o desenho
representando a ALU.
MEM: Estágio de acesso à memória.
WB: Estágio Write-Black, com o desenho
mostrando o banco de registradores sendo
escrito.
IF ID EX MEM WB
IF ID EX MEM WBsub $t2, $s0, $t3
add $s0, $t0, $t1
Necessidade de tomar
uma decisão com base
nos resultados de uma
instrução enquanto
outras estão sendo
executadas.
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
ComPipeline
Lavar
ComPipeline
Secar
ComPipeline
Passar
ComPipeline
Guardar
3- Hazards de controle.
Vamos secar e passar muito
bem o uniforme do melhor
time do mundo enquanto a
lavanderia prossegue seus
afazeres!
BIBLIOGRAFIA
Livro recomendado:
Organização e Projeto de Computadores –
A Interface Hardware Software.
Autores: David A. Patterson e John L.
Hennessy. Editora Campus.

Mais conteúdo relacionado

Mais procurados

Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueKuliahKita
 
Rekayasa Perangkat Lunak
Rekayasa Perangkat LunakRekayasa Perangkat Lunak
Rekayasa Perangkat LunakYudi Purwanto
 
Interaksi Manusia Dan Komputer 10
Interaksi Manusia Dan Komputer 10Interaksi Manusia Dan Komputer 10
Interaksi Manusia Dan Komputer 10Hide Maru
 
Memori virtual
Memori virtualMemori virtual
Memori virtualzainalarif
 
Modul Sistem Operasi Semaphore
Modul Sistem Operasi SemaphoreModul Sistem Operasi Semaphore
Modul Sistem Operasi SemaphoreDEDE IRYAWAN
 
Tipe manajemen memori pada sistem operasi
Tipe manajemen memori pada sistem operasi Tipe manajemen memori pada sistem operasi
Tipe manajemen memori pada sistem operasi Shary Armonitha
 
110687483 contoh-proyek-ti
110687483 contoh-proyek-ti110687483 contoh-proyek-ti
110687483 contoh-proyek-tiros dania
 
Makalah Sistem Operasi
Makalah Sistem OperasiMakalah Sistem Operasi
Makalah Sistem Operasidedisutrisno
 
Kelompok 3 (keamanaan sistem terdistribusi)
Kelompok 3 (keamanaan sistem terdistribusi)Kelompok 3 (keamanaan sistem terdistribusi)
Kelompok 3 (keamanaan sistem terdistribusi)AFirza
 

Mais procurados (20)

Algoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - QueueAlgoritma dan Struktur Data - Queue
Algoritma dan Struktur Data - Queue
 
Pengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniterPengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniter
 
Rekayasa Perangkat Lunak
Rekayasa Perangkat LunakRekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
 
Interaksi Manusia Dan Komputer 10
Interaksi Manusia Dan Komputer 10Interaksi Manusia Dan Komputer 10
Interaksi Manusia Dan Komputer 10
 
Memori virtual
Memori virtualMemori virtual
Memori virtual
 
Manajemen file
Manajemen fileManajemen file
Manajemen file
 
Cloud Storage System
Cloud Storage SystemCloud Storage System
Cloud Storage System
 
Modul Sistem Operasi Semaphore
Modul Sistem Operasi SemaphoreModul Sistem Operasi Semaphore
Modul Sistem Operasi Semaphore
 
Tipe manajemen memori pada sistem operasi
Tipe manajemen memori pada sistem operasi Tipe manajemen memori pada sistem operasi
Tipe manajemen memori pada sistem operasi
 
Sejarah etika komputer
Sejarah etika komputerSejarah etika komputer
Sejarah etika komputer
 
110687483 contoh-proyek-ti
110687483 contoh-proyek-ti110687483 contoh-proyek-ti
110687483 contoh-proyek-ti
 
Makalah PTI (cloud computing)
Makalah PTI (cloud computing)Makalah PTI (cloud computing)
Makalah PTI (cloud computing)
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Komponen jaringan komputer
Komponen jaringan komputerKomponen jaringan komputer
Komponen jaringan komputer
 
7 pengembangan sistem
7 pengembangan sistem7 pengembangan sistem
7 pengembangan sistem
 
Cloud storage
Cloud storageCloud storage
Cloud storage
 
Makalah Sistem Operasi
Makalah Sistem OperasiMakalah Sistem Operasi
Makalah Sistem Operasi
 
Kelompok 3 (keamanaan sistem terdistribusi)
Kelompok 3 (keamanaan sistem terdistribusi)Kelompok 3 (keamanaan sistem terdistribusi)
Kelompok 3 (keamanaan sistem terdistribusi)
 
1. GRID COMPUTING
1. GRID COMPUTING1. GRID COMPUTING
1. GRID COMPUTING
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 

Destaque

Ct213 processor design_pipelinehazard
Ct213 processor design_pipelinehazardCt213 processor design_pipelinehazard
Ct213 processor design_pipelinehazardrakeshrakesh2020
 
Pipelinig hazardous
Pipelinig hazardousPipelinig hazardous
Pipelinig hazardousjasscheema
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipeliningTech_MX
 
Concept of Pipelining
Concept of PipeliningConcept of Pipelining
Concept of PipeliningSHAKOOR AB
 
Pipeline and data hazard
Pipeline and data hazardPipeline and data hazard
Pipeline and data hazardWaed Shagareen
 
Pipeline hazard
Pipeline hazardPipeline hazard
Pipeline hazardAJAL A J
 
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Pipelining
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- PipeliningLec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Pipelining
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- PipeliningHsien-Hsin Sean Lee, Ph.D.
 

Destaque (10)

Ct213 processor design_pipelinehazard
Ct213 processor design_pipelinehazardCt213 processor design_pipelinehazard
Ct213 processor design_pipelinehazard
 
Pipelinig hazardous
Pipelinig hazardousPipelinig hazardous
Pipelinig hazardous
 
Instruction pipelining
Instruction pipeliningInstruction pipelining
Instruction pipelining
 
Assembly p1
Assembly p1Assembly p1
Assembly p1
 
Concept of Pipelining
Concept of PipeliningConcept of Pipelining
Concept of Pipelining
 
Pipeline and data hazard
Pipeline and data hazardPipeline and data hazard
Pipeline and data hazard
 
Pipeline
PipelinePipeline
Pipeline
 
Pipeline hazard
Pipeline hazardPipeline hazard
Pipeline hazard
 
pipelining
pipeliningpipelining
pipelining
 
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Pipelining
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- PipeliningLec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Pipelining
Lec1 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Pipelining
 

Semelhante a Hazards de Pipeline - Conceitos

Curso de Informática para Concurso PC-PR
Curso de Informática para Concurso PC-PRCurso de Informática para Concurso PC-PR
Curso de Informática para Concurso PC-PREstratégia Concursos
 
Letramento digital - 1º Bimestre
Letramento digital - 1º BimestreLetramento digital - 1º Bimestre
Letramento digital - 1º Bimestredicasdubr
 
curso-228532-aula-10-20e2-completo 1..pdf
curso-228532-aula-10-20e2-completo  1..pdfcurso-228532-aula-10-20e2-completo  1..pdf
curso-228532-aula-10-20e2-completo 1..pdfkassiocarlos
 
curso-128710-aula-02-v1.pdf
curso-128710-aula-02-v1.pdfcurso-128710-aula-02-v1.pdf
curso-128710-aula-02-v1.pdfRamoSantos2
 
Monitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaMonitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaPietro Scherer
 
Automatizando a entrega/deploy de software
Automatizando a entrega/deploy de softwareAutomatizando a entrega/deploy de software
Automatizando a entrega/deploy de softwareStéfano H. dos Santos
 
Microserviços na vida real
Microserviços na vida realMicroserviços na vida real
Microserviços na vida realCriciúma Dev
 
Comunicação e Tutoria
Comunicação e TutoriaComunicação e Tutoria
Comunicação e TutoriaPaula Peres
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terÁtilla Silva Barros
 
Aula 1 - Programação 1
Aula 1 - Programação 1Aula 1 - Programação 1
Aula 1 - Programação 1Isaac Barros
 
1aulalinuxatual 2012-120502153018-phpapp01
1aulalinuxatual 2012-120502153018-phpapp011aulalinuxatual 2012-120502153018-phpapp01
1aulalinuxatual 2012-120502153018-phpapp01Fernanda Firmino
 
curso-219506-aula-03-2d66-completo.pdf
curso-219506-aula-03-2d66-completo.pdfcurso-219506-aula-03-2d66-completo.pdf
curso-219506-aula-03-2d66-completo.pdfJuniorMadruga2
 
Augusto de Franco | OIS 2012 | O desafio das redes de inovação
Augusto de Franco | OIS 2012 | O desafio das redes de inovaçãoAugusto de Franco | OIS 2012 | O desafio das redes de inovação
Augusto de Franco | OIS 2012 | O desafio das redes de inovaçãoAllagi Open Innovation Services
 

Semelhante a Hazards de Pipeline - Conceitos (20)

Curso de Informática para Concurso PC-PR
Curso de Informática para Concurso PC-PRCurso de Informática para Concurso PC-PR
Curso de Informática para Concurso PC-PR
 
Letramento digital - 1º Bimestre
Letramento digital - 1º BimestreLetramento digital - 1º Bimestre
Letramento digital - 1º Bimestre
 
curso-228532-aula-10-20e2-completo 1..pdf
curso-228532-aula-10-20e2-completo  1..pdfcurso-228532-aula-10-20e2-completo  1..pdf
curso-228532-aula-10-20e2-completo 1..pdf
 
curso-128710-aula-02-v1.pdf
curso-128710-aula-02-v1.pdfcurso-128710-aula-02-v1.pdf
curso-128710-aula-02-v1.pdf
 
Revista programar 30
Revista programar 30Revista programar 30
Revista programar 30
 
Monitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - MonografiaMonitoramento de Redes TCP/IP - Monografia
Monitoramento de Redes TCP/IP - Monografia
 
Guardando dados na nuvem
Guardando dados na nuvemGuardando dados na nuvem
Guardando dados na nuvem
 
Automatizando a entrega/deploy de software
Automatizando a entrega/deploy de softwareAutomatizando a entrega/deploy de software
Automatizando a entrega/deploy de software
 
Palestra e business
Palestra e businessPalestra e business
Palestra e business
 
Microserviços na vida real
Microserviços na vida realMicroserviços na vida real
Microserviços na vida real
 
Comunicação e Tutoria
Comunicação e TutoriaComunicação e Tutoria
Comunicação e Tutoria
 
O mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria terO mínimo de Integração Contínua que todo projeto deveria ter
O mínimo de Integração Contínua que todo projeto deveria ter
 
Aula 1 - Programação 1
Aula 1 - Programação 1Aula 1 - Programação 1
Aula 1 - Programação 1
 
Raspberry Pi: o hardware para Python
Raspberry Pi: o hardware para PythonRaspberry Pi: o hardware para Python
Raspberry Pi: o hardware para Python
 
Aula 0
Aula 0Aula 0
Aula 0
 
1aulalinuxatual 2012-120502153018-phpapp01
1aulalinuxatual 2012-120502153018-phpapp011aulalinuxatual 2012-120502153018-phpapp01
1aulalinuxatual 2012-120502153018-phpapp01
 
Dr2 final
Dr2 finalDr2 final
Dr2 final
 
Aula 1 e 2
Aula 1 e 2Aula 1 e 2
Aula 1 e 2
 
curso-219506-aula-03-2d66-completo.pdf
curso-219506-aula-03-2d66-completo.pdfcurso-219506-aula-03-2d66-completo.pdf
curso-219506-aula-03-2d66-completo.pdf
 
Augusto de Franco | OIS 2012 | O desafio das redes de inovação
Augusto de Franco | OIS 2012 | O desafio das redes de inovaçãoAugusto de Franco | OIS 2012 | O desafio das redes de inovação
Augusto de Franco | OIS 2012 | O desafio das redes de inovação
 

Último

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 

Último (6)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

Hazards de Pipeline - Conceitos

  • 1. HAZARDS DE PIPELINE Engenharia de Computação Universidade Estadual de Ponta Grossa – Paraná Arquitetura e Organização de Computadores Professor: Dr. Marcos Monteiro Neoli G. da Silva – Caio Campos – Lucas Martins
  • 2. PIPELINIG Técnica de implementação em que várias instruções são sobrepostas na execução. A técnica é praticamente universal hoje.
  • 3. Pipeline: Oleoduto. A ideia é de envio de instruções a seu destino como se elas estivessem sendo canalizadas por vários tubulações lado a lado. Então são tratadas nesse destino um pouco de cada uma, passando a impressão de que o computador está tratando de tudo ao mesmo tempo. Isso ocorre porque tudo se dá em frações muito pequenas de segundos, que a percepção humana não consegue acompanhar. PIPELINE
  • 4. Por exemplo, se você está lendo um PDF, assistindo um vídeo e instalando um programa, tudo ao mesmo tempo. O computador executa uma pequena parte de cada tarefa por vez. No entanto, esse processo ocorre tão rápido que nossos sentidos, como visão e audição, não conseguem perceber. Temos a impressão de que tudo está sendo processado no mesmo instante. PIPELINE
  • 5. ESTÁGIOS EM PIPELINE Lavar – Secar – Passar - guardar - Colocar a trouxa de roupa suja na secadora; - Assim que a lavadora terminar com a primeira, coloque-a na secadora e coloque a segunda trouxa na máquina. - Quando a primeira trouxa estiver seca, coloque-a para passar e coloque a segunda na secadora e a terceira na máquina de lavar. E assim por diante, até que cada processo esteja terminado... ...
  • 8. Há situações em Pipeline que a próxima instrução não pode ser executada no ciclo de clock seguinte. Esses eventos são chamados HAZARDs. ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar Há três tipos de Hazards.
  • 9. O hardware não pode admitir a combinação de instruções que queremos executar no mesmo ciclo de clock. ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar 1- Hazards Estruturais. Combinação de lavar-secar ao invés de instruções separadas. Pessoa responsável por guardar as roupas está ocupada demais e não pode executar a tarefa.
  • 10. 2.147.483.647 X 2.147.483.647 1- Hazards Estruturais. Consideremos, por exemplo, o maior inteiro possível de ser representado em um computador. Agora façamos a seguinte combinação: vamos multiplicá-lo por ele mesmo. Então tentemos representa-lo no computador sem o devido tratamento, como visto em Cálculo Numérico. Essa combinação está além do que o hardware consegue representar. Isso causará um Hazard Estrutural.
  • 11. Quando o Pipeline precisa ser interrompido porque uma etapa precisa esperar até que outra seja concluída, dados ainda indisponíveis. ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar 2- Hazards de dados. Só encontrou 1 pé de meia do par! Cadê o outro? Vamos parar tudo e procurar!
  • 12. Assembly do MIPS: add $s0, $t0, $t1 sub $t2, $s0, $t3 2- Hazards de dados. Como exemplo, vejamos o código em Assembly do MIPS à esquerda. Temos uma adição e então uma subtração que depende do resultado da adição. Assim que a ALU crie a soma para a instrução add, podemos fornecer o resultado à instrução subtract. Teremos resolvido o Hazard. IF ID EX MEM WB IF ID EX MEM WBsub $t2, $s0, $t3 add $s0, $t0, $t1
  • 13. Assembly do MIPS: add $s0, $t0, $t1 sub $t2, $s0, $t3 2- Hazards de dados. IF: Estágio de busca de instrução, na caixa de memória de instrução; ID: Estágio de leitura e decodificação de instrução/banco de registradores na caixa mostrando o banco de registradores sendo lido. EXE: Estágio de execução com o desenho representando a ALU. MEM: Estágio de acesso à memória. WB: Estágio Write-Black, com o desenho mostrando o banco de registradores sendo escrito. IF ID EX MEM WB IF ID EX MEM WBsub $t2, $s0, $t3 add $s0, $t0, $t1
  • 14. Necessidade de tomar uma decisão com base nos resultados de uma instrução enquanto outras estão sendo executadas. ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar ComPipeline Lavar ComPipeline Secar ComPipeline Passar ComPipeline Guardar 3- Hazards de controle. Vamos secar e passar muito bem o uniforme do melhor time do mundo enquanto a lavanderia prossegue seus afazeres!
  • 15. BIBLIOGRAFIA Livro recomendado: Organização e Projeto de Computadores – A Interface Hardware Software. Autores: David A. Patterson e John L. Hennessy. Editora Campus.