Você está na página 1de 53

Infra Estrutura e Hardware

Grupo:
Andrêsa Cibelly
Cleyton Vanut
Clébia Alves
Ronnie E. Santos
2010
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

A implementação de
3 - Intruções de Desvio: outras instruções
Beq e Jump pode ser feita de
maneira similar
O Processador: Caminho de dados e controle
Para qualquer instrução, os dois primeiros passos
são idênticos:
Enviar o valor armazenado no Program Counter
1
(PC) para a memória.

Ler um ou dois registradores, usando os campos


2 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 Endereço Instrução
Reg 1#
ULA Endereço
C Reg 2#
Memória de Memória de
Reg 3#
Instrução Dados

Dados

O Processador: Caminho de dados e controle


Dados

P Endereço Instrução
Reg 1#
ULA Endereço
C Reg 2#
Memória de Memória de
Reg 3#
Instrução 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 Endereço Instrução
Reg 1#
ULA Endereço
C Reg 2#
Memória de Memória de
Reg 3#
Instrução 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 Endereço Instrução
Reg 1#
ULA Endereço
C Reg 2#
Memória de Memória de
Reg 3#
Instrução Dados

Dados

Se a instrução for...

Aritmética Acesso à memória Desvios condicionais

O resultado O resultado obtido na Devem usar a saída


processado pela ULA ULA é usado como da ULA para
deve ser escrito em endereço para determinar o
um registrador. armazenar valores endereço da próxima
vindos da memória nos instrução a ser
registradores, ou o executada
contrario

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 Endereço Instrução
Reg 1#
ULA Endereço
C Reg 2#
Memória de Memória de
Reg 3#
Instrução 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.

Somador
Memória de Instruções PC
O Processador: Caminho de dados e controle
 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


 Pararealizar 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 ULA

O Processador: Caminho de dados e controle


 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


 Pararealizar 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 Unidade de Extensão do Sinal

O Processador: Caminho de dados e controle


 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


 Umainstrução de desvio condicional como, por
exemplo:

 Beq $t1,$t2, deslocamento

 Possui três operandos.

 Doisregistradores 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


 Pararealizar 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.

 Todosestes 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çõeslógicas e aritméticas: add, sub,


and, or e slt;

 Controle de fluxo: beq.

O Processador: Caminho de dados e controle


 Executartodas 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 Efeito - Inativo

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 O segundo operando da ULA é resultado da
segundo registrador d banco de extensão de sinal dos 16 bits menos
registradores. significativos da instrução.

FontePC PC é substituído pelo valor presente PC é substituído pelo valor presente na saída
na saída do somador (PC+4) 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


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