Infra Estrutura e Hardware
Grupo:
2010
Andrêsa Cibelly
Cleyton Vanut
Clébia Alves
Ronnie E. Santos
Será mostrado:
Como construir o
Caminho de Dados e a
Unidade de Controle
O Processador: Caminho de dados e controle
1 - Instruções de Referência à memória:
 Load word (lw)
 Store Word (sw)
2 - Instruções Artimética e Lógicas:
add, sub, and, or e stl
3 - Intruções de Desvio:
Beq e Jump
O Processador: Caminho de dados e controle
A implementação de
outras instruções
pode ser feita de
maneira similar
Para qualquer instrução, os dois primeiros passos
são idênticos:
1
Enviar o valor armazenado no Program Counter
(PC) para a memória.
2
Ler um ou dois registradores, usando os campos
da instrução para selecionar os registradores.
add $t0, $s1, $s2
Sub $t1, $s3, $s4
lw $t1, 8($s5)
O Processador: Caminho de dados e controle
Após estes dois passos as ações necessárias a
completar a execução de uma instrução dependem
da classe de instrução em pauta.
Semelhanças:
Todas as classes usam a ULA após a leitura dos registradores;
Referência de Memória: efetuar cálculo de endereço;
Instruções Aritméticas: Execução da própria operação;
Desvios condicionais: Comparações.
O Processador: Caminho de dados e controle
Após usar a ULA, as instruções diferem:
Referência de Memória: acessa a memória para escrever/ler um dado;
Instruções Aritméticas: Escreve em um registrador o valor calculado
pela ULA;
add $t0, $s1, $s2
Desvios condicionais: Com base no resultado de uma comparação,
pode modificar o endereço da próxima instrução
O Processador: Caminho de dados e controle
Principais Unidades Funcionais e conexões entre elas
Dados
P
C
Endereço Instrução
Reg 1#
Reg 2#
Memória de
Instrução
Reg 3#
ULA
Endereço
Memória de
Dados
Dados
O Processador: Caminho de dados e controle
Dados
P
C
Endereço Instrução
Reg 1#
Reg 2#
Memória de
Instrução
Reg 3#
ULA
Endereço
Memória de
Dados
Dados
O processo começa no PC, que fornece o endereço da instrução à
Memória de Instrução
Após busca da instrução, os operandos armazenados em
registradores usados pela instrução, são especificados pelos
campos da própria instrução
O Processador: Caminho de dados e controle
Dados
P
C
Endereço Instrução
Reg 1#
Reg 2#
Memória de
Instrução
Reg 3#
ULA
Endereço
Memória de
Dados
Dados
Uma vez que os operandos em registradores tenham sido
buscados, podem ser operados para: calcular um endereço de
memória, o resultado de ma operação aritmética ou fazer
comparações
Após busca da instrução, os operandos armazenados em
registradores usados pela instrução, são especificados pelos
campos da própria instrução
O Processador: Caminho de dados e controle
Dados
P
C
Endereço Instrução
Reg 1#
Reg 2#
Memória de
Instrução
Reg 3#
ULA
Endereço
Memória de
Dados
Dados
Se a instrução for...
Aritmética
Acesso à memória
Desvios condicionais
O resultado
processado pela ULA
deve ser escrito em
um registrador.
O resultado obtido na
ULA é usado como
endereço para
armazenar valores
vindos da memória nos
registradores, ou o
contrario
Devem usar a saída
da ULA para
determinar o
endereço da próxima
instrução a ser
executada
O Processador: Caminho de dados e controle
Ao discutir o projeto de máquina, deve-se decidir:
 Como a lógica que vai implementá-la deve operar
 Como será o esquema de Clock nela usado.
Unidades Funcionais da implementação do MIPS são construídas a
partir de dois tipos de elementos lógicos:
 Elementos que operam sobre dados
 Elementos que contêm estados.
O Processador: Caminho de dados e controle
Elementos que operam sobre dados (combinacionais)
Sua saída depende das entradas presentes no momento, ou seja,
em presença das mesmas entradas, sempre produz a mesma saída.
ULA
ULA: Exemplo de elemento combinacional
O Processador: Caminho de dados e controle
Elementos de Estados
Um elemento contém estado (sequenciais) possui algum tipo
de memória interna.
Caso a máquina seja desligada, ao reinicializá-la os elementos
de estado serão carregados com os mesmo valores que tinham
antes.
Dados
P
C
Endereço Instrução
Reg 1#
Reg 2#
Memória de
Instrução
Reg 3#
ULA
Endereço
Memória de
Dados
Dados
O Processador: Caminho de dados e controle
Define quando os sinais podem ser lidos e quando
podem ser escritos.
Importante, pois se um sinal for lido e escrito ao
mesmo tempo, o valor da leitura pode corresponder
ao antigo, ao novo valor ou mesmo uma cominação
dos dois.
Para simplificar, trabalha-se com uma metodologia
sensível às transições de sinal do clock.
O Processador: Caminho de dados e controle

