Carry Look Ahead

di il
2 risposte

Carry Look Ahead

Buonasera a tutti

Stavo studiando come viene progettata un ALU all'interno del calcolatore.

Sono arrivato al concetto di carry look ahead, il quale ho capito essere uno strumento che consente di velocizzare l'operazione di somma.

In pratica il calcolo del riporto viene demandato ad una rete combinatoria esterna.

Questo è molto brevemente il funzionamento. Troppo poco però

Sapete darmi qualche altra indicazione su questo simpatico strumento

2 Risposte

  • Re: Carry Look Ahead

    mydb ha scritto:


    Buonasera a tutti

    Stavo studiando come viene progettata un ALU all'interno del calcolatore.

    Sono arrivato al concetto di carry look ahead, il quale ho capito essere uno strumento che consente di velocizzare l'operazione di somma.

    In pratica il calcolo del riporto viene demandato ad una rete combinatoria esterna.

    Questo è molto brevemente il funzionamento. Troppo poco però

    Sapete darmi qualche altra indicazione su questo simpatico strumento
    Con la logica del carry-lookahead tu lavori sommando su gruppi di bit. Per esempio, due numeri a 16 bit li sommi a gruppi di 4 bit, quindi avendo 4 gruppi.

    Il trucco sta nel fatto che, nell'ambito di un singolo gruppo (che qui abbiamo supposto formato da 4 bit) esiste il circuito del carry-lookahead che già ti calcola il valore del carry in uscita, e tale carry entra nel secondo gruppo di 4 bit, e così via.

    Comunque, nell'ambito dei singoli gruppi, si procede sempre alla somma interna con il metodo del ripple carry adder, solo che l'ultimo carry già era stato calcolato in tempo minimo, all'inizio.

    Quindi i 4 gruppi lavorano quasi in parallelo (in verità non del tutto), accelerando la somma.

    Se sei uno studente di elettronica, ti consiglio anche di studiarti come vengono realizzati i sommatori all'interno delle FPGA (puoi trovare ottima documentazione dei chip di ALTERA, ad esempio le loro vecchie tecnologie MAX e FLEX)

    In quel caso, esistono vettori di macrocelle che vengono "serializzati" tramite speciali canali di "fast ripple", e il ripple passa attraverso queste "cascate" di riporto, e ogni step passa attraverso delle logiche particolari che garantiscono un delay dell'ordine di decimi di nanosecondo.

    Per quanto riguarda ALTERA, oggi come oggi su eBay trovi schede sperimentali con una FPGA Cyclone2 da 8000 macrocelle circa al prezzo di 50 dollari più o meno (te lo spediscono direttamente dalla Cina), dal sito di ALTERA puoi scaricare il loro software GRATIS ALTERA Quartus II (con la versione gratis puoi lavorare solo con le FPGA "medio/piccole", non con quelle da 500/1000 dollari cadauna... ovvio...) , hai anche il simulatore by MENTOR, simulazione a livello fisico, 8000 macrocelle sono circa 144 mila gate logici con cui "giocare". Se ti studi il linguaggio Verilog HDL (è un poco strano, ma non è affatto difficile) potrai quindi sintetizzare tutti i circuiti digitali che ti vengono in mente, inclusi gli adder carry-lookahead.

    Un ottimo punto di partenza è quello di studiarsi i "vecchissimi" CPLD ALTERA MAX 7000, roba di almeno 10 anni orsono, e che quindi risultano poco complicati e quindi si capisce assai bene la loro struttura interna. In seguito puoi passare alle FPGA FLEX10K.

    http://www.altera.com/literature/ds/m7000.pd

    Spero di essere stato utile.
  • Re: Carry Look Ahead

    Sei stato molto utile.

    Grazie mille
Devi accedere o registrarti per scrivere nel forum
2 risposte