30
Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 1 / 30 Introdução a Sistemas Digitais Introdução a Sistemas Digitais Paralelismo e Pipeline

Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt1 / 30

Introdução a Sistemas DigitaisIntrodução a Sistemas Digitais

Paralelismo e Pipeline

Page 2: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 2 / 30

ParalelismoParalelismo

• Hardware é inerentemente paralelo.• Ao se conectar um circuito a fonte de alimentação, todos os

transistores podem potencialmente realizar algum trabalho. • A habilidade de usar convenientemente o paralelismo é um desafio

para o projetista:– Pensamento paralelo é dificil de ser atingido pois o projetista

normalmente pensa em termos seriais. – Nem todas as aplicações podem ser desenvolvidas pensando

no processamento paralelo. (dependencia de dados).

Page 3: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 3 / 30

EstudoEstudo de de CasoCaso

Algoritmo:

int diffeq(int x, int y, int u, int dx, int a) {int x1, u1, y1;while ( x < a ) {x1 = x + dx;u1 = u - (3 * x * u * dx) - (3 * y * dx);y1 = y + u * dx;x = x1;u = u1;y = y1;}return y;}

a é uma constante

Page 4: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 4 / 30

PseudoPseudo--codigocodigo e e dependênciadependência de de dadosdados

Enquanto (x<a){x1= x +dx;u1= u – 3*x*u*dx – 3*y*dx;y1= y + u*dx;x = x1;y = y1;u = u1;

}

3 x u dx 3 y u dx x dx x a

dx y

u

u1

y1

x1 teste

n1 n2 n3n4 n5 n9

n6 n8 n7

n10

n11

* * * * + <

* * +

-

-Paralelismo inerente aoprocesso da aplicação

Page 5: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 5 / 30

AnaliseAnalise de de RecursosRecursos de Hardwarede Hardware

• Depende do paralelismo implementado:

– Implementação puramente combinacional– Implementação sequencial (certo número de ciclos de relogio

para completar o algoritmo) - Escalonamento– Inserção de pipeline no fluxo sequencial de operação.

Enquanto (x<a){x1= x +dx;u1= u – 3*x*u*dx – 3*y*dx;y1= y + u*dx;x = x1;y = y1;u = u1;

}

Page 6: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 6 / 30

ParalelismoParalelismo dos dos OperadoresOperadores

• Definir a quantidade de hardware necessária para a execução daaplicação.

3 x u dx 3 y u dx x dx x a

dx y

u

y1

x1 teste

n1 n2 n3n4n5 n9

n6 n8 n7

n10

n11

* * * * + <

* * +

-

-

Opção 1:Tudo combinacional

- 6 multiplicadores- 2 somadores- 3 subtradores- 1 comparador

Atraso caminho critico:2 multiplicadores + 2 subtratores

Ex: 100ns + 100ns + 30ns + 30 ns= 260 ns

Puramente Combinacional

Page 7: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 7 / 30

ParalelismoParalelismo dos dos OperadoresOperadores

enquanto (x<a){x1= x +dx;u1= u – 3*x*u*dx – 3*y*dx;y1= y + u*dx;x = x1;y = y1;u = u1;

}

u1 y1 x1 teste

Opção 2:Execução por estados!!!

3 x u dx 3 y u dx x dx x a

dx y

u

n1 n2 n3n4 n5 n9

n6 n8 n7

n10

n11

* * * * + <

* * +

-

-

Estado 1

Estado 2

Estado 3

Estado 4

Sequencial (sem limite de recursos)

Necessita de variáveis intermediárias

Page 8: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 8 / 30

ParalelismoParalelismo dos dos OperadoresOperadores

• O numero de ciclos de relógio neste caso depende da dependencianatural da aplicação.

3 x u dx 3 y u dx x dx x a

dx y

u

y1

x1 teste

n1 n2 n3n4 n5 n9

n6 n8 n7

n10

n11

* * * * + <

* * +

-

-

Opção 2:Execução por estados

- 4 multiplicadores- 1 somadores- 1 subtrador- 1 comparador

Atraso caminho critico:1 multiplicadorTempo de execução: 4 ciclos

Ex: 4 x 100ns = 400ns

Sequencial (sem limite de recursos)

Page 9: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 9 / 30

ParalelismoParalelismo dos dos OperadoresOperadores

• Definir a quantidade de hardware necessária para a execução daaplicação.

Opção 3:Execução por estados

- 1 multiplicadores- 1 somadores- 1 subtrador- 1 comparador

Atraso caminho critico:1 multiplicadorTempo de execução: X ciclos

Ex: ? x 100ns = ? ns

