Вы находитесь на странице: 1из 6

LISTA 1 PIPELINE - 2014

01.
#include <reg.h>
.set noreorder
.text
.globl start
.ent start
start:
add t0, t1, t2
nop
nop
nop
nop
.end start
No cdigo acima o add to, t1, t2 guarda em t0 /!, a soma de t1/r" com t2 /r10. #endo $ue os
%alores distintos dados aos registradores &oram t1/r"'2 e t2/r10'( de &orma manual como mostra
a &igura acima.
a) O que acontece nos diferentes est!ios do "i"e#ine$
1.%usca da
instru&'o
) instru*+o &oi
lida na memria
usando o
endere*o no ,-
.oi obser%ado a instru*+o sendo lida da memria usando o endere*o no ,- e depois colocada no
registrador de pipeline /.//0. 1m seguida o endere*o do ,- &oi incrementado em 2 pelo somador
e depois escrito de %olta ao ,- para $ue &i$ue pronto para o prximo ciclo de cloc3 e em seguida
&oi sal%o no registrador /.//0. 4 mux deste ciclo &icou setado como 0 para alimentar o ,- para a
prxima instru*+o.
2.(ecodifica&'o
4bser%amos $ue no est5gio decodi&ica*+o da instru*+o aconteceu a leitura do registrador de
pipeline /.//0 &ornecendo o nome dos registradores r" e r10 ao banco de registradores, em
seguida percebeu6se a escrita do conte7do do banco de registradores no registrador de pipeline
/0/18 em con9unto com o %alor de ,- incrementado $ue %eio do registrador /.//0.
).E*ecu&'o
.oi obser%ado $ue a ):; recebeu o conte7do dos registradores r" e r10 ad%indo do registrador de
pipeline /0/18, sendo $ue o registrador r10 antes de ser recebido pela ):; passou pelo controle
do mux e com isso o mux recebeu o %alor 0. )o &inal a ):; compara o resultado da opera*+o com
<ero e como neste caso =de acordo com os dados inseridos inicialmente> &oi &also ela setou o
campo com <ero e o %alor do registrador r10 &oi copiado tamb?m em 18/@1@. .oi obser%ado $ue
o add =somador> recebeu o ,- incrementado e o deslocamento do registrador /0/18, por?m
mante%e o mesmo resultado do ,- por$ue no caso desta instru*+o de adi*+o s usa
registradores e n+o ? necess5rio o endere*o $ue %eio do somador.
4.Ar+a,ena+ento do resu#tado
Neste est5gio &oi obser%ado $ue o resultado da ):; &oi escrito no registrador de pipeline 18/@1@
e carregado o resultado no registrador de pipeline @1@/AB. 4 %alor ad%indo do 18/@1@ n+o &oi
escrito no banco de memria por$ue este &oi setado com 0, isto ?, n+o permitiu a escrita.
4 prximo ciclo mostra $ue aps o %alor ser gra%ado no registrador @1@/AB o mux &oi setado em
0 indicando $ue o dado n+o %eio da memria e dessa &orma o dado &oi escrito em r!, &inali<ando o
processo.
b> C -iclos
-.EST/O 2
0escri*+o da instru*+o #0 to1 02t1). 4 registrador t1 &oi iniciali<ado com o endere*o de memria
30020014 e colocado manualmente o %alor inicial (. 4 %alor de t0 ser5 guardado no registrador
!, t1 ser5 guardado no registrador r" =r!/t0 e r"/t1>.
a) O que acontece nos diferentes est!ios do "i"e#ine$
1. Busca da instru*+o
.oi obser%ado a instru*+o #0 to1 02t1) sendo lida da memria usando o endere*o no ,- e depois
colocada no registrador de pipeline /.//0. 1m seguida o endere*o do ,- &oi incrementado em 2
pelo somador e depois escrito de %olta ao ,- para $ue &i$ue pronto para o prximo ciclo de cloc3
e em seguida &oi sal%o no registrador /.//0. 4 mux deste ciclo &icou setado como 0 para alimentar
o ,- para a prxima instru*+o.
2. 0ecodi&ica*+o
4bser%amos $ue no est5gio decodi&ica*+o da instru*+o aconteceu a leitura do registrador de
pipeline /.//0 &ornecendo o nome dos registradores r! e r" ao banco de registradores. 4 conte7do
do registrador base r" =!0020012> e r!/t0 &oram lidos e alimentaram o registrador de pipeline
/0/18 em con9unto com o %alor de ,- incrementado $ue %eio do registrador /.//0 para o /0/18. 4
%alor de deslocamento da instru*+o &oi extendido para (2 bits =setados como <eros> e arma<enado
no registrador /0/18.
(. 1xecu*+o
.oi obser%ado $ue a ):; recebeu o conte7do do registrador base r" %indo do registrador /0/18 e
o deslocamento tamb?m %eio do registrador /0/18, passando pelo mux $ue &oi setado como 1 e
em seguida a ):; calculou o endere*o e %eri&icou $ue o resultado ? di&erente de <ero, setando o
bit D14 com o %alor 0, arma<enando o resultado da opera*+o no registrador de pipeline
18/@1@. 4 somatrio recebeu o endere*o da instru*+o e o deslocamento deslocado de =shi&t le&t
2> 2, &oi &eita a opera*+o e arma<enou o resultado no registrador de pipeline 18/@1@. 4 conte7do
do registrador r! $ue %eio de /0/18 &oi arma<enado em 18/@1@.
2. )cesso E memria
Neste est5gio &oi obser%ado $ue de base do endere*o resultante da ):; gra%ado no registrador
de pipeline 18/@1@ o bit @em/ead &oi setado como 1 e &oi &eita a leitura da memria com base
no endere*o $ue %eio de 18/@1@ gra%ando o conte7do e seu endere*o no registrador de pipeline
@1@/AB. 4 endere*o da prxima instru*+o ,- &icou disponF%el em 18/@1@.
2. 1scrita do esultado
)ps o %alor ser gra%ado no registrador @1@/AB o mux e o bit egGrite &oram setados como 1 e
liberou a gra%a*+o do conte7do no registrador r!, &inali<ando o processo.
4) -uais o"era&5es s'o feitas na AL.$
01 4pera*+o =#oma>. .oi reali<ada a soma do endere*o base com o deslocamento.
c> Huantos ciclos s+o necess5rios para $ue o registrador tenha o %alor corretoI
.oram utili<ados 0C ciclos
d> Jodos os est5gios do pipeline s+o utili<adosI
#im, todos.
-.EST/O )
0escri*+o da instru*+o s0 to1 42t1). 4 registrador t1 &oi iniciali<ado com o endere*o de memria
30020014. 4 %alor de t0 ser5 guardado no registrador ! e colocado manualmente o %alor inicial
(, t1 ser5 guardado no registrador r" =r!/t0 e r"/t1>.
a) O que acontece nos diferentes est!ios do "i"e#ine$
1. Busca da instru*+o
.oi obser%ado a instru*+o s0 to1 42t1) sendo lida da memria usando o endere*o no ,- e depois
colocada no registrador de pipeline /.//0. 1m seguida o endere*o do ,- &oi incrementado em 2
pelo somador e depois escrito de %olta ao ,- para $ue &i$ue pronto para o prximo ciclo de cloc3
e em seguida &oi sal%o no registrador /.//0. 4 mux deste ciclo &icou setado como 0 para alimentar
o ,- para a prxima instru*+o.
2. 0ecodi&ica*+o
4bser%amos $ue no est5gio decodi&ica*+o da instru*+o aconteceu a leitura do registrador de
pipeline /.//0 &ornecendo o nome dos registradores r! e r" ao banco de registradores. 4 conte7do
do registrador base r" =!0020012> e r!/t0 &oram lidos e alimentaram o registrador de pipeline
/0/18 em con9unto com o %alor de ,- incrementado $ue %eio do registrador /.//0 para o /0/18. 4
%alor de deslocamento da instru*+o &oi extendido para (2 bits =setados como <eros> e arma<enado
no registrador /0/18.
(. 1xecu*+o
.oi obser%ado $ue a ):; recebeu o conte7do do registrador base r" %indo do registrador /0/18 e
o deslocamento tamb?m %eio do registrador /0/18, passando pelo mux $ue &oi setado como 1 e
em seguida a ):; calculou o endere*o e %eri&icou $ue o resultado ? di&erente de <ero, setando o
bit D14 com o %alor 0, arma<enando o resultado da opera*+o no registrador de pipeline
18/@1@. 4 somatrio recebeu o endere*o da instru*+o e o deslocamento deslocado de 2
=shi&tle&t2>, &oi &eita a opera*+o e arma<enou o resultado no registrador de pipeline 18/@1@. 4
conte7do do registrador r! $ue %eio de /0/18 &oi arma<enado em 18/@1@. .oi percebido $ue o
shi&tle&t2 reali<ou a con%ers+o do endere*o $ue esta%a em hexadecimal para bin5rio, reali<ando o
deslocamento.
2. )cesso E memria
Neste est5gio &oi obser%ado $ue de base do endere*o resultante da ):; gra%ado no registrador
de pipeline 18/@1@ o bit @em/Arite &oi setado como 1 e &oi &eita a escrita do dado no banco de
memria. 4 resultado da opera*+o da ):; =endere*o !002001!> &oi arma<enado no registrador
@1@/AB. 4 endere*o da prxima instru*+o ,- &icou disponF%el em 18/@1@ e o bit D14
=setado como 0> continua disponF%el no registrador de pipeline 18/@1@.
2. 1scrita do esultado
1ste ciclo apenas &oi executado. )ps o %alor ser gra%ado no registrador @1@/AB o mux e o bit
egGrite &oram setados como 0, a in&orma*+o &icou disponF%el, por?m, n+o &oi gra%ada no
registrador, &inali<ando o processo.
4) -uais o"era&5es s'o feitas na AL.$
01 4pera*+o =#oma>. .oi reali<ada a soma do endere*o base com o deslocamento.
c> Huantos ciclos s+o necess5rios para $ue a memria tenha o %alor corretoI
.oram utili<ados 02 ciclos
d> Jodos os est5gios do pipeline s+o utili<adosI
#im, todos.
-.EST/O 4
0escri*+o da instru*+o 4eq t01 t11 L1. 4 %alor de t0 ser5 guardado no registrador ! e colocado
manualmente o %alor inicial (, t1 ser5 guardado no registrador r" e colocado manualmente o %alor
( =r!/t0 e r"/t1>.
a) O que acontece nos diferentes est!ios do "i"e#ine$
1. Busca da instru*+o
.oi obser%ado a instru*+o 4eq t01 t11 L1 sendo lida da memria usando o endere*o no ,- e
depois colocada no registrador de pipeline /.//0. 1m seguida o endere*o do ,- &oi incrementado
em 2 pelo somador e depois escrito de %olta ao ,- para $ue &i$ue pronto para o prximo ciclo de
cloc3 e em seguida &oi sal%o no registrador /.//0. 4 mux deste ciclo &icou setado como 0 para
alimentar o ,- para a prxima instru*+o.
2. 0ecodi&ica*+o
4bser%amos $ue no est5gio decodi&ica*+o da instru*+o aconteceu a leitura do registrador de
pipeline /.//0 &ornecendo o nome dos registradores r! e r" ao banco de registradores. 4 conte7do
do registrador r! e r" &oram lidos e alimentaram o registrador de pipeline /0/18 em con9unto com o
%alor de ,- incrementado $ue %eio do registrador /.//0 para o /0/18. 4 %alor de deslocamento da
instru*+o &oi extendido para (2 bits =setados como <eros> e arma<enado no registrador /0/18.
(. 1xecu*+o
.oi obser%ado $ue a ):; recebeu o conte7do dos registradores r! e r" %indos do registrador
/0/18, sendo $ue o r! &oi passado direto para a ):; e o r" &oi repassado aps o mux ser setado
como <ero e &oi &eita a compara*+o entre os %alores desses dois registradores. -omo s+o iguais, o
bit D14 &oi setado em 1 e o resultado da ):; em 0000000 e arma<enado no registrado
18/@1@. 4 componente somatrio recebeu o endere*o da instru*+o e o deslocamento deslocado
de 2 =shi&tle&t2>, &oi &eita a opera*+o e arma<enou o resultado no registrador de pipeline 18/@1@.
4 conte7do do registrador r"/t1 $ue %eio de /0/18 &oi arma<enado em 18/@1@. .oi percebido
$ue o shi&tle&t2 reali<ou a con%ers+o do endere*o $ue esta%a em hexadecimal para bin5rio,
reali<ando o deslocamento e con%ertendo em hexadecimal no%amente.
2. )cesso E memria
Neste est5gio &oi obser%ado $ue o conte7do de r" %indo do registrador de pipeline 18/@1@ est5
disponF%el. )ps a opera*+o da ):; o bit D14 ? setado com 1 alterando o mux como 1 e
permitindo a atuali<a*+o do ,- pelo endere*o arma<enado no registrador pipeline 18/@1@. 1m
seguida seguiu6se o &luxo para o deslocamento :1.
4) -uais o"era&5es s'o feitas na AL.$
01 4pera*+o =subtra*+o>. .oi reali<ada a subtra*+o entre os registradores r! e r" e o resultado
dessa compara*+o &oi subtraFdo com <ero.
c> Huantos ciclos s+o necess5rios para $ue o ,- tenha o endere*o corretoI
.oram utili<ados 02 ciclos
d> Jodos os est5gios do pipeline s+o utili<adosI
N+o, exceto a escrita do resultado.

Вам также может понравиться