ufsc - curso de graduação em ciências da computação...

28
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Suplemento à Aula 1-T Arquiteturas de Somadores Rápidos. Prof. José Luís Güntzel [email protected] www.inf.ufsc.br/~guntzel/ine5406/ine5406.html Sistemas Digitais Sistemas Digitais INE 5406 INE 5406

Upload: others

Post on 08-Nov-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Universidade Federal de Santa CatarinaCentro Tecnológico

Departamento de Informática e EstatísticaCurso de Graduação em Ciências da Computação

Suplemento à Aula 1-TArquiteturas de Somadores Rápidos.

Prof. José Luís Gü[email protected]

www.inf.ufsc.br/~guntzel/ine5406/ine5406.html

Sistemas DigitaisSistemas DigitaisINE 5406INE 5406

Page 2: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.2

Somador Paralelo Tipo Ripple Carry

c0c4

Suponha que no tempo t=0 um par de valores é aplicado às entradas (A,B):• O resultado só estará pronto quando todas as saídas tiverem estabilizado• si e ci+1 só estabilizam após ci estabilizar• Em particular, s3 e c4 só estabilizam depois que c3, c2 e c1 tiverem

estabilizados…

a0 b0

s0

c1c2c3

s1s2s4

a1 b1a2 b2a3 b3

Page 3: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.3

Analisando a Propagação do CarryOs caminhos críticos em somadores Ripple Carry passampela cadeia de propagação do carry

c0c4

a0 b0

s0

c1c2c3

s1s2s4

a1 b1a2 b2a3 b3

Page 4: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.4

Pergunta: será que não é possível alterar a arquitetura dosomador, de modo a “quebrar” ou reduzir tal interdependência?

SC

s0

c1

b0a0

SC

s1

c2cnSC

sn

Cn+1

b1a1bnan

c0

Analisando a Propagação do Carry

A resposta é … SIM!!!

Page 5: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.5

Há três diferentes casos na propagação do carry que sãomutuamente exclusivos:

Caso 1 (sinal Kill )

Quando as entradas A e B dosomador local são iguais a zero,independentemente do carryde entrada, o carry de saídaserá igual a zero e, portanto, oestágio “matará” a propagaçãodo carry do estágio anterior.

0

0

0

0

0

0

1

1

ki

11111

01011

01101

10001

01110

10010

10100

00000

sici+1cibiai

Analisando a Propagação do Carry

Page 6: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.6

Caso 2 (sinal Generate)

Quando as entradas A e B dosomador local são iguais aum, independentemente docarry de entrada, o carry desaída será igual a um e,portanto, haverá geração decarry neste estágio.

1

1

0

0

0

0

0

0

gi

11111

01011

01101

10001

01110

10010

10100

00000

sici+1cibiai

Analisando a Propagação do Carry

Page 7: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.7

Caso 3 (sinal Propagate)

Quando uma das entradas, Aou B, do somador local forigual a um e a outra for igual azero, o carry de saída seráigual ao carry de entrada e,portanto, o carry serápropagado.

0

0

1

1

1

1

0

0

pi

11111

01011

01101

10001

01110

10010

10100

00000

sici+1cibiai

Analisando a Propagação do Carry

Page 8: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.8

Resumindo os três casos do carry, temos:

Analisando a Propagação do Carry

111Generate (gi)

ci01

ci10Propagate (pi)

000Kill (ki)

ci+1biaiCaso

Agora, a idéia é:

• Encontrar uma equação para cada um dos três sinais ( ki, pi e gi)

• Achar as equações de si e ci+1 em função de ki, pi e gi

Mas qual é a vantagem desta “reestruturação lógica”?

Page 9: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.9

Equações das funções ki , pi e gi são:

ki = ai · bi = ai + bi

pi = ai ⊕ bi

gi = ai · bi

Analisando a Propagação do Carry

111Generate (gi)

ci01

ci10Propagate (pi)

000Kill (ki)

ci+1biaiCaso

Page 10: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.10

Analisando a Propagação do Carry

111Generate (gi)

ci01

ci10Propagate (pi)

000Kill (ki)

ci+1biaiCaso

Então, usando soma de produtos, o carry out do estágio i podeser definido como:

ci+1 = gi + pi · ci

