25
Organização de Com Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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

Embed Size (px)

Citation preview

Page 1: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Implementação da UCP

• Construção do caminho de dados

• Controle

• Implementação monociclo

Page 2: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Conceitos Gerais para Implementação do 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: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Subconjunto de instruções

• Para simplificar o estudo do projeto do processador, 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: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Revisão do Formato das Instruções

• R-FORMAT– add regA regB destreg

op: código de operaçãoregA: registrador com primeiro operando fonteregB: registrador com segundo operando fonte

destreg: 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: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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

0

31 25 24 22 21 19 18 16 15 0

Page 7: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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 9: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Elementos Combinacionais

3

Mux

Select

32A

32B

32C

SomaSomador

Controle da UAL

ZeroResultadoda UAL

UAL

Page 10: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Banco de Registradores

• Contém 8 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 serlido #1

Reg a serlido #2

Reg a serescrito

Dado

Número dosregistradores

Dado de escrita

EscReg

Page 11: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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 12: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Passos do Projeto

• De acordo com a arquitetura do conjunto de instruçõ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 13: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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 14: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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 15: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Caminho de Dados para Instruções do tipo 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

Resultadoda UAL

ZeroUAL

Operação da UAL

Reg a ser lido #1

Reg a ser lido #2

Reg a ser escrito

Dado deescrita

Dado lido #1

Dado lido #2

Registradores

EscReg

3

3

3

Page 16: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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 imediato3 bits 3 bits 3 bits 16 bits

07 bits

Page 17: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Caminho de Dados para Instrução de Carga

16 32

3

Registradores

EscRegExten-sãode

sinal

Endereço

UAL

Dadolido

Memóriade dados

Dado aser escrito

Zero

EscMem

Operação da UAL

LerMem

Instrução

EscReg

Dado lido #1

Reg a ser lido #1

Reg a ser lido #2

Reg a ser escrito

Dado deescrita

Dado lido #2

3

3

3

16

Resultado da UAL

Page 18: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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 imediato3 bits 3 bits 3 bits 16 bits

07 bits

Page 19: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Dadolido

Caminho de Dados para Instrução de Armazenamento

1 6 32

3

EscRegExten-

sãode

sinal

Endereço

UAL

Memóriade dados

Dado aser escrito

Zero

EscMem

Operação da UAL

LerMem

Resultado da UAL

Instrução

Registradores

Dado lido #1

Reg a ser lido #1

Reg a ser lido #2

Reg a ser escrito

Dado deescrita

Dado lido #2

3

3

3

Page 20: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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 imediato3 bits 3 bits 3 bits 16 bits

07 bits

Page 21: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Instrução de Desvio Condicional

16 32

3

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

InstruçãoReg a ser

lido #1Reg a serlido #2

Reg a serescrito

Dado deescrita

Dadolido #1

Ddolido #2

Exten-sãode

sinal

Somador

Soma Endereço alvodo desvio condicional

Para a lógica de controle do desvio

condicional

UAL Zero

Registradores

EscReg

Operação da UAL3

3

Page 22: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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 ser lido #2

Reg a ser escrito

Dado deescrita

Registradores

EscReg

UAL fonte

Exten-sãode

sinal

Endereço

UAL

Resultado da UAL

Dadolido

Memóriade dados

Dado aser escrito

Zero

EscMemOperação da UAL

ULAparaReg

LerMem

PC

1

Endereço de leitura

Instrução

Memória de Instruções

Somador

RegDst

MUX

3

3

3

32

32

32

32

32

32

32

Page 23: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Caminho de Dados para Suportar Subconjunto das Instruções

16 32

Mux

Mux

3Reg a ser

lido #1Reg a ser

lido #2Reg a ser

escritoDado deescrita

Registradores

EscReg

UAL fonte

Exten-sãode

sinal

Endereço

UAL

Resultado da UAL

Dadolido

Memóriade dados

Dado aser escrito

Zero

EscMemOperação da UAL

ULAparaReg

LerMem

PC

1

Endereço de leitura

Instrução

Memória de Instruções

Somador

Mux

Resultadoda UAL

Somador

FontePC

RegDst

MUX

32

32

32

32

32

32

32

32

32

3232

3

3

3

Page 24: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

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

3Reg a ser

lido #1Reg a ser

lido #2Reg a ser

escritoDado deescrita

Registradores

EscReg

UAL fonte

Exten-sãode

sinal

UAL

Resultado da UAL

Zero

Operação da UALPC

1

Endereço de leitura

Instrução

Memória de Instruções

Somador

Mux

Resultadoda UAL

Somador

DvC

RegDst

MUX

Page 25: Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo

Organização de Computadores

Juntando Todas as Partes

16 32

Mux

3Reg a ser

lido #1Reg a ser

lido #2Reg a ser

escritoDado deescrita

Registradores

EscReg

UAL fonte

Exten-sãode

sinal

UAL

Resultado da UAL

Zero

Operação da UALPC

1

Endereço de leitura

Instrução

Memória de Instruções

SomadorResultadoda UAL

Somador

DvC

Mux

PC +1

32

Mux

EndereçoDadolido

Memóriade dados

Dado aser escrito

EscMem

ULAparaReg

LerMem

RegDst

0

1

MUX

32

32

32 32

32

32

32 32 32

32 32

32

3

3

3