Buscar

Processador MIPS - Bloco de Controle

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Introdução aos Sistemas 
Computacionais 
Disciplina: 113468 
 
Prof. Marcus Vinicius Lamar 
 
Processador MIPS 
Bloco de Controle 
2 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
3 
Processador MIPS Uniciclo 
0 
1 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
4 
Controle do MIPS 
 Cada operação requer a utilização adequada dos recursos do 
Caminho de Dados do processador 
 Ex: add $t0, $s1, $s2 
 é necessário que os endereços dos operandos $s1 e $s2 sejam enviados ao 
banco de registradores 
 o endereço do registrador destino ($t0) deverá ser informando ao banco de 
registradores 
 Uma vez que o banco de registradores disponibilize os valores de $s1 e $s2, 
estes deverão ser encaminhados à ULA 
 Posteriormente, o resultado deverá ser escrito no banco de registradores 
(registrador $t0) 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
5 
Exemplo de projeto de controle hierárquico: 
Controle da ULA 
 As operações da ULA são controladas por um código de 4 bits: 
 
 
 
 
 
 
 
 As instruções lw e sw utilizam a operação de soma da ULA 
 As instruções do tipo R utilizam uma das 5 operações 
 A instrução beq utiliza a subtração da ULA 
 Nor não é usada nesta implementação. 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
6 
Identificação da Operação 
 O campo funct, de 6 bits (no formato R) indica que tipo de 
operação aritmética/lógica será executada: 
 
 
 
 Vamos definir 2 bits para identificar cada uma das categorias de 
instruções (opALU): 
 00 acesso à memória (lw, sw) [add] 
 01 desvio (beq, bne) [sub] 
 10 lógico-aritméticas ([add, sub, and, or, slt]) 
op rs rt rd shamt funct 
6 bits 6 bits 5 bits 5 bits 5 bits 5 bits 
Controle 
da ULA 
 funct 
OpALU 
operação ULA 6 bits 
2 bits 4 bits 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
7 
Lógica de Controle da ULA 
End Reg 1 
End Reg 2 
End Dest 
Entrada 
Dado 
lido 2 
Dado 
lido 1 5 
 5 
5 
EscreveReg 
16 32 
Extensão 
de sinal 
EscreveMem 
Endereço 
Entrada 
Dado lido 
LeMem 
U
L
A
 
zero 
M
U
X 
M
U
X 
P C 
s
o
m
a 
Endereço 
Instrução 
Instruções 
4 
M
U
X 
s
o
m
a 
Desl. 
Esq 
2 bits. 
M
U
X 
Controle 
ULA 
6 
4 
OpULA func 
2 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
8 
Circuito de Controle 
 Projeto do Circuito de controle da ULA 
 xxx indica irrelevâncias (don't cares) 
Código de 
operação da 
instrução 
OpALU Operação da 
Instrução 
Campo 
Função 
Operação 
desejada da 
ULA 
Entrada 
de 
controle 
da ULA 
LW 00 load word xxxxxx soma 0010 
SW 00 store word xxxxxx soma 0010 
Beq 01 branch equal xxxxxx subtração 0110 
Tipo R 10 add 100000 soma 0010 
Tipo R 10 subtract 100010 subtração 0110 
Tipo R 10 and 100100 and 0000 
Tipo R 10 or 100101 or 0001 
Tipo R 10 set less than 101010 set less than 0111 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
9 
Controle da ULA 
Com base nas definições anteriores podemos montar a Tabela Verdade 
do circuito que gera os 4 bits de controle da ULA 
0 
0 
0 
0 
0 
0 
Entradas Saídas 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
10 
Equações Lógicas 
ALU1 
1 
x 
ALU0 
x 
1 
F5 
x 
x 
F4 
x 
x 
F3 
x 
x 
F2 
x 
x 
F1 
1 
x 
F0 
x 
x 
OpALU Campo de Função 
ALU1 
x 
0 
ALU0 
x 
x 
F5 
x 
x 
F4 
x 
x 
F3 
x 
x 
F2 
0 
x 
F1 
x 
x 
F0 
x 
x 
opALU Campo de Função 
ALU1 
1 
1 
ALU0 
x 
x 
F5 
x 
x 
F4 
x 
x 
F3 
1 
x 
F2 
x 
x 
F1 
x 
x 
F0 
x 
1 
opALU Campo de Função 
Op2 
Op1 
Op0 
opALU0 opALU1 
F1 
F3 
F0 
F2 
Op3 
F5 
F4 
Obs.: considerando x como 0 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
11 
Unidade de Controle Uniciclo 
 A unidade de controle deve, a partir do código da 
instrução, fornecer os sinais que realizam as instruções 
na unidade operativa 
Unidade 
de 
Controle 
Opcode 
bits[31-26] 
Sinais de Controle 
para a via de dados 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
12 
Entrada da Unidade de Controle 
 as informações necessárias a execução de uma instrução são 
retiradas da própria instrução 
 O opcode (código de operação) sempre está nos bits [31-26]=Op[5:0] 
 Os 2 registradores a serem lidos (rs e rt) sempre estão nas posições 
[25-21] e [20-16] (tipo-R, beq e sw) 
 O registrador base (rs) para as instruções lw e sw sempre está 
especificado nas posições [25-21] 
 Os 16 bits de deslocamento para as instruções beq, lw e sw estão sempre 
nas posições [15-0] 
 O registrador destino está em uma das duas posições 
 [20-16] para lw (registrador rt) 
 [15-11] para instruções aritméticas/lógicas (registrador rd) 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
13 
Sinais de Controle 
 A unidade de 
controle de prover: 
 
 sinais para os 
multiplexadores 
 sinais de leitura e 
escrita para as 
memórias 
 seleção da 
operação da ULA 
 controle do novo 
endereço a ser 
carregado no PC, 
para instruções de 
salto 
0 
1 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
14 
Sinais de Controle 
0 
1 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
15 
Tabela Verdade do Controle 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
16 
Implementações 
 Lógica Combinacional Clássica – Tabela verdade, qual tamanho? 
 ROM (Read Only Memory) – Qual o tamanho? 
 PLA (Programable Logic Array) – Ferramentas automáticas 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
17 
Processador MIPS Uniciclo 
0 
1 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
18 
Implementação Incremental 
 Uma vez construído o processador queremos adicionar uma nova 
instrução à ISA 
 
1. Verificar se o Caminho de Dados possui as funcionalidades que a nova 
instrução necessita; 
2. Adicionar ao Bloco de Controle os sinais de controle para a nova 
instrução, mantendo os sinais anteriores; 
 
Ex.: Estender a organização do MIPS para dar suporte a execução da 
instrução JUMP, desvio incondicional 
O endereço de desvio é obtido por: 
{{PC+4[31 – 28]},{Instrução[25 – 0]}, 2’b00} 
onde {},{} indica concatenação de bits 
 
 
 
UnB/CIC 113468– Introdução aos Sistemas Computacionais 
19 
Processador MIPS Uniciclo 
MIPS X-Ray 
Obs.: j está no caminho de dados (trocado) mas não está no controle do Tool !!!

Outros materiais