Otimiza o de desempenho
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

OTIMIZAÇÃO DE DESEMPENHO PowerPoint PPT Presentation


  • 52 Views
  • Uploaded on
  • Presentation posted in: General

ARQUITETURA DE COMPUTADORES. OTIMIZAÇÃO DE DESEMPENHO. PIPELINE. TECNICA QUE PERMITE A SOBREPOSIÇÃO TEMPORAL DAS DIVERSAS FASES DE EXECUÇÃO DE INSTRUÇÃO. A TECNICA.

Download Presentation

OTIMIZAÇÃO DE DESEMPENHO

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Otimiza o de desempenho

ARQUITETURA DE COMPUTADORES

OTIMIZAÇÃO DE DESEMPENHO

PIPELINE

TECNICA QUE PERMITE A SOBREPOSIÇÃO TEMPORAL DAS DIVERSAS FASES DE EXECUÇÃO DE INSTRUÇÃO

A TECNICA

O MODULO OU SUBSISTEMA É DIVIDIDO EM 2 OU MAIS ESTAGIOS, CADA UM DELES SEPARADOS POR LATCHES, DE MODO QUE CADA ESTAGIO TRABALHE COM UM CONJUNTO DE OPERANDOS DIFERENTES


Pipeline nos modulos funcionais

ARQUITETURA DE COMPUTADORES

PIPELINE NOS MODULOS FUNCIONAIS

X4 Y4

X3 Y3

X2 Y2

X1 Y1

SEM PIPELINE

LD A

LD B

RA

RB

CLK

CLK

MODULO FUNCIONAL

(REALIZA OPERAÇÕES ARITMETICAS E LOGICAS)

Δ ATRASO DO MODULO

TEMPO GASTO COM OS 4 PARES DE OPERANDOS: 4 Δ

LD C

RC

CLK


Pipeline nos modulos funcionais1

ARQUITETURA DE COMPUTADORES

PIPELINE NOS MODULOS FUNCIONAIS

X3 Y3

X1 Y1

X4 Y4

X2 Y2

COM PARALELISMO

LD A

LD B

LD C

LD D

RA

RB

RC

RD

CLK

CLK

CLK

CLK

MODULO FUNCIONAL

MODULO FUNCIONAL

LD C

LD E

RC

RE

CLK

CLK

TEMPO GASTO COM OS 4 PARES DE OPERANDOS: 2 Δ


Pipeline nos modulos funcionais2

ARQUITETURA DE COMPUTADORES

PIPELINE NOS MODULOS FUNCIONAIS

X4 Y4

X3 Y3

X2 Y2

X1 Y1

COM PIPELINE

1

LD A

LD B

2

RA

RB

3

CLK

CLK

4

MODULO FUNCIONAL

Δ/2

Δ/2

Δ/2

Δ/2

Δ/2

Δ/2

REG´s

Δ/2

t

TEMPO GASTO COM OS 4 PARES DE OPERANDOS: 2,5 Δ

LD C

RC

CLK


Pipeline x paralelismo

ARQUITETURA DE COMPUTADORES

PIPELINE x PARALELISMO

PIPELINE: ATRASO MAIOR (2,5Δ), POREM SÓ HOUVE ACRESCIMO DE REGISTRADORES.

PARALELISMO: ATRASO MENOR(2Δ ), POREM FORAM ACRESCENTADOS REGISTRADORES E O MODULO FUNCIONAL FOI DUPLICADO


Pipeline no subsistema de controle

ARQUITETURA DE COMPUTADORES

PIPELINE NO SUBSISTEMA DE CONTROLE

ENQUANTO UMA MICROINSTRUÇÃO ESTÁ SENDO EXECUTADA, A SEGUINTE JÁ ESTÁ SENDO LIDA DA MEMORIA DE CONTROLE.

UNIDADE DE CONTROLE SEM PIPELINE

MEM DE CONTROLE

SUBSIST. DE DADOS

SEQ. DA MEM.

TEMPO DE MICROINSTRUÇÃO

=

TEMPO DE BUSCA DE MICROINSTRUÇÃO

+

TEMPO DE EXECUÇÃO DE MICROINSTRUÇÃO


Pipeline no subsistema de controle1

ARQUITETURA DE COMPUTADORES

PIPELINE NO SUBSISTEMA DE CONTROLE

