CPU, Dados, Mips

26
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Transcript of CPU, Dados, Mips

Page 1: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 1/26

 

Organização de Computadores

Implementação da UCP

• Construção do caminho de dados

• Controle

• Implementação monociclo

Page 2: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 2/26

 

Organização de Computadores

Conceitos Gerais para Implementaçãodo Processador

• Conceito de caminho de dados e controle

• Caminho dos bits de instrução e dados

• Utilização de clock, lógica combinacional e

seqüencial

• Começa uma implementação simples e

iterativamente vai melhorando

Page 3: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 3/26

 

Organização de Computadores

Performance

• Medida de performance baseada em:– número de instruções

– período do clock 

– ciclos de clock por instrução (CPI)

• O primeiro é um fator do programa, mas os dois

últimos são baseados na implementação do

processador

 

Page 4: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 4/26

Organização de Computadores

Subconjunto de instruções

• Para simplificar o estudo do projeto doprocessador, o foco será dado em um subconjunto

de instruções do MIPS:

– Memória: lw e sw

– Aritmética: add e addi

– Desvio: beq

• O método de implementação das outras instruções

ocorre naturalmente

  

Page 5: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 5/26

Organização de Computadores

Revisão do Formato das Instruções

• R-FORMAT– add regA regB destreg

op: código de operação

regA: registrador com primeiro operando fonte

regB: registrador com segundo operando fontedestreg: registrador que guarda resultado da operação

00 regArd regBop destreg

7 bits 3 bits 3 bits 3 bits 13 bits 3 bits

31 25 24 22 21 19 18 16 15 3 2 0

 

Page 6: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 6/26

Organização de Computadores

Revisão do Formato das Instruções

• I-Format– lw regA regB imm

– beq regA regB imm

– addi regA regB imm

• Desvio utiliza endereço PC relativo (PC + 1 +

imm)

op regBregA

7 bits 3 bits 3 bits 16 bits

imm

3 bits

031 25 24 22 21 19 18 16 15 0

 

Page 7: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 7/26

Organização de Computadores

Função básica da CPU

• Buscar uma instrução na memória

• Interpretar qual operação é representada pela

instrução

• Trazer (se for o caso) os operandos para a CPU

• Executar a operação

• Armazenar (se for o caso) os dados de saída

• Repetir o processo com uma nova instrução

etapas do Ciclo de Instrução

 

Page 8: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 8/26

Organização de Computadores

Visão Abstrata da Implementação

• Os dados fluem entre a memória e as unidadesfuncionais

PC Endereço Instrução

Memória de

Dados

Dados

Reg #

Reg #

Reg #

Banco de Registradores UAL Endereço

Dados

 

Page 9: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 9/26

Organização de Computadores

Projeto Lógico

• Duas definições importantes– Combinacional - saída depende somente das entradas

• Exemplo: ALU

– Seqüencial: elementos contem informações de estado

• Exemplo: Registradores

 

Page 10: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 10/26

Organização de Computadores

Elementos Combinacionais

3

M

u

x

Select

32A

32

B

32C

SomaSomador

Controle da UAL

Zero

Resultadoda UAL

UAL

 

Page 11: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 11/26

Organização de Computadores

Banco de Registradores

• Contém 32 registradores

– Dois barramentos de 32 bits de saída

• Dado lido #1 e Dado lido #2

– Um barramento de 32 bits de entrada

• Dado a ser escrito

– Registrador 0 tem o valor 0

– Registrador selecionado por

• Reg a ser lido #1

• Reg a ser lido #2• Reg a ser escrito seleciona registro que recebe Dado a ser

escrito quando EscReg=1

Dados

3

3

3

3232

32Dado

lido #1

Dadolido #2

Reg a ser

lido #1

Reg a ser

lido #2

Reg a ser

escrito

Dado

Número dos

registradores

Dado de

escrita

EscReg

 

Page 12: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 12/26

Organização de Computadores

Memória

