5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 1/26
Organização de Computadores
Implementação da UCP
• Construção do caminho de dados
• Controle
• Implementação monociclo
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 2/26
Organização de Computadores
Conceitos Gerais para Implementaçãodo 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
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 3/26
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
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 4/26
Organização de Computadores
Subconjunto de instruções
• Para simplificar o estudo do projeto doprocessador, 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
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 5/26
Organização de Computadores
Revisão do Formato das Instruções
• R-FORMAT– add regA regB destreg
op: código de operação
regA: registrador com primeiro operando fonte
regB: registrador com segundo operando fontedestreg: 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
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 6/26
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
031 25 24 22 21 19 18 16 15 0
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 7/26
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
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 8/26
Organização de Computadores
Visão Abstrata da Implementação
• Os dados fluem entre a memória e as unidadesfuncionais
PC Endereço Instrução
Memória de
Dados
Dados
Reg #
Reg #
Reg #
Banco de Registradores UAL Endereço
Dados
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 9/26
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
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 10/26
Organização de Computadores
Elementos Combinacionais
3
M
u
x
Select
32A
32
B
32C
SomaSomador
Controle da UAL
Zero
Resultadoda UAL
UAL
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 11/26
Organização de Computadores
Banco de Registradores
• Contém 32 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 ser
lido #1
Reg a ser
lido #2
Reg a ser
escrito
Dado
Número dos
registradores
Dado de
escrita
EscReg
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 12/26
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
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 13/26
Organização de Computadores
Passos do Projeto
• De acordo com a arquitetura do conjunto deinstruçõ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
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 14/26
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
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 15/26
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
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 16/26
Organização de Computadores
Caminho de Dados para Instruções dotipo 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
Resultado
da UAL
ZeroUAL
Operação da UAL
Reg a ser
lido #1
Reg a ser
lido #2Reg a ser
escritoDado de
escrita
Dado
lido #1
Dado
lido #2
Registradores
EscReg
3
3
3
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 17/26
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 imediato
3 bits 3 bits 3 bits 16 bits
0
7 bits
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 18/26
Organização de Computadores
Caminho de Dados para Instrução deCarga
16 32
3
Registradores
EscRegExten-
são
de
sinal
Endereço
UAL
Dado
lido
Memória
de dados
Dado a
ser escrito
Zero
EscMem
Operação da UAL
LerMem
Resultadoda UAL
Instrução
EscReg
Dado
lido #1
Reg a ser
lido #1
Reg a ser
lido #2
Reg a serescrito
Dado de
escrita
Dadolido #2
3
3
3
16
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 19/26
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 imediato
3 bits 3 bits 3 bits 16 bits
0
7 bits
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 20/26
Organização de Computadores
Caminho de Dados para Instrução deArmazenamento
1 6 32
3
EscReg
Exten-
são
de
sinal
Endereço
UAL
Dado
lido
Memória
de dados
Dado a
ser escrito
Zero
EscMem
Operação da UAL
LerMem
Resultadoda UAL
Instrução
Registradores
Dado
lido #1
Reg a ser
lido #1
Reg a ser
lido #2
Reg a serescritoDado de
escrita
Dado
lido #2
3
3
3
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 21/26
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 imediato
3 bits 3 bits 3 bits 16 bits
0
7 bits
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 22/26
Organização de Computadores
Instrução de Desvio Condicional
1 6 3 2
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 Zero
Registradores
EscReg
Operação da UAL3
3
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 23/26
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 serlido #2
Reg a ser
escritoDado 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
EscMemOperação da UAL
MemParaReg
LerMem
PC
1
Endereço
de leituraInstrução
Memória
de Instruções
Somador
RegDst
M
U
X
3
3
3
32
32
32
32
32
32
32
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 24/26
Organização de Computadores
Caminho de Dados para SuportarSubconjunto das Instruções
16 32
Mux
Mux
3
Reg a ser
lido #1
Reg a serlido #2
Reg a ser
escritoDado 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
EscMemOperação da UAL
MemParaReg
LerMem
PC
1
Endereço
de leituraInstrução
Memória
de Instruções
Somador
Mux
Resultado
da UAL
Somador
FontePC
RegDst
M
U
X
32
32
32
32
32
32
32
32
32
32
32
3
3
3
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 25/26
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
3
Reg a ser
lido #1
Reg a ser
lido #2
Reg a serescrito
Dado de
escrita
Registradores
EscReg
UAL fonte
Exten-
são
de
sinal
UAL
Resultadoda UAL
Zero
Operação da UAL
PC
1
Endereço
de leitura
Instrução
Memóriade Instruções
Somador
M
ux
Resultado
da UAL
Somador
DvC
RegDst
M
U
X
5/17/2018 CPU, Dados, Mips - slidepdf.com
http://slidepdf.com/reader/full/cpu-dados-mips 26/26
Organização de Computadores
Juntando Todas as Partes
16 32
Mux
3
Reg a ser
lido #1
Reg a ser
lido #2Reg a ser
escritoDado de
escrita
Registradores
EscReg
UAL fonte
Exten-
são
de
sinal
UAL
Resultado
da UAL
Zero
Operação da UAL
PC
1
Endereço
de leitura
Instrução
Memória
de Instruções
SomadorResultado
da UAL
Somador
DvC
Mux
PC +1
32
Mux
EndereçoDado
lido
Memória
de dados
Dado a
ser escrito
EscMem
MemParaReg
LerMem
RegDst
0
1
M
U
X
32
32
32
32
32
32
32 32 32
32
32
32
3
3
3
Top Related