1 / 42

CPU: Estrutura e Funcionalidade

CPU: Estrutura e Funcionalidade. Roteiro da Aula. Ciclo de Instrução Projeto de uma CPU simples: conceitos Componentes básicos Leitura da instrução Operação entre registradores Acesso à memória Implementação Mono-ciclo Leitura da Instrução Operações Aritméticas

alaina
Télécharger la présentation

CPU: Estrutura e Funcionalidade

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. CPU: Estrutura e Funcionalidade Infra-estrutura de Hardware

  3. Roteiro da Aula • Ciclo de Instrução • Projeto de uma CPU simples: conceitos • Componentes básicos • Leitura da instrução • Operação entre registradores • Acesso à memória • Implementação Mono-ciclo • Leitura da Instrução • Operações Aritméticas • Leitura + Operação entre registradores • Acesso à Memória • Desvio Condicional • Visualizando a execução da instrução • Análise de Desempenho 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. Memória Programas + Dados Vídeo Teclado Componentes de um computador CPU Execução das instruções de um programa E/S Buffers Infra-estrutura de Hardware

  6. Reg. IR PC Reg. FLAGS Gerais ALU Unidade Central de Processamento • Unidade de controle Dados Endereço MAR MBR Controle • Unidade de processamento Infra-estrutura de Hardware

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

  8. Projeto de uma Arquitetura • Conjunto de registradores • Tipos de Dados • Formato e Repertório de instruções Infra-estrutura de Hardware

  9. Instruções • Tipos de instruções • Processamento: • aritméticas e lógicas • Armazenamento • E/S • Controle: • teste e desvio 6 5 5 5 5 6 F1 Opcode rt rd rs shamt funct F2 Opcode rs Endereço rt 6 5 5 16 Infra-estrutura de Hardware

  10. Aritm Opcode rt rd rs funct shamt lw/sw Opcode rs Endereço rt beq Opcode rs Endereço rt Projeto: uma CPU simples... Infra-estrutura de Hardware

  11. MIPS - Visão Abstrata D a t a R e g i s t e r # A d d r e s s P C I n s t r u c t i o n R e g i s t e r s A L U A d d r e s s R e g i s t e r # I n s t r u c t i o n D a t a m e m o r y m e m o r y R e g i s t e r # D a t a Infra-estrutura de Hardware

  12. S t a t e S t a t e e l e m e n t C o m b i n a t i o n a l l o g i c e l e m e n t 1 2 C l o c k c y c l e Relógio - Clock Infra-estrutura de Hardware

  13. Início Busca a próxima instrução Executa a instrução Término Mono-ciclo C l o c k c y c l e Busca - Executa Infra-estrutura de Hardware

  14. 80000000 02480020 Componentes Básicos: Busca de Instrução Contador Programa I n s t r u c t i o n a d d r e s s 00000004 P C 80000004 I n s t r u c t i o n A d d S u m I n s t r u c t i o n m e m o r y 80000000 Adicionador Memória (Instrução) Infra-estrutura de Hardware

  15. A d d 4 R e a d P C a d d r e s s I n s t r u c t i o n I n s t r u c t i o n m e m o r y Busca de Instrução 80000004 80000000 80000000 02480020 Infra-estrutura de Hardware

  16. Componentes Básicos: Operações Aritméticas 00010 5 R e a d 00000004 r e g i s t e r 1 R e a d 00011 d a t a 1 5 R e g i s t e r R e a d r e g i s t e r 2 n u m b e r s 00000004 R e g i s t e r s D a t a 5 00000002 W r i t e r e g i s t e r R e a d d a t a 2 00000002 W r i t e D a t a d a t a R e g W r i t e Banco de registradores Leitura Infra-estrutura de Hardware

  17. Componentes Básicos: Operações Aritméticas 5 R e a d r e g i s t e r 1 R e a d d a t a 1 5 00000006 R e g i s t e r R e a d r e g i s t e r 2 n u m b e r s 00000004 R e g i s t e r s D a t a 00001 5 00000002 W r i t e r e g i s t e r R e a d d a t a 2 W r i t e D a t a d a t a 00000006 R e g W r i t e 1 Banco de registradores Escrita Infra-estrutura de Hardware

  18. A L U c o n t r o l 3 Z e r o A L U A L U r e s u l t b . A L U Componentes Básicos: Operações Aritméticas +: 001 00000004 00000006 00000002 ALU Infra-estrutura de Hardware

  19. Instruções Aritméticas/Lógicas 001 (+) A L U o p e r a t i o n 00010 3 R e a d r e g i s t e r 1 00000004 R e a d 00000006 d a t a 1 00011 R e a d 0000000001000011000010000100000 Z e r o 00000004 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 00000002 A L U 00000006 W r i t e r e s u l t r e g i s t e r 00001 000000002 R e a d d a t a 2 W r i t e d a t a 1 R e g W r i t e Infra-estrutura de Hardware

  20. 80000004 80000000 A L U o p e r a t i o n 3 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 I n s t r u c t i o n R e g i s t e r s A L U A L U W r i t e r e s u l t 02480020 r e g i s t e r R e a d d a t a 2 W r i t e d a t a R e g W r i t e Busca e Execução de Instruções Aritméticas/Lógicas add$1, $2, $3 A d d + 4 00010 00000004 R e a d 00000006 P C a d d r e s s 00011 00000004 00000006 00000002 I n s t r u c t i o n 00001 I n s t r u c t i o n m e m o r y 000000002 1 Infra-estrutura de Hardware

  21. 8000000C Componentes Básicos: Acesso à memória 0 M e m W r i t e 00000005 R e a d A d d r e s s d a t a D a t a W r i t e m e m o r y 00000005 d a t a 1 M e m R e a d Memória de Dados - Leitura Infra-estrutura de Hardware

  22. 1 80000010 00000005 0 Componentes Básicos: Acesso à memória M e m W r i t e R e a d A d d r e s s d a t a D a t a W r i t e m e m o r y d a t a 00000007 00000007 M e m R e a d Memória de Dados - Escrita Infra-estrutura de Hardware

  23. Componentes Básicos: Acesso à memória 1 6 3 2 FFFD S i g n FFFFFFFD e x t e n d 00000002 0002 Extensão de Sinal Infra-estrutura de Hardware

  24. 0 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 I n s t r u c t i o n A L U R e g i s t e r s A L U R e a d W r i t e r e s u l t A d d r e s s d a t a r e g i s t e r R e a d d a t a 2 W r i t e D a t a d a t a m e m o r y W r i t e d a t a 1 1 6 3 2 S i g n e x t e n d Instruções Load/Store lw$8, desl($9) + 01001 A L U o p e r a t i o n 3 M e m W r i t e 80000008 01000 00000002 800004B8 00000002 80000008 8D28 04B0 1 R e g W r i t e 00000002 04B0 000004B0 M e m R e a d Infra-estrutura de Hardware

  25. 1 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 I n s t r u c t i o n A L U R e g i s t e r s A L U R e a d W r i t e r e s u l t A d d r e s s d a t a r e g i s t e r R e a d d a t a 2 W r i t e D a t a d a t a m e m o r y W r i t e d a t a 0 1 6 3 2 S i g n e x t e n d Instruções Load/Store sw $t0, desl($t1) + 01001 A L U o p e r a t i o n 3 M e m W r i t e 80000008 01000 00000005 80000008 800004B8 AB28 04B0 00000005 R e g W r i t e 00000005 04B0 000004B0 M e m R e a d Infra-estrutura de Hardware

  26. A L U o p e r a t i o n 3 R e a d r e g i s t e r 1 M e m W r i t e R e a d d a t a 1 M e m t o R e g R e a d A L U S r c 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 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 d a t a r e g i s t e r M M u u W r i t e x D a t a x d a t a m e m o r y W r i t e R e g W r i t e d a t a 1 6 3 2 S i g n M e m R e a d e x t e n d 0 1 02480020 Instruções Aritméticas e de Load/Store add$1, $2, $3 + 00010 00000004 00011 00000006 00000004 000000002 00000006 00000002 00001 00000006 1 00000006 Infra-estrutura de Hardware

  27. A L U o p e r a t i o n 3 R e a d r e g i s t e r 1 M e m W r i t e R e a d d a t a 1 M e m t o R e g R e a d A L U S r c 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 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 d a t a r e g i s t e r M M u u W r i t e x D a t a x d a t a m e m o r y W r i t e R e g W r i t e d a t a 1 6 3 2 0 S i g n M e m R e a d e x t e n d 1 0 1 Instruções Aritméticas e de Load/Store lw$8, desl($9) 01001 80000008 01000 00000006 800004B8 00000004 00000005 8D28 04B0 80000008 00000005 1 00000005 04B0 000004B0 00000005 Infra-estrutura de Hardware

  28. A L U o p e r a t i o n 3 R e a d r e g i s t e r 1 M e m W r i t e R e a d d a t a 1 M e m t o R e g R e a d A L U S r c 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 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 d a t a r e g i s t e r M M u u W r i t e x D a t a x d a t a m e m o r y W r i t e R e g W r i t e d a t a 1 6 3 2 S i g n M e m R e a d e x t e n d Instruções Aritméticas e de Load/Store Infra-estrutura de Hardware

  29. P C + 4 f r o m i n s t r u c t i o n d a t a p a t h A d d S u m B r a n c h t a r g e t S h i f t l e f t 2 R e a d I n s t r u c t i o n R e a d d a t a 1 T o b r a n c h R e g i s t e r s A L U Z e r o c o n t r o l l o g i c W r i t e r e g i s t e r R e a d d a t a 2 1 6 3 2 S i g n e x t e n d Instrução de Branch on equal Beq $1,$2, end. 800012C4 80000004 000012C0 00001 A L U o p e r a t i o n 3 comp r e g i s t e r 1 00000006 00000006 R e a d 00000006 r e g i s t e r 2 00010 00000006 W r i t e 00000005 d a t a R e g W r i t e Endereçamento relativo 04b0 000004b0 Infra-estrutura de Hardware

  30. M A d d u x 0 4 R e g W r i t e I n s t r u c t i o n [ 2 5 – 2 1 ] R e a d r e g i s t e r 1 R e a d M e m W r i t e R e a d P C d a t a 1 I n s t r u c t i o n [ 2 0 – 1 6 ] a d d r e s s R e a d M e m t o R e g A L U S r c r e g i s t e r 2 Z e r o I n s t r u c t i o n R e a d A L U [ 3 1 – 0 ] R e a d W r i t e d a t a 2 1 A d d r e s s r e s u l t r e g i s t e r d a t a M I n s t r u c t i o n W r i t e u m e m o r y R e g i s t e r s x d a t a D a t a 0 W r i t e m e m o r y R e g D s t d a t a 1 6 3 2 S i g n I n s t r u c t i o n [ 1 5 – 0 ] e x t e n d M e m R e a d I n s t r u c t i o n [ 5 – 0 ] A L U O p Unidade de Processamento P C S r c 1 A L U A d d r e s u l t S h i f t l e f t 2 1 A L U 1 M M u u I n s t r u c t i o n [ 1 5 – 1 1 ] x x 0 0 A L U c o n t r o l Infra-estrutura de Hardware

  31. M A d d u x 0 4 R e g W r i t e I n s t r u c t i o n [ 2 5 – 2 1 ] R e a d r e g i s t e r 1 R e a d M e m W r i t e R e a d P C d a t a 1 I n s t r u c t i o n [ 2 0 – 1 6 ] a d d r e s s R e a d M e m t o R e g A L U S r c r e g i s t e r 2 Z e r o I n s t r u c t i o n R e a d 31-26 25-21 20-16 15-11 10-6 5-0 A L U [ 3 1 – 0 ] R e a d W r i t e d a t a 2 1 A d d r e s s r e s u l t r e g i s t e r d a t a M I n s t r u c t i o n W r i t e u m e m o r y R e g i s t e r s x d a t a D a t a 0 Aritm W r i t e Opcode rt rd rs funct m e m o r y shamt R e g D s t 15-0 31-26 25-21 20-16 d a t a 1 6 3 2 S i g n I n s t r u c t i o n [ 1 5 – 0 ] e x t e n d M e m R e a d lw/sw 15-0 20-16 I n s t r u c t i o n [ 5 – 0 ] 31-26 25-21 Opcode rs Endereço rt A L U O p beq Opcode rs Endereço rt Unidade de Processamento P C S r c 1 A L U A d d r e s u l t S h i f t l e f t 2 1 A L U 1 M M u u I n s t r u c t i o n [ 1 5 – 1 1 ] x x 0 0 A L U c o n t r o l Infra-estrutura de Hardware

  32. 0 M u x A L U A d d 1 r e s u l t A d d S h i f t P C S r c l e f t 2 R e g D s t 4 B r a n c h M e m R e a d M e m t o R e g I n s t r u c t i o n [ 3 1 2 6 ] C o n t r o l A L U O p M e m W r i t e A L U S r c R e g W r i t e I n s t r u c t i o n [ 2 5 2 1 ] R e a d R e a d r e g i s t e r 1 P C R e a d a d d r e s s d a t a 1 I n s t r u c t i o n [ 2 0 1 6 ] 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 0 R e g i s t e r s A L U R e a d A L U [ 3 1 – 0 ] 0 R e a d W r i t e A d d r e s s M d a t a 2 r e s u l t 1 d a t a I n s t r u c t i o n r e g i s t e r M u M u m e m o r y x u I n s t r u c t i o n [ 1 5 1 1 ] W r i t e x D a t a 1 x d a t a 1 m e m o r y 0 W r i t e d a t a 1 6 3 2 I n s t r u c t i o n [ 1 5 0 ] S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 0 ] Unidade de Controle Infra-estrutura de Hardware

  33. 0 M u x A L U A d d 1 r e s u l t R e g D s t 4 h I n s t r u c t i o n [ 3 1 2 6 ] C o n t r o l A L U S r c R e a d r e g i s t e r 1 R e a d d a t a 1 R e 0 R e g i s t e r s R e a d 0 W r i t e M d a t a 2 r e g i s t e r u x W r i t e 1 d a t a 0 1 6 3 2 I n s t r u c t i o n [ 1 5 0 ] Busca de instrução A d d S h i f t P C S r c l e f t 2 B r a n c M e m R e a d M e m t o R e g A L U O p M e m W r i t e R e g W r i t e I n s t r u c t i o n [ 2 5 2 1 ] R e a d P C a d d r e s s I n s t r u c t i o n [ 2 0 1 6 ] 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 A L U A L U [ 3 1 – 0 ] R e a d A d d r e s s r e s u l t 1 d a t a I n s t r u c t i o n M M u m e m o r y u I n s t r u c t i o n [ 1 5 1 1 ] x D a t a x 1 m e m o r y W r i t e d a t a S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 0 ] Infra-estrutura de Hardware

  34. Leitura de registradores 0 M u x A L U A d d 1 r e s u l t A d d S h i f t P C S r c l e f t 2 R e g D s t 4 B r a n c h M e m R e a d M e m t o R e g I n s t r u c t i o n [ 3 1 2 6 ] C o n t r o l A L U O p M e m W r i t e A L U S r c R e g W r i t e I n s t r u c t i o n [ 2 5 2 1 ] R e a d R e a d r e g i s t e r 1 P C R e a d a d d r e s s d a t a 1 I n s t r u c t i o n [ 2 0 1 6 ] 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 0 R e g i s t e r s A L U R e a d A L U [ 3 1 – 0 ] 0 R e a d W r i t e A d d r e s s M d a t a 2 r e s u l t 1 d a t a I n s t r u c t i o n r e g i s t e r M u M u m e m o r y x u I n s t r u c t i o n [ 1 5 1 1 ] W r i t e x D a t a 1 x d a t a 1 m e m o r y 0 W r i t e d a t a 1 6 3 2 I n s t r u c t i o n [ 1 5 0 ] S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 0 ] Infra-estrutura de Hardware

  35. Instr. Aritmética: Operação com ALU 0 M u x A L U A d d 1 r e s u l t A d d S h i f t P C S r c l e f t 2 R e g D s t 4 B r a n c h M e m R e a d M e m t o R e g I n s t r u c t i o n [ 3 1 2 6 ] C o n t r o l A L U O p M e m W r i t e A L U S r c R e g W r i t e I n s t r u c t i o n [ 2 5 2 1 ] R e a d R e a d r e g i s t e r 1 P C R e a d a d d r e s s d a t a 1 I n s t r u c t i o n [ 2 0 1 6 ] 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 0 R e g i s t e r s A L U R e a d A L U [ 3 1 – 0 ] 0 R e a d W r i t e A d d r e s s M d a t a 2 r e s u l t 1 d a t a I n s t r u c t i o n r e g i s t e r M u M u m e m o r y x u I n s t r u c t i o n [ 1 5 1 1 ] W r i t e x D a t a 1 x d a t a 1 m e m o r y 0 W r i t e d a t a 1 6 3 2 I n s t r u c t i o n [ 1 5 0 ] S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 0 ] Infra-estrutura de Hardware

  36. Instr. Aritmética: Escrita Reg. 0 M u x A L U A d d 1 r e s u l t A d d S h i f t P C S r c l e f t 2 R e g D s t 4 B r a n c h M e m R e a d M e m t o R e g I n s t r u c t i o n [ 3 1 2 6 ] C o n t r o l A L U O p M e m W r i t e A L U S r c R e g W r i t e I n s t r u c t i o n [ 2 5 2 1 ] R e a d R e a d r e g i s t e r 1 P C R e a d a d d r e s s d a t a 1 I n s t r u c t i o n [ 2 0 1 6 ] 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 0 R e g i s t e r s A L U R e a d A L U [ 3 1 – 0 ] 0 R e a d W r i t e A d d r e s s M d a t a 2 r e s u l t 1 d a t a I n s t r u c t i o n r e g i s t e r M u M u m e m o r y x u I n s t r u c t i o n [ 1 5 1 1 ] W r i t e x D a t a 1 x d a t a 1 m e m o r y 0 W r i t e d a t a 1 6 3 2 I n s t r u c t i o n [ 1 5 0 ] S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 0 ] Infra-estrutura de Hardware

  37. Lw/Sw: Operação com ALU (cálculo do endereço) 0 M u x A L U A d d 1 r e s u l t A d d S h i f t P C S r c l e f t 2 R e g D s t 4 B r a n c h M e m R e a d M e m t o R e g I n s t r u c t i o n [ 3 1 2 6 ] C o n t r o l A L U O p M e m W r i t e A L U S r c R e g W r i t e I n s t r u c t i o n [ 2 5 2 1 ] R e a d R e a d r e g i s t e r 1 P C R e a d a d d r e s s d a t a 1 I n s t r u c t i o n [ 2 0 1 6 ] 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 0 R e g i s t e r s A L U R e a d A L U [ 3 1 – 0 ] 0 R e a d W r i t e A d d r e s s M d a t a 2 r e s u l t 1 d a t a I n s t r u c t i o n r e g i s t e r M u M u m e m o r y x u I n s t r u c t i o n [ 1 5 1 1 ] W r i t e x D a t a 1 x d a t a 1 m e m o r y 0 W r i t e d a t a 1 6 3 2 I n s t r u c t i o n [ 1 5 0 ] S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 0 ] Infra-estrutura de Hardware

  38. Lw: Leitura de Memória 0 M u x A L U A d d 1 r e s u l t A d d S h i f t P C S r c l e f t 2 R e g D s t 4 B r a n c h M e m R e a d M e m t o R e g I n s t r u c t i o n [ 3 1 2 6 ] C o n t r o l A L U O p M e m W r i t e A L U S r c R e g W r i t e I n s t r u c t i o n [ 2 5 2 1 ] R e a d R e a d r e g i s t e r 1 P C R e a d a d d r e s s d a t a 1 I n s t r u c t i o n [ 2 0 1 6 ] 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 0 R e g i s t e r s A L U R e a d A L U [ 3 1 – 0 ] 0 R e a d W r i t e A d d r e s s M d a t a 2 r e s u l t 1 d a t a I n s t r u c t i o n r e g i s t e r M u M u m e m o r y x u I n s t r u c t i o n [ 1 5 1 1 ] W r i t e x D a t a 1 x d a t a 1 m e m o r y 0 W r i t e d a t a 1 6 3 2 I n s t r u c t i o n [ 1 5 0 ] S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 0 ] Infra-estrutura de Hardware

  39. Lw: Escrita em Registrador 0 M u x A L U A d d 1 r e s u l t A d d S h i f t P C S r c l e f t 2 R e g D s t 4 B r a n c h M e m R e a d M e m t o R e g I n s t r u c t i o n [ 3 1 2 6 ] C o n t r o l A L U O p M e m W r i t e A L U S r c R e g W r i t e I n s t r u c t i o n [ 2 5 2 1 ] R e a d R e a d r e g i s t e r 1 P C R e a d a d d r e s s d a t a 1 I n s t r u c t i o n [ 2 0 1 6 ] 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 0 R e g i s t e r s A L U R e a d A L U [ 3 1 – 0 ] 0 R e a d W r i t e A d d r e s s M d a t a 2 r e s u l t 1 d a t a I n s t r u c t i o n r e g i s t e r M u M u m e m o r y x u I n s t r u c t i o n [ 1 5 1 1 ] W r i t e x D a t a 1 x d a t a 1 m e m o r y 0 W r i t e d a t a 1 6 3 2 I n s t r u c t i o n [ 1 5 0 ] S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 0 ] Infra-estrutura de Hardware

  40. Sw: Escrita de Memória 0 M u x A L U A d d 1 r e s u l t A d d S h i f t P C S r c l e f t 2 R e g D s t 4 B r a n c h M e m R e a d M e m t o R e g I n s t r u c t i o n [ 3 1 2 6 ] C o n t r o l A L U O p M e m W r i t e A L U S r c R e g W r i t e I n s t r u c t i o n [ 2 5 2 1 ] R e a d R e a d r e g i s t e r 1 P C R e a d a d d r e s s d a t a 1 I n s t r u c t i o n [ 2 0 1 6 ] 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 0 R e g i s t e r s A L U R e a d A L U [ 3 1 – 0 ] 0 R e a d W r i t e A d d r e s s M d a t a 2 r e s u l t 1 d a t a I n s t r u c t i o n r e g i s t e r M u M u m e m o r y x u I n s t r u c t i o n [ 1 5 1 1 ] W r i t e x D a t a 1 x d a t a 1 m e m o r y 0 W r i t e d a t a 1 6 3 2 I n s t r u c t i o n [ 1 5 0 ] S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 0 ] Infra-estrutura de Hardware

  41. Beq: Operação com ALU (comparação) e cálculo de endereço de desvio 0 M u x A L U A d d 1 r e s u l t A d d S h i f t P C S r c l e f t 2 R e g D s t 4 B r a n c h M e m R e a d M e m t o R e g I n s t r u c t i o n [ 3 1 2 6 ] C o n t r o l A L U O p M e m W r i t e A L U S r c R e g W r i t e I n s t r u c t i o n [ 2 5 2 1 ] R e a d R e a d r e g i s t e r 1 P C R e a d a d d r e s s d a t a 1 I n s t r u c t i o n [ 2 0 1 6 ] 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 0 R e g i s t e r s A L U R e a d A L U [ 3 1 – 0 ] 0 R e a d W r i t e A d d r e s s M d a t a 2 r e s u l t 1 d a t a I n s t r u c t i o n r e g i s t e r M u M u m e m o r y x u I n s t r u c t i o n [ 1 5 1 1 ] W r i t e x D a t a 1 x d a t a 1 m e m o r y 0 W r i t e d a t a 1 6 3 2 I n s t r u c t i o n [ 1 5 0 ] S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 0 ] Infra-estrutura de Hardware

  42. Análise de Desempenho • Mono-ciclo: • Período do relógio definido em função da duração da instrução mais lenta • 8ns (5ns) • Implementação pouco eficiente • Como melhorar o desempenho na execução de várias instruções? • Multi-ciclo: cada estágio é executado em um ciclo do relógio. • Começar uma instrução ANTES da última instrução iniciada terminar. Infra-estrutura de Hardware

More Related