Vous êtes sur la page 1sur 22

Universidade Federal do Piau

Centro de Tecnologia
Curso de Engenharia Eltrica
MICROCONTROLADORES
Prof. Marcos Zurita
zurita@ufpi.edu.r
!!!.ufpi.r"zurita
Teresina - 2012
Arquiteturas II
#
Microcontroladores $ Prof. Marcos Zurita
Sumrio

%. Pipeline

%.%. E&ecu'(o e) Pipeline

%.#. Conflitos e) Pipeline

Conflitos Estruturais

Conflito de *ados

Conflito de Controle

#. +r,uiteturas C-.C/ 0-.C/ 1-.C

#.%. +r,uitetura C-.C

#.#. +r,uitetura 0-.C

#.2. +r,uitetura 1-.C

3iliografia
2
Microcontroladores $ Prof. Marcos Zurita

%. Pipeline
4
Microcontroladores $ Prof. Marcos Zurita
Pipeline
Execuo Sequencial

Considere a e&ecu'(o se,uencial de 4 instru'5es e)


u) processador onde cada instru'(o co)posta de 4
est6gios/ cada u) consu)indo u) ciclo de clock7
T
E1 E2 E3 E4
Instruo 1
T
E1 E2 E3 E4
Instruo 2
T
E1 E2 E3 E4
Instruo 3
T
E1 E2 E3 E4
Instruo 4
Te)po total 8 4T 9%: ciclos de cloc;<
=
Microcontroladores $ Prof. Marcos Zurita
Pipeline
Execuo em Paralelo Pipeline!

Considere agora ,ue as )es)as instru'5es se>a)


e&ecutadas e) u) processador cu>a e&ecu'(o feita
e) pipeline7

+s )es)as 4 instru'5es
passa) a ser e&ecutadas
e) )enos da )etade do
te)po do processador
anterior.
E1 E2 E3 E4
Instruo 1
E1 E2 E3 E4
Instruo 2
E1 E2 E3 E4
Instruo 3
E1 E2 E3 E4
Instruo 4
1,75T 9? ciclos de clock<
:
Microcontroladores $ Prof. Marcos Zurita
Pipeline
Execuo em Pipeline

Trata@se de u)a tcnica de paralelis)o no nvel das


instru'5es de u) processador.

+ )6,uina capaz de processar )ais de u)a instru'(o


ao )es)o te)po/ n(o precisando esperar ,ue u)a u)a
instru'(o ter)ine para iniciar a e&ecu'(o de outra.

1u) processador e) pipeline/ a e&ecu'(o de cada


est6gio de u)a instru'(o realizada por u) con>unto
distinto de co)ponentes.

Co) isso/ u)a vez ,ue u)a instru'(o passa para o


est6gio E#/ o hard!are usado para e&ecutar o est6gio
E% n(o )ais necess6rio/ podendo ser usado pela
prA&i)a instru'(o.
?
Microcontroladores $ Prof. Marcos Zurita
Pipeline

Para o e&e)plo anterior/ a partir do 4B ciclo de clock/ os


circuitos de cada u) dos est6gios passa) a ser
per)anente)ente utilizados/ cada ciclo por u)a
instru'(o CdiferenteD.
E1 E2 E3 E4
Instruo 1
E1 E2 E3 E4
Instruo 2
E1 E2 E3 E4
Instruo 3
E1 E2 E3 E4
Instruo 4
E1 E2 E3 E4
Instruo 5
E1 E2 E3 E4
Instruo 6
E1 E2 E3 E4
Instruo 7
E1 E2 E3 E4
Instruo 8
E1 E2 E3 E4
Instruo 9
E1 E2 E3 E4
Instruo 10
E1 E2 E3 E4
Instruo 11
E1 E2 E3 E4
Instruo 12
E1 E2 E3 E4
Instruo 13
E1 E2 E3
Instruo
E1 E2
Instru
E1
In
Todos os 4 est6gios est(o e) uso
E
Microcontroladores $ Prof. Marcos Zurita
Pipeline

1atural)ente/ para os circuitos de cada est6gio de u)a


)6,uina possa) operar e) pipeline/ deve) haver
registradores ou latches separando u) est6gio do outro7

Eles garante) ,ue o resultado do est6gio anterior/