Num projeto de caminho de dados é preciso examinar
quais os componentes utilizados na execução de cada uma
das classes de instruções do MIPS. Assim, iniciamos com os
componentes do caminho de dados comum a todas as
instruções.
 Construímos,
a partir deles, as diversas seções do caminho
de dados para cada classe de instruções. Nesta construção
são mostrados os respectivos sinais de controle
associados aos componentes.
 Baseamos
esta construção nos seguintes passos de
execução de uma instrução: Busca,Execução e Resultado.
O Processador: Caminho de dados e controle

O primeiro passo de uma instrução é o passo de
busca. Ele é comum a qualquer instrução. Para
realizar a busca são necessários três
componentes: dois elementos de estado e um
somador.
Memória de Instruções
O Processador: Caminho de dados e controle
PC
Somador

Unidade de Memória: Armazenar as
instruções;
 Programa
Counter-PC: Armazena o
endereço da próxima instrução a ser
executada;
 Somador:
Calcula o endereço da próxima
instrução a ser executada.
O Processador: Caminho de dados e controle

O caminho de Dados para a realização da
busca é a seguinte:
O Processador: Caminho de dados e controle
Todas instruções lógicas e aritméticas do
processador MIPS precisam ler dois
registradores, realizar a operação sobre o
conteúdo dos registradores e escrever o
resultado num terceiro registrador. Esta
classe de instruções inclui operações
como add, sub, slt, and, or.
O Processador: Caminho de dados e controle
 Para
realizar a execução das instruções do Tipo R
ou Instruções Aritméticas-Lógicas como podemos
chamar, precisamos do Banco de Registradores e
da ULA.
Banco de Registradores
O Processador: Caminho de dados e controle
ULA
 Banco
de Registradores: conjunto de
registradores que podem ser lidos ou
escritos;
 ULA:
operar sobre os valores lidos dos
registradores.
O Processador: Caminho de dados e controle
O
caminho de Dados para a realização das
instruções do tipo R é a seguinte:
O Processador: Caminho de dados e controle
 Considere
as instruções de load word e store
word, que têm a forma:

lw $t1, deslocamento($t2) ou
 sw
$t1, deslocamento($t2).
 Elas
calculam um endereço de memória somando
o conteúdo de um registrador-base ($t2) ao
número de 16 bits sem sinal armazenado no
campo de deslocamento da instrução. O
registrador $t1 armazena o dado que vai ser lido
ou escrito na memória.
O Processador: Caminho de dados e controle
 Para
realizar a execução de instruções de Load e
Store precisamos do Banco de Registradores, da
unidade de Memória, da ULA e ainda da unidade
de extensão de sinal.
Unidade de Memória
O Processador: Caminho de dados e controle
Unidade de Extensão do Sinal

Banco de Registradores: Conjunto de registradores
que podem ser lidos ou escritos;
 ULA:
Para operar sobre os valores lidos dos
registradores.
 Unidade
de Memória: Onde poderemos ler e
escrever os dados;
 Unidade
de Extensão do Sinal: Para estender o
campo de 16 bits do deslocamento para um valor
de 32 bits com sinal.
O Processador: Caminho de dados e controle
O
caminho de Dados para a execução para as
instruções Load e Store é a seguinte:
O Processador: Caminho de dados e controle
 Uma
instrução de desvio condicional como, por
exemplo:
 Beq
$t1,$t2, deslocamento
 Possui
três operandos.
 Dois
registradores cujos conteúdos são
comparados, e um deslocamento de 16 bits
usado no cálculo do endereço alvo de desvio.
Esse endereço é obtido somando o campo de
deslocamento (com sinal estendido) da instrução
ao valor armazenado no PC.
O Processador: Caminho de dados e controle
Existem dois detalhes que precisam ser lembrados:
 a arquitetura do conjunto de instruções estabelece que
a base para o cálculo do endereço alvo do desvio é
igual ao valor do PC atualizado (PC + 4, passo de
busca);