SEM PIPELINE

BUSCA MICRO INSTR 1

EXEC. MICRO INSTR 1

BUSCA MICRO INSTR 2

EXEC. MICRO INSTR 2

BUSCA MICRO INSTR 3

EXEC. MICRO INSTR 3

COM PIPELINE

t

BUSCA MICRO INSTR 1

EXEC. MICRO INSTR 1

BUSCA MICRO INSTR2

EXEC. MICRO INSTR 2

BUSCA MICRO INSTR 3

EXEC. MICRO INSTR 3


Pipeline no subsistema de controle2

ARQUITETURA DE COMPUTADORES

PIPELINE NO SUBSISTEMA DE CONTROLE

IMPLEMENTAÇÃO DO PIPELINE

ACRESCIMO DE REGISTRADORES NA SAIDA DA MEMORIA DE CONTROLE

REGISTRADORES

MEM DE CONTROLE

SUBSIST. DE DADOS

SEQ. DA MEM.

TEMPO DE BUSCA DE MICROINSTRUÇÃO

TEMPO DE EXECUÇÃO DE MICROINSTRUÇÃO


Acertos e erros no pipeline

ARQUITETURA DE COMPUTADORES

ACERTOS E ERROS NO PIPELINE

ACERTONO PIPELINE

PROXIMA MICROINSTRUÇÃO EM ENDEREÇO CONHECIDO APRIORI.

ERRO NO PIPELINE

ENDEREÇO DA PROXIMA MICROINSTRUÇÃO DEPENDE DE RESULTADO DA EXECUÇÃO DA MICROINSTRUÇÃO ATUAL.

  • CORREÇÃO DO ERRONO PIPELINE

  • USO DE MICROINSTRUÇÃO DE DELAY ( NÃO FAZ NADA)

  • ABORTAR A EXECUÇÃO DA MICROINSTRUÇÃO QUE FOI PREVIAMENTE BUSCADA, CASO O RESULTADO DA EXECUÇÃO ATUAL ASSIM INDIQUE.

  • OBS: ABORTAR SIGNIFICA SUBSTITUIR UMA MICROINSTRUÇÃO POR UMA OUTRA QUE NÃO FAZ NADA, DURANTE A FASE DE EXECUÇÃO.


Pipeline no subsistema de dados

ARQUITETURA DE COMPUTADORES

PIPELINE NO SUBSISTEMA DE DADOS

ENQUANTO UMA INSTRUÇÃO ESTÁ SENDO EXECUTADA, A SEGUINTE JÁ ESTÁ SENDO LIDA DA MEMORIA DE PROGRAMA

SEM PIPELINE

MEM PROGRAMA

CPU

PC

IR

TEMPO DE INSTRUÇÃO

=

TEMPO DE BUSCA DE INSTRUÇÃO

+

TEMPO DE EXECUÇÃO DE INSTRUÇÃO


Pipeline no subsistema de dados1

ARQUITETURA DE COMPUTADORES

PIPELINE NO SUBSISTEMA DE DADOS

SEM PIPELINE

BUSCA DE INSTR 1

EXEC. DE INSTR 1

BUSCA DE INSTR 2

EXEC. DE INSTR 2

BUSCA DE INSTR 3

EXEC. DE INSTR 3

COM PIPELINE

t

BUSCA DE INSTR 1

EXEC. DE INSTR 1

BUSCA DE INSTR2

EXEC. DE INSTR 2

BUSCA DE INSTR 3

EXEC. DE INSTR 3


Pipeline no subsistema de dados2

ARQUITETURA DE COMPUTADORES

PIPELINE NO SUBSISTEMA DE DADOS

IMPLEMENTAÇÃO DO PIPELINE

CPU

MEM DE PROGRAMA

MODULO DE BUSCA DE INSTRUÇÃO

SUBSISTCONTR

SUBSISTDADOS

FIFO

REG´s DE ACESSO SEQUENCIAL

MODULO DE EXECUÇÃO DE INSTRUÇÃO

SUBSISTCONTR

SUBSISTDADOS


Acertos e erros no pipeline1

ARQUITETURA DE COMPUTADORES

ACERTOS E ERROS NO PIPELINE

ACERTO NO PIPELINE

PROXIMA INSTRUÇÃO EM ENDEREÇO CONSECUTIVO

ERRONO PIPELINE