necess6rio F opera'(o do est6gio atual/ n(o ser6 alterado
pela prA&i)a instru'(o ao usar o est6gio anterior.
E17
3usca de
-nstru'(o
E27
*ecodifica'(o
e Geitura dos
0egistradores
E37
Hpera'(o da
UG+ e do
*eslocador
E47
Escrita nos
0egistradores
G% G# G2
Ex"# Arquitetura para Execuo em Pipeline
E17
3usca de
-nstru'(o
E27
*ecodifica'(o
e Geitura dos
0egistradores
E37
Hpera'(o da
UG+ e do
*eslocador
E47
Escrita nos
0egistradores
Ex"# Arquitetura para Execuo Sequencial
I
Microcontroladores $ Prof. Marcos Zurita
Pipeline
Ex"7 Convers(o de u)a )icroar,uitetura tipo M-C@% para
e&ecu'(o e) pipeline.
0egistradores
$ A
UG+
%
0egistrador de
sada da UG+
0egistradores
de entrada da
UG+
Me)Aria de
Progra)a
I&
I'(
9Unidade de
3usca de
-nstru'(o<
%J
Microcontroladores $ Prof. Marcos Zurita
Pipeline

H pipeline n(o )elhora a latKncia de u)a tarefa7

H te)po de e&ecu'(o de u)a instru'(o o )es)o/ co)


ou se) pipelining.

Entretanto/ o pipeline capaz de )elhorar a vaz(o


9throughput< de toda o traalho7

U)a nova instru'(o finalizada a cada ciclo de clock 9a


partir do 4B ciclo<.

1e) todas )icroar,uiteturas de processadores se,uen@


ciais s(o capazes de sere) convertidas para e&ecu'(o
e) pipeline de )aneira ade,uada.

+lguns processadores se,uenciais apresenta) u)a forte


dependKncia da conclus(o de est6gios ou instru'5es para
,ue novas instru'5es possa) ser e&ecutadas se) ,ue
ha>a) con)litos.
%%
Microcontroladores $ Prof. Marcos Zurita
Pipeline
%on)litos em Pipeline

.itua'5es de e&ecu'(o no pipeline e) ,ue a instru'(o


seguinte n(o pode ser e&ecutada no prA&i)o ciclo de
relAgio.

Tipos de Conflitos7

Estruturais

*e dados

*e controle
%#
Microcontroladores $ Prof. Marcos Zurita
Pipeline
%on)litos Estruturais

H hard!are n(o suporta u)a co)ina'(o de instru'5es


e&ecutadas no pipeline.

Ex"7 U)a dada )icroar,uitetura faz leitura e) registra@


dores diferentes e) )ais de u) est6gio de u)a )es)a
instru'(o/ i)pedindo ,ue outras instru'5es leia) os
registradores nesses est6gios.

Soluo7

Pro>eto ade,uado do ca)inho de dados.


%2
Microcontroladores $ Prof. Marcos Zurita
Pipeline
%on)lito *e +a*os

+ e&ecu'(o de u)a instru'(o depende de u) dado de


instru'(o anterior e o dado ainda n(o est6 disponvel.

E&.7

Soluo7

+dianta)ento 9forwarding<.
Coisa1: TOS=H+M!
Coisa2: M"!=TOS# $r
Coisa3: S%=S%+1#
Coisa4: %C=%C+1# &'t()
Coisa1: TOS=H+M!
Coisa2: S%=S%+1#
Coisa3: %C=%C+1# &'t()
Coisa4: M"!=TOS# $r
%4
Microcontroladores $ Prof. Marcos Zurita
Pipeline
%on)lito *e %ontrole

Hrigina)@se na necessidade de se to)ar u)a decis(o


aseada nos resultados de u)a instru'(o/ a ,ual ainda
n(o foi concluda.

Muito co)uns e) instru'5es de salto condicional.

Soluo7

U)a possvel solu'(o a parada 9ta)) cha)ada de


ColhaD</ ou se>a/ interro)per a progress(o das instru'5es
pelo pipeline.
%=
Microcontroladores $ Prof. Marcos Zurita

#. +r,uiteturas 0-.C/ C-.C e 1-.C
%:
Microcontroladores $ Prof. Marcos Zurita
Arquiteturas &IS%, %IS% e -IS%
Arquitetura %IS%

Complex Instruction Set Computer $ Co)putador co)


u) Con>unto Co)ple&o de -nstru'5es.

*esigna ar,uiteturas de
instru'5es co)ple&as/
i)ple)entadas atravs de u)a
)e)Aria de controle.

Cada )icroinstru'(o correspon@


de a u)a palavra de controle
9CL @ Control Word<.

% instru'(o C-.C no nvel -.+ 8


v6rias CLs.
Me)Aria de
Progra)a
PC
MPC
Me)Aria de
Controle
CL
Ca)inho
de *ados
Me)Aria de
*ados
%?
Microcontroladores $ Prof. Marcos Zurita
Arquiteturas &IS%, %IS% e -IS%

