1 / 89

Melhorando o desempenho da CPU

Melhorando o desempenho da CPU. Roteiro da Aula. Melhorando desempenho Mais recursos Lavanderia Técnica de Pipeline Comparando desempenho Entendendo o funcionamento do pipeline Resolvendo conflitos no pipeline Conflito dado Conflito controle Resolvendo situações de exceção Resumo.

craig
Download Presentation

Melhorando o desempenho da CPU

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Infra-estrutura de Hardware

  2. Melhorando o desempenho da CPU Infra-estrutura de Hardware

  3. Roteiro da Aula • Melhorando desempenho • Mais recursos • Lavanderia • Técnica de Pipeline • Comparando desempenho • Entendendo o funcionamento do pipeline • Resolvendo conflitos no pipeline • Conflito dado • Conflito controle • Resolvendo situações de exceção • Resumo Infra-estrutura de Hardware

  4. Como um documento é processado? 1- Busca documento 2 - Identifica tipo de transação 3 - Verifica se saldo é positivo 4 - Efetiva transação e atualiza saldo Infra-estrutura de Hardware

  5. Ciclo de Instrução Busca instrução Incrementa PC Decodifica instrução Busca operando Executa instrução Armazena resultado Infra-estrutura de Hardware

  6. O hardware está sendo bem utilizado? • Numa implementação serial de instruções partes do hardware ficam ociosas durante a execução de uma instrução • Se várias instruções fossem processadas ao mesmo tempo com cada parte do hardware atuando numa instrução distinta teríamos melhor utilização do hardware. • Pipeline Infra-estrutura de Hardware

  7. Melhorando a eficiência Busca documento Identifica tipo de transação Verifica se saldo é positivo Efetiva transa- ção e atualiza saldo Infra-estrutura de Hardware

  8. Outro Exemplo • Exemplo: Lavanderia • Lavagem: 30 min • Secagem: 30 min • Passar a ferro: 30 min • guardar : 30 min Infra-estrutura de Hardware

  9. 1 6 P M 7 8 9 1 0 1 1 1 2 2 A M T i m e T a s k o r d e r A B C D Lavanderia • Lavagem sequencial • Duração: 8 horas Infra-estrutura de Hardware

  10. 1 6 P M 7 8 9 1 0 1 1 1 2 2 A M T i m e T a s k o r d e r A B C D Lavanderia • Lavagem em pipeline • Duração: 3.5 horas Infra-estrutura de Hardware

  11. 6 P M 7 8 9 1 0 T i m e T a s k o r d e r A B C D Lavanderia pipeline • Pipelining não diminui o tempo de execução de uma tarefa, ele melhora a taxa de execução de um conjunto de tarefas • Tarefas múltiplas simultâneas usando diferentes recursos • Aumento no desempenho= Número de estágios • Taxa é limitada pelo estágio mais lento • Tempo para “encher” e “esvaziar” o pipeline reduz o desempenho • Espera quando houver dependências Infra-estrutura de Hardware

  12. Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Load Ifetch Reg/Dec Exec Mem Wr Os 5 estágios de uma instrução LOAD • Ifetch: Busca de instrução da memória de instrução • Reg/Dec: Carregamento de registradores e decodificação da instrução • Exec: Cálculo do endereço de memória • Mem: Leitura da memória de dados • Wr: Escrita no banco de registradores Infra-estrutura de Hardware

  13. P r o g r a m 2 4 6 8 1 0 1 2 1 4 1 6 1 8 e x e c u t i o n T i m e o r d e r ( i n i n s t r u c t i o n s ) I n s t r u c t i o n D a t a l w $ 1 , 1 0 0 ( $ 0 ) R e g A L U R e g f e t c h a c c e s s I n s t r u c t i o n D a t a l w $ 2 , 2 0 0 ( $ 0 ) R e g A L U R e g 8 n s f e t c h a c c e s s I n s t r u c t i o n l w $ 3 , 3 0 0 ( $ 0 ) 8 n s f e t c h . . . 8 n s 1 4 2 4 6 8 1 0 1 2 T i m e I n s t r u c t i o n D a t a l w $ 1 , 1 0 0 ( $ 0 ) R e g A L U R e g f e t c h a c c e s s I n s t r u c t i o n D a t a l w $ 2 , 2 0 0 ( $ 0 ) 2 n s R e g A L U R e g f e t c h a c c e s s l w $ 3 , 3 0 0 ( $ 0 ) Pipeline vs. Mono-ciclo P r o g r a m e x e c u t i o n o r d e r ( i n i n s t r u c t i o n s ) I n s t r u c t i o n D a t a R e g A L U R e g 2 n s f e t c h a c c e s s Infra-estrutura de Hardware 2 n s 2 n s 2 n s 2 n s 2 n s

  14. Clk Single Cycle Implementation: Load Store Waste Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Cycle 8 Cycle 9 Cycle 10 Clk Multiple Cycle Implementation: Load Store R-type Ifetch Reg Exec Mem Wr Ifetch Reg Exec Mem Ifetch Pipeline Implementation: Load Ifetch Reg Exec Mem Wr Store Ifetch Reg Exec Mem Wr R-type Ifetch Reg Exec Mem Wr Mono, multi-ciclo e Pipeline Cycle 1 Cycle 2 Infra-estrutura de Hardware

  15. I F : I n s t r u c t i o n f e t c h I D : I n s t r u c t i o n d e c o d e / E X : E r e g i s t e r f i l e r e a d 0 M u x 1 A d d A d d 4 A d d r e s u l t S h i f t l e f t 2 R e a d r e g i s t e r 1 A d d r e s s P C R e a d d a t a 1 R e a d Z e r o r e g i s t e r 2 I n s t r u c t i o n R e g i s t e r s A L U R e a d A L U 0 R e a d W r i t e d a t a 2 r e s u l t A d d r e s s 1 d a t a r e g i s t e r M I n s t r u c t i o n M u D a t a u m e m o r y W r i t e x m e m o r y x d a t a 1 0 W r i t e d a t a 1 6 3 2 S i g n e x t e n d Implementando o pipeline x e c u t e / M E M : M e m o r y a c c e s s W B : W r i t e b a c k a d d r e s s c a l c u l a t i o n Infra-estrutura de Hardware

  16. Registradores do Pipeline 0 M u x 1 I F / I D E X / M E M M E M / W B A d d A d d 4 A d d r e s u l t S h i f t l e f t 2 n o i t A d d r e s s P C c u r t s n I I n s t r u c t i o n m e m o r y 0 0 W r i t e 3 2 Implementando o pipeline I D / E X R e a d r e g i s t e r 1 R e a d d a t a 1 R e a d Z e r o r e g i s t e r 2 R e g i s t e r s A L U R e a d A L U R e a d W r i t e A d d r e s s d a t a 2 1 r e s u l t d a t a r e g i s t e r M M u D a t a u W r i t e x m e m o r y x d a t a 1 d a t a 1 6 S i g n e x t e n d Infra-estrutura de Hardware

  17. l w I n s t r u c t i o n f e t c h 0 M u x 1 I F / I D I D / E X E X / M E M M E M / W B A d d A d d 4 A d d r e s u l t S h i f t l e f t 2 R e a d n o i r e g i s t e r 1 t A d d r e s s P C R e a d c u d a t a 1 r t R e a d s Z e r o n r e g i s t e r 2 I I n s t r u c t i o n R e g i s t e r s A L U R e a d A L U m e m o r y 0 R e a d W r i t e A d d r e s s d a t a 2 r e s u l t 1 d a t a r e g i s t e r M M u D a t a u W r i t e x m e m o r y x d a t a 1 0 W r i t e d a t a 1 6 3 2 S i g n e x t e n d Operação de um pipeline: lw (1) 80000008 80000004 8D28 04B0 Infra-estrutura de Hardware

  18. l w 0 I n s t r u c t i o n d e c o d e M u x 1 I F / I D I D / E X E X / M E M M E M / W B A d d A d d 4 A d d r e s u l t S h i f t l e f t 2 R e a d n o i r e g i s t e r 1 t A d d r e s s P C R e a d c u d a t a 1 r t R e a d s Z e r o n r e g i s t e r 2 I I n s t r u c t i o n R e g i s t e r s A L U R e a d A L U m e m o r y 0 R e a d W r i t e A d d r e s s d a t a 2 r e s u l t 1 d a t a r e g i s t e r M M u D a t a u W r i t e x m e m o r y x d a t a 1 0 W r i t e d a t a 1 6 3 2 S i g n e x t e n d Operação de um pipeline : lw (2) 80000008 80000008 9 8 80000004 00000002 80000004 8D28 04B0 00000008 Infra-estrutura de Hardware

  19. Operação de um pipeline : lw (3) 80000008 80000004 8000000C 00000008 Infra-estrutura de Hardware

  20. l w 0 M e m o r y M u x 1 I F / I D I D / E X E X / M E M M E M / W B A d d A d d 4 A d d r e s u l t S h i f t l e f t 2 n R e a d o i r e g i s t e r 1 t A d d r e s s P C R e a d c u r d a t a 1 t R e a d s Z e r o n r e g i s t e r 2 I I n s t r u c t i o n R e g i s t e r s A L U R e a d A L U m e m o r y 0 R e a d W r i t e A d d r e s s d a t a 2 r e s u l t 1 d a t a r e g i s t e r M D a t a M u u m e m o r y W r i t e x x d a t a 1 0 W r i t e d a t a 1 6 3 2 S i g n e x t e n d Operação de um pipeline : lw (4) 00000005 8000000C 00000005 Infra-estrutura de Hardware

  21. l w 0 M u W r i t e b a c k x 1 I F / I D I D / E X E X / M E M M E M / W B A d d A d d 4 A d d r e s u l t S h i f t l e f t 2 n R e a d o i r e g i s t e r 1 t A d d r e s s P C R e a d c u r d a t a 1 t R e a d s n Z e r o r e g i s t e r 2 I I n s t r u c t i o n R e g i s t e r s A L U R e a d A L U m e m o r y 0 R e a d W r i t e A d d r e s s d a t a 2 r e s u l t 1 d a t a r e g i s t e r M D a t a M u m e m o r y u W r i t e x x d a t a 1 0 W r i t e d a t a 1 6 3 2 S i g n e x t e n d Operação de um pipeline : lw (5) 01000 00000005 ? Infra-estrutura de Hardware 00000005

  22. 0 M u x 1 I F / I D I D / E X E X / M E M M E M / W B A d d A d d 4 A d d r e s u l t S h i f t l e f t 2 n R e a d o i r e g i s t e r 1 t A d d r e s s P C c R e a d u r d a t a 1 t R e a d s n Z e r o r e g i s t e r 2 I I n s t r u c t i o n R e g i s t e r s A L U R e a d A L U m e m o r y 0 R e a d W r i t e A d d r e s s d a t a 2 r e s u l t 1 d a t a r e g i s t e r M M D a t a u u W r i t e x m e m o r y x d a t a 1 0 W r i t e d a t a 1 6 3 2 S i g n e x t e n d Operação de um pipeline : lw (5) 00000005 00000005 80000004 01000 01000 01000 Infra-estrutura de Hardware

  23. s w 0 E x e c u t i o n M u x 1 I F / I D I D / E X E X / M E M M E M / W B A d d A d d 4 A d d r e s u l t S h i f t l e f t 2 n R e a d o i r e g i s t e r 1 t A d d r e s s P C c R e a d u r d a t a 1 t R e a d s n Z e r o r e g i s t e r 2 I I n s t r u c t i o n R e g i s t e r s A L U R e a d A L U m e m o r y 0 R e a d W r i t e d a t a 2 r e s u l t 1 d a t a r e g i s t e r M M D a t a u u m e m o r y W r i t e x x d a t a 1 0 W r i t e d a t a 1 6 3 2 S i g n e x t e n d Operação de um Pipeline: sw (3) 00000002 00000002 00000002 80000004 A d d r e s s 80000004 8000000C 00000008 Infra-estrutura de Hardware

  24. s w 0 M e m o r y M u x 1 I F / I D I D / E X E X / M E M M E M / W B A d d A d d 4 A d d r e s u l t S h i f t l e f t 2 n R e a d o i r e g i s t e r 1 t A d d r e s s P C R e a d c u r d a t a 1 t R e a d s n Z e r o r e g i s t e r 2 I I n s t r u c t i o n R e g i s t e r s A L U R e a d A L U m e m o r y 0 R e a d W r i t e d a t a 2 A d d r e s s r e s u l t 1 d a t a r e g i s t e r M M u D a t a u W r i t e x m e m o r y x d a t a 1 0 W r i t e d a t a 1 6 3 2 S i g n e x t e n d Operação de um Pipeline: sw (4) 00000002 8000000C 00000002 i Infra-estrutura de Hardware

  25. s w 0 M W r i t e b a c k u x 1 I F / I D I D / E X E X / M E M M E M / W B A d d A d d 4 A d d r e s u l t S h i f t l e f t 2 n R e a d o i r e g i s t e r 1 A d d r e s s t P C R e a d c u d a t a 1 r t R e a d s Z e r o n r e g i s t e r 2 I I n s t r u c t o n R e g i s t e r s A L U R e a d A L U m e m o r y 0 R e a d W r i t e A d d r e s s d a t a 2 r e s u l t 1 d a t a r e g i s t e r M M D a t a u u W r i t e x m e m o r y x d a t a 1 0 W r i t e d a t a 1 6 3 2 S i g n e x t e n d Operação de um Pipeline: sw (5) i Infra-estrutura de Hardware

  26. T i m e ( i n c l o c k c y c l e s ) P r o g r a m C C 1 C C 2 C C 3 C C 4 C C 5 C C 6 C C 7 e x e c u t i o n o r d e r ( i n i n s t r u c t i o A L U l w $ 2 , 2 0 0 ( $ 0 ) I M R e g D M R e g A L U l w $ 3 , 3 0 0 ( $ 0 ) I M R e g D M R e g Representação de um pipeline n s ) A L U l w $ 1 , 1 0 0 ( $ 0 ) I M R e g D M R e g Infra-estrutura de Hardware

  27. T i m e ( i n c l o c k c y c l e s ) P r o g r a m C C 1 C C 2 C C 3 C C 4 C C 5 C C 6 e x e c u t i o n o r d e r ( i n i n s t r u c t i o n s ) l w $ 1 0 , 2 0 ( $ 1 ) I M R e g D M R e g s u b $ 1 1 , $ 2 , $ 3 I M R e g D M R e g Representando o pipeline A L U A L U Infra-estrutura de Hardware

  28. T i m e ( i n c l o c k c y c l e s ) P r o g r a m e x e c u t i o n o r d e r C C 1 C C 2 C C 3 C C 4 C C 5 C C 6 ( i n i n s t r u c t i o n s ) I n s t r u Representando o pipeline D a t a c t i o n I n s t r u c t i o n E x e c u t i o n l w $ 1 0 , $ 2 0 ( $ 1 ) W r i t e b a c k a c c e s s f e t c h d e c o d e D a t a I n s t r u c t i o n I n s t r u c t i o n E x e c u t i o n W r i t e b a c k s u b $ 1 1 , $ 2 , $ 3 a c c e s s f e t c h d e c o d e Infra-estrutura de Hardware

  29. 4 B r a n c h R e g W r i t e n R e a d o i t r e g i s t e r 1 P C A d d r e s s c R e a d u r d a t a 1 t s R e a d A L U S r c M e m t o R e g n I r e g i s t e r 2 I n s t r u c t i o n R e g i s t e r s R e a d m e m o r y 0 R e a d W r i t e d a t a 2 1 r e g i s t e r M d a t a M u u W r i t e x x d a t a 1 0 W r i t e d a t a I n s t r u c t i o n 6 [ 1 5 – 0 ] 1 6 3 2 S i g n A L U e x t e n d M e m R e a d c o n t r o l I n s t r u c t i o n [ 2 0 – 1 6 ] A L U O p I n s t r u c t i o n [ 1 5 – 1 1 ] R e g D s t Implementando o Pipeline: processamento P C S r c 0 M u x 1 I F / I D I D / E X E X / M E M M E M / W B A d d A d d A d d r e s u l t S h i f t l e f t 2 M e m W r i t e Z e Z r e o r o A L U A L U A d d r e s s r e s u l t D a t a m e m o r y 0 M u x Infra-estrutura de Hardware 1

  30. Implementando o Pipeline:controle Infra-estrutura de Hardware

  31. C A d d A d d 4 A d d e r e s u l t t i r W B r a n c h S h i f t g e l e f t 2 R A L U S r c g n R e a d e o i R t r e g i s t e r 1 P C c o R e a d t u r m d a t a 1 t s e R e a d n M Z e r o I r e g i s t e r 2 I n s t r u c t i o n R e g i s t e r s R e a d A L U m e m o r y 0 R e a d W r i t e d a t a 2 r e s u l t 1 d a t a r e g i s t e r M M u u W r i t e x x d a t a 1 0 W r i t e d a t a I n s t r u c t i o n 1 6 3 2 [ 1 5 – 0 ] S i g n A L U M e m R e a d e x t e n d c o n t r o l I n s t r u c t i o n [ 2 0 – 1 6 ] 0 A L U O p M u x 1 R e g D s t Implementando o Pipeline:controle P C S r c I D / E X 0 M W B u E X / M E M x 1 o n t r o l M W B M E M / W B E X M W B I F / I D e t i r W m e M A d d r e s s A L U A d d r e s s D a t a m e m o r y 6 I n s t r u c t i o n Infra-estrutura de Hardware [ 1 5 – 1 1 ]

  32. O pipeline é sempre eficiente??? • Eficiência do pipeline: • estágios com a mesma duração • instruções independentes de resultados calculados em instrução anterior • execução sequencial das instruções • ... mas as características acima quase sempre não • são satisfeitas: • dependência de dados • instruções de desvio Infra-estrutura de Hardware

  33. Conflitos • Impedem a execução da próxima instrução no ciclo previsto • Tipos: • estrutural • conflito no uso dos recursos • controle • alteração do fluxo do programa por instruções de desvio e chamada de funções • dado • dependência de dados Infra-estrutura de Hardware

  34. Conflito Estrutural -Algum recurso não suficientemente replicado -Mesma memória (cache) para dados e instruções O conflito estrutural pode ser eliminado replicando-se o recurso Infra-estrutura de Hardware

  35. Mem ALU Mem Mem Reg Reg ALU Mem Mem Reg Reg ALU ALU Mem Mem Reg Reg ALU Conflito estrutural: memória única Time (clock cycles) I n s t r. O r d e r Mem Reg Reg Load Instr 1 Instr 2 Mem Mem Reg Reg Instr 3 Instr 4 Infra-estrutura de Hardware

  36. Im ALU Im ALU Im Im Dm Reg Reg ALU ALU Conflito na utilização do registrador r1: Problema Time ( Time ( clock cycles clock cycles ) ) IF IF ID/RF ID/RF EX EX MEM MEM WB WB add add r1 r1 ,r2,r3 ,r2,r3 Reg Reg Reg Reg ALU ALU Im Im Dm Dm I I n n Im Im Dm Dm Reg Reg sub r4, sub r4, r1 r1 ,r3 ,r3 Reg Reg ALU ALU s s t t r. r. Im Im Dm Dm Reg Reg Reg Reg and and r6, r6, r1 r1 ,r7 ,r7 ALU ALU O O r r Im Im Dm Dm Reg Reg Reg Reg ALU ALU or or r8, r8, r1 r1 ,r9 ,r9 d d e e Im Im Dm Dm Reg Reg Reg Reg ALU ALU xor xor r10, r10, r1 r1 ,r11 ,r11 r r Infra-estrutura de Hardware

  37. Im ALU Im ALU Im ALU Conflito de Dado em R1: Funcionamento Correto Time (clock cycles) IF ID/RF EX MEM WB add r1,r2,r3 Reg Reg ALU Im Dm I n s t r. O r d e r sub r4,r1,r3 Dm Reg Reg and r6,r1,r7 Dm Reg Reg or r8,r1,r9 Im Dm Reg Reg ALU xor r10,r1,r11 Dm Reg Reg Infra-estrutura de Hardware

  38. Resolvendo o conflito de dado - Software : inserir NOP’s Infra-estrutura de Hardware

  39. Im ALU Im ALU Im Im Im ALU ALU ALU Inserindo NOP´s IF ID/RF EX MEM WB • Inserir NOP’s add r1,r2,r3 Reg Reg ALU Im Dm I n s t r. O r d e r nop Dm Reg Reg nop Dm Reg Reg sub r4,r1,r3 Dm Reg Reg and r6,r1,r7 Dm Reg Reg or r8,r1,r9 Im Dm Reg Reg ALU xor r10,r1,r11 Dm Reg Reg Infra-estrutura de Hardware

  40. Resolvendo o conflito de dado - Software : inserir NOP’s degradação do desempenho trocar a ordem das instruções. Infra-estrutura de Hardware

  41. Im ALU Im ALU Im Im Im ALU ALU ALU Rearrumando código IF ID/RF EX MEM WB • Inserir NOP’s add r1,r2,r3 Reg Reg ALU Im Dm I n s t r. O r d e r and r12, r12, r13 Dm Reg Reg or r14, r14, r15 Dm Reg Reg sub r4,r1,r3 Dm Reg Reg and r6,r1,r7 Dm Reg Reg or r8,r1,r9 Im Dm Reg Reg ALU xor r10,r1,r11 Dm Reg Reg Infra-estrutura de Hardware

  42. Resolvendo o Conflito de Dados - Software : inserir NOP’s degradação do desempenho trocar a ordem das instruções compilador “inteligente” - Hardware : método do curto circuito Infra-estrutura de Hardware

  43. P r o g r a m e x e c u t i o n 2 4 6 8 1 0 o r d e r T i m e ( i n i n s t r u c t i o n s ) a d d $ s 0 , $ t 0 , $ t 1 I F I D E X M E M W B s u b $ t 2 , $ s 0 , $ t 3 M E M I F I D E X M E M W B Método do Curto Circuito Infra-estrutura de Hardware

  44. Im ALU Im ALU Im Dm Reg Reg ALU Curto Circuito - Forwarding Time (clock cycles) IF ID/RF EX MEM WB add r1,r2,r3 Reg Reg ALU Im Dm I n s t r. O r d e r sub r4,r1,r3 Dm Reg Reg Dm Reg Reg and r6,r1,r7 Im Dm Reg Reg or r8,r1,r9 ALU xor r10,r1,r11 Infra-estrutura de Hardware

  45. I D / E X E X / M E M M E M / W B M u x R e g i s t e r s A L U M D a t a u m e m o r y M x u x F o r w a r d B E X / M E M . R e g i s t e r R d R d F o r w a r d i n g M E M / W B . R u n i t b . W i t h f o r w a r d i n g I D / E X E X / M E M M E M / W B Curto Circuito R e g i s t e r s A L U D a t a m e m o r y M u x a . N o f o r w a r d i n g F o r w a r d A R s R t R t M u x e g i s t e r R d Infra-estrutura de Hardware

  46. Resolvendo o Conflito de Dados - Software : inserir NOP’s degradação do desempenho trocar a ordem das instruções compilador “inteligente” - Hardware : método do curto circuito operações entre registradores inserir retardo (reg/mem) Infra-estrutura de Hardware

  47. Im ALU Inserindo retardos Time (clock cycles) IF ID/RF EX MEM WB lw r1,0(r2) Reg Reg ALU Im Dm b u b b l e b u b b l e b u b b l e b u b b l e sub r4,r1,r3 Dm Reg Reg Infra-estrutura de Hardware

  48. P r o g r a m T i m e ( i n c l o c k c y c l e s ) e x e c u t i o n C C 1 C C 2 C C 3 C C 4 C C 5 C C 6 C C 7 C C 8 C C 9 C C 1 0 o r d e r ( i n i n s t r u c t i o n s ) R e g D M R e g I M l w $ 2 , 2 0 ( $ 1 ) R e g D M I M R e g a n d $ 4 , $ 2 , $ 5 R e g o r $ 8 , $ 2 , $ 6 D M R e g I M I M a d d $ 9 , $ 4 , $ 2 R e g I M D M s l t $ 1 , $ 6 , $ 7 R e g D M I M R e g Inserindo retardos R e g b u b b l e R e g Infra-estrutura de Hardware

  49. I D / E X . M e m R e a d H a z a r d d e t e c t i o n u n i t I D / E X e t W B i r E X / M E M W D M I / F C o n t r o l u M W B I M E M / W B x 0 E X M W B I F / I D e t i r W M n C o P u i t c x u r t s R e g i s t e r s n I D a t a I n s t r u c t i o n A L U P C m e m o r y M m e m o r y u x M u x I F I F / I D . R e g i s t e r R t M u I F / I D . R e g i s t e r R d x I D / E X . R e g i s t e r R t F o r w a r d i n g u n i t Detectando e Resolvendo Conflitos I F / I D . R e g i s t e r R s / I D . R e g i s t e r R t R t E X / M E M . R e g i s t e r R d R d R s M E M / W B . R e g i s t e r R d R t Infra-estrutura de Hardware

  50. Conflito de Controle • Necessidade da alteração no fluxo: • desvios condicionais e incondicionais • chamadas e retornos de subrotinas • interrupções • Como resolver o conflito minimizando a perda de desempenho? Infra-estrutura de Hardware

More Related