Sequencial (Recurso limitado)

3 x u dx 3 y u dx x dx x a

dx y

u

y1

x1 teste

n1 n2 n3n4 n5 n9

n6 n8 n7

n10

n11

* * * * + <

* * +

-

- ESCALONAMENTO

Page 10: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 10 / 30

OtimizaçõesOtimizações

3 x u dx 3 y u dx x dx x a

dx y

u

y1

x1 teste

n1 n2 n3n4 n5 n9

n6 n8 n7

n10

n11

* * * * + <

* * +

-

-

1 – Otimizar temos em comum

X

Page 11: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 11 / 30

AlgoritmosAlgoritmos de de OtimizaçãoOtimização• ASAP (as soon as possible)

u1 y1 x1 teste

3 x u dx 3 y x dx x a

dxy

u

n1 n2 n4 n5 n9

n6 n8 n7

n10

n11

* * * + <

* * +

-

-

Estado 1

Estado 2

Estado 3

Estado 4

Estado1: 3 multiplicadores,1 somador e 1 comparadorEstado 2: 2 multiplicadores, 1 somadorEstado 3: 1 subtratorEstado 4: 1 subtrator

Page 12: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 12 / 30

AlgoritmosAlgoritmos de de OtimizaçãoOtimização• ALAP (as late as possible)

u1 y1 x1teste

3 x u dx

3 y

x dx x a

dx

y

uteste

n1 n2

n4

n8

n5 n9

n6

n7

n10

n11

* *

*

+ <

*

*

+

-

-

Estado 1

Estado 2

Estado 3

Estado 4

Estado1: 2 multiplicadores,Estado 2: 2 multiplicadores, Estado 3: 1 multiplicador e 1 subtratorEstado 4: 1 subtrator, 2 somadores, 1 comparador

Page 13: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 13 / 30

AlgoritmosAlgoritmos de de OtimizaçãoOtimização• ALAP (as late as possible) melhorado

u1 y1 x1teste

3 x u dx

3 y

x dx

x a

dx

y

u

n1 n2

n4

n8 n5

n9

n6

n7

n10

n11

* *

*

+

<

*

*

+

-

-

Estado 1

Estado 2

Estado 3

Estado 4

Estado1: 2 multiplicadores,Estado 2: 2 multiplicadores, Estado 3: 1 multiplicador e 1 subtrator e 1 somadorEstado 4: 1 subtrator, 1 somador, 1 comparador

Page 14: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 14 / 30

ParalelismoParalelismo dos dos OperadoresOperadores

• Definir a quantidade de hardware necessária para a execução daaplicação.

Opção 1:Tudo combinacional

- 5 multiplicadores- 2 somadores- 3 subtradores- 1 comparador

Atraso caminho critico:2 multiplicadores + 2 subtratores

Ex: 100ns + 100ns + 30ns + 30 ns= 260 ns

u1 y1 x1

3 x u dx

3 y

x dx

x a

dx

y

u

n1 n2

n4

n8 n5

n9

n6

n7

n10

n11

* *

*

+

<

*

*

+

-

-

teste

Puramente Combinacional

Page 15: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 15 / 30

ParalelismoParalelismo dos dos OperadoresOperadores

• Definir a quantidade de hardware necessária para a execução daaplicação.

Opção 2:Execução por estados

- 2 multiplicadores- 1 somadores- 1 subtrador- 1 comparador

Atraso caminho critico:1 multiplicadorTempo de execução: 4 ciclos

Ex: 4 x 100ns = 400ns u1 y1 x1

3 x u dx

3 y

x dx

x a

dx

y

u

n1 n2

n4

n8 n5

n9

n6

n7

n10

n11

* *

*

+

<

*

*

+

-

-

Sequencial (sem limite de recursos)

Page 16: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 16 / 30

Hardware Hardware necessárionecessário

multiplicador multiplicador somador subtrator comparador

X Y U

teste

a

Tempo de execução do laço:4 ciclos de relógio

X, Y, U, dx, 3, m1, m2, s1, s2

Entradas dos multiplexadores xSequencial (sem limite de recursos)

Page 17: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 17 / 30

UsoUso de Pipelinede Pipeline

u1 y1 x1

teste

3 x u dx

3 y x dx

a

dx

y

u

n1 n2

n4

n8 n5

n9

n6

n7

n10

n11

* *

*

+

<

*

*

+

-

-

Estado 1

Estado 2

Estado 3

Estado 4

Opção 3:Pipeline

- 5 multiplicadores- 2 somadores- 3 subtradores- 1 comparador

Atraso caminho critico:1 multiplicador

