Download - Caminho de Dados
Caminho de Dados• Busca de Instrução + Instruções Aritm. e Lóg. (R-format) + Instruções de Referência à Memória (I-Format) + Desvio
Reg a ser lido # 1
Reg a ser lido #2
Reg a ser escrito
Dado de escrita
Dado lido #1
Dadolido #2
EscReg
3
Endereço
Dado a ser escrito
Dadolido
LerMem
EscMen
Extensãode sinal
UAL
MUX
MUX
Memória de Instruções
Endereço deleitura
Instrução
PC
1 Somador
16 32
MUX
UAL
MUX
DvC
(aula passada)
Inserindo o Controle
• Identificar os pontos de controle no caminho de dados– Busca da instrução– Operações lógicas e aritméticas– Operações de Memória
• Identificar tipo de controle do sinal– Fluxo de dados através de multiplexadores– Escrita e leitura de dados
• Pensar nos sinais de controle para cada instrução
Busca da Instrução
Reg a ser lido # 1
Reg a ser lido #2
Reg a ser escrito
Dado de escrita
Dado lido #1
Dadolido #2
EscReg
3
Endereço
Dado a ser escrito
Dadolido
LerMem
EscMen
Extensãode sinal
UAL
MUX
MUX
Memória de Instruções
Endereço deleitura
Instrução
PC
1 Somador
16 32
MUX
UAL
MUX
DvC = 0
(=X) Não influencia
Controle para Operação Aritmética
Reg a ser lido # 1
Reg a ser lido #2
Reg a ser escrito
Dado de escrita
Dado lido #1
Dadolido #2
EscReg
3
Endereço
Dado a ser escrito
Dadolido
LerMem
EscMen
Extensãode sinal
UAL
MUX
MUX
Memória de Instruções
Endereço deleitura
Instrução
PC
1 Somador
16 32
MUX
UAL
MUX
DvC = 0op
=0
=1
=1
=0
=0
=1
EscMen = LerMem = 0 pois nem escreve nem lê da memóriaEscReg = 1 pois “Reg a ser escrito” seleciona registrador que vai receber “dado de escrita”
Controle para Operação de Carga
Reg a ser lido # 1
Reg a ser lido #2
Reg a ser escrito
Dado de escrita
Dado lido #1
Dadolido #2
EscReg
Endereço
Dado a ser escrito
Dadolido
LerMem
EscMen
Extensãode sinal
UAL
MUX
MUX
Memória de Instruções
Endereço deleitura
Instrução
PC
1 Somador
16 32
MUX
UAL
MUX
DvC = 0Add
=1
=1
=0
=0
=1
=0
LerMem = 1 pois lê da memóriaEscReg = 1 pois “Reg a ser escrito” seleciona registrador que vai receber “dado de escrita”
Controle para Operação de Armazenamento
Reg a ser lido # 1
Reg a ser lido #2
Reg a ser escrito
Dado de escrita
Dado lido #1
Dadolido #2
EscReg
Endereço
Dado a ser escrito
Dadolido
LerMem
EscMen
Extensãode sinal
UAL
MUX
MUX
Memória de Instruções
Endereço deleitura
Instrução
PC
1 Somador
16 32
MUX
DvC = 0Add
=1
=0
=X
=1
=0
=X
EscMem = 1 pois escreve da memóriaEscReg = 0 pois não usa o “Reg a ser escrito”
UAL
MUX
Controle para Op. de Desvio Condicional
Reg a ser lido # 1
Reg a ser lido #2
Reg a ser escrito
Dado de escrita
Dado lido #1
Dadolido #2
EscReg
Endereço
Dado a ser escrito
Dadolido
LerMem
EscMen
Extensãode sinal
UAL
MUX
MUX
Memória de Instruções
Endereço deleitura
Instrução
PC
1 Somador
16 32
MUX
DvC = 1Sub
=0
=0
=X
=0
=0
=X
EscMen = LerMem = 0 pois nem escreve nem lê da memóriaEscReg = 0 pois não usa o “Reg a ser escrito”Se R[regA]-R[regB] = 0 então o sinal na saída Zero é 1, se não o sinal na saída Zero é 0.
(beq)
UAL
MUX
Sinal de Controle
Reg a ser lido # 1
Reg a ser lido #2
Reg a ser escrito
Dado de escrita
Dado lido #1
Dadolido #2
EscReg
3
Endereço
Dado a ser escrito
Dadolido
LerMem
EscMen
Extensãode sinal
UAL
MUX
MUX
Memória de Instruções
Endereço deleitura
Instrução
PC
1 Somador
16 32
MUX
UAL
MUX
DvC
mDadoEsc
mUAL
mRegDest
UALop
Resumo Sinais de Controle
Op 000 010 011 100
add lw sw beq
mRegDest 1 0 X X
mUAL 0 1 1 0
mDadoEsc 1 0 X X
EscReg 1 1 0 0
LerMem 0 1 0 0
EscMen 0 0 1 0
DvC 0 0 0 1
UALop add add add sub
Resumo Sinais de Controle
Op 000 010 011 100
add lw sw beq
mRegDest 1 0 X X
mUAL 0 1 1 0
mDadoEsc 1 0 X X
EscReg 1 1 0 0
LerMem 0 1 0 0
EscMen 0 0 1 0
DvC 0 0 0 1
UALop0 0 0 0 0
UALop1 1 1 1 1
UALop2 0 0 0 1
UALop0 = 0UALop1 = 1
Implementação da Função de Controle
Op0
Op1
Op2
R-format lw sw beq
mUAL
mDadoEsc
EscMenDvC
LerMen
EscReg
UALOp2
mRegDest
Juntando as Partes
Instr [24:22] op
Reg a ser lido # 1
Reg a ser lido #2
Reg a ser escrito
Dado de escrita
Dado lido #1
Dadolido #2
EscReg
3
Endereço
Dado a ser escrito
Dadolido
LerMem
EscMem
Extensãode sinal
UAL
MUX
MUX
Memória de Instruções
Endereço deleitura
Instrução
PC
1 Somador
16 32
MUX
UAL
MUX
DvC
mDadoEsc
mUAL
mRegDest
UALop
ControlePrincipal
mUALmDadoEsc
EscMemDvC
LerMemEscReg
UALOp2
mRegDest
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 para armazenar os dados para o banco de
registradores– Duplicação de unidades funcionais