a arquitetura também define que o campo de
deslocamento deve ser deslocado de 2 bits à esquerda.
Isto significa um deslocamento relativo à palavra do
processador. Este procedimento aumenta o alcance
efetivo do campo de deslocamento por um fator de
quatro.
O Processador: Caminho de dados e controle
 Para
realizar a execução de instruções de Desvio
Condicional precisamos calcular o Endereço Alvo
do desvio condicional,onde o caminho de dados
vai possuir uma Unidade de Extensão do sinal,
um Somador, um Banco de Registradores e da
ULA .
Campo de Deslocamento
O Processador: Caminho de dados e controle
O
caminho de Dados para a execução do
Desvio Condicional é a seguinte:
O Processador: Caminho de dados e controle
 Definidos
os caminhos de dados necessários a
todas as classes de instruções, podendo ser
combinadas em um único caminho de dados e
acrescentar o controle para completar a
implementação.
 Todos
estes caminhos mostrados são blocos
construtivos para a implementação que usa um
único período de clock, muito longo para
suportar a execução de todas as instruções.
O Processador: Caminho de dados e controle
 Acesso
à memória: lw e sw;
 Instruções
lógicas e aritméticas: add, sub,
and, or e slt;
 Controle
de fluxo: beq.
O Processador: Caminho de dados e controle
 Executar
todas as instruções dentro de um
único período de clock;
 Nenhum
dos recursos pode ser utilizado mais
de uma vez por instrução .
O Processador: Caminho de dados e controle

Para compartilhar um
elemento do caminho
de dados entre
classes de instruções
diferentes devemos
utilizar um
multiplexador;
 Um
circuito digital
com várias entradas e
apenas uma saída.
O Processador: Caminho de dados e controle
O Processador: Caminho de dados e controle
O Processador: Caminho de dados e controle

Este caminho de dados precisa tanto de um
somador quanto de uma ULA, uma vez que o
somador é usado para incrementar o PC
(Program Counter);
É
necessário também colocar um
multiplexador adicional para selecionar o
endereço a ser escrito no PC.
O Processador: Caminho de dados e controle
O Processador: Caminho de dados e controle
A unidade de controle deve ser
capaz de, a partir dos sinais de
entrada, gerar os sinais de escrita
para todos os elementos de
estado, os sinais seletores de
todos os multiplexadores e os
sinais para o controle das
operações da ALU.
O Processador: Caminho de dados e controle
Valores das três linhas
de controle da ULA e as
operações
correspondentes na
ULA.
São usadas somente
cinco das oito possíveis
combinações.
O Processador: Caminho de dados e controle
 São
representados por um X;
 Saída:
não importa o valor da saída gerado
por determinada combinação de entradas;
 Entrada:
aparecem quando uma saída
depende somente de algumas das entradas,
sendo essas representadas também por Xs,
na parte da tabela-verdade reservada às
entradas.
O Processador: Caminho de dados e controle
O Processador: Caminho de dados e controle
O Processador: Caminho de dados e controle
O Processador: Caminho de dados e controle
O Processador: Caminho de dados e controle
O Processador: Caminho de dados e controle
O Processador: Caminho de dados e controle
O Processador: Caminho de dados e controle
Nome do Sinal
Efeito – Ativo
RegDst
Número do registrador de destino vemNúmero do registrador de destino vem do
do campo rt (20-16).
campo rd (15-1).
EscReg
Nenhum
O registrado na entrada Reg a ser Escrito é
escrito com o valor presente na entrada de
dados.
UALFonte
O segundo operando da ULA vem do
segundo registrador d banco de
registradores.
O segundo operando da ULA é resultado da
extensão de sinal dos 16 bits menos
significativos da instrução.
FontePC
PC é substituído pelo valor presente
na saída do somador (PC+4)
PC é substituído pelo valor presente na saída
do somador que calcula desvio condicional.
LerMem
Nenhum
Conteúdo da memória de endereço é colocado
na saída Dado Lido.
EscMem
Nenhum
Conteúdo da memória de endereço é
substituído pelo valor presente na entrada
Dado a ser Escrito.
MemParaReg
O valor na entrada do registrador de O valor na entrada do registrador de escrita
escrita vem da ULA.
vem da memória de dados.
O Processador: Caminho de dados e controle
Efeito - Inativo
O Processador: Caminho de dados e controle
O projeto monociclo abordado possui um funcionamento
correto e todas as instruções
são executadas dentro de um único ciclo de clock. O
problema com este projeto é sua ineficiência.
A explicação para este fato está no tamanho do ciclo de
clock utilizado para todas as instruções.
O Processador: Caminho de dados e controle