• Um barramento de entrada: Dado a ser escrito• Um barramento de saída: Dado lido

• Seleção de endereço

– Endereço seleciona a palavra a ser

colocada em Dado lido

– Para escrever no endereço, seta EscMem para 1

– Para ler do endereço, seta LerMem para 1

EscMem

LerMem

Endereço

Dado a serescrito

Dado

lido

 

Page 13: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 13/26

Organização de Computadores

Passos do Projeto

• De acordo com a arquitetura do conjunto deinstruções, define-se uma estrutura organizacional

macro (número de unidades funcionais, por

exemplo)

• Essa estrutura é refinada para definir os

componentes do caminho de dados, sua

interconexão e pontos de controle

• Estrutura de controle é definida

• O projeto do caminho de dados e controle é

refinado para projeto físico e validação funcional

 

Page 14: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 14/26

Organização de Computadores

Busca da Instrução

• Busca a instrução na memória, cujo endereço estáno contador de programa PC

• Incrementa o contador de programa PC de 1

PC

1

Memória de

Instruções

Endereço deleitura

Instrução

Somador

 

Page 15: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 15/26

Organização de Computadores

Instrução de Soma

• add regA regB destreg– Mem[PC] Obtém instrução da memória

– R[destreg] R[regA] + R[regB] Executa operação de soma

– PC PC + 1 Calcula próximo endereço

 

Page 16: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 16/26

Organização de Computadores

Caminho de Dados para Instruções dotipo R

• R[destreg] R[regA] op R[regB]– Controle da UAL e de EscReg baseado na instrução decodificada

– Reg a ser lido #1, Reg a ser lido #2, Reg a ser escrito são regA,

regB, destreg

3

Resultado

da UAL

ZeroUAL

Operação da UAL

Reg a ser

lido #1

Reg a ser

lido #2Reg a ser

escritoDado de

escrita

Dado

lido #1

Dado

lido #2

Registradores

EscReg

3

3

3

 

Page 17: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 17/26

Organização de Computadores

Instrução de Carga

• lw regA regB imm– mem[PC] Busca instrução na memória

– End R[regA]+SignExt(imm) Calcula o endereço da memória

– R[regB] Mem[End] Carrega os dados no registrador

– PC PC+1 Calcula o próximo endereço

op regA regB imediato

3 bits 3 bits 3 bits 16 bits

0

7 bits

  

Page 18: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 18/26

Organização de Computadores

Caminho de Dados para Instrução deCarga

16 32

3

Registradores

EscRegExten-

são

de

sinal

Endereço

UAL

Dado

lido

Memória

de dados

Dado a

ser escrito

Zero

EscMem

Operação da UAL

LerMem

Resultadoda UAL

Instrução

EscReg

Dado

lido #1

Reg a ser

lido #1

Reg a ser

lido #2

Reg a serescrito

Dado de

escrita

Dadolido #2

3

3

3

16

 

Page 19: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 19/26

Organização de Computadores

Instrução de Armazenamento

• sw regA regB imm– mem[PC] Busca instrução na memória

– End R[regA]+SignExt(imm) Calcula o endereço da memória

– Mem[End] R[regB] Carrega os dados na memória

– PC PC+1 Calcula o próximo endereço

op regA regB imediato

3 bits 3 bits 3 bits 16 bits

0

7 bits

  

Page 20: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 20/26

Organização de Computadores

Caminho de Dados para Instrução deArmazenamento

1 6 32

3

EscReg

Exten-

são

de

sinal

Endereço

UAL

Dado

lido

Memória

de dados

Dado a

ser escrito

Zero

EscMem

Operação da UAL

LerMem

Resultadoda UAL

Instrução

Registradores

Dado

lido #1

Reg a ser

lido #1

Reg a ser

lido #2

Reg a serescritoDado de

escrita

Dado

lido #2

3

3

3

 

Page 21: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 21/26

Organização de Computadores

Instrução de Desvio Condicional