E a saída “soma” do estágio i pode ser expressa (em função de pie ci) por:

si = ai ⊕ bi ⊕ ci = pi ⊕ ci

Page 11: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.11

As fórmulas para si e ci+1 geram o mesmo circuito já estudado,com base em dois meio-somadores.

pi = ai ⊕ bi

gi = ai · bi

ci+1 = gi + pi · ci

si = pi ⊕ cici+1

ci

si

bi

pigi

ai

Analisando a Propagação do Carry

Page 12: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.12

Comparando o Desempenho das Duas Versões

si

ai bi

ci+1 ci

Versão 1 Versão 2

Na versão 2:

• Se gi=1 não é preciso esperar pelo valor de ci para determinar ovalor de ci+1

• Se pi=1 , então já se sabe a priori que ci+1 = ci

ci+1 ci

si

bi

pigi

ai

Page 13: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.13

1. Reduzir o atraso na geração do carry(aplicada nos somadores Manchester);

2. Diminuir o atraso da cadeia de propagação do carry(aplicada nos somadores Carry-Lookahead, Carry-Select,Carry-Skip, etc.);

3. Mudar o sistema de representação numérica(não será tratado na disciplina).

Somadores Rápidos

Estas soluções investem em desempenho, mas resultam emacréscimo de recursos (número de transistores utilizados).

Para reduzir-se o atraso na propagação do carry as seguintesabordagens podem ser usadas:

Page 14: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.14

• Este circuito mais rápido pode ser constituído de TransmissionGates ou transistores de passagem;

• Como as situações de kill, propagate e generate sãomutuamente exclusivas, pode-se construir um conjunto dechaves com a seguinte lógica:

- Se ki = 1, então ci+1 = 0

- Se gi = 1, então ci+1 = 1

- Se pi = 1, então ci+1 = ci

Somadores Manchester ChainPrincípio: usar um circuito mais rápido para propagar a

cadeia de carry;

Page 15: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.15

Somadores Manchester Chain

CC

a0 b0

c0c1

CC

a1 b1

c2

CC

a2 b2

c3

CC

ai bi

Ci+1 Ci

Controle da Cadeia dePropagação do Carry (CC)

Uma Implementação comtransistores de passagem

Cadeia depropagação doCarry

ci+1 ci

ai bi

Vdd

GND

pi

giki

Page 16: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.16

Somadores Manchester Chain

ci+1 ci

si

ai bi

Vdd

GND

pi

giki

E como seria o somador Manchester Chain completo?

Basta modificar o controleda cadeia de propagaçãodo carry para que elecalcule também a saída si

Page 17: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.17

• No extremo, todos os carries podem ser computados aomesmo tempo.

• Para o somador Carry-Lookahead, pode-se considerar quenão existe mais a exclusividade mútua entre os sinaisgenerate e propagate.

• Então, a função propagate pode ser simplificada para umsimples “OU” entre as duas entradas, pois se o nível desoma gera carry out (gi = 1), não importa o valor depropagate.

Somadores Carry LookaheadPrincípio: paralelizar o cálculo dos carries

Page 18: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.18

Assim, para o carry-lookahead temos que:pi = ai + bi

ci+1 = gi + pi · ci

Então:c1 = g0 + p0 · c0

c2 = g1 + p1 · (g0 + p0 · c0)

Expandindo, segue:c2 = g1 + p1 · g0 + p1 · p0 · c0

c3 = g2 + p2 · g1 + p2 · p1 · g0 + p2 · p1 · p0 · c0

c4 = g3 + p3 · g2 + p3 · p2 · g1 + p3 · p2 · p1 · g0 + p3 · p2 · p1 · p0 · c0

Somadores Carry Lookahead

Page 19: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.19

cin

p0g0p1g1p2g2p3g3

c0c1c2

S3 S2 S1 S0

b0a0b1a1b2a2b3

a3

gen

prop

GAP(Generate andPropagate)

UnidadeCarryLookahead

Soma

Somadores Carry Lookahead

Page 20: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.20

• Problema com os CLGs: a complexidade da equação docarry cresce muito rapidamente!!!

• Para somadores com entradas usando muitos bits, apropagação do carry com cadeia carry-lookahead é maislenta que um ripple carry.