INSTRUÇÃO DE DESVIO (INSTRUÇÃO DE QUEBRA DE SEQUENCIA).

CORREÇÃO DO ERRONO PIPELINE

RESET NA FIFO


Ac1p1p08

ARQUITETURA DE COMPUTADORES

AC1P1P08

  • O MODULO DE BUSCA DE INSTRUÇÃO (BIU) FOI PROJETADO PARA BUSCAR INSTRUÇÃO NA MEMORIA E COLOCA-LA NA PILHA FIFO.

  • PEDE-SE:

  • A MICROINSTRUÇÃO DA UNIDADE DE CONTROLE DO MODULO DE BUSCA, SABENDO QUE O CAMPO DE CONEXÃO DEVE SER PARCIALMENTE CODIFICADO..................................(0,5)

  • O SEQUENCIADOR DA UNIDADE DE CONTROLE DO MODULO DE BUSCA................. (0,5)

  • O MODULO DE EXECUÇÃO (EU) FOI PROJETADO PARA BUSCAR A INSTRUÇÃO NA PILHA E, A SEGUIR , EXECUTÁ-LA.

  • PEDE-SE:

  • 3. A MICROINSTRUÇÃO DA UNIDADE DE CONTROLE DO MODULO DE EXECUÇÃO, SABENDO QUE O CAMPO DE CONEXÃO DEVE SER PARCIALMENTE DECODIFICADO...........................(1,0)

  • 4. O SEQUENCIADOR DA UNIDADE DE CONTROLE DO MODULO DE EXECUÇÃO..........(1,0)

  • OS DOIS MODULOS DEVEM TRABALHAR EM CONJUNTO.

  • PEDE-SE:

  • 5. A MICROINSTRUÇÃO E O SEQUENCIADOR DA BIU.................................................(1,0)

  • 6. A MICROINSTRUÇÃO E O SEQUENCIADOR DA EU..................................................(1,0)

  • 7. O MICROPROGRAMA DE BUSCA DA BIU E O MICROPROGRAMA DE BUSCA DA EU........................................................................................................(1,0)

  • 8. O MICROPROGRAMA DE EXECUÇÃO DA INSTRUÇÃO CALL NHNL,

  • COM AS MODIFICAÇÕES NECESSARIAS NA CPU......................(2.0)

  • 9. O TEMPO GASTO PARA EXECUTAR O PROGRAMA AO LADO NA CPU CONVENCIONAL E NESTA CPU QUE TEM PIPELINE.....(2,0)

AX <- AX + BX

AL <- 20

AX <- AX + CX


Ac1p1p081

ARQUITETURA DE COMPUTADORES

+

X16

R.END

16

AC1P1P08

+1/-1

RD

BIU

CS

RASC

PC

FIFO

#RP

#WP

F

E

N3

N2

N1

N0

UNID. DE

CONTROLE

LEIT. DE PILHA

ESCR. NA PILHA

B. 2

PILHA CHEIA

PILHA VAZIA

B. 1

NO BYTES NA PILHA

X16

+

20

16

B.END

DS

ES

SS

RASC1

T3

R.END

16

B. 2

8

B.DADOS

SP

SI

DI

RASC2

B. 5

= , +1, -1

EU

AX

BX

CX

DX

T1

T2

IR

8

FZ

ALU

B. 3

FC

8

B. 4

20 BITS

R.DADOS

16 BITS

RD

8 BITS

UNID. DE CONTROLE

WR

1 BIT


Esquecendo temporariamente o pipeline

ARQUITETURA DE COMPUTADORES

ESQUECENDO TEMPORARIAMENTE O PIPELINE

INSTRUÇÃO DE DESVIO

INCONDICIONAL

CONDICIONAL

MEM. PROGRAMA

FLAG VERDADEIRO

MEM. PROGRAMA

FLAG FALSO

INSTRUÇÃO

JP C NH NL

MEM. PROGRAMA

28

FC = 1-> PC = NHNL

FC = 0 -> PC =PC + 3

COD. BINARIO

28H

NL

NH


Instru es necess rias

ARQUITETURA DE COMPUTADORES

INSTRUÇÕES NECESSÁRIAS

O400 3

0401 0

0402 2

0403 1

0404 1

0405 0

CPU

-1

DC

O500 1

0501 2

0502 3

0503 2

