• Nenhum resultado encontrado

debora@midiacom.uff.br Processador

N/A
N/A
Protected

Academic year: 2022

Share "debora@midiacom.uff.br Processador"

Copied!
32
0
0

Texto

(1)

Fundamentos de Arquiteturas de Computadores

Processador

Profa. Débora Christina Muchaluat Saade

debora@midiacom.uff.br

Departamento de Ciência da Computação - UFF

http://www.midiacom.uff.br/debora

(2)

Fundamentos de Arquiteturas de Computadores

Implementação da UCP

ü Construção do caminho de dados

ü Controle

ü Implementação monociclo

(3)

Fundamentos de Arquiteturas 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

(4)

Fundamentos de Arquiteturas 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

(5)

Fundamentos de Arquiteturas de Computadores

Elementos Combinacionais

3

M u x Select

A 32 B 32

32 C

Somador Soma

Controle da UAL

Zero Resultado

da UAL UAL

Porta Lógica AND

1 1

1

1 AND 1 = 1 0 AND 0 = 0 0 AND 1 = 0 1 AND 0 = 0

(6)

Fundamentos de Arquiteturas 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 registrador que recebe Dado a ser escrito quando EscReg=1

Dados 3

3 3

32

32 Dado 32 lido #1

Dado lido #2 Reg a ser

lido #1 Reg a ser

lido #2 Reg a ser escrito Dado

Número dos registradores

Dado de escrita

EscReg

(7)

Fundamentos de Arquiteturas 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 ser

escrito

Dado lido

(8)

Fundamentos de Arquiteturas 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 de

leitura

Instrução

Somador

(9)

Fundamentos de Arquiteturas 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

(10)

Fundamentos de Arquiteturas de Computadores

Caminho de Dados para Instruções do tipo R

ü R[destreg] R[regA] op R[regB]

Controle da UAL e EscReg baseados 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

Zero

UAL

Controle da UAL Reg a ser

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de escrita

Dado lido #1 Dado lido #2 Registradores

EscReg 3

3 3

(11)

Fundamentos de Arquiteturas 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

(12)

Fundamentos de Arquiteturas de Computadores

Caminho de Dados para Instrução de Carga

16

32

3 Registradores

EscReg Exten- são

de sinal

Endereço UAL

Dado lido Memória

de dados

Dado a ser escrito Zero

EscMem Controle da UAL

LerMem

Instrução Dado

lido #1 Reg a ser

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de

escrita

Dado lido #2 3

3 3

16

Resultado da UAL

(13)

Fundamentos de Arquiteturas 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

(14)

Fundamentos de Arquiteturas de Computadores

Caminho de Dados para Instrução de Armazenamento

Dado lido

1 6 32

3

EscReg Exten-

são de sinal

Endereço UAL

Memória de dados

Dado a ser escrito Zero

EscMem Controle 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 de escrita

Dado lido #2 3

3 3

(15)

Fundamentos de Arquiteturas 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

(16)

Fundamentos de Arquiteturas de Computadores

Instrução de Desvio Condicional

16 32

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

Registradores

EscReg

Controle da UAL 3

3

Zero

(17)

Fundamentos de Arquiteturas de Computadores

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

16 32

Mu x Mu

x 3

M Reg a ser

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado 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

EscMem Controle da UAL

ULAparaReg

LerMem PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador

RegDst M

U X 3 3

3 32 32

32

32

32

32

32

(18)

Fundamentos de Arquiteturas de Computadores

Caminho de Dados para Suportar Subconjunto das Instruções

16 32

Mu x Mu

x 3 Reg a ser

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado 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

EscMem Controle da UAL

ULAparaReg

LerMem PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador

Mu Resultado x

da UAL Somador

FontePC

RegDst M

U X

32 32

32

32 32

32 32

32

32 32

32

3 3

3

(19)

Fundamentos de Arquiteturas de Computadores

Caminho de Dados para Carregar PC