• Tipicamente, o carry-lookahead não é usado parasomadores com entradas maiores que 4 bits.

Somadores Carry Lookahead

Page 21: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.21

• Solução: aplicar o lookahead em grupos de somadorescom, no máximo, 4 bits.

• Funções auxiliares P e G são necessárias e indicam,respectivamente:

• Se P = 1, então o carry é propagado pelo grupo.

• Se G = 1, então o grupo gera carry out.

Somadores Carry Lookahead

Page 22: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.22

b3-0

CLA1 CLA0

a3-0b7-4a7-4

c4

BGP-8

cin

S7-4 S3-0

c4

prop1

cout

gen1

prop0 gen0

gen1 prop1 gen0prop0cin

BGP-8

cout c4

Somadores Carry Lookahead

Page 23: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.23

Caminho Crítico

c16

CLG-4

c4c8c12

CLA-4

a0

4

b0

4

s0

4

g0 p0

2

s1

4

CLA-4

a1

4

b1

4

g1 p1

2

c4

s3

4

CLA-4

a3

4

b3

4

g3 p3

2

c12

s2

4

CLA-4

a2

4

b2

4

g2 p2

2

c8

CLG-4

c20c24c28

CLA-4

a4

4

b4

4

s4

4

g4 p4

2

s5

4

CLA-4

a5

4

b5

4

g5 p5

2

c20

s7

4

CLA-4

a7

4

b7

4

g7 p7

2

c28

s6

4

CLA-4

a6

4

b6

4

g6 p6

2

c24 c16

c32

c0

Somadores Carry Lookahead

Page 24: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.24

• Em cada seção de adição são usados dois somadores ( ripplecarry ou carry lookahead) idênticos e um multiplexador

• O multiplexador seleciona um dos dois resultados,utilizando como controle o carry out da seção anterior

Somadores Carry Select

Princípios:

• dividir a adição em seções de 4 ou 8 bits

• realizar a adição de cada seção simultaneamente paraos dois casos possíveis (carry in=0 e carry in=1)

Page 25: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.25

RCA0

01

cin

A0...3 B0...3

RCA1

A0...3 B0...3

RCA0

RCA1

A4...7 B4...7

A4...7 B4...7

Cin

C03

C13

C07

C17

S0...3

C03C13

0

1 Cin

C03C13

C17C07 Cout

S4...7

Somadores Carry Select com 8 bits(usando somadores RCA…)

Page 26: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.26

Equações utilizadas pelos MUX de cada seção de soma

B1 = Cin B2 = C03 or (C13 and CIN)

B3 = C07 or (C17 and (C03 or (C13 and CIN))) B4 = C011 or (C111 and (C07 or (C17 and (C03 or (C13 and CIN)))))

B4 =C015 or (C115 and(C011 or (C111 and (C07 or (C17 and (C03 or (C13 and CIN))))))

Somadores Carry Select

Page 27: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.27

RCA0

01

cin

A0...3 B0...3

RCA1

A0...3 B0...3

RCA0

RCA1

A4...7 B4...7

A4...7 B4...7

Cin

C03

C13

C07

C17

S0...3

C03C13

0

1 Cin

C03C13

C17C07 Cout

Caminho Crítico

S4...7

Atraso crítico = Atraso RCA + Atraso MUX

Somadores Carry Select com 8 bits

Page 28: UFSC - Curso de Graduação em Ciências da Computação ...j.guntzel/ine5406/SD_aula1TS.pdfINE/CTC/UFSC Prof. José Luís Güntzel Sistemas Digitais - semestre 2008/1 slide 1TS.13

Arquiteturas de Somadores Rápidos

Prof. José Luís GüntzelINE/CTC/UFSCSistemas Digitais - semestre 2008/1

slide 1TS.28

RCA0

0

1

cin

A0...3 B0...3

RCA1

A0...3 B0...3

RCA0

RCA1

A28...31 B28...31

A28...31 B28...31

C03

C13

C031

C131

S0...3 0

1

Caminho Crítico

S28...31

Cin

C03C13

C17C07

C011C111

C015

C019

C023

C027

C115

C119

C123

C127

Atraso crítico = Atraso RCA + Atraso Equação + Atraso MUX

Somadores Carry Select com 32 bits