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

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

Infra-estrutura de Hardware

Apresentações semelhantes


Apresentação em tema: "Infra-estrutura de Hardware"— Transcrição da apresentação:

1 Infra-estrutura de Hardware

2 CPU: Estrutura e Funcionalidade
Infra-estrutura de Hardware

3 Infra-estrutura de Hardware
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 7 7

5 Componentes de um computador
CPU Execução das instruções de um programa Memória Programas + Dados Vídeo Teclado E/S Buffers Infra-estrutura de Hardware 12 12

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

7 Infra-estrutura de Hardware
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 Infra-estrutura de Hardware
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 rs rt rd shamt funct F2 Opcode rs rt Endereço 6 5 5 16 Infra-estrutura de Hardware

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

11 Infra-estrutura de Hardware
MIPS - Visão Abstrata D a t a R e g i s t e r # P C A d d r e s s 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 m e m o r y D a t a R e g i s t e r # m e m o r y D a t a Infra-estrutura de Hardware

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

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

14 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 P C 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 Adicionador Memória (Instrução) Infra-estrutura de Hardware

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

16 Componentes Básicos: Operações Aritméticas
00010 5 R e a d r e g i s t e r 1 R e a d 00011 5 d a t a 1 R e g i s t e r R e a d n u m b e r s r e g i s t e r 2 R e g i s t e r s D a t a 5 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 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 R e g i s t e r 5 R e a d n u m b e r s r e g i s t e r 2 R e g i s t e r s D a t a 00001 5 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 1 R e g W r i t e Banco de registradores Escrita Infra-estrutura de Hardware

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

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

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

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

22 Componentes Básicos: Acesso à memória
1 M e m W r i t e A d d r e s s R e a d d a t a D a t a W r i t e d a t a m e m o r y 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 0002 Extensão de Sinal Infra-estrutura de Hardware

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

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

26 Instruções Aritméticas e de Load/Store
add $1, $2, $3 + I n s t r u c i o 1 6 3 2 R e g W a d D m y M x S A L U l Z p 00010 00011 1 00001 1 Infra-estrutura de Hardware

27 Instruções Aritméticas e de Load/Store
lw $8, desl($9) I n s t r u c i o 1 6 3 2 R e g W a d D m y M x S A L U l Z p 01001 1 01000 1 800004B8 8D28 04B0 1 04B0 000004B0 Infra-estrutura de Hardware

28 Instruções Aritméticas e de Load/Store
1 6 3 2 R e g W a d D m y M x S A L U l Z p Infra-estrutura de Hardware

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

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

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

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

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

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

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

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

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

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

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

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

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

42 Infra-estrutura de Hardware
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


Carregar ppt "Infra-estrutura de Hardware"

Apresentações semelhantes


Anúncios Google