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 Sistemas Digitais INE 56 Suplemento à Aula -T Arquiteturas de Somadores Rápidos. guntzel@inf.ufsc.br www.inf.ufsc.br/~guntzel/ine56/ine56.html
Somador Paralelo Tipo Ripple Carry a3 b3 a2 b2 a b a b c c3 c2 c c s s2 Suponha que no tempo t= um par de valores é aplicado às entradas (A,B): O resultado só estará pronto quando todas as saídas tiverem estabilizado si e ci+ só estabilizam após ci estabilizar Em particular, s3 e c só estabilizam depois que c3, c2 e c tiverem estabilizados s s Sistemas Digitais - semestre 28/ slide TS.2
Analisando a Propagação do Carry Os caminhos críticos em somadores Ripple Carry passam pela cadeia de propagação do carry a3 b3 a2 b2 a b a b c c3 c2 c c s s2 s s Sistemas Digitais - semestre 28/ slide TS.3
Analisando a Propagação do Carry an bn a b a b Cn+ SC cn c2 SC c SC c sn s s Pergunta: será que não é possível alterar a arquitetura do somador, de modo a quebrar ou reduzir tal interdependência? A resposta é SIM!!! Sistemas Digitais - semestre 28/ slide TS.
Analisando a Propagação do Carry Há três diferentes casos na propagação do carry que são mutuamente exclusivos: ai bi ci ki ci+ si Caso (sinal Kill ) Quando as entradas A e B do somador local são iguais a zero, independentemente do carry de entrada, o carry de saída será igual a zero e, portanto, o estágio matará a propagação do carry do estágio anterior. Sistemas Digitais - semestre 28/ slide TS.5
Analisando a Propagação do Carry ai bi ci gi ci+ si Caso 2 (sinal Generate) Quando as entradas A e B do somador local são iguais a um, independentemente do carry de entrada, o carry de saída será igual a um e, portanto, haverá geração de carry neste estágio. Sistemas Digitais - semestre 28/ slide TS.6
Analisando a Propagação do Carry ai bi ci pi ci+ si Caso 3 (sinal Propagate) Quando uma das entradas, A ou B, do somador local for igual a um e a outra for igual a zero, o carry de saída será igual ao carry de entrada e, portanto, o carry será propagado. Sistemas Digitais - semestre 28/ slide TS.7
Analisando a Propagação do Carry Resumindo os três casos do carry, temos: Caso a i b i c i+ Kill (k i ) Propagate (p i ) c i c i Generate (g i ) Agora, a idéia é: Encontrar uma equação para cada um dos três sinais ( k i, p i e g i ) Achar as equações de s i e c i+ em função de k i, p i e g i Mas qual é a vantagem desta reestruturação lógica? Sistemas Digitais - semestre 28/ slide TS.8
Analisando a Propagação do Carry Caso a i b i c i+ Kill (k i ) Propagate (p i ) c i c i Generate (g i ) Equações das funções k i, p i e g i são: k i = a i b i = a i + b i p i = a i b i g i = a i b i Sistemas Digitais - semestre 28/ slide TS.9
Analisando a Propagação do Carry Caso a i b i c i+ Kill (k i ) Propagate (p i ) c i c i Generate (g i ) Então, usando soma de produtos, o carry out do estágio i pode ser definido como: c i+ = g i + p i c i E a saída soma do estágio i pode ser expressa (em função de p i e c i ) por: s i = a i b i c i = p i c i Sistemas Digitais - semestre 28/ slide TS.
Analisando a Propagação do Carry As fórmulas para s i e c i+ geram o mesmo circuito já estudado, com base em dois meio-somadores. a i b i c i+ g i p i c i p i = a i b i g i = a i b i c i+ = g i + p i c i s i = p i c i s i Sistemas Digitais - semestre 28/ slide TS.
Comparando o Desempenho das Duas Versões Versão a i b i Versão 2 a i b i c i+ c i c i+ g i p i c i Na versão 2: s i Se g i = não é preciso esperar pelo valor de c i para determinar o valor de c i+ Se p i =, então já se sabe a priori que c i+ = c i s i Sistemas Digitais - semestre 28/ slide TS.2
Somadores Rápidos Para reduzir-se o atraso na propagação do carry as seguintes abordagens podem ser usadas:. 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). Estas soluções investem em desempenho, mas resultam em acréscimo de recursos (número de transistores utilizados). Sistemas Digitais - semestre 28/ slide TS.3
Somadores Manchester Chain Princípio: usar um circuito mais rápido para propagar a cadeia de carry; Este circuito mais rápido pode ser constituído de Transmission Gates ou transistores de passagem; Como as situações de kill, propagate e generate são mutuamente exclusivas, pode-se construir um conjunto de chaves com a seguinte lógica: - Se k i =, então c i+ = - Se g i =, então c i+ = - Se p i =, então c i+ = c i Sistemas Digitais - semestre 28/ slide TS.
Somadores Manchester Chain Uma Implementação com transistores de passagem GND a i b i k i g i Vdd Controle da Cadeia de Propagação do Carry (CC) c i+ p i c i a i b i a 2 b 2 a b a b C i+ CC C i c 3 CC c 2 CC c CC c Cadeia de propagação do Carry Sistemas Digitais - semestre 28/ slide TS.5
Somadores Manchester Chain E como seria o somador Manchester Chain completo? a i b i GND k i Vdd g i Basta modificar o controle da cadeia de propagação do carry para que ele calcule também a saída s i p i c i+ c i s i Sistemas Digitais - semestre 28/ slide TS.6
Somadores Carry Lookahead Princípio: paralelizar o cálculo dos carries No extremo, todos os carries podem ser computados ao mesmo tempo. Para o somador Carry-Lookahead, pode-se considerar que não existe mais a exclusividade mútua entre os sinais generate e propagate. Então, a função propagate pode ser simplificada para um simples OU entre as duas entradas, pois se o nível de soma gera carry out (g i = ), não importa o valor de propagate. Sistemas Digitais - semestre 28/ slide TS.7
Somadores Carry Lookahead Assim, para o carry-lookahead temos que: p i = a i + b i c i+ = g i + p i c i Então: c = g + p c c 2 = g + p (g + p c ) Expandindo, segue: c 2 = g + p g + p p c c 3 = g 2 + p 2 g + p 2 p g + p 2 p p c c = g 3 + p 3 g 2 + p 3 p 2 g + p 3 p 2 p g + p 3 p 2 p p c Sistemas Digitais - semestre 28/ slide TS.8
Somadores Carry Lookahead a 3 b 3 a 2 b 2 a b a b g 3 p 3 g 2 p 2 g p g p GAP (Generate and Propagate) p rop c in Unidade Carry Lookahead g en c 2 c c Soma S 3 S 2 S S Sistemas Digitais - semestre 28/ slide TS.9
Somadores Carry Lookahead Problema com os CLGs: a complexidade da equação do carry cresce muito rapidamente!!! Para somadores com entradas usando muitos bits, a propagação do carry com cadeia carry-lookahead é mais lenta que um ripple carry. Tipicamente, o carry-lookahead não é usado para somadores com entradas maiores que bits. Sistemas Digitais - semestre 28/ slide TS.2
Somadores Carry Lookahead Solução: aplicar o lookahead em grupos de somadores com, no máximo, bits. Funções auxiliares P e G são necessárias e indicam, respectivamente: Se P =, então o carry é propagado pelo grupo. Se G =, então o grupo gera carry out. Sistemas Digitais - semestre 28/ slide TS.2
Somadores Carry Lookahead a 7- b 7- a 3- b 3- g en p rop g en p rop c in CLA c CLA c in p rop g en p rop g en S 7- S 3- BGP-8 BGP-8 c out c c out c Sistemas Digitais - semestre 28/ slide TS.22
Somadores Carry Lookahead Caminho Crítico c 28 c 2 c 2 c 6 c 2 c 8 c a 7 b 7 a 6 b 6 a 5 b 5 a b a 3 b 3 a 2 b 2 a b a b CLA- CLA- CLA- CLA- CLA- CLA- CLA- CLA- c 2 2 2 2 2 2 2 2 s 7 s 6 s 5 s s 3 s 2 s s g 7 p 7 g 6 p 6 g 5 p 5 g p g 3 p 3 g 2 p 2 g p g p c 32 CLG- CLG- c 28 c 2 c 2 c 6 c 2 c 8 c Sistemas Digitais - semestre 28/ slide TS.23
Somadores Carry Select Princípios: dividir a adição em seções de ou 8 bits realizar a adição de cada seção simultaneamente para os dois casos possíveis (carry in= e carry in=) Em cada seção de adição são usados dois somadores ( ripple carry 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 Sistemas Digitais - semestre 28/ slide TS.2
Somadores Carry Select com 8 bits (usando somadores RCA ) A...3 B...3 A...7 B...7 RCA A...3 B...3 C 3 S...3 RCA A...7 B...7 C 7 S...7 C in C C 7 7 C C 3 3 C out RCA cin RCA C 3 C 7 C 3 C 3 C in Sistemas Digitais - semestre 28/ slide TS.25
Somadores Carry Select Equações utilizadas pelos MUX de cada seção de soma B = Cin B2 = C3 or (C3 and CIN) B3 = C7 or (C7 and (C3 or (C3 and CIN))) B = C or (C and (C7 or (C7 and (C3 or (C3 and CIN))))) B =C5 or (C5 and(c or (C and (C7 or (C7 and (C3 or (C3 and CIN)))))) Sistemas Digitais - semestre 28/ slide TS.26
Somadores Carry Select com 8 bits A...3 B...3 Caminho Crítico A...7 B...7 RCA RCA A...3 B...3 S...3 A...7 B...7 RCA C 3 C 3 cin RCA C 7 C 7 C 7 C C 3 3 C in S...7 C 7 Cout C 3 C in C 3 Atraso crítico = Atraso RCA + Atraso MUX Sistemas Digitais - semestre 28/ slide TS.27
Somadores Carry Select com 32 bits A...3 B...3 A 28...3 B 28...3 RCA C 3 RCA C 3 A...3 B...3 S...3 A 28...3 B 28...3 S 28...3 RCA cin RCA C 3 Caminho Crítico C 7 C 7 C 5 C C C 27 C 3 C 27 C C 23 9 C 23 C 9 C 5 C 3 C 3 C in Atraso crítico = Atraso RCA + Atraso Equação + Atraso MUX Sistemas Digitais - semestre 28/ slide TS.28