Академический Документы
Профессиональный Документы
Культура Документы
Implementao Multiciclo
Prof. Carlos Bazilio
bazilio@ic.uff.br
Problemas com
Implementao Monociclo
Ciclo de clock tem o mesmo tamanho para
todas as instrues implementadas;
Este ciclo definido pela instruo de
maior durao (lw load word);
Cada unidade funcional s pode ser
usada 1 vez por ciclo;
Com isso, algumas unidades funcionais
so duplicadas, aumentando
consideravelmente o custo do hardware.
Implementao
Multiciclo
A execuo de cada instruo quebrada
em passos;
Cada passo gasta 1 ciclo de clock;
Com isso, uma unidade funcional pode ser
utilizada + de 1 vez por instruo, desde
que em diferentes ciclos.
Implementao
Multiciclo
Diferenas:
nica memria;
nica UAL;
Registradores aps unidades funcionais.
Implementao Multiciclo
Caminho de Dados
Incluses:
Registradores (IR, MDR, A, B, UALSada),
Multiplexadores (End. Memria, UAL)
Implementao Multiciclo
Linhas de Controle
Implementao Multiciclo
Caminho Completo
Trecho da Mquina
de Estados
Passos na execuo
de uma instruo (1/5)
Busca da instruo e clculo do endereo
seguinte:
IR = Memria[PC]
PC = PC + 4
Passos na execuo
de uma instruo (2/5)
Decodificao da instruo e busca do
registrador:
A = Reg[IR[25-21]]
B = Reg[IR[20-16]]
UALSada = PC + extenso_sinal(IR[15-0]
<< 2)
Passos na execuo
de uma instruo (3/5)
Execuo, clculo do endereo de
memria ou desvio condicional:
Referncia a memria:
UALSada = A + extenso_sinal(IR[15-0])
Instruo aritmtica ou lgica:
UALSada = A op B
Desvio condicional:
Se (A == B) PC = UALSada
Desvio incondicional:
PC = PC[31-28] || (IR[25-0]<<2)
Passos na execuo
de uma instruo (4/5)
Final de execuo das instrues de
escrita em memria e do tipo R:
Referncia a memria (load):
Memria [UALSada] = B
Instrues aritmticas ou lgicas:
Reg[IR[15-11]] = UALSada
Passos na execuo
de uma instruo (5/5)
Final de execuo das instrues de
leitura memria:
Referncia a memria (load):
Reg[IR[20-16]] = MDR
Implementao do
Controle
No monociclo utilizamos um conjunto de
tabelas-verdade;
Na implementao de controle no projeto
multiciclo veremos 2 abordagens:
Mquina de estados finitos;
Microprogramao.
Controle
Mquina de Estados
Finitos (1/6)
Controle
Mquina de Estados
Finitos (2/6)
Controle
Mquina de Estados
Finitos (3/6)
Controle
Mquina de Estados
Finitos (4/6)
Controle
Mquina de Estados
Finitos (5/6)
Mquina de Estados
Finitos Completa (6/6)
Implementao do
Controle
Microprogramao
A implementao real do MIPS possui um
conjunto com cerca de 100 instrues;
Cada gasta de 1 a 20 ciclos de clock para
ser executada;
Naturalmente, a funo de controle ser
bem mais complexa, o que dificulta a sua
especificao de forma grfica;
Microprogramao o projeto de controle
como um programa que implementa
instrues de mquina em termos de
estruturas mas simples (microinstrues).
Microprogramao
Na microprogramao temos a
representao simblica dos valores das
linhas de controle;
Assim, um microprograma est para os
sinais de controle (microinstrues) assim
como a linguagem de montagem est
para as instrues de mquina.
Armazenamento
de um Microcdigo
Formato da
microinstruo
Deve seguir padres de projeto de
linguagens de programao;
Cada campo deve ser responsvel por um
conjunto de sinais que no se
sobreponham;
Do formato apresentado no livro, temos 6
campos que controlam o caminho de
dados e 1 que controla o seqenciamento
das microinstrues.
Formato da
microinstruo (1/4)
Controle da UAL (operao da UAL)
Valores:
Soma: faz com o que a UAL some
Subtrao: idem para subtrao
Cdigo de funo: usa o campo de funo da
instruo
Formato da
microinstruo (2/4)
SRC2 (entrada 2 da ual)
Valores:
Formato da
microinstruo (3/4)
Memria (leitura/escrita na memria)
Valores:
Leitura partir do PC: L da memria usando o PC e
escreve resultado no IR
Leitura partir do UAL: L da memria usando o UALSaida
e escreve resultado no MDR
Escrita partir da UAL: Escreve na memria usando
UALSaida como endereo e B como dado
Formato da
microinstruo (4/4)
Seqenciamento (Como escolher a
prxima microinstruo)
Valores:
Seq: Escolhe a prxima microinstruo
sequencialmente
Busca: Desvia para a primeira microinstruo
Despacho i: Despacha de acordo com o tipo de
instruo (opcode)
Arquitetura Multiciclo
Microprograma
Ident
Ual
Busca
Soma
Soma
Soma
PC
PC
A
Func
Sub
Mem1
LW2
SW2
Rform1
Beq1
Jump1
Src1 Src2
Regs
4
ExtDes Leitura
Ext
Mem
PC
PcEsc Seq
Ual
Seq
Desp1
Desp2
LerUal
Seq
EscMdr
Busca
EscUal
Busca
Seq
EscUal
Busca
UalOut Busca
Incond Busca
Bibliografia
Organizao e projeto de computadores
David A. Patterson & John L. Hennessy
LTC