ü PC incrementado normalmente

ü Se instrução for beq

pode adicionar imediato (imm) a PC + 1

16 32

Mu x

3 Reg a ser

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de escrita Registradores

EscReg

UAL fonte

Exten- são

UAL Resultado

da UAL Zero

Controle da UAL PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador

Mu Resultado x

da UAL Somador

DvC

RegDst M U X

(20)

Fundamentos de Arquiteturas de Computadores

Juntando Todas as Partes

16 32

Mu x Reg a ser 3

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de escrita Registradores

EscReg

UAL fonte

Exten- são

de sinal

UAL Resultado

da UAL Zero

Controle da UAL PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador Resultado

da UAL Somador

DvC Mu

x PC +1

32

Mu x EndereçoDado

lido Memória

de dados

Dado a ser escrito

EscMem

ULAparaReg

LerMem RegDst

0

1

M U X

32

32 32

32

32

32

32 32 32

32

32 32

3 3

3

(21)

Fundamentos de Arquiteturas de Computadores

Inserindo o Controle

ü Identifica pontos de controle no caminho de dados

Busca da instrução

Operações lógicas e aritméticas

Memória

ü Identifica tipo de controle do sinal

Fluxo de dados através de multiplexadores

Escrita de dados

ü Deriva sinais de controle para cada instrução

(22)

Fundamentos de Arquiteturas de Computadores

Busca da Instrução

16 32

Mu x Reg a ser

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de escrita Registradores

EscReg

UAL fonte

Exten- são

de sinal

UAL Resultado

da UAL Zero

Controle da UAL PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador

Mu Resultado x

da UAL Somador

DvC PC +1

= 0 M

U X RegDst

Don’t care (X)

(23)

Fundamentos de Arquiteturas de Computadores

Controle para Operação Aritmética

16 32

Mu x Reg a ser 3

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de escrita Registradores

EscReg

UAL fonte

Exten- são

de sinal

UAL Resultado

da UAL Zero

Controle da UAL PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador

Mu Resultado x

da UAL Somador

DvC PC +1

Mu x EndereçoDado

lido Memória

de dados

Dado a ser escrito

EscMem

ULAparaReg

LerMem M

U X RegDst

=1 =1

=0

=0

=1

=0

=0

=op

0 1

(24)

Fundamentos de Arquiteturas de Computadores

Controle para Operação de Carga (lw)

16 32

Mu x

3 Reg a ser

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de escrita Registradores

EscReg

UAL fonte

Exten- são

de sinal

UAL Resultado

da UAL Zero

Controle da UAL PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador

Mu Resultado x

da UAL Somador

DvC PC +1

Mu x Endereço Dado

lido Memória

de dados

Dado a ser escrito

EscMem

ULAparaReg

LerMem M

U X

RegDst

=0 =1

=Add

=1

=1

=0

=0

=0 0

1 0

1

(25)

Fundamentos de Arquiteturas de Computadores

Controle para Operação de Armazenamento (sw)

16 32

Mu x Reg a ser 3

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de escrita

Registradores

EscReg

UAL fonte

Exten- são

de sinal

UAL Resultado

da UAL Zero

Controle da UAL PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador

Mu Resultado x

da UAL Somador

DvC PC +1

Mu x EndereçoDado

lido Memória

de dados

Dado a ser escrito

EscMem

ULAparaReg

LerMem M

U X RegDst

=X =0

=Add

=1

=0

=0 =1

=X 0

1

(26)

Fundamentos de Arquiteturas de Computadores

Controle para Operação de Desvio Condicional (beq)

16 32

Mu x Reg a ser 3

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de escrita Registradores

EscReg

UAL fonte

Exten- são

de sinal

UAL Resultado

da UAL Zero

Controle da UAL PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador

Mu Resultado x

da UAL Somador

DvC PC+1

Mu x EndereçoDado

lido Memória

de dados