Tempo de execução: 1 ciclo,Após o preenchimento do pipeline que tem profundidade4.

Ex: 1x100ns = 100 ns

Pipeline

u y x

Page 18: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 18 / 30

PipelinePipeline

clk

u1 y1 x1

teste

3 x u dx

3 y

x dx

x a

dx

y

u

n1 n2

n4

n8 n5

n9

n6

n7

n10

n11

* *

*

+

<

*

*

+

-

-

Estado 1

Estado 2

Estado 3

Estado 4

n1

n2

n6

n4

n11

n8

U1Y1X1

xxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3 ciclo4 ciclo5 …

xxxxxxxxxxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3 ciclo4 ciclo5 ….

valorc0 ciclo1 ciclo2 ciclo3 ciclo4 ….. valorc0 ciclo1 ciclo2 ciclo3 ciclo4 …..valorc0 ciclo1 ciclo2 ciclo3 ciclo4 …..

Page 19: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 19 / 30

PipelinePipeline

clk

u1 y1 x1

teste

3 x u dx

3 y

x dx

x a

dx

y

u

n1 n2

n4

n8 n5

n9

n6

n7

n10

n11

* *

*

+

<

*

*

+

-

-

Estado 1

Estado 2

Estado 3

Estado 4

n1

n2

n6

n4

n11

n8

U1Y1X1

xxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3 ciclo4 ciclo5 …

xxxxxxxxxxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3 ciclo4 ciclo5 ….

valorc0 ciclo1 ciclo2 ciclo3 ciclo4 ….. valorc0 ciclo1 ciclo2 ciclo3 ciclo4 …..valorc0 ciclo1 ciclo2 ciclo3 ciclo4 …..

Page 20: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 20 / 30

PipelinePipeline

clk

u1 y1 x1

teste

3 x u dx

3 y

x dx

x a

dx

y

u

n1 n2

n4

n8 n5

n9

n6

n7

n10

n11

* *

*

+

<

*

*

+

-

-

Estado 1

Estado 2

Estado 3

Estado 4

n1

n2

n6

n4

n11

n8

U1Y1X1

xxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3 ciclo4 ciclo5 …

xxxxxxxxxxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3 ciclo4 ciclo5 ….

valorc0 ciclo1 ciclo2 ciclo3 ciclo4 ….. valorc0 ciclo1 ciclo2 ciclo3 ciclo4 …..valorc0 ciclo1 ciclo2 ciclo3 ciclo4 …..

Page 21: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 21 / 30

PipelinePipeline

clk

u1 y1 x1

teste

3 x u dx

3 y

x dx

x a

dx

y

u

n1 n2

n4

n8 n5

n9

n6

n7

n10

n11

* *

*

+

<

*

*

+

-

-

Estado 1

Estado 2

Estado 3

Estado 4

n1

n2

n6

n4

n11

n8

U1Y1X1

xxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3 ciclo4 ciclo5 …

xxxxxxxxxxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3 ciclo4 ciclo5 ….

valorc0 ciclo1 ciclo2 ciclo3 ciclo4 ….. valorc0 ciclo1 ciclo2 ciclo3 ciclo4 …..valorc0 ciclo1 ciclo2 ciclo3 ciclo4 …..

Page 22: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 22 / 30

PipelinePipeline

clk

u1 y1 x1

teste

3 x u dx

3 y

x dx

x a

dx

y

u

n1 n2

n4

n8 n5

n9

n6

n7

n10

n11

* *

*

+

<

*

*

+

-

-

Estado 1

Estado 2

Estado 3

Estado 4

n1

n2

n6

n4

n11

n8

U1Y1X1

xxxxxxxxciclo1 ciclo2 ciclo3 ciclo4

xxxxxxxxciclo1 ciclo2 ciclo3 ciclo4

xxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3

xxxxxxxxxxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3 ciclo4 ciclo5 …

xxxxxxxxxxxxxxxxxxxxxxxciclo1 ciclo2 ciclo3 ciclo4 ciclo5 ….

valorc0 ciclo1 ciclo2 ciclo3 ciclo4 ….. valorc0 ciclo1 ciclo2 ciclo3 ciclo4 …..valorc0 ciclo1 ciclo2 ciclo3 ciclo4 …..

Page 23: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 23 / 30

ComparaçãoComparação

Area

Desempenho

Combinacional 4 estados (PC-PO) Pipeline

5 multiplicadores2 somadores3 subtradores1 comparador

5 multiplicadores2 somadores3 subtradores1 comparador

2 multiplicadores1 somadores1 subtrador1 comparador

Atraso de 2 multiplicadores+ 2 subtratores