Este tipo de ar,uitetura tornou@se )uito popular na


dcada de ?J.

Co)o a )e)Aria de progra)a era )uito lenta os


pro>etistas tentara) au)entar o dese)penho cirando
instru'5es co)ple&as.

Cada instru'(o conso)e v6rios ciclos de clock/ e cada


ciclo possui sua prApria CL ar)azenada e) u)a r6pida
)e)Aria de controle 9interna ao processador<.

Cada linha da )e)Aria de controle/ onde est(o


ar)azenadas as CL/ cont) u)a )icroinstru'(o.

H conceito de )icroprogra)a'(o per)ite a cria'(o de


,ual,uer con>unto de instru'5es/ )es)o co)ple&as.

-nfeliz)ente/ pouco eficiente para pipelining.


%E
Microcontroladores $ Prof. Marcos Zurita
Arquiteturas &IS%, %IS% e -IS%
Arquitetura &IS%

Reduced Instruction Set Computer $ Co)putador co)


u) Con>unto 0eduzido de -nstru'5es.

*esigna ar,uiteturas de
instru'5es si)ples/
i)ple)entadas atravs de u)
decodificador.

% instru'(o 0-.C no nvel -.+ 8


u)a 9ou poucas< CLs.
Me)Aria de
Progra)a
PC
-0
*ecodificador
CL
Ca)inho
de *ados
Me)Aria de
*ados
%I
Microcontroladores $ Prof. Marcos Zurita
Arquiteturas &IS%, %IS% e -IS%

Este tipo de ar,uitetura tornou@se )uito popular no final


da dcada de EJ.

Eli)ina todas as instru'5es co)ple&as e a )e)Aria de


controle/ sustituindo@a por u) decodificador hardwired.

Todas as instru'5es 0-.C deve) ser si)ples e e&ecutar


e) u) ou poucos ciclos de cloc;/ facilitando sua
i)ple)enta'(o e) pipeline.

Co)o as instru'5es 0-.C s(o si)ples/ cada instru'(o


C-.C corresponde/ e) )dia/ a duas instru'5es 0-.C/ o
,ue faz co) ,ue u)a )es)a i)ple)enta'(o -.+
precise do doro de linhas de cAdigo 0-.C do ,ue C-.C.
#J
Microcontroladores $ Prof. Marcos Zurita
Arquiteturas &IS%, %IS% e -IS%
Arquitetura -IS%

No Instruction Set Computer $ Co)putador se) u)


Con>unto -nstru'5es.

*esigna ar,uiteturas nas ,uais a


palavra de controle 9CL<
direta)ente gerada pelo
progra)a/ se) a necessidade de
u)a etapa de decodifica'(o.

U)a CL 8 v6rias instru'5es -.+.


Me)Aria de
Progra)a
PC
CL
Ca)inho
de *ados
Me)Aria de
*ados
#%
Microcontroladores $ Prof. Marcos Zurita
Arquiteturas &IS%, %IS% e -IS%

Eli)ina co)pleta)ente o est6gio de decodifica'(o/


passando ar)azenar as palavras de controle 9CLs<
direta)ente na )e)Aria de progra)a.

Co)o cada CL / e) )dia/ # a 2 vezes )ais larga ,ue


u)a instru'(o -.+/ a )e)Aria de progra)a au)enta # a
2 vezes e) largura.

Por outro lado/ cada CL pode e&ecutar )ais de u)a


instru'5es 0-.C no nvel -.+/ o ,ue reduz o nM)ero de
linhas de cAdigo.

Co)o instru'(o 1-.C controla direta)ente todo o


ca)inho de dados/ possvel )a&i)izar a eficiKncia da
)6,uina para cada aplica'(o.
##
Microcontroladores $ Prof. Marcos Zurita
$i.lio/ra)ia

+ndre! .. Tanenau)/ Organizao


Estruturada de Computadores/ =a Ed./
Pearson/ #JJ:.

N. G. OennessP Q *. +. Patterson/ Arquitetura


de Computadores - ma A!ordagem
"uantitati#a/ Editora Ca)pus/ #JJ2.

Lillians .tallings/ Arquitetura e Organizao


de Computadores/ =R Edi'(o/ Pearson/ #JJ2.

+lert Paul Malvino/ $i%ro%omputadores e


$i%ropro%essadores/ McSra!@Oill/ %IE=.

Oerert Tau/ Cir%uitos &igitais e


$i%ropro%essadores/ Mcgran!@Oill/ %IE4.

1otas de aula do professor -van .araiva/ UFP-.