¿Qué son los adders de carry-lookahead y los adders de ripple carry?

7

Veo que los términos carry-lookahead adders y ripple-carry adders se usan con frecuencia. No tengo idea de lo que significa ninguno de los dos (ni el tipo de arquitectura que describen).

¿Alguien puede explicar qué es cada uno, por qué uno puede ser más rápido que el otro y para qué se utiliza cada uno?

Además, ¿existen fuentes externas que puedan ayudar con el asunto?

    
pregunta Bob John

1 respuesta

6

Un sistema de sumadores de arrastre de rizado es una secuencia de sumadores completos estándar que hace posible agregar números que contienen más bits que los de un solo sumador completo. Cada sumador completo tiene un bit de acarreo (Cin) y un bit de arrastre (Cout), y los sumadores se conectan conectando Cout en el paso k a Cin en el paso k + 1 (Cin en el paso 0 es C0 en la imagen, Cout en el paso 3 es C4 en la imagen)

Eldesafíoconlosagregadoresdearrastredeondulación,eselretardodepropagacióndelosbitsdeacarreo.Supongamosque,enuninstante,losvaloresdeAyBcambian,demaneraque

A1=0B1=1A0=1B0=1

DadoqueA0yB0sonaltos,elprimersumadorcompletoproduciráuncarry,i.mi.C1=1.Sinembargo,lalógicatardauntiempoenestablecerse,porloqueC1nocambiahastapocodespuésdequeA1yB1cambien.Porlotanto,antesdequeaparezcaC1,elsegundosumadorcompletonoproduceunacarreo,peroamedidaqueapareceC1,elsegundosumadorvuelveacalcularyproduceunarrastre,i.mi.C2=1.Enelpeordeloscasos,C4nosecalculacorrectamentehasta4*retrasodepropagación,yCnnosecalculahastan*retrasodepropagación.

Unsistemadesumadorconvistapreviadeacarreoresuelveesteproblema,calculandosisegeneraráunacarreoantesdequerealmentecalculelasuma.Existenmúltiplesesquemasparahaceresto,porloquenohayuncircuito"uno" que constituya un sumador que mira hacia adelante. La idea es algo como esto:

ElcálculodeC4noesmásrápidoqueenelarrastredeondulaciónanterior,niPGniGG:lamagiasoloocurrecuandosejuntanvariosdeestosbloquesparaagregarnúmerosaúnmayores.

Loimportanteparanotarpartedelaimagen,esqueelbloquepúrpuraestáproduciendotresvalores:C4,PG(Propagate)yGG(Generate).PGvaaltosiestebloquepropagaráCinaCout,yGGsubesielbloquegeneraráundesbordamientoindependientementedeCin.(Además,elbloquenopuedepropagarnigenerarunacarreo,encuyocasotantoPGcomoGGsonbajosyCoutes0.)PGyGGpuedencalcularseenelbloquepúrpuraindependientementedelvalordeC0,porlotanto,cuandoC0finalmentellega,elbloquepúrpurapuedesimplementeconsultarsuresultadopreviamentecalculado,ysielresultadoesuna"propagación", entonces C0 se propaga directamente a C4; esto es cuatro veces más rápido que la propagación a través de los cuatro sumadores completos.

La razón por la que el bloque tiene las salidas PG y GG es para que, de manera jerárquica, podamos adquirir mayores aceleraciones de propagación.

También vea: enlace

    
respondido por el tor

Lea otras preguntas en las etiquetas