INSTRUÇÃO

DEC DC

MEM

COD. BINARIO

29H


Instru es necess rias1

ARQUITETURA DE COMPUTADORES

INSTRUÇÕES NECESSÁRIAS

CPU

A

B

= 0 FZ = 1

< 0 FC = 1

> 0 FC = 0

INSTRUÇÃO

CMP A , B

A - B

COD. BINARIO

2AH

OBS: NUMEROS S/ SINAL


Exercicio 8

ARQUITETURA DE COMPUTADORES

EXERCICIO 8

FAÇA UM PROGRAMA PARA COMPARAR OS NUMEROS POSITIVOS ARMAZENADOS NOS ENDEREÇOS DE MEMORIA 0100H E 0101H. O MAIOR DEVE SER ARMAZENADO EM 0101H E O MENOR EM 0100H


Retomando o pipeline pipeline na memoria de programa

ARQUITETURA DE COMPUTADORES

RETOMANDO O PIPELINEPIPELINE NA MEMORIA DE PROGRAMA

EM GERAL AS INSTRUÇÕES ESTÃO EM ENDEREÇOS CONSECUTIVOS DE MEMORIA

ACESSO DE INSTRUÇÃOPASSO A PASSO

CPU

BUS END.

MEM. PROGRAMA

END0

END1

END2

BUS DADOS

DADO1

DADO0

DADO2

t

ACESSO DE INSTRUÇÃOEM RAJADA (BURST)

CPU

BUS END.

MEM. PROGRAMA

END0

BUS DADOS

DADO0

DADO1

DADO2


Pipeline na memoria de programa

ARQUITETURA DE COMPUTADORES

PIPELINE NA MEMORIA DE PROGRAMA

PARA QUE O ACESSO EM RAJADA SEJA POSSIVEL, DEVE EXISTIR UM PIPELINE NA MEMORIA DE PROGRAMA(ENQUANTO UMA INSTRUÇÃO ESTÁ SENDO ENVIADA PARA A CPU, OUTRA ESTÁ SENDO LIDA DA MEMORIA).


Exercicio 9

ARQUITETURA DE COMPUTADORES

EXERCICIO 9

FAÇA O MICROPROGRAMA DE BUSCA DE 4 INSTRUÇÕES EM RAJADA, SABENDO QUE A CPU TEM UMA UNIDADE DE BUSCA E UMA UNIDADE DE EXECUÇÃO.

COMPARE OS TEMPOS DE BUSCA COM RAJADA E SEM RAJADA.


Exercicio 9 solu o

ARQUITETURA DE COMPUTADORES

EXERCICIO 9 SOLUÇÃO

ESTADO

B0

B1

B2

B3

B4

C. DE CONEX.

REND <- PC , T1 <-PCL

PCL <- SALU, FC <- COUT

T1 <- PCH

PCH <- SALU

FIFO <- RDADOS

C. DE OPER.

---------

INC (T1)

--------

INC(T1)

------------

C. S. C.

RD

RD

#RD

#RD

#RD

C. PROX END

MUX1| MUX0 |#+1/+2|0/1|HHOLD

1 0 0 X 0

1 0 0 X 0

1 0 1 0 0

1 0 0 X 0

0 0 0 X 1

FC=1

FC=0

SEM RAJADA, PARA 4 BUSCAS : 20TCLK


Exercicio 9 solu o1

ARQUITETURA DE COMPUTADORES

EXERCICIO 9 SOLUÇÃO

BUSCA COM RAJADA DE 4: 15TCLK

MELHORIA DE 20%

  • C. PROX END

  • MUX1| MUX0 |#+1/+2|0/1|HHOLD

  • 1 0 0 X 0

  • 1 0 0 X 0

  • 1 0 0 X 0

  • 0 0 X 0

  • 1 0 0 X 0

  • 0 0 X 0

  • 1 0 0 X 0

  • 1 0 0 X 0

  • 1 0 0 X 0

  • 1 0 0 X 0

  • 0 0 X 0

  • 1 0 0 X 0

  • 0 0 X 0

  • 1 0 0 X 0

  • 0 0 X X 1

C. DE CONEX.

REND <- PC , T1 <-T2

T1 <- SALU,

T1 <- SALU

FIFO <- RDADOS

T1 <-SALU

T1<- SALU

FIFO <- RDADOS

