cpu multiciclo
DESCRIPTION
Resumo sobre estrutura multiciclo de CPU, usado durante a disciplina Organização de ComputadoresTRANSCRIPT
-
CPUCPUImplementaImplementao o MulticicloMulticiclo
Prof. Carlos [email protected]
-
AtAt ento, tento, tnhamos ...nhamos ...
-
Problemas comProblemas comImplementaImplementao Monocicloo 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.
-
ImplementaImplementao o MulticicloMulticiclo
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.
-
ImplementaImplementao o MulticicloMulticiclo
Diferenas: nica memria; nica UAL; Registradores aps unidades funcionais.
-
ImplementaImplementao o MulticicloMulticicloCaminho de DadosCaminho de Dados
Incluses: Registradores (IR, MDR, A, B, UALSada),
Multiplexadores (End. Memria, UAL)
-
ImplementaImplementao o MulticicloMulticicloLinhas de ControleLinhas de Controle
-
ImplementaImplementao o MulticicloMulticicloCaminho CompletoCaminho Completo
-
Trecho da MTrecho da Mquinaquinade Estadosde Estados
-
Passos na execuPassos na execuoode uma instrude uma instruo (1/5)o (1/5)
Busca da instruo e clculo do endereo seguinte:
IR = Memria[PC]PC = PC + 4
-
Passos na execuPassos na execuoode uma instrude uma instruo (2/5)o (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]
-
Passos na execuPassos na execuoode uma instrude uma instruo (3/5)o (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]
-
Passos na execuPassos na execuoode uma instrude uma instruo (4/5)o (4/5)
Final de execuo das instrues de escrita em memria e do tipo R: Referncia a memria (load):
MDR = Memria [UALSada] Referncia a memria (store):
Memria [UALSada] = B Instrues aritmticas ou lgicas:
Reg[IR[15-11]] = UALSada
-
Passos na execuPassos na execuoode uma instrude uma instruo (5/5)o (5/5)
Final de execuo das instrues de leitura memria: Referncia a memria (load):
Reg[IR[20-16]] = MDR
-
ImplementaImplementao doo doControleControle
No monociclo utilizamos um conjunto de tabelas-verdade;
Na implementao de controle no projeto multiciclo veremos 2 abordagens: Mquina de estados finitos; Microprogramao.
-
ControleControleMMquina de Estados quina de Estados
Finitos (1/6)Finitos (1/6)
-
ControleControleMMquina de Estados quina de Estados
Finitos (2/6)Finitos (2/6)
-
ControleControleMMquina de Estados quina de Estados
Finitos (3/6)Finitos (3/6)
-
ControleControleMMquina de Estados quina de Estados
Finitos (4/6)Finitos (4/6)
-
ControleControleMMquina de Estados quina de Estados
Finitos (5/6)Finitos (5/6)
-
MMquina de Estados quina de Estados Finitos Completa (6/6)Finitos Completa (6/6)
-
ImplementaImplementao doo doControleControle
-
MicroprogramaMicroprogramaoo 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).
-
MicroprogramaMicroprogramaoo 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 estpara as instrues de mquina.
-
ArmazenamentoArmazenamentode um de um MicrocMicrocdigodigo
-
Formato da Formato da microinstrumicroinstruoo
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 seqenciamentodas microinstrues.
-
Formato da Formato da microinstrumicroinstruoo (1/4)(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 SRC1 (entrada 1 da UAL)
Valores: PC: PC como primeira entrada da UAL A: A como primeira entrada da UAL
-
Formato da Formato da microinstrumicroinstruoo (2/4)(2/4)
SRC2 (entrada 2 da ual) Valores:
B: B como segunda entrada da UAL 4: B constante 4 como segunda entrada da UAL Estendido: sada da extenso de sinal Estendido/deslocado: sada da extenso com deslocamento
de 2 bits Controle de Registrador (leitura/escrita)
Valores: Leitura: atualiza A e B com campos do IR Escrita da UAL: Escreve no banco com campo do IR (rd) e
UALSaida como dado Escrita do MDR: Escreve no banco com campo do IR (rt) e
MDR como dado
-
Formato da Formato da microinstrumicroinstruoo (3/4)(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 UALSaidae escreve resultado no MDR
Escrita partir da UAL: Escreve na memria usando UALSaida como endereo e B como dado
Controle PCEsc (Escrita no PC) Valores:
UAL: Escreve a sada da UAL no PC UALOut-cond: Se sada Z da UAL ativa, atualiza PC com
UALSaida End. Desvio Incondicional: Atualiza PC com endereo
incondicional da instruo
-
Formato da Formato da microinstrumicroinstruoo (4/4)(4/4)
Seqenciamento (Como escolher a prxima microinstruo) Valores:
Seq: Escolhe a prxima microinstruosequencialmente
Busca: Desvia para a primeira microinstruo Despacho i: Despacha de acordo com o tipo de
instruo (opcode)
-
Arquitetura Arquitetura MulticicloMulticiclo
-
MicroprogramaMicroprograma
BuscaUalOutBASubBeq1BuscaIncondJump1
BuscaEscUalSeqBAFuncRform1
BuscaEscUalSW2BuscaEscMdrSeqLerUalLW2
Desp2ExtASomaMem1Desp1LeituraExtDesPCSoma
SeqUalPC4PCSomaBuscaSeqPcEscMemRegsSrc2Src1UalIdent
-
BibliografiaBibliografia Organizao e projeto de computadores
David A. Patterson & John L. HennessyLTC