• beq regA regB imm– mem[PC] Busca instrução na memória

– Cond R[regA]-R[regB] Calcula a condição de desvio

– if (Cond eq 0)

• PC PC+1 + SignExt(imm) Calcula endereço PC relativo

– else

• PC PC+1 Calcula o próximo endereço

op regA regB imediato

3 bits 3 bits 3 bits 16 bits

0

7 bits

 

Page 22: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 22/26

Organização de Computadores

Instrução de Desvio Condicional

1 6 3 2

3

PC+1 vindo do caminho de dados de busca de uma instrução

Instrução

Reg a ser

lido #1

Reg a ser

lido #2

Reg a ser

escrito

Dado de

escrita

Dado

lido #1

Ddo

lido #2

Exten-

são

de

sinal

Somador

Soma Endereço alvo

do desvio condicional

Para a lógica de

controle do desvio

condicional

UAL Zero

Registradores

EscReg

Operação da UAL3

3

  

Page 23: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 23/26

Organização de Computadores

Busca de Instrução e Instruções Aritm.e Lóg. e de Referência à Memória

16 32

Mux

Mux

3

M

Reg a ser

lido #1

Reg a serlido #2

Reg a ser

escritoDado de

escrita

Registradores

EscReg

UAL fonte

Exten-

são

de

sinal

Endereço

UAL

Resultado

da UAL

Dado

lido

Memória

de dados

Dado a

ser escrito

Zero

EscMemOperação da UAL

MemParaReg

LerMem

PC

1

Endereço

de leituraInstrução

Memória

de Instruções

Somador

RegDst

M

U

X

3

3

3

32

32

32

32

32

32

32

  

Page 24: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 24/26

Organização de Computadores

Caminho de Dados para SuportarSubconjunto das Instruções

16 32

Mux

Mux

3

Reg a ser

lido #1

Reg a serlido #2

Reg a ser

escritoDado de

escrita

Registradores

EscReg

UAL fonte

Exten-

são

de

sinal

Endereço

UAL

Resultado

da UAL

Dado

lido

Memória

de dados

Dado a

ser escrito

Zero

EscMemOperação da UAL

MemParaReg

LerMem

PC

1

Endereço

de leituraInstrução

Memória

de Instruções

Somador

Mux

Resultado

da UAL

Somador

FontePC

RegDst

M

U

X

32

32

32

32

32

32

32

32

32

32

32

3

3

3

  

Page 25: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 25/26

Organização de Computadores

Caminho de Dados para Carregar PC

• PC incrementado normalmente• Se instrução beq pode adicionar imm a PC + 1

16 32

Mux

3

Reg a ser

lido #1

Reg a ser

lido #2

Reg a serescrito

Dado de

escrita

Registradores

EscReg

UAL fonte

Exten-

são

de

sinal

UAL

Resultadoda UAL

Zero

Operação da UAL

PC

1

Endereço

de leitura

Instrução

Memóriade Instruções

Somador

M

ux

Resultado

da UAL

Somador

DvC

RegDst

M

U

X

  

Page 26: CPU, Dados, Mips

5/17/2018 CPU, Dados, Mips - slidepdf.com

http://slidepdf.com/reader/full/cpu-dados-mips 26/26

Organização de Computadores

Juntando Todas as Partes

16 32

Mux

3

Reg a ser

lido #1

Reg a ser

lido #2Reg a ser

escritoDado de

escrita

Registradores

EscReg

UAL fonte

Exten-

são

de

sinal

UAL

Resultado

da UAL

Zero

Operação da UAL

PC

1

Endereço

de leitura

Instrução

Memória

de Instruções

SomadorResultado

da UAL

Somador

DvC

Mux

PC +1

32

Mux

EndereçoDado

lido

Memória

de dados

Dado a

ser escrito

EscMem

MemParaReg

LerMem

RegDst

0

1

M

U

X

32

32

32

32

32

32

32 32 32

32

32

32

3

3

3