T1 <- SALU

T2 <- PCL

FIFO <-RDADOS

PCL <- SALU FC<- COUT

T1 <- PCH

FIFO <- RDADOS

PCH <- SALU

------------------------------

C. DE OPER.

---------

SUB

INC(T1)

------------

INC(T1)

INC (T1)

--------------

INC(T1)

---------------

---------------

SOMA-

------------

INC(T1)

---------------

C. S. C.

RD

RD

#RD

RD

RD

#RD

RD

RD

#RD

RD

RD

#RD

#RD

#RD


Exercicio 10

ARQUITETURA DE COMPUTADORES

EXERCICIO 10

  • FAÇA OS MICROPROGRAMAS DE BUSCA E DE EXECUÇÃO DA INSTRUÇÃO ADD A,B, SABENDO QUE EXISTE UM PIPELINE NA UNIDADE DE CONTROLE DA CPU TIPO 8080

  • NA CPU, SEM PIPELINE, O PERIODO DE CLOCK É DADO POR: T1 + T2, EM QUE

  • T1: TEMPO DE ACESSO A MEMORIA DA UNIDADE DE CONTROLE

  • T2: TEMPO DE RESPOSTA DA ALU

  • T1 = T2

  • QUANTO TEMPO É GASTO PARA BUSCAR E EXCUTAR A INSTRUÇÃO ADD A,B COM E SEM PIPELINE


Gabarito p exercicio

ARQUITETURA DE COMPUTADORES

GABARITO P/ EXERCICIO

RENDUC

MEM. UNID. CONTR.

SEM PIPELINE

CLK

RENDUC

uINSTR

END

uINSTR__

END

uINSTR__

END

uINSTR__

END

uINSTR__

END

uINSTR__

u INSTR__

u INSTR__

u INSTR__

u INSTR__

u INSTR__

u INSTR__

CONEX.ÃO

..

OPERAÇÃO

PROX. END.

CLK

..


Solu o

ARQUITETURA DE COMPUTADORES

SOLUÇÃO

RENDUC

MEM. UNID. CONTR.

SEM PIPELINE

CLK

RENDUC

0

1

2

3

4

5

260

261

262

u INST

0

1

2

3

4

5

260

261

262

CONEX.

REND <-PC

T1<- PCL

PCL <- SALU

FC <- COUT

T1 <- PCH

PCL <- SALU

IR <-RDAD

T1 <-A

T2<-B

A <-SALU

FC<-COUT

OPER.

INC (T1)

INC (T1)

S. CON

RD

RD

#RD

#RD

#RD

#RD

#RD

#RD

#RD

P. END.

+1

+1

+2 SE FC=0

+1

+1

IR

+1

+1

BUSCA =0

CLK

9TCLK*


Gabarito p exercicio1

ARQUITETURA DE COMPUTADORES

RENDUC

GABARITO P/ EXERCICIO

MEM. UNID. CONTR.

CLK*

COM PIPELINE

Fclk* = 2Fclk

RENDUC

ENDEREÇO

uINSTR__

ENDEREÇO

uINSTR__

ENDEREÇO

uINSTR__

ENDEREÇO

uINSTR__

RENDUC

uINSTR__

u INSTR__

u INSTR__

u INSTR__

u INSTR__

u INSTR__

u INSTR__

CONEX.ÃO

..

OPERAÇÃO

PROX. END.

CLK*

..


Solu o1

ARQUITETURA DE COMPUTADORES

SOLUÇÃO

RENDUC

MEM. UNID. CONTR.

COM PIPELINE

CLK*

RENDUC

1

2

3

4

5

6

7

260

261

262

0

u INST

0

1

2

3

4

5

6

7

260

261

262

CONEX.

REND <-PC

T1<- PCL

PCL <- SALU

FC <- COUT

T1 <- PCH

PCH<-

SALU

IR <- RDAD

T1 <-A

T2 <-B

A <- SALU

FC<-COUT

OPER.

INC (T1)

S. CON

RD

RD

#RD

#RD

#RD

#RD

#RD

#RD

#RD

#RD

#RD

P. END.

+1

+1

+2 SE FC=0

+1

+1

+1

IR

+1

+1

BUSCA

= 0

+1

CLK*

11 TCLK*  5,5 TCLK

MICROINSTRUÇÃO DE DELAY


  • Login