Dado a ser escrito

EscMem

ULAparaReg

LerMem M

U X RegDst

=X =0

=Sub

=0

=0

=1 =0

=X

(27)

Fundamentos de Arquiteturas de Computadores

Sinais de Controle

16 32

Mu x Reg a ser 3

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de escrita Registradores

EscReg

UAL fonte

Exten- são

de sinal

UAL Resultado

da UAL Zero

Controle da UAL PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador

Mu Resultado x

da UAL Somador

DvC PC +1

Mu x EndereçoDado

lido Memória

de dados

Dado a ser escrito

EscMem

ULAparaReg

LerMem M

U X RegDst

(28)

Fundamentos de Arquiteturas de Computadores

Resumo dos Sinais de Controle

(29)

Fundamentos de Arquiteturas de Computadores

Tabela-verdade para os Três Bits de Controle da UAL

Código de Operação

Op2 Op1 Op0

Operação da UAL

lw 0 1 0 010 (soma)

sw 0 1 1 010(soma)

beq 1 0 0 110 (subtração)

Tipo R(add) 0 0 0 010 (soma)

(30)

Fundamentos de Arquiteturas de Computadores

Função de Controle para Implementação

Monociclo

(31)

Fundamentos de Arquiteturas de Computadores

Juntando as Partes

16 32

Mu x Reg a ser

lido #1 Reg a ser

lido #2 Reg a ser

escrito Dado de escrita Registradores

EscReg

UAL fonte

Exten- são

de sinal

UAL Resultado

da UAL Zero

Controle da UAL PC

1

Endereço de leitura

Instrução Memória de Instruções

Somador

Mu Resultado x

da UAL Somador

DvC PC +1

Mu x EndereçoDado

lido Memória

de dados

Dado a ser escrito

EscMem

ULAparaReg

LerMem M

U X RegDst

Unidade de Controle

op Instr [24:22]

RegDst ULAparaReg EscReg LerMem DvC UALfonte

EscrMem

(32)

Fundamentos de Arquiteturas de Computadores

Implementação Monociclo

ü Vantagens

Um ciclo de relógio por instrução torna lógica mais simples

ü Desvantagens

Ciclo de clock determinado pela instrução que leva maior tempo

– Instrução de carga utiliza cinco unidades funcionais em série

tempo de acesso à memória de instruções +

tempo de acesso ao banco de registradores +

retardo da UAL +

tempo de acesso à memória de dados +

tempo de estabilidade dos dados para o banco de registradores

Duplicação de unidades funcionais

Referências

Documentos relacionados

Em termos de implicações práticas, as conclusões desta pesquisa sinalizam as partes participantes, incluindo a IES, para reconhecer o papel do capital psicológico no

Para separação de água/óleo a membrana recoberta internamente com filme de PEBD contendo 5% de argila organofílica em peso se mostrou mais seletiva do que a

A análise das ações consolidadas a partir desta política revela um aumento no número de profissionais de saúde bucal no SUS, com incremento do potencial de cobertura das ESB de 15%

Aos 7, 14 e 21 dias após a emergência (DAE), foi determinado o índice SPAD no folíolo terminal da quarta folha completamente expandida devido ser esta folha recomendada para verificar

A seleção portuguesa feminina de andebol de sub-20 perdeu hoje 21-20 com a Hungria, na terceira jornada do Grupo C do Mundial da categoria, a decorrer em Koprivnica, na

Quem pretender arrematar dito(s) bem(ns), deverá ofertar lanços pela Internet através do site www.leiloesjudiciais.com.br/sp, devendo, para tanto, os interessados,

Portanto, o trabalho proposto tem como objetivo demonstrar o estado nutricional de idosos hospitalizados, de ambos os sexos, com idade entre 60 a 95 anos, por meio da

A segunda contribuição é explicitar que a aplicação desse método, mesmo que tratando de um recorte específico no processo histórico de formação para o trabalho simples e