4 ciclos de Atraso 1 multiplicador

1 ciclo de Atraso de 1 multiplicadorLatencia = 4.

Page 24: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt24 / 30

LaboratórioLaboratório 11

Page 25: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 25 / 30

ImplementaçãoImplementação emem VHDL VHDL ComportamentalComportamental

process (clock, reset)variable x1, y1, u1 : std_logic_vector(7 downto 0);beginif reset=‘1’ then

x1 := “00010000”;y1 := “00001110”;u1 := “00111010”;

elsif (clock’event and clock=‘1’) thenif (x1<a) then

x1:= x +dx;u1:= u – 3*x*u*dx – 3*y*dx;y1:= y + u*dx;

end if;x <= x1;y <= y1;u <= u1;end process;

xo <= x;y0 <= y;uo <= u;

a

dx

clock reset

xo yo uo

16

16

16 16 16

COMBINACIONAL

Page 26: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 26 / 30

ImplementaçãoImplementação emem VHDL VHDL ComportamentalComportamental

process (clock, reset)variable x1, y1, u1 : integer;beginif reset=‘1’ then

x1 := 0;y1 := 0;u1 := 0;

elsif (clock’event and clock=‘1’) thenif (x1<a) thenx1:= x +dx;u1:= u – 3*x*u*dx – 3*y*dx;y1:= y + u*dx;

end if;x <= conv_std_logic_vector(x1, 16);y <= conv_std_logic_vector(y1, 16);u <= conv_std_logic_vector(u1, 16);end process;

xo <= x;y0 <= y;uo <= u;

a

dx

clock reset

xo yo uo

16

16

16 16 16

Resolvendo problema no tamanho dos operandos

Page 27: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 27 / 30

ExercicioExercicio

• Simular 10 laços do algoritmo e ver o tempo de execução:

• Determinar:– Quantos ciclos de relogio são necessarios para efetuar os 10

laços do algoritmo?– Qual é o periodo de relogio necessario para o funcionamento?

– Qual é o custo em área (numero de LUTs e numero de flip-flops)?

Virtex2-Pro

Page 28: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 28 / 30

ImplementaçãoImplementação emem VHDL VHDL ComportamentalComportamental

process (clock, reset)variable x1, y1, u1, n1, n2 n6, n4, n10, n8,

n5, n9, n11, n7 : integer;beginif reset=‘1’ then

x1 := 0; y1 := 0; u1 := 0; …. n7:=0;elsif (clock’event and clock=‘1’) then

if (teste=‘1’) thenn5:= x +dx;

…end if;

x <= conv_std_logic_vector(x1, 16);y <= conv_std_logic_vector(y1, 16);u <= conv_std_logic_vector(u1, 16);end process;

xo <= x;y0 <= y;uo <= u;

PIPELINE

u1 y1 x1

teste

3 x u dx

3 y

x dx

x a

dx

y

u

n1 n2

n4

n8n5

n9

n6

n7

n10

n11

* *

*

+

<

*

*

+

-

-

Estado 1

Estado 2

Estado 3

Estado 4

process(clock, reset)beginIf reset=‘1’ then

teste <= ‘1’;elsif (clock’event and clock=‘1’) then

if x<a thenteste <=‘1’;

else teste <= ‘0’;end if;end if;end process;

Page 29: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 29 / 30

ImplementaçãoImplementação com Pipeline com Pipeline -- RTLRTL

process (clock, reset)beginif reset=‘1’ then

reg <= “00000000”;elsif (clock’event and clock=‘1’) then

if (p=‘1’) thenreg = fioX;

end if;end if;end process;

process(fiox, fioy)begin

fiow <= fiox+fioy;end process;

process(fiox, fioy)begin

fiow <= fiox-fioy;end process;

process(fiox, fioy)begin

fiow <= fiox*fioy;end process;

process(x, a)begin

if (x<a) thenp <= ‘0’;elsep <= ‘1’;

end process;

subtrador

somador

comparador

multiplicador

registradores

Page 30: Introdução a Sistemas Digitais - UFRGSfglima/aula11.pdf · Introdução a Sistemas Digitais Paralelismo e Pipeline. Aula Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão

Aula

Disciplina: Sistemas Digitais – Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 30 / 30

ExercicioExercicio

• Simular 10 laços do algoritmo e ver o tempo de execução:

• Determinar:– Quantos ciclos de relogio são necessarios para efetuar os 10

laços do algoritmo?– Qual é o periodo de relogio necessario para o funcionamento?

– Qual é o custo em área (numero de LUTs e numero de flip-flops)?

Virtex2-Pro